zero length element

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

Moderators: silvia, selimgunay, Moderators

Post Reply
aahashib
Posts: 13
Joined: Thu Sep 10, 2015 9:21 am
Location: Texas A&M University

zero length element

Post by aahashib »

Hello!

I am facing some problems writing commands for zero length section. whenever i try to write the code for zero length section it shows error like -

Warning BandGenLinLapackSolver: :solve() - LAPACK routine returned 6
Warning Newton Raphson: :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
Model Built
..............
..............
..............

Can you please fix this problem. thank you.

My files for your kind concern-

# 2D Cantilever Beam -- Static Reversed-Cyclic Analysis
# fiber section, nonlinearBeamColumn element
#
# ^Y
# |------------------------- -> X
# 1 (1) LBeam 2

# SET UP
# units: kip, inch, sec
wipe; # clear memory of all past model definitions
file mkdir Data; # create data directory
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dofs

# define GEOMETRY -------------------------------------------------------------
set LBeam 71.36; # beam length
set Weight 0.9; # self weight

# define section geometry
set HBeam 16.0; # beam Depth
set BBeam 9.0; # beam Width

# calculated parameters
#set PBeam $Weight; # nodal dead-load weight
#set g 386.09; # g.
#set Mass [expr $PBeam/$g]; # nodal mass

# calculated geometry parameters
set ABeam [expr $BBeam*$HBeam]; # cross-sectional area
set IzBeam [expr 1.0/12.0*$BBeam*pow($HBeam,3.0)]; # Column moment of inertia

# nodal coordinates:
node 1 0.0 0.0; # node#, X, Y
node 2 $LBeam 0.0;
node 55 0.0 0.0;
# Single point constraints -- Boundary Conditions
fix 1 1 1 1; # node DX DY RZ

# nodal masses:
#mass 2 $Mass 1e-9 0.0; # node#, Mx My Mz, Mass=Weight/g, neglect rotational inertia at nodes

# Define ELEMENTS & SECTIONS -------------------------------------------------------------
set BeamSecTag 1; # assign a tag number to the beam section
set ZeroLengthSecTag 2; # assign a tag number to the zerolength element for Bond-Slip

# define section geometry
set coverBeam 1.0; # Column cover to reinforcing steel NA.
set numBarsBeam 4; # number of longitudinal-reinforcement bars in each side of beam section. (symmetric top & bot)
set barAreaBeam 0.44; # area of longitudinal-reinforcement bars


# MATERIAL parameters
set IDconC 1; # material ID tag -- confined core concrete
set IDconcU 2; # material ID tag -- unconfined cover concrete
set IDreinf 3; # material ID tag -- reinforcement
set IDTotalSlip 4; # material ID tag -- for a bar Bond-Slip effect

# nominal concrete compressive strength (by Mander's Model)
set fcu [expr -5.07]; # CONCRETE Compressive Strength (+Tension, -Compression) for unconfined concrete. Average of Two-Day of Test
set fcc [expr -6.39]; # CONCRETE Compressive Strength (+Tension, -Compression) for confined concrete, Based on Motaref et al. 2011

# Confined Concrete for core (Based on Motaref et al. 2011)
set fc1UC $fcc; # CONFINED concrete
set eps1UC -0.0046; # strain at maximum strength of confined concrete according to Motaref's model
set fc2UC -4.02; # ultimate stress for confined concrete according to Motaref's model
set eps2UC -0.023; # strain at ultimate stress
#set lambda 0.5; # ratio between unloading slope at $eps2 and initial slope $Ec

# unconfined concrete (Combination of Mander's Model and Jeong's Suggested Model)
set fc1U $fcu; # UNCONFINED concrete, maximum stress
set eps1U -0.002; # strain at maximum strength of unconfined concrete according to the test that should be -0.002805
# set fc2U [expr 0.85*$fc1U]; # ultimate stress
set fc2U 0.0;
set eps2U -0.005; # strain at ultimate stress; There is an error in concrete02 that I have to increase 0.005 to 0.01
#set lambda 0.1; # ratio between unloading slope at $eps2 and initial slope $Ec

# tensile-strength properties
# set ftU [expr -1.0*0.0988*$fc1U]; # tensile strength +tension. According to CSA ft=0.33*f'c^0.5---> ratio ft/f'c=0.051, For ACI Ratio is 0.0988.
# set ftU [expr 7.5/1000*pow( -$fcu*1000,0.5)]; # Based on ACI
#set ftU 0.0; # Found to be the best for ECC
#set Ets [expr 1.0*2.32*$ftU/(0.03+0.0494*$eps1U)]; # tension softening stiffness; Based on Lee and Billiongton modified model,
# puts "Tensile Strangth of Concrete= $ftU"; # ecu between 0.001 and 0.003 and Ets=$ftU*0.136/0.002
# puts "Tensile Stiffness of Concrete= $Ets";

