Frequency calculations

Frequency calculations are performed in subroutines arpack.c for structures not exhibiting cyclic symmetry and arpackcs.c for cyclic symmetric structures. Frequency calculations involve the following steps:

The eigenvalues and eigenmodes are solved in shift-invert mode. This corresponds to Mode 3 in ARPACK ([43]). Suppose we want to solve the system

$\displaystyle \begin{bmatrix}K \end{bmatrix} \begin{Bmatrix}U \end{Bmatrix} = \omega^2 \begin{bmatrix}M \end{bmatrix} \begin{Bmatrix}U \end{Bmatrix}$ (681)

then the shift-invert mode requires algorithms for solving

$\displaystyle \begin{bmatrix}K - \sigma M \end{bmatrix} \begin{Bmatrix}U \end{Bmatrix} = \begin{Bmatrix}X_1 \end{Bmatrix}$ (682)

and for calculating

$\displaystyle \begin{Bmatrix}Y \end{Bmatrix} = \begin{bmatrix}M \end{bmatrix} \begin{Bmatrix}X_2 \end{Bmatrix}$ (683)

where $ \begin{Bmatrix}X_1 \end{Bmatrix}$ and $ \begin{Bmatrix}X_2
\end{Bmatrix}$ are given and $ \sigma$ is a parameter. In CalculiX, it is set to 1. These operations are used in an iterative procedure in order to determine the eigenvalues and the eigenmodes. For the first operation SPOOLES is used. SPOOLES solves a system by using a LU decomposition. This decomposition is performed before the iteration loop initiated by ARPACK since the left hand side of Equation (682) is always the same. Only the backwards substitution is inside the loop. The second operation (Equation (683)) is performed in routine op.f and is a simple matrix multiplication. Notice that this routine depends on the storage scheme of the matrix.

For cyclic symmetric structures the following additional tasks must be performed: