In order to get the hysteretic curve of a concrete frame that retrofitted with CFRP,I do the push-over analysis with the help of OpenSees Manual,but I can't get the output data.Please help me check my scripts!Thank you!
# Example Objectives
# -----------------
# Nonlinear beam-column elements
# Units: N, mm, sec
#
# ------------------------------
# Start of model generation
# ------------------------------
# Create ModelBuilder (with two-dimensions and 3 DOF/node)
model basic -ndm 2 -ndf 3
file mkdir data; # create data directory
# Create nodes
# ------------
# Set parameters for overall model geometry
set width 3000
set height 1500
# Create nodes
# tag X Y
node 1 0.0 0.0
node 2 0.0 100.0
node 3 0.0 200.0
node 4 0.0 300.0
node 5 0.0 400.0
node 6 0.0 500.0
node 7 0.0 750.0
node 8 0.0 1000.0
node 9 0.0 1100.0
node 10 0.0 1200.0
node 11 0.0 1300.0
node 12 0.0 1400.0
node 13 0.0 $height
node 14 100.0 $height
node 15 200.0 $height
node 16 300.0 $height
node 17 400.0 $height
node 18 500.0 $height
node 19 1000.0 $height
node 20 2000.0 $height
node 21 2500.0 $height
node 22 2600.0 $height
node 23 2700.0 $height
node 24 2800.0 $height
node 25 2900.0 $height
node 26 $width $height
node 27 $width 1400.0
node 28 $width 1300.0
node 29 $width 1200.0
node 30 $width 1100.0
node 31 $width 1000.0
node 32 $width 750.0
node 33 $width 500.0
node 34 $width 400.0
node 35 $width 300.0
node 36 $width 200.0
node 37 $width 100.0
node 38 $width 0.0
# Fix supports at base of columns
# tag DX DY RZ
fix 1 1 1 1
fix 38 1 1 1
# Define materials for nonlinear columns
# ------------------------------------------
# CONCRETE tag f'c ec0 f'cu ecu
# Core concrete (confined)
uniaxialMaterial Concrete01 1 -20.3 -0.004 -11.9 -0.014
# Cover concrete (unconfined)
uniaxialMaterial Concrete01 2 -11.9 -0.002 0.0 -0.006
# Core concrete ( CFRP confined)
uniaxialMaterial Concrete01 3 -30.45 -0.008 -17.85 -0.028
# Cover concrete (CFRP unconfined)
uniaxialMaterial Concrete01 4 -17.85 -0.004 0.0 -0.012
# STEEL
# Reinforcing steel
set fy1 358.0; # Yield stress
set E1 19940.0; # Young's modulus
set fy2 343.0
set E2 20560.0
# tag fy E0 b
uniaxialMaterial Steel01 5 $fy1 $E1 0.01
uniaxialMaterial Steel01 6 $fy2 $E2 0.01
#CFRP
set E 3550
uniaxialMaterial Elastic 7 $E
# Define cross-section for nonlinear columns
# ------------------------------------------
# set some paramaters
set colWidth 250
set colDepth 250
set cover 25
set As1 1018; # area of no. 4 bars
set colCFRPWidth 250.222
set colCFRPDepth 250.222
set CFRPDepth 0.111
# some variables derived from the parameters
set y1 [expr $colDepth/2.0]
set z1 [expr $colWidth/2.0]
set y2 [expr $colCFRPDepth/2.0]
set z2 [expr $colCFRPDepth/2.0]
section Fiber 1 {
# Create the concrete core fibers
patch rect 1 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,right)
layer straight 6 2 $As1 [expr $y1-$cover] [expr $z1-$cover] [expr $y1-$cover] [expr $cover-$z1]
layer straight 6 2 $As1 [expr $cover-$y1] [expr $z1-$cover] [expr $cover-$y1] [expr $cover-$z1]
}
section Fiber 2 {
# Create the concrete core fibers
patch rect 3 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 4 10 1 [expr -$y1] [expr $z1-$cover] $y1 $z1
patch rect 4 10 1 [expr -$y1] [expr -$z1] $y1 [expr $cover-$z1]
patch rect 4 2 1 [expr -$y1] [expr $cover-$z1] [expr $cover-$y1] [expr $z1-$cover]
patch rect 4 2 1 [expr $y1-$cover] [expr $cover-$z1] $y1 [expr $z1-$cover]
# Create the reinforcing fibers (left,right)
layer straight 6 2 $As1 [expr $y1-$cover] [expr $z1-$cover] [expr $y1-$cover] [expr $cover-$z1]
layer straight 6 2 $As1 [expr $cover-$y1] [expr $z1-$cover] [expr $cover-$y1] [expr $cover-$z1]
# Create the CFRP fibers (top, bottom,left,right)
patch rect 7 10 1 [expr -$y2] [expr $z2-$CFRPDepth] $y2 $z2
patch rect 7 10 1 [expr -$y2] [expr -$z2] $y2 [expr $CFRPDepth-$z2]
patch rect 7 2 1 [expr -$y2] [expr $CFRPDepth-$z2] [expr $CFRPDepth-$y2] [expr $z2-$CFRPDepth]
patch rect 7 2 1 [expr $y2-$CFRPDepth] [expr $CFRPDepth-$z2] $y2 [expr $z2-$CFRPDepth]
}
# Define column elements
# ----------------------
# Geometry of column elements
# tag
geomTransf Linear 1
# Number of integration points along length of element
set np 5
# Create the coulumns using Beam-column elements
# tag ndI ndJ nsecs secID transfTag
element nonlinearBeamColumn 1 1 2 $np 2 1
element nonlinearBeamColumn 2 2 3 $np 2 1
element nonlinearBeamColumn 3 3 4 $np 2 1
element nonlinearBeamColumn 4 4 5 $np 2 1
element nonlinearBeamColumn 5 5 6 $np 2 1
element nonlinearBeamColumn 6 6 7 $np 1 1
element nonlinearBeamColumn 7 7 8 $np 1 1
element nonlinearBeamColumn 8 8 9 $np 2 1
element nonlinearBeamColumn 9 9 10 $np 2 1
element nonlinearBeamColumn 10 10 11 $np 2 1
element nonlinearBeamColumn 11 11 12 $np 2 1
element nonlinearBeamColumn 12 12 13 $np 2 1
element nonlinearBeamColumn 13 38 37 $np 2 1
element nonlinearBeamColumn 14 37 36 $np 2 1
element nonlinearBeamColumn 15 36 35 $np 2 1
element nonlinearBeamColumn 16 35 34 $np 2 1
element nonlinearBeamColumn 17 34 33 $np 2 1
element nonlinearBeamColumn 18 33 32 $np 1 1
element nonlinearBeamColumn 19 32 31 $np 1 1
element nonlinearBeamColumn 20 31 30 $np 2 1
element nonlinearBeamColumn 21 30 29 $np 2 1
element nonlinearBeamColumn 22 29 28 $np 2 1
element nonlinearBeamColumn 23 28 27 $np 2 1
element nonlinearBeamColumn 24 27 26 $np 2 1
# Define beam elment
# -----------------------------
# Geometry of column elements
# tag
geomTransf Linear 2
# Create the beam element
# set some paramaters
set beamWidth 250
set beamDepth 150
set beamCFRPWidth 250.222
set beamCFRPDepth 150.222
set As2 452; # area of no. 4 bars
# some variables derived from the parameters
set y3 [expr $beamDepth/2.0]
set z3 [expr $beamWidth/2.0]
set y4 [expr $beamCFRPDepth/2.0]
set z4 [expr $beamCFRPWidth/2.0]
section Fiber 3 {
# Create the concrete core fibers
patch rect 1 10 1 [expr $cover-$y3] [expr $cover-$z3] [expr $y3-$cover] [expr $z3-$cover]
# Create the concrete cover fibers (top, bottom,left,right)
patch rect 2 10 1 [expr -$y3] [expr $z3-$cover] $y3 $z3
patch rect 2 10 1 [expr -$y3] [expr -$z3] $y3 [expr $cover-$z3]
patch rect 2 2 1 [expr -$y3] [expr $cover-$z3] [expr $cover-$y3] [expr $z3-$cover]
patch rect 2 2 1 [expr $y3-$cover] [expr $cover-$z3] $y3 [expr $z3-$cover]
# Create the reinforcing fibers (left,right)
layer straight 5 2 $As2 [expr $cover-$y3] [expr $cover-$z3] [expr $cover-$y3] [expr $z3-$cover]
layer straight 5 2 $As2 [expr $y3-$cover] [expr $cover-$z3] [expr $y3-$cover] [expr $z3-$cover]
}
section Fiber 4 {
# Create the concrete core fibers
patch rect 1 10 1 [expr $cover-$y3] [expr $cover-$z3] [expr $y3-$cover] [expr $z3-$cover]
# Create the concrete cover fibers (top, bottom,left,right)
patch rect 2 10 1 [expr -$y3] [expr $z3-$cover] $y3 $z3
patch rect 2 10 1 [expr -$y3] [expr -$z3] $y3 [expr $cover-$z3]
patch rect 2 2 1 [expr -$y3] [expr $cover-$z3] [expr $cover-$y3] [expr $z3-$cover]
patch rect 2 2 1 [expr $y3-$cover] [expr $cover-$z3] $y3 [expr $z3-$cover]
# Create the reinforcing fibers (left,right)
layer straight 5 2 $As2 [expr $cover-$y3] [expr $cover-$z3] [expr $cover-$y3] [expr $z3-$cover]
layer straight 5 2 $As2 [expr $y3-$cover] [expr $cover-$z3] [expr $y3-$cover] [expr $z3-$cover]
# Create the CFRP fibers (top, bottom,left,right)
patch rect 7 10 1 [expr -$y4] [expr $z4-$CFRPDepth] $y4 $z4
patch rect 7 10 1 [expr -$y4] [expr -$z2] $y4 [expr $CFRPDepth-$z4]
patch rect 7 2 1 [expr -$y4] [expr $CFRPDepth-$z4] [expr $CFRPDepth-$y4] [expr $z4-$CFRPDepth]
patch rect 7 2 1 [expr $y4-$CFRPDepth] [expr $CFRPDepth-$z4] $y4 [expr $z4-$CFRPDepth]
}
# Number of integration points along length of element
set np 5
# Create the coulumns using Beam-column elements
# tag ndI ndJ nsecs secID transfTag
element nonlinearBeamColumn 25 13 14 $np 4 2
element nonlinearBeamColumn 26 14 15 $np 4 2
element nonlinearBeamColumn 27 15 16 $np 4 2
element nonlinearBeamColumn 28 16 17 $np 4 2
element nonlinearBeamColumn 29 17 18 $np 4 2
element nonlinearBeamColumn 30 18 19 $np 3 2
element nonlinearBeamColumn 31 19 20 $np 3 2
element nonlinearBeamColumn 32 20 21 $np 3 2
element nonlinearBeamColumn 33 21 22 $np 4 2
element nonlinearBeamColumn 34 22 23 $np 4 2
element nonlinearBeamColumn 35 23 24 $np 4 2
element nonlinearBeamColumn 36 24 25 $np 4 2
element nonlinearBeamColumn 37 25 26 $np 4 2
recorder Node -file Data/Node2.out -time -node 2 -dof 1 reaction;# support reaction
# Define gravity loads
# --------------------
# Set a parameter for the axial load
set N 100000;
set P 18000;
set F 6000;
# Create a Plain load pattern with a Linear TimeSeries
pattern Plain 1 "Linear" {
# Create nodal loads at nodes 3 & 4
# nd FX FY MZ
load 13 0.0 [expr -$N] 0.0
load 19 0.0 [expr -$F] 0.0
load 20 0.0 [expr -$F] 0.0
load 26 0.0 [expr -$N] 0.0
}
# initialize in case we need to do an initial stiffness iteration
initialize
# ------------------------------
# End of model generation
# ------------------------------
# ------------------------------
# Start of analysis generation
# ------------------------------
# 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 EnergyIncr 1.0e-10 100 1
# Create the solution algorithm, a Newton-Raphson algorithm
algorithm Newton
# determine the next time step for an analysis, # apply gravity in 10 steps
integrator LoadControl 0.1;
# define type of analysis static or transient
analysis Static
# perform gravity analysis
analyze 10;
set peakpts [list 0.5 8 8 8 14 14 14 18 18 18 20 20 20 24 24 24 30 30 30 60 60 60]
set increment 10
set nodeTag 2
set dofTag 1
proc procRC { incre nodeTag dofTag peakpts } {
set displayTag 0;
set numTimes 150;
set x [lindex $peakpts 0];
set dU [expr $x/$incre];
#set dU0 [expr $dU/1000];
set dU0 [expr $dU/10000];
integrator DisplacementControl $nodeTag $dofTag 0.0 1 $dU $dU
analysis Static
analyze $incre
integrator DisplacementControl $nodeTag $dofTag 0.0 1 [expr -$dU] [expr -$dU]
analyze [expr 2*$incre]
integrator DisplacementControl $nodeTag $dofTag 0.0 1 $dU $dU
analyze $incre
## end the first peak pt start for others
for {set j 1} {$j < [llength $peakpts]} {incr j 1} {
set y [lindex $peakpts $j]
set dSt [expr $y/$dU]
set dS [expr int($dSt)]
test NormDispIncr 1e-8 $numTimes $displayTag
algorithm Newton
############# start loading cycle ##################
set t 0;
while {$t != $dS} {
integrator DisplacementControl $nodeTag $dofTag 0.0 1 $dU $dU
set ok [analyze 1]
incr t 1;
if {$ok != 0} {
# if {$t == $dS} {break};
puts "Displacement control failed ..... trying Arc-Length control"
set currentDisp [nodeDisp $nodeTag $dofTag]
puts "Current Displacement is $currentDisp"
# algorithm Linear
test NormDispIncr 1e-6 $numTimes $displayTag
#algorithm ModifiedNewton
# integrator DisplacementControl $nodeTag $dofTag 0.0 1 $dU0 $dU0
# integrator DisplacementControl $nodeTag $dofTag 0.0 10 $dU0 $dU0
integrator ArcLength [expr $dU0] 1.0
# set ok [analyze 1]
analyze 1
}
# puts "that worked ..... back to regular Newton "
test NormDispIncr 1e-8 $numTimes $displayTag
# algorithm Newton
}
################## end of loading cycle, start unloading cycle ########
set t 0;
while {$t != [expr 2*$dS]} {
integrator DisplacementControl $nodeTag $dofTag 0.0 1 [expr -$dU] [expr -$dU]
set ok [analyze 1]
incr t 1;
if {$ok != 0} {
# if {$t == [expr 2*$dS]} {break};
puts "Displacement control failed ..... trying Arc-Length control"
set currentDisp [nodeDisp $nodeTag $dofTag]
puts "Current Displacement is $currentDisp"
# algorithm Linear
test NormDispIncr 1e-6 $numTimes $displayTag
#algorithm ModifiedNewton
# integrator DisplacementControl $nodeTag $dofTag 0.0 1 [expr -$dU0] [expr -
$dU0]
# integrator DisplacementControl $nodeTag $dofTag 0.0 10 [expr -$dU0] [expr -
$dU0]
integrator ArcLength [expr $dU0] 1.0
# set ok [analyze 1]
analyze 1
}
# puts "that worked .... back to regular Newton "
test NormDispIncr 1e-8 $numTimes $displayTag
# algorithm Newton
}
############# end of unloading cycle, start reloading cycle ###########
set t 0;
while {$t != $dS} {
integrator DisplacementControl $nodeTag $dofTag 0.0 1 $dU $dU
set ok [analyze 1]
incr t 1;
if {$ok != 0} {
# if {$t == $dS} {break};
puts "Displacement control failed ..... trying Arc-Length control"
set currentDisp [nodeDisp $nodeTag $dofTag]
puts "Current Displacement is $currentDisp"
# algorithm Linear
test NormDispIncr 1e-6 $numTimes $displayTag
#algorithm ModifiedNewton
# integrator DisplacementControl $nodeTag $dofTag 0.0 1 $dU0 $dU0
# integrator DisplacementControl $nodeTag $dofTag 0.0 10 $dU0 $dU0
integrator ArcLength [expr $dU0] 1.0
# set ok [analyze 1]
analyze 1
}
# puts "that worked .... back to regular Newton "
test NormDispIncr 1e-8 $numTimes $displayTag
# algorithm Newton
}
######## reloading cycle completed #############################
if {$ok == 0} {
puts "analysis succesful at $y mm displacement";
} else {
puts "analysis could not proceed fine beyond $y mm displacement";
}
}
}
# ------------------------------
# End of analysis generation
# ------------------------------
# End of recorder generation
# --------------------------------
# Print out the state of nodes 1 13 26and 38
print node 1 13 26 38
# Print out the state of element 1 2 3 4 5 24 25 26 27 28
print ele 1 2 3 4 5 24 25 26 27 28
[/quote][/code]
a recorder problem
Moderators: silvia, selimgunay, Moderators
-
- Posts: 4
- Joined: Wed Jan 21, 2009 9:18 pm
- Location: shanghai,china
- Contact:
a recorder problem
I am a student majored in structural engineering.
if you are unable to look at the recorder file, open it after you give the command wipe (or exit opensees) that's when the file is closed byt the program.
let me know if that doesn't solve your problem.
let me know if that doesn't solve your problem.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
-
- Posts: 4
- Joined: Wed Jan 21, 2009 9:18 pm
- Location: shanghai,china
- Contact: