Problem with result using shear limit state- shear limicurve

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

Moderators: silvia, selimgunay, Moderators

Post Reply
witarto
Posts: 2
Joined: Fri Oct 14, 2011 2:20 am
Location: National Taiwan University

Problem with result using shear limit state- shear limicurve

Post by witarto »

Dear all,
I'm trying to model a cantilever column with cyclic load.
I use the limit state material with shear limit curve.
I follow the example provided in the manual.
But the stiffness of the shear spring does not fall equally at both side.
It should be fall equally at both sides right?
has anyone encounter this kind problem? any suggestion?

Here is my input
# -------------------------------------------------------
# National Taiwan University
# Witarto--R00521254
# NCREE BMR2 Flexure Shear Failure Specimen
# Input File for BMR2
# unit kip inch
# SET UP ------------------------------------------------

# Tags.tcl
set coreTag 1 ;# core concrete
set coverTag 2 ;# cover concrete
set steelTag 3 ;# steel

set shearTag 4 ;# shear limit state material
set momTag 5 ;# mom-curv hysteretic model
set axialTag 6 ;# elastic axial force-strain model
set momDegTag 7 ;# degrading moment-curv hysteretic model
set axialFailTag 8 ;# axial limit state material
set centerSlipTag 9 ;# elastic slip spring

set rigidMatTag 10
set softMatTag 11

# Section tags
set flexSec 1
set shearSec 2
set flexTopSec 3
set flexBotSec 4
set axialSec 5
set shearAxialSec 6
set axialOnlySec 7
set flexShearSec 8
set shearAxialOnlySec 9

# Limit Curve tags
set shearCurveTag 1
set axialCurveTag 2

# Element tags
set bcTag 99

#--------------------------------------------------------
# Build model
#--------------------------------------------------------
model BasicBuilder -ndm 2 -ndf 3;
puts "HI"
set dataDir BMR2-Analysis-Result
file mkdir $dataDir

#--------------------------------------------------------
# Define nodal mesh and B.C.s
#--------------------------------------------------------
set L [expr 128]

# tag X Y
node 1 0.0 0.0
node 2 0.0 0.0
node 3 0.0 0.0
node 4 0.0 $L

# tag DX DY RZ
fix 1 1 1 1

#--------------------------------------------------------
# Create column section
#--------------------------------------------------------
# CenterColSecFiber.tcl

set h [expr 29.53]
set b [expr 23.62]

# Set parameters for fiber section
set cover [expr 1]
set Y1 [expr $h/2.0]
set Z1 [expr $b/2.0]

#-----------------------------------------------------------------------------------------
# material for column element
#-----------------------------------------------------------------------------------------
# unconfined concrete
set fc [expr -3.77]; # CONCRETE Compressive Strength (+Tension, -Compression)
set fpc $fc; # UNCONFINED concrete (Popovics model (Meander Model))
set epsco -0.002; # strain at maximum strength of unconfined concrete
set epsu -0.004; # strain at ultimate stress (crushing strain)
set Ecu [expr 3500];

# confined concrete
set fcc [expr -4.95]; # CONFINED CONCRETE Compressive Strength
set ecc -0.005; # strain at maximum strength
set ecu -0.06; # strain at ultimate stress
set Ec [expr 3500];

# rebar steel properties
set fy [expr 49.78];
set esy 0.001716;
set fu [expr 78.54];
set esu 0.2;
uniaxialMaterial Concrete04 $coverTag $fpc $epsco $epsu $Ecu
uniaxialMaterial Concrete04 $coreTag $fcc $ecc $ecu $Ec
uniaxialMaterial Hysteretic $steelTag $fy $esy $fu $esu -$fy -$esy -$fu -$esu 1.0 1.0 0 0 0.1
#-----------------------------------------------------------------------------------------

# Define parameters for elastic section
set A [expr $h*$b]
set Ig [expr $h*$h*$h*$b/12]

set pinchX 0.5
set pinchY 0.4
set damage1 0.0
set damage2 0.0
set beta 0.4;

#-----------------------------------------------------------------------------------------
# Create shear failure spring
#-----------------------------------------------------------------------------------------
# slopes of shear spring backbone
set rigidSlope [expr 1458.3*0.1450377*5/6*$A/$L]; #Values when using zero-length spring (G*Av/L)
set negSlope [expr -1012.022675*25.4/4448.2216];

# residual shear capacity
set Vr [expr 21.0];

# strengths for initial response
set Vi1 [expr 100.0];
set Vi2 [expr 200.0];
set Vi3 [expr 300.0];


# define limit surface using shear drift model
# tag eleTag
# rho f'c b h d Fsw
# Kdeg Fres defType forType nodeI nodeJ dof perpDirn
limitCurve Shear $shearCurveTag $bcTag\
0.003657949 [expr 3770] [expr 23.62] [expr 29.53] [expr 27.855] [expr 167.047]\
$negSlope $Vr 2 0 1 4 1 2 0.0

# define HystereticMaterial
uniaxialMaterial LimitState $shearTag\
$Vi1 [expr $Vi1/$rigidSlope] $Vi2 [expr $Vi2/$rigidSlope] $Vi3 [expr $Vi3/$rigidSlope]\
[expr -$Vi1] [expr -$Vi1/$rigidSlope] [expr -$Vi2] [expr -$Vi2/$rigidSlope] [expr -$Vi3] [expr -$Vi3/$rigidSlope]\
$pinchX $pinchY $damage1 $damage2 $beta $shearCurveTag 2 0
#-----------------------------------------------------------------------------------------


# Define the fiber section
set barAreaCol 0.30783

section Fiber $flexSec {

# Create the concrete core fibers
patch rect $coreTag 50 10 [expr $cover-$Y1] [expr $cover-$Z1] [expr $Y1-$cover] [expr $Z1-$cover]; # Define the concrete core patch

# Create the concrete cover fibers (top, bottom, left, right)
patch rect $coverTag 50 2 [expr -$Y1] [expr $Z1-$cover] $Y1 $Z1
patch rect $coverTag 50 2 [expr -$Y1] [expr -$Z1] $Y1 [expr $cover-$Z1]
patch rect $coverTag 4 10 [expr -$Y1] [expr $cover-$Z1] [expr $cover-$Y1] [expr $Z1-$cover]
patch rect $coverTag 4 10 [expr $Y1-$cover] [expr $cover-$Z1] $Y1 [expr $Z1-$cover]

# create the reinforcing fibers
layer straight $steelTag 11 $barAreaCol [expr -13.0913] [expr -10.1386] [expr 13.0913] [expr -10.1386]
layer straight $steelTag 11 $barAreaCol [expr -13.0913] [expr 10.1386] [expr 13.0913] [expr 10.1386]
layer straight $steelTag 5 $barAreaCol [expr -13.0913] [expr -6.759] [expr -13.0913] [expr 6.759]
layer straight $steelTag 5 $barAreaCol [expr 13.0913] [expr -6.759] [expr 13.0913] [expr 6.759]
}

# moment-rotation end springs for slip (assume elastic)
set slipStiff [expr 10502649.02]
uniaxialMaterial Elastic $centerSlipTag $slipStiff


#--------------------------------------------------------
# Define the beam-column element
#--------------------------------------------------------
geomTransf PDelta 1
set nint 5
element forceBeamColumn $bcTag 3 4 $nint $flexSec 1 -iter 5 1e-15


#--------------------------------------------------------
# Define the zero-length end springs
#--------------------------------------------------------
#rigid material
uniaxialMaterial Elastic $rigidMatTag 999e9

#bottom of column slip spring
element zeroLength 1 1 2 -mat $rigidMatTag $rigidMatTag $centerSlipTag -dir 1 2 6

#top of column springs incl shear and axial
element zeroLength 2 2 3 -mat $shearTag $rigidMatTag $rigidMatTag -dir 1 2 6


#--------------------------------------------------------
# Recorders
#--------------------------------------------------------

# record displacements for node with applied displacement
recorder Node -file $dataDir/TopDisp.out -time -node 4 -dof 1 2 3 disp
recorder Node -file $dataDir/RX.out -time -node 1 -dof 1 reaction
recorder Node -file $dataDir/2Disp.out -time -node 2 -dof 1 disp
recorder Node -file $dataDir/3Disp.out -time -node 3 -dof 1 disp

#--------------------------------------------------------
# Define GRAVITY Load
#--------------------------------------------------------
# Define Axial Load
set P [expr 208.34]

timeSeries Linear 1
pattern Plain 1 1 {
load 4 0 [expr -$P] 0
}

# 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
puts "Check"
analyze $NstepGravity; # apply gravity
# ------------------------------------------------- maintain constant gravity loads and reset time to zero
puts "Check"
loadConst -time 0.0

puts "Model Built"

#--------------------------------------------------------
# Static Reversed-Cyclic Analysis
#--------------------------------------------------------

# we need to set up parameters that are particular to the model.
set IDctrlNode 4; # node where displacement is read for displacement control
set IDctrlDOF 1; # degree of freedom of displacement read for displacement contro

# create load pattern for lateral pushover load
set Hload $P; # define the lateral load as a proportion of the weight so that the pseudo time equals the lateral-load coefficient when using linear load pattern
pattern Plain 200 Linear {; # define load pattern -- generalized
load 4 $Hload 0.0 0.0 0.0 0.0 0.0
}

# ----------- set up analysis parameters
constraints Plain
numberer Plain
system BandGeneral

set algorithmType KrylovNewton
algorithm $algorithmType

set numSteps {50 100 100 100 50
50 100 100 100 50
50 100 100 100 50
50 100 100 100 50
100 200 200 200 100
100 200 200 200 100
100 200 200 200 100
10000 20000 20000 20000 10000
10000 20000 20000 20000 10000
}

set numIters {100 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
}

set increments {0.006397638 -0.006397638 0.006397638 -0.006397638 0.006397638
0.012795276 -0.012795276 0.012795276 -0.012795276 0.012795276
0.019192913 -0.019192913 0.019192913 -0.019192913 0.019192913
0.025590551 -0.025590551 0.025590551 -0.025590551 0.025590551
0.019192913 -0.019192913 0.019192913 -0.019192913 0.019192913
0.025590551 -0.025590551 0.025590551 -0.025590551 0.025590551
0.038385827 -0.038385827 0.038385827 -0.038385827 0.038385827
0.000511811 -0.000511811 0.000511811 -0.000511811 0.000511811
0.0006397638 -0.0006397638 0.0006397638 -0.0006397638 0.0006397638
}


for {set i 0} {$i<45} {incr i 1} {
set numStep [lindex $numSteps $i]
set numIter [lindex $numIters $i]
set increment [lindex $increments $i]
integrator DisplacementControl 4 1 $increment
if {$numIter == 0} {
set numIter 1000
}
puts "$i"
test NormDispIncr 1e-10 $numIter 5
analyze $numStep
}



Witarto
Phawe
Posts: 4
Joined: Fri Jan 23, 2015 7:53 pm
Location: chulaongkorn university

Re: Problem with result using shear limit state- shear limic

Post by Phawe »

Hello Witarto,
May I ask you one thing,please. I am still beginner of opensees. In your cyclic loading , what is the meaning of using ''number of step like this''. And also what did you input '' set increments value''. ? Did you input the cyclic displacement value ?
Phawe
Post Reply