Limit Curve

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

Moderators: silvia, selimgunay, Moderators

Post Reply
angelopelle
Posts: 3
Joined: Tue Sep 26, 2017 10:37 am
Location: Università di Cassino e del Lazio Meridionale

Limit Curve

Post by angelopelle » Thu Oct 18, 2018 4:35 am

Hello everyone,
I am trying to create a simple structural model on a doubly cantilevered column in order to evaluate the OpenSees capabilities for shear flexure interaction. The column has a shear spring at the bottom defined using the limit-state-material and shear-limit-curve commands. The scope is to obtain the decrease of the shear strength with the displacement ductility. According to the Elwood’s model (implemented within shear-limit-curve), the shear failure happens when the drift ratio is reached (according to a formula provided by Elwood: see for example formula 2.8 and 2.9 on PEER report 2003/01). The drift ratio can’t be lower than 1/100.
My problem is that when I run the analysis, the drift ratio at which the shear failure occurs is always 1/100, and that this happens also if I try to change the parameters that affect it. I evaluated the real drift ratio with an excel sheet and it is actually higher than 1/100.
Can anyone help me? Thanks

This is my code:
#Modello di Calibrazione
#Unità di misura parametri da inserire (N, mm)
#Unità di misura convertite (kip, inch)
wipe
#Coefficienti di Conversione
set k1 0.0393701; #da mm a inch
set k2 0.00022481; #da N a kips
set k3 [expr $k2/($k1*$k1)]; #da MPa a kip/inch^2
set k4 145.03; #da MPa a psi
# Parametri geometrici (Da Fornire in N, mm)
set H 3300.0
#Sezione
set b 320.0
set h 550.0
set c 20.0
set d [expr $h-$c]
#Parametri Meccanici calcestruzzo
#Core
set fc 25.20
set ec 0.002294
set eu 0.008101
#Cover
set fcc 25.20
set ecc 0.002
set euc 0.0035
#Parametri Meccanici Acciaio
set fy 374.0
set esy 0.0018
set E0 [expr $fy/$esy]
set bb 0.003
#Armature
set pi 3.14
set d16 16.0
set d20 20.0
set A16 [expr $pi*pow($d16,2)/4]
set A20 [expr $pi*pow($d20,2)/4]
#Moduli elastici
set Ep 22000.0
# Conversioni geometriche
set H [expr $H*$k1]
set b [expr $b*$k1]
set h [expr $h*$k1]
set c [expr $c*$k1]
set d [expr $h-$c]
#Core
set fc1 [expr $fc*$k4]
set fc [expr $fc*$k3]
#Cover
set fcc [expr $fcc*$k3]
#Parametri Meccanici Acciaio
set fy [expr $fy*$k3]
set E0 [expr $fy/$esy]
#Armature
set pi 3.14
set d16 [expr $d16*$k1]
set d20 [expr $d20*$k1]
set A16 [expr $pi*pow($d16,2)/4]
set A20 [expr $pi*pow($d20,2)/4]
#Moduli elastici
set Ep [expr $Ep*$k3]
#Modello
model BasicBuilder -ndm 2 -ndf 3
#Nodi
node 1 0.0 0.0
node 2 0.0 0.0
node 3 0.0 $H
#Vincoli
fix 1 1 1 1
#fix 2 0 1 1
fix 3 0 0 1
#Materiali non lineari
#calcestruzzo
#cover
uniaxialMaterial Concrete04 1 [expr -$fcc] [expr -$ecc] [expr -$euc] $Ep 0.0 0.1
#uniaxialMaterial Concrete01 1 [expr -$fcc] [expr -$ecc] -15.0 [expr -$euc]
#core
uniaxialMaterial Concrete04 2 [expr -$fc] [expr -$ec] [expr -$eu] $Ep 0.0 0.1
#Acciaio
uniaxialMaterial Steel01 3 $fy $E0 $bb
#Definizione Sezione
#Sezioni Pilastri Piano Primo
#B 320 x H 550
set y2 [expr $h/2.0]
set z2 [expr $b/2.0]
section Fiber 1 {
#CORE
patch rect 2 20 1 [expr $c-$y2] [expr $c-$z2] [expr $y2-$c] [expr $z2-$c]
#COVER
patch rect 1 20 1 [expr -$y2] [expr $z2-$c] $y2 $z2
patch rect 1 20 1 [expr -$y2] [expr -$z2] $y2 [expr $c-$z2]
patch rect 1 5 1 [expr -$y2] [expr $c-$z2] [expr $c-$y2] [expr $z2-$c]
patch rect 1 5 1 [expr $y2-$c] [expr $c-$z2] $y2 [expr $z2-$c]
#LONGITUDINAL REINFORCEMENT
layer straight 3 2 $A20 [expr $y2-$c] [expr $z2-$c] [expr $y2-$c] [expr $c-$z2]
layer straight 3 5 $A16 [expr $y2-$c] [expr $z2-$c] [expr $y2-$c] [expr $c-$z2]
layer straight 3 2 $A20 [expr $c-$y2] [expr $z2-$c] [expr $c-$y2] [expr $c-$z2]
layer straight 3 5 $A16 [expr $c-$y2] [expr $z2-$c] [expr $c-$y2] [expr $c-$z2]
}
geomTransf Linear 1
element nonlinearBeamColumn 1 2 3 5 1 1 -iter 5 1e-15

