R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8...

39
P P E E E E R R Structural Model I (parameter definition; nodes; constraints; materials; sections & elements; block & region; geometric transformation) Silvia Mazzoni University of California, Berkeley 26 January 2004 Sponsored by the National Science Foundation through the Pacific Earthquake Engineering Research Center NEES collaborative project OpenSees User Workshop 2004

Transcript of R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8...

Page 1: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

PP

EE

EE

RR Structural Model I (parameter definition; nodes; constraints; materials; sections & elements; block & region; geometric transformation)

Silvia MazzoniUniversity of California, Berkeley

26 January 2004

Sponsored by the National Science Foundationthrough the Pacific Earthquake Engineering Research Center

NEES collaborative project

OpenSees User Workshop 2004

Page 2: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 2

Example:Reinforced-Concrete Frame

ρlcol

H

Ig

Igcol

beam

Hcol

beam

Lbeam

Lcol

Wsuperstructure

Page 3: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 3

ModelBuilder Objects

• model Command

• node Command

• mass Command

• Constraints objects

• uniaxialMaterial Command

• nDMaterial Command

• section Command

• element Command

• block Command

• region Command

• Geometric Transformation Command

• Time Series

• pattern Command

Page 4: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 4

input-file architecture

RCSection

parameters

nodal mesh

materials

elements

output

lateral

gravity

analysis type:-static-dynamic

RUN.tcl ground-motions(dynamic analysis)

units & constants

ReadGMfile

moment-curvature

1

2

Page 5: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 5

RUN.tcl

set up

static analysis

dynamic analysis

1. wipe # clear memory2. source units.tcl; # units and constants3. source GMFiles.tcl; # load up ground-motion filenames

4. set ANALYSIS "Static"; # static pushover analysis5. source Analysis.tcl

6. set ANALYSIS "Dynamic"; # dynamic ground-motion analysis7. foreach GroundFile $iGroundFile {8. puts GroundMotion_$GroundFile9. source Analysis.tcl10. }

Page 6: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 6

units.tcl

1. set in 1.;

2. set sec 1.;

3. set kip 1.;

4. set ksi [expr $kip/pow($in,2)];

5. set psi [expr $ksi/1000.];

6. set ft [expr 12.*$in];

7. set cm [expr 2.54*$in];

8. set MPa [expr 145*$psi];

9. set g [expr 981*$cm/pow($sec,2)];

10. set PI [expr 2*asin(1.0)];

11. set U 1.e10;

12. set u [expr 1./$U];

metric units

basic units

imperial units

gravitational constant

ππππ

a really large number

a really small number

Page 7: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 7

concatenate into one vector

gmfiles.tcl

1. #large magnitude, small distance 2. set set1 {"IV40elc" "LD92yer" "LP89agw" "LP89cap" "LP89g03"

"LP89g04" "LP89gmr" "LP89hch" "LP89hda" "LP89svl" }3. set set2 {"NR94cnp" "NR94far" "NR94fle" "NR94glp" "NR94hol"

"NR94stc" "SF71pel" "SH87bra" "SH87icc" "SH87wsm" }

4. #large magnitude, large distance 5. set set3 {"BM68elc" "LD92ind" "LD92psa" "LP89a2e" "LP89fms"

"LP89hvr" "LP89sjw" "LP89slc" "NR94bad" "NR94cas" }6. set set4 {"NR94cen" "NR94jab" "NR94lh1" "NR94loa" "NR94lv2"

"NR94php" "NR94pic" "NR94sor" "NR94sse" "NR94ver" }

7. set iGroundFile $set1$set2$set3$set4;

Page 8: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 8

analysis.tcl

set up parameters and variables

set up structural model

specify data output

apply loading

clear memory

create model builder1. model basic -ndm 3 -ndf 6

2. source units.tcl;

3. source parameters.tcl;

4. source nodalmesh.tcl;

5. source materials.tcl;

6. source elements.tcl;

7. source output.tcl;

8. source gravity.tcl;

9. source lateral.tcl;

10. wipeanalysis

Page 9: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 9

superstructure

ground motion

parameters.tcl basic parameters

1. set Hcol [expr 5*$ft]; # column diameter2. set Lcol [expr 36*$ft]; # column length3. set GrhoCol 0.0125; # column longitudinal-steel ratio

4. set Hbeam [expr 8.*$ft]; # beam depth5. set Lbeam [expr 36.*$ft]; # beam length

