频率计算

频率计算在子程序arpack.c(对于不具有循环对称性的结构)和arpackcs.c(对于循环对称结构)中执行。频率计算包括以下步骤:

特征值和特征模态以移位求逆模式求解。这对应于ARPACK中的模式3([51])。假设我们要求解系统

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

那么移位求逆模式需要求解以下方程的算法:

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

以及用于计算

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

其中 $ \begin{Bmatrix}X_1 \end{Bmatrix}$$ \begin{Bmatrix}X_2
\end{Bmatrix}$ 是已知的,$ \sigma$ 是一个参数。在CalculiX中,它被设置为1。这些操作在迭代过程中用于确定特征值和特征模态。对于第一个操作,使用SPOOLES。SPOOLES通过LU分解求解系统。该分解在ARPACK发起的迭代循环之前执行,因为方程(929)的左侧始终相同。只有回代在循环内。第二个操作(方程(930))在op.f例程中执行,是一个简单的矩阵乘法。注意,这个例程依赖于矩阵的存储方案。

对于循环对称结构,还必须执行以下附加任务: