Some questions about solving eigenproblems to do modal analysis

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
3 replies · 2K views
blah900
Messages
4
Reaction score
0
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.
 
Physics news on Phys.org
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.
 
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.
 
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).