Previous Topic

Next Topic

Book Contents

Example 3.2

In this example the nonlinear reinforced concrete portal frame which has undergone the gravity load analysis of Example 3.1 is now subjected to a pushover analysis.

Files Required

Model

After performing the gravity load analysis on the model, the time in the domain is reset to 0.0 and the current value of all loads acting are held constant. A new load pattern with a linear time series and horizontal loads acting at nodes 3 and 4 is then added to the model.

Analysis

The static analysis used to perform the gravity load analysis is modified to take a new DisplacementControl integrator. At each new step in the analysis the integrator will determine the load increment necessary to increment the horizontal displacement at node 3 by 0.1 in. 60 analysis steps are performed in this new analysis.

Output Specification

For this analysis the nodal displacements at nodes 3 and 4 will be stored in the file nodePushover.out for post-processing. In addition, the end forces in the local coordinate system for elements 1 and 2 will be stored in the file elePushover.out. At the end of the analysis, the state of node 3 is printed to the screen.

OpenSees Script

# OpenSees Example 3.2

# OpenSees Primer

#

# Units: kips, in, sec

# ----------------------------------------------------

# Start of Model Generation & Initial Gravity Analysis

# ----------------------------------------------------

# Do operations of Example3.1 by sourcing in the tcl file

source Example3.1.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 modeling 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 modeling 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

# ----------------------------------------------------

# End of modifications to analysis for push over

# ----------------------------------------------------

# ------------------------------

# Start of recorder generation

# ------------------------------

# Create a recorder to monitor nodal displacements

recorder Node -file node32.out -time -node 3 4 -dof 1 2 3 disp

# Create a recorder to monitor element forces in columns

recorder Element -file ele32.out -time -ele 1 2 localForce

# --------------------------------

# End of recorder generation

# ---------------------------------

# ------------------------------

# Finally perform the analysis

# ------------------------------

# Set some parameters

set maxU 6.0; # Max displacement

set numSteps [expr int($maxU/$dU)]

# Perform the analysis

analyze $numSteps

puts ``Pushover analysis completed''

# Print the state at node 3

print node 3

Results

Gravity load analysis completed

Setting time in domain to be : 0.0

Pushover analysis completed

Node: 3

Coordinates : 0 144

commitDisps: 6 0.488625 -0.00851377

unbalanced Load: 71.8819 -180 0

In addition to what is displayed on the screen, the file node32.out and ele32.out have been created by the script. Each line of node32.out contains the time, DX, DY and RZ for node 3 and DX, DY and RZ for node 4 at the end of an iteration. Each line of eleForce.out contains the time, and the element end forces in the local coordinate system. A plot of the load-displacement relationship at node 3 is shown in figure~\ref{lateral32}.

FIGURE HERE

See Also

Portal Frame

Example 3.1

Example 3.3

PortalFrame.tcl