Nonlinear Modeling with OpenSees
SE220 Fall 2015
Instructor: Professor Gilberto Mosqueda
Tutorial by Alireza Sarebanha
UC San Diego
Material used for this presentation are mostly from OpenSees
website/command manuals and SE201B Lecture Notes by Prof. Conte.
OpenSees
OpenSees is a software framework for building finite element applications in
structural and geotechnical systems.
These applications run on both sequential, parallel, and distributed computer
systems.
A framework IS a set of cooperating software components for building
applications in a specific domain.
The OpenSees framework is written primarily in the object oriented language
C++; though other languages namely C and Fortran are also used.
Existing Softwares short comes:
Embedding of computational procedures in codes makes it difficult to experiment
(integration schemes, algorithms, solvers) and take advantage of computing
technology (Parallel & Grid Computing)
Closed-sourcewas/is the norm, whereas other fields have adopted opensourcesoftware for communitiesof users. Closed source is an impediment to new
research. No sharing of code, building upon others ideas.
Download and Install OpenSees & Tcl
http://opensees.berkeley.edu/
After downloading the Tcl/Tk executable you will need to run it to install the
DLL's on your computer. As can be seen in the downloading section of the
Getting Started Manual you will be asked were to install the files. Currently
the default is C:\tcl. It is essential that you change this to "C:\Program
Files\Tcl" during the course of the installation. If when you start OpenSees,
you see an error message to the effect, "Cannot find tcl85.dll", you have
skipped this step and must reinstall tcl. Note that you wil probably have to
uninstall the version you just installed first.
Tcl
OpenSees Interpreters
The OpenSees interpreters are tcl interpreters which
have been extended to include commands for finite
element analysis:
1. Modeling create nodes, elements, loads and constraints
2. Analysis specify the analysis procedure.
3. Output specification specify what it is you want to
monitor during the analysis.
Being interpreters, this means that the files you create
and submit to the OpenSees interpreters are not input
files. You are creating and submitting PROGRAMS.
Main Abstractions in OpenSees Framework
OpenSees Wiki
What is a Domain?
Material
Materials
Steel02 Material -- Giuffr-Menegotto-Pinto Model with Isotropic Strain Hardening
Model command
Truss Example
Why Nonlinear Analysis
Transformation
Building Model - Transformation
Force Based and Displacement Based
Integration Points
PDelta Gravity Column
What is an Analysis?
Analysis
Analysis
Constraint command
The Constraint Handler object determines how the constraint equations are enforced in the analysis.
Constraint equations enforce a specified value for a DOF, or a relationship between DOFs.
Numberer command
The DOF_Numberer object determines the mapping between equation numbers and degrees-offreedom -- how degrees-of-freedom are numbered.
System command
This command is used to construct the LinearSOE
and LinearSolver objects to store and solve the system
of equations in the analysis
- to specify how matrix equation KU = R is stored and solved
Analysis
Test command
Certain Solution Algorithm objects require a Convergence Test object to
determine if convergence has been achieved at the end of an iteration step
Analysis
Algorithm command
This command is used to construct a Solution Algorithm object, which
determines the sequence of steps taken to solve the non-linear equation
Analysis
Integrator command
Analysis
Newmark integrator
(SE 201B lecture notes , Prof. Cont
Analysis
Newmark integrator
(SE 201B lecture notes , Prof. Cont
Analysis - Static
Analysis - Transient
Analyze Command
Example Analysis
Example Displacement Control
Example Transient Analysis
Eigenvalue Analysis
Output Options
Recorder Options
Extras
Using OpenSees in Batch Mode
Calling OpenSees from a matlab script
# invoke Matlab
!OpenSees opsScript.tcl
.Parallel processing using OpenSeesSp
.Sensitivity, Reliability and Optimization Analysis
http://opensees.berkeley.edu/wiki/index.php/Sensitivity_Analysis
http://opensees.berkeley.edu/OpenSees/workshops/OpenSeesDays2011/B5_MHS.pdf
http://jaguar.ucsd.edu/OpenSees.html
OpenSees Resource
Message Board
http://opensees.berkeley.edu/community/index.php
Getting Started Manual
http://opensees.berkeley.edu/wiki/index.php/Getting_Started
Command Manual
http://opensees.berkeley.edu/wiki/index.php/Command_Manual
User Examples
http://opensees.berkeley.edu/wiki/index.php/Examples
OpenSees Workshops/Days
http://opensees.berkeley.edu/wiki/index.php/OpenSeesDays2011
Conclusion
OpenSees is a powerful tool for performing FE analysis
It NEEDS contributions from others to grow
OpenSees LIKE ANY simulation tool requires the user to
understand the theory and limitations
OpenSees (if features are fully utilized!) will allow you to
generate models faster and more accurately than you could
with a GUI and will allow you to obtain information on the
Uncertainty using parallel computing resources that is the
dominant computer architecture available today.
Notes
OpenSees is primarily a research tool at this time, but fairly
stable and is used in professional practice
As with any nonlinear analysis, it requires careful
consideration of model and interpretation of results
It is under continual development by students, faculty and
other researchers
User interface development lags behind computational
technology
It is not bullet-proof
An investment of time and learning is required
The OpenSees open-source community requires contributions
for the community to succeed.
Ask these question from yourself before modeling
Data: Geometry and material properties
e.g., set span 100; node 1 $span 0;
What kind of Material Model are you going to use ?
e.g., elastic, Steel01, Concrete01,
What kind of elements are you going to use?
e.g., truss, zeroLength, dispBeamColumn, forceBeamColumn ,
What type of constraints?
e.g., fix, equalDOF,
What kind of loads or excitation?
e.g., pattern
What kind of analysis are you going to perform?
e.g., analysis Static
What kind of response do you want to monitor/record?
e.g., recorder,
(Yong Li)
Building Model - Geometry
OpenSees doesnt have a built-in units!
Use consistent units!
Building Model
1
15
node $nodeTag (ndm $coords)
node $nodeTag $xcor $ycor
5
16
Building Model - Constraints
SP (single point constraint)
MP (multiple points constraint)
# Hinge connection (between truss
elements and gravity column nodes)
Building Model - Materials
Building Model - Wsections
.
.
.
# section properties (AISC manual)
Building Model - Transformation
# Geometric Nonlinearity
Building Model - Elements
beamWithHinges element object is based on the non-iterative (or iterative) flexibility formulation, and
considers plasticity to be concentrated over specified hinge lengths at the element ends.
Note, the beamWithHinges element localize plastic hinging at the element ends only.
This type of element divides the element in three parts:
two hinges at the ends,
and a linear-elastic region in the middle.
The hinges are defined by assigning to each a previously-defined section. The length of the each hinge
is also specified by the user:
http://opensees.berkeley.edu/OpenSees/manuals/usermanual/628.htm
Building Model BeamWithHinges Element
Integration points
The beamWithHinges element used here has four elastic sections and two fiber
section at the end. Therefore for output in specifying $secNum:
$secNum=1: hinge at node i
$secNum=6: hinge at node j
http://opensees.berkeley.edu/OpenSees/manuals/usermanual/628.htm
Building Model - Elements
Building Model Mass and Gravity Loads
Building Model Gravity Analysis
Building Model Eigenvalue analysis
Building Model Damping
Building Model EQ excitation
Building Model Transient Analysis
Building Model Recorders (outputs)
Recorders
Nodes:
Elements:
Use: Use exit to finish and
wipe before running the
next one.
Pushover Analysis
Pattern
Displacement Control/Intergrator
Load Control/Intergrator
Adaptive Pushover?
Requires eigen analysis during pushover analysis
New eigenvectors will be used to change the pattern
Ruaumoko Elements
Ruaumoko Elements
Ruaumoko Elements
Ruaumoko Elements
Ruaumoko Elements
Ruaumoko Elements
Plastic hinge zone and rotation capacities
(Prof. Andrew Whittaker