Към съдържанието

Модален анализ

Обобщена задача за собствени стойности

При анализ на свободните трептения на непрекъсната среда областта се дискретизира пространствено и се моделира като система с много степени на свобода и концентрирани маси, както е показано на фиг. 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\) и векторът \(x\), удовлетворяващи уравнение \(\eqref{eq:2.3.5}\), функцията \(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}\), а комплексно спрегнатото на \(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\). Тази техника се нарича обратна итерация с отместване.

Метод на Lanczos

Основание за използването му (сравнение с метода на Jacobi)

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

Този метод е ефективен, когато матрицата е малка и плътна. Тъй като обаче матриците, обработвани от HEC-MW, са големи и разредени, методът на Jacobi не се използва; вместо него се прилага итерационният метод на Lanczos.

Алгоритъм и характеристики

Предложен от C. Lanczos през 50-те години на XX век, този метод представлява алгоритъм за свеждане на матрица до тридиагонален вид и има следните характеристики.

  • Това е итерационен сходящ метод и изчислението може да протича, като матрицата остава разредена.
  • Алгоритъмът се състои главно от умножения на матрица с вектор и е много подходящ за паралелизация.
  • Подходящ е за геометрично разделяне на области, свързано с мрежите по метода на крайните елементи.
  • Ефективно изчисление е възможно чрез ограничаване на броя на собствените стойности и диапазона на модовете, които трябва да бъдат получени.

Методът на 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).

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

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

Преобразуваният вектор се ортогонализира в пространството, което той образува заедно с първоначалния вектор. Тоест се извършва ортогонализация по Gram-Schmidt, както е показано на фиг. 2.3.2. Нека полученият вектор е \(r_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 прилага ортогонализация по Gram-Schmidt към редицата от вектори \(A q_0\), \(A q_1\), \(A q_2\)

или, еквивалентно, \(A q_0\), \(A^2 q_0\), \(A^3 q_0\), ,\(A^n q_0\).

Тази редица от вектори се нарича редица на 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}\).

Свързани теми

AI-assisted translation May contain errors Official docs Status