Hi there,
I'm trying to do 2D pushover analyse of the infill frame. I have modelled concrete frame and done the analysis which shows the good result. But when I tried to model infill pane with concrete01 material and truss element the analysis fails . I've tried to assign hinge connection at the end of diagonal strut for infill wall.
Warning during gravity and pushover analysis is
WARNING BandGenLinLapackSolver::solve<>-LAPACK routine returened 1
WARNING NewtonRaphson::solveCurrentStep<>-the LinearSysOFEqn faied in solve
Hers is my model.
Somebody Please help. (May be there is some simple mistakes but couldn't figure it out myself)
# Create ModelBuilder (with two-dimensions and 3 DOF/node)
model basic -ndm 2 -ndf 3
# Create nodes
# ------------
# Set parameters for overall model geometry
set width 2337
set height 1536.5
# Create nodes
# tag X Y
node 1 0.0 0.0
node 2 $width 0.0
node 3 0.0 $height
node 4 $width $height
node 5 $width 0.0
node 6 0.0 $height
# Fix supports at base of columns
# tag DX DY RZ
fix 1 1 1 1
fix 2 1 1 1
equalDOF 2 5 1 2
equalDOF 3 6 1 2
# Define materials for nonlinear columns# ------------------------------------------
# CONCRETE tag f'c ec0 f'cu ecu
# Cover concrete (unconfined)
uniaxialMaterial Concrete01 2 -30.89 -0.0023 -7.19 -0.012
# STEEL
# Reinforcing steel
set E 200000.0; # Young's modulus
# tag fy E0 b
uniaxialMaterial Steel01 3 367.6 $E 0.025
# tag fy E0 b
uniaxialMaterial Steel01 4 420.7 $E 0.025
# tag fy E0 b
uniaxialMaterial Steel01 5 413.8 $E 0.025
#Define confined concrete for column
#uniaxialMaterial ConfinedConcrete01 $tag $secType $fpc $Ec -epscu $epscu $nu $L1 $phis $S $fyh $Es0 $haRatio $mu $phiLon -stRatio $stRatio
uniaxialMaterial ConfinedConcrete01 6 S1 -30.89 28103.8 -epscu -0.0308 -varub 120.85 6.35 64.0 367.6 200000.0 0.025 1000.0 12.7 -stRatio 0.85
#Define confined concrete for beam
#uniaxialMaterial ConfinedConcrete01 $tag $secType $fpc $Ec -epscu $epscu $nu $L1 $L2 $phis $S $fyh $Es0 $haRatio $mu $phiLon -stRatio $stRatio
uniaxialMaterial ConfinedConcrete01 7 R -30.89 28103.8 -epscu -0.0308 -varub 171.85 94.85 6.35 76.0 367.6 200000.0 0.025 1000.0 15.9 -stRatio 0.85
#Define material for masonry infill
uniaxialMaterial Concrete01 8 -9.5 -0.0027 -1.99 -0.0041
# Define cross-section for nonlinear columns
# ------------------------------------------
# set some paramaters
set colWidth 178
set colDepth 178
set beamWidth 152
set beamDepth 229
set cover 25.4
set As4 126.68; # area of no. 8 bars
set As5 198.56; # area of no. 4 bars
# some variables derived from the parameters
set y1 [expr $colDepth/2.0]
set z1 [expr $colWidth/2.0]
set y2 [expr $beamDepth/2.0]
set z2 [expr $beamWidth/2.0]
section Fiber 1 {
# Create the concrete core fibers
patch rect 6 10 1 [expr $cover-$y1] [expr $cover-$z1] [expr $y1-$cover] [expr $z1-$cover]
# Create the concrete cover fibers (top, bottom, left, right)
patch rect 2 10 1 [expr -$y1] [expr $z1-$cover] $y1 $z1
patch rect 2 10 1 [expr -$y1] [expr -$z1] $y1 [expr $cover-$z1]
patch rect 2 2 1 [expr -$y1] [expr $cover-$z1] [expr $cover-$y1] [expr $z1-$cover]
patch rect 2 2 1 [expr $y1-$cover] [expr $cover-$z1] $y1 [expr $z1-$cover]
# Create the reinforcing fibers (left, middle, right)
layer straight 4 3 $As4 [expr $y1-$cover] [expr $z1-$cover] [expr $y1-$cover] [expr $cover-$z1]
layer straight 4 2 $As4 0.0 [expr $z1-$cover] 0.0 [expr $cover-$z1]
layer straight 4 3 $As4 [expr $cover-$y1] [expr $z1-$cover] [expr $cover-$y1] [expr $cover-$z1]
}
section Fiber 2 {
# Create the concrete core fibers
patch rect 7 10 1 [expr $cover-$y2] [expr $cover-$z2] [expr $y2-$cover] [expr $z2-$cover]
# Create the concrete cover fibers (top, bottom, left, right)
patch rect 2 10 1 [expr -$y2] [expr $z2-$cover] $y2 $z2
patch rect 2 10 1 [expr -$y2] [expr -$z2] $y2 [expr $cover-$z2]
patch rect 2 2 1 [expr -$y2] [expr $cover-$z2] [expr $cover-$y2] [expr $z2-$cover]
patch rect 2 2 1 [expr $y2-$cover] [expr $cover-$z2] $y2 [expr $z2-$cover]
# Create the reinforcing fibers (left, middle, right)
layer straight 5 2 $As5 [expr $y2-$cover] [expr $z2-$cover] [expr $y2-$cover] [expr $cover-$z2]
layer straight 5 0 $As5 0.0 [expr $z2-$cover] 0.0 [expr $cover-$z2]
layer straight 5 2 $As5 [expr $cover-$y2] [expr $z2-$cover] [expr $cover-$y2] [expr $cover-$z2]
}
# Define column elements
# ----------------------
# Geometry of column elements
# tag
geomTransf Linear 1
# Number of integration points along length of element
set np 10
set eleType nonlinearBeamColumn; # forceBeamColumn od dispBeamColumn will work
# Create the coulumns using Beam-column elements
# tag ndI ndJ nsecs secID transfTag
element $eleType 1 1 3 $np 1 1 0.0 1 10e-16
element $eleType 2 2 4 $np 1 1 0.0 1 10e-16
# Define beam elment
# -----------------------------
# Geometry of beam elements
# tag
geomTransf Linear 2
set eleType nonlinearBeamColumn; # forceBeamColumn od dispBeamColumn will work
# Create the coulumns using Beam-column elements
# tag ndI ndJ nsecs secID transfTag
element $eleType 3 3 4 $np 2 2 0.0 1 10e-16
element zeroLength 10 3 6 -mat 2 8 -dir 1 2
element zeroLength 20 2 5 -mat 2 8 -dir 1 2
# Define infill element.
# tag ndI ndJ A mattag
element truss 4 6 5 38148.67 8
# Define gravity loads
# --------------------
# Set a parameter for the axial load
set P 146666.67; #(33 kips)
# Create a Plain load pattern with a Linear TimeSeries
timeSeries Linear 1
pattern Plain 1 1 {
# Create nodal loads at nodes 3 & 4
# nd FX FY MZ
load 3 0.0 [expr -$P] 0.0
load 4 0.0 [expr -$P] 0.0
}
# Create the system of equation, a sparse solver with partial pivoting
system BandGeneral
# Create the constraint handler, the transformation method
constraints Transformation
# Create the DOF numberer, the reverse Cuthill-McKee algorithm
numberer RCM
# Create the convergence test, the norm of the residual with a tolerance of
# 1e-12 and a max number of iterations of 10
test NormDispIncr 1.0e-12 10 3
# Create the solution algorithm, a Newton-Raphson algorithm
algorithm Newton
# Create the integration scheme, the LoadControl scheme using steps of 0.1
integrator LoadControl 0.1
# Create the analysis object
analysis Static
# Perform the analysis
analyze 10
# Set the gravity loads to be constant & reset the time in the domain
loadConst -time 0.0
# Define reference lateral loads for Pushover Analysis
# ----------------------------------------------------
# Set some parameters
set H 100000.0; # Reference lateral load
# Set lateral load pattern with a Linear TimeSeries
pattern Plain 2 "Linear" {
# Create nodal loads at nodes 3
# nd FX FY MZ
load 3 $H 0.0 0.0
}
# Create a recorder to monitor nodal displacements
recorder Node -file Data/node3new.out -load -node 3 -dof 1 disp
recorder Node -file Data/Displacement.out -node 3 -dof 1 disp;
recorder Element -file Data/Load.out -load ;
# Create a recorder to monitor element forces in columns
recorder EnvelopeElement -file ele123new.out -ele 3 forces
# Create the system of equation, a sparse solver with partial pivoting
system BandGeneral
# Create the constraint handler, the transformation method
constraints Transformation
# Create the DOF numberer, the reverse Cuthill-McKee algorithm
numberer RCM
# Create the convergence test, the norm of the residual with a tolerance of
# 1e-12 and a max number of iterations of 10
test NormDispIncr 1.0e-12 10 3
# Create the solution algorithm, a Newton-Raphson algorithm
algorithm Newton
# Create the integration scheme, the LoadControl scheme using steps of 0.1
integrator LoadControl 0.1
# Create the analysis object
analysis Static
# Perform the analysis
analyze 10
----------------------------------------------------
# Start of modifications to analysis for push over
# ----------------------------------------------------
# Set some parameters
set dU 1; # Displacement increment
# Change the integration scheme to be displacement control
# node dof init Jd min max
integrator DisplacementControl 3 1 $dU 10 $dU $dU
# ----------------------------------------------------
# End of modifications to analysis for push over
# ----------------------------------------------------
# ------------------------------
# Start of recorder generation
# ------------------------------
# Stop the old recorders by destroying them
# remove recorders
# Create a recorder to monitor nodal displacements
recorder Node -file node3.out -node 3 -dof 1 disp
# Create a recorder to monitor element forces in columns
recorder EnvelopeElement -file ele32.out -time -ele 1 2 forces
# Define RECORDERS -------------------------------------------------------------
recorder Node -file Data/DFree.out -time -node 3 -dof 1 2 3 disp; # displacements of free nodes
recorder Node -file Data/DBase.out -time -node 1 -dof 1 2 3 disp; # displacements of support nodes
recorder Node -file Data/RBase.out -time -node 1 -dof 1 2 3 reaction; # support reaction
recorder Drift -file Data/Drift.out -time -iNode 1 -jNode 3 -dof 1 -perpDirn 2 ; # lateral drift
recorder Element -file Data/FCol.out -time -ele 2 globalForce; # element forces -- column
recorder Element -file Data/ForceColSec1.out -time -ele 1 section 1 force; # Column section forces, axial and moment, node i
recorder Element -file Data/DefoColSec1.out -time -ele 1 section 1 deformation; # section deformations, axial and curvature, node i
recorder Element -file Data/ForceColSec$numIntgrPts.out -time -ele 1 section $numIntgrPts force; # section forces, axial and moment, node j
recorder Element -file Data/DefoColSec$numIntgrPts.out -time -ele 1 section 1 deformation; # section deformations, axial and curvature, node j
# --------------------------------
# End of recorder generation
# ---------------------------------
# ------------------------------
# Finally perform the analysis
# ------------------------------
# Set some parameters
set maxU 64.0; # Max displacement
set currentDisp 0.0;
set ok 0
while {$ok == 0 && $currentDisp < $maxU} {
set ok [analyze 1]
# if the analysis fails try initial tangent iteration
if {$ok != 0} {
puts "regular newton failed .. lets try an initail stiffness for this step"
test NormDispIncr 1.0e-12 1000
algorithm ModifiedNewton -initial
set ok [analyze 1]
if {$ok == 0} {puts "that worked .. back to regular newton"}
test NormDispIncr 1.0e-12 10
algorithm Newton
}
set currentDisp [nodeDisp 3 1]
}
if {$ok == 0} {
puts "Pushover analysis completed SUCCESSFULLY";
} else {
puts "Pushover analysis FAILED";
}
# Print the state at node 3
print node 3
Infill frame analysis failed, Help required.
Moderators: silvia, selimgunay, Moderators