Está en la página 1de 6

Espectro de Respuesta Sísmica: Daño e

Interacción Suelo-Estructura

Integrantes: Valentina Casanova


(25% informe, 10% código)
Valentina Concha
(25% informe, 10% código)
Ignacio Fernández.
(10% informe, 10% código)
Branco Segovia.
(25% informe, 10% código)
Lucas Villaseca.
(15% informe, 60% código)
RESUMEN

Un espectro de respuesta sísmica es un gráfico que muestra la respuesta de una estructura a


diferentes frecuencias de movimiento telúrico, es decir es un instrumento importante para
analizar y estimar el comportamiento del movimiento sísmico del suelo. Cuyas respuestas se
obtienen mediante registros virtuales, donde se relaciona la actividad telúrica con variables
fundamentales; como la rigidez y amortiguación, que afectan a una estructura sometida a una
vibración. Es por ello, que se calcula el espectro de respuesta, debido a que las estructuras
reaccionan a los distintos tipos de suelo.

Por lo tanto el objetivo del proyecto es proponer un método mecánico que proporcione un
marco de referencia para el diseño de estructuras sismorresistentes, el cual consiste en
determinar ciertos valores para la frecuencia y posición de diferentes terrenos sometidos a
una serie de movimientos telúricos. Estos valores originan un gráfico que muestra la
respuesta de la estructura permitiendo analizar el comportamiento del suelo-estructura.

Para lograr esto utilizaremos el lenguaje de programación Python para acceder a una
biblioteca SymPy, debido a que provee un módulo de ecuación diferencial (ODE). El trabajo
emplea una librería Python Numpy que permite generar una estructura de datos universal, lo
que se traduce por un mejor análisis de datos, ya que se da un intercambio de datos entre
diferentes algoritmos.

El uso del código permitirá obtener los parámetros necesarios para el análisis de datos. Con
dicha información se podrá determinar la interacción suelo-estructura puesto que al conocer
el tipo de suelo se sabrá si la estructura resistirá el movimiento sísmico.

METODOLOGÍA MATEMÁTICA/DE INGENIERÍA

Como se mencionó anteriormente con el espectro sísmico se puede observar cómo se


comportará el suelo en la cual una estructura está puesta, este espectro se puede predecir con
la EDO mostrada anteriormente.

Para lograr desarrollar la EDO se ocupará un programa en Python, para eso tenemos que
entender cómo hacer una EDO de segundo orden no homogénea con Python. Pero
empezaremos resolviendo una EDO de orden superior homogénea.

Para eso ocuparemos Jupiter notebook y la librería “sympy” y el método de latex para
imprimir en notación matemática, para verificar el código resolveremos la siguiente EDO

para resolver la siguiente EDO ocuparemos el siguiente código


como se puede observar el código resuelve de manera correcta la EDO por lo cual se podrá
modificar para adecuarlo a nuestra EDO planteada.

Por otro lado, para resolver una ecuación del oscilador armónico, tenemos el siguiente
ejemplo. Pero antes, hay que tener en cuenta qué es, este es un modelo de sistemas naturales,
como la masa, la cual está junto a un resorte, como se menciona en la ley de hooke.
Considerando la ecuación de cantidad de movimiento Newton: 𝑚𝑒𝑡𝑟𝑜𝑋 + 𝑘𝑋 = 0,
2 2 𝑘
simplificando a: 𝑋 + 𝑊 𝑥 = 0, donde 𝑤 = 𝑚
, periodo fundamental factor W.
A menos que no se realicen especificaciones de los parámetros, no se puede realizar el
cálculo numérico, pues se debe definir el oscilador en el tiempo que se origina.
Algunas condiciones iniciales a considerar son; 𝑋(𝑡) = 0, 𝑐𝑢𝑎𝑛𝑑𝑜 𝑡 = 0, es decir
posición cero. A su vez 𝑋´(𝑡) = 0 , donde no se puede la estructura, derivada del oscilador.
Se puede resolver, mediante tres herramientas: analiticamente usando SYMPY,
numéricamente usando un esquema de diferencias finitas de cero y SCIPY con herramientas
integradas numéricamente.

