zeroLength section element problem

For posts concerning the documentation, errors, ommissions, general comments, etc.

Moderators: silvia, selimgunay, Moderators

Post Reply
parasismique
Posts: 58
Joined: Tue Dec 13, 2016 7:14 am
Location: University of Tlemcen-Algeria

zeroLength section element problem

Post by parasismique » Tue Sep 04, 2018 6:05 am

Dear Silvia and dears colleagues,

I model a cantilever column in 2D to execute a pushover analysis. I used the zeroLength Section element to simulate the effect of reinforcement slipping at the fixed end of the model.

At first, i defined zerolength section element like that:
element zeroLengthSection $EleTag $ibNode $jbNode $SecTagBS
I had results of the analysis as a linear progression between base shear and displacement.

Then, I wanted to introduce the rotate of zerolength element by using orient in zeroLength section element.
But Unfortunately I can’t reach the results of the pushover analysis despite cheks several times.

can you guide me to solve this type of error (bellow). Is this problem due to the choice of material or to use zerolength section element that does not work with pushover analysis ?!!you can see the script, it's down there.

I took more than two months and I can not solve this problem, I really appreciate your help. Thank you vey much.

WARNING: super LU <void> - error4 returned in factorization dgstrf
WARNING: Newton-Raphson: solve Current step <>- the linear SysOfEqn failed in solve
Static analysis: analyze <>- the algorithm failed at iteration: 0 with domain at load factor 0
OpenSees> analyze failed, returned: -3 error flag
Gravity analysis failed
WARNING: Band GenLinLapack Solver: solve <factorization failed, matrix singular U <i,i> =0, i=4
Displacement Control: newStep <void>- the integrator failed at iteration 0 with domain at load factor 0
OpenSees> analyze failed, returned: -2 error flag


Code:
###########################################################################################
model basic -ndm 2 -ndf 3 ; # Define the model builder, ndm=#dimension, ndf=#dof

#-------------------------------------------------------------------
#### MATERIAL parameters
#-------------------------------------------------------------------

set IDconcCore 1; # material ID tag -- confined core concrete
set IDconcCover 2; # material ID tag -- unconfined cover concrete
set IDreinf 3; # material ID tag -- reinforcement

# nominal concrete compressive strength

set fc -27.0; # [MPa] CONCRETE Compressive Strength, ksi (+Tension, -Compression)
set Ec 20000; # [MPa]Concrete Elastic Modulus(Mpa)

# confined concrete

set fc1C -34.474; # [MPa] CONFINED concrete (mander model), maximum stress
set eps1C -0.004; # strain at maximum stress
set fc2C -21.0; # [MPa] ultimate(crushing) stress
set eps2C -0.014; # strain at ultimate stress
set lambda 0.1; # ratio between unloading slope at $eps2 and initial slope $Ec
# tensile-strength properties
set ftU [expr -0.14*$fc1C]; # tensile strength +tension
set Ets [expr $ftU/0.002]; # tension softening stiffness

# unconfined concrete

set fc1U $fc; # UNCONFINED concrete (todeschini parabolic model), maximum stress
set eps1U -0.002; # strain at maximum strength of unconfined concrete
set fc2U 0.0; # ultimate stress
set eps2U -0.008; # strain at ultimate stress



# Steel propreties

set Fy 526.0; # [MPa] STEEL yield stress
set Fu 717.0; # [MPa] STEEL ultime stress
set Es 200000.; # [MPa] modulus of steel
set Esh 5600.0; # [MPa] modulus ultimate steel
set esh 0.011; #Strain corresponding to initial strain hardening
set eult 0.122; #tensile strain L


#===================================UniaxialMaterial of concrete and steel==================================

####uniaxialMaterial Concrete01 $matTag $fpc $epsc0 $fpcu $epsU
#uniaxialMaterial Concrete01 $IDconcCover $fc1U $eps1U $fc2U $eps2U; # build cover concrete (unconfined)

####uniaxialMaterial Concrete02 $matTag $fpc $epsc0 $fpcu $epscu $lambda $ft $Ets
#uniaxialMaterial Concrete02 $IDconcCore $fc1C $eps1C $fc2C $eps2C $lambda $ftU $Ets ; # build core concrete (confined)



