universidad de los andes departamento de ingenierÍa …

75
UNIVERSIDAD DE LOS ANDES DEPARTAMENTO DE INGENIERÍA CIVIL Y AMBIENTAL EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Iván Alberto Salazar Moreno Asesor: Juan Carlos Reyes Ortiz PhD Proyecto de grado Bogotá D.C., Colombia Diciembre, 2018

Upload: others

Post on 16-Oct-2021

12 views

Category:

Documents


0 download

TRANSCRIPT

UNIVERSIDAD DE LOS ANDES

DEPARTAMENTO DE INGENIERÍA CIVIL Y AMBIENTAL

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES

Iván Alberto Salazar Moreno

Asesor:

Juan Carlos Reyes Ortiz PhD

Proyecto de grado

Bogotá D.C., Colombia

Diciembre, 2018

ii

iii

RESUMEN

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.

iv

v

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.

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

3

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.2.2 Objetivos específicos

▪ Dar a conocer el funcionamiento del software OpenSees a futuros estudiantes.

▪ Fomentar en los estudiantes el uso del software OpenSees.

▪ Fomentar la investigación en el desarrollo de nuevos modelos de análisis estructural a partir de las

herramientas provistas por OpenSees.

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

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 1. Introducción

4

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.

Modelo

Análisis

Resultados

▪ model: Crea el modelo

▪ node: Crea los nodos

▪ element: Crea los elementos

▪ SP_Constraints: Restringe el movimiento en los GDL requeridos

▪ MP_Constraints: Relaciona el movimiento entre varios nodos

▪ ConstraintHandler: Control de condiciones de borde

▪ DOF_Numberer: Enumeración de GDL

▪ Integrator: Integrador del modelo

▪ SolutionAlgorithm: Método para solucionar el sistema de ecuaciones

▪ SystemOfEqn/Solver: Arma el sistema de ecuaciones

▪ Convergence Test: Determina cuando se ha llegado a la convergencia

▪ recorder: Se encarga de almacenar datos de un objeto del modelo mientras se

ejecuta

▪ print: Imprime en consola datos sobre un objeto específico

Figura 1. Fases del modelo.

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

5

2. Análisis lineal estático

2.1 Ejemplo 1: Estructura estáticamente determinada

Para la estructura estáticamente determinada de la Figura 2, calcular las reacciones en los apoyos y

dibujar los diagramas de fuerza cortante, axial y momento del elemento ab y cd.

Figura 2. Estructura estáticamente determinada (dimensiones en metros).

▪ 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

#------------------------------------------------------------------------------------------------

e

3.5(1+sin(45))

10 kN/m

a

b

45°

c

3.5

3.5

d

20 kN

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

6

# 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

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

7

▪ 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.

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

8

Tabla 2. Comparación de fuerzas internas obtenidas en OpenSees y SAP2000.

Elemento ab bc cd de

Nodo i j i j i j i j

P, kN

OpenSees -21.062 21.062 -38.562 38.562 -66.909 66.909 74.623 -74.623

SAP2000 -21.062 21.062 -38.562 38.562 -66.909 66.909 74.623 -74.623

Error absoluto 4.0E-04 4.0E-04 4.0E-04 4.0E-04 4.0E-04 4.0E-04 1.0E-04 1.0E-04

V, kN

OpenSees 38.562 -38.562 -21.062 56.062 -12.374 38.624 -20.0 0

SAP2000 38.562 -38.562 -21.062 56.062 -12.374 38.624 -20.0 0

Error absoluto 4.0E-04 4.0E-04 4.0E-04 4.0E-04 4.0E-04 4.0E-04 0 1.8E-14

M, kN-m

OpenSees -2.6E-13 134.965 -134.97 9.4E-14 9.9E-14 -89.248 89.248 -138.745

SAP2000 0 134.965 -134.965 8.5E-14 1.1E-13 -89.248 89.248 -138.745

Error absoluto 2.6E-13 4.0E-04 4.0E-04 8.9E-15 1.5E-14 0 0 3.0E-04

Tabla 3. Comparación de reacciones en nodos en OpenSees y teóricos.

Nodo a b c d e

Fx, kN

OpenSees -38.562 -2.1E-13 38.562 -38.562 -3.5527E-14

Teórico -38.562 0 38.56 -38.56 0

Error absoluto 4.0E-04 2.1E-13 1.6E-03 1.6E-03 3.6E-14

Fy, kN

OpenSees -21.062 7.11E-15 56.062 -56.062 74.623

Teórico -21.06 0 56.06 -56.06 74.62

Error absoluto 1.6E-03 7.1E-15 1.6E-03 1.6E-03 3.1E-03

Mz, kN-m

OpenSees -2.8E-14 -2.8E-14 6.6E-14 -1.1E-13 -138.745

Teórico 0 0 0 0 -138.75

Error absoluto 2.8E-14 2.8E-14 6.6E-14 1.1E-13 5.0E-03

▪ Detalles clave de modelación en OpenSees

Al ser una estructura estáticamente determinada no fue necesario tener en cuenta parámetros

relacionados con la rigidez de la estructura como el módulo de elasticidad del material, la inercia y el

área de la sección transversal de los elementos.

Por otro lado, para modelar los pasadores de la estructura se usó el comando equalDOF el cual es un

Multiple Point Constraint el cual relaciona los grados de libertad deseados de un nodo maestro con

un nodo esclavo. En este caso se usó en 2 nodos ubicados en la misma posición y se transmitió la

fuerza en los grados de libertad 1 y 2, que son X e Y, para así liberar el momento en el elemento. Sin

embargo, los pasadores también podían ser modelados con el comando Zero Length Element con un

material muy rígido en la dirección axial y cortante del elemento. Este tipo de elementos, como su

nombre lo dice, tiene longitud cero, (2 nodos en la misma posición) y recibe por parámetro un material

para cada dirección del elemento.

2.2 Ejemplo 2: Estructura estáticamente determinada con carga triangular.

Modelar la estructura estáticamente determinada presentada en la Figura 4, y calcular las reacciones

en los nodos, las fuerzas internas y los diagramas de fuerzas cortante, axial y momento del elemento

ab.

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

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

b

60°

c

a d

4.5

4.5/tan(60°) 3.9

10 kN

6 kN*

6 kN*

8 kN/m

10 kN/m

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

10

# GeoTran type tag

geomTransf Linear 1; # Transformación lineal para pasar de valores locales a globales

#------------------------------------------------------------------------------------------------

# Elementos

# Element "Elementoab": eleTag NodoI NodoJ A E Iz geoTranTag

element elasticBeamColumn 1 1 2 1 1 1 1

# Element "Elementobc": eleTag NodoI NodoJ A E Iz geoTranTag

element elasticBeamColumn 2 3 4 1 1 1 1

# Element "Elementocd": eleTag NodoI NodoJ A E Iz geoTranTag

element elasticBeamColumn 3 5 6 1 1 1 1

Análisis y resultados # analisis.tcl

#------------------------------------------------------------------------------------------------

# Serie de tiempo

# TimeSeries "Lineal": tsTag cFactor

timeSeries Linear 1 -factor 1.0; # Problema estático

#------------------------------------------------------------------------------------------------

# Patrón de carga

# LoadPattern "Plain": patternTag tsTag factor

pattern Plain 1 1 -fact +1.0 {

# Load nodoTag Cargas

load 5 10.0 0.0 0.0; # Carga puntual en el nodo c

# eleLoad eleTags beamUniform Wy <Wx>

eleLoad -ele 1 -type -beamUniform -5.0 -8.660254; # Carga elemento ab

# eleLoad eleTags beamPoint Py xL <Px>

eleLoad -ele 2 -type -beamPoint -15.6 3.333333E-01 0.0; # Carga puntual en elemento bc

para simular carga distribuida triangular

eleLoad -ele 3 -type -beamPoint 6.0 3.333333E-01 0.0; # Carga elemento cd

eleLoad -ele 3 -type -beamPoint 6.0 6.666667E-01 0.0; # Carga elemento cd

}

#------------------------------------------------------------------------------------------------

# Archivos de resultados

# Node Recorder "Desplazamiento": fileName <nodeTag> dof respType

recorder Node -file Desplazamineto_Nodos.out -nodeRange 1 6 -dof 1 2 3 disp

# Node Recorder "Reacciones": fileName <nodeTag> dof respType

recorder Node -file Reacciones_Nodos.out -nodeRange 1 6 -dof 1 2 3 reaction

# Resultados elementos

# Elemento ab

recorder Element -file ElementoAB.out -ele 1 localForce;

# Elemento bc

recorder Element -file ElementoBC.out -ele 2 localForce;

# Elemento cd

recorder Element -file ElementoCD.out -ele 3 localForce;

#------------------------------------------------------------------------------------------------

# Opciones de análisis

# "Estático": Tipo: Estático

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

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

11

▪ 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

Tabla 5. Fuerzas internas en los extremos de la estructura.

Elemento P, kN V, kN M, kNm

Nodo i j i j i j

ab 46.0067 -1.00667 45.0372 -19.0564 166.52 -6.93E-14

bc -16 16 10.4 5.2 -3.73E-14 -2.84E-14

cd 5.2 -5.2 -6 -6 -6.93E-14 -8.26E-14

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

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

12

resultados teóricos desarrollados a partir de principios de estática como se muestra en la Tabla 6. Al

igual que en el ejemplo 1, los resultados obtenidos con el modelo desarrollado en OpenSees fueron

iguales a los resultados obtenido teóricamente y en SAP2000.

Tabla 6. Comparación de reacciones en los nodos con resultados teóricos.

Nodo a b c d

Fx, kN OpenSees -16.0 -16.0 16.0 -6.0

Teórico -16.0 -16.0 16.0 -6.00

Fy, kN OpenSees 62.362 10.4 5.2 5.2

Teórico 62.362 10.4 5.2 5.2

Mz, kN-m OpenSees 166.52 0 0 0

Teórico 166.52 0 0 0

Tabla 7. Comparación entre fuerzas internas obtenidas en OpenSees y SAP2000.

Elemento ab bc cd

Nodo i j i j i j

P, kN

OpenSees 46.007 -1.007 -16.0 16.0 5.2 -5.2

SAP2000 46.007 -1.007 -16.0 16.0 5.2 -5.2

Error absoluto 3.0E-04 3.3E-04 0 0 0 0

V, kN

OpenSees 45.037 -19.056 10.4 5.2 -6.0 -6.0

SAP2000 45.037 -19.056 10.4 5.2 -6.0 -6.0

Error absoluto 2.0E-04 4.0E-04 0 0 0 0

M, kN-m

OpenSees 166.52 -6.9E-14 -3.73E-14 -2.84E-14 -6.9E-14 -8.3E-14

SAP2000 166.52 2.4E-14 -3.7E-14 -2.4E-15 -2.8E-14 3.6E-14

Error absoluto 0 9.3E-14 1.7E-16 2.6E-14 4.1E-14 1.2E-13

▪ Detalles clave de la modelación en OpenSees

La estructura del ejemplo 2 es bastante similar a la del ejemplo 1 por ende, el modelo en OpenSees

no tiene muchas diferencias más que la ubicación de los nodos y magnitud de las cargas. Sin embargo,

OpenSees no cuenta con un comando específico para agregar una carga distribuida no uniforme, en

este caso triangular. Por lo tanto, para simular el efecto de una carga distribuida triangular, se aplicó

una carga puntual tal que al hacer equilibrio la fuerza y momento generado sean iguales, es decir se

hizo un sistema equivalente de cargas. En la ecuación 1 se presenta la fuerza puntual resultante

estimada para el modelo, luego en la ecuación 2 y 3 se calcula el punto de aplicación de la carga en

distancia absoluta y relativa respectivamente. Es necesario aclarar que la ubicación de una carga

puntual aplicada en un elemento en OpenSees se debe ingresar en distancia relativa a la longitud del

elemento.

𝐹 =𝑊𝐿

2=

8 × 3.9

2= 15.6 kN

( 1 )

𝑥 =𝐿

3=

3.9

3= 1.3 m

( 2 )

1.3

3.9 = 0.33333

( 3 )

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

13

2.3 Ejemplo 3: Reacciones a partir de fuerzas y deformaciones básicas

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.

Figura 6. Estructura con desplazamientos en el nodo b (dimensiones en metros).

▪ 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

a

b c 𝑈1

𝑈2 𝑈3

3

3

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

14

set U2 0.005; # Desplazamiento GDL 2 set U3 0.1; # Desplazamiento GDL 3 #------------------------------------------------------------------------------------------------

# Crear modelo

model BasicBuilder -ndm 2 -ndf 3

#------------------------------------------------------------------------------------------------

# Nodos

# Nodo tag xCrd yCrd

node 1 0.0 0.0; # Nodo a

node 2 0.0 0.0; # Nodo aAux (Modelar pasador)

node 3 0.0 3.0; # Nodo b

node 4 3.0 3.0; # Nodo c

#------------------------------------------------------------------------------------------------

# Restricciones de movimiento

# SPC tag Dx Dy Rz

fix 1 1 1 1

fix 3 1 1 1

fix 4 1 1 1