#Cerniera Plasica (Valori in N, mm)
set ro 0.0017
set Fsw 112090.77
set Kdeg 20.0
set Fres 200000.0
#Cerniera Plasica (Convertiti)
set Fsw [expr $Fsw*$k2]
#set Kdeg [expr $Kdeg*$k3*$k1]
set Fres [expr $Fres*$k2]

limitCurve Shear 1 1 $ro $fc $b $h $d\
$Fsw $Kdeg $Fres 2 1 3 1 1 2 1.0

#Legame V-ds (Valori in N, mm)
set V1 50000.00
set V2 100000.00
set V3 295000.00
set s1 0.14
set s2 0.28
set s3 0.83

#Legame V-ds (Convertiti)
set V1 [expr $V1*$k2]
set V2 [expr $V2*$k2]
set V3 [expr $V3*$k2]
set s1 [expr $s1*$k1]
set s2 [expr $s2*$k1]
set s3 [expr $s3*$k1]

uniaxialMaterial LimitState 4 $V1 $s1 $V2 $s2 $V3 $s3\
[expr -$V1] [expr -$s1] [expr -$V2] [expr -$s2] [expr -$V3] [expr -$s3] 0.40 0.50 0.0 0.0 0.40 1 2
uniaxialMaterial Elastic 5 1e+15
element zeroLength 2 1 2 -mat 4 5 5 -dir 1 2 6

#Risultati
file mkdir risultati
recorder Node -file risultati/shear1.txt -time -node 1 -dof 1 reaction
recorder Node -file risultati/P1.txt -time -node 1 -dof 2 reaction
recorder Node -file risultati/disp3.txt -time -node 3 -dof 1 disp

#Analisi
#Analisi Carichi Verticali
set F -473070.0
set F [expr $F*$k2]


pattern Plain 1 Constant {
load 3 0.0 $F 0.0
}

initialize
system ProfileSPD
constraints Penalty 1.0e12 1.0e12
numberer RCM
test NormDispIncr 1.0e-8 25 0
algorithm Newton
integrator LoadControl 0 1 0 0
analysis Static
analyze 1

wipeAnalysis

#Pushover
set du 0.01
pattern Plain 2 "Linear -factor $du" {
sp 3 1 1.0
}

system BandGeneral
numberer RCM

set nstep 5000
set dlamda 0.1
integrator LoadControl $dlamda 1 $dlamda $dlamda
constraints Penalty 1.0e14 1.0e14
test NormDispIncr 1.0e-10 25 0
algorithm Newton
analysis Static

