structural model i - opensees...opensees and neesgrid simulation component user workshop, 2-3 sept...

22
1 Structural Model I (parameter definition; nodes; constraints; materials; sections & elements; block & region; geometric transformation) Silvia Mazzoni University of California, Berkeley OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake Engineering Research Center and the NEESgrid System Integration Project Silvia Mazzoni, UC Berkeley OpenSees User Workshop 2004 2 Example: Reinforced-Concrete Frame ρl col H Ig Ig col beam Hcol beam L beam L col W superstructure

Upload: others

Post on 12-Oct-2020

18 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

1

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

Silvia MazzoniUniversity of California, Berkeley

OpenSees and NEESgrid Simulation ComponentUser Workshop, 2-3 Sept 2004

Sponsored by the National Science Foundationthrough the Pacific Earthquake Engineering Research Centerand the NEESgrid System Integration Project

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 2

Example:Reinforced-Concrete Frame

ρlcol

H

Ig

Igcol

beam

Hcol

beam

Lbeam

Lcol

Wsuperstructure

Page 2: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

2

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

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 3: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

3

•model Command

•node Command•mass Command•Constraints objects

•uniaxialMaterial Command•nDMaterial Command

•section Command•element Command•Geometric Transformation Command

OpenSees model-building commands

analysis.tcl

nodalmesh.tcl

materials.tcl

elements.tcl

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 6

http://opensees.berkeley.edu

Page 4: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

4

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 7

or, OpenSeesManual.chm

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 8

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

constrained1unconstrained0

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 5: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

5

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 9

nodalmesh.tcl

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

2. node 1 0.0 0.0 0.0

3. node 2 $Lbeam 0.0 0.0

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

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

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

7. fix 1 1 1 1 1 1 1;

8. fix 2 1 1 1 1 1 1

9. fix 3 0 0 1 1 1 0

10. fix 4 0 0 1 1 1 0

11. # 3---------------------------4

12. # | |

13. # | |

14. # --1-- --2--

coordinates & mass

boundary conditions

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 10

materials 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 6: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

6

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 11

tcl if statement

if {logical statement} {….series of commands…..

}

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 12

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 7: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

7

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 13

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)$damage2damage due to ductility: D1(mu-1)$damage1pinching 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$s1punique material object integer tag$matTag

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 14

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 8: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

8

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 15

tcl procedure

proc procName {input variables} {… series of commands

}

to execute:

procName input variables

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 16

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

$matTagarea of fiber$Az coordinate of the fiber in the section (local coordinate system)$zLocy coordinate of the fiber in the section (local coordinate system)$yLoc

cover patch

core patch

steel layer

externalradius

internalradius

Page 9: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

9

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 17

ending angle (optional. default=360.0)$endAngstarting angle (optional. default=0.0)$startAngexternal radius$extRadinternal radius$intRady & 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

Subd

ivRad

=3

y

z

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 18

starting and ending angle of reinforcing layer, respectively. (Optional, Default: a full circle is assumed 0-360)

$endAng$startAngradius of reinforcing layer$radius

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

$zCenter$yCenterarea of individual reinforcing bar$areaBarnumber 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 10: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

10

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 19

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

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 20

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-axisVzMoment-curvature about section local y-axisMyShear force-deformation along section local y-axisVyMoment-curvature about section local z-axisMzAxial 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 11: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

11

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 21

geometric transformation• performs a linear geometric transformation of beam stiffness and

resisting 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

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 22

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 12: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

12

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 23

elements• Truss Element• Corotational Truss Element• Elastic Beam Column Element• NonLinear Beam-Column Elements

– Nonlinear Beam Column Element– Beam With Hinges Element– Displacement-Based Beam-Column Element

• Zero-Length Elements• Quadrilateral Elements• Brick Elements• FourNodeQuadUP Element• BeamColumnJoint Element

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 24

Elastic Beam Column Element

• 2D:

• 3D:

element elasticBeamColumn $eleTag $iNode $jNode $A $E $G $J $Iy $Iz $transfTag

element elasticBeamColumn $eleTag $iNode $jNode $A $E $Iz $transfTag

Page 13: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

13

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 25

Nonlinear Beam Column Element

tolerance for satisfaction of element compatibility (optional, default=10-16)

$tol

maximum number of iterations to undertake to satisfy element compatibility (optional, default=1)

$maxIters

element mass density (per unit length), from which a lumped-mass matrix is formed (optional, default=0.0)

$massDens

identifier for previously-defined coordinate-transformation(CrdTransf) object

$transfTagidentifier for previously-defined section object$secTagnumber of integration points along the element.$numIntgrPtsend nodes$jNode$iNode unique element object tag$eleTag

element nonlinearBeamColumn $eleTag $iNode $jNode $numIntgrPts $secTag $transfTag <-mass $massDens> <-iter $maxIters $tol>

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 26

elements.tclC

OLU

MN

BEA

M

Tcl procedure1. 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 14: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

14

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 27

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>

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 28

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 15: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

15

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 29

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

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 30

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

Kcurrentmass matrix used to calculate Rayleigh DampingM

Page 16: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

16

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 31

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 32

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 17: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

17

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 33

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

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 34

concatenate into one vector

gmfiles.tcl1. #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 18: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

18

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 35

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

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 36

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 19: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

19

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 37

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

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 38

parameters.tcl1. 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 20: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

20

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 39

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

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 40

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 21: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

21

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 41

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

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 42

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 22: Structural Model I - OpenSees...OpenSees and NEESgrid Simulation Component User Workshop, 2-3 Sept 2004 Sponsored by the National Science Foundation through the Pacific Earthquake

22

Silvia Mazzoni, UC BerkeleyOpenSees User Workshop 2004 43

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