Kihagyás

Modálanalízis

Általánosított sajátérték-probléma

Egy kontinuum szabadrezgés-analíziséhez a tartományt térben diszkretizáljuk, és a 2.3.1. ábrán látható módon koncentrált tömegekből álló, több szabadságfokú rendszerként modellezzük. Csillapítatlan szabadrezgési feladat esetén a kormányzó egyenlet (mozgásegyenlet) a következő.

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

Itt \(u\) az általánosított elmozdulásvektor, \(M\) a tömegmátrix, \(K\) pedig a merevségi mátrix. Legyen a sajátkörfrekvencia \(\omega\), \(a\), \(b\) és \(c\) tetszőleges állandók, \(x\) pedig egy vektor. Definiáljuk a következő függvényt:

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

Ennek az összefüggésnek a második deriváltja

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

Ezeket az összefüggéseket a \(\eqref{eq:2.3.1}\) egyenletbe helyettesítve

\[\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}\]

Vagyis

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

adódik.

Tehát ha a \(\lambda = \omega^2\) együtthatóval teljesül a \(\eqref{eq:2.3.5}\) egyenlet, és meghatározható az \(x\) vektor, akkor az \(u(t)\) függvény a \(\eqref{eq:2.3.1}\) egyenlet megoldása.

A \(\lambda\) együtthatót sajátértéknek, az \(x\) vektort sajátvektornak nevezzük. A \(\eqref{eq:2.3.1}\) egyenletből történő meghatározásuk feladatát általánosított sajátérték-problémának nevezzük.

Csillapítatlan szabadrezgésű, több szabadságfokú rendszer példája

2.3.1. ábra Csillapítatlan szabadrezgésű, több szabadságfokú rendszer példája

A mátrixok tulajdonságai és feltételezések

Az előző szakaszban kapott \(K x = \lambda M x\) általánosított sajátérték-problémához ez a kézikönyv a következő mátrixtulajdonságokat tételezi fel. Ezek a feltételezések képezik az alább ismertetett eltolt inverz iteráció és Lanczos-módszer konvergenciájának és alkalmazhatósági tartományának alapját. Komplex mátrix esetén a transzponált a komplex konjugált, míg valós mátrix esetén a mátrix szimmetrikus. Konkrétan a \(K\) mátrix \(ij\) elemét \(k_{ij}\)-vel, \(k\) komplex konjugáltját pedig \(\bar{k}\)-val jelölve

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

a következő összefüggés áll fenn.

Ebben a kézikönyvben a mátrixokat szimmetrikusnak és pozitív definitnek tételezzük fel. A pozitív definit azt jelenti, hogy minden sajátérték pozitív; ezzel egyenértékűen a mátrix mindig kielégíti az alábbi \(\eqref{eq:2.3.7}\) egyenletet.

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

Eltolt inverz iteráció

A végeselemes szerkezeti analízisben a gyakorlatban általában nincs szükség minden sajátértékre; sok esetben elegendő néhány alacsony rendű sajátérték. A HEC-MW nagyméretű feladatokra készült, amelyeknél a mátrixok nagyok és nagyon ritkák (sok zérus elemet tartalmaznak). Ezért e tulajdonság figyelembevételével fontos az alacsony rendű módusok sajátértékeinek hatékony kiszámítása.

Legyen \(\sigma\) a sajátértékek alsó korlátja. Ekkor a \(\eqref{eq:2.3.5}\) egyenlet a következő, matematikailag egyenértékű alakra transzformálható.

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

Ez a transzformáció a számítás szempontjából a következő hasznos tulajdonságokkal rendelkezik.

  1. A módusok sorrendje megfordul.
  2. A \(\rho\) közelében lévő sajátértékek a legnagyobb értékekre képződnek le.

A tényleges számításban gyakran először a legnagyobb sajátértékeket kapjuk meg. Ezért a fő konvergenciaszámítást nem a \(\eqref{eq:2.3.5}\), hanem a \(\eqref{eq:2.3.8}\) egyenletre alkalmazzuk azzal a céllal, hogy először a \(\rho\) közelében lévő sajátértékeket kapjuk meg. Ezt a technikát eltolt inverz iterációnak nevezzük.

Lanczos-módszer

Az alkalmazás indoka (összehasonlítás a Jacobi-módszerrel)

A klasszikus módszerek közül jól ismert a Jacobi-módszer.

