Перейти к содержанию

Модальный анализ

Обобщённая задача на собственные значения

При анализе свободных колебаний сплошной среды выполняется пространственная дискретизация, и система моделируется как система с множеством степеней свободы и сосредоточенными массами, как показано на рис. 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}\]

получаем.

Таким образом, если найти коэффициент \(\lambda = \omega^2\), удовлетворяющий уравнению \(\eqref{eq:2.3.5}\), и вектор \(x\), то функция \(u(t)\) является решением уравнения \(\eqref{eq:2.3.1}\).

Коэффициент \(\lambda\) называется собственным значением, а вектор \(x\) — собственным вектором. Задача их определения из уравнения \(\eqref{eq:2.3.1}\) называется обобщённой задачей на собственные значения.

Пример системы с множеством степеней свободы при свободных колебаниях без демпфирования

Рис. 2.3.1. Пример системы с множеством степеней свободы при свободных колебаниях без демпфирования

Свойства матриц и предположения

Для обобщённой задачи на собственные значения \(K x = \lambda M x\), полученной в предыдущем разделе, в этом руководстве предполагаются следующие свойства матриц. Эти предположения лежат в основе сходимости и области применимости описанных далее метода обратных итераций со сдвигом и метода Ланцоша. Для комплексной матрицы транспонированная матрица является комплексно-сопряжённой, а вещественная матрица является симметричной. Иными словами, если компоненту \(ij\) матрицы \(K\) обозначить \(k_{ij}\), а комплексно-сопряжённое число к \(k\)\(\bar{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\). Этот метод называется обратной итерацией со сдвигом.

Метод Ланцоша

Причины выбора (сравнение с методом Jacobi)

Среди классических методов широко известен метод Jacobi.

Этот метод эффективен для небольших плотных матриц. Однако матрицы, обрабатываемые HEC-MW, велики и разрежены, поэтому этот метод не используется; вместо него применяется итерационный метод Ланцоша (Lanczos).

Алгоритм и особенности

Этот метод, предложенный C. Lanczos в 1950-х годах, является алгоритмом трёхдиагонализации матрицы и имеет следующие особенности.

  • Это итерационный сходящийся метод, позволяющий сохранять матрицу разреженной в ходе вычислений.
  • Основу алгоритма составляют умножения матрицы на вектор, поэтому он хорошо подходит для параллелизации.
  • Он хорошо подходит для геометрической декомпозиции области, связанной с конечно-элементной сеткой.
  • Эффективные вычисления возможны при ограничении числа требуемых собственных значений и диапазона форм.

Метод Ланцоша начинается с начального вектора, последовательно строит ортогональные векторы и формирует базис подпространства. Считается, что этот метод быстрее другого итерационного метода — метода подпространств — и широко используется в конечно-элементных программах. Однако этот метод чувствителен к численным ошибкам: ортогональность векторов может нарушаться, что создаёт риск срыва вычислений. Поэтому меры против численных ошибок необходимы.

Геометрический смысл (подпространство Крылова)

Введём в уравнение \(\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).

Линейное преобразование \(q_0\) матрицей \(A\)

Рис. 2.3.2. Линейное преобразование \(q_0\) матрицей \(A\)

Преобразованный вектор ортогонализуется в пространстве, которое он образует вместе с исходным вектором. Иными словами, выполняется ортогонализация Грама—Шмидта, как показано на рис. 2.3.2. Полученный вектор обозначим \(r_1\) и нормируем до единичной длины, получая \(q_1\) (рис. 2.3.3). Тем же алгоритмом из \(q_1\) получают \(q_2\). При этом \(q_2\) ортогонален как \(q_1\), так и \(q_0\) (рис. 2.3.4). Продолжая такие вычисления, можно получить взаимно ортогональные векторы вплоть до порядка матрицы.

Вектор \(q_1\), ортогональный \(q_0\)

Рис. 2.3.3. Вектор \(q_1\), ортогональный \(q_0\)

Вектор \(q_2\), ортогональный \(q_1\) и \(q_0\)

Рис. 2.3.4. Вектор \(q_2\), ортогональный \(q_1\) и \(q_0\)

В частности, алгоритм Ланцоша применяет ортогонализацию к последовательности векторов \(A q_0\), \(A q_1\), \(A q_2\)

иначе говоря, \(A q_0\), \(A^2 q_0\), \(A^3 q_0\), ,\(A^n q_0\)

с помощью ортогонализации Грама—Шмидта. Эта последовательность называется последовательностью Крылова, а порождённое ею пространство — подпространством Крылова. При ортогонализации Грама—Шмидта в этом пространстве каждый новый вектор можно получить с использованием двух последних векторов. Это называется принципом Ланцоша.

Трёхдиагонализация

В приведённой выше итерации вычисление для (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}\).

Связанные разделы