Previous Topic

Next Topic

Book Contents

Lateral Loads -- Dynamic ground motion

The following commands assume that the example.tcl and the gravityloads.tcl files have been run. The wipe command should be used at the beginning of the input to clear any previous OpenSees-objects definition:

wipe

source example.tcl

source gravityloads.tcl

The dynamic ground-motion analysis is a transient, rather than static, type of analysis. Therefore, most of the analysis components should be redefined.

First of all, the load pattern needs to be defined. The load pattern here consists of defining an acceleration time-history applied at the support nodes. The time-history is defined in a file named BM68elc.th, taken from the PEER strong-motion database. The first lines of this file are:

PACIFIC ENGINEERING AND ANALYSIS STRONG-MOTION DATA

BORREGO MOUNTAIN 04/09/68 0230, EL CENTRO ARRAY #9, 270

ACCELERATION TIME HISTORY IN UNITS OF G

NPTS= 4000, DT= .01000 SEC

-.1368849E-02 -.1659410E-02 -.1466880E-02 -.6865326E-03 -.6491235E-03

-.6172128E-03 -.5942289E-03 -.5720329E-03 -.5517003E-03 -.5367939E-03

-.5300330E-03 -.5315104E-03 -.5389920E-03 -.5492582E-03 -.5592027E-03

-.5659958E-03 -.5672101E-03 -.5617805E-03 -.5502959E-03 -.5347288E-03

-.5176619E-03 -.5013709E-03 -.4873454E-03 -.4763228E-03 -.4683559E-03

-.4626830E-03 -.4579708E-03 -.4512405E-03 -.4376077E-03 -.4130071E-03

-.3772566E-03 -.3363394E-03 -.3030926E-03 -.2926074E-03 -.3144186E-03

-.3668375E-03 -.4373818E-03 -.5104884E-03 -.5745380E-03 -.6248976E-03

-.6621411E-03 -.6878470E-03 -.7014600E-03 -.6985488E-03 -.6737667E-03

-.6258232E-03 -.5616336E-03 -.4955459E-03 -.4432164E-03 -.4144737E-03

-.4103149E-03 -.4251781E-03 -.4493034E-03 -.4742715E-03 -.4942019E-03

-.5021476E-03 -.4907415E-03 -.4549906E-03 -.4008473E-03 -.3457893E-03

-.3076823E-03 -.2975411E-03 -.3148410E-03 -.3469618E-03 -.3746677E-03

-.3814194E-03 -.3598713E-03 -.3127679E-03 -.2503611E-03 -.1870004E-03

-.1381307E-03 -.1166398E-03 -.1296596E-03 -.1730662E-03 -.2365307E-03

-.3092055E-03 -.3795541E-03 -.4410602E-03 -.4886626E-03 -.5170590E-03

-.5252823E-03 -.5139311E-03 -.4858098E-03 -.4459504E-03 -.3992677E-03

-.3528575E-03 -.3119584E-03 -.2767747E-03 -.2493392E-03 -.2343354E-03

-.2328132E-03 -.2443271E-03 -.2710242E-03 -.3142711E-03 -.3756243E-03

-.4585760E-03 -.5641321E-03 -.6901264E-03 -.8277058E-03 -.9398496E-03

-.9604577E-03 -.8289034E-03 -.5332316E-03 -.1380318E-03 .2342108E-03

.4651973E-03 .5026886E-03 .3746881E-03 .1623773E-03 -.5159882E-04

-.2224880E-03 -.3475301E-03 -.4529523E-03 -.5485990E-03 -.5963545E-03

-.5423656E-03 -.3657646E-03 -.1048402E-03 .1563278E-03 .3291475E-03

.3576328E-03 .2409380E-03 .2377646E-04 -.2316319E-03 -.4694656E-03

-.6625028E-03 -.8119362E-03 -.9298628E-03 -.1028468E-02 -.1108383E-02

-.1131224E-02 -.1020689E-02 -.7165112E-03 -.2327270E-03 .3181869E-03

.7732246E-03 .1012043E-02 .1013671E-02 .8560355E-03 .6690806E-03

.5646968E-03 .5919845E-03 .7377345E-03 .9490117E-03 .1157766E-02

.1288701E-02 .1282487E-02 .1122759E-02 .8318915E-03 .4619941E-03

