Skip to content

Commit

Permalink
cmp - rebuild site
Browse files Browse the repository at this point in the history
  • Loading branch information
claudioperez committed May 21, 2024
1 parent 884e684 commit ae60a1a
Show file tree
Hide file tree
Showing 133 changed files with 7,934,450 additions and 937 deletions.
2 changes: 1 addition & 1 deletion categories/basic/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -415,7 +415,7 @@ <h6 class="text-muted link-underline">Read More <i class="bi bi-arrow-right"></i
<a href="https://stairlab.github.io/opensees-gallery/examples/example5/">
<div class="card h-100 single-post-card shadow-effect bg-faded-light border">
<div class="card-body">
<h3 class="fw-bold post-title">Example 5: Three-Dimensional Rigid Frame</h3>
<h3 class="fw-bold post-title">Example 5: Rigid 3D Frame</h3>


<p class="post-meta">
Expand Down
2 changes: 1 addition & 1 deletion categories/basic/index.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
<description>In this example the use of variable substitution and the Tcl loop control structure for building models is demonstrated.&#xA;Example 4.</description>
</item>
<item>
<title>Example 5: Three-Dimensional Rigid Frame</title>
<title>Example 5: Rigid 3D Frame</title>
<link>https://stairlab.github.io/opensees-gallery/examples/example5/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://stairlab.github.io/opensees-gallery/examples/example5/</guid>
Expand Down
2 changes: 1 addition & 1 deletion categories/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ <h4 class="accordion-header ms-2"> basic

<a href="https://stairlab.github.io/opensees-gallery/examples/example4/" class="list-group-item">Example 4: Multibay Two Story Frame</a>

<a href="https://stairlab.github.io/opensees-gallery/examples/example5/" class="list-group-item">Example 5: Three-Dimensional Rigid Frame</a>
<a href="https://stairlab.github.io/opensees-gallery/examples/example5/" class="list-group-item">Example 5: Rigid 3D Frame</a>

<a href="https://stairlab.github.io/opensees-gallery/examples/example6/" class="list-group-item">Example 6: Simply Supported Beam</a>

Expand Down
207 changes: 207 additions & 0 deletions examples/ArcLength/ArcLength01.tcl
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
152 changes: 152 additions & 0 deletions examples/ArcLength/ArcLength02.tcl
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;

2 changes: 2 additions & 0 deletions examples/ArcLength/test.tcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
source ArcLength02.tcl

Loading

0 comments on commit ae60a1a

Please sign in to comment.