Menu Close

Honors Project: Earthquake-Induced Vibrations

The Pennsylvania State University - Dr. Juan Gil

A study of the earthquake vibrations on multistory buildings

August 2020 - December 2020

This project is an honors-credit grade for an Ordinary and Partial Differential Equations course. I used mathematical concepts and a little bit of Python coding to solve the given problem.

earthquake
"Paso Robles Earthquake" by Hey Paul is licensed under CC BY 2.0

Background

Through the Schreyer Honors College, there are a certain number of honors credits I must complete each semester. For Fall 2020, I decided to take Ordinary and Partial Differential Equations (MATH 251) for honors credit. The project I had to complete relates to earthquake vibrations, which can be described by a system of second-order differential equations. These differential equations contain n x n matrices, so I had to combine techniques I learned in my Matrices class with what I learned in Differential Equations to complete this project. 

My Involvement

Given a 5 x 5 matrix for a five-story building, I had to find its eigenvalues. Because of the size and nature of the matrix, finding the eigenvalues led to a fifth-degree polynomial. Using Python, I created a program that uses the bisection method to determine the roots of the polynomial. These roots are the eigenvalues of the matrix. 

Next, I used Python to determine the eigenvectors that correlate with each eigenvalue. I used the linalg.eig() function and a few print features to print the eigenvectors of a =n inputted eigenvalue. 

I then used the functions

X(t) = α cos(ωt)v

and

ω^2 = −λ · k/m

to verify if a certain eigenvalue λ is a solution of

(*) mX′′ = kAX,

the second-order differential equation that describes the oscillations of the system. 

I then used the smallest eigenvalue and a few givens and used them to get a solution vector, using (*). 

 

Links