Keri sisuni

Modaalanalüüs

Üldistatud omaväärtusülesanne

Kontiinumi vabavõnkumise analüüsimisel diskretiseeritakse konstruktsioon ruumiliselt ja modelleeritakse koondmassidega mitme vabadusastmega süsteemina, nagu on näidatud joonisel 2.3.1. Summutuseta vabavõnkumise ülesande juhtvõrrand (liikumisvõrrand) on järgmine.

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

Siin on \(u\) üldistatud siirdevektor, \(M\) massimaatriks ja \(K\) jäikusmaatriks. Olgu \(\omega\) omaringisagedus, olgu \(a\) ja \(b\) suvalised konstandid, mis ei ole mõlemad nullid, ning olgu \(x\) vektor. Defineerime funktsiooni

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

Selle teine tuletis on

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

Asendades võrrandi \(\eqref{eq:2.3.2}\) ja võrrandi \(\eqref{eq:2.3.3}\) võrrandisse \(\eqref{eq:2.3.1}\), saame

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

Nii saadakse ülaltoodud võrrand.

Mittetriviaalse võnkumise korral ei ole \(a \sin \omega t + b \cos \omega t\) identselt null.

\[ (K-\omega^2M)x=0 \]

Seega saadakse ülaltoodud seos. Kui võtta \(\lambda=\omega^2\), saame

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

Nii saadakse ülaltoodud võrrand.

Skalaari \(\lambda\) nimetatakse omaväärtuseks, vektorit \(x\) omavektoriks ja võrrandiga \(\eqref{eq:2.3.5}\) väljendatud ülesannet üldistatud omaväärtusülesandeks.

Omaringisagedus \(\omega\) saadakse omaväärtusest \(\lambda=\omega^2\) ning vastav omavektor \(x\) kirjeldab moodikuju.

Koondmassidega mitme vabadusastmega süsteemi näide summutuseta vabavõnkumise korral

Joonis 2.3.1 Koondmassidega mitme vabadusastmega süsteemi näide summutuseta vabavõnkumise korral

Maatriksite omadused ja eeldused

Eelmises jaotises saadud üldistatud omaväärtusülesande \(Kx=\lambda Mx\) korral eeldatakse selles juhendis, et maatriksid on sümmeetrilised. Kompleksmaatriksite korral vastab see hermiitilistele maatriksitele, reaalmaatriksite korral sümmeetrilistele maatriksitele.

Olgu \(k_{ij}\) maatriksi \(K\) element \(ij\). Hermiitilisuse tingimus on

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

väljendatud ülaltoodud võrrandiga, kus \(\bar{k}_{ji}\) on arvu \(k_{ji}\) komplekskaas. Reaalmaatriksite korral muutub see seos kujule \(k_{ij}=k_{ji}\).

Reaalne sümmeetriline maatriks \(H\) on positiivselt määratud, kui iga nullist erineva vektori \(x\) korral

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

kehtib ülaltoodud võrratus. Sel juhul on kõik maatriksi \(H\) omaväärtused positiivsed.

Konstruktsiooni omaväärtusülesandes käsitletakse massimaatriksit \(M\) tavaliselt positiivselt määratuna. Jäikusmaatriks \(K\) võib aga olenevalt piirangutest olla positiivselt poolmääratud ja sellel võivad olla jäiga keha moodidele vastavad nullomaväärtused.

Nihkega pöörditeratsioon

Praktilises lõplike elementide konstruktsioonianalüüsis ei ole tavaliselt kõiki omaväärtusi vaja; sageli piisab kõige rohkem mõnest madalamat järku omaväärtusest. HEC-MW on mõeldud suuremõõtmeliste ülesannete jaoks, mille maatriksid on suured ja äärmiselt hõredad ning sisaldavad palju nullelemente. Seetõttu on tähtis arvutada madalamat järku moodide omaväärtused neid omadusi arvestades tõhusalt.

Nihke \(\sigma\) korral, kui \(-\sigma\) ei ole omaväärtus ja \(K+\sigma M\) on mittesingulaarne, saab võrrandi \(\eqref{eq:2.3.5}\) teisendada järgmiselt.

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

See teisendus jätab omavektori \(x\) muutumatuks ja teisendab omaväärtuse \(\lambda\) väärtuseks \(1/(\lambda+\sigma)\).

