Skip to content

Modal Analysis

Generalized Eigenvalue Problem

For free-vibration analysis of a continuum, the structure is spatially discretized and modeled as a multi-degree-of-freedom system with lumped masses, as shown in Figure 2.3.1. For an undamped free-vibration problem, the governing equation (equation of motion) is as follows.

\[\begin{equation} M \ddot{u} + K u = 0 \label{eq:2.3.1} \end{equation}\]

Here, \(u\) is the generalized displacement vector, \(M\) is the mass matrix, and \(K\) is the stiffness matrix. Let \(\omega\) be the natural angular frequency, let \(a\) and \(b\) be arbitrary constants that are not both zero, and let \(x\) be a vector. Define the function

\[\begin{equation} u(t) = (a \sin \omega t + b \cos \omega t ) x \label{eq:2.3.2} \end{equation}\]

Its second derivative is

\[\begin{equation} \ddot{u}(t) = -\omega^2 (a \sin \omega t + b \cos \omega t) x \label{eq:2.3.3} \end{equation}\]

Substituting Equation \(\eqref{eq:2.3.2}\) and Equation \(\eqref{eq:2.3.3}\) into Equation \(\eqref{eq:2.3.1}\) gives

\[\begin{equation} M \ddot{u} + K u = (a \sin \omega t + b \cos \omega t) (K-\omega^2 M) x = 0 \label{eq:2.3.4} \end{equation}\]

This gives the equation above.

For a nontrivial vibration, \(a \sin \omega t + b \cos \omega t\) is not identically zero.

\[ (K-\omega^2M)x=0 \]

Therefore, the relation above follows. Thus, setting \(\lambda=\omega^2\) gives

\[\begin{equation} K x = \lambda M x \label{eq:2.3.5} \end{equation}\]

This gives the equation above.

The scalar \(\lambda\) is called an eigenvalue, the vector \(x\) is called an eigenvector, and the problem expressed by Equation \(\eqref{eq:2.3.5}\) is called a generalized eigenvalue problem.

The natural angular frequency \(\omega\) is obtained from the eigenvalue \(\lambda=\omega^2\), and the corresponding eigenvector \(x\) represents a mode shape.

Example of a multi-degree-of-freedom system for undamped free vibration

Figure 2.3.1 Example of a Multi-Degree-of-Freedom System for Undamped Free Vibration

Matrix Properties and Assumptions

For the generalized eigenvalue problem \(Kx=\lambda Mx\) obtained in the preceding section, this manual assumes that the matrices are symmetric. For complex matrices, this corresponds to Hermitian matrices; for real matrices, it corresponds to symmetric matrices.

Let \(k_{ij}\) be the \(ij\) entry of matrix \(K\). The Hermitian property is

\[\begin{equation} k_{ij} = \bar{k}_{ji} \label{eq:2.3.6} \end{equation}\]

expressed by the equation above, where \(\bar{k}_{ji}\) is the complex conjugate of \(k_{ji}\). For real matrices, this relation becomes \(k_{ij}=k_{ji}\).

A real symmetric matrix \(H\) is positive definite if, for every nonzero vector \(x\),

\[\begin{equation} x^{t} H x > 0 \label{eq:2.3.7} \end{equation}\]

the inequality above holds. In this case, all eigenvalues of \(H\) are positive.

In a structural eigenvalue problem, the mass matrix \(M\) is normally treated as positive definite. The stiffness matrix \(K\), however, may be positive semidefinite depending on the constraints and may have zero eigenvalues corresponding to rigid-body modes.

Shifted Inverse Iteration

In practical finite element structural analysis, all eigenvalues are generally unnecessary; at most a few low-order eigenvalues are often sufficient. HEC-MW is intended for large-scale problems, for which the matrices are large and extremely sparse, with many zero entries. It is therefore important to compute the eigenvalues of low-order modes efficiently with these characteristics in mind.