set ok 0
set n 1
while {$n<$nstep && $ok==0} {
set ok [analyze 1]
if {$ok != 0} {
test NormDispIncr 1.0e-8 10000 1
algorithm ModifiedNewton -initial
set ok [analyze 1]
algorithm Newton
test NormDispIncr 1.0e-10 25 0
}
incr n
}
if {$ok != 0} {
puts "ANALYSIS FAILED"
} else {
puts "SUCCESSFULL"
}

wipe

Prafullamalla
Posts: 160
Joined: Mon Feb 02, 2015 6:32 pm

Re: Limit Curve

Post by Prafullamalla » Fri Oct 19, 2018 7:55 am

I was trying to callculate using hand calculation
kip inch
b := 12.59; h := 21.65; d := 20.86; L := 129.92; Spacing := 81; Ag := 2.483; Ast := .116; rho := 0.18e-2
fc := 3.62; fyt := 54;Ec := 3190
I could not get stirrups and and spacing
Calculated
Vc := 2.603621564
Vs := 1.613173333
Vu := Vc+Vs;
4.216794897
v := Vu/(b*h);
0.01547030396
but. i am getting
deltaS/L= -0.255
Prafulla Malla, Nepal
Praf_malla@hotmail.com

angelopelle
Posts: 3
Joined: Tue Sep 26, 2017 10:37 am
Location: Università di Cassino e del Lazio Meridionale

Re: Limit Curve

Post by angelopelle » Sat Oct 20, 2018 8:07 am

Hello Prafullamalla, thanks for your reply. I have solved this problem, there was a problem with the definition of the unit of measurement, in the limit curve model the units of measurement must be in the imperial system.

I attached you the new code:

#Modello di Calibrazione
#Unità di misura parametri da inserire (N, mm)
#Unità di misura convertite (kip, inch)
#
#
wipe
#Coefficienti di Conversione
set k1 0.0393701; #da mm a inch
set k2 0.00022481; #da N a kips
set k3 [expr $k2/($k1*$k1)]; #da MPa a kip/inch^2
set k4 1000.0; #da MPa a psi

#PARAMETRI - Unità di misura (N, mm)
#Parametri geometrici
set H 3300.0; #[mm]
set b 320.0; #[mm]
set h 550.0; #[mm]
set c 20.0; #[mm]
set d [expr $h-$c]; #[mm]
#Parametri meccanici
#CLS cover
set fcc 25.20; #[MPa]
set ecc 0.002; #[\]
set euc 0.0035; #[\]
#CLS core
set fc 25.20; #[MPa]
set ec 0.002294; #[\]
set eu 0.008101; #[\]
#Steel
set fy 374.0; #[MPa]
set esy 0.0018; #[\]
set E0 [expr $fy/$esy]; #[MPa]
set bb 0.003; #[\]
#Armature
set pi 3.14
set d16 16.0; #[mm]
set d20 20.0; #[mm]
set A16 [expr $pi*pow($d16,2)/4]; #[mm^2]
set A20 [expr $pi*pow($d20,2)/4]; #[mm^2]
#Moduli elastici
set Ep 22000.0; #[MPa]

#CONVERSIONE MODELLO
#PARAMETRI - Unità di misura (kip, inch)
#Parametri geometrici
set H [expr $H*$k1]; #[inch]
set b [expr $b*$k1]; #[inch]
set h [expr $h*$k1]; #[inch]
set c [expr $c*$k1]; #[inch]
set d [expr $h-$c]; #[inch]
#Parametri meccanici
#CLS cover
set fcc [expr $fcc*$k3]; #[kip/inch^2]
#CLS core
set fc [expr $fc*$k3]; #[kip/inch^2]
#Steel
set fy [expr $fy*$k3]; #[kip/inch^2]
set E0 [expr $fy/$esy]; #[kip/inch^2]
#Armature
set d16 [expr $d16*$k1]; #[inch]
set d20 [expr $d20*$k1]; #[inch]
set A16 [expr $pi*pow($d16,2)/4]; #[inch^2]
set A20 [expr $pi*pow($d20,2)/4]; #[inch^2]
#Moduli elastici
set Ep [expr $Ep*$k3]; #[kip/inch^2]

