Infill frame model seems to be not working

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

Moderators: silvia, selimgunay, Moderators

Post Reply
sonamd
Posts: 4
Joined: Wed Mar 11, 2015 6:54 pm
Location: Edith Cowan University

Infill frame model seems to be not working

Post by sonamd »

Hi there
I have been trying to model an infill frame in OpenSees by using CorotTruss element. I am not sure if the codings are correct because when I run it for whatever the values of horizontal force (H), I get almost the same displacement ( of around 50 mm) in the horizontal direction. I am just around few weeks old using OpenSees. So please help me and tell me what is wrong. My coding is as given below:
#==============================
#Script to analyse portal frame (with diagonal strut)
#Units N mm sec
wipe
model BasicBuilder -ndm 2 -ndf 3

#Geometric Parameters
set colWidth 178; # 178 mm
set colDepth 178; # 178 mm
set beamWidth 152; # 152 mm
set beamDepth 229; # 229 mm
set beamLength 2337; # 2.337 m
set colHeight 1536.5; # 1.5365 m high

#Create nodes
node 1 0.0 0.0
node 2 $beamLength 0.0
node 3 0.0 $colHeight
node 4 $beamLength $colHeight

#Boundary conditions
fix 1 1 1 1
fix 2 1 1 1

#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 -26.8 26172.95 -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 -26.8 26172.95 -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 materials for nonlinear columns
# CONCRETE tag f'c ec0 f'cu ecu

# Cover concrete (unconfined)
uniaxialMaterial Concrete01 2 -26.8 -0.0027 -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 material for infill
uniaxialMaterial Concrete01 8 -14.21 -0.00195 -6.395 -0.00810

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 element
# -----------------------------

# 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


# 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
# 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 0.0; # Reference lateral load


# Define infill element.

# tag ndI ndJ A mattag
element CorotTruss 4 2 3 21523.68 8

# 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 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 100
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.01
integrator LoadControl 0.01

# 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

# Finally perform the analysis
# ------------------------------

# Set some parameters
set maxU 50.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"} else {puts "Pushover analysis failed"}

# Print the state at node 3
print node 3



The results I get are (for any loading):


print node 3WARNING: CTestNormDispIncr::test() - failed to converge
after: 10 iterations
NewtnRaphson::solveCurrentStep() -the ConvergenceTest object failed in test()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at load factor -4871.21
OpenSees > analyze failed, returned: -3 error flag
regular newton failed .. lets try an initail stiffness for this step
that worked .. back to regular newton
OpenSees > OpenSees > OpenSees > Pushover analysis completed
OpenSees > OpenSees > OpenSees >

Node: 3
Coordinates : 0 1536.5
Disps: 50.8518 2.28766 -0.00815794
Velocities : 0 0 0
unbalanced Load: 212079 -146667 0
ID : 3 4 5
Post Reply