Bond_SP01 Issue

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

Moderators: silvia, selimgunay, Moderators

Post Reply
tswelt
Posts: 6
Joined: Sat Aug 06, 2011 6:39 am
Location: University of Illinois

Bond_SP01 Issue

Post by tswelt »

Hello,

I am trying to implement the effect of bond slip at the base of a reinforced concrete structural wall. I am using fiber section based forceBeamColumn elements for the wall itself, and then a zeroLengthSection element for the Bond_SP01 material at the base of the wall (using a duplicate node) as recommended in the documentation. I built the zeroLengthSection fiber section the same as the typical forceBeamColumns, except I used the BondSP01 for the steel instead of ReinforcingSteel. I used the same material for the concrete.

My problem is that when I implement this zeroLengthSection element, my lateral pushover analysis fails after only a few steps. Without it, I can get accurate results without any problem beyond the ultimate point (on the Moment-Drift results).

I am wondering if this is a problem with the Bond_SP01 (unlikely) or if I am modeling it incorrectly.

Any advice would be greatly appreciated!

I have copied my script below for reference, and apologies that is it so long - hopefully it is not too hard to follow:

-------------------------------------------------------------------------------------------------------------------------------------------------------
wipe
file mkdir pilot
model basic -ndm 2 -ndf 3

set L 144.
set nelem 2; # Number of elements above splice
set lsplice 24.
set lelem [expr $L/$nelem]

# NODE DEFINITION
# Base node for zero-length element
# nTag X Y
node 1 0.0 0.0

for {set n 0} {$n <= $nelem} {incr n} {

# nTag X Y
node [expr $n+2] 0.0 [expr $n*$lelem]

}


# Fixity
# nTag DX DY RZ
fix 1 1 1 1
fix 2 1 0 0

# MATERIAL DEFINITIONS
#-----------------------------------Reinf Steel Options------------------------------------#
# Reinforcing Steel (EPP)
set fy 51.3
set fu 77.5
set Es 29000.
# Tag Fy Es b (typ .01)
#uniaxialMaterial Steel01 3 $fy $Es 0.01

# Reinforcing Steel (Parabolic Strain Hardening)
# Tag fy fu Es Esh esh eult
uniaxialMaterial ReinforcingSteel 3 $fy $fu $Es 650. .0115 .14
#------------------------------------------------------------------------------------------#

uniaxialMaterial MinMax 1 3 -max .2

#-----------------------------------------Bond Slip----------------------------------------#
# Bond Slip Model
set db .5
set fc 5
set alpha 0.4
set sy [expr 0.1*pow(($db*$fc*1000*(2*$alpha+1))/(4000*pow($fc*1000,.5)),(1/$alpha))+.013]
set su [expr 35*$sy]

# Tag Fy Sy Fu Su b R
uniaxialMaterial Bond_SP01 5 $fy $sy $fu $su 0.4 0.6

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

#-----------------------------------Concrete Options---------------------------------------#
# Concrete (Zero tensile) - Confined, Unconfined
# Tag fpc epc fpcu epcu
#uniaxialMaterial Concrete01 2 -5. -0.004 -4. -0.014
#uniaxialMaterial Concrete01 4 -5. -0.003 -0.01 -0.004

# Concrete (Chang and Mander) - Confined, Unconfined
# Tag fc ec Ec ft et xp xn r
uniaxialMaterial Concrete07 2 -7.89 -0.0082 4022 .53 0.00024 2. 30 1.272
uniaxialMaterial Concrete07 4 -5. -0.0021 4022 .53 0.00024 2. 2.3 4.767

# Concrete (Popovics)
# Tag fc ec ecu Ec fct et beta
#uniaxialMaterial Concrete04 2 -5. -0.004 -0.05 4511 0. 0. 0.1
#------------------------------------------------------------------------------------------#

# SECTION DEFINITION
set tw 6.
set lw 120.
set cov 1.
set bz [expr $tw/2]
set hy [expr $lw/2]
set dy [expr $hy-$cov]
set dz [expr $bz-$cov]
set subsiz 1
set nbar 12
set spc [expr ($lw-2*$cov)/($nbar-1)]

# Typical section above splice
section Fiber 1 {

# matTag suby subz Yi Zi Yj Zj
patch rect 2 23 4 [expr $hy-$cov] [expr $bz-$cov] [expr $hy-23] [expr $cov-$bz]
patch rect 2 23 4 [expr 23-$hy] [expr $bz-$cov] [expr $cov-$hy] [expr $cov-$bz]

patch rect 4 74 6 [expr $hy-23] $bz [expr 23-$hy] -$bz

patch rect 4 23 1 $hy $bz [expr $hy-23] [expr $bz-$cov]
patch rect 4 23 1 $hy [expr $cov-$bz] [expr $hy-23] -$bz
patch rect 4 23 1 [expr 23-$hy] $bz -$hy [expr $bz-$cov]
patch rect 4 23 1 [expr 23-$hy] [expr $cov-$bz] -$hy -$bz

patch rect 4 1 6 $hy [expr $bz-$cov] [expr $hy-$cov] [expr $cov-$bz]
patch rect 4 1 6 [expr $cov-$hy] [expr $bz-$cov] -$hy [expr $cov-$bz]

# matTag nBar Abar Yi Zi Yj Zj
layer straight 1 29 .2 [expr $hy-$cov] [expr $bz-$cov] [expr $cov-$hy] [expr $bz-$cov]
layer straight 1 29 .2 [expr $hy-$cov] [expr $cov-$bz] [expr $cov-$hy] [expr $cov-$bz]
layer straight 1 2 .2 [expr $hy-$cov] 0 [expr $cov-$hy] 0

}

# Section definition for zero-length element for bond slip
section Fiber 2 {

# matTag suby subz Yi Zi Yj Zj
patch rect 2 23 4 [expr $hy-$cov] [expr $bz-$cov] [expr $hy-23] [expr $cov-$bz]
patch rect 2 23 4 [expr 23-$hy] [expr $bz-$cov] [expr $cov-$hy] [expr $cov-$bz]

patch rect 4 74 6 [expr $hy-23] $bz [expr 23-$hy] -$bz

patch rect 4 23 1 $hy $bz [expr $hy-23] [expr $bz-$cov]
patch rect 4 23 1 $hy [expr $cov-$bz] [expr $hy-23] -$bz
patch rect 4 23 1 [expr 23-$hy] $bz -$hy [expr $bz-$cov]
patch rect 4 23 1 [expr 23-$hy] [expr $cov-$bz] -$hy -$bz

patch rect 4 1 6 $hy [expr $bz-$cov] [expr $hy-$cov] [expr $cov-$bz]
patch rect 4 1 6 [expr $cov-$hy] [expr $bz-$cov] -$hy [expr $cov-$bz]

# matTag nBar Abar Yi Zi Yj Zj
layer straight 5 29 .2 [expr $hy-$cov] [expr $bz-$cov] [expr $cov-$hy] [expr $bz-$cov]
layer straight 5 29 .2 [expr $hy-$cov] [expr $cov-$bz] [expr $cov-$hy] [expr $cov-$bz]
layer straight 5 2 .2 [expr $hy-$cov] 0 [expr $cov-$hy] 0

}

# GEOMETRIC/ELEMENT DEFINITION
geomTransf Linear 1

set int 5

# Define zero-length element for bond slip
# eTag ndi ndj secTag
element zeroLengthSection 1 1 2 2 -orient 0 1 0 1 0 0

for {set e 2} {$e <= $nelem+1} {incr e} {

# eTag ndi ndj nint secTag trnsTag
element forceBeamColumn $e $e [expr $e+1] $int 1 1

}

puts "Model Definition Complete"

#------------------------------Model Definition Complete-------------------------------------#

# GRAVITY ANALYSIS

# LOAD DEFINITIONS
set P 360.
timeSeries Linear 1
pattern Plain 1 1 {

# nd FX FY MZ
load [expr $nelem+2] 0. -$P 0.

}

#recorder Element -file pilot/GravConcSSLeft.out -ele 2 section 1 fiber $hy 0 2 stressStrain
#recorder Element -file pilot/GravConcSSRight.out -ele 2 section 1 fiber -$hy 0 2 stressStrain
#recorder Element -file pilot/GravStlSS.out -ele 2 section 1 fiber $hy 0 1 stressStrain

