Layered SHell in OpenSeesSP

This forum is for issues related to parallel processing
and OpenSees using the new interpreters OpenSeesSP and OpenSeesMP

Moderator: selimgunay

Post Reply
AHARSHIAN
Posts: 87
Joined: Tue Apr 03, 2012 3:34 am
Location: Germany, Weimar
Contact:

Layered SHell in OpenSeesSP

Post by AHARSHIAN »

Hi all,

Three questions:

1) I am trying to run a comparatively large FEM of a framed RC structure in parallel using OpenSeesSP. I noticed that job aborts if I use Layered Shell. However, if I use elastic Shell MITC4, the code runs perfect, and no problem occurs. It seems that the layered shell element cannot be run on parallel. How can I fix that as one simulation takes me almost 15 minutes in sequential, and I need to run my model hundreds of times.

2) Assume that I am running a script (FEM of a structure) in a loop. OpenSeesSP freezes at certain point in a loop. For example it runs the code for 37 times and jumps to 38th analysis. Then it freezes at 38th analysis and never goes to the 39th analysis. However, if I break the analysis and run the 38th analysis separately, it works well. Also, some times, separate analysis doesn't work and if I change integration strategy in my beam-column elements it works! I am using Force-Based Elements. I would like to know your opinion on this issue.

3) I know well the advantages of Force-Based Elements over the conventional Displacement-Based Elements. However, I think if I use DBE, my model runs more smoothly. Generally asking, What would you choose if large plastification occurs in your elements because of extreme physical as well as geometrical nonlinearities?

Thanks for your help!

Best regards,
A.H.Arshain
Best Regards,
A.H.Arshian
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Layered SHell in OpenSeesSP

Post by fmk »

1) as you have hunderes of simulations to do (and SP is only going to speed things up by a max of round 4) I suggest using OpenSeesMP and running them all as independent jobs in parallel (here speedup wil be equal to as many processors as your parallel machine has).

2) sound like a memory issue, probably my friendly error in the MUMPS solver that i cannot track down.

3) if extreme "plastification" is occuring, the force based element are going to give more "accurate" results as the displacement based elements assumption of linear curvature along element length is clearly incorrect (think of what curvature over element would be like if hinges at 2 ends and elastic in middle). adding more elements to the displacement based model rectifies this, but then you will probably find that the struggles that you are experiencing with the force based element show up.
AHARSHIAN
Posts: 87
Joined: Tue Apr 03, 2012 3:34 am
Location: Germany, Weimar
Contact:

Re: Layered SHell in OpenSeesSP

Post by AHARSHIAN »

Thanks frank,

Just so you be aware of that, the uniaxial material object, ReinforcingSteel, is also not compatible with OpenseesSP.

Will try that on OpenSeesMP

Best regards,
A.H.Arshian
Best Regards,
A.H.Arshian
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Layered SHell in OpenSeesSP

Post by fmk »

It should work for OpenSeesMP.
AHARSHIAN
Posts: 87
Joined: Tue Apr 03, 2012 3:34 am
Location: Germany, Weimar
Contact:

Re: Layered SHell in OpenSeesSP

Post by AHARSHIAN »

Hi Frank,

Could you please provide me a relatively complete example on OpenSeesMP?


Best regards,
A.H.Arshian
Best Regards,
A.H.Arshian
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Layered SHell in OpenSeesSP

Post by fmk »

set pid [getPID]
set numP [getNP]
set count 0;
source ReadRecord.tcl

set tStart [clock clicks -milliseconds]

foreach gMotion [glob -nocomplain -directory GM *.AT2] {
if {[expr $count % $numP] == $pid} {

puts "$pid $count $gMotion"

source model.tcl
source analysis.tcl

set ok [doGravity]

loadConst -time 0.0

if {$ok == 0} {
set gMotionName [string range $gMotion 0 end-4 ]

set g 384.4
ReadRecord ./$gMotionName.AT2 ./$gMotionName.dat dT nPts

timeSeries Path 1 -filePath ./$gMotionName.dat -dt $dT -factor $g
pattern UniformExcitation 2 1 -accel 1

if {$nPts != 0} {

recorder Node -file $gMotionName.out -node 3 4 -dof 1 2 3 disp

doDynamic $dT $nPts
# doDynamic $dT 2

# file delete $gMotionName.dat


if {$ok == 0} {
puts "$gMotionName OK"
} else {
puts "$gMotionName FAILED"
}

} else {
puts "$gMotion - NO RECORD"
}
}

wipe
}
incr count 1;
}
Post Reply