Järelikult, mida lähemal on \(\lambda\) väärtusele \(-\sigma\), seda suurem on teisendatud omaväärtuse absoluutväärtus. Konstruktsiooni omaväärtusülesandes kehtivad \(\lambda \geq 0\) ja \(\sigma \geq 0\), mistõttu madalaim omaväärtus kujutatakse suurima absoluutväärtusega omaväärtuseks. Seda omadust kasutades ja rakendades võrrandile \(\eqref{eq:2.3.8}\) iteratsioonimeetodit, mis kaldub esmalt koonduma suure absoluutväärtusega omaväärtustele, saab madalamat järku omaväärtused tõhusalt kasvavas järjekorras.

Seda meetodit nimetatakse nihkega pöörditeratsiooniks.

Piirangutega analüüsides määrab FrontISTR \(\sigma = 0\) ja võrrand \(\eqref{eq:2.3.8}\) muutub kujule \(K^{-1} M x = \frac{1}{\lambda} x\), st nihketa pöörditeratsiooniks. Piiranguteta vaba-vaba analüüsis on \(K\) singulaarne, sest sellel on jäiga keha moodidele vastavad nullomaväärtused; parameetrile \(\sigma\) positiivse väärtuse andmine regulariseerib maatriksi \(K+\sigma M\). Parameetri \(\sigma\) väärtus määratakse võtmega SIGMA plokis !EIGEN.

Lanczose meetod

Kasutamise põhjendus (võrdlus Jacobi meetodiga)

Jacobi meetod on hästi tuntud klassikaline meetod.

See on tõhus, kui maatriks on väike ja tihe. Kuna HEC-MW töödeldavad maatriksid on suured ja hõredad, ei kasutata Jacobi meetodit; selle asemel kasutatakse iteratiivset Lanczose meetodit.

Algoritm ja omadused

C. Lanczose 1950. aastatel välja pakutud meetod on maatriksi tridiagonaliseerimise algoritm, millel on järgmised omadused.

  • See on iteratsioonimeetod, millega saab arvutada maatriksi hõredust säilitades.
  • Selle tehted koosnevad peamiselt maatriks-vektor-korrutistest, mistõttu sobib meetod hästi paralleliseerimiseks.
  • See sobib hästi lõplike elementide võrkudega seotud geomeetriliseks domeeni dekompositsiooniks.
  • See võimaldab tõhusat arvutamist, piirates leitavate omaväärtuste arvu või moodide vahemikku.

Lanczose meetod alustab algvektorist, konstrueerib järjest ortogonaalseid vektoreid ja moodustab Krylovi alamruumi baasi.

Lõpliku täpsusega aritmeetikas võivad ümardusvead põhjustada vektorite ortogonaalsuse kadumise. Selle mõju vähendamiseks reortogonaliseerib FrontISTR-i teostus iga vektori juba saadud Lanczose baasivektorite suhtes.

Geomeetriline tähendus (Krylovi alamruum)

Rakendades võrrandile \(\eqref{eq:2.3.8}\) järgmisi muutujate teisendusi,

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

saab ülesande ümber kirjutada kujul

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

Nii saadakse ülaltoodud võrrand.

Suvalise nullist erineva vektori \(q_0\) korral

\[ q_0,\ Aq_0,\ A^2q_0,\ldots,A^{m-1}q_0 \]

nende vektorite tekitatud ruumi

\[ \mathcal{K}_m(A,q_0) = \operatorname{span} \{q_0,Aq_0,A^2q_0,\ldots,A^{m-1}q_0\} \]

nimetatakse Krylovi alamruumiks.

Lanczose meetod konstrueerib järjest selle Krylovi alamruumi baasi.

FrontISTR kasutab massimaatriksiga \(M\) seotud järgmist skalaarkorrutist

\[ \langle x,y\rangle_M = x^T M y \]

baasi ortonormeerimiseks. Järgmistel joonistel näidatud skalaarkorrutist \(\langle x,y\rangle\) ja normi \(\|x\|\) tõlgendatakse FrontISTR-i arvutustes selle \(M\)-skalaarkorrutise ja vastava \(M\)-normina

\[ \|x\|_M=\sqrt{x^T M x} \]

vastavalt.

Maatriksiga \(A\) määratud lineaarteisendus rakendatakse suvalisele vektorile \(q_0\), nagu on näidatud joonisel 2.3.2.

Vektori \(q_0\) lineaarteisendus maatriksiga \(A\)

Joonis 2.3.2 Vektori \(q_0\) lineaarteisendus maatriksiga \(A\)