#CREAZIONE MODELLO
model BasicBuilder -ndm 2 -ndf 3
#NODI
node 1 0.0 0.0
node 2 0.0 $H
node 3 0.0 $H
#VINCOLI
fix 1 1 1 1
fix 3 0 0 1
#MATERIALI NON LINEARI
#CLS cover
uniaxialMaterial Concrete04 1 [expr -$fcc] [expr -$ecc] [expr -$euc] $Ep 0.0 0.1
#CLS core
uniaxialMaterial Concrete04 2 [expr -$fc] [expr -$ec] [expr -$eu] $Ep 0.0 0.1
#STEEL
uniaxialMaterial Steel01 3 $fy $E0 $bb
##CREAZIONE SEZIONE
set y1 [expr $h/2]
set z1 [expr $b/2]
section Fiber 1 {
#CORE
patch quad 1 50 50 [expr -$y1+$c] [expr -$z1+$c] [expr $y1-$c] [expr -$z1+$c]\
[expr $y1-$c] [expr $z1-$c] [expr -$y1+$c] [expr $z1-$c]
#COVER
patch quad 2 20 1 [expr $y1-$c] [expr -$z1] $y1 [expr -$z1] $y1 $z1 [expr $y1-$c] $z1
patch quad 2 20 1 [expr -$y1] [expr -$z1] [expr -$y1+$c] [expr -$z1] [expr -$y1+$c] $z1 [expr -$y1] $z1
patch quad 2 20 1 [expr -$y1+$c] [expr -$z1] [expr $y1-$c] [expr -$z1] [expr $y1-$c] [expr -$z1+$c] [expr -$y1+$c] [expr -$z1+$c]
patch quad 2 20 1 [expr -$y1+$c] [expr $z1-$c] [expr $y1-$c] [expr $z1-$c] [expr $y1-$c] $z1 [expr -$y1+$c] $z1

#ARMATURE
fiber [expr $y1-$c] 0.0 [expr 2.0*$A20] 3
fiber [expr $y1-$c] 0.0 [expr 5.0*$A16] 3
fiber [expr -$y1+$c] 0.0 [expr 2.0*$A20] 3
fiber [expr -$y1+$c] 0.0 [expr 5.0*$A16] 3
#layer straight 3 2 $A20 [expr $y1-$c] [expr $z1-$c] [expr $y1-$c] [expr $c-$z1]
#layer straight 3 5 $A16 [expr $y1-$c] [expr $z1-$c] [expr $y1-$c] [expr $c-$z1]
#layer straight 3 2 $A20 [expr $c-$y1] [expr $z1-$c] [expr $c-$y1] [expr $c-$z1]
#layer straight 3 5 $A16 [expr $c-$y1] [expr $z1-$c] [expr $c-$y1] [expr $c-$z1]
}

geomTransf Linear 1
element forceBeamColumn 1 1 2 5 1 1



#Cerniera Plasica (Valori in N, mm)
set ro 0.0017
set Fsw 112090.77
set Kdeg 20.0
set Fres 20000.0

#Cerniera Plasica (Convertiti)
set Fsw [expr $Fsw*$k2]
#set Kdeg [expr $Kdeg*$k3*$k1]
set Fres [expr $Fres*$k2]


limitCurve Shear 1 1 $ro [expr $fc*$k4] $b $h $d\
$Fsw $Kdeg $Fres 2 1 3 1 1 2

#Legame V-ds (Valori in N, mm)
set V1 50000.0
set V2 10000.0
set V3 295000.0
set s1 0.15
set s2 0.29
set s3 0.86

#set s1 2.83e-4
#set s2 1.43e-3
#set s3 1.14e-2