6. set Weight [expr 3000.*$kip]; # superstructure weight

7. set GMfact 1.5; # ground-motion scaling factor

column

beam

look, units!

Page 10: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 10

parameters.tcl

1. set Rcol [expr $Hcol/2]; # COLUMN radius

2. set Acol [expr $PI*pow($Rcol,2)]; # column cross-sectional area

3. set cover [expr $Hcol/15]; # column cover width

4. set IgCol [expr $PI*pow($Rcol,4)/4]; # column gross moment of inertia

5. set IyCol $IgCol; # elastic-column properties

6. set IzCol $IgCol; # elastic-column properties

7. set Bbeam $Hcol; # BEAM beam width

8. set IzBeam [expr $GIbIc*$IgCol]; # beam gross moment of inertia -- horiz Z

9. set IyBeam [expr $Hbeam*pow($Bbeam,3)/12]; # beam gross moment of inertia--vert Y

10. set Abeam [expr $Hbeam*$Bbeam*10000]; # beam cross-sectional area

11. set GLbLc [expr $Lbeam/$Lcol]; # beam-to-column length ratio

GEOMETRY

column

beam

Page 11: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 11

parameters.tcl

1. set fc [expr -5.5*$ksi]; # CONCRETE Compressive Strength

2. set Ec [expr 57*$ksi*sqrt(-$fc/$psi)]; # Concrete Elastic Modulus

3. set fc1C [expr 1.26394*$fc]; # CONFINED concrete max. stress (Mander)

4. set eps1C [expr 2.*$fc1C/$Ec]; # strain at maximum stress

5. set fc2C $fc; # ultimate stress

6. set eps2C [expr 5*$eps1C]; # strain at ultimate stress

7. set fc1U $fc; # UNCONFINED concrete maximum stress

8. set eps1U -0.003; # strain at maximum stress

9. set fc2U [expr 0.1*$fc]; # ultimate stress

10. set eps2U -0.006; # strain at ultimate stress

11. set Fy [expr 68.*$ksi]; # STEEL yield stress

12. set Es [expr 29000.*$ksi]; # modulus of steel

13. set epsY [expr $Fy/$Es]; # steel yield strain

14. set Fy1 [expr 89.8*$ksi]; # steel stress post-yield

15. set epsY1 0.06; # steel strain post-yield

16. set Fu [expr 95.2*$ksi]; # ultimate stress of steel

17. set epsU 0.1; # ultimate strain of steel

18. set Bs [expr ($Fu-$Fy)/($epsU-$epsY)/$Es]; # post-yield stiffness ratio of steel

MATERIAL PROPERTIES

concrete

steel

Page 12: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 12

parameters.tcl

1. set pinchX 1.0; # pinching parameter for hysteretic model 2. set pinchY 1.0; # pinching parameter for hysteretic model 3. set damage1 0.0; # damage parameter for hysteretic model 4. set damage2 0.0; # damage parameter for hysteretic model

5. set betaMUsteel 0.0; # degraded unloading stiffness based on MU^(-beta)

6. set betaMUjoint 0.0; # degraded unloading stiffness based on MU^(-beta)7. set betaMUph 0.0; # degraded unloading stiffness based on MU^(-beta)8. set G $U; # Torsional stiffness Modulus9. set J 1.; # Torsional stiffness of section10. set GJ [expr $G*$J]; # Torsional stiffness

HYSTERETIC MODEL

Page 13: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 13

parameters.tcl

1. # define COLUMN REINFORCEMENT parameters2. set NbCol 20; # number of column longitudinal-reinf. bars3. set AsCol [expr $GrhoCol*$Acol]; # total steel area in column section4. set AbCol [expr $AsCol/$NbCol]; # bar area of column longitudinal reinforcement

5. # set up parameters for column section and element definition6. set np 5; # Number of integration points7. set riCol 0.0; # inner radius of column section8. set roCol $Rcol; # outer radius of column section

9. set IDcore 1; # ID tag for core concrete10. set IDcover 2; # ID tag for cover concrete11. set IDsteel 3; # ID tag for steel

12. set nfCoreR 8; # number of radial fibers in core13. set nfCoreT 16; # number of tangential fibers in core14. set nfCoverR 2; # number of radial fibers in cover15. set nfCoverT 16; # number of tangential fibers in cover