Teisendatud vektor ortogonaliseeritakse selle ja algvektori tekitatud ruumis. Täpsemalt tehakse Gram-Schmidti ortogonaliseerimine, nagu on näidatud joonisel 2.3.3. Olgu saadud vektor \(r_1\); selle normeerimisel saadakse \(q_1\).

Vektor \(q_1\), mis on ortogonaalne vektoriga \(q_0\)

Joonis 2.3.3 Vektor \(q_1\), mis on ortogonaalne vektoriga \(q_0\)

Sama menetlusega saadakse vektorist \(q_1\) vektor \(q_2\). Siin on \(q_2\) ortogonaalne nii vektoriga \(q_1\) kui ka vektoriga \(q_0\), nagu on näidatud joonisel 2.3.4.

Vektor \(q_2\), mis on ortogonaalne vektoritega \(q_1\) ja \(q_0\)

Joonis 2.3.4 Vektor \(q_2\), mis on ortogonaalne vektoritega \(q_1\) ja \(q_0\)

Nii konstrueerib Lanczose meetod järjest Krylovi alamruumi ortonormaalse baasi. Teoreetiliselt võimaldab omaväärtusülesande sümmeetria esitada selle iteratsiooni viimaseid baasivektoreid sisaldava kolmeliikmelise rekurrentsseosena.

FrontISTR-i teostus reortogonaliseerib aga iga vektori juba saadud Lanczose baasivektorite suhtes \(M\)-skalaarkorrutise abil, et vähendada lõpliku täpsusega aritmeetikast tingitud ortogonaalsuse kadu.

Tridiagonaliseerimine

FrontISTR-i Lanczose iteratsioonis ortonormeeritakse baasivektorid eelmises jaotises kirjeldatud \(M\)-skalaarkorrutise suhtes, mistõttu

\[ q_i^T M q_j = \delta_{ij} \]

kehtib ülaltoodud seos.

Kasutades võrrandi \(\eqref{eq:2.3.10}\) maatriksit \(A\), on teoreetiline Lanczose iteratsioon

\[\begin{equation} A q_i = \beta_i q_{i-1} + \alpha_i q_i + \beta_{i+1} q_{i+1} \label{eq:2.3.11} \end{equation}\]

esitatud ülaltoodud kolmeliikmelise rekurrentsseosena.

Kõigepealt defineeritakse \(\alpha_i\) järgmiselt.

\[ \alpha_i = q_i^T M A q_i \]

Seejärel defineeritakse esialgne jääk kujul

\[ \tilde{r}_{i+1} = Aq_i - \beta_i q_{i-1} - \alpha_i q_i \]

nagu eespool näidatud.

Lõpliku täpsusega aritmeetikast tingitud ortogonaalsuse kao vähendamiseks FrontISTR-i teostus reortogonaliseerib \(\tilde{r}_{i+1}\) juba saadud Lanczose baasivektorite suhtes \(M\)-skalaarkorrutise abil. Kui \(r_{i+1}\) on reortogonaliseerimisjärgne jääk, siis

\[\begin{equation} \beta_{i+1} = \sqrt{r_{i+1}^T M r_{i+1}}, \qquad q_{i+1} = \frac{r_{i+1}}{\beta_{i+1}} \label{eq:2.3.12} \end{equation}\]

kehtivad ülaltoodud seosed.

Koondame Lanczose iteratsiooniga saadud \(m\) baasivektorit kujule

\[ Q_m=[q_0,q_1,\ldots,q_{m-1}] \]

Pärast lõplikku arvu Lanczose iteratsioone kehtib siis

\[\begin{equation} A Q_m = Q_m T_m + \beta_m q_m e_m^T \label{eq:2.3.13} \end{equation}\]

ülaltoodud seos.

Siin on \(e_m\) \(m\)-mõõtmeline ühikvektor, mille \(m\)-s komponent on 1 ja kõik muud komponendid on nullid, ning

\[\begin{equation} T_m= \begin{pmatrix} \alpha_0 & \beta_1 & & &\\ \beta_1 & \alpha_1 & \beta_2 & &\\ & \ddots & \ddots & \ddots &\\ & & \beta_{m-2} & \alpha_{m-2}& \beta_{m-1}\\ & & & \beta_{m-1} & \alpha_{m-1} \end{pmatrix} \label{eq:2.3.14} \end{equation}\]

on sümmeetriline tridiagonaalmaatriks.

Seega saab algse suuremõõtmelise omaväärtusülesande omaväärtusi lähendada tridiagonaalmaatriksi \(T_m\) omaväärtuste arvutamisega.

Seotud teemad