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
Infill frame model seems to be not working
Moderators: silvia, selimgunay, Moderators