error when build a pushover analysis column

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

Moderators: silvia, selimgunay, Moderators

Post Reply
YanXu
Posts: 1
Joined: Mon Aug 02, 2021 3:44 am

error when build a pushover analysis column

Post by YanXu » Wed Nov 17, 2021 11:53 pm

WARNING BandGenLinLapackSolver::solve() -factorization failed, matrix singular U(i,i) = 0, i= 5
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
WARNING BandGenLinLapackSolver::solve() -factorization failed, matrix singular U(i,i) = 0, i= 5
DisplacementControl::newStep(void) - failed in solver
StaticAnalysis::analyze() - the Integrator failed at iteration: 0 with domain at load factor 0
OpenSees > analyze failed, returned: -2 error flag

my code run correctly when i dont use zerolengthsection

this is my code:
wipe; # clear memory of all past model definitions
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dofs
set dataDir Data; # set up name of data directory
file mkdir $dataDir; # create data directory
source LibUnits.tcl; # define basic and system units
#-------------------------------------------------------------
set LCol [expr 2900*$mm]; # column length
set Weight [expr 370*$kN]; # weight
# define section geometry
set RCol [expr 250*$mm];
# calculated parameters
set PCol [expr $Weight]; # nodal dead-load weight per column
set Mass [expr $PCol/$g]; # nodal mass
# calculated geometry parameters
set ACol [expr $RCol*$RCol*3.1415926]; # cross-sectional area
# nodal coordinates:
node 1 0 0; # node#, X, Y
node 2 0 0;
node 3 0 $LCol

# Single point constraints -- Boundary Conditions
fix 1 1 1 1 ; # node DX DY RZ
fix 2 0 0 0 ; # node DX DY RZ
fix 3 0 0 0
# nodal masses:
mass 3 $Mass 0. 0.; # node#, Mx My Mz, Mass=Weight/g, neglect rotational inertia at nodes


# Define ELEMENTS & SECTIONS -------------------------------------------------------------
set ColSecTag 1; # assign a tag number to the column section
set ZeroLengthSecTag 2; # assign a tag number to the zero length section

# MATERIAL parameters -------------------------------------------------------------------
set IDunconc 1; # material ID tag -- unconfined cover concrete
set IDconc 2; # material ID tag -- confined cover concrete
set IDreinf 3; # material ID tag -- reinforcement
set IDZeroLengthSecreinf 4; # material ID tag -- zero length sectionreinforcement
set IDEnt 5;
# nominal concrete compressive strength
set fc1 [expr -39.0*$MPa]; # concrete compressive strength at 28 days (+Tension, -Compression)
set Ec1 [expr 30247*$MPa]; # initial stiffness
set ec1 -0.0043; # concrete strain at maximum strength
set fct1 [expr 3.52*$MPa]; # the maximum tensile strength of concrete
set et1 0.0017; # ultimate tensile strain of concrete
set ecu1 -0.129; # concrete strain at crushing strength*
set beta1 0.1; # the exponential curve parameter to define the residual stress (as a factor of $ft) at $etu

# unconfined concrete
set fc2 [expr -32.0*$MPa]; # concrete compressive strength at 28 days (compression is negative)*(+Tension, -Compression)
set Ec2 [expr 30247*$MPa]; # initial stiffness
set ec2 -0.0021; # concrete strain at maximum strength
set fct2 [expr 3.52*$MPa]; # the maximum tensile strength of concrete
set et2 0.0007; # ultimate tensile strain of concrete
set ecu2 -0.00735; # concrete strain at crushing strength*
#set beta 0.1 # the exponential curve parameter to define the residual stress (as a factor of $ft) at $etu