16. set IDcolFlex 2; # ID tag for column section in flexure, before aggreg. torsion17. set IDcolTors 10; # ID tag for column section in torsion18. set IDcolSec 1; # ID tag for column section

19. set IDcolTrans 1; # ID tag for column transformation, defining element normal20. set IDbeamTrans 2; # ID tag for beam transformation, defining element normal

Column&beam-model properties

Page 14: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 14

parameters.tcl

1. set Pdl [expr $Weight/2]; # gravity axial load per column

2. set Wbeam [expr $Weight/$Lbeam]; # distributed gravity dead load

3. set Mdl [expr $Wbeam*pow($Lbeam,2)/12]; # nodal moment

4. set Mass [expr $Weight/$g]; # mass of superstructure

5. set Mnode [expr $Mass/2]; # nodal mass for each column

GRAVITY

Page 15: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 15

parameters.tcl

1. # define DAMPING parameters from $xDamp --SDOF system, use stiffness proportional damping only

2. set xDamp 0.02; # modal damping ratio

3. set lambda [eigen 1]; # eigenvalue analysis4. set omega [expr sqrt($lambda)]; # natural frequency (rad/sec)5. set Tperiod [expr 2*$PI/$omega]; # period (sec.)

6. set alphaM 0; # mass-prop. RAYLEIGH damping parameter; D = alphaM*M7. set betaK 0; # stiffness proportional damping; +beatK*KCurrent8. set betaKcomm [expr 2*$xDamp/$omega]; # +betaKcomm*KlastCommitt9. set betaKinit 0; # +beatKinit*Kini

DAMPING

NOTE: you actually have to move these commands to after the model has been set up, as you cannot perform an eigenvalue analysis at this point, yet

Page 16: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 16

parameters.tcl

1. set DxPush [expr 0.1*$in]; # Displacement increment for pushover analysis

2. set DmaxPush [expr 20*$in]; # maximum displamcement for pushover analysis

3. set DtAnalysis [expr 0.005*$sec]; # time-step Dt for lateral analysis

4. set DtGround [expr 0.02*$sec]; # time-step Dt for input grond motion

5. set TmaxGround [expr 50 *$sec]; # maximum duration of ground-motion analysis

6. set gamma 0.5; # gamma value for newmark integration

7. set beta 0.25; # beta value for newmark integration

ANALYSIS

static

dynamic

Page 17: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

PP

EE

EE

RR

OpenSees model-building commands

•model Command

•node Command•mass Command•Constraints objects

•uniaxialMaterial Command•nDMaterial Command

•section Command•element Command•Geometric Transformation Command

analysis.tcl

nodalmesh.tcl

materials.tcl

elements.tcl

Page 18: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 18

http://opensees.berkeley.edu

Page 19: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 19

or, OpenSeesManual.chm

Page 20: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 20

commands

node $nodeTag (ndm $coords) <-mass (ndf $MassValues)>

constrained1

unconstrained0

constraint type (0 or 1). ndf values are specified, corresponding to the ndf degrees-of-freedom.

The two constraint types are:

$ConstrValues

integer tag identifying the node to be constrained$nodeTag

copy and paste from manual:

nodal mass corresponding to each DOF (ndfarguments) (optional)

$MassValues

nodal coordinates (ndm arguments)$coords

integer tag identifying node$nodeTag

fix $nodeTag (ndf $ConstrValues)

Page 21: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 21

nodalmesh.tcl

1. set IDctrlNode 3;

2. # Define nodes; # frame is in X-Y plane (X-horizontal, Y-vertical)

3. node 1 0.0 0.0 0.0

4. node 2 $Lbeam 0.0 0.0

5. node 3 0.0 $Lcol 0.0 -mass $Mnode 0.0 0.0 0.0 0.0 0.0

6. node 4 $Lbeam $Lcol 0.0 -mass $Mnode 0.0 0.0 0.0 0.0 0.0

7. # Boundary conditions; # node DX DY DZ RX RY RZ ! 1: fixed, 0: released

8. fix 1 1 1 1 1 1 1;

9. fix 2 1 1 1 1 1 1

10. fix 3 0 0 1 1 1 0

11. fix 4 0 0 1 1 1 0

12. # 3---------------------------4

13. # | |

14. # | |

15. # --1-- --2--

coordinates

boundary conditions

Page 22: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 22

commands copy and paste from manual:

uniaxialMaterial Elastic $matTag $E <$eta>

