Stress - Strain of steel and concrete

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

Moderators: silvia, selimgunay, Moderators

Post Reply
aahashib
Posts: 13
Joined: Thu Sep 10, 2015 9:21 am
Location: Texas A&M University

Stress - Strain of steel and concrete

Post by aahashib »

Hi All.. Hope you all doing great..

I am in trouble of getting stress-strain data of a pushover analysis of a simple RC portal frame consisted of two columns and one beam. I have compared the pushover data with the measured experimental data. It almost matches. However, I am not getting stress-strain data of the beam and columns for both steel and concrete. I modeled one 2D frame before. I didn't get stress - strain data then too. So I need to change to this 3D model. But still now I am unable to get stress - strain data. Can anybody please help me getting the stress- strain data of the beam and columns? I am giving the build model file below for your kind observation. Thank you.


# --------------------------------------------------------------------------------------------------
# Frame -- Build Model
# nonlinearBeamColumn element, inelastic fiber section
# Abdullah Al Hashib, 2016
# ^Y
# |
# 3_________(3)____________4 __
# | | |
# | | |
# | | |
# (1) (2) LCol
# | | |
# | | |
# | | |
# =1= =2= _|_ -------->X
# |----------LBeam---------|
#

# SET UP ----------------------------------------------------------------------------
wipe; # clear memory of all past model definitions
model BasicBuilder -ndm 3 -ndf 6; # Define the model builder, ndm=#dimension, ndf=#dofs
set dataDir Data; # set up name of data directory
file mkdir $dataDir; # create data directory
set GMdir "GMfiles"; # ground-motion file directory
source LibUnits.tcl; # define basic and system units
source BuildRCrectSection.tcl; # procedure for definining RC fiber section

# define GEOMETRY -------------------------------------------------------------
set LCol [expr 118.11*$in]; # column length
set LBeam [expr 177.17*$in]; # beam length
set Weight [expr 25.32*$kip]; # superstructure weight, Calculated from the dead load of all beams (12.515 kips) and columns (8.58 kips) top of the frame, Total=21.1*1.2=25.32 kips

# define section geometry
set HCol [expr 11.811*$in]; # Column Depth
set BCol [expr 11.811*$in]; # Column Width
set HBeam [expr 9.84252*$in]; # Beam Depth
set BBeam [expr 27.5591*$in]; # Beam Width

# calculated parameters
set PCol [expr $Weight/2]; # nodal dead-load weight per column
set Mass [expr $PCol/$g]; # nodal mass
# calculated geometry parameters
set ACol [expr $BCol*$HCol]; # cross-sectional area
set ABeam [expr $BBeam*$HBeam]; # cross-sectional area
# nodal coordinates:
node 1 0. 0. 0.; # node#, X, Y, Z
node 2 $LBeam 0. 0.;
node 3 0. $LCol 0.;
node 4 $LBeam $LCol 0.;

# Single point constraints -- Boundary Conditions
fix 1 1 1 1 1 1 1; # node DX DY RZ
fix 2 1 1 1 1 1 1; # node DX DY RZ

# nodal masses:
mass 3 $Mass 0. 0. 0. 0. 0.; # node#, Mx My Mz, Mass=Weight/g, neglect rotational inertia at nodes
mass 4 $Mass 0. 0. 0. 0. 0.;

# Define ELEMENTS & SECTIONS -------------------------------------------------------------
set ColSecTag1 1; # assign a tag number to the column section
set ColSecTag2 2; # assign a tag number to the column section
set BeamSecTag1 3; # assign a tag number to the beam section
set BeamSecTag2 4; # assign a tag number to the beam section
set BeamSecTag3 5; # assign a tag number to the beam section

# define section geometry
set cover [expr 1.1811*$in]; # Column cover to reinforcing steel NA.

# MATERIAL parameters -------------------------------------------------------------------
set IDconCB1 1; # material ID tag -- confined cover concrete for beam near joints
set IDconCB2 2; # material ID tag -- confined cover concrete for beam near middle
set IDconCC1 3; # material ID tag -- confined cover concrete for column near joints
set IDconCC2 4; # material ID tag -- confined cover concrete for column near middle
set IDconcUB 5; # material ID tag -- unconfined cover concrete for beam
set IDconcUC 6; # material ID tag -- unconfined cover concrete for column
set IDreinf 7; # material ID tag -- reinforcement

