Hyppää sisältöön

Moodianalyysi

Yleistetty ominaisarvo-ongelma

Jatkumon vapaan värähtelyn analyysia varten rakenne diskretoidaan avaruudellisesti ja mallinnetaan usean vapausasteen järjestelmänä, jossa on keskitetyt massat, kuten kuvassa 2.3.1 esitetään. Vaimenemattoman vapaan värähtelyn hallitseva yhtälö (liikeyhtälö) on seuraava.

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

Tässä \(u\) on yleistetty siirtymävektori, \(M\) on massamatriisi ja \(K\) on jäykkyysmatriisi. Olkoon \(\omega\) ominaiskulmataajuus, \(a\) ja \(b\) mielivaltaisia vakioita, jotka eivät ole samanaikaisesti nollia, ja \(x\) vektori. Määritellään funktio

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

Sen toinen derivaatta on

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

Kun yhtälöt \(\eqref{eq:2.3.2}\) ja \(\eqref{eq:2.3.3}\) sijoitetaan yhtälöön \(\eqref{eq:2.3.1}\), saadaan

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

Tästä saadaan yllä oleva yhtälö.

Ei-triviaalissa värähtelyssä \(a \sin \omega t + b \cos \omega t\) ei ole identtisesti nolla, joten saadaan

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

Näin saadaan yllä oleva yhtälö. Kun asetetaan \(\lambda=\omega^2\), saadaan

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

Tästä saadaan yllä oleva yhtälö.

Skalaaria \(\lambda\) kutsutaan ominaisarvoksi, vektoria \(x\) ominaisvektoriksi ja yhtälön \(\eqref{eq:2.3.5}\) esittämää ongelmaa yleistetyksi ominaisarvo-ongelmaksi.

Ominaiskulmataajuus \(\omega\) saadaan ominaisarvosta \(\lambda=\omega^2\), ja vastaava ominaisvektori \(x\) esittää värähtelymuotoa.

Esimerkki usean vapausasteen järjestelmästä vaimenemattomassa vapaassa värähtelyssä

Kuva 2.3.1 Esimerkki usean vapausasteen järjestelmästä vaimenemattomassa vapaassa värähtelyssä

Matriisien ominaisuudet ja oletukset

Edellisessä osassa saadussa yleistetyssä ominaisarvo-ongelmassa \(Kx=\lambda Mx\) tässä käsikirjassa oletetaan matriisien olevan symmetrisiä. Kompleksimatriiseille tämä tarkoittaa hermiittisiä matriiseja ja reaalimatriiseille symmetrisiä matriiseja.

Olkoon \(k_{ij}\) matriisin \(K\) alkio \(ij\). Hermiittisyys ilmaistaan muodossa

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

missä \(\bar{k}_{ji}\) on alkion \(k_{ji}\) kompleksikonjugaatti. Reaalimatriiseille tämä relaatio on \(k_{ij}=k_{ji}\).

Reaalinen symmetrinen matriisi \(H\) on positiivisesti definiitti, jos jokaiselle nollasta poikkeavalle vektorille \(x\) pätee

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

Tällöin kaikki matriisin \(H\) ominaisarvot ovat positiivisia.

Rakenteellisessa ominaisarvo-ongelmassa massamatriisia \(M\) käsitellään tavallisesti positiivisesti definiittinä. Jäykkyysmatriisi \(K\) voi kuitenkin reunaehdoista riippuen olla positiivisesti semidefiniitti, ja sillä voi olla jäykän kappaleen moodeja vastaavia nollaominaisarvoja.

Siirretty käänteisiterointi

Käytännön elementtimenetelmään perustuvassa rakenneanalyysissa kaikkia ominaisarvoja ei yleensä tarvita; usein riittää enintään muutama alimman kertaluvun ominaisarvo. HEC-MW on tarkoitettu suurikokoisiin ongelmiin, joissa matriisit ovat suuria ja erittäin harvoja ja joissa on paljon nolla-alkioita. Siksi on tärkeää laskea alimman kertaluvun moodien ominaisarvot tehokkaasti nämä ominaisuudet huomioon ottaen.

Kun siirto on \(\sigma\), jos \(-\sigma\) ei ole ominaisarvo ja \(K+\sigma M\) on epäsingulaarinen, yhtälö \(\eqref{eq:2.3.5}\) voidaan muuntaa seuraavasti.

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