#Legame V-ds (Convertiti)
set V1 [expr $V1*$k2]
set V2 [expr $V2*$k2]
set V3 [expr $V3*$k2]
set s1 [expr $s1*$k1]
set s2 [expr $s2*$k1]
set s3 [expr $s3*$k1]

#set s1 2.83e-4
#set s2 1.43e-3
#set s3 1.14e-2


uniaxialMaterial LimitState 4 $V1 $s1 $V2 $s2 $V3 $s3\
[expr -$V1] [expr -$s1] [expr -$V2] [expr -$s2] [expr -$V3] [expr -$s3] 0.40 0.50 0.0 0.0 0.40 1 2

uniaxialMaterial Elastic 5 1e+15
element zeroLength 2 2 3 -mat 4 5 5 -dir 1 2 6



#Risultati
file mkdir risultati
recorder Node -file risultati/reacS.txt -time -node 1 -dof 1 reaction
#recorder Node -file risultati/P1.txt -time -node 1 -dof 2 reaction
recorder Node -file risultati/dispS.txt -time -node 3 -dof 1 disp


#Analisi
#Analisi Carichi Verticali
set F -473000.00
set F [expr $F*$k2]


pattern Plain 1 Constant {
load 3 0.0 $F 0.0
}
constraints Transformation
numberer RCM
system BandGeneral
test NormDispIncr 1.0E-10 10 5
algorithm Newton
integrator LoadControl 1
analysis Static
analyze 1

loadConst -time 0.0

#Analisi Push Over
set V 1.0
set V [expr $V*$k2]

pattern Plain 2 "Linear" {
load 3 $V 0.0 0.0
}


# Procedura per analisi pushover
# Definizione variabili di funzionamento
set IDctrlNode 3; # node where displacement is read for displacement control
set IDctrlDOF 1; # degree of freedom of displacement read for displacement control
set Dmax 150; # maximum displacement of pushover. push to 10% drift.
set Dmax [expr $Dmax*$k1]

set dU 0.1; # displacement increment. you want this to be small, but not too small to slow analysis
set dU [expr $dU*$k1]

set currentDisp 0.0
set ok 0

integrator DisplacementControl $IDctrlNode $IDctrlDOF $dU 1 $dU $dU

while {$ok == 0 && $currentDisp < $Dmax} {
set ok [analyze 1]

if {$ok != 0} {
test NormDispIncr 1.0e-10 1000
algorithm ModifiedNewton -initial
set ok [analyze 1]
if {$ok == 0} {OK}
test NormDispIncr 1.0e-8 10
algorithm Newton
}
set currentDisp [nodeDisp $IDctrlNode $IDctrlDOF]
}

if {$ok == 0} {
puts "PushOver OK";
} else {
puts "PUshOver FAILED";
}

Prafullamalla
Posts: 160
Joined: Mon Feb 02, 2015 6:32 pm

Re: Limit Curve

Post by Prafullamalla » Sat Oct 20, 2018 6:54 pm

oh, the unit in shear limit curve ksi to psi. And, I want to ask how do you choose V1, V2 and V3
Prafulla Malla, Nepal
Praf_malla@hotmail.com

angelopelle
Posts: 3
Joined: Tue Sep 26, 2017 10:37 am
Location: Università di Cassino e del Lazio Meridionale

Re: Limit Curve

Post by angelopelle » Mon Oct 22, 2018 11:05 am

Hello Prafullamalla, for now these are trial values and all three points are on the line that has G*Ak/L like stiffness. My next step will be to evaluation the real pre-failure backbone V-s and the real kdeg value.

huangyizhang
Posts: 1
Joined: Wed Apr 06, 2022 11:24 pm

Re: Limit Curve

Post by huangyizhang » Wed Nov 09, 2022 1:16 am

Hello angelopelle,how do you calculate the value of $rho,$Fsw,$Kdeg,$Fres.Can anyone help me? Thanks!

Post Reply