# Confined concrete BEAM close stirrups
set fc1CB1 -7.27; # maximum stress
set eps1CB1 -0.0065; # strain at maximum strength of confined concrete
set fc2CB1 -5.83; # ultimate stress
set eps2CB1 -0.0226; # strain at ultimate stress
# Confined concrete BEAM less density stirrups
set fc1CB2 -7.27; # maximum stress
set eps1CB2 -0.0065; # strain at maximum strength of confined concrete
set fc2CB2 -6.76; # ultimate stress
set eps2CB2 -0.0126; # strain at ultimate stress
# Confined concrete COLUMN densed stirrups
set fc1CC1 -4.89; # maximum stress
set eps1CC1 -0.0035; # strain at maximum strength of confined concrete
set fc2CC1 -2.36; # ultimate stress
set eps2CC1 -0.0245; # strain at ultimate stress
# Confined concrete COLUMN less densed stirrups
set fc1CC2 -4.89; # maximum stress
set eps1CC2 -0.0035; # strain at maximum strength of confined concrete
set fc2CC2 -3.3; # ultimate stress
set eps2CC2 -0.0131; # strain at ultimate stress

# unconfined concrete GENERAL
set Kres 0.2; # ratio of residual/ultimate to maximum stress
# unconfined concrete BEAM
set fc1UB -5.01; # UNCONFINED concrete (todeschini parabolic model), maximum stress
set eps1UB -0.002; # strain at maximum strength of unconfined concrete
set fc2UB [expr $Kres*$fc1UB]; # ultimate stress
set eps2UB -0.005; # strain at ultimate stress
# unconfined concrete COLUMN
set fc1UC -4.25; # UNCONFINED concrete (todeschini parabolic model), maximum stress
set eps1UC -0.002; # strain at maximum strength of unconfined concrete
set fc2UC [expr $Kres*$fc1UB]; # ultimate stress
set eps2UC -0.005; # strain at ultimate stress

# -----------MILD STEEL
set Fy [expr 80.85*$ksi]; # STEEL yield stress (average of three different sized steel yield stress given), 12 mm dia bar was also given. But it was ignored as it was not used in the specific frame being modeled
set Es [expr 29000.*$ksi]; # modulus of steel
set Fu 94.13; # ultimate stress (average of three different sized steel ultimate stress given), 12 mm dia bar was also given. But it was ignored as it was not used in the specific frame being modeled
set Esh [expr 0.043*$Es]; # Reasonable Assumption, According to AASHTO Guide Spec
set esh 0.005; # Strain hardening (Reasonable Assumption)
set eult 0.09; # ultimate strain (Reasonable Assumption)

uniaxialMaterial Concrete01 $IDconCB1 $fc1CB1 $eps1CB1 $fc2CB1 $eps2CB1; # build core concrete (confined)
uniaxialMaterial Concrete01 $IDconCB2 $fc1CB2 $eps1CB2 $fc2CB2 $eps2CB2; # build core concrete (confined)
uniaxialMaterial Concrete01 $IDconCC1 $fc1CC1 $eps1CC1 $fc2CC1 $eps2CC1; # build core concrete (confined)
uniaxialMaterial Concrete01 $IDconCC2 $fc1CC2 $eps1CC2 $fc2CC2 $eps2CC2; # build core concrete (confined)
uniaxialMaterial Concrete01 $IDconcUB $fc1UB $eps1UB $fc2UB $eps2UB; # build cover concrete (unconfined)
uniaxialMaterial Concrete01 $IDconcUC $fc1UC $eps1UC $fc2UC $eps2UC; # build cover concrete (unconfined)
uniaxialMaterial ReinforcingSteel $IDreinf $Fy $Fu $Es $Esh $esh $eult; # -GABuck 2. 2. 1. 0.5 -MPCurveParams 0.38 18 4;

# FIBER SECTION properties -------------------------------------------------------------
# symmetric section
# y
# ^
# |
# ---------------------- -- --
# | o o o | | -- cover
# | | |
# | | |
# z <--- | + | H
# | | |
# | | |
# | o o o | | -- cover
# --------------------- -- --
# |-------- B --------|
#
# RC section:

# Fiber Section of Column (Section A)
set numBarsTopCol 3; # number of longitudinal-reinforcement bars on top layer
set numBarsBotCol 3; # number of longitudinal-reinforcement bars on bottom layer
set numBarsIntCol 2; # TOTAL number of reinforcing bars on the intermediate layers
set barAreaTopCol [expr 0.6*$in*$in]; # longitudinal-reinforcement bar area
set barAreaBotCol [expr 0.6*$in*$in]; # longitudinal-reinforcement bar area
set barAreaIntCol [expr 0.6*$in*$in]; # longitudinal-reinforcement bar area

# Fiber Section of Beam (Section B)
set numBarsTopBeam1 7; # number of longitudinal-reinforcement bars on top layer
set numBarsBotBeam1 4; # number of longitudinal-reinforcement bars on bottom layer
set numBarsIntBeam1 0; # TOTAL number of reinforcing bars on the intermediate layers
set barAreaTopBeam1 [expr 0.31*$in*$in]; # longitudinal-reinforcement bar area
set barAreaBotBeam1 [expr 0.31*$in*$in]; # longitudinal-reinforcement bar area
set barAreaIntBeam1 [expr 0.31*$in*$in]; # longitudinal-reinforcement bar area

# Fiber Section of Beam (Section C)
set numBarsTopBeam2 4; # number of longitudinal-reinforcement bars on top layer
set numBarsBotBeam2 4; # number of longitudinal-reinforcement bars on bottom layer
set numBarsIntBeam2 0; # TOTAL number of reinforcing bars on the intermediate layers
set barAreaTopBeam2 [expr 0.31*$in*$in]; # longitudinal-reinforcement bar area
set barAreaBotBeam2 [expr 0.31*$in*$in]; # longitudinal-reinforcement bar area
set barAreaIntBeam2 [expr 0.31*$in*$in]; # longitudinal-reinforcement bar area

set nfCoreY 90; # number of fibers in the core patch in the y direction
set nfCoreZ 90; # number of fibers in the core patch in the z direction
set nfCoverY 90; # number of fibers in the cover patches with long sides in the y direction
set nfCoverZ 90; # number of fibers in the cover patches with long sides in the z direction

BuildRCrectSection $ColSecTag1 $HCol $BCol $cover $cover $IDconCC1 $IDconcUC $IDreinf $numBarsTopCol $barAreaTopCol $numBarsBotCol $barAreaBotCol $numBarsIntCol $barAreaIntCol $nfCoreY $nfCoreZ $nfCoverY $nfCoverZ
BuildRCrectSection $ColSecTag2 $HCol $BCol $cover $cover $IDconCC2 $IDconcUC $IDreinf $numBarsTopCol $barAreaTopCol $numBarsBotCol $barAreaBotCol $numBarsIntCol $barAreaIntCol $nfCoreY $nfCoreZ $nfCoverY $nfCoverZ

BuildRCrectSection $BeamSecTag1 $HBeam $BBeam $cover $cover $IDconCB1 $IDconcUB $IDreinf $numBarsTopBeam1 $barAreaTopBeam1 $numBarsBotBeam1 $barAreaBotBeam1 $numBarsIntBeam1 $barAreaIntBeam1 $nfCoreY $nfCoreZ $nfCoverY $nfCoverZ
BuildRCrectSection $BeamSecTag2 $HBeam $BBeam $cover $cover $IDconCB2 $IDconcUB $IDreinf $numBarsTopBeam1 $barAreaTopBeam1 $numBarsBotBeam1 $barAreaBotBeam1 $numBarsIntBeam1 $barAreaIntBeam1 $nfCoreY $nfCoreZ $nfCoverY $nfCoverZ
BuildRCrectSection $BeamSecTag3 $HBeam $BBeam $cover $cover $IDconCB2 $IDconcUB $IDreinf $numBarsTopBeam2 $barAreaTopBeam2 $numBarsBotBeam2 $barAreaBotBeam2 $numBarsIntBeam2 $barAreaIntBeam2 $nfCoreY $nfCoreZ $nfCoverY $nfCoverZ


# assign torsional Stiffness for 3D Model
set SecTagTorsion1 99; # ID tag for torsional section behavior
set SecTagTorsion2 98; # ID tag for torsional section behavior
set SecTagTorsion3 97; # ID tag for torsional section behavior
set SecTagTorsion4 96; # ID tag for torsional section behavior
set SecTagTorsion5 95; # ID tag for torsional section behavior