damping tangent (optional, default=0.0)$eta

tangent$E

unique material object integer tag$matTag

uniaxialMaterial Concrete01 $matTag $fpc $epsc0 $fpcu $epsU

strain at crushing strength*$epsU

crushing strength*$fpcu

strain at compressive strength*$epsc0

compressive strength*$fpc

unique material object integer tag$matTag

Page 23: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 23

tcl if statement

if {logical statement} {

….series of commands…..

}

Page 24: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 24

materials.tcl concrete

uniaxialMaterial Concrete01 $matTag $fpc $epsc0 $fpcu $epsU

1. set ConcreteMaterialType “inelastic” # options: "elastic","inelastic"

2. if {$ConcreteMaterialType == “elastic”} {

3. uniaxialMaterial Elastic $IDcore $Ec

4. uniaxialMaterial Elastic $IDcover $Ec

5. }

6. if {$ConcreteMaterialType == “inelastic”} {

7. # uniaxial Kent-Scott-Park concrete model w/ linear unload/reload, no T strength (-ve comp.)

8. uniaxialMaterial Concrete01 $IDcore $fc1C $eps1C $fc2C $eps2C; # Core

9. uniaxialMaterial Concrete01 $IDcover $fc1U $eps1U $fc2U $eps2U;# Cover

10. }

Page 25: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 25

uniaxialMaterial Hysteretic $matTag $s1p $e1p $s2p $e2p <$s3p $e3p> $s1n $e1n $s2n $e2n <$s3n $e3n> $pinchX $pinchY $damage1 $damage2 <$beta>

power used to determine the degraded unloading stiffness based on ductility, mu-beta (optional, default=0.0)

$beta

damage due to energy: D2(Eii/Eult)$damage2

damage due to ductility: D1(mu-1)$damage1

pinching factor for stress (or force) during reloading$pinchY

pinching factor for strain (or deformation) during reloading$pinchX

stress and strain (or force & deformation) at third point of the envelope in the negative direction (optional)*

$e3n$s3n

stress and strain (or force & deformation) at second point of the envelope in the negative direction*

$e2n$s2n

stress and strain (or force & deformation) at first point of the envelope in the negative direction*

$e1n$s1n

stress and strain (or force & deformation) at third point of the envelope in the positive direction (optional)

$e3p$s3p

stress and strain (or force & deformation) at second point of the envelope in the positive direction

$e2p$s2p

stress and strain (or force & deformation) at first point of the envelope in the positive direction

$e1p$s1p

unique material object integer tag$matTag

Page 26: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 26

materials.tcl reinforcing steel

1. set SteelMaterialType "hysteretic"; # options: ”elastic","bilinear","hysteretic“

2. if {$SteelMaterialType == "elastic"} {3. uniaxialMaterial Elastic $IDsteel $Es4. }5. if {$SteelMaterialType == "bilinear"} {6. # Reinforcing steel, uniaxial bilinear steel model with isotropic hardening.7. uniaxialMaterial Steel01 $IDsteel $Fy $Es $Bs8. }9. if {$SteelMaterialType == "hysteretic"} {10. # Reinforcing steel, uniaxial hysteretic steel model with isotropic hardening.11. uniaxialMaterial Hysteretic $IDsteel $Fy $epsY $Fy1 $epsY1 $Fu $epsU -$Fy -

$epsY -$Fy1 -$epsY1 -$Fu -$epsU $pinchX $pinchY $damage1 $damage2 $betaMUsteel

12. }

Page 27: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 27

tcl procedure

proc procName {input variables} {

… series of commands

}

to execute:

procName input variables

Page 28: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 28

fiber section command

section Fiber $secTag {fiber <fiber arguments>patch <patch arguments> layer <layer arguments>

}

fiber $yLoc $zLoc $A $matTag

material tag of the pre-defined UniaxialMaterial object used to represent the stress-strain for the area of the fiber

$matTag

area of fiber$A

z coordinate of the fiber in the section (local coordinate system)$zLoc

y coordinate of the fiber in the section (local coordinate system)$yLoc

cover patch

core patch

steel layer

externalradius

internalradius

Page 29: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 29

ending angle (optional. default=360.0)$endAng

starting angle (optional. default=0.0)$startAng

external radius$extRad

internal radius$intRad

y & z-coordinates of the center of the circle$zCenter$yCenter