# MPC nodoi nodoj dof1 dof2

equalDOF 1 2 1 2; # Este comando se usa para modelar el pasador del nodo a

#------------------------------------------------------------------------------------------------

# Transformación geométrica

# GeoTram type tag

geomTransf Corotational 1; # Se usará una transformación lineal en los elementos

#------------------------------------------------------------------------------------------------

# Elementos

# Element "Elemento ab": eleTag NodoI NodoJ A E Iz

element elasticBeamColumn 1 2 3 $A $E $I 1

# Element "Elemento bc": eleTag NodoI NodoJ A E Iz

element elasticBeamColumn 2 3 4 $A $E $I 1

Análisis y resultados # Analisis.tcl

#------------------------------------------------------------------------------------------------

# Serie de tiempo

#timeSeries tsTag

timeSeries Linear 1

#------------------------------------------------------------------------------------------------

# Patrón de carga

# pattern Plain patternTag tsTag

pattern Plain 1 1 {

#Se aplica un desplazamiento en el nodo 2

# sp NodoTag GDL Desp

sp 3 1 $U1

sp 3 2 $U2

sp 3 3 $U3

}

#------------------------------------------------------------------------------------------------

# Archivos de resultados

# Node Recorder "Reacciones": fileName <nodeTag> dof respType

recorder Node -file nodo.out -node 3 -dof 1 2 3 reaction

#------------------------------------------------------------------------------------------------

system BandGeneral; # Sistema de ecuaciones

numberer RCM; # Numeración de GDL

constraints Transformation; # Control de constraints

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

15

integrator LoadControl 1; # Integrador

algorithm Linear; # Algoritmo de solución

analysis Static; # Tipo de análisis

analyze 1; # Ejecutar análisis

▪ 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.

Tabla 8. Fuerzas necesarias para causar desplazamientos U en el nodo B.

Dirección Magnitud

Fx, kN 35723

Fy, kN 18858.3

Mz, kN-m 4725.11

Tabla 9. Comparación de resultados en OpenSees con cálculos manuales.

Fuerza Fx, kN Fy, kN Mz, kN-m

OpenSees 35723 18858.3 4725.11

MATLAB 35722.9773 18858.3112 4725.10999

Error relativo (%) 6.35445E-05 5.939E-05 2.1164E-07

▪ Detalles clave de la modelación en OpenSees.

El modelo de este ejemplo es en realidad muy sencillo, ya que solo cuenta con 3 nodos que hacen

parte de la estructura como tal y un nodo adicional para modelar el pasador en la columna. Las cargas

aplicadas son desplazamientos en los nodos y el objetivo es determinar la fuerza que provoca tales

desplazamientos. Para esto, es esencial que se empotren todos los nodos de la estructura. En el caso

de los nodos a y c el esquema lo requiere por ser apoyos empotrados, pero a pesar de que el nodo b

sea libre, se debe empotrar para así hacer creer al programa que este nodo es un apoyo y se calculen

las reacciones.

2.4 Ejemplo 4: Viga simplemente apoyada bajo cambio de temperatura axial.

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.

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

16

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.

Figura 8. Esquema de aplicación de temperatura en OpenSees. [5]

Figura 9. Esquema de la sección de fibras modelada en OpenSees (dimensiones en metros).

1

∆𝑇𝑎 = 30°C

0.4

0.6

(T2, Y2)

(T1, Y1)

(T5, Y5)

(T4, Y4)

(T3, Y3)

(T2, Y2)

(T1, Y1)

Interpolación

(T9, Y9) (T8, Y8) (T7, Y7)

(T5, Y5)

(T3, Y3)

(T1, Y1)

• • • •

• •

Sección

viga

Aplicación de

temperatura

Fibras

(T6, Y6)

(T4, Y4)

(T2, Y2)

Y

Z

(z, y)

I

J

0.6

0.4

-0.2,0.3

0.2, -0.3

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

17

▪ 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

}

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

18

#------------------------------------------------------------------------------------------------

# 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

▪ Resultados en OpenSees y comparación

A partir del modelo anterior se obtuvo una carga axial de 17683.2 kN. Esto será corroborado con

cálculos teóricos. Para esto, es sabido que la fuerza axial generada en una viga bajo un cambio de

temperatura axial se calcula con la ecuación 4.

