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 ([44]). Suppose we want to solve the system

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

then the shift-invert mode requires algorithms for solving

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

and for calculating

\begin{Bmatrix} Y \end{Bmatrix} =\begin{bmatrix} M \end{bmatrix} \begin{Bmatrix} X_2 \end{Bmatrix} (850)

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 ([*]) is always the same. Only the backwards substitution is inside the loop. The second operation (Equation ([*])) 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: