Getting Started
G
S
with
OpenSees
Vesna Terzic
UC Berkeley
September 2011
Agenda
g
IIntroduction
t d ti to
t OpenSees
O S
Introduction to Tcl programming language
Demonstration of how to download OpenSees
interpreter and install Tcl/Tk
Discussion
Di
i off OpenSees
O S
R
Resources ((command
d
manual, getting started manual, examples manual,
message board)
Example of how to create and run a small
structure
Q&A with web participants
What is OpenSees?
p
A software framework (written primarelly in C++)
for simulation applications in earthquake
engineering using finite element methods.
methods
It is open-source software framework
A communication
i ti mechanism
h i for
f exchanging
h i andd
building upon research accomplishments
OpenSees is fast,
fast stable,
stable efficient in solving large
nonlinear models with multiple runs
To make FEM in OpenSees you need to know
basics of Tcl programing language
OpenSees
p
Framework
How Do People Use the
OpenSees Framework?
Provide their own main() function in C++ and link to
framework.
Use OpenSees interpreters ([Link],
O S SP
[Link],
O
[Link]).
S MP
) Th
These are
extensions of the Tcl interpreters (tclsh, wish) which
have been extended to commands for finite element
analysis:
1.
2
2.
3.
Modeling create nodes, elements, loads and constraints
Analysis specify the analysis procedure
procedure.
Output specification specify what it is you want to monitor
during the analysis.
Being interpreters means that the files you create and
submit to the OpenSees interpreters are not input files.
You are creating and submitting PROGRAMS.
What is Tcl?
Tcl is a dynamic programming
language.
It is a string based command language.
language
Variables and variable substitution
Expression evaluation
Basic control structures (if , while,
while for,
for foreach)
Procedures
File manipulation
Sourcing other files.
files
Command Syntax
y
and Tutorial
Command syntax:
command arg1 arg2
Help:
p
[Link]
Tcl examples
p
((1))
variables & variable substitution
>set a 1
1
>set b a
a
>set b $a
1
lists
>set a {1 2 three}
1 2 three
>set la [llength $a]
3
>set start [lindex $a 0]
1
>lappend a four
1 2 three four
expression evaluation
>expr 2 + 3
5
>set b [expr 2 + $b]
3
sourcing
g other files
>source [Link]
file manipulation
>set fileId [open tmp w]
>puts $fileId hello
>close $fileID
>type tmp
hello
Tcl examples
p
((2))
control structures
> for {set i 1} {$i < 10} {incr i 1} {
puts i equals $i
}
> set sum 0
foreach value {{1 2 3 4}} {
set sum [expr $sum + $value]
}
>puts $sum
10
procedures
>proc guess {value} {
if {$value < $sum} {
puts
t too
t low
l
} else {
if {$value > $sum} {
puts too high
p
g
} else {
puts you got it!
}
}
}
> guess 9
too low
Tcl examples
p
((3))
If you add, subtract, multiply and divide two
integer numbers the result is an integer.
> set a [expr 1/2]
0
If you add, subtract, multiply and divide an integer
number and a floating
floating-point
point number, then the
result is a floating-point number.
>set b [expr 1./2]
05
0.5
Tcl does not work with ordinary decimal fractions,
but with binaryy fractions
>set c [expr 1.2/0.1]
11.999999999999998
Downloading [Link] and
I t lli T
Installing
Tcl/Tk
l/Tk
Download [Link] and tcl/tk from here:
[Link]
[Link]
p p
Tutorial on installing tcl/tk:
[Link] berkeley edu/wiki/index php/Getti
[Link]
ng_Started_with_OpenSees_-_Download_OpenSees
Running OpenSees through
NEESh b
NEEShub
In addition to being a platform that runs on a personal computer,
OpenSees can be used through the OpenSeesLaboratory tool of
NEEShub. By using this free tool, users can run analyses remotely on
the NEEShub machines that are extremely fast. This can be very
useful
f l to advanced
d
d OpenSees users because
b
iit will
ill ddrastically
i ll decrease
d
computational time for large models or analyses that need to perform
many runs. For new users, the OpenSeesLaboratory tool allows you to
trial OpenSees without any initial set-up
set up or installation
installation.
Here you can find tutorial on how to run OpenSees through NEEShub:
[Link]
O S
NEESh b
OpenSees
p
Resources
Getting Started Manual:
Man al:
[Link]
Command Manual:
[Link]
Examples Manuals:
[Link]
Message Board:
[Link]
Descovering OpenSees web-based learning series:
[Link] berkeley edu/wiki/index php/Discovering Open
[Link]
Sees
Example of how to create and
run a smallll structure
t t
[Link]
_analysis_of_a_two-storey_one-bay_frame
Questions?