# Core concrete (confined)
uniaxialMaterial Concrete01 1 -35 -0.004 -28 -0.014;

# Cover concrete (unconfined)
uniaxialMaterial Concrete01 2 -24 -0.002 0.0 -0.004

# STEEL
# Reinforcing steel
set fy 526; # Yield stress
set Es 2e5; # Young's modulus
# tag fy E0 b
uniaxialMaterial Steel01 3 $fy $Es 0.01

#===============================================================Bond-Slip=================================================================

set alphaBS 0.4 ; #alphaBS is a parameter used in the local bond-slip relation and can be taken as 0.4 in accordance with CEB-FIP Model Code 90
set Pow [expr (1.0/$alphaBS)]

#set Sy [expr 254*pow($Db1*$Fy1*(2*$alpha+1)/(8437*pow(-$Fc1,0.5)),1/$alpha)+0.34]
set Sy 0.884069; # equation in manual OpenSees[mm]
set Su [expr $Sy*35]
set b 0.4
set R 0.7
set bondslipMat 5
uniaxialMaterial Bond_SP01 $bondslipMat $Fy $Sy $Fu $Su $b $R

#####################################################################################################
#------------------------------ 1 D O F MODEL ------------------------------------------------------
#####################################################################################################

set g 9.81;
#set w 25.0;
set Hcol 8000;

set Ws 7200.0e+3; # Ws=7200 KN (superstructure weight)
set mass [expr ($Ws/$g)] ; #Nodal mass
set PCol $Ws;

#####Nodes
#------------------------------------
node 1 0 0 0 ; #Bottom node of model
node 2 0 $Hcol 0 ; #Top node of model
node 3 0 0 0

#####Define boundary condition
#------------------------------
fix 2 0 0 0
fix 1 1 1 1
fix 3 0 1 0

######Define masses
#---------------------
mass 2 $mass 1.0e-9 0.0
mass 1 0 0 0
mass 3 0 0 0

#### section GEOMETRY
#-------------------------------------------------------------

set HBent 1000; # [m] Column height
set BBent 14250; # [m] Column width
set ABent [expr $HBent*$BBent];# [m2]Area transvesal de columna circular
set coverBent 100; # [m] Column cover to reinforcing steel NA.
set coverBentre 100; # [m] Column cover to longitudinal steel#############################################################
set numBarsBent 63; # number of longitudinal-reinforcement bars in column. (symmetric top & bot)
set numBarsInt 6; # reinforcement dans le sens latéral de B
set dlBent 25; # [mm] Steel diameter
set PI 3.14;
set barAreaBent [expr $PI*pow($dlBent,2)/4]; # [m2]area of longitudinal-reinforcement bars

set ColSecTag 1; # set tag for section column

set coverYBent [expr $HBent/2.0]; # The distance from the section z-axis to the edge of the cover concrete -- outer edge of cover concrete
set coverZBent [expr $BBent/2.0]; # The distance from the section y-axis to the edge of the cover concrete -- outer edge of cover concrete
set coreYBent [expr $coverYBent-$coverBent];
set coreZBent [expr $coverZBent-$coverBent];
set coreYreBent [expr $coverYBent-$coverBentre];########################?
set coreZreBent [expr $coverZBent-$coverBentre];########################?
set nfCoreYBent 20; # number of fibers for concrete in y-direction
set nfCoreZBent 40; # number of fibers for concrete in z-direction
set nfCoverYBent 24; # number of fibers for concrete in y-direction ##########?
set nfCoverZBent 20; # number of fibers for concrete in z-direction ##########?

set Gs [expr $Ec/(2*(1+0.2))];
set JCol 84599;
##############################################################################################