DESCRIPCIÓN DEL CÓDIGO

Para obtener el diagrama de espectro de respuesta sísmica en Python con la tasa de


amortiguamiento fija, puedes seguir los siguientes pasos:

Define la función que representa la ecuación de respuesta del espectro sísmico. Esta función
debe tomar como entrada la frecuencia y los parámetros necesarios para resolver la ecuación
(como la masa, la rigidez y el amortiguamiento del sistema) y devolver la respuesta en
frecuencia del sistema. Asegúrate de fijar el valor del amortiguamiento en esta función.

Crea un rango de frecuencias para las que quieres calcular la respuesta del sistema. Puedes
utilizar la función linspace de NumPy para crear una secuencia de valores equipados.

Utiliza la función que has definido para calcular la respuesta del sistema en cada una de las
frecuencias del rango creado en el paso anterior. Puedes hacerlo mediante un bucle for o
utilizando la función vectorize de NumPy para aplicar la función a cada elemento del rango
de forma eficiente.
Utiliza la función plot de Matplotlib para graficar la respuesta del sistema en función de la
frecuencia. Puedes añadir etiquetas y títulos a la gráfica para mejorar su legibilidad y utilizar
diferentes opciones de estilo para personalizar su aspecto.

MÉTODOS PARTICULARES DE PYTHON


En primer lugar, cabe mencionar que para reunir todas las características de un sistema de
álgebra computacional y mantener un código lo más simple posible, es necesario que el
primer paso del código sea importar la biblioteca SymPy para matemáticas simbólicas, lo
cual nos permitirá realizar operaciones analíticas o con símbolos en lugar de con valores
numéricos. SymPy trabaja con tres tipos de datos propios: Números reales, racionales y
enteros.

Luego, en la segunda línea del código, se llama al módulo Latex (vía mathjax) para una
digitación fácil de las expresiones algebraicas en notación matemática. Su principal función
es permitir la visualización de fórmulas matemáticas, sin importar su complejidad. En cuanto
a MathJax corresponde a un motor de visualización JavaScript de código abierto para la
notación LaTeX, MathML y ​AsciiMath que funciona en todos los navegadores modernos,
con soporte integrado para tecnología de asistencia como lectores de pantalla.

También es importante destacar que, para realizar operaciones simbólicas es necesario definir
explícitamente los símbolos que vamos a utilizar, que serán en general nuestras variables,
funciones u otros elementos de nuestras ecuaciones. Es por esto que, en la tercera y cuarta
línea del código podemos observar como se definen 'x' como la incógnita e 'y' como función
respectivamente.

En cuanto a la quinta línea del código, es necesario mencionar dos puntos importantes: en
primer lugar se utiliza la función sympy.Eq para expresar y definir la ecuación diferencial a
resolver; y como segundo punto a destacar es el uso de y(x).diff(x) que corresponde a la
primera derivada, a su vez para la segunda derivada se utiliza y(x).diff(x,x), esto es importante
destacar y utilizar de manera correcta debido a que nuestra ecuación diferencial es de
segundo orden.

Para resolver sistemas de ecuaciones de manera simbólica, la biblioteca SymPy nos


proporciona un solucionador genérico de ecuaciones diferenciales ordinarias mediante el
comando sympy.dsolve, el cual es capaz de encontrar soluciones analíticas a muchas
ecuaciones diferenciales ordinarias elementales.

Es importante destacar que, es necesario importar la librería Numpy para permitir un rápido
manejo y generación de datos, y trabajarlos de forma matricial o vectorial.También debemos
importar la librería Matplotlib especializada en la creación de gráficos en dos dimensiones, la
cual nos permitirá finalmente graficar el resultado.

Se define la función respuesta espectral y a continuación se procede a calcular la respuesta


del sistema para distintos valores de frecuencias (f), esto se realiza mediante el comando
np.linspace el cual genera un arreglo de una dimensión cuyos elementos son la secuencia de n
valores equidistantes desde inicio hasta fin.

Finalmente para visualizar nuestros resultados se utiliza el comando plt.plot para generar un
gráfico de las respuestas del sistema en función de su frecuencia asociada. El comando plt.
nos propone varias funciones sencillas para añadir elementos tales como títulos, imágenes,
líneas y textos sobre los ejes del gráfico. Finalmente se utiliza el comando plt.show() para
mostrar el gráfico final.

RESUMEN

El proyecto realizado se basa en la creación de un código que permite evaluar el concepto de


espectro de respuesta sísmica. En el área estructural esto es primordial para analizar el
comportamiento de distintos tipos de suelos existentes, lo que permitiría en un futuro prevenir
situaciones de riesgo cuando existen perturbaciones en sedimentos específicos. Para ello, se
proporciona un trabajo de análisis con el objetivo de obtener resultados de las interacciones
suelo-estructura, con distintas variables a considerar, por ejemplo, amortiguación, rigidez,
aceleración. Mediante el uso del lenguaje Python se realiza un código que permite la
2
solución de la Ecuación diferencial: 𝑥 + 2ξω𝑛𝑥 + ω𝑛𝑥 =− 𝑢 , donde se considera el F(t)
como el sismo ocurrido, así se pretende resolver la ecuación para los parámetros X. Lo que
permite observar, analizar y concluir sobre los datos entregados por el programa. Este permite
obtener el gráfico del comportamiento del suelo, variando así los posibles valores que pueden
asignarse a la posición y el factor W. La curva que entregue el software será el espectro de
respuesta en el desplazamiento.

Para empezar, se puede resolver la ecuación diferencial (EDO) no homogéneo y ́ ́+ 4y´+ 4y =


0, con el objetivo de verificar que el código utilizado con la librería “Sympy” y el método de
látex entregue la solución correcta. Lo anterior permite obtener respuestas como base
dependiendo del código a utilizar para la EDO planteada, dado que se podrá adaptar a cada
respuesta que se necesite en el proyecto. Por último, se comenzarán a buscar las variables
necesarias para que en un futuro cercano las respuestas del espectro sean válidas para su
estudio, logrando llegar un posible desarrollo total del proyecto, lo que permite obtener los
conocimientos necesarios para el área de especificación de cada individuo, logrando tener
prueba y error del código utilizado.

BIBLIOGRAFÍA

Rodriguez, A; Bojórquez. E; Reyes. A; Avilés. J & Ruiz. S. (2017). Determinación de


espectros de respuesta considerando daño acumulado e interacción suelo-estructura.
https://www.scielo.org.mx/scielo.php?script=sci_arttext&pid=S0185-092X2017000100018

Albornoz, T. (2020). Tesis de Estudio de la respuesta sísmica lineal y no lineal de un edificio


ante un terremoto. Universidad de Chile, Facultad de ciencias.
https://repositorio.uchile.cl/bitstream/handle/2250/176773/Estudio-de-la-respuesta-s%C3%A
Dsmica-lineal-y-no-lineal-de-un-edificio-de-la-Ciudad-de-M%C3%A9xico-ante-el-terremoto
-del.pdf?sequence=1

Lopez, R. (2016). Ecuaciones Diferenciales en Python. Raul E. Lopez Briega.


https://relopezbriega.github.io/blog/2016/01/10/ecuaciones-diferenciales-con-python/

Flores, M. (2019). Ecuaciones Diferenciales en Python.


https://medium.com/@hdezfloresmiguelangel/ecuaciones-diferenciales-con-python-parte-1-5
b1992d1efda

Chopra, A. (2014). Dinámica de Estructuras 4ta edición. Editorial Pearson.


https://www.academia.edu/36451323/Dinamica_de_Estructuras_4Ed_Anil_K_Chopra

Froilan. (2017). Resolver las ecuaciones del oscilador armónico. El blog de Froilan.
http://flothesof.github.io/harmonic-oscillator-three-methods-solution.html

También podría gustarte