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.
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
Cover image: https://www.flickr.com/photos/heypaul/142868