𝑃 = 𝐸𝐴𝛼𝑇∆𝑇 ( 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.

𝛼𝑇 =(1.2 × 10−5 × 𝑇𝑓 + 0.4 × 10−8 × 𝑇𝑓

2 − 2.416 × 10−4)

∆𝑇

( 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.

𝛼𝑇 =(1.2 × 10−5 × 50 + 0.4 × 10−8 × 502 − 2.416 × 10−4)

30= 1.228 × 10−5

1

°C

( 6 )

𝑃 = 200 × 0.6 ∗ 0.4 ∗ 1.228 × 10−5 × 30 = 17683.2 kN

( 7 )

El resultado teórico fue exactamente igual al obtenido en OpenSees. En la Tabla 10 y Figura 10 se

presentan los resultados teóricos y en OpenSees obtenidos para cambios de temperatura desde 10°C

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

19

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.

▪ Detalles clave de la modelación en OpenSees

Primero, es importante aclarar que los comandos de OpenSees que incorporan el comportamiento

termo-mecánico de materiales fueron desarrollados por un grupo de investigación de la Universidad

de Edinburgh y tiene una documentación propia, separada de la documentación principal [6]. El

código realizado para modelar el comportamiento termo-mecánico de la estructura es similar a los

modelos realizados en ejemplos anteriores, con la diferencia de que en este caso se tuvo que crear un

material que luego se relaciona con una sección de fibras y un elemento, todos de tipo térmico. Los

comandos de comportamiento térmico son muy similares a comandos que ya existían anteriormente

en OpenSees. Los comandos térmicos usados en este modelo fueron: Steel01Thermal, FiberThermal,

dispBeamColumnThermal y para agregar la carga de temperatura se usa un patrón de carga

convencional, como los realizados en ejemplos anteriores, sin embargo, el tipo de carga es

beamThermal. Los demás comandos son iguales a los usados en otros ejemplos.

Es de vital importancia crear un recorder con las reacciones de todos los nodos de la estructura para

así obtener resultados correctos cuando se calculen las fuerzas internas en los elementos. Aunque, en

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

20

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.

2.5 Ejemplo 5. Puente bajo carga de presfuerzo axial

Realizar un análisis lineal estático del modelo estructural del puente de la Figura 11 para obtener los

diagramas de fuerza axial, cortante y momento de la estructura.

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

a b c

6

7.5 7.5

d

75 kN/m 75 kN/m

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

21

# 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

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

22

# 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 {

# eleLoad eleTags beamUniform Wy <Wx> eleLoad -ele 1 -type -beamUniform -$Wv 0.0

eleLoad -ele 2 -type -beamUniform -$Wv 0.0

}

#------------------------------------------------------------------------------------------------

# Recorders

# Node Recorder "Desplazamientos": fileName <nodeTag> dof respType

recorder Node -file DespNodos.out -time -nodeRange 1 5 -dof 1 2 3 disp

# Node Recorder "Reacciones": fileName <nodeTag> dof respType

recorder Node -file ReaccionesNodos.out -time -nodeRange 1 5 -dof 1 2 3 reaction

# Elemento ab

recorder Element -file ElementoAB.out -ele 1 localForce;

# Elemento bc

recorder Element -file ElementoBC.out -ele 2 localForce;

# Elemento bd

recorder Element -file ElementoBD.out -ele 3 localForce;

#------------------------------------------------------------------------------------------------

# 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; # Integrador

analysis Static; # Tipo de análisis

analyze 1; # Ejecutar análisis

▪ 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.

Tabla 11. Fuerzas internas en los extremos de los elementos.

Elemento P, kN V, kN Mz, kN-m

i j i j i j

ab 782.708 -782.708 -261.001 301.499 -300.684 -452.555

bc -21.154 21.154 -341.591 220.909 -452.555 0

cd 1029.450 -1029.450 0 0 0 0

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

23

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

P, kN

OpenSees 782.708 -782.708 -21.154 21.154 1029.450 -1029.450

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

V, kN

OpenSees -261.001 301.499 -341.591 220.909 0 0

SAP2000 -261.001 301.499 -341.591 220.909 0 0

Error absoluto 0 0 0 0 0 0

M, kN

OpenSees -300.684 -452.555 -452.555 0 0 0

SAP2000 -300.684 -452.555 -452.555 8.53E-14 0 0

Error absoluto 0 0 0 8.527E-14 0 0

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

24

▪ Detalles clave de la modelación en OpenSees

Este ejemplo contiene dos requerimientos que no se han tenido en cuenta en modelos anteriores, un

presfuerzo axial y un resorte. En el caso del resorte, se creó un material elástico con el comando

uniaxialMaterial Elastic, el módulo de este material es la constante K del resorte. Luego, se usó un

elemento tipo twoNodeLink el cual está ubicado entre el nodo c de la estructura y un nodo auxiliar

en la misma posición del nodo c. El elemento recibe por parámetro el material del resorte y trabaja

en la dirección axial. También, es posible modelar el resorte usando un zeroLengthElement.

Para modelar la carga de presfuerzo se creó un material con una deformación inicial, el cual recibe

por parámetro el material del cable y la deformación deseada. Esta deformación inicial se calculó a

partir de la carga de presfuerzo, el módulo de elasticidad y el área del cable 𝜀 = 𝑓𝑜/𝐸𝐴. Luego, el

material resultante es usado en un elemento tipo truss el cual es como una riostra con pasadores en

los extremos. El presfuerzo también puede ser modelado con un material con esfuerzo inicial.

2.6 Ejemplo 6: Viga con presfuerzo a flexión.

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.

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).

285 kN/m 285 kN/m

40 40

a b c

e1 e1

e2

(a)

(b)

(c)

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

25

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 − 𝑏𝐿𝑜)

𝐿𝑜2

( 8 )

𝑏 = −2

𝐿𝑜√𝑒1 − 𝑒2(√𝑒1 − 𝑒2 + √𝑒3 − 𝑒2)

( 9 )

𝑐 = 𝑒1

( 10 )

𝑒(𝑥) = 𝑎𝑥2 + 𝑏𝑥 + 𝑐

( 11 )

Los valores e1, e2 y e3 son las excentricidades del cable.

▪ Código en OpenSees con efecto de presfuerzo a flexión

Procedimiento (función) # exce.tcl

# Procedimiento para calcular el valor de excentricidad en un punto de elementos a partir de 3

puntos de excentricidad y la longitud del elemento

proc exce { e1 e2 e3 L x } {

global ex

set c $e1

set b [ expr (-2/$L)*pow($e1-$e2,0.5)*(pow($e1-$e2,0.5)+pow($e3-$e2,0.5))]

set a [ expr ($e3 - $e1 -$b*$L)/pow($L,2)]

set ex [ expr $a*pow($x,2) + $b*$x + $c] }

Modelo # Análisis lineal estático, ejemplo 6, unidades kN,m

# Parámetros

set fo 20000; #Carga de presfuerzo

set Av 100000000000000; #Área de viga

set Iv 100000000000000; #Inercia de viga

set Ev 1; #Modulo de viga

set Ac 1; #Área de cable

set Ic 1; #Inercia de cable

set Ec 2e8; #Modulo del cable

set L 40.0; #Longitud de la viga

set paso 0.1; #Valor del paso

set n 401; #(L/paso) +1

set eo [ expr $fo/$Ec ]; #Deformación inicial del presfuerzo

# Excentricidades

set e1 0.0

set e2 -1.16

set e3 0.675

# Parámetros de ecuación de excentricidad

set a 0.01478236

set b -0.26189722

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

26

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

}

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

27

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.

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

28

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

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

29

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

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

30

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.

Tabla 13. Comparación de modelos en OpenSees y SAP2000 con resultado teórico.

OpenSees SAP2000 Resultado teórico

Paso de 1

m

Paso de 0.1

m Tipo frame

Tipo

tendon

Efecto

primario

Efecto

secundario Total

Efecto de carga muerta

M, kN-m -56999.9 -56999.9 -56530.53 -56995.90 [-] -57000.0

error relativo,

% 0.0002 0.0002 0.8236 0.0072 [-]

Efecto de presfuerzo a flexión

M, kN-m 29368.4 29379.7 29121.46 29358.75 13320.54 16064.72 29385.27

error relativo,

% 0.0574 0.0189 0.8977 0.0902 [-]

Efecto combinado

M, kN-m -27631.6 -27620.2 -27409.07 -27637.15 13320.54 16064.72 -27614.64

error relativo,

% 0.0614 0.0201 -0.7444 -0.0815 [-]

▪ Detalles clave de la modelación en OpenSees

Como se dijo al inicio de este ejemplo, modelar en OpenSees la respuesta de una viga con presfuerzo

a flexión requiere un modelo bastante complicado, ya que se deben crear n-elementos para la viga y

cable dependiendo del tamaño del paso que se quiera usar. Para esto se usaron recorridos con el

comando for. El presfuerzo se modeló igual a como se hizo con el ejemplo de presfuerzo axial, con

