The numerical instability can be attributed to the non-convergence at a high level of nonlinearity. In general, we refer to this numerical instability as “collapse” of the structure. The drifts at collapse can be considered to be infinite. However, the calculation is always convergent until the max displacement of the top of the column is more than 2m when I run a static pushover analysis on a RC bridge column with 5m height. Actually, the longitudinal steels have already been yielded and the core concrete has already reached ultimate strain respectively when the max displacement of the top of the column was 0.015m and 0.05m respectively. Why??
Thanks for your attention!
# Create ModelBuilder
# -------------------
model BasicBuilder -ndm 3 -ndf 6
#Units: ton, KN, m, KPa
# Define geometry
# ---------------
# NodeCoord.tcl
# Node tag xCrd yCrd zCrd
node 1 +0.000000E+000 +0.000000E+000 +0.000000E+000
node 2 +0.000000E+000 +0.000000E+000 +0.500000E+001
# NodeMass.tcl
# Node tag mx my mz mIx mIy mIz
mass 2 +1200 +1200 +1200 +1.000000E-012 +1.000000E-012 +1.000000E-012
# SPConstraint.tcl
# SPC tag Dx Dy Dz Rx Ry Rz
fix 1 1 1 1 1 1 1
# Materials.tcl
# Material "core concrete": matTag fc' epsc0 fcu' epsu
uniaxialMaterial Concrete01 2 -3.183000E+004 -3.877000E-003 -2.756500E+004 -1.110000E-002
# Material "cover concrete": matTag fc' epsc0 fcu' epsu
uniaxialMaterial Concrete01 3 -2.680000E+004 -2.000000E-003 +0.000000E+000 -6.000000E-003
# Material "Material01": matTag E eta
uniaxialMaterial Elastic 4 +1.394792E+007 +0.000000E+000
# Material "steel": matTag Fy E b R0 cR1 cR2 a1 a2 a3 a4
uniaxialMaterial Steel02 5 +3.350000E+005 +2.000000E+008 +1.000000E-002 +1.850000E+001 +9.250000E-001 +1.500000E-001 +0.000000E+000 +1.000000E+000 +0.000000E+000 +1.000000E+000
# Sections.tcl
# Section "column section": secTag
section Fiber 2 {
# PatchCirc "cover concrete patch": matTag nfcirc nfrad y z intRad extRad <startAng endAng>
patch circ 3 12 2 +0.000000E+000 +0.000000E+000 +0.85000000E+000 +9.000000E-001 +0.000000E+000 +3.600000E+002
# PatchCirc "core concrete patch": matTag nfcirc nfrad y z intRad extRad <startAng endAng>
patch circ 2 12 10 +0.000000E+000 +0.000000E+000 +0.000000E+000 +8.500000E-001 +0.000000E+000 +3.600000E+002
# LayerCircular "steel layer": matTag numBar areaBar y z radius <startAng endAng>
layer circ 5 40 +6.158000E-004 +0.000000E+000 +0.000000E+000 +8.50000E-001 +9.000000E+000 +3.600000E+002
}
# Section "1.6m-ColumnSection": secTag matTag string ... -section secTag
section Aggregator 3 4 T -section 2
# GeoTran type tag vec_xz
geomTransf PDelta 1 0 1 0
# Elements.tcl
# Element "column element": eleTag NodeI NodeJ NIP secTag GeoTranTag Mass MaxIters Tol
element nonlinearBeamColumn 1 1 2 5 3 1 -mass +0.000000E+000 -iter 100 +1.000000E-006
# TimeSeries.tcl
# TimeSeries "LinearDefault": cFactor
set LinearDefault "Linear -factor +1.000000E+000"
# Get Initial Stiffness
# ---------------------
initialize
# Analysis: gravityAnalysisCase
# +++++++++++++++++++++++++++++
# Define load pattern
# -------------------
# LoadPattern_1.tcl
# LoadPattern "gravityloadpattern": patternTag TimeSeries
pattern Plain 1 $LinearDefault {
# Load nodeTag LoadValues
load 2 +0.000000E+000 +0.000000E+000 -12000 +0.000000E+000 +0.000000E+000 +0.000000E+000
}
# Analysis_1_Recorder.tcl
# Node Recorder "driftoftopcolumn": fileName <nodeTag> dof respType
#recorder Node -file gravityAnalysisCase_NodeDsp.out -time -node 5 -dof 1 2 3 4 5 6 disp
# AnalysisOptn "gravityanalysis": Type: Static
# --------------------------------------------
constraints Plain
test NormDispIncr +1.000000E-004 100 0 2
integrator LoadControl +1.000000
algorithm Newton
numberer RCM
system ProfileSPD
analysis Static
analyze 1
# Reset for next analysis case
# ----------------------------
loadConst -time 0.0
remove recorders
#wipeAnalysis
# Analysis: Pushover Analysis
# ++++++++++++++++++
# Define load pattern
# -------------------
# LoadPattern_2.tcl
# LoadPattern "staticpushover": patternTag TimeSeries
pattern Plain 2 $LinearDefault {
# Load nodeTag LoadValues
load 2 +2.000000E+003 +0.000000E+000 +0.000000E+000 +0.000000E+000 +0.000000E+000 +0.000000E+000
}
# BeamColumn Recorder "steelfiberStress-Strain": fileName <eleTag> arguments
recorder Element -file pushover_BeamColumn_GlbForc.out -time -ele 1 globalForce;
# Max stress-strain of core concrete and steel at the first yielding
recorder Element -file pushover_BeamColumn_steelfiberStress-Strain_FibSigEps_Sec1.out -time -ele 1 section 1 fiber -8.50000E-001 +0.000000E+000 5 stressStrain;
recorder Element -file pushover_BeamColumn_coreconcretefiberStress-Strain_FibSigEps_Sec1.out -time -ele 1 section 1 fiber 8.50000E-001 +0.000000E+000 2 stressStrain;
# Node Recorder "driftoftopcolumn": fileName <nodeTag> dof respType
recorder Node -file pushover_driftoftopcolumn_Dsp.out -node 2 -dof 1 disp
# AnalysisOptn "pushover": Type: Static
# -------------------------------------
constraints Plain
test NormDispIncr +1.000000E-006 100 0 2
integrator DisplacementControl 2 1 +1.000000E-003
algorithm Newton
numberer RCM
system ProfileSPD
analysis Static
analyze 2000
# Clean up
# --------
wipe
A convergent problem!
Moderators: silvia, selimgunay, Moderators