Eigenvalues and Modal Analysis

<< Click to Display Table of Contents >>

Navigation:  Problem Descriptor Reference > The Sections of a Descriptor > Equations >

Eigenvalues and Modal Analysis

Previous pageReturn to chapter overviewNext page

FlexPDE can solve eigenvalue problems involving an arbitrary number of equations.  This type of problem is identified by the appearance of the selector MODES=<number> in the SELECT section, and by use of the reserved word LAMBDA in the equations section.  The MODES selector tells FlexPDE how many modes to calculate, and LAMBDA in the equations stands for the eigenvalue.  The eigenvalues can be real or complex, and must be linear. Nonlinear uses of LAMBDA are not guaranteed to converge.


The equation should then be written in the form


F(V) +LAMBDA*G(V) = H(X,Y)


Where F(V) and G(V) are the appropriate terms containing the dependent variable, and H(X,Y) is a driving source term. The name LAMBDA is automatically declared by FlexPDE to mean the eigenvalue, and should not be declared in the DEFINITIONS section.


FlexPDE uses the method of subspace iteration (see Bathe and Wilson, "Numerical Methods in Finite Element Analysis", Prentice-Hall, 1976)  to solve for a selected number of eigenvalues of lowest magnitude.   In this method, the full problem is projected onto a subspace of much smaller dimension, and the eigenvalues and eigenvectors of this reduced system are found.  This process is repeated until convergence of the eigenvalues is achieved.  The eigenvectors of the full system are then recovered from expansion of the eigenvectors of the reduced system.  As in a power-series expansion, there is some loss of accuracy in the higher modes due to truncation error.  For this reason, FlexPDE solves a subspace of dimension min(n+8,2*n), where n is the number of requested modes.


Eigenvalue Shifting


It is possible to examine eigenmodes which do not correspond to eigenvalues of the smallest magnitude by the technique of eigenvalue shifting.  Consider the two systems

 L(u) + lambda*u = 0


 L(u) + lambda*u + shift*u = 0.

These systems will have the same eigenvectors as those associated with eigenvalues of "lambda+shift" in the original system.  Given the latter problem, FlexPDE will find a set of eigenvalues corresponding to the eigenvalues closest above "shift" in the spectrum of the former problem. The sum "lambda+shift" will correspond to the eigenvalue in the former system.



Samples | Usage | Eigenvalues | 3D_Oildrum.pde

Samples | Usage | Eigenvalues | 3D_Plate.pde

Samples | Usage | Eigenvalues | Drumhead.pde

Samples | Usage | Eigenvalues | Drumhole.pde

Samples | Usage | Eigenvalues | Drumhole_Animate.pde

Samples | Usage | Eigenvalues | Filledguide.pde

Samples | Usage | Eigenvalues | Shiftguide.pde

Samples | Usage | Eigenvalues | Vibar.pde

Samples | Usage | Eigenvalues | Waveguide.pde

Samples | Usage | Eigenvalues | Waveguide20.pde