una deformación inicial, pero esta vez se aplicó a muchos elementos que formaban un cable con

excentricidades.

Los elementos tipo viga del modelo, se crearon como elementos tipo elasticBeamColumn, al igual

que las uniones entre el cable y la viga. Los elementos del cable se modelaron con el comando truss,

mismo comando usado en el ejemplo 5 para modelar el cable del puente. La función de las uniones

es transmitir la fuerza vertical que se genera en el cable, por efecto del presfuerzo, a la viga principal.

Esto, genera una especie de carga distribuida no uniforme que tiene el efecto contrario al de una carga

distribuida uniforme gravitacional en una viga. Como se puede ver el diagrama de momentos

generado por el presfuerzo a flexión es como el reflejo al generado por una carga distribuida

gravitacional. Al igual que en SAP2000 los elementos que forman las uniones viga-cable son

infinitamente rígido ya que su función es transmitir fuerza y deformar la viga por el efecto del

presfuerzo en el cable.

2.7 Ejemplo 7: Estructura con zonas rígidas

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.

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

31

Figura 17. Estructura con zonas rígidas (dimensiones en metros).

▪ Parámetros

Para este ejemplo se usarán propiedades hipotéticas tal que 𝐸𝐴 = 65𝐸𝐼, de forma que se selecciona

un módulo de elasticidad e inercia unitarios para cumplir con el requerimiento. La estructura de la

Figura 17 solo tiene 3 grados de libertad en el nodo b.

▪ 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

3

c

a b

3 0.5

𝑈2 𝑈3

𝑈1

0.5

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

32

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

# Element "Columna": eleTag NodoI NodoJ A E Iz geoTranTag

element elasticBeamColumn 2 4 5 65.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

#------------------------------------------------------------------------------------------------

# Patrón de carga

# LoadPattern "Patrón carga": patronTag stTag factor

pattern Plain 1 1 -fact 1.0 {

# eleLoad eleTags Uniforme Wy <Wx>

eleLoad -ele 1 -type -beamUniform -50.0 0.0

}

#------------------------------------------------------------------------------------------------

# Recorders

# Node Recorder "Deformada": Nombre Archivo <nodeTag> GDL resp

recorder Node -file DespNodos.out -nodeRange 1 3 -dof 1 2 3 4 5 disp

# Node Recorder "Reacciones": Nombre Archivo <nodeTag> GDL resp

recorder Node -file ReaccNodos.out -nodeRange 1 3 -dof 1 2 3 4 5 reaction

# Element recorder "Fuerzas internas" Nombre Archivo Elemento resp

recorder Element -file ab.out -ele 1 localForce

# Element recorder "Fuerzas internas" Nombre Archivo Elemento resp

recorder Element -file bc.out -ele 2 localForce

#------------------------------------------------------------------------------------------------

# Opciones de análisis

# -----------------------------------------------------------------------------------------------

constraints Transformation; # Controlador de restricciones

numberer Plain; # Numeración de GDL

system FullGeneral; # 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

▪ 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.

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

33

Tabla 14. Desplazamientos {UL}.

GDL Desplazamiento, m

1 -0.6972

2 -2.6948

3 17.3426

Tabla 15. Fuerzas internas en los extremos de los elementos obtenidas en OpenSees.

Elemento P, kN V, kN Mz, kN-m

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

Figura 18. Diagramas de fuerzas internas en los elementos ab y bc de la estructura.

▪ 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).

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

34

Tabla 16. Comparación de desplazamientos obtenidos en OpenSees e implementación manual

GDL Desplazamiento {UL}, m

Error, % OpenSees MATLAB

1 -0.6972 -0.6972 6.41E-05

2 -2.6948 -2.6948 2.80E-05

3 17.3426 17.3426 8.66E-05

Tabla 17. Comparación de fuerzas internas obtenidas en OpenSees e implementación manual.

Elemento P, kN V, kN Mz, kN-m

i j i j i j

Viga OpenSees 15.106 -15.106 91.613 58.387 56.639 -6.799

Manual 15.106 -15.106 91.613 58.387 56.639 -35.992

Columna OpenSees 58.387 -58.387 15.106 -15.106 28.440 16.878

Manual 58.387 -58.387 15.106 -15.106 35.992 16.878

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

𝑀(𝑥) = 28.4396 + 15.106𝑥

𝑀(0.5) = 35.992 kN-m

( 14 )

El proceso demostrado anteriormente consiste en usar la ecuación de la recta para determinar el

momento en el extremo de la zona rígida. Esto, es posible debido a que no hay carga distribuida en

la zona rígida, razón por la cual la ecuación de momento pasa a ser lineal. Por lo tanto, el momento

en el extremo se calcula usando la pendiente de la ecuación de momento la cual corresponden a la

fuerza cortante en el extremo de la zona rígida y el valor inicial de momento. Lugo, los momentos

obtenidos en los extremos de cada zona rígida fueron iguales a lo calculados con la implementación

desarrollada manualmente.

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 2. Análisis lineal estático

35

▪ Detalles clave de la modelación en OpenSees

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.

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

37

3. Análisis no lineal estático

3.1 Ejemplo 1: No linealidad geométrica

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.

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

a

b

16

1

Pb

c

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

38

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.

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

39

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.

Figura 21. Comparación de curva Fb vs Ub y q1 vs Ub obtenida en OpenSees y SAP2000.

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

40

▪ Detalles clave de la modelación en OpenSees

En el modelo realizado en OpenSees se usaron elementos tipo coroTruss el cual es similar al elemento

truss usado en ejemplos anteriores, pero considera la no linealidad geométrica del elemento. Por otro

lado, el análisis realizado es controlado por desplazamientos y se escogió el nodo b como referencia.

El análisis aplica un desplazamiento hacia abajo en el nodo b con una magnitud de 0.01 m y se itera

200 veces para llegar a un desplazamiento objetivo de 2 m. A diferencia de los modelos realizados

en la sección anterior, en este se usa el algoritmo de Newton para resolver el sistema de ecuaciones

no lineal del problema.

3.2 Ejemplo 2: Catenaria de un cable.

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.

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

160

160

𝛾𝐴𝐴

1862

1582

𝜎, MPa

𝜀

200 GPa

10 GPa 𝑘𝑥

𝑘𝑦

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

41

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.

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 )

▪ Código del modelo discretizado con 4 elementos

Modelo # Modelo de cable catenaria con 4 elementos tipo truss

# Análisis no lineal estático, ejemplo 2, unidades en kN,m

# Parámetros

wipe

set A 0.0023688

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 ndTag X Y GDL

node 1 0.0 0.0 -ndf 2

node 2 40.0 40.0 -ndf 2

