-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
884e684
commit ae60a1a
Showing
133 changed files
with
7,934,450 additions
and
937 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,207 @@ | ||
# OpenSees -- Open System for Earthquake Engineering Simulation | ||
# Pacific Earthquake Engineering Research Center | ||
# http://opensees.berkeley.edu/ | ||
# | ||
# Portal Frame Example 3.1 | ||
# ------------------------ | ||
# Reinforced concrete one-bay, one-story frame | ||
# Distributed vertical load on girder | ||
# | ||
# Example Objectives | ||
# ----------------- | ||
# Nonlinear beam-column elements | ||
# Gravity load analysis and eigenvalue analysis | ||
# | ||
# | ||
# Units: kips, in, sec | ||
# | ||
# Written: GLF/MHS/fmk | ||
# Date: January 2001 | ||
|
||
# ------------------------------ | ||
# Start of model generation | ||
# ------------------------------ | ||
|
||
# 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 360 | ||
set height 144 | ||
|
||
# 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 | ||
|
||
|
||
# Fix supports at base of columns | ||
# tag DX DY RZ | ||
fix 1 1 1 1 | ||
fix 2 1 1 1 | ||
|
||
# Define materials for nonlinear columns | ||
# ------------------------------------------ | ||
# CONCRETE tag f'c ec0 f'cu ecu | ||
# Core concrete (confined) | ||
uniaxialMaterial Concrete01 1 -6.0 -0.004 -5.0 -0.014 | ||
|
||
# Cover concrete (unconfined) | ||
uniaxialMaterial Concrete01 2 -5.0 -0.002 0.0 -0.006 | ||
|
||
# STEEL | ||
# Reinforcing steel | ||
set fy 60.0; # Yield stress | ||
set E 30000.0; # Young's modulus | ||
# tag fy E0 b | ||
uniaxialMaterial Steel01 3 $fy $E 0.001 | ||
|
||
# Define cross-section for nonlinear columns | ||
# ------------------------------------------ | ||
|
||
# set some parameters | ||
set colWidth 15 | ||
set colDepth 24 | ||
|
||
set cover 1.5 | ||
set As 0.60; # area of no. 7 bars | ||
|
||
# some variables derived from the parameters | ||
set y1 [expr $colDepth/2.0] | ||
set z1 [expr $colWidth/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, middle, right) | ||
layer straight 3 3 $As [expr $y1-$cover] [expr $z1-$cover] [expr $y1-$cover] [expr $cover-$z1] | ||
layer straight 3 2 $As 0.0 [expr $z1-$cover] 0.0 [expr $cover-$z1] | ||
layer straight 3 3 $As [expr $cover-$y1] [expr $z1-$cover] [expr $cover-$y1] [expr $cover-$z1] | ||
|
||
} | ||
|
||
|
||
# Define column elements | ||
# ---------------------- | ||
|
||
# Geometry of column elements | ||
# tag | ||
# geomTransf Corotational 1 | ||
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 | ||
set eleType nonlinearBeamColumn | ||
set eleType forceBeamColumn | ||
element $eleType 1 1 3 $np 1 1 | ||
element $eleType 2 2 4 $np 1 1 | ||
|
||
# Define beam element | ||
# ----------------------------- | ||
|
||
# Geometry of column elements | ||
# tag | ||
#geomTransf Linear 2 | ||
geomTransf Linear 2 | ||
|
||
# Create the beam element | ||
# tag ndI ndJ A E Iz transfTag | ||
element elasticBeamColumn 3 3 4 360 4030 8640 2 | ||
|
||
|
||
# Define gravity loads | ||
# -------------------- | ||
|
||
# Set a parameter for the axial load | ||
set P 180; # 10% of axial capacity of columns | ||
|
||
# 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 3 0.0 [expr -$P] 0.0 | ||
load 4 0.0 [expr -$P] 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 NormDispIncr 1.0e-12 10 0 | ||
|
||
# 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 | ||
|
||
# ------------------------------ | ||
# End of analysis generation | ||
# ------------------------------ | ||
|
||
|
||
|
||
# ------------------------------ | ||
# Start of recorder generation | ||
# ------------------------------ | ||
|
||
# Create a recorder to monitor nodal displacements | ||
#recorder Node -file nodeGravity.out -time -node 3 4 -dof 1 2 3 disp | ||
|
||
# -------------------------------- | ||
# End of recorder generation | ||
# --------------------------------- | ||
|
||
|
||
# ------------------------------ | ||
# Finally perform the analysis | ||
# ------------------------------ | ||
|
||
# perform the gravity load analysis, requires 10 steps to reach the load level | ||
analyze 10 | ||
|
||
# Print out the state of nodes 3 and 4 | ||
#print node 3 4 | ||
|
||
# Print out the state of element 1 | ||
#print ele 1 2 3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,152 @@ | ||
# OpenSees -- Open System for Earthquake Engineering Simulation | ||
# Pacific Earthquake Engineering Research Center | ||
# http://opensees.berkeley.edu/ | ||
# | ||
# Portal Frame Example 3.2 | ||
# ------------------------ | ||
# Reinforced concrete one-bay, one-story frame | ||
# Distributed vertical load on girder | ||
# Lateral Load at top of frame | ||
# | ||
# | ||
# Example Objectives | ||
# ----------------- | ||
# Nonlinear pushover analysis using Portal Frame Example 1 as starting point | ||
# | ||
# Units: kips, in, sec | ||
# | ||
# Written: GLF/MHS/fmk | ||
# Date: January 2001 | ||
|
||
# ---------------------------------------------------- | ||
# Start of Model Generation & Initial Gravity Analysis | ||
# ---------------------------------------------------- | ||
|
||
# Do operations of Example3.1 by sourcing in the tcl file | ||
source ArcLength01.tcl | ||
puts "Gravity load analysis completed"; | ||
|
||
# Set the gravity loads to be constant & reset the time in the domain | ||
loadConst -time 0.0 | ||
|
||
# ---------------------------------------------------- | ||
# End of Model Generation & Initial Gravity Analysis | ||
# ---------------------------------------------------- | ||
|
||
|
||
# ---------------------------------------------------- | ||
# Start of additional modelling for lateral loads | ||
# ---------------------------------------------------- | ||
|
||
# Define lateral loads | ||
# -------------------- | ||
|
||
# Set some parameters | ||
set H 10.0; # Reference lateral load | ||
|
||
# Set lateral load pattern with a Linear TimeSeries | ||
pattern Plain 2 "Linear" { | ||
|
||
# Create nodal loads at nodes 3 & 4 | ||
# nd FX FY MZ | ||
load 3 $H 0.0 0.0 | ||
load 4 $H 0.0 0.0 | ||
} | ||
|
||
# ---------------------------------------------------- | ||
# End of additional modelling for lateral loads | ||
# ---------------------------------------------------- | ||
|
||
|
||
|
||
# ---------------------------------------------------- | ||
# Start of modifications to analysis for push over | ||
# ---------------------------------------------------- | ||
|
||
# Set some parameters | ||
set dU 0.1 | ||
# Displacement increment | ||
|
||
# Change the integration scheme to be displacement control | ||
# node dof init Jd min max | ||
#integrator DisplacementControl 3 1 $dU 1 $dU $dU | ||
integrator ArcLength 0.0075 1.0 | ||
set deltal 0.0075 | ||
set psi_u 1.0 | ||
set psi_f 0.0 | ||
set u_ref 1.0 | ||
|
||
|
||
# integrator HSConstraint $deltal $psi_u $psi_f $u_ref | ||
|
||
|
||
# ---------------------------------------------------- | ||
# 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 out/node32.out -time -node 3 4 -dof 1 2 3 disp | ||
#recorder plot node32.out hi 10 10 300 300 -columns 2 1 | ||
|
||
# Create a recorder to monitor element forces in columns | ||
#recorder Element -file out/ele32.out -time -ele 1 2 localForce | ||
|
||
# -------------------------------- | ||
# End of recorder generation | ||
# --------------------------------- | ||
|
||
|
||
# ------------------------------ | ||
# Finally perform the analysis | ||
# ------------------------------ | ||
|
||
# Set some parameters | ||
set maxU 4.5; # Max displacement | ||
set numSteps [expr int($maxU/$dU)] | ||
|
||
# Perform the analysis | ||
set currentDisp [nodeDisp 3 1] | ||
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 0 | ||
algorithm ModifiedNewton -initial | ||
set ok [analyze 1] | ||
if {$ok == 0} { | ||
puts "that worked .. back to regular newton" | ||
} else { | ||
break | ||
} | ||
test NormDispIncr 1.0e-12 10 | ||
algorithm Newton | ||
} | ||
|
||
set currentDisp [nodeDisp 3 1] | ||
} | ||
|
||
puts ""; | ||
if {$ok == 0} { | ||
puts "Pushover analysis completed SUCCESSFULLY"; | ||
} else { | ||
puts "Pushover analysis FAILED"; | ||
} | ||
|
||
# Print the state at node 3 | ||
print node 3 | ||
|
||
exit $ok; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
source ArcLength02.tcl | ||
|
Oops, something went wrong.