RCFrame5.tcl

# Units: kip, in

# MHS, Sept 1999

# email: mhscott@ce.berkeley.edu

#

#

# _________________________ _

# | | |

# | | | 12'

# | | |

# |____________|____________| _

# | | |

# | | |

# | | | 15'

# | | |

# | | | _

# === === ===

# | 24' | 24' |

#

#

# NOTE: to RUN this example, run the g3 interpreter and

# type the command: source RCFrame5.tcl

#

# $Revision: 1.2 $

# $Date: 2000/12/19 03:57:15 $

# $Source: /usr/local/cvs/OpenSees/EXAMPLES/ExampleScripts/RCFrame5.tcl,v $

model BasicBuilder -ndm 2 -ndf 3

set analysis "LINEAR"

#set analysis "NONLINEAR"

set patternType "UniformExcitation"

#set patternType "MultipleSupport"

#set displayMode "displayON"

set displayMode "displayOFF"

set g 386.4

set P 192

set m [expr $P/$g]

set mR 1.0e6

set PI [expr 2.0 * asin(1.0)]

set period 2.5;

set mag 5.0;

set w [expr 2.0 * $PI / $period]

#inital velocity condition for uniform exciation = -udotg

set vel0 [expr -1.0 * $mag * $w]

# ground motion

set dispSeries "Sine 0 20.0 $period -factor $mag"

set accelSeries "Sine 0 20.0 $period -factor [expr -1.0 * $w * $w * $mag]"

# tag X Y massX massY rotZ

node 1 0 0

node 2 0 180 -mass $m $m $mR

node 3 0 324 -mass [expr $m/2] [expr $m/2] $mR

node 4 288 0

node 5 288 180 -mass [expr $m/2] [expr $m/2] $mR

node 6 288 324 -mass $m $m $mR

node 7 576 0

node 8 576 180 -mass $m $m $mR

node 9 576 324 -mass [expr $m/2] [expr $m/2] $mR

# node DX DY RZ

fix 1 1 1 1

fix 4 1 1 1

fix 7 1 1 1

if {$analysis == "NONLINEAR"} {

# tag -f'c -epsco -f'cu -epscu

uniaxialMaterial Concrete01 1 -4.00 -0.002 0.0 -0.006

uniaxialMaterial Concrete01 2 -5.20 -0.005 -4.70 -0.02

# Steel model

# tag fy E b

uniaxialMaterial Steel01 3 60 30000 0.02

# Interior column section

section fiberSec 1 {

# mat nfIJ nfJK yI zI yJ zJ yK zK yL zL

patch quadr 2 1 12 -11.5 10 -11.5 -10 11.5 -10 11.5 10

patch quadr 1 1 14 -13.5 -10 -13.5 -12 13.5 -12 13.5 -10

patch quadr 1 1 14 -13.5 12 -13.5 10 13.5 10 13.5 12

patch quadr 1 1 2 -13.5 10 -13.5 -10 -11.5 -10 -11.5 10

patch quadr 1 1 2 11.5 10 11.5 -10 13.5 -10 13.5 10

# mat nBars area yI zI yF zF

layer straight 3 6 1.56 -10.5 9 -10.5 -9

layer straight 3 6 1.56 10.5 9 10.5 -9

}

# Exterior column section

section fiberSec 2 {

patch quadr 2 1 10 -10 10 -10 -10 10 -10 10 10

patch quadr 1 1 12 -12 -10 -12 -12 12 -12 12 -10

patch quadr 1 1 12 -12 12 -12 10 12 10 12 12

patch quadr 1 1 2 -12 10 -12 -10 -10 -10 -10 10

patch quadr 1 1 2 10 10 10 -10 12 -10 12 10

layer straight 3 6 0.79 -9 9 -9 -9

layer straight 3 6 0.79 9 9 9 -9

}

# Girder section

section fiberSec 3 {

patch quadr 1 1 12 -12 9 -12 -9 12 -9 12 9

layer straight 3 4 1.00 -9 9 -9 -9

layer straight 3 4 1.00 9 9 9 -9

}

set np 4

# Geometric transformation

geomTransf Linear 1

# Define elements

# tag ndI ndJ nPts secID transf

element nonlinearBeamColumn 1 1 2 $np 2 1

element nonlinearBeamColumn 2 2 3 $np 2 1

element nonlinearBeamColumn 3 4 5 $np 1 1

element nonlinearBeamColumn 4 5 6 $np 1 1

element nonlinearBeamColumn 5 7 8 $np 2 1

element nonlinearBeamColumn 6 8 9 $np 2 1

element nonlinearBeamColumn 7 2 5 $np 3 1

element nonlinearBeamColumn 8 5 8 $np 3 1

element nonlinearBeamColumn 9 3 6 $np 3 1

element nonlinearBeamColumn 10 6 9 $np 3 1

test NormUnbalance 1.0e-06 10 0

algorithm Newton

system SparseGeneral -piv

}

if {$analysis == "LINEAR"} {

# "Cracked" second moments of area

set IcolInt [expr 0.7*1/12*24*pow(27,3)]

set IcolExt [expr 0.7*1/12*24*pow(24,3)]

set Igir [expr 0.5*1/12*18*pow(24,3)]

set AcolInt [expr 24*27]

set AcolExt [expr 24*24]

set Agir [expr 18*24]

set E 4000

# Geometric transformation

geomTransf Linear 1

# tag ndI ndJ A E I transf

element elasticBeamColumn 1 1 2 $AcolExt $E $IcolExt 1

element elasticBeamColumn 2 2 3 $AcolExt $E $IcolExt 1

element elasticBeamColumn 3 4 5 $AcolInt $E $IcolInt 1

element elasticBeamColumn 4 5 6 $AcolInt $E $IcolInt 1

element elasticBeamColumn 5 7 8 $AcolExt $E $IcolExt 1

element elasticBeamColumn 6 8 9 $AcolExt $E $IcolExt 1

element elasticBeamColumn 7 2 5 $Agir $E $Igir 1

element elasticBeamColumn 8 5 8 $Agir $E $Igir 1

element elasticBeamColumn 9 3 6 $Agir $E $Igir 1

element elasticBeamColumn 10 6 9 $Agir $E $Igir 1

algorithm Linear

system BandSPD

}

if {$patternType == "MultipleSupport"} {

pattern MultipleSupport 1 {

groundMotion 1 Series -disp $dispSeries

imposedSupportMotion 1 1 1

imposedSupportMotion 4 1 1

imposedSupportMotion 7 1 1

}

# Create a recorder which writes to Node.out and prints

# the current time and all dof displacement at node 3 and 2

recorder Node MultiNodeDisp1.out disp -time -node 3 2 1 -dof 1 2 3

}

if {$patternType == "UniformExcitation"} {

pattern UniformExcitation 1 1 -accel $accelSeries -vel0 $vel0

recorder Node UniformNodeDisp1.out disp -time -node 3 2 1 -dof 1 2 3

}

# Source in some g3 commands to display the model

if {$displayMode == "displayON"} {

# a window to show the displayed shape

source RCFrameDisplay.tcl

}

# gamma beta

integrator Newmark 0.5 0.25

numberer RCM

constraints Plain

# spit out the 1'st 4 eigen values

eigen 4

# create the analysis object

analysis Transient

#type "Starting Tansient Analysis .. hang on"

# numSteps dt

analyze 1000 0.01

# spit out the 1'st 4 eigen values

eigen 4