Search found 3 matches
- Thu Jan 28, 2021 2:23 pm
- Forum: Parallel Processing
- Topic: OpenseesMP incremental dynamic analysis
- Replies: 3
- Views: 11972
Re: OpenseesMP incremental dynamic analysis
Thanks. All the file names for loads are different but dependent on the processor id. File name = processor id+1. The processors are reading the files correctly but the analysis is done using the load file corresponding to the last processor. Hence same results from every processor. Is there anything wrong in assigning the files names this way?.
- Wed Jan 27, 2021 5:42 pm
- Forum: Parallel Processing
- Topic: Parallel Analysis of Cable conductor OpenSeesMP
- Replies: 1
- Views: 9935
Parallel Analysis of Cable conductor OpenSeesMP
Hello,
I am running time history analyses on cable conductor. I want to run multiple realizations of loading in parallel, so I am trying to assign one load case to each processor. But when I run the analysis I get the same results for all the processors. I am not able to figure out what the error in my logic is. I have attached my code below.
#
set pid [getPID]
set np [getNP]
source "model.tcl"
set tStart [clock seconds]
set par_list [open "records.txt" r]
set countP 0;
foreach val [split [read $par_list] \n] {
if {[expr $countP % $np] == $pid} {
set valueslist $val
lreplace $valueslist 0 0
doModel
set fileid [expr $pid + 1];
recorder Node -file "./output/disp/$fileid.out" -time -nodeRange 1 51 -dof 1 2 3 disp
recorder Element -file "./output/force/$fileid.out" -time -eleRange 1 100 force
set along [expr $pid + 1];
set patternalong [expr $pid + 1];
timeSeries Path $along -dt 1 -filePath $valueslist -factor 1;
pattern Plain $patternalong $along {
load 2 0.0 1.0 0.0
load 100 0.0 1.0 0.0
}
set Tol 1.0e-4;
set maxNumIter 100;
set printFlag 0;
set NewmarkGamma 0.5;
set NewmarkBeta 0.25;
set TestType EnergyIncr;
set Nsteps 6000;
set dtForAnalysis 1;
numberer ParallelRCM;
algorithm KrylovNewton;
system Mumps
constraints Transformation;
analysis Transient;
set ok [analyze $Nsteps $dtForAnalysis]; # ok = 0 if analysis was completed
if {$ok == 0} {
puts "Dynamic analysis complete";
} else {
puts "Dynamic analysis did not converge";
}
puts "Analysis complete"
wipe
}
incr countP
}
set tFinish [clock seconds]
barrier
puts "Duration Process $pid [expr $tFinish-$tStart]"
I am running time history analyses on cable conductor. I want to run multiple realizations of loading in parallel, so I am trying to assign one load case to each processor. But when I run the analysis I get the same results for all the processors. I am not able to figure out what the error in my logic is. I have attached my code below.
#
set pid [getPID]
set np [getNP]
source "model.tcl"
set tStart [clock seconds]
set par_list [open "records.txt" r]
set countP 0;
foreach val [split [read $par_list] \n] {
if {[expr $countP % $np] == $pid} {
set valueslist $val
lreplace $valueslist 0 0
doModel
set fileid [expr $pid + 1];
recorder Node -file "./output/disp/$fileid.out" -time -nodeRange 1 51 -dof 1 2 3 disp
recorder Element -file "./output/force/$fileid.out" -time -eleRange 1 100 force
set along [expr $pid + 1];
set patternalong [expr $pid + 1];
timeSeries Path $along -dt 1 -filePath $valueslist -factor 1;
pattern Plain $patternalong $along {
load 2 0.0 1.0 0.0
load 100 0.0 1.0 0.0
}
set Tol 1.0e-4;
set maxNumIter 100;
set printFlag 0;
set NewmarkGamma 0.5;
set NewmarkBeta 0.25;
set TestType EnergyIncr;
set Nsteps 6000;
set dtForAnalysis 1;
numberer ParallelRCM;
algorithm KrylovNewton;
system Mumps
constraints Transformation;
analysis Transient;
set ok [analyze $Nsteps $dtForAnalysis]; # ok = 0 if analysis was completed
if {$ok == 0} {
puts "Dynamic analysis complete";
} else {
puts "Dynamic analysis did not converge";
}
puts "Analysis complete"
wipe
}
incr countP
}
set tFinish [clock seconds]
barrier
puts "Duration Process $pid [expr $tFinish-$tStart]"
- Wed Jan 27, 2021 2:54 pm
- Forum: Parallel Processing
- Topic: OpenseesMP incremental dynamic analysis
- Replies: 3
- Views: 11972
Re: OpenseesMP incremental dynamic analysis
Hey, Can you tell me how you were able to solve this?. I am facing the same issue with my time-history analysis.