3D model pushover analysis

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

Moderators: silvia, selimgunay, Moderators

Post Reply
Rocky
Posts: 38
Joined: Tue May 17, 2005 7:57 pm
Location: IEM

3D model pushover analysis

Post by Rocky »

I get a problem when doing 3D pushover analysis. I try to push the structure to the positive direction. The result however shows a positive displacement with a negative force. I don't know whether I defined the pushover analysis wrong or not. I would appreciate if anyone could help me figure this out.
Thank you in advance.

# Definition of 3D model of high-rise building on January 24, 2007
model BasicBuilder -ndm 3 -ndf 6

# Constructing the 3D model
node 1 0.0 0.0 0.0
node 2 6000.0 0.0 0.0
node 3 12000.0 0.0 0.0
node 4 0.0 6000.0 0.0
node 5 6000.0 6000.0 0.0
node 6 12000.0 6000.0 0.0
node 7 0.0 12000.0 0.0
node 8 6000.0 12000.0 0.0
node 11 0.0 0.0 4000.0
node 12 6000.0 0.0 4000.0
node 13 12000.0 0.0 4000.0
node 14 0.0 6000.0 4000.0
node 15 6000.0 6000.0 4000.0
node 16 12000.0 6000.0 4000.0
node 17 0.0 12000.0 4000.0
node 18 6000.0 12000.0 4000.0

node 21 6000.0 6000.0 4000.0

# Definition of boundary
# $zCoord DX DY DZ RX RY RZ <-tol $tol>
fixZ 0.0 1 1 1 1 1 1 -tol 0.1

#Definition of diaphragm constraints and Constraints for rigid diaphragm master nodes
rigidDiaphragm 3 21 11 12 13 14 15 16 17 18
fix 21 0 0 1 1 1 0

# Definition of sections for beams and columns
set FormedSteel 1
set FormedSteel1 2

uniaxialMaterial Steel01 $FormedSteel 325.0 206000.0 0.01
uniaxialMaterial Steel01 $FormedSteel1 235.0 206000.0 0.01

set PI 3.1415926
set SE 2.1e5
set CE 2.1e4
set SPOISSON 0.3
set CPOISSON 0.17
set SG [expr $SE/2.0/(1.0+$SPOISSON)]
set CG [expr $CE/2.0/(1.0+$CPOISSON)]


## ---- Steel Columns (y: Short; z: Long; Box Type; SM490; No.221-244) ---- ##
set secTempID 10221
set matTempID 20221
set secID 221

foreach {a b t} {
800.0 800.0 40.0
} {
## Calculate the torsional stiffness
set a1 [expr $a-$t*2.0]
set b1 [expr $b-$t*2.0]
set IS [expr ($a*$b*($a*$b+$a*$b)-$a1*$b1*($a1*$b1+$a1*$b1))/12.0]
set GJ [expr $SG*$IS]
uniaxialMaterial Elastic $matTempID $GJ
## Define the fiber section
section Fiber $secTempID {
## Z (long) direction formed steel
patch quad $FormedSteel 2 12 [expr -$a/2] [expr -$b/2] [expr -$a1/2] [expr -$b/2] [expr -$a1/2] [expr $b/2] [expr -$a/2] [expr $b/2]
patch quad $FormedSteel 2 12 [expr $a1/2] [expr -$b/2] [expr $a/2] [expr -$b/2] [expr $a/2] [expr $b/2] [expr $a1/2] [expr $b/2]
patch quad $FormedSteel 10 2 [expr -$a1/2] [expr -$b/2] [expr $a1/2] [expr -$b/2] [expr $a1/2] [expr -$b1/2] [expr -$a1/2] [expr -$b1/2]
patch quad $FormedSteel 10 2 [expr -$a1/2] [expr $b1/2] [expr $a1/2] [expr $b1/2] [expr $a1/2] [expr $b/2] [expr -$a1/2] [expr $b/2]
}
## Attach the torsion behavior to the section
section Aggregator $secID $matTempID T -section $secTempID
incr secTempID 1
incr matTempID 1
incr secID 1
}

###### ------ End of columns ------ ######


## ---- Steel Beams (Wide Flange Type; SM490, SN400, SS400; No.1101-1145) ---- ##
set secTempID 11101
set matTempID 21101
set secID 1101

