Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Some questions about solving eigenproblems to do modal analysis

  1. Mar 3, 2012 #1
    So for my graphics class I am currently reading "Stochastic Dynamics: Simulating the Effects of Turbulence on Flexible Structures" by Jos Stam

    However, while starting to implement it, I've realized my understanding of math is not strong enough to fully understand what is going on so I have a couple of questions.

    Given the mass matrix M and stiffness matrix K, how would I go about solving MQD=KQ where Q is the modal shapes matrix and D is a diagonal matrix of modal frequency involved with Q. I am not sure how Q and D can both be found from this one equation and exactly what part of this problem is a eigenproblem.

    I am told that I should use ARPACK(which according to the paper uses Lanczos method) but without first understanding what is going on in that equation, I am not sure how to proceed. I would like any help or hint on understanding this.
  2. jcsd
  3. Mar 3, 2012 #2


    User Avatar
    Science Advisor
    Homework Helper

    Do you understand what the eigenvalues and vectors of a single matrix are? In other words do you understand why an equation like ##Ax = \lambda x## only has "interesting" solutions for some particular values of ##\lambda##?

    In principle, you can extend those ideas to your equation simply by taking ##A = M^{-1}K##. In practice, you don't solve the problem that way numerically, because there are much more efficient ways to do it.

    You shouldn't have to understand all the details of how the Lanczos algorithm in ARPACK actually works. All you need is the basic concept of what eigenvalues and vectors are, how to supply your matrices to the routine, and how the answers are returned from it.
  4. Mar 3, 2012 #3
    So basically the D becomes the eigenvalues and Q ends up becoming the eigenvector of the
    A = M-1K
    Ax=λx equation?

    And I would just use ARPACK and find the part of the function that does this for me automatically given the stiffness matrix K and mass matrix M?

    I think I am beginning to understand now, please correct me if I'm wrong.
  5. Mar 3, 2012 #4


    User Avatar
    Science Advisor
    Homework Helper

    That's right. You would usually write an eigenvalue ##\lambda_i## as ##\omega^2_i## where ##\omega_i## is the natural frequency (in radians per second), and the corresponding eigenvector is the vibratiion mode shape.

    If you want more details on how the math relates to the physics, Google for "muiltiple degree of freedom dynamics" or MDOF.

    I woudn't recommend trying to understand the Lanczos algorithm unless you already know quite a bit about linear algebra and computational methods, but it's widely used as a "general purpose" solution method for this type of eigenproblem with large matrices (up to order 100,000 or more).
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook