Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ejemplos de Modelos de Análisis Estructural Usando OpenSees
Ejemplos de Modelos de Análisis Estructural Usando OpenSees
Asesor:
Juan Carlos Reyes Ortiz PhD
Proyecto de grado
El análisis estructural es el primer paso en el proceso de diseño de una estructura, ya que permite
determinar sus fuerzas y desplazamientos por el efecto de las cargas actuantes en ella. El análisis
estructural se puede hacer de forma lineal o no lineal (estático o dinámico) dependiendo de la
complejidad de la estructura y de la respuesta estructural que se desee analizar, como derivas, fuerzas
internas, aceleraciones, etc. Existen una gran variedad de programas para realizar análisis de
estructuras. Uno de ellos es OpenSees, el cual es un software de elementos finitos enfocado
principalmente en modelar la respuesta sísmica de estructuras; este programa cuenta con una enorme
variedad de tipos de materiales y elementos que facilitan la modelación del comportamiento no lineal
de las estructuras. Sin embargo, su uso es bastante retador dado que no se dispone de una interfaz
gráfica similar a la de los programas comerciales. En este trabajo, se usará OpenSees para desarrollar
ejemplos de análisis lineal, no lineal estático y dinámico de estructuras expuestas a cargas
convencionales y no convencionales tales como presfuerzos y cambios de temperatura; también, se
tendrán en cuenta condiciones específicas de cada estructura como resortes, zonas y elementos
rígidos, etc. Esto, con el fin de desarrollar una guía de ejemplos del usó de OpenSees para futuros
estudiantes. La validación de los modelos desarrollados con OpenSees se hizo comparando los
resultados obtenidos para cada ejemplo con otros programas como SAP2000 o implementando
manualmente el método matricial de rigidez. Las comparaciones realizadas demuestran que los
modelos desarrollados en OpenSees dan resultados similares a sus homólogos desarrollados
manualmente y en SAP2000.
iii
iv
ABSTRACT
Structural analysis is the first step in the design process of buildings and other types of structures
because allows the estimation of forces and displacements due to the effect of acting loads. Structural
analysis can be performed using linear and non-linear procedures according to the complexity and
the type of parameters of interest, for example drifts, internal forces, accelerations, etc. There is a
wide variety of programs to perform structure analysis. One of those is OpenSees which is a finite
element software focused mainly on modeling the seismic response of structures; this program has a
huge collection of materials and element types which permit the nonlinear modeling of complex
structures. However, the main drawback of this program is the graphic interface, which is not as user-
friendly as the one of commercial software. In this study, OpenSees is used to develop examples of
linear, non-linear static and dynamic analysis of structures exposed to conventional and
nonconventional loads as prestress, and temperature changes; also, specific conditions of each
structure such as springs, rigid zones and elements are considered. The main objective is to develop
an OpenSees examples guide for future students. The validation of the OpenSees models is done by
comparing the obtained results for each example with SAP2000 or the matrix stiffness method. The
comparisons performed show that OpenSees models give similar results to their counterparts
developed manually and in SAP2000.
v
vi
Tabla de contenido
1. Introducción............................................................................................................................... 3
1.1 Justificación......................................................................................................................... 3
1.2 Objetivos ............................................................................................................................. 3
1.2.1 Objetivo general .......................................................................................................... 3
1.2.2 Objetivos específicos................................................................................................... 3
1.3 OpenSees ............................................................................................................................. 3
2. Análisis lineal estático ............................................................................................................... 5
2.1 Ejemplo 1: Estructura estáticamente determinada .............................................................. 5
2.2 Ejemplo 2: Estructura estáticamente determinada con carga triangular.............................. 8
2.3 Ejemplo 3: Reacciones a partir de fuerzas y deformaciones básicas ................................ 13
2.4 Ejemplo 4: Viga simplemente apoyada bajo cambio de temperatura axial. ...................... 15
2.5 Ejemplo 5. Puente bajo carga de presfuerzo axial............................................................. 20
2.6 Ejemplo 6: Viga con presfuerzo a flexión. ........................................................................ 24
2.7 Ejemplo 7: Estructura con zonas rígidas ........................................................................... 30
3. Análisis no lineal estático ........................................................................................................ 37
3.1 Ejemplo 1: No linealidad geométrica ................................................................................ 37
3.2 Ejemplo 2: Catenaria de un cable. ..................................................................................... 40
3.3 Ejemplo 3. Pórtico con rotulas plásticas ........................................................................... 48
3.4 Ejemplo 4: Edificio de cortante ......................................................................................... 57
4. Análisis no lineal cronológico ................................................................................................. 61
4.1 Ejemplo 1: Edificio de cortante con aceleración en la base. ............................................. 61
Conclusiones y recomendaciones ................................................................................................... 67
Referencias ............................................................................................................................... 69
2
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 1. Introducción
1. Introducción
En este trabajo se usa el software OpenSees para modelar y analizar estructuras. Los problemas
modelados serán usados como material de estudio en el curso de análisis avanzado de estructuras de
la Universidad de los Andes. El trabajo se divide en tres etapas las cuales son: análisis lineal estático,
análisis no-lineal estático y análisis no-lineal cronológico. Los ejemplos de análisis lineal consisten
en simular la respuesta lineal de estructuras sujetas a varios tipos de fuerzas no convencionales como
cambios de temperatura, presfuerzos, junto con detalles adicionales específicos de cada estructura
como resortes, pasadores, zonas rígidas, etc. En cuanto al análisis no lineal estático y dinámico se
modelarán estructuras sencillas sujetas a un comportamiento no lineal. El cual se representa como no
linealidad geométrica, del material, de contacto, es decir el cambio de condiciones de borde y el
comportamiento de la estructura en función del tiempo, en el caso del análisis cronológico.
1.1 Justificación
OpenSees es un software de análisis estructural desarrollado por el Pacific Earthquake Research
Center (PEER) de la Universidad de Berkeley. Este es un software gratuito, el cual puede ser
descargado de su página oficial [1]. OpenSees cuenta con una gran variedad de algoritmos de análisis,
algoritmos de solución, métodos de integración, materiales como concreto y acero con un
comportamiento muy semejante a la realidad. El programa permite crear la sección de los elementos
a usar como material elástico, uniaxial o de fibras para simular muy certeramente la respuesta
esfuerzo-deformación en las fibras del material, permitiendo así modelar la respuesta no lineal del
material [2].
1.2 Objetivos
1.2.1 Objetivo general
Usar el software OpenSees para desarrollar varios tipos de ejercicios de análisis estructural avanzado
por medio de análisis lineales, no lineales estáticos y cronológicos.
1.3 OpenSees
OpenSees cuenta con una documentación de usuario donde se encuentran manuales para iniciar a usar
el programa, una descripción de cada uno de los comandos disponibles y algunos ejemplos básicos y
3
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 1. Introducción
avanzados de modelos hechos en OpenSees [3]. Esta documentación contiene material de gran ayuda,
en especial el Command Manual, donde se presenta una descripción de todos los comandos de
OpenSess. Estos comandos se pueden dividir en 5 grupos: Modeling Commands, Analysis
Commands, Output Commands, Misc Commands y DataBase Command. En la Figura 1 se presenta
un esquema de los pasos necesarios para crear un modelo en OpenSees.
4
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
10 kN/m
b c
45° 20 kN
3.5(1+sin(45))
3.5
a e
3.5
▪ Código en OpenSees
Modelo
# Análisis lineal estático, ejemplo 1, unidades en kN,m
# modelo.tcl
# Crear modelo
model BasicBuilder -ndm 2 -ndf 3
#------------------------------------------------------------------------------------------------
## Nodos
# Nodo tag xCrd byCrd ndf
node 1 0.0 0.0 -ndf 3; # Nodo a
node 2 0.0 3.5 -ndf 3; # Nodo b
node 3 3.5 3.5 -ndf 3; # Nodo c
node 4 3.5 3.5 -ndf 3; # Nodo cAux (Se usan 2 nodos en la misma posición para modelar el
pasador)
node 5 5.974874 5.974874 -ndf 3; # Nodo d
node 6 5.974874 0.0 -ndf 3; # Nodo e
#------------------------------------------------------------------------------------------------
# Restricción de movimiento
# SPC tag Dx Dy Rz
fix 1 1 1 0; # Apoyo con restricción de movimiento en X e Y
fix 6 0 1 1; # Apoyo con restricción al giro y movimiento en Y
# MPC nodoi nodo j dof1 dof2
equalDOF 3 4 1 2; #El comando equalDOF se usa para igualar el movimiento X e Y de los
nodos 3 y 4. Esto para modelar el pasador
#------------------------------------------------------------------------------------------------
5
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
# Transformación geométrica
# GeoTran type tag
geomTransf Linear 1; # Se usará una transformación lineal para pasar de valores locales a
globales
#------------------------------------------------------------------------------------------------
# Elementos
# Todos los elementos a continuación tienen área, modulo e inercia unitarios debido a que las
propiedades geométricas y del material no son necesarias para resolver esta estructura
# Element "Elemento ab": eleTag NodoI NodoJ A E Iz geoTranTag
element elasticBeamColumn 1 1 2 1.0 1.0 1.0 1
# Element "Elemento bc": eleTag NodoI NodoJ A E Iz geoTranTag
element elasticBeamColumn 2 2 3 1.0 1.0 1.0 1
# Element "Elemento cd": eleTag NodoI NodoJ A E Iz geoTranTag
element elasticBeamColumn 3 4 5 1.0 1.0 1.0 1
# Element "Elemento de": eleTag NodoI NodoJ A E Iz geoTranTag
element elasticBeamColumn 4 5 6 1.0 1.0 1.0 1
Análisis y resultados
# analisis.tcl
#------------------------------------------------------------------------------------------------
# Serie de tiempo
# TimeSeries "Lineal": tsTag cFactor
timeSeries Linear 1 -factor 1.0; # Problema es estático
#------------------------------------------------------------------------------------------------
# Patrón de carga
# LoadPattern "Plain": patternTag tsTag factor
pattern Plain 1 1 -fact +1.0 {
# eleLoad eleTags beamUniform Wy <Wx>
eleLoad -ele 2 -type -beamUniform -10.0 0.0; # Carga distribuida del elemento bc
eleLoad -ele 3 -type -beamUniform -7.5 0.0; # Carga distribuida del elemento cd
# eleLoad eleTags beamPoint Py xL <Px>
eleLoad -ele 4 -type -beamPoint 20 0.4142136 0.0; # Carga puntual en el elemento de.
# La distancia xL del anterior comando es relativa a la longitud del elemento.
}
#------------------------------------------------------------------------------------------------
# Archivos de resultados
# Node Recorder "Desplazamientos": fileName <nodeTag> dof respType
recorder Node -file DespNodos.out -nodeRange 1 5 -dof 1 2 3 disp; # Desplazamientos
# Node Recorder "Reacciones": fileName <nodeTag> dof respType
recorder Node -file ReacNodos.out -nodeRange 1 5 -dof 1 2 3 reaction; # Reacciones
# Node Recorder "Fuerzas internas"
recorder Element -file ElementoAB.out -ele 1 localForce; # Fuerzas locales del elemento ab
recorder Element -file ElementoBC.out -ele 2 localForce; # Fuerzas locales del elemento bc
recorder Element -file ElementoCD.out -ele 3 localForce; # Fuerzas locales del elemento cd
recorder Element -file ElementoDE.out -ele 4 localForce; # Fuerzas locales del elemento de
#------------------------------------------------------------------------------------------------
# Opciones de análisis
constraints Plain; # Control de constraints
numberer Plain; # Numeración de GDL
system UmfPack -lvalueFact 10; # Sistema de ecuaciones
algorithm Linear; # Algoritmo de solución
integrator LoadControl 1.0 4 0.001 1.0; # Integrador
analysis Static; # Tipo de análisis
analyze 1; #Ejecutar análisis
6
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
▪ Resultados
En la Tabla 1 se presentan las reacciones obtenidas en cada nodo de la estructura. También, se
calcularon las fuerzas internas en los extremos de los elementos de la estructura, a partir de las cuales
se dibujaron diagramas de fuerza axial, cortante y momento de los elementos ab y cd teniendo en
cuanta la carga distribuida en cada elemento. Los resultados se presentan en la Figura 3.
Tabla 1. Reacciones en los nodos.
Nodo Fx, kN Fy, kN Mz, kN-m
a -38.5616 -21.0616 -2.84E-14
b -2.06E-13 7.11E-15 -2.84E-14
c 38.5616 56.0616 6.57E-14
d -38.5616 -56.0616 -1.15E-13
e -3.55E-14 74.6231 -138.745
Figura 3. Diagramas de fuerzas internas obtenidos con OpenSees. Izquierda, diagramas del elemento ab. Derecha,
diagramas del elemento cd. De arriba hacia abajo, diagrama de fuerza axial, diagrama de fuerza cortante y diagrama de
momentos.
▪ Comparación de resultados
Los resultados obtenidos en OpenSees se comparan con SAP2000 en el caso de las fuerzas internas
en los elementos (Tabla 2). Las reacciones se comparan con resultados teóricos calculados a partir de
principios de estática, (Tabla 3). Los modelos hechos en OpenSees arrojan resultados satisfactorios
ya que son completamente iguales a los valores obtenidos en SAP2000 y resultados teóricos
calculados a partir de principios de estática, en el caso de las reacciones en los nodos. Los resultados
solo difieren en una cantidad mínima de cifras significativas.
7
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
8
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
8 kN/m
b c
10 kN
10 kN/m
6 kN*
4.5
6 kN*
a d
60°
4.5/tan(60°) 3.9
Figura 4. Estructura estáticamente determinada con carga distribuida triangular (*cargas a 1/3 y dimensiones en metros).
▪ Código en OpenSees
Modelo
# Análisis lineal estático, ejemplo 2, unidades en kN,m
# modelo.tcl
# Crear modelo
model BasicBuilder -ndm 2 -ndf 3
#------------------------------------------------------------------------------------------------
# Nodos
# Node tag xCrd yCrd ndf
node 1 0.0 0.0 -ndf 3; # Nodo a
node 2 2.598076 4.5 -ndf 3; # Nodo b
node 3 2.598076 4.5 -ndf 3; # Nodo bAux (modelar pasador)
node 4 6.498076 4.5 -ndf 3; # Nodo c
node 5 6.498076 4.5 -ndf 3; # Nodo cAux (modelar pasador)
node 6 6.498076 0.0 -ndf 3; # Nodo d
#------------------------------------------------------------------------------------------------
# Restricciones de movimiento en nodos
# SPC tag Dx Dy Rz
fix 1 1 1 1; # Apoyo empotrado
fix 6 1 1 0; # Apoyo con restricción de movimiento en X e Y
#------------------------------------------------------------------------------------------------
# Restricciones múltiples de movimiento
# Equal DOF: MPConstraint01: mNodeTag sNodeTag dof
equalDOF 2 3 1 2; # Modela el pasador del nodo b
# Equal DOF: MPConstraint02: mNodeTag sNodeTag dof
equalDOF 4 5 1 2; # Modela el pasador del nodo c
#------------------------------------------------------------------------------------------------
# Transformación geométrica
9
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
10
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
▪ Resultados
En la Tabla 4 se presentan las reacciones obtenidas en los nodos de la estructura. Al igual que en el
Ejemplo 1, se calcularon las fuerzas internas en los extremos de los elementos y a partir de estas
fuerzas y la carga aplicada, se calcularon los diagramas de fuerzas internas del elemento ab (Tabla 5
y Figura 5).
Tabla 4. Reacciones en los nodos de la estructura.
Nodo Fx, kN Fy, kN Mz, kNm
a -16 62.3615 166.52
b 16 -10.4 0
c -16 -5.2 0
d -6 5.2 0
Figura 5. Diagramas de fuerzas internas del elemento ab. De arriba a abajo diagrama de fuerza axial, cortante y momento
respectivamente.
▪ Comparación de resultados
En la Tabla 7 se presentan los resultados obtenidos en OpenSees, los cuales se comparan con un
modelo de SAP2000 en el caso de las fuerzas internas de los elementos. Para las reacciones se usan
11
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
𝐿 3.9
𝑥= = = 1.3 m (2)
3 3
1.3
= 0.33333 (3)
3.9
12
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
Para la estructura de la Figura 6 calcular las reacciones generadas en el nodo b a partir de los
desplazamientos dados en el nodo en cuestión.
En este ejemplo se hace la suposición de que el ángulo de giro final es diferente al ángulo de
inclinación inicial de la estructura, por lo que el análisis realizado deja de ser lineal. Para esto, se usa
una transformación corrotacional en OpenSees.
▪ Parámetros
Los desplazamientos en el nodo b son, 𝑈1 = 0.01 m, 𝑈2 = 0.005 m y 𝑈3 = 0.1 rad. Las propiedades
geométricas y del material son, 𝐸 = 1400E6 kPa, 𝐼 = 1406.25 cm4 y 𝐴 = 75 cm2.
𝑈2
𝑈3
𝑈1 c
b
▪ Código en OpenSees
Modelo
# Análisis lineal estático, ejemplo 3, unidades en kN, m
wipe
#------------------------------------------------------------------------------------------------
#Se establecen los parámetros del modelo
set E 1400e6; # Modulo de elasticidad
set I [expr 1406.25/1e8]; # Inercia de la sección
set A 0.0075; # Área de la sección
set U1 0.01; # Desplazamiento GDL 1
13
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
14
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
▪ Resultados y comparación
En la Tabla 8 se presentan las fuerzas que deben ser aplicadas en el nodo b de la estructura para causar
los desplazamientos requeridos. Por otro lado, los resultados de este problema son comparados con
los obtenidos al calcular manualmente el estado de cada elemento, para obtener deformaciones
básicas {v}, matriz de rigidez básica [Kb], fuerzas básicas {q} y transfórmalas a fuerzas globales y
mediante equilibrio calcular las fuerzas aplicadas en el nodo b (Tabla 9). Los resultados obtenidos en
OpenSees y cálculos manuales fueron iguales, por lo cual con la implementación realizada en
OpenSees se obtuvieron resultados satisfactorios.
Determinar la fuerza axial generada en la viga de la Figura 7 por el efecto de un cambio de temperatura
axial de 30°C. Luego, variar el cambio de temperatura y comparar con resultados teóricos.
En este ejemplo se usarán comandos de propiedades térmicas disponibles en OpenSees y los
resultados serán comparados con valores teóricos. En la Figura 7 se muestra un esquema de la viga y
su sección transversal. La viga tiene un área de 0.24 m2 y un módulo de elasticidad de 200 GPa.
15
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
∆𝑇𝑎 = 30°C
0.6
0.4
Figura 7. Viga simplemente apoyada con cambio de temperatura axial y sección de acero (dimensiones en metros).
Las propiedades térmicas están incluidas en el código fuente de OpenSees. Estas propiedades están
basadas en la norma EN 1993-1-2 (2005) [4]. En la Figura 8, se presenta un esquema de la forma en
que se aplica un cambio de temperatura en OpenSees, según el cual la temperatura en la fibra superior
de la sección corresponde a la temperatura 2 ingresada en OpenSees, luego la temperatura en la fibra
inferior es la temperatura 1. Por otro lado, si se aplican solo 2 temperaturas el resto de las temperaturas
que siente la sección se calcula con interpolación. En la Figura 9 se presenta la sección de fibras
modelada en OpenSees, la cual tiene 2 fibras que están en la parte superior de inferior de la sección.
Sección
viga (T9, Y9) (T5, Y5) (T2, Y2)
Aplicación de
•• (T8, Y8)
temperatura •• (T7, Y7) (T4, Y4)
(T6, Y6)
• (T5, Y5) (T3, Y3) Interpolación
Fibras • (T4, Y4)
• (T3, Y3) (T2, Y2)
• (T2, Y2)
(T1, Y1) (T1, Y1) (T1, Y1)
(z, y)
J
-0.2,0.3
0.6
Y
0.2, -0.3
Z I
0.4
16
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
▪ Código en OpenSees
Modelo
# Análisis lineal estático, ejemplo 4, unidades en kN,m,°C
# -----------------------------------------------------------------------------------------------
wipe; # Borrar resultados anteriores
puts "Crear modelo"
# modelo.tcl
#------------------------------------------------------------------------------------------------
# crear modelo
model BasicBuilder -ndm 2 -ndf 3
#------------------------------------------------------------------------------------------------
# Nodos
# Node tag xCrd yCrd ndf
node 1 0.0 0.0 -ndf 3
node 2 1.0 0.0 -ndf 3
#------------------------------------------------------------------------------------------------
# Constraints
# SPC tag Dx Dy Rz
fix 1 1 1 0
fix 2 1 1 0
#------------------------------------------------------------------------------------------------
# Materiales
# uniaxialMaterial Tipo matTag Fy E b
uniaxialMaterial Steel01Thermal 1 420000 2e8 0.01
# Sección
# Section Tipo:(Fibras)
section FiberThermal 1 {
# patch rect matTag #SdivY #SdivZ yI zI yJ zJ
patch rect 1 2 1 -0.3 0.2 0.3 -0.2
}
#------------------------------------------------------------------------------------------------
# Transformación geométrica
# GeoTran type tag
geomTransf Linear 1
#------------------------------------------------------------------------------------------------
# Elementos
# element "Viga" eleTag NodoI NodoJ NumInt secTag geomTransf
element dispBeamColumnThermal 1 1 2 5 1 1;
puts "Modelo creado"
Análisis y resultados
puts "Crear analisis"
# analisis.tcl
#------------------------------------------------------------------------------------------------
# Serie de tiempo
# TimeSeries "Lineal": tsTag cFactor
timeSeries Linear 1 -factor 1.0
#------------------------------------------------------------------------------------------------
# Patrón de carga
# LoadPattern "PatronCarga": patternTag tsTag factor
pattern Plain 1 1 -fact 1.0 {
# eleLoad eleTags beamThermal T1 y1 T2 y2
eleLoad -ele 1 -type -beamThermal 30.0 -0.3 30.0 0.3
}
17
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
#------------------------------------------------------------------------------------------------
# Recorders
# Elemento ab
# Node recorder "Reacciones" :Arichivo <ndTag> dof tipoResp
recorder Node -file Reac.out -node 1 2 -dof 1 2 reaction
# element recorder "Fuerzas internas" Archivo <ele> tipoResp
recorder Element -file ElementoAB.out -ele 1 localForce;
#------------------------------------------------------------------------------------------------
# Opciones de análisis
constraints Transformation; # Control de constraints
numberer RCM; # Numeración de GDL
system FullGeneral; # Sistema de ecuaciones
algorithm Linear; # Algoritmo de solución
integrator LoadControl 1; # Integrador
analysis Static; # Tipo de análisis
analyze 1; # Ejecutar análisis
puts "Analisis finalizado"
puts "Resultados"
print ele 1
𝑃 = 𝐸𝐴𝛼 𝑇 ∆𝑇 (4)
Como se dijo anteriormente, el coeficiente de expansión térmica del acero usado en OpenSees es
tomado de la norma EN 1993-1-2 (2005) [4]. La ecuación depende del cambio de temperatura y
funciona en un rango de 20 a 750°C. Sin embargo, a temperaturas muy altas el cálculo de la fuerza
axial cambia puesto que empiezan a afectar otras variables que afectan la resistencia del material. La
expresión para calcular el coeficiente de expansión térmica se presenta en la ecuación 5.
La expresión de la ecuación 5 supone una temperatura inicial de 20°C por lo cual para obtener el
coeficiente de expansión térmica para un cambio de 30°C se debe aplicar una temperatura 𝑇𝑓 = 50°C.
Los cálculos realizados se presentan en la ecuación 6 y 7.
18
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
a 80°C. Estos resultados fueron idénticos a los teóricos. Sin embargo, como se dijo al inicio del
problema, para temperaturas muy altas el comportamiento y resistencia de los materiales varía.
Tabla 10. Fuerza axial en viga simplemente apoyada para diferentes cambios de temperatura axial.
To, °C Tf, °C ΔT, °C αT, 1/°C P Teórico, kN P OpenSees, kN
20 30 10 0.0000122 5856 5856
20 40 20 0.00001224 11750.4 11750.4
20 50 30 0.00001228 17683.2 17683.2
20 60 40 0.00001232 23654.4 23654.4
20 70 50 0.00001236 29664 29664
20 80 60 0.0000124 35712 35712
20 90 70 0.00001244 41798.4 41798.4
20 100 80 0.00001248 47923.2 47923.2
Figura 10. Comparación de fuerza axial en viga simplemente apoyada obtenida con OpenSees y resultados teóricos.
19
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
los demás ejemplos no era necesario crear un recorder para las reacciones, a menos que se requiriera
en los resultados, en el modelo de comportamiento térmico estas reacciones son necesarias. Esto no
es algo común en un software de análisis estructural ya que se está requiriendo un archivo de resultado
externo al método para que este funcione correctamente.
a 75 kN/m b 75 kN/m c
7.5 7.5
Figura 11. Esquema simplificado de un puente con un cable con presfuerzo axial (dimensiones en metros).
▪ Parámetros
La viga tiene una sección de 0.3 × 0.45 m2, y un módulo de elasticidad 𝐸 = 2 × 107 kPa. El cable
tiene un diámetro 𝑑 = 7.62 cm, un módulo de elasticidad 𝐸 = 2 × 108 kPa y una carga de presfuerzo
𝑓𝑜 = 1200 kN. La constante del resorte es 𝐾 = 10000 kN/m. A continuación, se presenta el modelo
desarrollado en OpenSees.
▪ Código en OpenSees
Modelo
# Análisis lineal estático, ejemplo 5, unidades en kN, m
# -----------------------------------------------------------------------------------------------
wipe; # Borrar resultados anteriores
# Parámetros
set b 0.3; #Base de sección de viga
set h 0.45; #Altura de sección de viga
set Ev 2E7; #Modulo de elasticidad de viga
set Av [expr $b*$h]; #Área de sección de viga
set Iv [expr ($b*pow($h,3))/12]; #Inercia de sección de viga
set Wv 75.0; #Carga distribuida en viga
20
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
# Cable
set pi [expr acos(-1)]; # Constante pi
set Ec 2E8; #Modulo de elasticidad del cable
set di 0.0762; #Diámetro del cable
set Ac [expr ($pi*pow($di,2))/4]; # Área del cable
set Ic [expr ($pi/4)*pow(($di/2),4)]; #Inercia del cable
set fo 1200; #Carga de presfuerzo
set stress [expr $fo/$Ac]; #Esfuerzo inicial
set strain [expr $stress/$Ec]; #Deformación inicial del cable
#Resorte
set k 10000; #Constante de rigidez del resorte
# modelo.tcl
#------------------------------------------------------------------------------------------------
# crear modelo
model BasicBuilder -ndm 2 -ndf 3
#------------------------------------------------------------------------------------------------
# Nodos
# Node tag xCrd yCrd ndf
node 1 0.0 0.0 -ndf 3
node 2 7.5 0.0 -ndf 3
node 3 15.0 0.0 -ndf 3
node 4 0.0 6.0 -ndf 3
node 5 15.0 0.0 -ndf 3
#------------------------------------------------------------------------------------------------
# Constraints
# SPC tag Dx Dy Rz
fix 1 1 1 1
fix 3 0 1 0
fix 4 1 1 1
fix 5 1 1 1
#------------------------------------------------------------------------------------------------
# Materiales
# Material "Cable": matTag E
uniaxialMaterial Elastic 1 $Ec
# Material "Presfuerzo": matTag tag iniStress
uniaxialMaterial InitStrainMaterial 2 1 $strain; # Material con presfuerzo
inicial
# Material "Resorte": matTag E
uniaxialMaterial Elastic 3 $k
#------------------------------------------------------------------------------------------------
# Transformación geométrica
# GeoTran tipo tag
geomTransf Linear 1
#------------------------------------------------------------------------------------------------
# Elementos
# Element "Viga": eleTag NodoI NodoJ A E Iz geoTranTag
element elasticBeamColumn 1 1 2 $Av $Ev $Iv 1
# Element "Viga": eleTag NodoI NodoJ A E Iz geoTranTag
element elasticBeamColumn 2 2 3 $Av $Ev $Iv 1
# Element "Cable": eleTag NodoI NodoJ A matTag
element truss 3 2 4 $Ac 2
# Element "Resorte": eleTag NodoI NodoJ -mat matTag1 -dir dir1
element twoNodeLink 4 3 5 -mat 3 -dir 1
Análisis y resultados
21
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
# analisis.tcl
#------------------------------------------------------------------------------------------------
# Serie de tiempo
# TimeSeries "Lineal": tsTag cFactor
timeSeries Linear 1 -factor 1.0
#------------------------------------------------------------------------------------------------
# Patron de carga
# LoadPattern "Patron Carga": patternTag tsTag factor
pattern Plain 1 1 -fact +1.0 {
▪ Resultados
Ahora, se presentan las fuerzas internas en los extremos de los elementos de la estructura, seguido de
los diagramas de fuerzas internas del elemento ab, ver Tabla 11 y Figura 12.
22
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
Figura 12. Diagramas de fuerzas internas del elemento ab. Primero, diagrama de fuerza axial, seguido del diagrama de
fuerza cortante y finalmente diagrama de momentos.
▪ Comparación de resultados
Los resultados obtenidos con OpenSees son similares a los obtenidos en SAP2000 como se presenta
en la Tabla 12. Las fuerzas internas obtenidas en los extremos de los elementos fueron iguales en
ambos modelos desarrollados.
Tabla 12. Comparación de fuerzas internas en los extremos de los elementos obtenidas en OpenSees y SAP2000
Elemento ab bc bd
Nodo i j i j i j
OpenSees 782.708 -782.708 -21.154 21.154 1029.450 -1029.450
P, kN SAP2000 782.708 -782.708 -21.154 21.154 1029.450 -1029.450
Error absoluto 0 0 3.0E-04 3.0E-04 0 0
OpenSees -261.001 301.499 -341.591 220.909 0 0
V, kN SAP2000 -261.001 301.499 -341.591 220.909 0 0
Error absoluto 0 0 0 0 0 0
OpenSees -300.684 -452.555 -452.555 0 0 0
M, kN SAP2000 -300.684 -452.555 -452.555 8.53E-14 0 0
Error absoluto 0 0 0 8.527E-14 0 0
23
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
Para la estructura presentada en la Figura 13 calcular el diagrama de momentos generado por la acción
de carga uniforme distribuida y el presfuerzo a flexión generado por un cable.
Modelar un elemento con presfuerzo a flexión en OpenSeess es bastante desafiante, ya que no se
cuenta con funciones que faciliten este tipo de modelación como en SAP2000. En este ejemplo se
hará un modelo en OpenSees de un puente con presfuerzo a flexión y carga distribuida para calcular
el diagrama de momentos en la viga generado por ambos efectos. Se harán comparaciones con
resultados teóricos y dos modelos de SAP2000 con elementos tipo tendon y frame. En la Figura 13
se presenta un esquema del puente junto con una simplificación de la estructura, hecha por simetría
de cargas y geométrica.
(a)
40 40
e2
(b)
e1 e1
(c)
Figura 13. (a) Esquema del puente con presfuerzo a flexión y carga muerta. (b) Esquema de las excentricidades en el
puente. (c) Simplificación de la estructura para disminuir GDL (dimensiones en metros).
24
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
Como se muestra en el esquema de la Figura 13, una vez simplificado el modelo, no se consideran
las deformaciones axiales de la viga. La carga de presfuerzo será de 20 MN y el módulo de elasticidad
del cable es de 200 GPa. Las excentricidades del cable son de 0, -1.16 y 0.675 m. En el modelo de
OpenSees se debe calcular la excentricidad en cualquier punto arbitrario de la viga. Para esto se creó
un procedimiento, equivalente a una función en MATLAB, el cual contiene la aproximación
cuadrática de la deformada de un cable, ver ecuaciones 8,9,10 y 11.
(𝑒3 − 𝑒1 − 𝑏𝐿𝑜 )
𝑎= (8)
𝐿2𝑜
2
𝑏=− √𝑒 − 𝑒2 (√𝑒1 − 𝑒2 + √𝑒3 − 𝑒2 ) (9)
𝐿𝑜 1
𝑐 = 𝑒1
( 10 )
𝑒(𝑥) = 𝑎𝑥 2 + 𝑏𝑥 + 𝑐
( 11 )
25
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
set c 0
source exce.tcl; #Función de excentricidad
#------------------------------------------------------------------------------------------------
# Modelo
puts "Crear modelo"
model BasicBuilder -ndm 2 -ndf 3
#------------------------------------------------------------------------------------------------
# Nodos de viga
for {set i 0} {$i <= [expr $n -1]} {incr i} {
# node nodoTag nodoI Nodoj ndf
node [ expr $i +1] [ expr $paso*$i] 0. -ndf 3
}
# Nodos del cable
for {set i 1} {$i <= [ expr $n-1]} {incr i} {
set ID [ expr $i + $n]
# Proc exce e1 e2 e3 L pos
exce $e1 $e2 $e3 $L [expr $paso*$i]
# node nodoTag nodoI Nodoj ndf
node $ID [ expr $paso*$i] $ex -ndf 3
}
#------------------------------------------------------------------------------------------------
# Restricciones de movimiento
# SPC tag Dx Dy Rz
fix 1 0 1 0
fix $n 1 1 1
fix [expr 2*$n -1] 1 1 1
#------------------------------------------------------------------------------------------------
# Material
# uniaxialMaterial Elastic matTag E
uniaxialMaterial Elastic 1 $Ec
# uniaxialMaterial InitStrainMaterial matTag matRef e0
uniaxialMaterial InitStrainMaterial 2 1 [ expr $eo]
#------------------------------------------------------------------------------------------------
# Transformación geométrica
geomTransf Linear 1
#------------------------------------------------------------------------------------------------
# Elementos
# Viga
for {set i 1} {$i <= [expr $n -1]} {incr i} {
# element elasticBeamColumn eleTag NodoI NodoJ A E Iv geomTransf
element elasticBeamColumn $i $i [expr $i +1] $Av $Ev $Iv 1
}
# Cable
# element truss eleTag NodoI NodoJ A matTag
element truss $n 1 [expr $n+1] $Ac 2
for {set i 1} {$i <= [expr $n -2]} {incr i} {
# element truss eleTag NodoI NodoJ A matTag
element truss [expr $i + $n] [expr $i + $n] [expr $i +$n+1] $Ac 2
}
# Uniones
for {set i 1} {$i <= [expr $n-2]} {incr i} {
# element elasticBeamColumn eleTag NodoI NodoJ A E Iv geomTransf
element elasticBeamColumn [ expr 2*$n-2+$i] [expr $i+1] [expr $i + $n] $Av $Ev $Iv 1 2
}
26
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
Análisis y resultados
# timeSeries
timeSeries Linear 1 -factor 1.0
#------------------------------------------------------------------------------------------------
# Output
recorder Element -file FuerzasInternas.out -eleRange 1 [expr $n-1] force
#------------------------------------------------------------------------------------------------
# Opciones de análisis
constraints Transformation; # Control de constraints
numberer RCM; # Numeración de GDL
system BandGeneral; # Sistema de ecuaciones
algorithm Linear; # Algoritmo de solución
integrator LoadControl 1.0; # Integrador
analysis Static; # Tipo de análisis
analyze 1; # Ejecutar análisis
Para tener en cuenta el efecto de la carga distribuida en la estructura, se debe crear un patrón de carga
y asignar la carga deseada a cada elemento viga del modelo.
Análisis y resultados con carga muerta
#------------------------------------------------------------------------------------------------
# timeSeries
timeSeries Linear 1 -factor 1.0
#------------------------------------------------------------------------------------------------
#Patrón de carga
pattern Plain 1 1 {
for {set i 1} {$i <= $n-1} {incr i} {
#eleLoad eleTags beamUniform Wy <Wx>
eleLoad -ele $i -type -beamUniform -285.0
}
}
#------------------------------------------------------------------------------------------------
# Output
recorder Element -file FuerzasInternas.out -eleRange 1 [expr $n-1] force
#------------------------------------------------------------------------------------------------
# Opciones de análisis
constraints Transformation; # Control de constraints
numberer RCM; # Numeración de GDL
system BandGeneral; # Sistema de ecuaciones
algorithm Linear; # Algoritmo de solución
integrator LoadControl 1.0; # Integrador
analysis Static; # Tipo de análisis
analyze 1; # Ejecutar análisis
▪ Resultados
En la Figura 14, se presentan los diagramas de momento generados por el efecto de presfuerzo para
los modelos hechos al igual que los diagramas con efecto de presfuerzo y carga muerta combinados.
27
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
Figura 14. Primero, diagrama de momentos generados por el efecto del presfuerzo a flexión para modelos con paso de 0.5
(arriba) y 0.1 m (abajo). Seguido de diagramas de momentos generados por la combinación del presfuerzo a flexión y la
carga muerta distribuida para modelos con paso de 0.5 (arriba) y 0.1 m (abajo).
El momento al final de la luz obtenido con el modelo con paso de 0.1 m fue de -27620,2 kN-m
mientras que en el modelo con paso de 0.5 m fue de -27631.6 kN-m.
▪ Comparación de resultados
Para modelar la viga con presfuerzo a flexión en SAP2000 se hicieron 2 casos, uno con elementos
tipo tendón para modelar el cable y el otro con elementos tipo frame cada metro. En la Figura 15 se
presentan un esquema gráfico de los modelos creados. Es importante aclarar que en el modelo de
28
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
SAP2000 los elementos que une el frame del cable con la viga son infinitamente rígidos. En la Figura
16 se presenta la comparación entre los diagramas de momento obtenidos con OpenSees y SAP2000
con el efecto combinado de presfuerzo a flexión y carga muerta.
Figura 15. Modelos de viga con presfuerzo a flexión en SAP2000. Arriba, modelo con elementos tipo frame, abajo
modelo con elemento tipo tendon.
Figura 16. Comparación de diagramas de momento con efecto combinado de presfuerzo a flexión y carga muerta con
OpenSees y SAP2000.
Como se presenta en la Figura 16, los diagramas de momento obtenidos en los 2 modelos de SAP2000
y OpenSees tuvieron resultados iguales. La única diferencia es que en el caso del modelo en OpenSees
con paso de 0.5 m y SAP2000 con elementos tipo frame, se tienen menos puntos que en los otros 2
modelos, por lo cual dependiendo de la función que se use para graficar, los diagrama pueden tener
una forma continua o muy segmentada como se observa en la sección de resultados.
En la Tabla 13 se compara el momento al final de la luz obtenido en las 4 opciones de modelación
con el valor teórico para los efectos de presfuerzo, carga muerta y el combinado de ambos. El modelo
realizado en OpenSees con paso de 0.5 y 0.1 m tuvo un menor error relativo porcentual que los
modelos hechos en SAP2000. Además, tal como se esperaba el modelo en OpenSees con paso de 0.5
tuvo un mayor error porcentual que el modelo con paso de 0.1. Aunque, la diferencia es mínima entre
29
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
ambos modelos. En todo caso, el modelo en OpenSees con un paso de 0.1 es una mejor opción para
modelar este problema, ya que da la posibilidad de obtener más resultados a lo largo del elemento, lo
cual permite trazar diagramas de momentos más continuos.
Para la estructura de la Figura 17 calcular los desplazamientos y fuerzas internas. Tener en cuenta la
longitud de las zonas rígidas al comparar las fuerzas internas obtenidas con OpenSees e
implementación manual.
30
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
𝑈2 𝑈3
a b
𝑈1
0.5
3 0.5
▪ Código en OpenSees
Modelo
# Análisis lineal estático, ejemplo 7, unidades en kN,m
wipe
#------------------------------------------------------------------------------------------------
# modelo.tcl
model BasicBuilder -ndm 2 -ndf 3
#------------------------------------------------------------------------------------------------
# Nodos
# Nodo tag xCrd yCrd ndf
node 1 0.0 3.5 -ndf 3
node 2 3.0 3.5 -ndf 3
node 3 3.5 3.5 -ndf 3
node 4 3.5 3.0 -ndf 3
node 5 3.5 0.0 -ndf 3
#------------------------------------------------------------------------------------------------
# SP Constraints
# SPC tag Dx Dy Rz
fix 1 1 1 1
fix 5 1 1 1
#------------------------------------------------------------------------------------------------
# MP constraints
# MPC tipo msNd slNd
31
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
rigidLink beam 3 2
rigidLink beam 3 4
#------------------------------------------------------------------------------------------------
# Transformación geométrica
# GeoTran tipo tag
geomTransf Linear 1
#------------------------------------------------------------------------------------------------
# Elementos
# Element "Viga": eleTag NodoI NodoJ A E Iz geoTranTag
element elasticBeamColumn 1 1 2 65.0 1.0 1.0 1
▪ Resultados
Los desplazamientos obtenidos en los grados de libertad libres se presentan en la Tabla 14. Por otro
lado, las fuerzas internas en los extremos de los elementos y los diagramas de fuerzas internas de la
estructura se presentan en la Tabla 15 y Figura 18.
32
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
Tabla 15. Fuerzas internas en los extremos de los elementos obtenidas en OpenSees.
P, kN V, kN Mz, kN-m
Elemento
i j i j i j
Viga 15.1058 -15.106 91.6133 58.3867 56.6391 -6.79913
Columna 58.3867 -58.387 15.1058 -15.106 28.4396 16.8778
▪ Comparación de resultados
Para comparar los resultados obtenidos en OpenSees se usó el método matricial de rigidez
considerando zonas rígidas implementado manualmente. Primero, los desplazamientos obtenidos en
los grados de libertad libres, en OpenSees y la implementación manual fueron idénticos, ver Tabla
16. Luego, en cuanto a las fuerzas internas, los resultados obtenidos también fueron iguales con ambas
metodologías usadas, para la fuerza axial y cortante, pero en el caso de los momentos, se obtuvieron
resultados diferentes en los extremos de los elementos con zonas rígidas (Tabla 17).
33
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
Los momentos que difieren entre ambas implementaciones son los generados al final de la viga y al
inicio de la columna. Sin embargo, este resultado difiere debido a que en OpenSees ambos elementos
del modelo tienen una longitud de 3 metros que va desde un nodo inicial, o final, hasta el inicio de la
zona rígida, por lo tanto, el momento obtenido en el extremo con zona rígida no tienen en cuenta la
longitud de la zona rígida. Mientras que, en la implementación manual, las fuerzas internas ya están
transformadas a la longitud total del elemento más zona rígida. Sin embargo, es posible demostrar
que los resultados son iguales, como se muestra en las ecuaciones 12, 13 y 14.
𝑀(𝑥) = 𝑀𝑖 − 𝑉𝑥 ( 12 )
▪ Viga
𝑀(𝑥) = −6.79913 − 58.3867𝑥
𝑀(0.5) = −35.992 kN-m ( 13 )
▪ Columna
34
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
Para modelar las zonas rígidas de este ejemplo se usó el comando rigidLink tipo beam el cual es un
constraint de puntos múltiples (MP Constraint), cuya función es transmitir la traslación y rotación
entre los grados de libertad relacionados. Esta relación funciona solo para rotaciones pequeñas. Los
demás comandos usados en este modelo son muy sencillos y similares a los usados en otros ejemplos.
35
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático
36
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
Graficar el cambio en la fuerza aplicada en el nodo b y la carga axial en los elementos de la estructura
presentada en la Figura 19 en función de los desplazamientos del nodo b. Se deben tener en cuenta
no linealidades geométricas.
Pb
a c
16
Figura 19. Estructura con 2 elementos tipo 4 (dimensiones en metros).
▪ Código en OpenSees
Modelo
# Análisis no lineal estático, ejemplo 1, unidades en kN,m
# modelo.tcl
model BasicBuilder -ndm 2 -ndf 3
#------------------------------------------------------------------------------------------------
# Nodos
# Nodo tag xCrd yCrd ndf
node 1 0.0 0.0 -ndf 3
node 2 8.0 1.0 -ndf 3
node 3 16.0 0.0 -ndf 3
#------------------------------------------------------------------------------------------------
# SP Constraints
# SPC tag Dx Dy Rz
fix 1 1 1 1
fix 2 1 0 1
fix 3 1 1 1
#------------------------------------------------------------------------------------------------
# Material
#uniaxialMaterial tipo matTag E
uniaxialMaterial Elastic 1 1.0
#------------------------------------------------------------------------------------------------
# Elementos
# Element "Elemento ab": eleTag NodoI NodoJ A matTag
element corotTruss 1 1 2 1.0 1
# Element "Elemento bc": eleTag NodoI NodoJ A matTag
element corotTruss 2 3 2 1.0 1
37
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
Análisis y resultados
# analisis.tcl
# Serie de tiempo
# TimeSeries "Lineal": tsTag cFactor
timeSeries Linear 1 -factor 1.0
#------------------------------------------------------------------------------------------------
# Patrón de carga
# LoadPattern "Patrón carga": patronTag stTag factor
pattern Plain 1 1 -fact 1.0 {
# Load nodoTag Valores Carga ( 1 2 3)
load 2 0.0 -1.0 0.0
}
#------------------------------------------------------------------------------------------------
# Recorders
# Node Recorder "Deformada": Nombre Archivo <nodeTag> GDL resp
recorder Node -file DespNodos.out -node 2 -dof 2 disp
# Node Recorder "Reacciones": Nombre Archivo <nodeTag> GDL resp
recorder Node -file ReaccNodos.out -node 2 -dof 2 reaction
# Element recorder "Fuerzas internas" Nombre Archivo Elemento resp
recorder Element -file ab.out -ele 1 force
# Element recorder "Fuerzas internas" Nombre Archivo Elemento resp
recorder Element -file bc.out -ele 2 force
#------------------------------------------------------------------------------------------------
# Opciones de análisis
# -----------------------------------------------------------------------------------------------
# Controlador de restricciones
constraints Transformation
# Numeración de GDL
numberer Plain
# Sistema de ecuaciones
system FullGeneral
# Prueba de convergencia
test NormDispIncr 0.001 100
# Algoritmo de solución
algorithm Newton
# Integrador
integrator DisplacementControl 2 2 -0.01
# Tipo de análisis
analysis Static
# Ejecutar
analyze 200
▪ Resultados
La carga unitaria aplicada en el nodo b de la estructura varía a medida que la estructura se desplaza
hacia abajo. También, la fuerza axial que siente ambos elementos varía como se presenta en la Figura
20.
38
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
Figura 20. Curva de variación de fuerza axial en los elementos contra desplazamiento del nodo b (azul). Curva de
variación de carga aplicada y desplazamientos en el nodo b (naranja).
Acorde con la Figura 20, la carga axial tiene un comportamiento parabólico y aumenta en magnitud
a medida que los elementos de la estructura se declinan hasta llegar a una magnitud máxima cuando
la estructura está totalmente horizontal. Por otro lado, la fuerza Pb se comporta como una función
sinusoidal la cual es igual a cero cuando la estructura está totalmente horizontal.
▪ Comparación de resultados
La misma estructura fue modelada en SAP2000 con un análisis no lineal con efectos P-Delta más
largos desplazamientos. Ambas curvas resultaron totalmente iguales como se presenta en la Figura
21.
39
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
Calcular las fuerzas internas y desplazamientos generados por el efecto de catenaria en el cable de la
Figura 22.
El efecto de catenaria en un cable hace referencia a la deformada generada en el cable bajo la acción
del preso propio de este. El efecto de catenaria se hace más notorio a medida que el cable en estudio
esté más extendido horizontalmente. Este problema se debe modelar a partir de un análisis no lineal
ya que así es posible realizar un equilibrio de fuerzas en la deformada del cable e iterar hasta lograr
que las fuerzas resistentes de la estructura sean iguales a las fuerzas actuantes, es decir el peso propio
de cable. En este caso se hicieron 2 modelos discretizados en OpenSees. Uno usando 4 elementos
tipo truss y el otro con 10 elementos tipos truss, ambos con formulación corrotacional. En la Figura
22, se presenta un esquema del cable sin deformar y la curva de esfuerzo deformación del material
del cable luego en la Figura 23, se presenta un esquema discretizado del mismo cable.
𝛾𝐴 𝐴
𝜎, MPa
160
1862
1582 10 GPa
𝑘𝑥
200 GPa
𝜀
𝑘𝑦
160
Figura 22.Esquema del cable a modelar, el nodo subrayado en negro hace referencia al que el giro es cero en este nodo. A
la derecha se presenta la curva esfuerzo deformación del material (dimensiones en metros).
▪ Parámetros
Rigidez de resortes 𝑘𝑦 = 10000 kN/m , 𝑘𝑥 = 100000 kN/m, área del cable 𝐴 = 0.0023688 m2 ,
módulo de elasticidad del cable 𝐸 = 200 GPa, presfuerzo en el cable 𝑞𝑜 = 1442 kN, deformación
40
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
axial causada por el presfuerzo 𝜀𝑜 = 𝑞𝑜 /𝐸𝐴 = 0,003, peso propio del material 𝛾 = 76.9729 kN/m3 ,
lo cual equivale a una carga distribuida 𝑊 = 𝛾𝐴 = 0.1823 kN/m.
10.45 kN
10.45 kN 8
7 160
10.45 kN 6
5
1000 kN 4
3
2
160
Figura 23. Esquema discretizado del cable (dimensiones en metros).
Como se presenta en el anterior esquema, la carga distribuida equivalente al peso propio en el cable
fue idealizada como cargas puntuales en los nodos del cable discretizado.
𝑊𝐿 = 0.1823 × 40√2 ≈ 10.45 kN ( 15 )
41
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
42
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
constraints Plain
# Numeración de GDL
numberer Plain
#Prueba de convergencia
test NormUnbalance 1e-7 100 2
# Integrador
integrator LoadControl 1.0
# Algoritmo de solución
algorithm Newton <-initialThenCurrent>
#Tipo de análisis
analysis Static;
# Ejecutar
analyze 1
La misma estructura de este ejemplo, se modeló también con 10 elementos para obtener una mejor
aproximación al comportamiento de una catenaria. Esto implica que cada elemento tiene una longitud
inicial de 𝐿𝑜 = 16√2 m. En este caso, el peso propio del cable se aplicó en los elementos como carga
distribuida en los ejes locales x e y, así: 𝑊𝑥 = 𝑊𝑠𝑖𝑛(𝜃) y 𝑊𝑦 = 𝑊𝑐𝑜𝑠(𝜃), donde 𝜃 son 45°. Los
grados de libertad de este modelo se enumeraron en el mismo sentido que el modelo de 4 elementos
para un total de 20 GDL.
Modelo
# Modelo de cable catenaria con 10 elementos tipo truss
# Análisis no lineal estático, ejemplo 2, unidades en kN,m
# Parámetros
wipe
set gamma 76.9729; #Peso específico del acero
set d 0.05; # Diámetro del cable
set pi [expr acos(-1)]; # Constante Pi
set A 0.0023688; # Área del cable
set W [ expr $gamma*$A]; #Peso muerto del cable
set theta [expr 45*$pi/180]; #Ángulo de inclinación
set Wx [ expr -$W*sin($theta)];
set Wy [ expr -$W*cos($theta)];
set qo 1442; #Presfuerzo en el cable
set E 2e8; # Modulo de elasticidad del cable
set fy [expr 1582*1000]; #Esfuerzo de fluencia del material
set ey [ expr $fy/$E]; #Deformación de fluencia del material
set E2 1e7; #Modulo plástico del material
set fy2 [expr 1862*1000]; #Esfuerzo plástico del material
set eo [ expr $qo/($E*$A)]; #Deformación causado por el presfuerzo
set ky 10000; # Rigidez resorte en dirección Y
set kx 100000; # Rigidez resorte en dirección X
# modelo.tcl
# Crear modelo
model BasicBuilder -ndm 2 -ndf 2
#------------------------------------------------------------------------------------------------
# Nodos
node 1 0.0 0.0 -ndf 2
43
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
44
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
▪ Resultados
En la Tabla 18 y Tabla 19 se presentan los desplazamientos obtenidos en cada grado de libertad,
acorde con el esquema presentado anteriormente de la estructura. También, se presenta la fuerza axial
en cada elemento contando de izquierda a derecha. Además, la deformada del cable generada por el
efecto de catenaria se presenta en la Figura 24. Como era de esperar, en el modelo realizado con 4
elementos para discretizar el cable, la deformada resultante tiene cambios de pendiente muy abruptos,
mientras que al discretizar el modelo del cable en más elementos, en este caso 10, la curva de la
deformada resulta en una línea más suavizada la cual representa de una manera más aproximada la
deformada en el cable por el efecto de catenaria. Sin embargo, los desplazamientos de ambos modelos
son similares.
Tabla 18. Desplazamientos en los GDL y fuerza axial en los elementos del modelo con 4 elementos.
GDL UL, m Elemento q1, kN
1 0.00923226 1 1425.25
2 -9.95E-05 2 1432.60
3 0.315184 3 1439.99
4 -0.31126 4 1447.42
5 0.414928
6 -0.412845
7 0.309512
8 -0.308044
45
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
Tabla 19. Desplazamientos en los GDL y fuerza axial en los elementos del modelo con 10 elementos.
GDL UL, m Elemento q1, kN
1 0.009 1 1427.47
2 -0.003 2 1430.40
3 0.156 3 1433.34
4 -0.152 4 1436.28
5 0.270 5 1439.23
6 -0.267 6 1442.19
7 0.351 7 1445.15
8 -0.349 8 1448.12
9 0.399 9 1451.09
10 -0.398 10 1454.07
11 0.414
12 -0.413
13 0.396
14 -0.395
15 0.346
16 -0.345
17 0.263
18 -0.262
19 0.148
20 -0.147
Figura 24. Deformada del cable por efecto de catenaria en modelos de 4 y 10 elementos.
▪ Comparación de resultados
Como punto de comparación, se usaron los resultados obtenidos de implementar el método matricial
de análisis no lineal estático para el modelo de 4 elementos y una implementación en SAP2000 en el
caso del modelo de 10 elementos (Figura 25). Ambos modelos realizados en OpenSees tuvieron
46
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
Figura 25. Comparación de deformada de catenaria. A la izquierda, modelo en OpenSees con 4 elementos y comparación
con implementación manual, seguido de modelo en OpenSees con 10 elementos y comparación con SAP2000.
Tabla 20. Comparación de fuerza axial en los elementos de la estructura. A la izquierda modelo de 4 elementos seguido
del modelo de 10 elementos.
q1 q1 Manual Error q1 q1 SAP2000 Error
Elemento Elemento
kN (kN) % kN kN %
1 1425.25 1424.17 0.076 1 1427.47 1424.25 0.226
2 1432.60 1432.00 0.042 2 1430.40 1427.14 0.228
3 1439.99 1439.00 0.069 3 1433.34 1430.05 0.230
4 1447.42 1446.35 0.074 4 1436.28 1432.96 0.232
5 1439.23 1435.87 0.234
6 1442.19 1438.79 0.236
7 1445.15 1441.72 0.238
8 1448.12 1444.65 0.240
9 1451.09 1447.59 0.242
10 1454.07 1450.53 0.244
47
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
un único material de tipo Steel01 el cual crean una curva esfuerzo-deformación, o fuerza-
desplazamiento, bilineal que es una aproximación al comportamiento real del acero, el cual tiene una
parte elástica lineal y luego de pasar la fluencia tiene un comportamiento plástico con un
endurecimiento por deformación.
400 kN 400 kN
10 kN/m
b c
100 kN
4.5
a d
Figura 26. Pórtico con rotulas plásticas a flexión y ARP con rotula plástica axial (dimensiones en metros).
Los elementos del pórtico son de acero con un módulo de elasticidad E=200 GPa. El elemento ARP
tiene un área equivalente de 6 cm2 y una rotula plástica elastoplástica con fuerza de fluencia qy1=224
kN. La viga tiene sección W18×76 y 2 rótulas plásticas a flexión, ambas con un comportamiento
elastoplástico y un momento de fluencia qy2=1013 kN-m. Las columnas del pórtico tienen sección
W14×132.
El pórtico se modela con 2 metodologías diferentes en OpenSees. En la primera se usan elementos
tipo ZeroLenght para modelar las rotulas plásticas de la viga y en la segundo se usa un elemento tipo
Displacement Beam Column (DBCE) para modelar la viga con una sección de fibras y el
comportamiento elastoplástico del material. Se usa un elemento tipo TwoNodeLink para modelar la
riostra y un material elastoplástico para modelar el comportamiento del elemento.
En ambos modelos, se hace un análisis no lineal controlado por carga para la carga vertical inicial, y
un análisis no lineal lateral controlado por desplazamiento, hasta que el desplazamiento horizontal
del nodo b sea de 40 cm. Al final, se debe obtener la curva Pushover con ambos métodos. En la Tabla
21 se presentan las propiedades geométricas de las secciones de la viga y las columnas, tomadas de
las Tablas AISC 13 [7] de propiedades de secciones de vigas y columnas.
48
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
Tabla 21. Propiedades geométricas de vigas y columnas de acero con sección W (AISC-13).
Viga W18×76 Columna W14×132
Parámetro
[in] [m] [in] [m]
A 22.3 in2 1.439E-02 m2 38.8 in2 2.503E-02 m2
d 18.2 in 4.623E-01 m 14.7 in 3.734E-01 m
tw 0.425 in 1.080E-02 m 0.645 in 1.638E-02 m
bf 11 in 2.794E-01 m 14.7 in 3.734E-01 m
tf 0.68 in 1.727E-02 m 1.03 in 2.616E-02 m
I 1330 in4 5.536E-04 m4 1530 in4 6.368E-04 m4
Z 163 in3 2.671E-03 m3 234 in3 3.835E-03 m3
49
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
50
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
# -----------------------------------------------------------------------------------------------
setTime 0.0
loadConst
remove recorders
wipeAnalysis
Análisis de carga lateral y resultados
#------------------------------------------------------------------------------------------------
# Análisis lateral
# Patrón de carga lateral
# LoadPattern "Lateral": patternTag tsTag factor
pattern Plain 1 1 -fact 1.0 {
# Load nodeTag Fx Fy Mz
load 2 100.0 0.0 0.0
}
#------------------------------------------------------------------------------------------------
# Recorders
# TwoNodeLink Recorder "ARP": fileName <eleTag> arguments
recorder Element -file Lateral_ARP_BasForc.out -ele 4 basicForce
recorder Element -file Lateral_ARP_BasDefo.out -ele 4 basicDeformation
# Node Recorder "DefoShape": fileName <nodeTag> dof tipoResp
recorder Node -file despOP_rotula.out -node 2 -dof 1 disp
# Node Recorder "Reactions": fileName <nodeTag> dof tipoResp
recorder Node -file reacOP_rotula.out -node 1 4 -dof 1 reaction
# ZeroLength Recorder "rotulaM": fileName <eleTag> arguments
recorder Element -file Lateral_rotulaM_BasForc.out -ele 5 6 basicForce
recorder Element -file Lateral_rotulaM_BasDefo.out -ele 5 6 deformation
#------------------------------------------------------------------------------------------------
# Opciones de análisis
# "Análisis Lateral": Tipo: Estático
# -----------------------------------------------------------------------------------------------
# Control de constraints
constraints Transformation
# Numeración de GDL
numberer RCM
# Sistema de ecuaciones
system BandGeneral
# Prueba de convergencia
test EnergyIncr +1.000000E-06 25 0 2
# Algoritmo de solución
algorithm Newton
# Integrador
integrator DisplacementControl 2 1 0.01
# Tipo de análisis
analysis Static
# Ejecutar análisis
analyze 40
51
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
# Parámetros
set E 2e8; #Modulo de elasticidad de materiales
# Parámetros del ARP
set Ar [expr 6/pow(100,2)]; # Área de riostra
set qy1 224; # Fuerza de fluencia de riostra
set Lr [expr pow(pow(9,2)+pow(4.5,2),0.5)]; # Longitud de riostra
set Ka [expr $E*$Ar/$Lr]; # Rigidez Axial
# Parámetros viga
set Lv 9; # Longitud de viga
set Iv [expr 1330*pow(0.0254,4)]; #Inercia de viga
set qy2 1013; # Momento de fluencia de viga
set Zx [expr 163*pow(0.0254,3)]; #
set fy [expr $qy2/(1.1*$Zx)]; # Esfuerzo de fluencia del acero
# Parámetros columna
set Ac [expr 38.8*pow(0.0254,2)]; # Área de columna
set Ic [expr 1530*pow(0.0254,4)]; # Inercia de columna
#------------------------------------------------------------------------------------------------
# modelo.tcl
#------------------------------------------------------------------------------------------------
# Crear modelo
model BasicBuilder -ndm 2 -ndf 3
#------------------------------------------------------------------------------------------------
# Nodos
# Node tag xCrd yCrd ndf
node 1 0.0 0.0 -ndf 3
node 2 0.0 4.5 -ndf 3
node 3 9.0 4.5 -ndf 3
node 4 9.0 0.0 -ndf 3
#------------------------------------------------------------------------------------------------
# SP constraints
# SPC tag Dx Dy Rz
fix 1 1 1 0
fix 4 1 1 0
#------------------------------------------------------------------------------------------------
# Materiales
# Material "ARP": matTag fy E b
uniaxialMaterial Steel01 1 $qy1 $Ka 0.0
# Material "Viga": matTag Fy E b
uniaxialMaterial Steel01 2 $fy 2e8 0.0
#------------------------------------------------------------------------------------------------
# Sección
#section tipo secTag matTag d tw bf
tf Nfw Nff
section WFSection2d 1 2 [expr 18.2*0.0254] [expr 0.425*0.0254] [expr 11*0.0254] [expr
0.68*0.0254] 1 3
#------------------------------------------------------------------------------------------------
# Transformación geométrica
# GeoTran type tag
geomTransf Corotational 1
#------------------------------------------------------------------------------------------------
# Elementos
# Element "Columna": eleTag ndI ndJ A E Iz geoTranTag
element elasticBeamColumn 1 1 2 $Ac $E $Ic 1
# Element "Viga": eleTag ndI ndJ numIntPts secTag geoTranTag
52
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
element dispBeamColumn 2 2 3 5 1 1
# Element "Columna": eleTag ndI ndJ A E Iz geoTranTag
element elasticBeamColumn 3 4 3 $Ac $E $Ic 1
# Element "ARP": eleTag NodeI NodeJ -mat -dir
element twoNodeLink 4 1 3 -mat 1 -dir 1
Análisis de carga vertical y resultados
# analisis.tcl
#------------------------------------------------------------------------------------------------
# Análisis de carga vertical
#------------------------------------------------------------------------------------------------
# timeSeries
# TimeSeries "Lineal": tsTag cFactor
timeSeries Linear 1 -factor 1.0
#------------------------------------------------------------------------------------------------
# Patrón de carga vertical
# LoadPattern "Vertical": patternTag tsTag factor
pattern Plain 2 1 -fact +1.000000E+00 {
# Load nodoTag Fx Fy Mz
load 2 0.0 -400.0 0.0
load 3 0.0 -400.0 0.0
# eleLoad eleTags beamUniform Wy <Wx>
eleLoad -ele 2 -type -beamUniform -10.0 0.0
}
#------------------------------------------------------------------------------------------------
# Recorders
# Node Recorder "DefoShape": nombreArchivo <nodeTag> dof respType
recorder Node -file Vertical_Dsp_DBE.out -nodeRange 1 4 -dof 1 2 3 disp
# Node Recorder "Reactions": nombreArchivo <nodeTag> dof respType
recorder Node -file Vertical_Reac_DBE.out -node 1 4 -dof 1 reaction
#------------------------------------------------------------------------------------------------
# Opciones de análisis
# "Análisis Vertical": Tipo: Estático
# -----------------------------------------------------------------------------------------------
# Control de constraints
constraints Transformation
# Numeración de GDL
numberer RCM
# Sistema de ecuaciones
system BandGeneral
# Prueba de convergencia
test EnergyIncr 1.0E-06 100 0 2
# Algoritmo de solución
algorithm Newton
# Integrador
integrator LoadControl 1.0
# Tipo de análisis
analysis Static
# Ejecutar análisis
analyze 1
puts "analisis vertical finalizado"
#------------------------------------------------------------------------------------------------
# Reiniciar para siguiente análisis
setTime 0.0
loadConst
53
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
remove recorders
wipeAnalysis
Análisis de carga lateral y resultados
# Análisis de carga lateral
#------------------------------------------------------------------------------------------------
# Patrón de carga vertical
# LoadPattern "Lateral": patternTag tsTag factor
pattern Plain 1 1 -fact 1.0 {
# Load nodeTag Fx Fy Mz
load 2 100.0 0.0 0.0
}
#------------------------------------------------------------------------------------------------
# Recorders
# TwoNodeLink Recorder "ARP": nombre Archivo <eleTag> arguments
recorder Element -file ARP_BasForc.out -ele 4 basicForce
recorder Element -file ARP_BasDefo.out -ele 4 basicDeformation
# Node Recorder "DefoShape": nombre Archivo <nodeTag> dof respType
recorder Node -file Desp_DBE.out -node 2 -dof 1 disp
# Node Recorder "Reactions": nombre Archivo <nodeTag> dof respType
recorder Node -file Reac_DBE.out -node 1 4 -dof 1 reaction
#------------------------------------------------------------------------------------------------
# Opciones de análisis
# AnalysisOptn "Análisis Lateral": Tipo: Estático
# -----------------------------------------------------------------------------------------------
# Control de constraints
constraints Transformation
# DOF Numberer
numberer RCM
# Sistema de ecuaciones
system BandGeneral
# Prueba de convergencia
test EnergyIncr +1.000000E-06 25 0 2
# Algoritmo de solución
algorithm Newton
# Integrador
integrator DisplacementControl 2 1 1.0E-02
# Tipo de análisis
analysis Static
# Ejecutar análisis
analyze 41
puts "Analisis lateral finalizado"
▪ Resultados
Ambos modelos creados en OpenSees pueden tener o no en cuenta la no linealidad geométrica de la
estructura, esto se hace al escoger el tipo de transformación geométrica a usar, la cual puede ser lineal,
P-Delta o corrotacional. A continuación, en la Figura 27 se presenta la curva Pushover obtenida con
el modelo con ZeroLenghtElement y DBCE con y sin efectos no lineales geométricos.
54
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
Figura 27. Curva PushOver de modelos en OpenSees con zeroLenghtElement y DBCE. Arriba, curva con efectos no
lineales geométricos, seguida de curva sin efectos no lineales geométricos.
▪ Comparación de resultados
Para comparar los resultados obtenidos en OpenSees se hicieron 2 modelos en SAP2000, uno
teniendo en cuenta la no linealidad geométrica de la estructura y el otro sin considerar efectos
geométricos no lineales y también se usó el método de evento a evento manualmente, sin considerar
efectos geométricos no lineales, como referencia a los resultados teóricos. Las curvas de Pushover
obtenidas en OpenSees fueron muy similares a las obtenidas en SAP2000 y el método de evento a
evento para los modelos con zeroLenghtElement y DBCE (Figura 28). Además, se observa más
claramente como la pendiente de las curvas Pushover sin efectos geométricos no lineales es mayor
en todos los tramos a sus homologas con efectos de no linealidad geométrica. Por otro lado, es posible
notar que en los modelos realizados en OpenSees no se graficaron los resultados desde las reacciones
del análisis vertical ya que sus respectivas curvas de Pushover no empiezan desde cero, como lo hacen
las de SAP2000. Sin embargo, es también notorio que una extrapolación de la gráfica hacia cero sería
muy parecida a los resultados de SAP2000.
55
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
56
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
de la sección de viga W. Los elementos ARP y columnas se modelan igual que en el modelo con
plasticidad concentrada.
3.4 Ejemplo 4: Edificio de cortante
Graficar la curva Pushover del edificio de cortante presentado en la Figura 29. También, graficar la
curva de fuerza cortante contra deriva para cada piso.
185 kN
148 kN
111 kN
𝑉, kN
20
74 kN
556 876
37 kN
17513
𝑣, m
Figura 29. Esquema del edificio de cortante y curva de fuerza-desplazamientos de las columnas (dimensiones en metros).
Para modelar la estructura anterior, solo se tendrá en cuenta una columna del edifico ya que, al tener
vigas infinitamente rígidas, el desplazamiento horizontal en un piso es igual en ambos nodos de la
viga del piso.
▪ Código en OpenSees
Modelo
# Análisis no lineal estático, ejemplo 4, unidades en kN, m
wipe
# modelo.tcl
# Crear modelo
model BasicBuilder -ndm 2 -ndf 2
#------------------------------------------------------------------------------------------------
# Nodos
# Node tag xCrd yCrd ndf
node 1 0.0 0.0 -ndf 2
node 2 0.0 4.0 -ndf 2
node 3 0.0 8.0 -ndf 2
node 4 0.0 12.0 -ndf 2
node 5 0.0 16.0 -ndf 2
node 6 0.0 20.0 -ndf 2
#------------------------------------------------------------------------------------------------
# SP constraints
# SPC tag Dx Dy
fix 1 1 1
57
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
fix 2 0 1
fix 3 0 1
fix 4 0 1
fix 5 0 1
fix 6 0 1
#------------------------------------------------------------------------------------------------
# Materiales
# Material "matRigi": matTag E
uniaxialMaterial Elastic 1 1e10
# Material "materialCorte": matTag Fy E b
uniaxialMaterial Steel01 2 556.0 17513.0 [expr 876.0/17513.0]
#------------------------------------------------------------------------------------------------
# Elementos
# Element "Columna": eleTag NodoI NodoJ -mat -dir
element twoNodeLink 1 1 2 -mat 2 -dir 2
# Element "Columna": eleTag NodoI NodoJ -mat -dir
element twoNodeLink 2 2 3 -mat 2 -dir 2
# Element "Columna": eleTag NodoI NodoJ -mat -dir
element twoNodeLink 3 3 4 -mat 2 -dir 2
# Element "Columna": eleTag NodoI NodoJ -mat -dir
element twoNodeLink 4 4 5 -mat 2 -dir 2
# Element "Columna": eleTag NodoI NodoJ -mat -dir
element twoNodeLink 5 5 6 -mat 2 -dir 2
Análisis y resultados
# analisis.tcl
# timeSeries
# TimeSeries "Lineal": tsTag cFactor
timeSeries Linear 1 -factor 1.0
#------------------------------------------------------------------------------------------------
# Patrón de carga
# LoadPattern "Lateral": patternTag tsTag factor
pattern Plain 1 1 -fact +1.0 {
# Load nodeTag Cargas
load 2 37.0 0.0
load 3 74.0 0.0
load 4 111.0 0.0
load 5 148.0 0.0
load 6 185.0 0.0
}
#------------------------------------------------------------------------------------------------
# recorders
# Node Recorder "Deformada": fileName <nodeTag> dof respType
recorder Node -file desp.out -nodeRange 1 6 -dof 1 disp
# Node Recorder "Reacciones": fileName <nodeTag> dof respType
recorder Node -file reac.out -node 1 -dof 1 reaction
# TwoNodeLink Recorder "respuestaBasica": fileName <eleTag> arguments
recorder Element -file respuestaBasica_BasForc.out -ele 1 2 3 4 5 basicForce
recorder Element -file respuestaBasica_BasDefo.out -ele 1 2 3 4 5 basicDeformation
#------------------------------------------------------------------------------------------------
# Opciones de análisis
# "Análisis": Tipo: Estático
constraints Transformation; # Control de constraints
numberer RCM; # Numeración de GDL
system BandGeneral; # Sistema de ecuaciones
58
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
▪ Resultados y comparación
A continuación, se presentan las curvas fuerza-deformación básica obtenida para cada piso del
edificio, junto con una gráfica que esquematiza el desplazamiento obtenido por piso para cada
aumento de carga, ver Figura 30. Solo los pisos 1, 2 y 3 llegan a la fuerza de fluencia, luego la
pendiente de su curva fuerza-deformación cambia tal y como indica el modelo del material. En el
caso del piso 4, se obtuvo una fuerza muy cercana a 556 kN, pero no alcanza a fluir. Esto también se
hace evidente al analizar el desplazamiento obtenido por piso para cada aumento de carga, ya que en
los primero pisos se dan las mayores derivas mientras que, en los pisos superiores, el desplazamiento
es mucho mayor pero la deriva es mucho menor que en los primeros pisos.
Por otro lado, Las curvas PushOver obtenidas con OpenSees y SAP2000, ver Figura 31, fueron
iguales. Como se esperaba, se presenta un cambio de pendiente para un cortante basal de 556 kN,
seguido de varios cambios de pendiente pequeños correspondientes a la fluencia de los primeros pisos
del edificio.
Figura 30. Gráficas 1-5 contando de arriba a abajo e izquierda a derecha, son curva de fuerza-deformación de cada piso de
la estructura. Gráfica 6, corresponde a un esquema del desplazamiento por piso del edificio para cada aumento de carga.
59
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático
60
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 4. Análisis no lineal cronológico
Modelar la estructura presentada en la Figura 32 y graficar ciclos de histéresis para cada piso, la
aceleración y el desplazamiento en cubierta en función del tiempo.
La estructura es un edificio de cortante y se somete a una señal de sismo sinusoidal. En la Figura 32
se presenta la curva del comportamiento de las columnas del edificio y la señal de sismo en unidades
de pseudo aceleración. La masa de cada piso es de 45.36 Mg y el amortiguamiento para los 2 primeros
modos de vibración es de 5%.
𝑉, kN
556
17512
𝑣, m
20
𝑈ሷ𝑔 (𝑡)
𝑡, seg
𝑈ሷ𝑔 (𝑡)
Figura 32. Esquema de edificio de cortante, A la derecha, curva de comportamiento de columnas (arriba), Señal de
aceleración (abajo).
▪ Código en OpenSees
Modelo
# Análisis no lineal dinámico, ejemplo 1, unidades kN,m
wipe
# modelo.tcl
model BasicBuilder -ndm 2 -ndf 2
#------------------------------------------------------------------------------------------------
# Nodos
# Node tag xCrd yCrd ndf
node 1 0.0 0.0 -ndf 2
node 2 0.0 4.0 -ndf 2
node 3 0.0 8.0 -ndf 2
node 4 0.0 12.0 -ndf 2
node 5 0.0 16.0 -ndf 2
node 6 0.0 20.0 -ndf 2
#------------------------------------------------------------------------------------------------
61
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 4. Análisis no lineal cronológico
# Masas
# Mass tag mx my
mass 2 45.36 0.0
mass 3 45.36 0.0
mass 4 45.36 0.0
mass 5 45.36 0.0
mass 6 45.36 0.0
#------------------------------------------------------------------------------------------------
# constraints
# SPC tag Dx Dy
fix 1 1 1
fix 2 0 1
fix 3 0 1
fix 4 0 1
fix 5 0 1
fix 6 0 1
#------------------------------------------------------------------------------------------------
# Materiales
# Material "Material": matTag E epsyP epsyN
uniaxialMaterial ElasticPP 1 17512.0 0.03175 -0.03175
#------------------------------------------------------------------------------------------------
# Elementos
# Element "Columna": eleTag NodeI NodeJ -mat -dir
element twoNodeLink 1 1 2 -mat 1 -dir 2 -doRayleigh
element twoNodeLink 2 2 3 -mat 1 -dir 2 -doRayleigh
element twoNodeLink 3 3 4 -mat 1 -dir 2 -doRayleigh
element twoNodeLink 4 4 5 -mat 1 -dir 2 -doRayleigh
element twoNodeLink 5 5 6 -mat 1 -dir 2 -doRayleigh
Análisis y resultados
# analisis.tcl
#------------------------------------------------------------------------------------------------
# timeSeries
# timeSeries path tag dt Archivo .tcl factor
timeSeries Path 1 -dt 0.01 -filePath acel.tcl -factor 9.81;
#------------------------------------------------------------------------------------------------
# Análisis eigen
set lambda [eigen 3]
set omega {}
set f {}
set T {}
set pi 3.141593
foreach lam $lambda {
lappend omega [expr sqrt($lam)]
}
puts "frecuencia: $omega"
#------------------------------------------------------------------------------------------------
# Rayleigh Damping
set z 0.05
set w1 [lindex $omega 0]
set w2 [lindex $omega 1]
set a0 [expr $z*$w1*$w2/($w1+$w2)]
set a1 [expr $z*2/($w1+$w2)]
rayleigh $a0 $a1 $a1 $a1
# LoadPattern "Patrón Carga": patternTag dir tsTag
62
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 4. Análisis no lineal cronológico
▪ Resultados y comparación
En la Figura 33 se presentan los ciclos de histéresis obtenidos, a partir de OpenSees para cada piso
de la estructura. Acorde con estos resultados, los pisos 1, 2 y 3 llegan a la fuerza cortante de fluencia,
mientras que los pisos 4 y 5 no. Además, el piso 1 es el único en completar un ciclo de histéresis
completo. Por otro lado, se compara el ciclo de histéresis del piso 1 obtenido en OpenSees, SAP2000
y la implementación manual, ver Figura 34, y los ciclos obtenidos fueron muy similares, en especial
los obtenidos con OpenSees y la implementación manual. Sin embargo, se diferencian ligeramente
cuando el elemento está en el rango elástico.
En la Figura 35 y Figura 36 se presenta la comparación entre la aceleración y desplazamiento en
cubierta obtenidos en OpenSees, SAP2000 y manualmente. Las curvas fueron similares, pero al igual
que en el ciclo de histéresis, los resultados de la implementación manual fueron más similares a los
obtenidos con OpenSees que con SAP2000. Incluso, la curva de desplazamiento en cubierta de
SAP2000 converge a un valor ligeramente diferente a las obtenidas en OpenSees y la implementación
manual.
63
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 4. Análisis no lineal cronológico
64
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 4. Análisis no lineal cronológico
65
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 4. Análisis no lineal cronológico
2
𝑎1 = 𝜀 ( 18 )
𝜔𝑖 + 𝜔𝑗
Por otro lado, la señal del sismo se agrega a la serie de tiempo del problema con el comando
timeSeries, en el cual se indica el tamaño del paso de tiempo y se agrega la ruta y el nombre del
archivo que contiene la señal. También, se debe especificar un factor por el cual se multiplicará la
señal, en este caso 9.81, por la aceleración de la gravedad en unidades SI. Luego, se usa el integrador
de Newmark con coeficientes gamma y beta iguales a 0.5 y 0.25 respectivamente y el tipo de análisis
correspondiente es Transient. Finalmente, se ejecuta el modelo con el comando analyze el número de
veces necesarias para alcanzar una duración requerida teniendo en cuenta el tamaño de paso de
tiempo.
66
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES
Conclusiones y recomendaciones
Este documento presenta una serie de ejemplos de análisis estructural con procedimientos lineales y
no lineales desarrollados en OpenSees. Cada ejemplo fue comparado con una solución obtenida en
SAP2000, principios de estática o implementando manualmente el método matricial de rigidez. En
todos los ejemplos, los resultados obtenidos con OpenSees fueron similares a los calculados a partir
de otros métodos.
Para facilitar la modelación en OpenSees se recomienda el uso de la herramienta OpenSees Navigator
lo cual es un complemento de MATLAB que funciona como interfaz gráfica del programa [9]. El uso
de esta herramienta es ligeramente similar a la modelación en SAP2000, aunque no tiene su gran
variedad de comandos que facilitan al usuario la modelación. Este complemento se encarga de escribir
el código de OpenSees en el lenguaje Tcl y requiere una ruta de acceso a un ejecutable de OpenSees,
luego los resultados obtenidos se pueden procesar gráficamente. La mayoría de los modelos
desarrollados en este trabajo se realizaron usando OpenSees Navigator, aunque los archivos de texto
Tcl que contienen el código generado por el programa se modificaron manualmente, dependiendo de
los requerimientos de cada ejemplo.
67
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES
68
EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES
Referencias
69