For a shift \(\sigma\), if \(-\sigma\) is not an eigenvalue and \(K+\sigma M\) is nonsingular, Equation \(\eqref{eq:2.3.5}\) can be transformed as follows.

\[\begin{equation} (K + \sigma M)^{-1} M x = \frac{1}{\lambda+\sigma} x \label{eq:2.3.8} \end{equation}\]

This transformation leaves the eigenvector \(x\) unchanged and maps the eigenvalue \(\lambda\) to \(1/(\lambda+\sigma)\).

Consequently, the closer \(\lambda\) is to \(-\sigma\), the larger the absolute value of the transformed eigenvalue. For a structural eigenvalue problem, \(\lambda \geq 0\) and \(\sigma \geq 0\), so the lowest eigenvalue is mapped to the eigenvalue with the largest absolute value. Using this property, applying to Equation \(\eqref{eq:2.3.8}\) an iterative method that tends to converge first to eigenvalues of large absolute value allows the low-order eigenvalues to be obtained efficiently in ascending order.

This method is called shifted inverse iteration.

For analyses with constraints, FrontISTR sets \(\sigma = 0\), and Equation \(\eqref{eq:2.3.8}\) becomes \(K^{-1} M x = \frac{1}{\lambda} x\), that is, unshifted inverse iteration. In unconstrained free-free analysis, \(K\) is singular because it has zero eigenvalues corresponding to rigid-body modes; assigning a positive value to \(\sigma\) regularizes \(K+\sigma M\). The value of \(\sigma\) is specified by SIGMA in !EIGEN.

Lanczos Method

Rationale (Comparison with the Jacobi Method)

The Jacobi method is a well-known classical method.

It is effective when the matrix is small and dense. However, because the matrices handled by HEC-MW are large and sparse, the Jacobi method is not adopted; instead, the Lanczos iterative method is used.

Algorithm and Features

Proposed by C. Lanczos in the 1950s, this method is an algorithm for tridiagonalizing a matrix and has the following features.

  • It is an iterative method and can perform the computation while keeping the matrix sparse.
  • Its operations consist primarily of matrix-vector products, making it well suited to parallelization.
  • It is well suited to geometric domain decomposition associated with finite element meshes.
  • It can perform efficient computations by limiting the number of eigenvalues or the range of modes to be obtained.

The Lanczos method starts from an initial vector, successively constructs orthogonal vectors, and obtains a basis for a Krylov subspace.

In finite-precision arithmetic, roundoff error can cause the vectors to lose orthogonality. To suppress this effect, the FrontISTR implementation reorthogonalizes each vector against the Lanczos basis vectors already obtained.

Geometric Interpretation (Krylov Subspace)

Applying the following variable transformations to Equation \(\eqref{eq:2.3.8}\),

\[ A = (K + \sigma M)^{-1} M \]
\[\begin{equation} \frac{1}{\lambda+\sigma}= \zeta \label{eq:2.3.9} \end{equation}\]

the problem can be rewritten as

\[\begin{equation} A x = \zeta x \label{eq:2.3.10} \end{equation}\]

This gives the equation above.

For an arbitrary nonzero vector \(q_0\),

\[ q_0,\ Aq_0,\ A^2q_0,\ldots,A^{m-1}q_0 \]

the space spanned by these vectors,

\[ \mathcal{K}_m(A,q_0) = \operatorname{span} \{q_0,Aq_0,A^2q_0,\ldots,A^{m-1}q_0\} \]

is called a Krylov subspace.

The Lanczos method constructs a basis for this Krylov subspace successively.

FrontISTR uses the following inner product associated with the mass matrix \(M\)

\[ \langle x,y\rangle_M = x^T M y \]

to orthonormalize the basis. The inner product \(\langle x,y\rangle\) and norm \(\|x\|\) shown in the following figures are interpreted in FrontISTR calculations as this \(M\)-inner product and the corresponding \(M\)-norm

\[ \|x\|_M=\sqrt{x^T M x} \]

respectively.