foreach {xsh xsw xswe xsfl} {
700.0 400.0 16.0 40.0
} {
## Calculate the torsional stiffness
set IS [expr 1.2*($xsh*$xswe*$xswe*$xswe+2*$xsw*$xsfl*$xsfl*$xsfl)]
set GJ [expr $SG*$IS]
uniaxialMaterial Elastic $matTempID $GJ
## Define the fiber section
section Fiber $secTempID {
patch quad $FormedSteel 1 16 [expr -$xsh/2] [expr -$xsw/2] [expr -$xsh/2+$xsfl] [expr -$xsw/2] [expr -$xsh/2+$xsfl] [expr $xsw/2] [expr -$xsh/2] [expr $xsw/2]
patch quad $FormedSteel 1 16 [expr $xsh/2-$xsfl] [expr -$xsw/2] [expr $xsh/2] [expr -$xsw/2] [expr $xsh/2] [expr $xsw/2] [expr $xsh/2-$xsfl] [expr $xsw/2]
patch quad $FormedSteel 6 2 [expr -$xsh/2+$xsfl] [expr -$xswe/2] [expr $xsh/2-$xsfl] [expr -$xswe/2] [expr $xsh/2-$xsfl] [expr $xswe/2] [expr -$xsh/2+$xsfl] [expr $xswe/2]
}
## Attach the torsion behavior to the section
section Aggregator $secID $matTempID T -section $secTempID
incr secTempID 1
incr matTempID 1
incr secID 1
}

# Definition of geometric transformation
# geomTransf Corotational 1 0 1 0
geomTransf Linear 1 0 1 0
# for beams
geomTransf Linear 2 1 1 0

# Definition elements for columns and beams
element nonlinearBeamColumn 1 1 11 5 221 1
element nonlinearBeamColumn 2 2 12 5 221 1
element nonlinearBeamColumn 3 3 13 5 221 1
element nonlinearBeamColumn 4 4 14 5 221 1
element nonlinearBeamColumn 5 5 15 5 221 1
element nonlinearBeamColumn 6 6 16 5 221 1
element nonlinearBeamColumn 7 7 17 5 221 1
element nonlinearBeamColumn 8 8 18 5 221 1

element nonlinearBeamColumn 11 11 12 5 1101 2
element nonlinearBeamColumn 12 12 13 5 1101 2
element nonlinearBeamColumn 13 14 15 5 1101 2
element nonlinearBeamColumn 14 15 16 5 1101 2
element nonlinearBeamColumn 15 17 18 5 1101 2
element nonlinearBeamColumn 16 11 14 5 1101 2
element nonlinearBeamColumn 17 14 17 5 1101 2
element nonlinearBeamColumn 18 12 15 5 1101 2
element nonlinearBeamColumn 19 15 18 5 1101 2
element nonlinearBeamColumn 20 13 16 5 1101 2
element nonlinearBeamColumn 21 16 18 5 1101 2

# Definition of external loads
pattern Plain 1 "Linear" {
foreach node {11 12 13 14 15 16 17 18} {
load $node 0.0 0.0 -1.0e6 0.0 0.0 0.0
}
}

recorder Node -file disp.txt -time -node 21 -dof 1 2 3 4 5 6 disp
recorder Node -file nodedisp.txt -time -node 11 12 13 14 15 16 17 18 -dof 1 2 3 4 5 6 disp
recorder display PlanerFrames 0 0 600 480 -wipe
vrp 800 700 600
vup 0 0 1
vpn 1 0.7 0.5

prp 3600 2000 30000
viewWindow -10000 10000 -10000 10000
display 1 -1 20


# Definition of static analysis
constraints Transformation
numberer RCM
system SparseSPD
test NormDispIncr 1.0e-3 300
algorithm Newton
integrator LoadControl 0.1
analysis Static
set ok [analyze 10]
if {$ok ==0} {
puts "Gravity analysis completed successfully!"
} else {
puts "Gravity analysis failed!"
}

loadConst -time 0.0


recorder plot disp.txt "F-D" 600 0 600 480 -columns 2 1

# Definition of external pushover loads
pattern Plain 2 "Linear" {
load 21 1.0 0.0 0.0 0.0 0.0 0.0
}

integrator DisplacementControl 21 1 1.0
analyze 200
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

you are actually plotting time, which should be proportional to the force.
but something's wrong with your analysis, to have negative time.
if you want, try to plot reactions, but you should check your model carefully -- especially the rigid-diaphragm behavior and how node 21 is connected to the structure.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
Post Reply