Problem statement

two springs and two masses
Find the natural frequencies of the system shown in Figure, with $$m_1=m,\ m_2=2m,\ k_1=k,\ and\ k_2=2k$$ Determine the response of the system when $$k=1000\ N/m,\ m=20\ kg$$ and the initial values of the displacements of the masses $$m_1\ and\ m_2\ are\ 1\ and\ -1,\ respectively$$ Note: figure and question is from Mechanical Vibrations Fifth Edition Chapter 5 Problem 5.5 Singiresu S. Rao

Static force balance

$$ m_1\ddot x_1+k_1x_1+k_2(x_1-x_2)=0 $$ $$ m_2\ddot x_2-k_2(x_2-x_1)=0$$ Formatting the equations in terms of x $$ m_1\ddot x_1+(k_1+k_2)x_1-k_2x_2=0 $$ $$ m_2\ddot x_2-k_2x_1+k_2x_2=0$$ Let $$ x=x_0e^{i\omega_nt} $$ $$ -M\ddot x \omega^2_n+Kx=0 $$ Solving for the natural frequencies and the response of the system is just like solving the eigenvalue and eigenvector problem for matrix M and K.

Concluding Remarks

The eigenvalue and eigenvector solvers in numpy have one parameter for the left matrix. That is the right matrix is assumed to be an identity matrix. $$ Ax=\lambda x$$ While eigenvalue and eigenvector solvers in scipy have more parameters including right and left matrix. So here the solver in scipy is used. In the future, I am planning to draw the animation of response in principal and x coordinates.

Reference

  1. Eigenvalue eigenvector problem solver in scipy
  2. Eigenvalue and eigenvector problem solver in numpy
  3. Matrix transpose
  4. Matrix square root
  5. Matrix inverse
  6. Matrix product
  7. Symbolic library