# reinfircement
set fy1 [expr 550.0*$MPa]; # Yield stress in tension
set fu1 [expr 720.0*$MPa]; # Ultimate stress in tension
set Es1 [expr 200000*$MPa]; # Initial elastic tangent
set Esh1 [expr 6000*$MPa]; # Tangent at initial strain hardening
set esh1 0.01376; # Strain corresponding to initial strain hardening
set eult1 0.15; # Strain at peak stress
# zero length section reinforcement
set fy2 [expr 550.0*$MPa]; # Yield stress in tension
set fu2 [expr 720.0*$MPa]; # Ultimate stress in tension
set Es2 [expr 1208031*$MPa]; # Initial elastic tangent
set Esh2 [expr 362409*$MPa]; # Tangent at initial strain hardening
set esh2 0.0009114; # Strain corresponding to initial strain hardening
set eult2 0.0248; # Strain at peak stress
#set GABuck
set lsr 3.54;
set beta2 1.0;
set r 0.5768;
set gama 0.5;
#set DMbuck
#set lsr;
#set alpha;
#set CMFatigue
set Cf 0.28;
set alpha 0.52;
set Cd 0.4;
#set IsoHard
#set a1 4.3; # Hardening constant (default = 4.3)
#set limit 1.0; #Limit for the reduction of the yield plateau.
#% of original plateau length to remain (0.01 < limit < 1.0 )
#Limit =1.0, then no reduction takes place (default =0.01)
uniaxialMaterial Concrete04 $IDconc $fc1 $ec1 $ecu1 $Ec1 $fct1 $et1 $beta1
uniaxialMaterial Concrete04 $IDunconc $fc2 $ec2 $ecu2 $Ec2 $fct2 $et2 $beta1;# build cover concrete (unconfined)
uniaxialMaterial ReinforcingSteel $IDreinf $fy1 $fu1 $Es1 $Esh1 $esh1 $eult1
uniaxialMaterial ReinforcingSteel $IDZeroLengthSecreinf $fy2 $fu2 $Es2 $Esh2 $esh2 $eult2 -GABuck $lsr $beta2 $r $gama -CMFatigue $Cf $alpha $Cd
uniaxialMaterial ENT $IDEnt $Ec1
# FIBER SECTION properties -------------------------------------------------------------
# column parameters
set yCenter 0; # y & z-coordinates of the center of the circle
set zCenter 0; # y & z-coordinates of the center of the circle
set intRad1 0; # internal radius
set extRad1 [expr 235*$mm]; # external radius
set intRad2 [expr 235*$mm]; # internal radius
set extRad2 [expr 250*$mm]; # external radius
set startAng 0; # starting angle
set endAng 360; # ending angle
set areaFiber [expr 14*14*3.1415926*$mm]; # area of each fiber
set radius [expr 220*$mm]; # radius of circular arc
# Define column section
section Fiber $ColSecTag {; # Define the fiber section

# Define the core patch
patch circ $IDconc 24 4 $yCenter $zCenter $intRad1 $extRad1 $startAng $endAng

# Define the cover patch
patch circ $IDunconc 24 1 $yCenter $zCenter $intRad2 $extRad2 $startAng $endAng

# define reinforcing layers
layer circ $IDreinf 8 $areaFiber $yCenter $zCenter $radius
}; # end of fibersection definition
# Define zero length section
section Fiber $ZeroLengthSecTag {; # Define the fiber section

# Define the core patch
patch circ $IDconc 24 4 $yCenter $zCenter $intRad1 $extRad1 $startAng $endAng

# Define the cover patch
patch circ $IDunconc 24 1 $yCenter $zCenter $intRad2 $extRad2 $startAng $endAng

# define reinforcing layers
layer circ $IDZeroLengthSecreinf 8 $areaFiber $yCenter $zCenter $radius
}; # end of fibersection definition
section Aggregator 3 $IDEnt Vy -section $ZeroLengthSecTag
# 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 ColTransfType PDelta ; # options, Linear PDelta Corotational
geomTransf $ColTransfType $ColTransfTag ; # only columns can have PDelta effects (gravity effects)
# element connectivity:
set numIntgrPts 5; # number of integration points for force-based element
element nonlinearBeamColumn $ColSecTag 2 3 $numIntgrPts $ColSecTag $ColTransfTag; # self-explanatory when using variables

element zeroLengthSection 3 1 2 $ZeroLengthSecTag
# Define RECORDERS -------------------------------------------------------------
set xunconfc -200;
set yunconfc 0;
set xc 0;
set yc 0;
set xsteel -185;
set ysteel 0;
recorder Node -file $dataDir/DFree.out -time -node 3 -dof 1 disp; # displacements of free nodes

recorder Element -file $dataDir/FCol.out -time -ele 1 globalForce; # element forces -- column

recorder Element -file $dataDir/unconfinedconcrete.out -time -ele 1 section 1 fiber $xunconfc $yunconfc stressStrain;

recorder Element -file $dataDir/confinedconcrete.out -time -ele 1 section 1fiber $xc $yc stressStrain;

recorder Element -file $dataDir/steel.out -time -ele 1 section 1 fiber $xsteel $ysteel stressStrain;

pattern Plain 1 Linear {
load 3 0 -270000 0
}

# define GRAVITY -------------------------------------------------------------

# 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
# define PUSH -------------------------------------------------------------
pattern Plain 2 Linear {
load 3 1 0 0
}
set DPush [expr 1*$mm];
set NstepPush 250;
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
integrator DisplacementControl 3 1 $DPush; # determine the next time step for an analysis
analysis Static; # define type of analysis static or transient
analyze $NstepPush; # apply gravity

puts "Model Built"

Post Reply