number of subdivisions (fibers) in the radial direction.$numSubdivRad

number of subdivisions (fibers) in the circumferential direction.

$numSubdivCirc

material integer tag of the previously-defined UniaxialMaterial object used to represent the stress-strain for the area of the fiber

$matTag

section command (cont.)

patch circ $matTag $numSubdivCirc $numSubdivRad $yCenter $zCenter $intRad $extRad <$startAng $endAng>

$startAng

$endAng

$extRad $intRad

($yCenter, $zCenter)

$numSubdivCirc=4

$num

Sub

divR

ad=3

y

z

Page 30: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 30

starting and ending angle of reinforcing layer, respectively. (Optional, Default: a full circle

is assumed 0-360)

$endAng$startAng

radius of reinforcing layer$radius

y and z-coordinates of center of reinforcing layer (local coordinate system)

$zCenter$yCenter

area of individual reinforcing bar$areaBar

number of reinforcing bars along layer$numBar

material integer tag of the previously-defined UniaxialMaterial object used to represent the stress-strain for the area of the fiber

$matTag

section command (cont.)

layer circ $matTag $numBar $areaBar $yCenter $zCenter $radius <$startAng $endAng>

y

z

$numBars

=5

($yCenter, $zCenter)

$startAng

$endAng

$radius

Page 31: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 31

tcl procedure: define fiber section

360o/Nbars

Ab

covercore patch

cover patch

Ro

Ri

CONCRETESTEEL

proc RCcircSection {id Ri Ro cover coreID coverID steelID Nbars Ab nfCoreR nfCoreT nfCoverR nfCoverT} {

section fiberSec $id {

set Rc [expr $Ro-$cover]; # Core radius

patch circ $coreID $nfCoreT $nfCoreR 0 0 $Ri $Rc 0 360; # Define the core patch

patch circ $coverID $nfCoverT $nfCoverR 0 0 $Rc $Ro 0 360; # Define the cover patch

if {$Nbars<= 0} { return }

set theta [expr 360.0/$Nbars]; # angle increment between bars

layer circ $steelID $Nbars $Ab 0 0 $Rc $theta 360; # Define the reinforcing layer

}

}

CONCRETE

STEEL

Page 32: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 32

section aggregator

• groups previously-defined UniaxialMaterial objects into a single section force-deformation model

section Aggregator $secTag $matTag1 $string1 $matTag2 $string2 ....... <-section $sectionTag>

specifies a previously-defined Section object (identified by the argument $sectionTag) to which these UniaxialMaterial objects may be added to recursively define a new Section object

<-section $sectionTag>

Torsion Force-DeformationT

Shear force-deformation along section local z-axisVz

Moment-curvature about section local y-axisMy

Shear force-deformation along section local y-axisVy

Moment-curvature about section local z-axisMz

Axial force-deformationP

the force-deformation quantities corresponding to each section object. One of the following strings is used:

$string1, $string2 ....

previously-defined UniaxialMaterial objects$matTag1, $matTag2 ...

unique section object integer tag$secTag

Page 33: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 33

geometric transformation

• performs a linear geometric transformation of beam stiffness andresisting force from the basic system to the global-coordinate system

geomTransf Linear $transfTag $vecxzX $vecxzY $vecxzZ <-jntOffset $dXi $dYi $dZi $dXj $dYj $dZj>

joint offset values -- absolute offsets specified with respect to the global coordinate system for element-end node j (the number of arguments depends on the dimensions of the current model) (optional)

$dXj $dYj $dZj

joint offset values -- absolute offsets specified with respect to the global coordinate system for element-end node i (the number of arguments depends on the dimensions of the current model) (optional)

$dXi $dYi $dZi

X, Y, and Z components of vecxz, the vector used to define the local x-z plane of the local-coordinate system. The local y-axis is defined by taking the cross product of the x-axis and the vecxz vector. These components are specified in the global-coordinate system X,Y,Z and define a vector that is in a plane parallel to the x-z plane of the local-coordinate system.These items need to be specified for the three-dimensional problem.

$vecxzX $vecxzY $vecxzZ

unique identifier for CrdTransf object$transfTag

Page 34: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 34

local coordinate system

Y

Z

X

node j

node i

y

x

z

local xz plane

vecxz (vecxzX, vecxzY, vecxzZ)

vector parallel to vecxz

Page 35: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 35

elements.tcl

CO

LU

MN

BE

AM