.7578448E-04 -.2595554E-03 -.4939353E-03 -.6127490E-03 -.6275750E-03

-.5752344E-03 -.4995743E-03 -.4264229E-03 -.3601404E-03 -.3004083E-03

-.2406227E-03 -.1628483E-03 -.3998632E-04 .1649808E-03 .4539122E-03

.7517190E-03 .9316287E-03 .8846478E-03 .5857181E-03 .1074495E-03

-.4397852E-03 -.9508948E-03 -.1343749E-02 -.1561289E-02 -.1537678E-02

-.1227062E-02 -.6359309E-03 .1519731E-03 .9751270E-03 .1659683E-02

A number of tcl scripts are available to the user at the openSees web site which have been written for specific tasks. The file ReadSMDFile.tcl is a script procedure which parses a ground motion record from the PEER strong motion database by finding dt in the record header, then echoing data values to the output file. This file should be saved in the same directory as the OpenSees executable:

# ------------------------------------------------------------------------------------------------------------------------------------------

# READSMDFILE.tcl

# Written: MHS

# Date: July 2000

# A procedure which parses a ground motion record from the PEER strong motion database by finding dt in the record header, then

# echoing data values to the output file. Formal arguments

# inFilename -- file which contains PEER strong motion record

# outFilename -- file to be written in format G3 can read

# dt -- time step determined from file header

# Assumptions

# The header in the PEER record is, e.g., formatted as follows:

# PACIFIC ENGINEERING AND ANALYSIS STRONG-MOTION DATA

# IMPERIAL VALLEY 10/15/79 2319, EL CENTRO ARRAY 6, 230

# ACCELERATION TIME HISTORY IN UNITS OF G

# NPTS= 3930, DT= .00500 SEC

proc ReadSMDFile {inFilename outFilename dt} {

# Pass dt by reference

upvar $dt DT

# Open the input file and catch the error if it can't be read

if [catch {open $inFilename r} inFileID] {

puts stderr "Cannot open $inFilename for reading"

} else {

# Open output file for writing

set outFileID [open $outFilename w]

# Flag indicating dt is found and that ground motion

# values should be read -- ASSUMES dt is on last line

# of header!!!

set flag 0

# Look at each line in the file

foreach line [split [read $inFileID] \n] {

if {[llength $line] == 0} {

# Blank line --> do nothing

continue

} elseif {$flag == 1} {

# Echo ground motion values to output file

puts $outFileID $line

} else {

# Search header lines for dt

foreach word [split $line] {

# Read in the time step

if {$flag == 1} {

set DT $word

break

}

# Find the desired token and set the flag

if {[string match $word "DT="] == 1} {

set flag 1

}

}

}

}

# Close the output file

close $outFileID

# Close the input file

close $inFileID

}

}

# ------------------------------------------------------------------------------------------------------------------------------------------

Once this file has been created, it can be read-in by the input file and used in the analysis procedure, where an acceleration time-series is defined and used in a UniformExcitation load pattern:

Series -dt $dt -filePath $fileName <-factor $cFactor>

pattern UniformExcitation $patternTag $dir -accel (TimeSeriesType arguments) <-vel0 $ver0>

# create load pattern

source ReadSMDFile.tcl

ReadSMDFile BM68elc.th BM68elc.acc dt

set accelSeries "Series -dt $dt -filePath BM68elc.acc -factor 1";

pattern UniformExcitation 2 1 -accel $accelSeries

The stiffness and mass-proportional damping factors can then be defined using the rayleigh command:

rayleigh $alphaM $betaK $betaKinit $betaKcomm

There are three different stiffnesses the user can use, the current value, the initial value, or the stiffness at the last committed state (which is what is used here):

# set damping factors

rayleigh 0. 0. 0. [expr 2*0.02/pow([eigen 1],0.5)]

The various analysis components are defined as follows:

# create the analysis

wipeAnalysis

constraints Plain

numberer RCM

system UmfPack

test NormDispIncr 1.0e-8 10

algorithm Newton

integrator Newmark 0.5 0.25

analysis Transient

In a transient analysis, the analyze command also requires a time step. This time step does not have to be the same as the input ground motion. The number of time steps is equal to the total duration of the analysis (10 seconds) divided by the time step (0.02):

analyze [expr 10/0.02] 0.02

Previous Topic

Next Topic