system BandGeneral
constraints Transformation
numberer RCM
test NormDispIncr 1.0e-12 10 3
algorithm Newton
integrator LoadControl 0.1
analysis Static
analyze 10

puts "Gravity Analysis Complete"

#------------------------------Gravity Analysis Complete-------------------------------------#

# PUSHOVER ANALYSIS
loadConst -time 0.0
set H 10.

pattern Plain 2 "Linear" {

# nd FX FY MZ
load [expr $nelem+2] $H 0. 0.

}

remove recorders
recorder Node -file pilot/PushDispBS.out -node [expr $nelem+2] -dof 1 disp
recorder Node -file pilot/PushFx.out -node 1 -dof 1 reaction
recorder Node -file pilot/PushMomBS.out -node 1 -dof 3 reaction
recorder Element -file pilot/LATConcSSRightBS.out -ele 2 section 1 fiber [expr $hy-$cov] 0 2 stressStrain
recorder Element -file pilot/LATConcSSRightUCBS.out -ele 2 section 1 fiber $hy 0 4 stressStrain
recorder Element -file pilot/LATStlSSBS.out -ele 2 section 1 fiber [expr $cov-$hy] 0 1 stressStrain

constraints Transformation
numberer RCM
system BandGeneral
test NormDispIncr 1.0e-12 10 3
algorithm Newton

foreach Dincr {

-1.

} {

integrator DisplacementControl [expr $nelem+2] 1 [expr $Dincr/100]
analyze 200

}

#------------------------------Pushover Analysis Complete------------------------------------#


wipe
tazarv
Posts: 44
Joined: Sun Dec 09, 2007 6:08 am
Location: University of Nevada Reno
Contact:

Re: Bond_SP01 Issue

Post by tazarv »

The tricky way is to do moment-curvature analysis with the bond_SP01 that you won't get any error. Then, use Hysteretic material to linearize the curve and make the moment-rotation envelop. Note that for numerical calculation the length of zerolength element is unit not zero. Therefore the rotation is curvature *1. At the end, develop a zerolength element. Here is an example.

# analysis of the column section w/ Bond-Slip material (Unit kips, inch).
# tag Mcr+ Rcr+ My+ Ry+ Mu+ Ru+ Mcr- Rcr- My- Ry- Mu- Ru-
uniaxialMaterial Hysteretic $IDzeroLength 1944. 1.5e-4 5387.4 3.65e-3 6546.59 9.95e-3 -1944. -1.5e-4 -5387.4 -3.65e-3 -6546.59 -9.95e-3 0.0 0.0 0.0 0.0 0.0;

# Linear elastic properties of column which should be used in zeroLength element
uniaxialMaterial Elastic 5 [expr $Ec*$ACol]; # EA: Axial Regidity
uniaxialMaterial Elastic 6 [expr $G*$ACol]; # GA: Shear Rigidity
uniaxialMaterial Elastic 8 [expr $G*$J]; # GJ: Torsional Rigidity

# Define a ZeroLength Element which has moment-rotation of the Column w/ Bond-Slip Effect.
# We have to add axial, shear and torsional rigidity to this element instead of using equalDOF 2 55 1 3 5;
# geometry for zero length column tag ndi ndj Dx Dy Dz Rx Ry Rz
element zeroLength 40 2 55 -mat 6 5 6 $IDzeroLength 8 $IDzeroLength -dir 1 2 3 4 5 6 -orient 0 1 0 1 0 0;

Bests,
Mostafa Tazarv
tswelt
Posts: 6
Joined: Sat Aug 06, 2011 6:39 am
Location: University of Illinois

Re: Bond_SP01 Issue

Post by tswelt »

Thank you for the reply - I was wondering though if it is at all possible to implement this Bond_SP01 material model into pushover analysis type model, as I am interested in the stress distribution across the length and height of the wall.

Thanks again~
tazarv
Posts: 44
Joined: Sun Dec 09, 2007 6:08 am
Location: University of Nevada Reno
Contact:

Re: Bond_SP01 Issue

Post by tazarv »