Tcl procedure

1. set ColumnType “inelastic”;

2. source RCcircSection.tcl; # proc to define circular fiber section– flexure

3. RCcircSection $IDcolFlex $riCol $roCol $cover $IDcore $IDcover $IDsteel $NbCol $AbCol $nfCoreR $nfCoreT $nfCoverR $nfCoverT

4. uniaxialMaterial Elastic $IDcolTors $GJ; # Define torsion

5. section Aggregator $IDcolSec $IDcolTors T -section $IDcolFlex; # attach torsion & flex

6. geomTransf Linear $IDcolTrans 0 0 1; # no 2nd-order effects, define element normal

7. if {$ColumnType == “elastic”} {

8. element elasticBeamColumn 1 1 3 $Acol $Ec $G $J $IyCol $IzCol $IDcolTrans

9. element elasticBeamColumn 2 2 4 $Acol $Ec $G $J $IyCol $IzCol $IDcolTrans }

10. if {$ColumnType == “inelastic”} {

11. # element element type ID, node I, node J, no. int pts, section ID, transf. ID

12. element nonlinearBeamColumn 1 1 3 $np $IDcolSec $IDcolTrans

13. element nonlinearBeamColumn 2 2 4 $np $IDcolSec $IDcolTrans }

14. geomTransf Linear $IDbeamTrans 0 0 1; # BEAM transformation, define element normal

15. element elasticBeamColumn 3 3 4 $Abeam $Ec $G $J $IyBeam $IzBeam $IDbeamTrans

Page 36: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 36

region command

• label a group of nodes and elements. • This command is also used to assign rayleigh

damping parameters to the nodes and elements in this region.

• The region is specified by either elements or nodes, not both. If elements are defined, the region includes these elements and the all connected nodes. If nodes are specified, the region includes these nodes and all elements whose external nodes are prescribed

NEW

region $regTag <-ele ($ele1 $ele2 ...)> <-eleRange $startEle $endEle> <-ele all> <-node ($node1 $node2 ...)> <-nodeRange $startNode $endNode> <-node all> <-rayleigh $alphaM $betaK $betaKinit $betaKcomm>

Page 37: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 37

region command (element region)

region $regTag <-ele ($ele1 $ele2 ...)> <-eleRange $startEle $endEle> <-ele all> <-node ($node1 $node2 ...)> <-nodeRange $startNode $endNode> <-node all> <-rayleigh $alphaM $betaK $betaKinit $betaKcomm>

Arguments to define Rayleigh damping matrix (optional, default: zero)

$alphaM $betaK $betaKinit $betaKcomm

all elements in domain (optional & default)all

tag for start and end elements -- range of selected elements in domain (optional, default: all)

$startEle $endEle

tags of elements -- selected elements in domain (optional, default: omitted)

$ele1 $ele2 ...

unique integer tag$regTag

Page 38: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 38

region command (node region)

region $regTag <-ele ($ele1 $ele2 ...)> <-eleRange $startEle $endEle> <-ele all> <-node ($node1 $node2 ...)> <-nodeRange $startNode $endNode> <-node all> <-rayleigh $alphaM $betaK $betaKinit $betaKcomm>

Arguments to define Rayleigh damping matrix (optional, default: zero

$alphaM $betaK $betaKinit $betaKcomm

all nodes in domain (optional & default)all

tag for start and end nodes -- range of nodes in domain (optional, default: all)

$startNode $endNode

node tags -- select nodes in domain (optional,

default: all)

$node1 $node2 ...

unique integer tag$regTag

Page 39: R Structural Model I - OpenSees...Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 8 analysis.tcl set up parameters and variables set up structural model specify data output

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 39

region command (damping)

region $regTag <-ele ($ele1 $ele2 ...)> <-eleRange $startEle $endEle> <-ele all> <-node ($node1 $node2 ...)> <-nodeRange $startNode $endNode> <-node all> <-rayleigh $alphaM $betaK $betaKinit $betaKcomm>

C = $alphaM*M + $betaK*K + $betaKinit*Kinitial $betaKcomm*Kcommitted

stiffness matrix at last-committed state determination used to calculate Rayleigh Damping

KlastCommit

stiffness matrix at initial state determination used to calculate Rayleigh Damping

Kinit

stiffness matrix at current state determination used to calculate Rayleigh Damping

Kcurrent

mass matrix used to calculate Rayleigh DampingM