node 3 80.0 80.0 -ndf 2

160

160

2

1

4

3

6

5

8

7

1000 kN

10.45 kN

10.45 kN

10.45 kN

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

42

node 4 120.0 120.0 -ndf 2

node 5 160.0 160.0 -ndf 2

node 6 -1.0 0.0 -ndf 2

node 7 0.0 -1.0 -ndf 2

#------------------------------------------------------------------------------------------------

#SP constraints

# ndTag X Y

fix 5 1 1

fix 6 1 1

fix 7 1 1

#------------------------------------------------------------------------------------------------

# Materiales

# tipo matTag E e

uniaxialMaterial ElasticPP 1 $E $ey

# tipo matTag E fy gap

uniaxialMaterial ElasticPPGap 2 $E2 $fy2 $ey

# tipo matTag mat1 mat2

uniaxialMaterial Parallel 3 1 2

# tipo matTag matRef eo

uniaxialMaterial InitStrainMaterial 4 3 $eo

# tipo matTag E

uniaxialMaterial Elastic 5 $ky

uniaxialMaterial Elastic 6 $kx

#------------------------------------------------------------------------------------------------

#Elementos

# tipo eleTag ndi ndj A matTag

element corotTruss 1 1 2 $A 4

element corotTruss 2 2 3 $A 4

element corotTruss 3 3 4 $A 4

element corotTruss 4 4 5 $A 4

# tipo eleTag ndi ndj -mat<> -dir <>

element twoNodeLink 5 1 6 -mat 6 -dir 1

element twoNodeLink 6 1 7 -mat 5 -dir 2

Análisis y resultados #analisis.tcl

timeSeries Linear 1 -factor 1

#------------------------------------------------------------------------------------------------

#Patrón de carga

pattern Plain 1 1 {

#Carga Nodo X Y

load 1 0.0 -1000.0

load 2 0.0 -10.45

load 3 0.0 -10.45

load 4 0.0 -10.45

}

#------------------------------------------------------------------------------------------------

#Output

recorder Node -file "desp.out" -nodeRange 1 4 -dof 1 2 disp

recorder Element -file "fuerzasInte.out" -eleRange 1 4 force

#------------------------------------------------------------------------------------------------

# Opciones de análisis

# Sistema de ecuaciones

system FullGeneral

# Manejo de constraints

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

43

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.

▪ Código del modelo discretizado con 10 elementos.

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

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

44

node 2 16.0 16.0 -ndf 2

node 3 32.0 32.0 -ndf 2

node 4 48.0 48.0 -ndf 2

node 5 64.0 64.0 -ndf 2

node 6 80.0 80.0 -ndf 2

node 7 96.0 96.0 -ndf 2

node 8 112.0 112.0 -ndf 2

node 9 128.0 128.0 -ndf 2

node 10 144.0 144.0 -ndf 2

node 11 160.0 160.0 -ndf 2

node 12 -1.0 0.0 -ndf 2

node 13 0.0 -1.0 -ndf 2

#------------------------------------------------------------------------------------------------

#SP constraints

fix 11 1 1

fix 12 1 1

fix 13 1 1

#------------------------------------------------------------------------------------------------

# Materiales

# tipo matTag E e

uniaxialMaterial ElasticPP 1 $E $ey

# tipo matTag E fy gap

uniaxialMaterial ElasticPPGap 2 $E2 $fy2 $ey

# tipo matTag mat1 mat2

uniaxialMaterial Parallel 3 1 2

# tipo matTag matRef eo

uniaxialMaterial InitStrainMaterial 4 1 $eo

# tipo matTag

uniaxialMaterial Elastic 5 $ky

uniaxialMaterial Elastic 6 $kx

#------------------------------------------------------------------------------------------------

#Elementos

# tipo eleTag ndi ndj A matTag

element corotTruss 1 1 2 $A 4

element corotTruss 2 2 3 $A 4

element corotTruss 3 3 4 $A 4

element corotTruss 4 4 5 $A 4

element corotTruss 5 5 6 $A 4

element corotTruss 6 6 7 $A 4

element corotTruss 7 7 8 $A 4

element corotTruss 8 8 9 $A 4

element corotTruss 9 9 10 $A 4

element corotTruss 10 10 11 $A 4

# tipo eleTag ndi ndj -mat<> -dir<>

element twoNodeLink 11 1 12 -mat 6 -dir 1

element twoNodeLink 12 1 13 -mat 5 -dir 2

Análisis y resultados #analisis.tcl

timeSeries Linear 1 -factor 1

#------------------------------------------------------------------------------------------------

#Patrón de carga

pattern Plain 1 1 {

# Carga Nodo X Y

load 1 0.0 -1000.

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

45

for {set i 2} {$i<= 10} {incr i} {

load $i 0.0 -4.18

}

}

#------------------------------------------------------------------------------------------------

#Output

recorder Node -file "desp.out" -nodeRange 1 10 -dof 1 2 disp

recorder Element -file "fuerzasInte.out" -eleRange 1 10 force

#------------------------------------------------------------------------------------------------

#Opciones de análisis

# Sistema de ecuaciones

system FullGeneral

# Manejo de constraints

constraints Plain

# Numeración de GDL

numberer Plain

# Prueba de convergencia

test NormUnbalance 1e-6 100 2

# Integrador

integrator LoadControl 1.0

# Algoritmo de solución

algorithm Newton <-initialThenCurrent>

# Tipo de análisis

analysis Static

#Ejecutar analyze 1

▪ 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

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

46

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

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

47

resultados iguales a sus homólogos implementados manualmente y en SAP2000. En la Tabla 20, se

comparan la fuerza axial en cada elemento obtenida en ambos modelos realizados.

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.

Elemento q1

kN

q1 Manual

(kN)

Error

% Elemento

q1

kN

q1 SAP2000

kN

Error

%

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

▪ Detalles clave de la modelación en OpenSees

Como se dijo al inicio de este ejemplo, los elementos discretizados del cable se modelaron como

elementos tipo coroTruss, comando que ya había sido usado en el ejemplo 1 de la sección de análisis

no lineal estático. También, se modelaron los 2 resortes de la estructura con elementos tipo

twoNodeLink, igual a como se hizo en ejemplos anteriores de la sección de análisis lineal estático.

Por otro lado, los elementos que conforman el cable reciben por parámetro un material tipo Parrallel

creado anteriormente. Este material es clave, ya que se encarga de modelar la curva de esfuerzo

deformación presentada al inicio del problema. Esto, lo hace a partir de otros 2 materiales los cuales

trabajan en paralelo, lo cual indica que la deformación de ambos modelos del material es igual, pero