section fiberSec $ColSecTag {; # Define the fiber section

# Define the concrete core patch

patch quadr $IDconcCore $nfCoreZBent $nfCoreYBent -$coreYBent -$coreZBent -$coreYBent $coreZBent $coreYBent $coreZBent $coreYBent -$coreZBent

#Define the four cover patches
patch quadr $IDconcCover 2 $nfCoverYBent -$coverYBent $coverZBent -$coreYBent $coreZBent $coreYBent $coreZBent $coverYBent $coverZBent; # Right cover patch
patch quadr $IDconcCover 2 $nfCoverYBent -$coreYBent -$coreZBent -$coverYBent -$coverZBent $coverYBent -$coverZBent $coreYBent -$coreZBent; # Left cover patch
patch quadr $IDconcCover 2 $nfCoverYBent -$coverYBent $coverZBent -$coverYBent -$coverZBent -$coreYBent -$coreZBent -$coreYBent $coreZBent; # Bottom cover patch
patch quadr $IDconcCover 2 $nfCoverYBent $coreYBent $coreZBent $coreYBent -$coreZBent $coverYBent -$coverZBent $coverYBent $coverZBent; # Top cover patch

# Define reinfocement layers
layer straight $IDreinf $numBarsInt $barAreaBent -$coreYBent $coreZBent $coreYBent $coreZBent; # intermediate skin reinf. +z
layer straight $IDreinf $numBarsInt $barAreaBent -$coreYBent -$coreZBent $coreYBent -$coreZBent; # intermediate skin reinf. -z
layer straight $IDreinf $numBarsBent $barAreaBent $coreYBent $coreZBent $coreYBent -$coreZBent; # top layer reinfocement
layer straight $IDreinf $numBarsBent $barAreaBent -$coreYBent $coreZBent -$coreYBent -$coreZBent; # bottom layer reinforcement
}; # end of fibersection definition

puts "section geometry defined"

#-----------------------------------------
#Section fiber of Bond-Slip
#-----------------------------------------

set SecTagBS 3
section fiberSec $SecTagBS {; # Define the fiber section

# Define the concrete core patch

patch quadr $IDconcCore $nfCoreZBent $nfCoreYBent -$coreYBent -$coreZBent -$coreYBent $coreZBent $coreYBent $coreZBent $coreYBent -$coreZBent

#Define the four cover patches
patch quadr $IDconcCover 2 $nfCoverYBent -$coverYBent $coverZBent -$coreYBent $coreZBent $coreYBent $coreZBent $coverYBent $coverZBent; # Right cover patch
patch quadr $IDconcCover 2 $nfCoverYBent -$coreYBent -$coreZBent -$coverYBent -$coverZBent $coverYBent -$coverZBent $coreYBent -$coreZBent; # Left cover patch
patch quadr $IDconcCover 2 $nfCoverYBent -$coverYBent $coverZBent -$coverYBent -$coverZBent -$coreYBent -$coreZBent -$coreYBent $coreZBent; # Bottom cover patch
patch quadr $IDconcCover 2 $nfCoverYBent $coreYBent $coreZBent $coreYBent -$coreZBent $coverYBent -$coverZBent $coverYBent $coverZBent; # Top cover patch

# Define reinfocement layers
layer straight $bondslipMat $numBarsInt $barAreaBent -$coreYBent $coreZBent $coreYBent $coreZBent; # intermediate skin reinf. +z
layer straight $bondslipMat $numBarsInt $barAreaBent -$coreYBent -$coreZBent $coreYBent -$coreZBent; # intermediate skin reinf. -z
layer straight $bondslipMat $numBarsBent $barAreaBent $coreYBent $coreZBent $coreYBent -$coreZBent; # top layer reinfocement
layer straight $bondslipMat $numBarsBent $barAreaBent -$coreYBent $coreZBent -$coreYBent -$coreZBent; # bottom layer reinforcement
}; # end of fibersection definition

puts "section geometry defined of Bond Slip"


################################################################################################################

####Aggregator
set shearsec 4;
set secAgg 6;
set GA [expr $Gs*$ABent];
uniaxialMaterial Elastic $shearsec $GA
section Aggregator $secAgg $shearsec Vy -section $ColSecTag
#################################################################################################################

set ColTransfTag 1; # associate a tag to column transformation
geomTransf Linear $ColTransfTag ;
set EleTag 2;
set eleTag 1;
set iNode 2;
set jNode 1;
set ibNode 1;
set jbNode 3;
set Ni 5;
set numIntgrPts 5;
element nonlinearBeamColumn $eleTag $iNode $jNode $numIntgrPts $secAgg $ColTransfTag

######ZeroElement of Bond-Slip
#element zeroLengthSection $EleTag $ibNode $jbNode $SecTagBS
element zeroLengthSection 2 1 3 3 -orient 0 1 0 0 0 -1
puts "model etablished"