Tämä muunnos säilyttää ominaisvektorin \(x\) muuttumattomana ja kuvaa ominaisarvon \(\lambda\) arvoksi \(1/(\lambda+\sigma)\).

Niinpä mitä lähempänä \(\lambda\) on arvoa \(-\sigma\), sitä suurempi muunnetun ominaisarvon itseisarvo on. Rakenteellisessa ominaisarvo-ongelmassa \(\lambda \geq 0\) ja \(\sigma \geq 0\), joten pienin ominaisarvo kuvautuu itseisarvoltaan suurimmaksi ominaisarvoksi. Tätä ominaisuutta hyödyntämällä ja soveltamalla yhtälöön \(\eqref{eq:2.3.8}\) iteratiivista menetelmää, joka pyrkii konvergoitumaan ensin itseisarvoltaan suuriin ominaisarvoihin, alimman kertaluvun ominaisarvot voidaan määrittää tehokkaasti nousevassa järjestyksessä.

Tätä menetelmää kutsutaan siirretyksi käänteisiteroinniksi.

Rajoitteita sisältävissä analyyseissa FrontISTR asettaa \(\sigma = 0\), jolloin yhtälöstä \(\eqref{eq:2.3.8}\) tulee \(K^{-1} M x = \frac{1}{\lambda} x\), eli kyseessä on siirtämätön käänteisiterointi. Rajoittamattomassa vapaa–vapaa-analyysissa \(K\) on singulaarinen, koska sillä on jäykän kappaleen moodeja vastaavia nollaominaisarvoja; positiivisen arvon antaminen muuttujalle \(\sigma\) regularisoi matriisin \(K+\sigma M\). Arvo \(\sigma\) määritetään !EIGEN-komennon SIGMA-parametrilla.

Lanczosin menetelmä

Perustelu (vertailu Jacobin menetelmään)

Jacobin menetelmä on tunnettu klassinen menetelmä.

Se on tehokas, kun matriisi on pieni ja tiheä. Koska HEC-MW:n käsittelemät matriisit ovat kuitenkin suuria ja harvoja, Jacobin menetelmää ei käytetä, vaan sen sijaan käytetään iteratiivista Lanczosin menetelmää.

Algoritmi ja ominaisuudet

C. Lanczosin 1950-luvulla esittämä menetelmä on matriisin kolmidiagonalisointialgoritmi, jolla on seuraavat ominaisuudet.

  • Se on iteratiivinen menetelmä, ja laskenta voidaan suorittaa säilyttäen matriisin harva rakenne.
  • Sen operaatiot koostuvat pääasiassa matriisi–vektori-tuloista, joten se soveltuu hyvin rinnakkaistamiseen.
  • Se soveltuu hyvin elementtiverkkoihin liittyvään geometriseen aluejakoon.
  • Se mahdollistaa tehokkaan laskennan rajoittamalla määritettävien ominaisarvojen määrää tai moodialuetta.

Lanczosin menetelmä lähtee alkuvektorista, muodostaa peräkkäin ortogonaalisia vektoreita ja tuottaa kannan Krylov-aliavaruudelle.

Äärellisen tarkkuuden aritmetiikassa pyöristysvirheet voivat aiheuttaa vektorien ortogonaalisuuden menetyksen. Tämän vaikutuksen pienentämiseksi FrontISTR:n toteutus uudelleenortogonalisoi jokaisen vektorin jo saatuihin Lanczos-kantavektoreihin nähden.

Geometrinen tulkinta (Krylov-aliavaruus)

Kun yhtälöön \(\eqref{eq:2.3.8}\) sovelletaan seuraavia muuttujamuunnoksia,

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

ongelma voidaan kirjoittaa muotoon

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

Tästä saadaan yllä oleva yhtälö.

Mielivaltaiselle nollasta poikkeavalle vektorille \(q_0\)

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

näiden vektorien virittämää avaruutta

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

kutsutaan Krylov-aliavaruudeksi.

Lanczosin menetelmä muodostaa peräkkäin kannan tälle Krylov-aliavaruudelle.

FrontISTR käyttää seuraavaa massamatriisiin \(M\) liittyvää sisätuloa

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