Ez a módszer kis és sűrű mátrix esetén hatékony. Mivel azonban a HEC-MW által kezelt mátrixok nagyok és ritkák, a Jacobi-módszert nem alkalmazzuk; helyette az iteratív Lanczos-módszert használjuk.

Algoritmus és jellemzők

A C. Lanczos által az 1950-es években javasolt módszer egy mátrix tridiagonális alakra redukálására szolgáló algoritmus, amely a következő jellemzőkkel rendelkezik.

  • Iteratív, konvergens módszer, és a számítás a mátrix ritkaságának megőrzésével végezhető.
  • Az algoritmus főként mátrix-vektor szorzásokból áll, ezért jól párhuzamosítható.
  • Jól illeszkedik a végeselemes hálókhoz kapcsolódó geometriai tartományfelosztáshoz.
  • Hatékony számítás lehetséges a meghatározandó sajátértékek számának és a módustartománynak a korlátozásával.

A Lanczos-módszer egy kezdővektorból indul ki, egymás után ortogonális vektorokat állít elő, és egy altér bázisát építi fel. A módszert a másik iteratív eljárásnál, az altérmódszernél gyorsabbnak tartják, és széles körben használják végeselemes programokban. A módszer azonban érzékeny a numerikus hibákra, amelyek tönkretehetik a vektorok ortogonalitását, és a számítás meghiúsulásához vezethetnek. Ezért elengedhetetlenek az ilyen numerikus hibák elleni intézkedések.

Geometriai értelmezés (Krylov-altér)

A \(\eqref{eq:2.3.8}\) egyenletben a következő változótranszformációt bevezetve

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

a feladat átírható a következő alakra:

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

adódik.

Egy megfelelő \(q_0\) vektorra alkalmazzuk az \(A\) mátrix által leírt lineáris transzformációt (lásd a 2.3.2. ábrát).

A \(q_0\) vektor \(A\) mátrix általi lineáris transzformációja

2.3.2. ábra A \(q_0\) vektor \(A\) mátrix általi lineáris transzformációja

A transzformált vektort az eredeti vektorral együtt kifeszített térben ortogonalizáljuk. Vagyis a 2.3.2. ábrán szemléltetett Gram–Schmidt-ortogonalizálást hajtjuk végre. A kapott vektor legyen \(r_1\). Egységnyi hosszra normálva \(q_1\)-et kapunk (2.3.3. ábra). A \(q_1\)-ből ugyanezzel az eljárással meghatározzuk \(q_2\)-t. Ekkor \(q_2\) mind \(q_1\)-re, mind \(q_0\)-ra ortogonális (2.3.4. ábra). A számítást ugyanígy folytatva a mátrix rendjéig kölcsönösen ortogonális vektorokat kapunk.

A \(q_0\)-ra ortogonális vektor: \(q_1\)

2.3.3. ábra A \(q_0\)-ra ortogonális vektor: \(q_1\)

A \(q_1\)-re és \(q_0\)-ra ortogonális vektor: \(q_2\)

2.3.4. ábra A \(q_1\)-re és \(q_0\)-ra ortogonális vektor: \(q_2\)

A Lanczos-algoritmus különösen az \(A q_0\), \(A q_1\), \(A q_2\) vektorsorozatra alkalmaz

vagy ezzel egyenértékűen az \(A q_0\), \(A^2 q_0\), \(A^3 q_0\), ,\(A^n q_0\) sorozatra

Gram–Schmidt-ortogonalizálást. Ezt a vektorsorozatot Krylov-sorozatnak, az általa kifeszített teret pedig Krylov-altérnek nevezzük. Ha ebben a térben Gram–Schmidt-ortogonalizálást végzünk, minden új vektor a két legutóbbi vektor felhasználásával határozható meg. Ezt nevezzük Lanczos-elvnek.

Tridiagonalizálás

A fenti iterációban az (i+1)-edik vektor számítása a következőképpen írható fel:

\[\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}\]

ahol

\[ \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}\]

Mátrixos jelöléssel ez a következő alakot ölti:

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

ahol

\[ 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}\]

Így a sajátértékeket a \(\eqref{eq:2.3.13}\) egyenletből kapott tridiagonális mátrix sajátérték-problémájának megoldásával kapjuk meg.

Kapcsolódó témák

AI-assisted translation May contain errors Official docs Status