Magnitude of displacement

Hey all,
I’m trying to simulate an oscillating tube. I used the cantilever_beam demo and adapted it for a tube.
When I compute the eigenvalues (frequencies) and the corresponding eigenvectors (displacements), how can I see which eigenvectors are contributing more to the oscillation than others and which are not?

I converted the PETSc Vectors which I got from get_eigenpair to numpy arrays. Are the displacements in these arrays saved nodewise and coordinatewise? Like are the first three lines x, y, z coordinates from the first node, then the second line x,y,z from the second node and so on? And what are the units? Are they somehow normalized?

Thanks in advance,

you should go back to some structural dynamics textbook. Eigenvectors obtained from an eigenvalue analysis are not displacements. They have no physical meaning as such except for showing how (not how much) the corresponding mode oscillate. In general, for generalizd eigenvalue problems of the form AX=\lambda BX, eigensolver normalize the eigenvectors with the B matrix so that X^TBX=1.
If you want to know which eigenvectors contribute the most, it depends on the loading of the structure, it does not mean anything in itself otherwise. You need to compute modal participation factors.

Hey, thank you for your answer. I thought of this yesterday, and yes, of course the eigenvectors are not the displacement. There was obviously some mistake in my thinking. Also in practical methods it is clear that the contribution of the ev vary with the initial condition. mea culpa :wink:

1 Like