Mathematically, the frequency analysis involves solving the following Eigen problem:

[K] [Φi] = λi [M] [Φi]

where [K] is the global stiffness matrix, [M] is the global mass matrix, [Φi] is the ith mode shape and λi is the ith eigenvalues which is equal to the free vibration circular frequency squared (ωi)2. Other related values are frequency fi which is 2π ωi and period Ti which is 1 / fi. For practical reasons, we are generally interested only in the lowest eigenvalues (and therefore lowest frequencies).

The solution of eigenvalue problems must be iterative in nature because it is equivalent to finding the roots of the polynomial p(λ). The solution algorithm to solve the equation above is given by K.J. Bathe [Ref. 1]. It uses the subspace iteration method to iteratively find the lowest p eigenvalues λ1, λ2, … λp and corresponding vectors [Φ1], [Φ2], …[Φp]. Eigenvalues are extracted in ascending order. Each eigenvector is then normalized such that [Φi]T[M] [Φi] = [I] where [I] is the identity matrix, a diagonal matrix with unit values along the main diagonal.

A tolerance may be set before the solution to control the convergence of eigenvalues during each successive solver iteration. It is expressed as the following:

(i = 1, 2, …number of requested modes)

where k is the subspace iteration counter.

To prevent excessive computing time, a maximum number of subspace iterations may be set before the solution. If the solver reaches this limit without convergence, the eigen results should not be trusted.