0% encontró este documento útil (0 votos)
98 vistas

OpenSees y Python

Cargado por

Brither FAC
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
98 vistas

OpenSees y Python

Cargado por

Brither FAC
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 19

OpenSees empleando Python: Aplicaciones de

análisis no lineal
Luis Ivan Velasco Enriquez
1/18 Temario del curso

Introducción
Análisis estructura con OpenSees
Semana Tema Duración, hrs Día
OpenSees
Introducción a OpenSees y Python 1 Lunes
Python Análisis estático de una armadura 1 Lunes
Análisis modal de un marco 1.5 Martes

1
Spyder
Análisis dinámico de un péndulo invertido 1.5 Martes

Comandos Análisis estático no lineal de un marco de acero 2 Miercoles


básicos Análisis dinámico no lineal de un marco de concreto 3 Jueves
Método del espectro de capacidad 2 Lunes
Ejemplos Interacción dinámica suelo - estructura 2 Miercoles
Modelado de un contraventeo convencional 1.5 Jueves
2

Librerías
Modelado de un contraventeo restringido al pandeo 1.5 Jueves
Modelado de un amortiguador viscoso 1 Viernes
Total = 18 horas

Luis Ivan Velasco Enriquez


2/18 ¿Qué es OpenSees?

Introducción OpenSees

OpenSees
Open System for Earthquake Engineering Simulation
Python

Spyder
Es un programa de licencia libre y código abierto que
Comandos permite analizar estructuras y modelos geotécnicos
básicos
bajo cargas gravitacionales y dinámicas.
Ejemplos
El que sea un programa de licencia libre y código abierto
Librerías implica que su uso no tiene costo y que las personas
pueden incluir o modificar componentes de su código.

Luis Ivan Velasco Enriquez


3/18 Orígenes de OpenSees

Introducción

OpenSees OpenSees tiene sus orígenes en la tesis doctoral de Francis


McKenna[1]. Hoy en día, gracias a las aportaciones de diferentes
Python investigadores, el programa cuenta que una gran variedad de
elementos finitos, materiales y procedimientos de análisis.
Spyder
Su lenguaje original es C++, pero utiliza instrucciones en
Comandos lenguaje TCL (del inglés Tool Command Language).
básicos Adicionalmente, Python cuenta con una librería para usar el
programa.
Ejemplos

Librerías

[1] McKenna, F. (1997) Object-Oriented Finite Element Programming: Frameworks for Analysis, Algorithms and Parallel Computing. PhD diss. University of California,
Berkeley.

Luis Ivan Velasco Enriquez


4/18 Instalación de OpenSees

Introducción

OpenSees

Python

Spyder

Comandos
básicos

Ejemplos

Librerías

Página web: https://opensees.berkeley.edu/

Luis Ivan Velasco Enriquez


5/18 Interfaz de OpenSees

Introducción

OpenSees

Python

Spyder

Comandos
básicos

Ejemplos Para los usuarios primerizos, la interfaz cruda de OpenSees y el uso de comandos para la
construcción de modelos pueden ser aspectos intimidantes del programa. Sin embargo, debido a su
Librerías gran versatilidad y al control que se le brinda a los usuarios, el programa es muy utilizado en el
ámbito académico.

Luis Ivan Velasco Enriquez


6/18 Componentes de OpenSees

Introducción ModelBuilder Domain Analysis

OpenSees

Python Recorder

Spyder ModelBuilder. Es la parte del programa donde se definen los elementos para construir el modelo. Contiene nodos, restricciones, masas,
materiales, secciones, elementos, patrones de carga, etc. Una vez creado, el modelo se almacena en el objeto Domain y éste, a su vez, lo
Comandos
básicos provee a los objetos Analysis y Recorder.

Analysis. Determina el estado del modelo para el instante de tiempo 𝑡 + 𝑑𝑡. Este se compone por diferentes objetos que definen el tipo
Ejemplos
de análisis que realizará el programa.
Librerías
Domain. Almacena el estado del modelo para cada instante de tiempo 𝑡 del análisis.

