Recording peak values of EDPs for an earthquake

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
evgin
Posts: 64
Joined: Tue Dec 06, 2011 3:18 pm
Location: UCLA

Recording peak values of EDPs for an earthquake

Post by evgin »

Hi

I am running numerous dynamic analyses and I am recording various Engineering Demand Parameters (EDPs). In order to save my memory space I am willing to just select the peaks and possibly the end values for various EDPs and record them in a text file and then get rid of the other data.

Is there any way to do so in OpenSees ?

I am aware of envelope recorders but for example for drift I couldn't find one ! Or maybe I can use the envelope node recorders and just compute the drift myself ?

Best
Reza.
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Recording peak values of EDPs for an earthquake

Post by fmk »

there is no documented one for the drift recorder, i see there is one in the code base and it is in the tcl script. i have probably not tested it (even though i probably wrote it!) ..
just use EnvelopeDrift instead of Drift in the command for one example and test it out .. let me know how it goes and i will update the manual if woring .. thanks
aodonne1
Posts: 24
Joined: Mon Nov 29, 2010 6:22 am
Location: Notre Dame

Re: Recording peak values of EDPs for an earthquake

Post by aodonne1 »

Hi Frank,

I have been using envelope recorders to extract peak demands as well as drift recorders with a specified recording -dt to obtain residual drifts and I've noticed some oddities and inconsistencies that I was hoping you could shed some light on.

1.) I am using an EnevelopeElement recorder to obtain local forces, deformations, and stress/strain values for a variety of elements:

recorder EnvelopeElement -file $dataDir/EnvelopeElementRecorders/ZeroLengthElementForce.out -ele <ELEMENT NUMBERS> localForce;
recorder EnvelopeElement -file $dataDir/EnvelopeElementRecorders/ZeroLengthElementElongation.out -ele <ELEMENT NUMBERS> deformation;
recorder EnvelopeElement -file $dataDir/EnvelopeElementRecorders/TrussElementForce.out -ele <ELEMENT NUMBERS> axialForce;
recorder EnvelopeElement -file $dataDir/EnvelopeElementRecorders/TrussElementElongation.out -ele <ELEMENT NUMBERS> deformations;
recorder EnvelopeElement -file $dataDir/EnvelopeElementRecorders/FiberBCE_Force.out -ele <ELEMENT NUMBERS> localForce;
recorder EnvelopeElement -file $dataDir/EnvelopeElementRecorders/FiberBCE_Deformation.out -ele <ELEMENT NUMBERS> basicDeformation;
recorder EnvelopeElement -file $dataDir/EnvelopeElementRecorders/FiberBCE_StressStrain.out -ele <ELEMENT NUMBERS> section $np fiber -19.690 0 stressStrain;

The values that I obtain when I run dynamic analyses on my local machine (Desktop running Windows 7) seem to make sense and are on the order of magnitude that I would expect from the analysis. However when I run these analyses in parallel on a High Performance Computing cluster the values become unreasonably small. There are even instances when the recorder files aren't completely written (I've checked and I am using the "wipe" command after every analysis). I am literally copying and pasting the source files from my computer to the cluster so I am fairly certain there is no difference in the source files. Could this problem arise from simply running the analyses in parallel?

Side note: I am not seeing these differences arise for envelope drift or envelope node recorders, just envelope element recorders.

2.) As previously mentioned, I am using envelope drift recorders to extract peak drift demands from dynamic analyses. However, I am also interested in residual drift demands so I am padding the end of my input ground motion acceleration time series with zeros and using a drift recorder that has been set to record at a recording interval -dt which is set equal to the duration of the ground motion (including extra zeros) minus one -dt (to account for the starting value).

set endT [expr $dt*$Nsteps-$DtAnalysis];
recorder Drift -file $outDir/resid_drift.out -dT $endT -iNode 1 -jNode 7 -dof 1 -perpDirn 2;

where: $dt is the time step of the ground motion input;
$Nsteps is the number of line sin the ground motion input file; and
$DtAnalysis is the analysis time step which is set to be a constant 0.001s for all analyses.

I am noticing that sometimes this recorder writes the file and sometimes it does not. Additionally, even if the recorder file is written, the residual drive value is not written to the file (i.e. the number of lines in the file is one instead of two).

Any thoughts on why this might be happening?

Thanks,
Andrew
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Recording peak values of EDPs for an earthquake

Post by fmk »

1. sounds like a bug in te EnvelopeElement for parallel analysis. where are you running the thing in parallel?
2. inistead of using the current option, just do the regular analysis. add the new drift recorder, and then do some more analysis. (you should not have to pad with 0's)
aodonne1
Posts: 24
Joined: Mon Nov 29, 2010 6:22 am
Location: Notre Dame

Re: Recording peak values of EDPs for an earthquake

Post by aodonne1 »

1.) I am running on the HPCC at the University of Notre Dame. I talked to the cluster admin and made sure they had built the most recent version of OpenSEESMP on the cluster. He suggested running the same code on the PEER cluster at Purdue but I haven't had the time to figure that out yet.

2.) Sorry, could you please elaborate? If I understand correctly you're saying I don't need to pad the end of the input ground motion with zeros? Rather perform the analysis and then add a new drift recorder at the start of a new "dummy" analysis which would have the initial conditions of where the previous analysis left off? Do you have any example of this?

Thanks for the prompt reply,
Andrew
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Recording peak values of EDPs for an earthquake

Post by fmk »

as for 2) the path timeseries will return a 0 automatically if time is greater than number of points. at end of regular analysis simply add the recorder and do next,

i.e.
while {$tCurrent < $tFinal} {
set ok [analyze 1 $dt]
..
se tCurrent [getTime]
}
recorder EnvelopeDrift .....
while {$tCurrent < $tMax} {
set ok [analyze 1 $newDt]
..
set tCurrnt [getTime]
}
aodonne1
Posts: 24
Joined: Mon Nov 29, 2010 6:22 am
Location: Notre Dame

Re: Recording peak values of EDPs for an earthquake

Post by aodonne1 »

Works perfectly.

Thanks, Frank!
mgs
Posts: 20
Joined: Sun Aug 11, 2013 11:11 pm
Location: Griffith University

Re: Recording peak values of EDPs for an earthquake

Post by mgs »

Hi

Can someone help about the correct drift recorder?

Is this one correct?

recorder Drift longitudinal/drift_col.disp -time node@col_top node@col_butt exitation_dir col-axis_dir
aodonne1
Posts: 24
Joined: Mon Nov 29, 2010 6:22 am
Location: Notre Dame

Re: Recording peak values of EDPs for an earthquake

Post by aodonne1 »

recorder Drift -file $outDir/story_drift.out -time -iNode node@col_butt -jNode node@col_top -dof drift_direction -perpDirn direction_orthogonal2drift;
mgs
Posts: 20
Joined: Sun Aug 11, 2013 11:11 pm
Location: Griffith University

Re: Recording peak values of EDPs for an earthquake

Post by mgs »

thanks aodonne1
Post Reply