I am not sure that it is possible to build a zerolength fiber model with this material. If you go to the developer website, you can find their OpenSees file. As far as I know, they all are made with displacement-base elements not force-base. Please check their website.
https://pantherfile.uwm.edu/jzhao/www/B ... mples.html
I got the same error for my cyclic analysis when I used Bold-SP01 material. The way I explained it is applicable for all kinds of analyses like pushover, cyclic or dynamic simulations. We are trying to to linearize the moment-rotation curve of a section considering the bond-slip effect. If you were able to simulate with exact curve without any error, the global responses would be same.
Mostafa Tazarv
IsmBaha
Posts: 140
Joined: Sun Nov 17, 2013 11:00 pm
Location: University of Arizona

Re: Bond_SP01 Issue

Post by IsmBaha »

Dear Mostafa,

I followed the way you described the get the Bond-Slip01 working but analysis is still not converging at the first step, as shown below. I dunno what else to do, I spent long time on creating the models you described but I dunno where the problem is coming from. Do you remember if there was anything crucial in the method you described? I played around by changing things but nothing single came out. Would you be able to look at the code if I post or send?

Regards,
Ismail Baha


OpenSees > source ConventionalColumn_CyclicDISP.tcl
WARNING BandGenLinLapackSolver::solve() -LAPACK routine returned 4
WARNING NewtonRaphson::solveCurrentStep() -the LinearSysOfEqn failed in solve()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at
load factor 0.1
OpenSees > analyze failed, returned: -3 error flag
pts=775, dt=1.0, tfinal=775.0
WARNING BandGenLinLapackSolver::solve() -LAPACK routine returned 5
WARNING NewtonRaphson::solveCurrentStep() -the LinearSysOfEqn failed in solve()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at
load factor 1
OpenSees > analyze failed, returned: -3 error flag
0.000000
Did not converge, Trying Reducing This Time Step by 2 ..
WARNING BandGenLinLapackSolver::solve() -LAPACK routine returned 5
WARNING NewtonRaphson::solveCurrentStep() -the LinearSysOfEqn failed in solve()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at
wangpengfei
Posts: 3
Joined: Fri Apr 08, 2016 5:28 pm

Re: Bond_SP01 Issue

Post by wangpengfei »

tazarv wrote:
> The tricky way is to do moment-curvature analysis with the bond_SP01 that
> you won't get any error. Then, use Hysteretic material to linearize the
> curve and make the moment-rotation envelop. Note that for numerical
> calculation the length of zerolength element is unit not zero. Therefore
> the rotation is curvature *1. At the end, develop a zerolength element.
> Here is an example.
>
> # analysis of the column section w/ Bond-Slip material (Unit kips, inch).
> # tag Mcr+ Rcr+ My+ Ry+
> Mu+ Ru+ Mcr- Rcr- My- Ry- Mu- Ru-
> uniaxialMaterial Hysteretic $IDzeroLength 1944. 1.5e-4 5387.4 3.65e-3
> 6546.59 9.95e-3 -1944. -1.5e-4 -5387.4 -3.65e-3 -6546.59 -9.95e-3 0.0
> 0.0 0.0 0.0 0.0;
>
> # Linear elastic properties of column which should be used in zeroLength
> element
> uniaxialMaterial Elastic 5 [expr $Ec*$ACol]; # EA: Axial Regidity
> uniaxialMaterial Elastic 6 [expr $G*$ACol]; # GA: Shear Rigidity
> uniaxialMaterial Elastic 8 [expr $G*$J]; # GJ: Torsional Rigidity
>
> # Define a ZeroLength Element which has moment-rotation of the Column w/
> Bond-Slip Effect.
> # We have to add axial, shear and torsional rigidity to this element
> instead of using equalDOF 2 55 1 3 5;
> # geometry for zero length column tag ndi ndj Dx Dy Dz Rx
> Ry Rz
> element zeroLength 40 2 55 -mat 6 5 6
> $IDzeroLength 8 $IDzeroLength -dir 1 2 3 4 5 6 -orient 0 1 0 1 0 0;
>
> Bests,
Dear tazarv,I also met the problem .but i do not know how to do the moment curvature analysis of bond-slip,i do it as recommended by official website .but the result is different when i change the steel from steel02 to bond-sp01,the result is different sharply.so i want to know how to do the analysis of moment curvature about the bond-sp01.sorry to disturb you ,i hope you can help me ,thanks a lot .
Post Reply