#Define GRAVITY
#timeSeries Constant 1
#pattern Plain 1 1 {

pattern Plain 1 Linear {
load 2 0. -$PCol 0.
}

################################################################################################
file mkdir stat

recorder Node -file stat/DFree.dat -time -node 2 -dof 1 2 3 disp; # displacements of free nodes
recorder Node -file stat/VBase.dat -time -node 1 -dof 1 2 3 reaction; # support reaction


#recorder Node -file Data/DFree.dat -time -node 2 -dof 1 2 3 disp; # displacements of free nodes
#recorder Node -file stat/Disp.dat -time -node 2 -dof 1 2 3 disp; # displacements of top node
#recorder Node -file stat/VBase.dat -time -node 1 -dof 1 2 3 reaction; # support reaction
#recorder Drift -file stat/Drift.out -time -iNode 1 -jNode 2 -dof 1 2 3 -perpDirn 2 ; # drift
#recorder Node -file stat/curvature.out -time -node 3 -dof 3 disp; ## provides moment curvature response
#recorder Element -file stat/FCol.out -time -ele 1 globalForce; # element forces -- column
#recorder Element -file stat/ForceColSec1.out -time -ele 1 section 1 force; # Column section forces, axial and moment, node i
#recorder Element -file stat/DefoColSec1.out -time -ele 1 section 1 deformation; # section deformations, axial and curvature, node i
#recorder Element -file stat/ForceColSec$numIntgrPts.out -time -ele 1 section $numIntgrPts force; # section forces, axial and moment, node j
#recorder Element -file stat/DefoColSec$numIntgrPts.out -time -ele 1 section $numIntgrPts deformation; # section deformations, axial and curvature, node j
#recorder Element -xml stat/PlasticRotation.out -time -ele 1 plasticRotation; # section deformations, axial and curvature, node j


#################################################################################################

set Tol 1.0e-8
constraints Plain
numberer Plain
system BandGeneral
test NormDispIncr $Tol 6
algorithm Newton
set NstepGravity 10
set DGravity [expr 1./$NstepGravity]
integrator LoadControl $DGravity
analysis Static
analyze $NstepGravity
loadConst -time 0.0
puts "Model Built"

#puts "Maintain Constant Gravity Loads and Reset Time to Zero"
#puts "MODEL BUILT"

set ok [analyze $NstepGravity] ;
if {$ok == 0} {
puts "Gravity analysis completed SUCCESSFULLY" ;
} else {
puts "Gravity analysis FAILED";
}
remove recorders ; # needed if not recorders will continue recording other type of analyses

# 8. Define Lateral Loading and con duct Lateral Analysis
#############################################################################################################
#loadConst -time 0.0
# ---------------- Recorder ---------------------------#

recorder Node -file DispPO.dat -time -node 2 -dof 1 disp
recorder Node -file ReactionsPO.dat -load -node 1 -dof 1 reaction
# STATIC PUSHOVER ANALYSIS --------------------------------------------------------------------------------------------------
#
# we need to set up parameters that are particular to the model.
set IDctrlNode 2; # node where displacement is read for displacement control
set IDctrlDOF 1; # degree of freedom of displacement read for displacement contro
set Dmax [expr 0.1*$Hcol]; # maximum displacement of pushover. push to 10% drift.
set Dincr [expr 0.001*$Hcol]; # displacement increment for pushover. you want this to be very small, but not too small to slow down the analysis

set Nsteps [expr int($Dmax/$Dincr)]
# create load pattern for lateral pushover load


set Push $PCol;
pattern Plain 20 Linear {
load 2 $Push 0 0
}
constraints Plain
numberer Plain
system BandGeneral
set Tol 1.0e-8;
set maxNumIter 10;
set printFlag 0;
#test NormDispIncr $Tol 10
test EnergyIncr $Tol $maxNumIter $printFlag;
algorithm Newton
#algorithm NewtonLineSearch
#algorithm initialNewton
#-------------------------------------------
integrator DisplacementControl 2 1 $Dincr
#-------------------------------------------
analysis Static
analyze 1000
puts "Pushover analysis completed SUCCESSFULLY"

Post Reply