# Mild Steel Rebars
set Fy 66.5; # STEEL yield stress of the test specimen
set Es 29000.0; # modulus of steel
#set Bs 0.015; # strain-hardening ratio for Steel02 model, (fu-fy)/(eu-ey)=0.0156
#set R0 18; # control the transition from elastic to plastic branches
#set cR1 0.925; # control the transition from elastic to plastic branches
#set cR2 0.15; # control the transition from elastic to plastic branches
set Fu 95.0;
set Esh [expr 0.043*$Es]; # According to AASHTO Guide Spec
set esh [expr 0.0125]; # According to AASHTO Guide Spec
set eult 0.09; # According to AASHTO Guide Spec

uniaxialMaterial Concrete01 $IDconcU $fc1U $eps1U $fc2U $eps2U; # build cover concrete (unconfined)
#uniaxialMaterial Concrete02 $IDconC $fc1UC $eps1UC $fc2UC $eps2UC $lambda $ftU $Ets; # build core concrete (confined)
uniaxialMaterial Concrete01 $IDconC $fc1UC $eps1UC $fc2UC $eps2UC; # build core concrete (confined)

uniaxialMaterial ReinforcingSteel $IDreinf $Fy $Fu $Es $Esh $esh $eult -GABuck 2. 2. 1. 0.5 -MPCurveParams 0.38 18 4; # build reinforcement material


########################## Reinforcement including Total Slip ############################
### Total bar slip is a series of duct slip, bar slip, and bar elongation
### See Excel file called "Bond-Slip Effect on Reinforcement Stress-Strain" for updated properties
set Fyb $Fy; # Updated STEEL yield stress including bond-slip effect
set Esb 14756.31; # Updated modulus of steel including bond-slip effect

#set Bsb 0.015; # Updated strain-hardening ratio including bond-slip effect, 0.185
#set R0b 18.; # control the transition from elastic to plastic branches
#set cR1b 0.925; # control the transition from elastic to plastic branches
#set cR2b 0.15; # control the transition from elastic to plastic branches

set Fub $Fu; # Updated Ultimate Strength including bond-slip effect
set Eshb 1716.18; # Updated Strain Hardening Stiffness including bond-slip effect
set eshb 0.015; # Updated Strain @ Strain Hardening including bond-slip effect, for convergancy, I had to reduce it
set eultb 0.093; # Updated Ultimate Strain including bond-slip effect

uniaxialMaterial ReinforcingSteel $IDTotalSlip $Fyb $Fub $Esb $Eshb $eshb $eultb -GABuck 2. 2. 1. 0.5 -MPCurveParams 0.38 18 4;


# FIBER SECTION properties -------------------------------------------------------------
# symmetric section
# y
# ^
# |
# --------------------- -- --
# | o o o | | -- cover
# | | |
# | | |
# z <--- | + | H
# | | |
# | | |
# | o o o | | -- cover
# --------------------- -- --
# |-------- B --------|
#
# Rectangular Fiber RC section for Column------------------
set numBarsIntBeam 0; # TOTAL number of reinforcing bars on the intermediate layers
set barAreaIntBeam $barAreaBeam; # longitudinal-reinforcement bar area

set nfCoreY 50; # number of fibers in the core patch in the y direction
set nfCoreZ 50; # number of fibers in the core patch in the z direction
set nfCoverY 50; # number of fibers in the cover patches with long sides in the y direction
set nfCoverZ 50; # number of fibers in the cover patches with long sides in the z direction
# rectangular section with one layer of steel at top and bottom and a confined core.
source BuildRCrectSection.tcl; # procedure for definining RC fiber section
# BuildRCrectSection $RecColSecTag $HBeam $BBeam $CoverH $CoverB $coreID $coverID $steelID $numBarsTopBeam $barAreaTopBeam $numBarsBotBeam $barAreaBotBeam $numBarsIntBeam $barAreaIntBeam $nfCoreY $nfCoreZ $nfCoverY $nfCoverZ;
BuildRCrectSection $BeamSecTag $HBeam $BBeam $coverBeam $coverBeam $IDconC $IDconcU $IDreinf $numBarsBeam $barAreaBeam $numBarsBeam $barAreaBeam $numBarsIntBeam $barAreaIntBeam $nfCoreY $nfCoreZ $nfCoverY $nfCoverZ;

# rectangular section with one layer of steel at top and bottom and a confined core.
source BuildRCrectSection.tcl; # procedure for definining RC fiber section
# BuildRCrectSection $RecColSecTag $HBeam $BBeam $CoverH $CoverB $coreID $coverID $steelID $numBarsTopBeam $barAreaTopBeam $numBarsBotBeam $barAreaBotBeam $numBarsIntBeam $barAreaIntBeam $nfCoreY $nfCoreZ $nfCoverY $nfCoverZ;
BuildRCrectSection $ZeroLengthSecTag $HBeam $BBeam $coverBeam $coverBeam $IDconC $IDconcU $IDTotalSlip $numBarsBeam $barAreaBeam $numBarsBeam $barAreaBeam $numBarsIntBeam $barAreaIntBeam $nfCoreY $nfCoreZ $nfCoverY $nfCoverZ;


# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
set BeamTransfTag 1; # associate a tag to column transformation
geomTransf Linear $BeamTransfTag;

# element connectivity:
set numIntgrPts 5; # number of integration points for force-based element
element nonlinearBeamColumn 1 55 2 $numIntgrPts $BeamSecTag $BeamTransfTag; # self-explanatory when using variables

element zeroLengthSection 2 1 55 $ZeroLengthSecTag;

# Define RECORDERS -------------------------------------------------------------
recorder Node -file Data/DFree.out -time -node 2 -dof 2 disp; # displacements of free nodes
recorder Node -file Data/RBase.out -time -node 1 -dof 1 2 reaction; # support reaction

recorder Element -file Data/FCol.out -time -ele 1 globalForce; # element forces -- beam

# define GRAVITY -------------------------------------------------------------
set WBeam [expr $Weight/$LBeam];
pattern Plain 1 Linear {;
eleLoad -ele 1 -type -beamUniform -$WBeam; # distributed self-weight on beam

# load 2 0 -0.45 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
analyze $NstepGravity; # apply gravity
# ------------------------------------------------- maintain constant gravity loads and reset time to zero
loadConst -time 0.0;

puts "Model Built";


# execute this file after you have built the model, and after you apply gravity
#

# 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 2; # degree of freedom of displacement read for displacement control
# characteristics of cyclic analysis
set iDmax "0.01 0.018 0.03 0.045"; # vector of displacement-cycle peaks, in terms of storey drift ratio

set Dincr [expr 0.001*$LBeam]; # displacement increment for pushover. you want this to be very small, but not too small to slow down the analysis
set Fact $LBeam; # scale drift ratio by storey height for displacement cycles
set CycleType Full; # you can do Full / Push / Half cycles with the proc
set Ncycles 1; # specify the number of cycles at each peak

# create load pattern for lateral pushover load
set Hload [expr $Weight/20.]; # 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
set iPushNode "2"; # define nodes where lateral load is applied in static lateral analysis
pattern Plain 200 Linear {; # define load pattern -- generalized
foreach PushNode $iPushNode {
load $PushNode 0.0 -$Hload 0.0
}
}

# ----------- set up analysis parameters
source LibAnalysisStaticParameters.tcl; # constraintsHandler,DOFnumberer,system-ofequations,convergenceTest,solutionAlgorithm,integrator

# --------------------------------- perform Static Cyclic Displacements Analysis
source LibGeneratePeaks.tcl
set fmt1 "%s Cyclic analysis: CtrlNode %.3i, dof %.1i, Disp=%.4f %s"; # format for screen/file output of DONE/PROBLEM analysis
foreach Dmax $iDmax {
set iDstep [GeneratePeaks $Dmax $Dincr $CycleType $Fact]; # this proc is defined above
for {set i 1} {$i <= $Ncycles} {incr i 1} {
set zeroD 0
set D0 0.0
foreach Dstep $iDstep {
set D1 $Dstep
set Dincr [expr $D1 - $D0]
integrator DisplacementControl $IDctrlNode $IDctrlDOF $Dincr
analysis Static
# ----------------------------------------------first analyze command------------------------
set ok [analyze 1]
# ----------------------------------------------if convergence failure-------------------------
if {$ok != 0} {
# if analysis fails, we try some other stuff
# performance is slower inside this loop global maxNumIterStatic; # max no. of iterations performed before "failure to converge" is ret'd
if {$ok != 0} {
puts "Trying Newton with Initial Tangent .."
test NormDispIncr $Tol 2000 0
algorithm Newton -initial
set ok [analyze 1]
test $testTypeStatic $TolStatic $maxNumIterStatic 0
algorithm $algorithmTypeStatic
}
if {$ok != 0} {
puts "Trying Broyden .."
algorithm Broyden 8
set ok [analyze 1 ]
algorithm $algorithmTypeStatic
}
if {$ok != 0} {
puts "Trying NewtonWithLineSearch .."
algorithm NewtonLineSearch 0.8
set ok [analyze 1]
algorithm $algorithmTypeStatic
}
if {$ok != 0} {
set putout [format $fmt1 "PROBLEM" $IDctrlNode $IDctrlDOF [nodeDisp $IDctrlNode $IDctrlDOF] $LunitTXT]
puts $putout
return -1
}; # end if
}; # end if
# -----------------------------------------------------------------------------------------------------
set D0 $D1; # move to next step
}; # end Dstep
}; # end i
}; # end of iDmaxCycl
# -----------------------------------------------------------------------------------------------------
set LunitTXT inch;
if {$ok != 0 } {
puts [format $fmt1 "PROBLEM" $IDctrlNode $IDctrlDOF [nodeDisp $IDctrlNode $IDctrlDOF] $LunitTXT]
} else {
puts [format $fmt1 "DONE" $IDctrlNode $IDctrlDOF [nodeDisp $IDctrlNode $IDctrlDOF] $LunitTXT]
}
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: zero length element

Post by fmk »

you need additional constraints at node 55 .. the section only provides stiffness in 2 components (axial and moment), no shear.
Post Reply