kannan ortonormalisointiin. Seuraavissa kuvissa esitetyt sisätulo \(\langle x,y\rangle\) ja normi \(\|x\|\) tulkitaan FrontISTR-laskennassa vastaavasti \(M\)-sisätuloksi ja sitä vastaavaksi \(M\)-normiksi

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

edellä esitetyllä tavalla.

Sovelletaan matriisin \(A\) määrittämää lineaarimuunnosta mielivaltaiseen vektoriin \(q_0\), kuten kuvassa 2.3.2 esitetään.

Vektorin \(q_0\) lineaarimuunnos matriisilla \(A\)

Kuva 2.3.2 Vektorin \(q_0\) lineaarimuunnos matriisilla \(A\)

Muunnettu vektori ortogonalisoidaan sen ja alkuperäisen vektorin virittämässä avaruudessa. Tarkemmin sanoen suoritetaan Gram–Schmidt-ortogonalisointi kuvan 2.3.3 mukaisesti. Merkitään saatua vektoria \(r_1\):llä; sen normalisointi antaa vektorin \(q_1\).

Vektoria \(q_0\) vastaan ortogonaalinen vektori \(q_1\)

Kuva 2.3.3 Vektoria \(q_0\) vastaan ortogonaalinen vektori \(q_1\)

Samalla menettelyllä saadaan \(q_1\):stä \(q_2\). Tässä \(q_2\) on ortogonaalinen sekä \(q_1\):tä että \(q_0\):aa vastaan, kuten kuvassa 2.3.4 esitetään.

Sekä vektoria \(q_1\) että vektoria \(q_0\) vastaan ortogonaalinen vektori \(q_2\)

Kuva 2.3.4 Sekä vektoria \(q_1\) että vektoria \(q_0\) vastaan ortogonaalinen vektori \(q_2\)

Näin Lanczosin menetelmä muodostaa peräkkäin ortonormaalin kannan Krylov-aliavaruudelle. Teoriassa ominaisarvo-ongelman symmetria mahdollistaa tämän iteroinnin esittämisen kolmitermisenä rekursiona, joka sisältää viimeisimmät kantavektorit.

FrontISTR:n toteutus kuitenkin uudelleenortogonalisoi jokaisen vektorin jo saatuihin Lanczos-kantavektoreihin nähden käyttäen \(M\)-sisätuloa, jotta äärellisen tarkkuuden aritmetiikan aiheuttama ortogonaalisuuden menetys voidaan estää.

Kolmidiagonalisointi

FrontISTR:n Lanczos-iteroinnissa kantavektorit ortonormalisoidaan edellisessä osassa kuvatun \(M\)-sisätulon suhteen, joten

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

yllä oleva relaatio pätee.

Kun käytetään yhtälön \(\eqref{eq:2.3.10}\) matriisia \(A\), teoreettinen Lanczos-iterointi voidaan

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

esittää yllä olevana kolmitermisenä rekursiona.

Ensin \(\alpha_i\) määritellään seuraavasti.

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

Täten kerroin määritellään, ja seuraavaksi alustava residuaali asetetaan muotoon

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

edellä esitetyllä tavalla.

Äärellisen tarkkuuden aritmetiikan aiheuttaman ortogonaalisuuden menetyksen pienentämiseksi FrontISTR:n toteutus uudelleenortogonalisoi vektorin \(\tilde{r}_{i+1}\) jo saatuihin Lanczos-kantavektoreihin nähden käyttäen \(M\)-sisätuloa. Jos \(r_{i+1}\) on uudelleenortogonalisoinnin jälkeinen residuaali, saadaan

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

Näin saadaan yllä olevat relaatiot.

Kootaan Lanczos-iteroinnilla saadut \(m\) kantavektoria matriisiksi

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

Tällöin äärellisen Lanczos-iterointimäärän jälkeen

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

yllä oleva relaatio pätee.

Tässä \(e_m\) on \(m\)-ulotteinen yksikkövektori, jonka \(m\):s komponentti on 1 ja muut komponentit ovat nollia, ja

\[\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 symmetrinen kolmidiagonaalinen matriisi.

Näin alkuperäisen suuren ominaisarvo-ongelman ominaisarvoja voidaan approksimoida laskemalla kolmidiagonaalisen matriisin \(T_m\) ominaisarvot.

Liittyvät aiheet