IntroductionOpenSees PDF
IntroductionOpenSees PDF
Frank McKenna
UC Berkeley
Material &
Element Models
Models
Information
Technology Computation
Software framework,
Algorithms & Solvers
Databases, Visualization,
(Sequential, Parallel, Distribued)
Internet/grid computation
Simulation Framework
Main Abstractions in OpenSees
Recorder
}
ElementRecorder
NodeRecorder DataOutputHandler
EnvelopeNodeRecorder
EnvelopElementRecordr
DatebaseRecorder
FilePlotter
Display } Renderer StreamHandler
FileHandler
DatabaseHandler Database
X11
OpenGL
VRML File
MySQL
Oracle
NEES
What is in a Domain?
Domain
Truss
ZeroLength ElementalLoad NodalLoad SP_Constraint
ElasticBeamColumn
NonlinearBeamColumn(force, displacement)
BeamWithHinges Constant
Quad(std, bbar, enhanced, u-p) Linear
Shell Rectangular
Brick(std, bbar, 20node, u-p, u-p-U) Sine
Joint Path
GenericClient
ExperimentalElement
Some Other Classes associated with Elements:
Geometric Transformation
Linear
Pdelta v q
Corotational
Material
Uniaxial nD Section
CTest
StaticAnalysis
TransientAnalysis
StaticIntegrator
Penalty RCM EquiSolnAlgo LoadControl BandGeneral
DispControl
Lagrange MinDegree Linear BandSPD
ArcLength
Transformation NewtonRaphson … ProfileSPD
ModifiedNewton TransientIntegrator SparseGeneral
Broyden Newmark SparseSymmetric
BFGS HHT
KrylovNewton CentralDifference
NewtonLineSearch NewmarkExplicit
HHT_Explicit
AlphaOS
How Do People Use Framework?
• Provide their own main() function in C++ and
link to framework.
• Comand syntax:
command arg1 arg2 …
• Help
1. http://dev.scriptics.com/scripting/primer.html
2. Practical Programming in Tcl and Tk, Brent B. Welch.
Tcl Interpreters
sum of 2 and 3 is 5
Example Tcl •procedures & control structures
for {set i 1} {$i < 10} {incr i 1} {
•variables & variable substitution puts “i equals $i”
}
>set a 1 set sum 0
>1 foreach value {1 2 3 4} {
>set b a •expression evaluation set sum [expr $sum + $value]
>a
>set b $a
>expr 2 + 3 }
>5 set $sum
>1
>set b [expr 2 + $b] >10
>3 >proc guess {value} {
global sum
•file manipulation if {$value < $sum} {
puts “too low”
>set fileId [open tmp w] } else {
>?? •sourcing other files if {$value > $sum} {
>puts $fileId “hello”
>close $fileID >source Example1.tcl puts “too high”
>type tmp } else { puts “you got it!”}
hello }
}
> guess 9
too low
Commands to Tcl for OpenSees
Ctest
StaticAnalysis
TransientAnalysis
OpenSees
Test data
Floor shear - inter story drift : Floor 2 Floor shear - inter story drift : Floor 2
500 600
400
400
300
200
200
100
0 0
-100
-200
-200
-300
-400
-400
-500 -600
-0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08