la rigidez y el esfuerzo es aditivo. Los materiales escogidos para representar la curva esfuerzo-

deformación del material del cable fueron ElasticPP y ElasticPPGap, los cuales crean un material

elástico perfectamente plástico, pero difieren en que con el comando ElasticPPGap se puede agregar

una deformación inicial o Gap. Sin embargo, estos 3 materiales podrían haber sido reemplazados por

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

48

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.

3.3 Ejemplo 3. Pórtico con rotulas plásticas

El pórtico de la Figura 26 tiene rotulas plásticas a flexión en los extremos de la viga y un elemento

ARP (Arriostramiento Restringido al Pandeo) con una rotula plástica axial. Obtener la curva de

Pushover de esta estructura.

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.

9

4.5

10 kN/m

100 kN

400 kN 400 kN

a

b c

d

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

49

Tabla 21. Propiedades geométricas de vigas y columnas de acero con sección W (AISC-13).

Parámetro Viga W18×76 Columna W14×132

[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

▪ Código en OpenSees con ZeroLenghtElement

Modelo # Análisis no lineal estático, ejemplo 3, unidades en kN, m

# Modelo con zeroLenght element

wipe #------------------------------------------------------------------------------------------------

# 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

node 5 0.0 4.5 -ndf 3

node 6 9.0 4.5 -ndf 3

#------------------------------------------------------------------------------------------------

# SP constraints

# SPC tag Dx Dy Rz

fix 1 1 1 0

fix 4 1 1 0

#------------------------------------------------------------------------------------------------

# Materiales

# Material "ARP": matTag E epsyP epsyN

uniaxialMaterial ElasticPP 1 1.192570E+04 1.878296E-02 -1.878296E-02

# Material "matRigido": matTag E

uniaxialMaterial Elastic 2 1e10

# Material "rotulaM": matTag Fy E b

uniaxialMaterial Steel01 3 1013.0 1.000000E+13 0.0

#------------------------------------------------------------------------------------------------

# Transformación geométrica

# GeoTran type tag

geomTransf Linear 1

# Usar transformación corrotacional o lineal para tener o no en cuenta efectos no lineales

geométricos

#------------------------------------------------------------------------------------------------

# Elementos

# Element "Columna": eleTag NodeI NodeJ A E Iz geoTranTag

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

50

element elasticBeamColumn 1 1 2 2.503221E-02 2e8 6.368341E-04 1

# Element "Viga": eleTag NodeI NodeJ A E Iz geoTranTag

element elasticBeamColumn 2 5 6 1.438707E-02 2e8 5.535878E-04 1

# Element "Columna": eleTag NodeI NodeJ A E Iz geoTranTag

element elasticBeamColumn 3 4 3 2.503221E-02 2e8 6.368341E-04 1

# Element "ARP": eleTag NodeI NodeJ -mat -dir

element twoNodeLink 4 1 3 -mat 1 -dir 1

# Element "rotulaM": eleTag NodeI NodeJ -mat 1 2 3 .. -dir 1 2 3 ..

element zeroLength 5 2 5 -mat 2 2 3 -dir 1 2 6

# Element "rotulaM": eleTag NodeI NodeJ -mat 1 2 3 .. -dir 1 2 3 ..

element zeroLength 6 6 3 -mat 2 2 3 -dir 1 2 6

Análisis de carga vertical y resultados # analisis.tcl

# Análisis no lineal 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.0 {

# Load nodeTag 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": fileName <nodeTag> dof respType

recorder Node -file Vertical_Dsp.out -nodeRange 1 6 -dof 1 2 3 disp

# Node Recorder "Reactions": fileName <nodeTag> dof respType

recorder Node -file Vertical_Reac.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.000000E-06 25 0 2

# Algoritmo de solución

algorithm Newton

# Integrador

integrator LoadControl +1.000000E+00

# Tipo de análisis

analysis Static

# Ejecutar análisis

analyze 1

#------------------------------------------------------------------------------------------------

# Reiniciar para el siguiente caso de análisis

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

51

# -----------------------------------------------------------------------------------------------

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

▪ Código en OpenSees con DBCE

Modelo # Análisis no lineal estático, ejemplo 3, unidades en kN,m

# Modelo con elementos dispBeamColumn

#------------------------------------------------------------------------------------------------

wipe

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

52

# 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

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

53

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

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

54

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.

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

55

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.

Cuando se considera la no linealidad geométrica de la estructura, la curva Pushover tiene una

pendiente menor a lo largo de sus tramos y en el tramo final presenta una pendiente negativa,

característico de la perdida de resistencia que generan los efectos geométricos no lineales. Por otro

lado, la curva PushOver sin efectos no lineales geométricos no tiene la caída de resistencia en su

último tramo, ya que al no tener en cuenta estos efectos, la matriz de rigidez se mantiene constante

en cada tramo de la curva.

▪ 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.

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

56

Figura 28. Comparación de curvas PushOver de OpenSees, SAP2000 e implementación manual.

▪ Detalles clave de la modelación en OpenSees

Para el primer modelo se usan elementos elásticos para vigas y columnas y a estas se le agregaron

pasadores y rotulas plásticas acordes con el esquema de la estructura. Los pasadores se modelan con

el comando zeroLenghtElement, y un material infinitamente rígido en dirección axial y cortante. Para

modelar las rotulas plásticas se usó el mismo tipo de elemento, pero con un material elástico

perfectamente plástico (ElasticPP) y Steel01 para las rotulas axiales y a flexión respectivamente. En

el caso de la rótula axial, lo que se modela corresponde al comportamiento del elemento completo

por lo que se usaron elementos tipo twoNodeLink, mientras que, en el caso de las rótulas a flexión,

se modela solo el comportamiento de la rótula a parte del elemento. Para esto, se usa un material

Steel01, con una pendiente muy grande y luego un factor de disminución de pendiente igual a cero,

para que la curva sea elastoplástica. El momento de fluencia es el mismo indicado en el enunciado

del problema. Finalmente, se crea un caso de análisis de carga vertical, y luego otro caso de carga

lateral el cual inicia a partir de los resultados del caso vertical.

En el caso del modelo con elementos tipo DBCE, la plasticidad de las vigas se modela de manera

distribuida. Para esto, se crean secciones de fibras para las vigas con el comando WFSection2d, el

cual recibe por parámetros las dimensiones geométricas de un elemento de sección W. El material de

la sección se modela con el comando Steel01, pero la curva modelada por el material no corresponde

a una relación fuerza-desplazamiento como se hizo en modelos anteriores, sino a una curva esfuerzo-

deformación, donde la pendiente es el módulo de elasticidad del material y el esfuerzo de fluencia se

calcula con la ecuación 16, tomada del estándar ASCE 41-17 [8]:

𝑞𝑦 = 𝑅𝑦𝑍𝑥𝑓𝑦

( 16 )

donde, 𝑓𝑦 es el esfuerzo de fluencia, 𝑞𝑦 es el momento de fluencia, 𝑅𝑦 es un coeficiente el cual

depende del tipo de acero usado, para este caso tiene un valor de 1.1 y 𝑍𝑥 es una propiedad geométrica

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

57

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.

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

185 kN

148 kN

111 kN

74 kN

37 kN

20

556

𝑉, kN

𝑣, m

17513

876

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

58

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

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

59

test EnergyIncr 1e-6 25 0 2; # Prueba de convergencia

algorithm Newton; # Algoritmo de solución

integrator LoadControl 0.1; # Integrador

analysis Static; # Tipo de análisis

analyze 16; # Ejecutar

▪ 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.

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 3. Análisis no lineal estático

60

Figura 31. Comparación de curva PushOver obtenida con OpenSees y SAP2000.

▪ Detalles clave de la modelación en OpenSees

La estructura modelada es un edificio de cortante por lo cual solo fue necesario modelar una columna

por cada piso del edificio y a los nodos de cada piso se les restringió el giro y el desplazamiento

vertical. Las columnas fueron modeladas como elementos TwoNodeLink el cual recibe un material y

toma su comportamiento en la dirección requerida, en este caso la dirección de cortante. La curva del

material se modeló con el comando Steel01.

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 4. Análisis no lineal cronológico

61

4. Análisis no lineal cronológico

4.1 Ejemplo 1: Edificio de cortante con aceleración en la base.

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%.

▪ 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

#------------------------------------------------------------------------------------------------

556

𝑉, kN

𝑣, m

17512

20

𝑈ሷ𝑔(𝑡)

𝑈ሷ𝑔(𝑡)

𝑡, seg

Figura 32. Esquema de edificio de cortante, A la derecha, curva de comportamiento de columnas (arriba), Señal de

aceleración (abajo).

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 4. Análisis no lineal cronológico

62

# 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

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 4. Análisis no lineal cronológico

63

pattern UniformExcitation 1 1 -accel 1

#------------------------------------------------------------------------------------------------

# recorders

# Node Recorder "Aceleracion": Archivo <nodeTag> dof tipo

recorder Node -file Aceleracion.out -time -node 6 -dof 1 accel

# TwoNodeLink Recorder "BasDefo": Archivo <eleTag> tipo

recorder Element -file BasDefo.out -time -ele 1 2 3 4 5 basicDeformation

# TwoNodeLink Recorder "BasForc": Archivo <eleTag> tipo

recorder Element -file BasForc.out -time -ele 1 2 3 4 5 basicForce

# Node Recorder "Deformada": Archivo <nodeTag> dof tipo

recorder Node -file desp.out -time -node 6 -dof 1 disp

# Node Recorder "Reacciones": Archivo <nodeTag> dof tipo

recorder Node -file reac.out -time -nodeRange 1 6 -dof 1 reaction

#------------------------------------------------------------------------------------------------

# Opciones de análisis

# Tipo: dinámico

# -----------------------------------------------------------------------------------------------

# Control de constraints

constraints Plain

# Numeración de GDL

numberer Plain

# Sistema de ecuaciones

system BandGeneral

# Prueba de convergencia

test NormUnbalance 1.E-06 25 0 2

# Algoritmo de solución

algorithm Newton

# Integrador

integrator Newmark 0.5 0.25

# Tipo de análisis

analysis Transient

# Ejecutar analyze 1600 0.01

▪ 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.

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 4. Análisis no lineal cronológico

64

Figura 33. Ciclos de histéresis por piso.

Figura 34. Comparación de ciclo de histéresis obtenido en OpenSees y SAP2000.

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 4. Análisis no lineal cronológico

65

Figura 35. Comparación de aceleración en cubierta en OpenSees, SAP2000 e implementación manual.

Figura 36. Comparación de desplazamiento en cubierta en OpenSees, SAP2000 e implementación manual.

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES Capítulo 4. Análisis no lineal cronológico

66

▪ Detalles clave de la modelación en OpenSees

El edificio de cortante se modela con elementos tipo twoNodeLink igual que en el ejemplo 4 de

análisis no lineal estático. Sin embargo, al requerir un análisis dinámico se debe calcular una matriz

de amortiguamiento. En este caso, se usó el método de Rayleigh Damping el cual arma la matriz de

amortiguación de la estructura en función de la matriz de masa, rigidez y coeficientes que multiplican

ambas matrices. La masa de la estructura se agregó al modelo con el comando mass el cual aplica una

masa en un nodo en la dirección deseada, en este caso horizontal. Los coeficientes de Rayleigh

Damping se calculan con las ecuaciones 17 y 18 y se agrega al modelo con el comando rayleigh.

𝑎𝑜 = 𝜀2𝜔𝑖𝜔𝑗

𝜔𝑖 + 𝜔𝑗 ( 17 )

𝑎1 = 𝜀2

𝜔𝑖 + 𝜔𝑗 ( 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.

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES

67

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.

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES

68

EJEMPLOS DE MODELOS DE ANÁLISIS ESTRUCTURAL USANDO OPENSEES

69

Referencias

[1] PEER, “OpenSees”, 2006. [En línea]. Recuperado de: http://opensees.berkeley.edu/index.php

[2] R.V. Merchán, Uso de OpenSees para generación de secciones con fibras para elementos

(viga, columna) para el análisis no-lineal de una estructura, tesis pregrado, Escuela de

Ingeniería Civil, Universidad Técnica Particular de Loja, Loja, 2010.

[3] Pacific Earthquake Engineering Research Center, PEER, 2018. OpenSees User. [En línea],

Recuperado de: http://opensees.berkeley.edu/wiki/index.php/OpenSees_User

[4] Eurocode 3: Design of Steel structures- Part 1-2: General rules- Structural fire design, EN

1993-1-2, 2005.

[5] Liming Jiang & Xu Dai, “OpenSees Workshop: day 1”, Brunel, 2016, The University of

Edinburgh.

[6] A. Usmani et al, OpenSees for fire, [En línea], Recuperado de:

http://openseesforfire.github.io/docs.html

[7] American Institute of Steel Construction, AISC, 2005, AISC 13th edition member dimensions

and properties viewer.

[8] Seismic Evaluation and Retrofit of Existing Buildings, ASCE 41-17, 2017.

[9] Pacific Eartgquake Engineering Research Center, PEER, 2018. OpenSees Navigator. [En

línea], Recuperado de: http://openseesnavigator.berkeley.edu/