set SecTag3D1 33; # ID tag for combined behavior for 3D model
set SecTag3D2 34; # ID tag for combined behavior for 3D model
set SecTag3D3 35; # ID tag for combined behavior for 3D model
set SecTag3D4 36; # ID tag for combined behavior for 3D model
set SecTag3D5 37; # ID tag for combined behavior for 3D model

uniaxialMaterial Elastic $SecTagTorsion1 $Ubig; # define elastic torsional stiffness
uniaxialMaterial Elastic $SecTagTorsion2 $Ubig; # define elastic torsional stiffness
uniaxialMaterial Elastic $SecTagTorsion3 $Ubig; # define elastic torsional stiffness
uniaxialMaterial Elastic $SecTagTorsion4 $Ubig; # define elastic torsional stiffness
uniaxialMaterial Elastic $SecTagTorsion5 $Ubig; # define elastic torsional stiffness

section Aggregator $SecTag3D1 $SecTagTorsion1 T -section $ColSecTag1; # combine section properties
section Aggregator $SecTag3D2 $SecTagTorsion2 T -section $ColSecTag2; # combine section properties
section Aggregator $SecTag3D3 $SecTagTorsion3 T -section $BeamSecTag1; # combine section properties
section Aggregator $SecTag3D4 $SecTagTorsion4 T -section $BeamSecTag2; # combine section properties
section Aggregator $SecTag3D5 $SecTagTorsion5 T -section $BeamSecTag3; # combine section properties

# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
set ColTransfTag 1; # associate a tag to column transformation
set BeamTransfTag 2; # associate a tag to beam transformation (good practice to keep col and beam separate)
set ColTransfType Linear ; # options, Linear PDelta Corotational
geomTransf $ColTransfType $ColTransfTag 0 0 -1; # only columns can have PDelta effects (gravity effects)
geomTransf Linear $BeamTransfTag 0 1 0;

# element connectivity:
set numIntgrPts 5; # number of integration points for force-based element
set np 5;
element forceBeamColumn 1 1 3 $numIntgrPts -sections $ColSecTag1 $ColSecTag2 $ColSecTag2 $ColSecTag2 $ColSecTag1 $ColTransfTag; # self-explanatory when using variables
element forceBeamColumn 2 2 4 $numIntgrPts -sections $ColSecTag1 $ColSecTag2 $ColSecTag2 $ColSecTag2 $ColSecTag1 $ColTransfTag;
element forceBeamColumn 3 3 4 $numIntgrPts -sections $BeamSecTag1 $BeamSecTag2 $BeamSecTag3 $BeamSecTag2 $BeamSecTag1 $BeamTransfTag;

# Define RECORDERS -------------------------------------------------------------
recorder Node -file $dataDir/DFree.out -node 4 -dof 1 disp; # displacements of free nodes
recorder Node -file $dataDir/RBase1.out -node 1 -dof 1 reaction; # support reaction
recorder Node -file $dataDir/RBase2.out -node 2 -dof 1 reaction; # support reaction

# stress-strain steel

set i 1;
# recording steel stress-strain in column
set ysc [expr ($HCol/2)-$cover]; # [expr ($BBeam-2.*$cover-2*$DiaStirrup -$DiaLongitudinalCol)/2.]
set zsc [expr ($BCol/2)-$cover];
#set zsc [expr 4.7244];
# Bottom steel
for {set intgrpnt 1} {$intgrpnt <=$np} {incr intgrpnt 1} { # this for-loop is to get S-S of all columns of all integration points at individual fibers
for {set elemID 1} {$elemID <=2} {incr elemID 1} { # this for-loop is to get S-S of all columns at individual integration points of individual fibers
recorder Element -file $dataDir/SSS$i.out -ele $elemID section $intgrpnt fiber -$ysc -$zsc $IDreinf stressStrain;
set i [expr $i+1];
}
}
# Top steel
for {set intgrpnt 1} {$intgrpnt <=$np} {incr intgrpnt 1} { # this for-loop is to get S-S of all coulmns of all integration points at individual fibers
for {set elemID 1} {$elemID <=2} {incr elemID 1} { # this for-loop is to get S-S of all coulmns at individual integration points of individual fibers
recorder Element -file $dataDir/SSS$i.out -ele $elemID section $intgrpnt fiber $ysc $zsc $IDreinf stressStrain;
set i [expr $i+1];
}
}

