Documentos de Académico
Documentos de Profesional
Documentos de Cultura
estructuras
Auxiliar de OpenSees
Francisco Nazar A.
Departamento de Ingeniera Civil
Universidad de Chile
21 de Abril, 2016
Outline
1 Conceptos esenciales
2 Ejemplo de clases
3 Ejemplo de c
omo modelar una estructura
Esenciales
Esenciales
En su desarrollo han participado muchos investigadores y profesores:
Frank McKenna, Gregory L. Fenves, Filip C. Filippou, Michael Scott,
Ahmed Elgamal, Zhaohui Yang, Jinchi Lu, Pedro Arduino, Peter
McKenzie, Gregory G. Deierlein, Kincho Law, y muchos otros.
Existe una comunidad en torno al programa:
http://opensees.berkeley.edu/community/viewforum.php?f=2
http://opensees.berkeley.edu/OpenSees/manuals/usermanual/
OpenSeesCommandLanguageManualJune2006.pdf
http://opensees.berkeley.edu/wiki/index.php/Main_Page
http://opensees.berkeley.edu/wiki/index.php/Examples
El c
odigo se puede ver de
http://opensees.berkeley.edu/WebSVN/listing.php?repname=OpenSees&
path=%2Ftrunk%2FSRC
1
Esenciales
Puntos importantes:
OpenSees es un programa originalmente sin interfaz grafica, por lo
que se apoya fuertemente en programar en editores de texto en el
lenguaje tcl, y en ocupar pre y postprocesadores externos. 2
Es un programa sin soporte tecnico3 , por lo que puede ser
frustrante encontrar errores en el modelo o analisis.
Se tiene control sobre los solvers, integradores, pruebas de
convergencia, almacenaje de matrices, etc., lo cual puede ser un
arma de doble filo.
No se pueden hacer todo tipo de cosas como en programas
comerciales.
2
3
Esenciales
Recursos para aprender:
OpenSees Days:
http://opensees.berkeley.edu/wiki/index.php/
OpenSeesDays2011
http://opensees.berkeley.edu/wiki/index.php/
OpenSeesDays2012
http://opensees.berkeley.edu/wiki/index.php/
OpenSeesDays2013
http://opensees.berkeley.edu/wiki/index.php/
OpenSeesDays2014
Ejemplos de la wiki.
Google (ejemplos y documentaci
on no indexada en la wiki)
Foro de la comunidad.... (buscar posts anteriores o preguntar).
Para instalarlo y bajarlo, registrarse y seguir instrucciones de:
http://opensees.berkeley.edu/OpenSees/user/download.php
Esenciales
Materiales:
Mas de 60 materiales uniaxiales y mas de 25 materiales n-dimensionales
para modelar comportamientos basicos, y para modelar comportamientos
especficos para acero, hormig
on, suelo, y otros materiales o fenomenos
especiales.
http://opensees.berkeley.edu/wiki/index.php/UniaxialMaterial_Command
http://opensees.berkeley.edu/wiki/index.php/NDMaterial_Command
Elementos:
Mas de 70 elementos (zerolength, barra, viga-columna, solidos, de
contacto, y miscelaneos).
http://opensees.berkeley.edu/wiki/index.php/Element_Command
Esenciales
Esenciales
2. An
alisis: metodos de soluci
on, test de convergencia, integrador, etc.
constraints: c
omo el programa manipula las restricciones
impuestas: Plain, Lagrange, Penalty, Transformation.
system: c
omo el programa almacena y resuelve el sistema de
ecuaciones: BandGeneral, BandSPD, ProfileSPD, SuperLU,
UmfPack, FullGeneral, SparseSYM, Mumps, Cusp.
Esenciales
numberer: c
omo el programa enumera los elementos y grados de
libertad: Plain, Reverse Cuthill-McKee, Alternative
Minimum Degree
test: prueba de convergencia para dejar de iterar: Norm
Unbalance, Norm Displacement Increment, Energy
Increment, Relative Norm Unbalance, Relative Norm
Displacement Increment, Fixed Number of Iterations, etc.
algorithm: algoritmo para solucionar las ecuaciones: Linear,
Newton, ModifiedNewton, KrylovNewton, BFGS, Broyden,
etc.
integrator: determina el paso de tiempo, especifica la matriz
tangente y el vector residual, determina el incremento de
desplazamiento, etc. Load Control, Displacement Control,
Arc-Length, Newmark, Hilbert-Hughes-Taylor, etc.
Esenciales
Ejemplo de clases
Ejemplo de barra rgida con resorte torsional sujeta a carga axial P
Soluci
on analtica:
=
2
1
K 0 PL cos 0 cos
2
d
K ( 0 )
= K 0 PL sin = 0 = P =
d
L sin
Ejemplo de clases
Soluci
on con OpenSees:
model B a s i c B u i l d e r ndm 2 ndf 3
# Constantes
s e t L 1 ; # l a r g o de l a b a r r a
set K 1; # k del resorte rotacional
s e t INF 1 0 0 0 0 ; # muy g r a n d e
s e t p i 3 .1415926535897931 ;
s e t Theta0grados 0 .001 ;
s e t Theta0 [ e x p r $ T h e t a 0 g r a d o s $ p i / 1 8 0 ] ; # r a d
s e t P 0.1
# Nodos
node 1 0 0
node 2 0 0
node 3 [ e x p r $L s i n ( $Theta0 ) ] [ e x p r $L c o s ( $Theta0 ) ]
# CDB
fix 1 1 1 1
# Restricciones
equalDOF 1 2 1 2
# Materiales
uniaxialMaterial
uniaxialMaterial
E l a s t i c 1 $K ; # r e s o r t e
E l a s t i c 2 $INF ; # b a r r a r g i d a
Ejemplo de clases
# Transformacion c o r o t a c i o n a l
geomTransf C o r o t a t i o n a l 1
# Elementos
e l e m e n t z e r o L e n g t h 1 1 2 mat 1 dir 6
e l e m e n t e l a s t i c B e a m C o l u m n 2 2 3 $INF $INF $INF 1
# Carga P v e r t i c a l
pattern Plain 1 Linear {
l o a d 3 0 . 0 $P 0 . 0
}
# Recorders
r e c o r d e r Node f i l e Z e r o L e n g t h 2 t h e t a . o u t time node 2 dof 1 2 3 d i s p
r e c o r d e r Node f i l e Z e r o L e n g t h 2 r e a c . o u t time node 2 dof 1 2 3 r e a c t i o n
# An
alisis
i n t e g r a t o r LoadControl 0 .1
t e s t E n e r g y I n c r 1 .0e15 1000 0
a l g o r i t h m Newton
numberer P l a i n
constraints Plain
system SparseGeneral
analysis Static
a n a l y z e 2000
Ejemplo de clases
(Igual a
( 0 )
)
sin
in 1 . ;
# Unidad b
a s i c a ( pulgada )
kip 1 . ;
# Unidad b
a sica ( kip )
sec 1 . ;
# Unidad b
a s i c a ( segundo )
LunitTXT i n c h ;
# texto para output
FunitTXT k i p ;
# texto para output
TunitTXT s e c ;
# texto para output
f t [ e x p r 12 . $ i n ] ;
# Definir pies
k s i [ e x p r $ k i p /pow ( $ i n , 2 ) ] ; # D e f i n i r k s i
p s i [ e x p r $ k s i /1000 . ] ; # D e f i n i r p s i
l b f [ expr $psi $in$in ] ; # D e f i n i r l b f
p c f [ e x p r $ l b f /pow ( $ f t , 3 ) ] ; # D e f i n i r p c f
p s f [ e x p r $ l b f /pow ( $ f t , 3 ) ] ; # D e f i n i r p s f
in2 [ expr $in$in ] ;
# D e f i n i r i n c h 2
i n 4 [ e x p r $ i n $ i n $ i n $ i n ] ; # D e f i n i r i n c h 4
cm [ e x p r $ i n /2 . 5 4 ] ;
# D e f i n i r cm
PI [ e x p r 2 a s i n ( 1 . 0 ) ] ; # D e f i n i r p i
g [ e x p r 32 . 2 $ f t /pow ( $ s e c , 2 ) ] ; # D e f i n i r g
Ubig 1 . e 1 0 ;
# D e f i n i r n
u mero g r a n d e
U s m a l l [ e x p r 1/ $Ubig ] ; # D e f i n i r n
u mero c h i c o
1
2
3
4
0 0
$LBeam 0
0 $LCol mass $Mass 0 . 0 .
$LBeam $LCol mass $Mass 0 . 0 .
Para el ejemplo:
fix 1 1 1 1
fix 2 1 1 1
t a g number t o t h e column f l e x u r a l
t a g number t o t h e column a x i a l b e h a v i o r
number t o t h e column s e c t i o n t a g
number t o t h e beam s e c t i o n t a g
s e t f c [ e x p r 4 $ k s i ] ; # CONCRETE C o m p r e s s i v e S t r e n g t h (+ T e n s i o n ,
Compression )
s e t Ec [ e x p r 57 $ k s i s q r t ( $fc/ $ p s i ) ] ; # C o n c r e t e E l a s t i c Modulus
# COLUMN s e c t i o n c a l c u l a t e d s t i f f n e s s p a r a m e t e r s
s e t E I C o l [ e x p r $Ec $ I z C o l ] ; # E I , f o r momentcurvature r e l a t i o n s h i p
s e t EACol [ e x p r $Ec$ACol ] ; # EA, f o r a x i a l f o r c e s t r a i n r e l a t i o n s h i p
s e t MyCol [ e x p r 130000 $ k i p $ i n ] ; # y i e l d moment
s e t P h i Y C o l [ e x p r 0 .65e4 / $ i n ] ;
# yield curvature
s e t E I C o l C r a c k [ e x p r $MyCol / $PhiYCol ] ; # c r a c k e d s e c t i o n i n e r t i a
s e t b 0 . 0 1 ; # s t r a i n h a r d e n i n g r a t i o ( r a t i o between p o s t y i e l d tangent
and i n i t i a l e l a s t i c t a n g e n t )
u n i a x i a l M a t e r i a l S t e e l 0 1 $ColMatTagFlex $MyCol $ E I C o l C r a c k $b ; # b i l i n e a r
behavior for flexure
u n i a x i a l M a t e r i a l E l a s t i c $ C o l M a t T a g A x i a l $EACol ; # t h i s i s n o t u s e d a s a
m a t e r i a l , t h i s i s an a x i a l f o r c e s t r a i n r e s p o n s e
s e c t i o n A g g r e g a t o r $ColSecTag $ C o l M a t T a g A x i a l P $ColMatTagFlex Mz ; #
combine a x i a l and f l e x u r a l b e h a v i o r i n t o one s e c t i o n
# BEAM s e c t i o n :
s e c t i o n E l a s t i c $BeamSecTag
$Ec $ABeam $IzBeam ; # e l a s t i c beam s e c t i o n
Transformaciones (lineales)
# define geometric transformation: performs a l i n e a r geometric
t r a n s f o r m a t i o n o f beam s t i f f n e s s and r e s i s t i n g f o r c e from t h e b a s i c
system to the globalcoordinate system
s e t ColTransfTag 1;
# a s s o c i a t e a t a g t o column t r a n s f o r m a t i o n
s e t BeamTransfTag 2 ;
# a s s o c i a t e a t a g t o beam t r a n s f o r m a t i o n ( good
p r a c t i c e t o k e e p c o l and beam s e p a r a t e )
s e t ColTransfType Linear ;
# o p t i o n s , L i n e a r PDelta C o r o t a t i o n a l
geomTransf $ColTransfType $ColTransfTag ;
# o n l y c o l u m n s can h a v e P D e l t a
effects ( gravity effects )
g e o m T r a n s f L i n e a r $BeamTransfTag
;
Elementos
# element c o n n e c t i v i t y :
s e t numIntgrPts 5;
forcebased element
element nonlinearBeamColumn 1
# s e l f e x p l a n a t o r y when
element nonlinearBeamColumn 2
element nonlinearBeamColumn 3
# number o f i n t e g r a t i o n p o i n t s f o r
1 3 $ n u m I n t g r P t s $ColSecTag $ C o l T r a n s f T a g ;
using variables
2 4 $ n u m I n t g r P t s $ColSecTag $ C o l T r a n s f T a g ;
3 4 $ n u m I n t g r P t s $BeamSecTag $BeamTransfTag ;
Recorders (continuaci
on)
r e c o r d e r E l e m e n t f i l e D e f o B e a m S e c 1 . o u t time ele 3 s e c t i o n 1 d e f o r m a t i o n
; # s e c t i o n d e f o r m a t i o n s , a x i a l and c u r v a t u r e , node i
r e c o r d e r E l e m e n t f i l e F o r c e B e a m S e c $ n u m I n t g r P t s . o u t time ele 3 s e c t i o n
$ n u m I n t g r P t s f o r c e ; # s e c t i o n f o r c e s , a x i a l and moment, node j
r e c o r d e r E l e m e n t f i l e D e f o B e a m S e c $ n u m I n t g r P t s . o u t time ele 3 s e c t i o n
$ n u m I n t g r P t s d e f o r m a t i o n ; # s e c t i o n d e f o r m a t i o n s , a x i a l and
c u r v a t u r e , node j