Recorder. Crea y guarda el registro de los diferentes estados del modelo durante el análisis.

Luis Ivan Velasco Enriquez


7/18 Ayudas en línea

Introducción

OpenSees

Python

Spyder

Comandos
básicos Existen diferentes ayudas en línea para aprender a utilizar OpenSees. Las más útiles son:

- Command Manual. Manual de comandos de OpenSees, presenta todos los comandos disponibles y los argumentos que éstos
Ejemplos
requieren. (https://opensees.berkeley.edu/wiki/index.php/Command_Manual).
Librerías
- Ejemplos de diferentes modelos estructurales y geotécnicos. (https://opensees.berkeley.edu/wiki/index.php/Examples).

Luis Ivan Velasco Enriquez


8/18 Guía complementaria

Introducción
Adicionalmente, el Instituto de Ingeniería de la UNAM cuenta con
OpenSees una serie enfocada a brindar los conceptos básicos de OpenSees. Este
documento cuenta con diferentes ventajas como el ser de acceso libre,
Python estar escrito en español además de facilitar los archivos que
continente los códigos para generar los ejemplos vistos en el
Spyder documento. Se menciona que la serie solo cuenta con ejercicios
escritos en TCL.
Comandos
básicos Links de descarga:
Ejemplos https://www.researchgate.net/publication/357575931_Introduccion_al_analisis_est
ructural_con_OpenSees
Librerías
http://aplicaciones.iingen.unam.mx/ConsultasSPII/Buscarpublicacion.aspx

Luis Ivan Velasco Enriquez


9/18 OpenSeesPy

Otra forma de utilizar OpenSees es por medio de Python el cual es un lenguaje de programación muy popular que
Introducción contiene una librería llamada OpenSeesPy. Esta librería contiene todos los comandos de OpenSees pero en
formato de Python.
OpenSees Al ser Python un lenguaje de programación más general, es posible crear códigos que no solo analicen un
modelo estructural sino que además que procesen los resultados obtenidos. Esta ventaja facilita realizar análisis
Python como el Incremental Dynamic Analysis (IDA) o ejecutar procesos de optimización.

Spyder

Comandos
básicos

Ejemplos

Librerías

Luis Ivan Velasco Enriquez


10/18 Python

Introducción Python es un lenguaje de programación gratuito y de código abierto. De manera similar a lo que ocurre con
OpenSees, su comunidad tiene total libertad para incluir o modificar elementos de su código. Esta libertad ha
OpenSees permitido que el lenguaje crezca por medio de la adición de diferentes paquetes de funciones o librerías.
Actualmente Python es utilizado para la creación de aplicaciones, en ciencia de datos o en inteligencia
Python artificial.
En este curso se utilizará la librería OpenSeesPy, por lo tanto, es necesario descargar Python y Spyder, el cual
Spyder es un ambiente de programación.

Comandos
básicos

Ejemplos

Librerías

Luis Ivan Velasco Enriquez


11/18 Instalación de Python

Introducción Descargar Python es muy sencillo. Basta con ir a su página web (https://www.python.org/), ingresar a la sección
de “Downloads” y descargar la versión de interés. Ojo: Para utilizar OpenSeesPy hace falta una versión 3.9
OpenSees o superior.

Python

Spyder

Comandos
básicos

Ejemplos

Librerías

Luis Ivan Velasco Enriquez


12/18 Instalación de Spyder

Introducción Hay dos formas de descargar Spyder: descargando Anaconda, el cual contiene Spyder y otros programas. Lo
más recomendable es descargar Anaconda desde su página web
OpenSees (https://www.anaconda.com/products/distribution) e ingresar a su sección de descargas.

Python

Spyder

Comandos
básicos

Ejemplos

Librerías

Luis Ivan Velasco Enriquez


13/18 Spyder

Introducción En este curso se utilizará Spyder debido a que facilita considerablemente la visualización de los modelos de
OpenSees además de que brinda una lista con las variables creadas y sus características.
OpenSees

Python
Visor de imágenes,
Spyder ayuda, variables y
archivos
Comandos
básicos

Ejemplos
Espacio de
Librerías trabajo
Consola

Luis Ivan Velasco Enriquez


14/18 Introducción a Python I

Imprimir texto en pantalla Redondeo


Introducción
print(“Mensaje a mostrar”) 10//8 → 3
OpenSees 7.9//2 → 3
Tipos de datos básicos en Python
Python
type (2) → int Módulo (remanente de la división)
Spyder type(2.2) → float 25%5 → 0
type (“5”) → str (string) 9%2 → 1
Comandos
básicos
Operaciones aritméticas Exponentes y raíces
Ejemplos
1+1 → 2 2**2 → 4
Librerías 10-5 → 5 2**3 → 8
2*2 → 4 pow(2,3) → 8
8/4 → 2.0 pow(8,1/3) → 2.0

Luis Ivan Velasco Enriquez


15/18 Introducción a Python II

Introducción
Tupples
OpenSees
a=("s", 5, 2, 2.2) → ("s", 5, 2, 2.2) Los Tupples y las Listas son elementos tipo
“s” vector que soportan diferentes tipos de datos.
Python a[0] →
Los datos de ambos pueden ser indexados por
a[0]="Casa" → Error medio de corchetes, iniciando la numeración
Spyder
en cero.
Comandos
básicos Listas
La diferencia entre ambos es que las Listas
a=["s", 5, 2, 2.2] → ["s", 5, 2, 2.2] son elementos mutables mientras que los
Ejemplos
a[0] → “s” Tupples no.

Librerías a[0]="Casa" → [“Casa", 5, 2, 2.2]

Luis Ivan Velasco Enriquez


16/18 Introducción a Python III

Condicionante if Operadores de comparación


Introducción
if condición: == → Igual a
OpenSees Código… <, ≤ → Menor que
elif condición: >, ≥ → Mayor que
Python
Código… != → Diferente de
Spyder else:
Comandos Código…
básicos
Ciclo for Función range()
Ejemplos
for i in range(N): Genera una secuencia
range (N) →
Librerías de 0 a N-1
Código…

Luis Ivan Velasco Enriquez


17/18 Ejemplos

1. Mostrar los números del 0 al 9


Introducción Solución: for i in range(10):
print(i)
OpenSees
2. Mostrar los números del 5 al 15 (ver documentación de la función “range()”)
Python for i in range(5,16):
Solución:
print(i)
Spyder
3. Mostrar los números pares de un rango de 0 a N
Comandos N=20
básicos for i in range(0, N, 2):
Solución:
print(i)
Ejemplos
3. Mostrar los números divisibles entre 3 que estén en el rango [a,b]
Librerías
a=50
b=a+30
Solución:
for i in range(a,b):
if i%3==0:
print(i)

Luis Ivan Velasco Enriquez


18/18 Introducción a Python IV

Librerías
Introducción
Las librerías son paquetes de funciones creadas por otros usuarios de Python que nos pueden ayudar con
OpenSees diferentes tareas. Éstas tienen que ser descargadas para ser utilizadas, además que se deben de importar para
emplear sus funciones en nuestro código. Librerías muy populares son numpy (para trabajar vectores y
Python matrices) o pandas (para trabajar con data frames). Adicionalmente, para utilizar OpenSees en Python, es
necesario descargar la librería OpenSeesPy.
Spyder
Instalar Actualizar Importar
Comandos
básicos pip install numpy pip install --upgrade numpy import numpy as np

Ejemplos
Al importar la librería es conveniente brindarle un nombre local corto. Esto facilita el llamar a sus funciones.
Librerías
array([[1, 2, 3],
np.array([ [1,2,3], [4,5,6], [7,8,9] ]) → [4, 5, 6],
[7, 8, 9]])

Luis Ivan Velasco Enriquez

También podría gustarte