Previous Topic

Next Topic

example ss_ic1.tcl

# bridge T-joint

# -----------------

# Units: kips, in.

# Pushover analysis multiple dispBeamColumn with strain penetration

# modeling the circular RC column in a bridge T-joint tested by

# Sri Sritharan

# "Seismic response of column/cap beam tee connections

# with cap beam prestressing" Ph.D. thesis, UCSD

# Create ModelBuilder (with two dimensions and 2 DOF/node)

model basic -ndm 2 -ndf 3

# Create nodes

# tag X Y

node 1 0.0 -48.0

node 2 0.0 -30.0

node 3 0.0 -12.0

node 4 0.0 0.0

node 5 0.0 12.0

node 6 0.0 30.0

node 7 0.0 48.0

node 8 12.0 0.0

node 9 19.0 0.0

node 10 40.0 0.0

node 11 61.5 0.0

node 12 84.0 0.0

node 13 12.0 0.0

# Fix supports at base of column

# Tag DX DY RZ

fix 1 1 1 0

fix 7 1 0 0

#equalDOF $rNodeTag $cNodeTag $dof1 $dof2

equalDOF 8 13 2

# Define materials for nonlinear columns

##column Core CONCRETE tag f'c ec0 f'cu ecu

uniaxialMaterial Concrete01 1 -6.38 -0.004 -5.11 -0.014

uniaxialMaterial Concrete01 200 -6.38 -0.004 -5.11 -0.014

##column Cover CONCRETE tag f'c ec0 f'cu ecu

uniaxialMaterial Concrete01 2 -4.56 -0.002 0.0 -0.006

##column stub CONCRETE tag E

uniaxialMaterial Elastic 3 2280

##beam CONCRETE tag f'c ec0 f'cu ecu

uniaxialMaterial Concrete01 4 -5.76 -0.002 0.0 -0.006

## STEEL rebar

##STEEL02 tag $Fy $E $b $R0 $cR1 $cR2 $a1 $a2 $a3 $a4

uniaxialMaterial Steel02 5 65.0 29000 0.02 18.5 0.925 0.15 0.04 1.0 0.04 1.0

uniaxialMaterial Steel02 6 62.8 29000 0.02 18.5 0.925 0.15 0.00 1.0 0.00 1.0

uniaxialMaterial Elastic 7 29000

#uniaxialMaterial StrPen01 $Tag $sy $fy $su $fu $Kz $R $Cd $db $fc $la

uniaxialMaterial StrPen01 400 0.02 65 0.7 97.5 0.50 0.7 0.0 1.0 4.35 25.0

# Define cross-section for nonlinear column

set colDia 24; # bending in this direction (local and global y)

set cover 1.38;

set bcent 1.81; # [expr $cover+0.197+0.5]

set As 0.60; # Area of no. 7 bar

set R [expr $colDia/2.0]

set Rc [expr $colDia/2.0-$cover]

set Rb [expr $colDia/2.0-$bcent]

section Fiber 1 {

# core concrete fibers

patch circ 1 70 22 0.0 0.0 0.0 $Rc 0.0 360.0

# concrete cover fibers

patch circ 2 70 2 0.0 0.0 $Rc $R 0.0 360.0

# reinforcing fibers

layer circ 5 14 $As 0.0 0.0 $Rb -90.0 244.3

}

section Fiber 2 {

# core concrete fibers

patch circ 3 70 22 0.0 0.0 0.0 $Rc 0.0 360.0

# concrete cover fibers

patch circ 3 70 2 0.0 0.0 $Rc $R 0.0 360.0

# reinforcing fibers

layer circ 5 14 $As 0.0 0.0 $Rb -90.0 244.3

}

section Fiber 5 {

# core concrete fibers

patch circ 200 70 22 0.0 0.0 0.0 $Rc 0.0 360.0

# concrete cover fibers

patch circ 2 70 2 0.0 0.0 $Rc $R 0.0 360.0

# reinforcing fibers

layer circ 400 14 $As 0.0 0.0 $Rb -90.0 244.3

}

# Define cross-section for nonlinear cap beam