# recording steel stress-strain in beam
set ysb [expr ($HBeam/2)-$cover]; # [expr ($BBeam-2.*$cover-2*$DiaStirrup -$DiaLongitudinalCol)/2.]
set zsb [expr ($BBeam/2)-$cover];

# bottom steel
for {set intgrpnt 1} {$intgrpnt <=$np} {incr intgrpnt 1} { # this for-loop is to get S-S of all coulmns of all integration points at individual fibers
for {set elemID 3} {$elemID <=3} {incr elemID 1} { # this for-loop is to get S-S of all beams at individual integration points of individual fibers
recorder Element -file $dataDir/SSS$i.out -ele $elemID section $intgrpnt fiber -$ysb -$zsb $IDreinf stressStrain;
set i [expr $i+1];
}
}

# top steel
for {set intgrpnt 1} {$intgrpnt <=$np} {incr intgrpnt 1} { # this for loop is to get S-S of all beams of all integration points at individual fibers
for {set elemID 3} {$elemID <=3} {incr elemID 1} { # this for-loop is to get S-S of all beams at individual integration points of individual fibers
recorder Element -file $dataDir/SSS$i.out -ele $elemID section $intgrpnt fiber $ysb $zsb $IDreinf stressStrain;
set i [expr $i+1];
}
}

## stress-strain concrete
set ysb [expr ($HBeam/2)-$cover]; # [expr ($BBeam-2.*$cover-2*$DiaStirrup -$DiaLongitudinalCol)/2.]
set zsb [expr ($BBeam/2)-$cover];

recorder Element -file $dataDir/SSC1.out -ele 3 section 1 fiber ysb zsb $IDconCB1 stressStrain;
recorder Element -file $dataDir/SSC2.out -ele 3 section 1 fiber ysb -zsb $IDconCB1 stressStrain;
recorder Element -file $dataDir/SSC3.out -ele 3 section 1 fiber -ysb zsb $IDconCB1 stressStrain;
recorder Element -file $dataDir/SSC4.out -ele 3 section 1 fiber -ysb -zsb $IDconCB1 stressStrain;

recorder Element -file $dataDir/SSC5.out -ele 3 section 5 fiber ysb zsb $IDconCB1 stressStrain;
recorder Element -file $dataDir/SSC6.out -ele 3 section 5 fiber ysb -zsb $IDconCB1 stressStrain;
recorder Element -file $dataDir/SSC7.out -ele 3 section 5 fiber -ysb zsb $IDconCB1 stressStrain;
recorder Element -file $dataDir/SSC8.out -ele 3 section 5 fiber -ysb -zsb $IDconCB1 stressStrain;

# define GRAVITY -------------------------------------------------------------
set WzBeam [expr $Weight/$LBeam];
pattern Plain 1 Linear {
eleLoad -ele 3 -type -beamUniform -$WzBeam 0. 0.; # distributed superstructure-weight on beam
}

# Gravity-analysis parameters -- load-controlled static analysis
set Tol 1.0e-8; # convergence tolerance for test
constraints Plain; # how it handles boundary conditions
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
system BandGeneral; # how to store and solve the system of equations in the analysis
test NormDispIncr $Tol 6; # determine if convergence has been achieved at the end of an iteration step
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
set NstepGravity 10; # apply gravity in 10 steps
set DGravity [expr 1./$NstepGravity]; # first load increment;
integrator LoadControl $DGravity; # determine the next time step for an analysis
analysis Static; # define type of analysis static or transient
analyze $NstepGravity; # apply gravity
# ------------------------------------------------- maintain constant gravity loads and reset time to zero
loadConst -time 0.0

puts "Model Built"
source Ex4.Portal2D.analyze.Static.Push.tcl
vsaggelidakis
Posts: 8
Joined: Thu Dec 05, 2013 6:47 pm
Location: National Technical University of Athens

Re: Stress - Strain of steel and concrete

Post by vsaggelidakis »

Dear aahashib,

You have forgotten the dollar signs when defining the fiber coordinates to the local system at the Element Recorders.
For example, write: "recorder Element -file $dataDir/SSC1.out -ele 3 section 1 fiber $ysb $zsb $IDconCB1 stressStrain;"

With wishes this to be your only bug,
VA
Post Reply