Infill frame analysis failed, Help required.

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

Moderators: silvia, selimgunay, Moderators

Post Reply
Shankar
Posts: 2
Joined: Thu Oct 24, 2013 8:33 am
Location: Edith Cowan University

Infill frame analysis failed, Help required.

Post by Shankar »

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
Post Reply