OpenSees y Python
OpenSees y Python
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
Librerías
Modelado de un contraventeo restringido al pandeo 1.5 Jueves
Modelado de un amortiguador viscoso 1 Viernes
Total = 18 horas
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.
Introducción
Librerías
[1] McKenna, F. (1997) Object-Oriented Finite Element Programming: Frameworks for Analysis, Algorithms and Parallel Computing. PhD diss. University of California,
Berkeley.
Introducción
OpenSees
Python
Spyder
Comandos
básicos
Ejemplos
Librerías
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.
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.
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).
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
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
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
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
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
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
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
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]])