Apply the linear transformation defined by matrix \(A\) to an arbitrary vector \(q_0\), as shown in Figure 2.3.2.

Linear transformation of \(q_0\) by matrix \(A\)

Figure 2.3.2 Linear Transformation of \(q_0\) by Matrix \(A\)

The transformed vector is orthogonalized within the space spanned by it and the original vector. Specifically, Gram-Schmidt orthogonalization is performed as shown in Figure 2.3.3. Let the resulting vector be \(r_1\); normalizing it gives \(q_1\).

Vector \(q_1\) orthogonal to \(q_0\)

Figure 2.3.3 Vector \(q_1\) Orthogonal to \(q_0\)

The same procedure obtains \(q_2\) from \(q_1\). Here, \(q_2\) is orthogonal to both \(q_1\) and \(q_0\), as shown in Figure 2.3.4.

Vector \(q_2\) orthogonal to \(q_1\) and \(q_0\)

Figure 2.3.4 Vector \(q_2\) Orthogonal to \(q_1\) and \(q_0\)

In this way, the Lanczos method successively constructs an orthonormal basis for the Krylov subspace. In theory, the symmetry of the eigenvalue problem allows this iteration to be expressed as a three-term recurrence involving the most recent basis vectors.

The FrontISTR implementation, however, reorthogonalizes each vector against the Lanczos basis vectors already obtained using the \(M\)-inner product to suppress loss of orthogonality caused by finite-precision arithmetic.

Tridiagonalization

In FrontISTR's Lanczos iteration, the basis vectors are orthonormalized with respect to the \(M\)-inner product described in the preceding section, so

\[ q_i^T M q_j = \delta_{ij} \]

the relation above holds.

Using matrix \(A\) from Equation \(\eqref{eq:2.3.10}\), the theoretical Lanczos iteration is

\[\begin{equation} A q_i = \beta_i q_{i-1} + \alpha_i q_i + \beta_{i+1} q_{i+1} \label{eq:2.3.11} \end{equation}\]

represented by the three-term recurrence above.

First, \(\alpha_i\) is defined as follows.

\[ \alpha_i = q_i^T M A q_i \]

Next, define the provisional residual as

\[ \tilde{r}_{i+1} = Aq_i - \beta_i q_{i-1} - \alpha_i q_i \]

shown above.

To suppress loss of orthogonality caused by finite-precision arithmetic, the FrontISTR implementation reorthogonalizes \(\tilde{r}_{i+1}\) against the Lanczos basis vectors already obtained using the \(M\)-inner product. If \(r_{i+1}\) is the residual after reorthogonalization, then

\[\begin{equation} \beta_{i+1} = \sqrt{r_{i+1}^T M r_{i+1}}, \qquad q_{i+1} = \frac{r_{i+1}}{\beta_{i+1}} \label{eq:2.3.12} \end{equation}\]

the relations above hold.

Collect the \(m\) basis vectors obtained by the Lanczos iteration into

\[ Q_m=[q_0,q_1,\ldots,q_{m-1}] \]

Then, after a finite number of Lanczos iterations,

\[\begin{equation} A Q_m = Q_m T_m + \beta_m q_m e_m^T \label{eq:2.3.13} \end{equation}\]

the relation above holds.

Here, \(e_m\) is the \(m\)-dimensional unit vector whose \(m\)-th component is 1 and whose other components are zero, and

\[\begin{equation} T_m= \begin{pmatrix} \alpha_0 & \beta_1 & & &\\ \beta_1 & \alpha_1 & \beta_2 & &\\ & \ddots & \ddots & \ddots &\\ & & \beta_{m-2} & \alpha_{m-2}& \beta_{m-1}\\ & & & \beta_{m-1} & \alpha_{m-1} \end{pmatrix} \label{eq:2.3.14} \end{equation}\]

is a symmetric tridiagonal matrix.

Thus, the eigenvalues of the original large-scale eigenvalue problem can be approximated by computing the eigenvalues of the tridiagonal matrix \(T_m\).

See Also