Professional Documents
Culture Documents
Nonlinear Modeling of RC Structures Using Opensees: University of Naples Federico Ii
Nonlinear Modeling of RC Structures Using Opensees: University of Naples Federico Ii
Lecture 1
Introduction and basic commands
part 1 - theory
open-source software
What is OpenSees?
OpenSees is an open-source software for structural modeling and analysis
✓ free
open-source software
✓ free
open-source software ✓ each user can access the code lines associated with whichever existing command
Language: C++
What is OpenSees?
OpenSees is an open-source software for structural modeling and analysis
✓ free
open-source software ✓ each user can access the code lines associated with whichever existing command
✓ each user can add new commands (e.g., materials, elements etc.) to the software
Even the user guide can be edited by registered users at: http://opensees.berkeley.edu/wiki/index.php/Main_Page
Tcl language
Not in the course program basic OpenSees-oriented tcl programming will be taught Not in the course program
Tcl language
Not in the course program basic OpenSees-oriented tcl programming will be taught Not in the course program
Not in the course program basic OpenSees-oriented tcl programming will be taught Not in the course program
Not in the course program basic OpenSees-oriented tcl programming will be taught Not in the course program
However, for our purposes, tcl language is used to call OpenSees functions
Tcl language
For our purposes, Tcl language is used to call OpenSees functions
Tcl language
For our purposes, Tcl language is used to call OpenSees functions
X
Tcl language
For our purposes, Tcl language is used to call OpenSees functions
X
Tcl language
For our purposes, Tcl language is used to call OpenSees functions
X
node 1
Tcl language
For our purposes, Tcl language is used to call OpenSees functions
X
node 1
Tcl language
For our purposes, Tcl language is used to call OpenSees functions
X
node 1 node 2
Tcl language
For our purposes, Tcl language is used to call OpenSees functions
X
node 1 node 2
Tcl language
For our purposes, Tcl language is used to call OpenSees functions
X
node 1 node 2
Tcl language
For our purposes, Tcl language is used to call OpenSees functions
X
node 1 node 2
Tcl language
For our purposes, Tcl language is used to call OpenSees functions
X
node 1 node 2
Tcl language
For our purposes, Tcl language is used to call OpenSees functions
X
node 1 element 1 node 2
Tcl language
For our purposes, Tcl language is used to call OpenSees functions
X
node 1 element 1 node 2
Tcl language
For our purposes, Tcl language is used to call OpenSees functions
X
node 1 element 1 node 2
Tcl language
For our purposes, Tcl language is used to call OpenSees functions
X
node 1 element 1 node 2
What objects are?
Tcl language
To run a structural analysis in OpenSees, different types of objects shall be constructed by means of appropriate commands.
Tcl language
To run a structural analysis in OpenSees, different types of objects shall be constructed by means of appropriate commands.
An aggregation of different types of objects constitutes a domain.
▪ model
▪ node
▪ mass
▪ SP_constraint
▪ MP_constraint
▪ uniaxialMaterial
▪ section
▪ element
▪ timeSeries
▪ pattern
▪ … and others
Tcl language
To run a structural analysis in OpenSees, different types of objects shall be constructed by means of appropriate commands.
An aggregation of different types of objects constitutes a domain.
▪ model ▪ constraints
▪ node ▪ numberer
▪ mass ▪ system
▪ SP_constraint ▪ test
▪ MP_constraint ▪ algorithm
▪ uniaxialMaterial ▪ integrator
▪ section ▪ analysis
▪ element ▪ eigen
▪ timeSeries ▪ analyze
▪ pattern ▪ … and others
▪ … and others
Tcl language
To run a structural analysis in OpenSees, different types of objects shall be constructed by means of appropriate commands.
An aggregation of different types of objects constitutes a domain.
wipe command
This command is used to destroy all constructed objects, i.e. all components of the model, all components of the analysis and all
recorders.
wipe
Usually, the wipe command is used at the very beginning of the main tcl script, similarly to
clc
clear all
in MATLAB
example:
wipe
MODELING COMMANDS
model command
This command is used to define spatial dimension of model and number of degrees-of-freedom at nodes.
example:
model BasicBuilder -ndm 3 -ndf 6
MODELING COMMANDS
model command
This command is used to define spatial dimension of model and number of degrees-of-freedom at nodes.
example:
model BasicBuilder -ndm 3 -ndf 6
MODELING COMMANDS
node command
This command is used to construct a Node object. It assigns coordinates and masses to the Node object.
example:
node 1 0 0 0 Construct a node object at (0,0,0) coordinates
node 2 0 1000 0 Construct a node object at (0,1000,0) coordinates
MODELING COMMANDS
node command
This command is used to construct a Node object. It assigns coordinates and masses to the Node object.
example:
node 1 0 0 0 Construct a node object at (0,0,0) coordinates
node 2 0 1000 0 Construct a node object at (0,1000,0) coordinates
node 2 0 1000 1000 –mass 200 0 200 0 0 0 Construct a node object at (0,1000,1000) coordinates with mass equal
to 200 active along X and Z global axes
MODELING COMMANDS
node command
This command is used to construct a Node object. It assigns coordinates and masses to the Node object.
example:
node 1 0 0 0 Construct a node object at (0,0,0) coordinates
node 2 0 1000 0 Construct a node object at (0,1000,0) coordinates
node 2 0 1000 1000 –mass 200 0 200 0 0 0 Construct a node object at (0,1000,1000) coordinates with mass equal
to 200 active along X and Z global axes
Units are not specified nor declared. The user shall use consistent units for the entire model.
For example, if lengths are given in mm and forces in N, the elastic modulus of materials shall be provided in N/mm2
MODELING COMMANDS
mass command
example:
node 1 0 0 0 Construct a node object at (0,0,0) coordinates
node 2 0 1000 0 Construct a node object at (0,1000,0) coordinates
mass command
example:
node 1 0 0 0 Construct a node object at (0,0,0) coordinates
node 2 0 1000 0 Construct a node object at (0,1000,0) coordinates
mass command
example:
node 1 0 0 0 Construct a node object at (0,0,0) coordinates
node 2 0 1000 0 Construct a node object at (0,1000,0) coordinates
example:
node 1 0 0 0 Construct a node object at (0,0,0) coordinates
node 2 0 1000 0 Construct a node object at (0,1000,0) coordinates
MODELING COMMANDS
example:
node 1 0 0 0 Construct a node object at (0,0,0) coordinates
node 2 0 1000 0 Construct a node object at (0,1000,0) coordinates
example:
node 1 0 0 0 Construct a node object at (0,0,0) coordinates
node 2 0 1000 0 Construct a node object at (0,1000,0) coordinates
example:
node 1 0 0 0 Construct a node object at (0,0,0) coordinates
node 2 0 1000 0 Construct a node object at (0,1000,0) coordinates
MODELING COMMANDS
example:
node 1 0 0 0 Construct a node object at (0,0,0) coordinates
node 2 0 1000 0 Construct a node object at (0,1000,0) coordinates
example:
node 1 0 0 0 Construct a node object at (0,0,0) coordinates
node 2 0 1000 0 Construct a node object at (0,1000,0) coordinates
MODELING COMMANDS
example:
node 1 0 0 0 Construct a node object at (0,0,0) coordinates
node 2 0 1000 0 Construct a node object at (0,1000,0) coordinates
rigidLink beam 1 2 Impose the displacements of node 2 equal to those of node 1 at dofs 1,2,3,4,5,6
MODELING COMMANDS
This command is used to construct a number of Multi-Point Constraint (MP_Constraint) objects. These objects will constraint
certain degrees-of-freedom at the listed slave nodes to move as if in a rigid plane with the master node.
rigidDiaphragm $perpDirn $masterNodeTag $slaveNodeTag1 $slaveNodeTag2 ...
$perpDirn direction perpendicular to the rigid plane (i.e. direction 3 corresponds to the 1-2 plane)
$masterNodeTag integer tag identifying the master node
$slaveNodeTag1 $slaveNodeTag2 ... integer tags identifying the slave node
MODELING COMMANDS
This command is used to construct a number of Multi-Point Constraint (MP_Constraint) objects. These objects will constraint
certain degrees-of-freedom at the listed slave nodes to move as if in a rigid plane with the master node.
rigidDiaphragm $perpDirn $masterNodeTag $slaveNodeTag1 $slaveNodeTag2 ...
$perpDirn direction perpendicular to the rigid plane (i.e. direction 3 corresponds to the 1-2 plane)
$masterNodeTag integer tag identifying the master node
$slaveNodeTag1 $slaveNodeTag2 ... integer tags identifying the slave node
example:
Z
node 5 node 4
Y
node 10
node 2 node 3
X
MODELING COMMANDS
This command is used to construct a number of Multi-Point Constraint (MP_Constraint) objects. These objects will constraint
certain degrees-of-freedom at the listed slave nodes to move as if in a rigid plane with the master node.
rigidDiaphragm $perpDirn $masterNodeTag $slaveNodeTag1 $slaveNodeTag2 ...
$perpDirn direction perpendicular to the rigid plane (i.e. direction 3 corresponds to the 1-2 plane)
$masterNodeTag integer tag identifying the master node
$slaveNodeTag1 $slaveNodeTag2 ... integer tags identifying the slave node
example:
Z
node 5 node 4
Y
node 10
node 2 node 3
rigidDiaphragm 3 10 2 3 4 5 Nodes 2,3,4,5 are constrained to Node 10 by a rigid diaphragm perpendicular to Z global axis