set bmw 27; # bending in this direction (local and global y)

set bmh 24; # bending in this direction (local and global y)

set cover 1.38;

set bcent 1.81; # [expr $cover+0.197+0.5]

set aw [expr $bmw/2.0]

set ac [expr $bmw/2.0-$cover]

set ab [expr $bmw/2.0-$bcent]

set bw [expr $bmh/2.0]

set bc [expr $bmh/2.0-$cover]

set bb [expr $bmh/2.0-$bcent]

section Fiber 3 {

# concrete fibers

patch quad 4 48 1 -$bw -$aw $bw -$aw $bw $aw -$bw $aw

# reinforcing fibers

layer straight 6 7 $As -$bb $ab -$bb -$ab

layer straight 6 7 $As $bb $ab $bb -$ab

}

# Define column elements

## Geometry of coloumn elements

geomTransf Linear 1

# Number of integration points along length of element

set np 5

# Create the columns using displacement controlled beam-column elements

# tag ndI ndJ nsecs secID transfTag

element dispBeamColumn 1 1 2 $np 3 1

element dispBeamColumn 2 2 3 $np 3 1

element dispBeamColumn 3 3 4 $np 3 1

element dispBeamColumn 4 4 5 $np 3 1

element dispBeamColumn 5 5 6 $np 3 1

element dispBeamColumn 6 6 7 $np 3 1

element dispBeamColumn 7 4 8 $np 2 1

element dispBeamColumn 8 13 9 $np 1 1

element dispBeamColumn 9 9 10 $np 1 1

element dispBeamColumn 10 10 11 $np 1 1

element dispBeamColumn 11 11 12 $np 1 1

# zeroLengthSection tag ndI ndJ secID

element zeroLengthSection 12 8 13 5

# Set up and perform analysis

## Create recorders

recorder Node -file topdispac.out -time -node 12 -dof 2 disp

recorder Node -file rot4ac.out -time -node 4 -dof 3 disp

recorder Node -file rot8ac.out -time -node 8 -dof 3 disp

recorder Drift drift84ac.out 4 8 2 1

recorder Drift curvatureac.out 8 9 3 1

recorder Drift curvatureac1.out 13 9 3 1

recorder Element -file secstrspac.out -time -ele 8 section 5 fiber -$Rb 0 5 stressStrain

recorder Element -file secstrsnac.out -time -ele 8 section 5 fiber $Rb 0 5 stressStrain

recorder Element -file secstrcac.out -time -ele 8 section 5 fiber $Rc 0 1 stressStrain

recorder plot topdispac.out Node12_Ydisp 10 10 300 300 -columns 2 1

set P -90.0

pattern Plain 1 "Constant" {

load 12 $P 0.0 0.0

}

# Define analysis parameters

integrator LoadControl 0

system SparseGeneral -piv

test NormDispIncr 1.0e-4 2000

numberer Plain

constraints Plain

algorithm KrylovNewton

analysis Static

# Do one analysis for constant axial load

analyze 1

# Define reference force

pattern Plain 2 "Linear" {

load 12 0.0 1.0 0.0

}

set dU1 -0.02

set dU2 0.02

# Perform the analysis

integrator DisplacementControl 12 2 $dU1

analyze 33

integrator DisplacementControl 12 2 $dU2

analyze 65

integrator DisplacementControl 12 2 $dU1

analyze 32

integrator DisplacementControl 12 2 $dU1

analyze 67

integrator DisplacementControl 12 2 $dU2

analyze 134

integrator DisplacementControl 12 2 $dU1

analyze 67

integrator DisplacementControl 12 2 $dU1

analyze 101

integrator DisplacementControl 12 2 $dU2

analyze 202

integrator DisplacementControl 12 2 $dU1

analyze 101

integrator DisplacementControl 12 2 $dU1

analyze 135

integrator DisplacementControl 12 2 $dU2

analyze 270

integrator DisplacementControl 12 2 $dU1

analyze 135

integrator DisplacementControl 12 2 $dU1

analyze 202

integrator DisplacementControl 12 2 $dU2

analyze 404

integrator DisplacementControl 12 2 $dU1

analyze 202