跳转至

模态分析

广义特征值问题

对连续体进行自由振动分析时,需要进行空间离散化,并建模为图 2.3.1 所示的集中质量多自由度系统。 对于无阻尼自由振动问题,其控制方程(运动方程)如下。

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

其中,\(u\) 为广义位移向量,\(M\) 为质量矩阵,\(K\) 为刚度矩阵。 设固有圆频率为 \(\omega\)\(a\)\(b\)\(c\) 为任意常数,\(x\) 为向量,并定义函数

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

。该表达式的二阶导数为

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

。将这些表达式代入式 \(\eqref{eq:2.3.1}\),得到

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

。即

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

因此,如果能找到满足方程 \(\eqref{eq:2.3.5}\) 的系数 \(\lambda = \omega^2\) 和向量 \(x\),则函数 \(u(t)\) 是方程 \(\eqref{eq:2.3.1}\) 的解。

系数 \(\lambda\) 称为特征值,向量 \(x\) 称为特征向量,从式 \(\eqref{eq:2.3.1}\) 求取它们的问题称为广义特征值问题。

无阻尼自由振动多自由度系统示例

图 2.3.1 无阻尼自由振动多自由度系统示例

矩阵性质与假设

对于上一节得到的广义特征值问题 \(K x = \lambda M x\),本手册假设以下矩阵性质。这些假设是后述带移位逆迭代法和 Lanczos 法的收敛性及适用范围的前提。 即,对于复矩阵,其转置矩阵为复共轭;对于实矩阵,则为对称矩阵。具体而言,对于矩阵 \(K\),若其 \(ij\) 分量为 \(k_{ij}\),并以 \(\bar{k}\) 表示 \(k\) 的复共轭,则

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

满足如下关系。

本手册中假设矩阵为对称正定矩阵。正定是指所有特征值均为正;换言之,矩阵始终满足下式 \(\eqref{eq:2.3.7}\)

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

带移位逆迭代法

在有限元结构分析中,实际通常不需要全部特征值,很多情况下只需少数几个低阶特征值即可。 HEC-MW 以处理大规模问题为前提,因此矩阵规模很大且非常稀疏(零元素很多)。 因此,考虑到这一点,高效求取低阶模态的特征值非常重要。

设特征值下限为 \(\sigma\),则可将式 \(\eqref{eq:2.3.5}\) 变换为下式(数学上等价)。

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

此时,该变换在计算上具有以下有利性质。

  1. 模态顺序发生反转。
  2. \(\rho\) 附近的特征值被映射为最大值。

实际计算中,通常会先求得最大特征值。因此,与其将主要收敛计算应用于式 \(\eqref{eq:2.3.5}\),不如应用于式 \(\eqref{eq:2.3.8}\),以优先求取 \(\rho\) 附近的特征值。该方法称为带移位逆迭代。

Lanczos 法

采用理由(与 Jacobi 法比较)

在经典方法中,Jacobi 法广为人知。

当矩阵规模较小且为稠密矩阵时,该方法有效。 但是,由于 HEC-MW 处理的矩阵规模大且稀疏,因此不采用该方法,而采用 Lanczos 迭代法。

算法与特点

该方法由 C. Lanczos 于 20 世纪 50 年代提出,是一种将矩阵三对角化的算法,具有以下特点。

  • 它是一种迭代收敛方法,可在保持矩阵稀疏的情况下进行计算。
  • 算法主要由矩阵-向量乘积构成,适合并行化。
  • 适合与有限元网格相伴的几何域分解方法。
  • 可通过限定所求特征值个数和模态范围进行高效计算。

Lanczos 法从初始向量出发,依次生成正交向量,并构造子空间的基。 据称该方法比另一种迭代法——子空间法更快,因此广泛用于有限元程序。 但是,该方法容易受数值误差影响,向量的正交性可能丧失,从而存在计算中途失效的风险。 因此,对数值误差采取措施是必不可少的。

几何意义(Krylov 子空间)

通过对式 \(\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}\]

,问题可改写为

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

对适当的向量 \(q_0\) 施加由矩阵 \(A\) 表示的线性变换(参阅图 2.3.2)。

矩阵 \(A\) 对 \(q_0\) 的线性变换

图 2.3.2 矩阵 \(A\)\(q_0\) 的线性变换

将变换后的向量在其与原向量张成的空间中正交化。 即进行图 2.3.2 所示的 Gram-Schmidt 正交化。 将所得向量记为 \(r_1\),对其归一化(长度为 1)得到 \(q_1\)(图 2.3.3)。 用同样的算法由 \(q_1\) 得到 \(q_2\)。 此时 \(q_2\) 同时与 \(q_1\)\(q_0\) 正交(图 2.3.4)。 继续进行相同计算,可得到相互正交的向量,最多达到矩阵的阶数。

与 \(q_0\) 正交的向量 \(q_1\)

图 2.3.3 与 \(q_0\) 正交的向量 \(q_1\)

与 \(q_1\) 和 \(q_0\) 正交的向量 \(q_2\)

图 2.3.4 与 \(q_1\)\(q_0\) 正交的向量 \(q_2\)

特别地,Lanczos 法的算法作用于向量序列 \(A q_0\)\(A q_1\)\(A q_2\)

换言之,即 \(A q_0\)\(A^2 q_0\)\(A^3 q_0\)、,\(A^n q_0\)

的 Gram-Schmidt 正交化。 该向量序列称为 Krylov 序列,其张成的空间称为 Krylov 子空间。 在该空间中进行 Gram-Schmidt 正交化时,可以利用最近的两个向量求得新的向量。 这称为 Lanczos 原理。

三对角化

在上述迭代中,第 i+1 个向量的计算可表示为

\[\begin{equation} \beta_{i+1} q_{i+1} + \alpha_{i+1} q_{i} + \gamma_{i+1} q_{i-1} = Aq_{i} \label{eq:2.3.11} \end{equation}\]

。其中,

\[ \beta_{i+1} = \frac{1}{||r_{i+1}||} \]
\[ \alpha_{i+1} = \frac{(q_i, Aq_i)}{(q_i, q_i)} \]
\[\begin{equation} \gamma_{i+1} = \frac{(q_{i-1}, Aq_i)}{(q_{i-1}, q_{i-1})} \label{eq:2.3.12} \end{equation}\]

。写成矩阵形式为

\[\begin{equation} AQ_m = Q_m T_m \label{eq:2.3.13} \end{equation}\]

。其中,

\[ Q_m = [q_{1}, q_{2}, q_{3}, \ldots ,q_{m}] \]
\[\begin{equation} T= \begin{pmatrix} \alpha_{1} & \gamma_{1} & & &\\ \beta_{2} & \alpha_{2} & \gamma_{2} & & \\ & \cdots & & &\\ & & & \beta_{m} & \alpha_{m} \end{pmatrix} \label{2.3.14} \end{equation}\]

。也就是说,通过对式 \(\eqref{eq:2.3.13}\) 得到的三对角矩阵进行特征值计算,即可得到特征值。

相关项目