0% found this document useful (0 votes)
203 views6 pages

OpenSees: Static, Cyclic, and Dynamic Analysis Examples

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
203 views6 pages

OpenSees: Static, Cyclic, and Dynamic Analysis Examples

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

P

E
E
R OpenSees: Static, Cyclic, and
Dynamic Analysis Examples

Frank McKenna

OpenSees Users Workshop


Berkeley, CA
June , 2007
Sponsored by the National Science Foundation
through the Pacific Earthquake Engineering Research Center
and through NEESit

Model
4000kip
B
B
A A
36’

Z X
42’

Ex4.Portal2D.build.InelasticSection.tcl
5’

5’
8’
source Ex4.Portal2D.build.InelasticSection.tcl 5’

section A-A section B-B

1
Gravity Load Analysis
# first source in the model
source Ex4.Portal2D.build.InelasticSection.tcl

# create analysis & perform analysis


constraints transformation
numberer RCM
system BandGeneral
test NormDispIncr 1.0e-6 6 2
algorithm Newton
integrator LoadControl 0.1
analysis Static
analyze 10

# look at what happened to node 3


print node 3

* We will call this file example1.tcl for future examples

2
Cyclic Lateral Load Analysis
# first source in the model and do gravity load analysis
source example1.tcl

# set gravity loads constant & reset time in domain


loadConst -time 0.0

# create load pattern for lateral loads


pattern Plain 2 Linear {
load 3 200.0 0.0 0.0
load 4 200.0 0.0 0.0
}

# do some cyclic analysis


foreach {numSteps stepSize} {10 0.1 10 -0.1 10 -0.1 10 0.1 10 0.1} {
integrator LoadControl $stepSize
analyze $numSteps

set time [getTime]


set disp [nodeDisp 3 1]
puts “Time: $time Displacement $disp”
}

3
Transient Analysis - Uniform Excitation
# first source in the model and do gravity load analysis
source example1.tcl

# set gravity loads constant & reset time in domain


loadConst -time 0.0

# create load pattern


set motion IELC180
source READSMDFile.tcl
ReadSMDFile $motion.AT2 $motion.acc dt
set accelSeries “Path -filePath $motion.acc -dt $dt -factor 386.4”
pattern UniformExcitation 2 1 -accel $accelSeries

# set damping factors


rayleigh 0.0 0.0 0.0 0.0 0.0

# create the analysis


wipeAnalysis
system ProfileSPD
test NormDispIncr 1.0e-14 10
algorithm Newton
integrator Newmark 0.5 0.25
analysis Transient

# create a recorder
recorder Node -time -file example3.out -node 3 -dof 1 disp

analyze 4000 $dt

Transient Analysis - MultiSupport Excitation


# first source in the model and do gravity load analysis # set damping factors
source example1.tcl rayleigh 0.0 0.0 0.0 0.0 0.0
# set gravity loads constant & reset time in domain
loadConst -time 0.0
# create the analysis
wipeAnalysis
# remove some sp constraints system ProfileSPD
remove sp 0 test NormDispIncr 1.0e-14 10
remove sp 3 algorithm Newton
integrator Newmark 0.5 0.25
analysis Transient
# create load pattern
set motion IELC180
source READSMDFile.tcl analyze 4000 $dt
ReadSMDFile $motion.DT2 $motion.disp dt
set dispSeries “Path -filePath $motion.disp -dt $dt -factor 0.3937”
pattern MultiSupport 2 {
groundMotion 5 Plain -disp $dispSeries
imposedMotion 1 1 5
imposedMotion 2 1 5
}

# set damping factors


rayleigh 0.0 0.0 0.0 0.0 0.0

# create a recorder
recorder Node -time -file example4.out -node 3 -dof 1 disp

4
5
Parameter Study - Response Spectra
source READSMDFile.tcl
modelBuilder BasicBuilder -ndm 1 -ndf 1 node 1 0.0
node 2 $l -mass $M
# set a bunch of parameters fix 1 1
set PI 3.14159265 uniaxialMaterial Elastic 1 $E
set g 386.4 element truss 1 1 2 $A 1
set TnMin 0.1; #min period pattern UniformExcitation 2 1 -accel $accelSeries
set TnMax 2.0; #max period rayleigh 0.0 0.0 0.0 0.0 0.0
set TnIncr 0.1; #period incr
set M 1.0; #mass recorder EnvelopeNode -file envelope.out -node 2 -dof 1 disp
set A 1.0; #area system ProfileSPD
set L 1.0; #length test NormDispIncr 1.0e-16 10
set motion ELCENTRO algorithm Newton
set outFilename spectrum.dat integrator Newmark 0.5 0.25
analysis Transient
# open output file analyze 2000 $dt
Set outFileID [open $outFilename w]
if [catch {open envelope.out r} inFileID]
#create accel series puts puts “ERROR - could not open file”
ReadSMDFIle $motion.AT2 $motion.acc dt
Set accelSeries “Path -filePath $motion.acc \ set min [gets $inFileID]
-dt $dt -factor $g” set max [gets $inFileID]
set absMax [gets $inFileID]
# loop over period range close $inFileID
Set Tn $TnMin puts $outFileID “$Tn $absmax”
while {$Tn <= $TnMax} { set Tn [expr $Tn + $TnIncr]
wipe }
set w [expr 2.0 * $PI / $Tn] close $outFileID
set K [expr $w * $w * $M]
set E [expr $k * $l / $A

QuickTime™ and a
TIFF (LZW) decompressor
are needed to see this picture.

You might also like