Pereiti prie turinio

Modalinė analizė

Apibendrintasis savųjų reikšmių uždavinys

Analizuojant kontinuumo laisvuosius virpesius, konstrukcija erdviškai diskretizuojama ir modeliuojama kaip daugelio laisvės laipsnių sistema su sutelktosiomis masėmis, kaip parodyta 2.3.1 pav. Neslopinamų laisvųjų virpesių uždavinio pagrindinė lygtis (judėjimo lygtis) yra tokia.

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

Čia \(u\) yra apibendrintųjų poslinkių vektorius, \(M\) — masės matrica, o \(K\) — standumo matrica. Tegu \(\omega\) yra savasis kampinis dažnis, \(a\) ir \(b\) — laisvai pasirinktos konstantos, kurios nėra abi lygios nuliui, o \(x\) — vektorius. Apibrėžkime funkciją

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

Jos antroji išvestinė yra

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

Įstatę lygtį \(\eqref{eq:2.3.2}\) ir lygtį \(\eqref{eq:2.3.3}\) į lygtį \(\eqref{eq:2.3.1}\), gauname

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

Taip gaunama pirmiau pateikta lygtis.

Netrivialių virpesių atveju \(a \sin \omega t + b \cos \omega t\) nėra tapatybiškai lygu nuliui.

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

Todėl gaunamas pirmiau pateiktas sąryšis. Paėmę \(\lambda=\omega^2\), gauname

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

Taip gaunama pirmiau pateikta lygtis.

Skaliaras \(\lambda\) vadinamas savąja reikšme, vektorius \(x\) — savuoju vektoriumi, o lygtimi \(\eqref{eq:2.3.5}\) išreikštas uždavinys — apibendrintuoju savųjų reikšmių uždaviniu.

Savasis kampinis dažnis \(\omega\) gaunamas iš savosios reikšmės \(\lambda=\omega^2\), o atitinkamas savasis vektorius \(x\) nusako virpesių formą.

Daugelio laisvės laipsnių sistemos pavyzdys esant neslopinamiems laisviesiems virpesiams

2.3.1 pav. Daugelio laisvės laipsnių sistemos pavyzdys esant neslopinamiems laisviesiems virpesiams

Matricų savybės ir prielaidos

Ankstesniame skyriuje gautam apibendrintajam savųjų reikšmių uždaviniui \(Kx=\lambda Mx\) šiame vadove daroma prielaida, kad matricos yra simetrinės. Kompleksinių matricų atveju tai atitinka ermitines matricas, o realiųjų matricų atveju — simetrines matricas.

Tegu \(k_{ij}\) yra matricos \(K\) elementas \(ij\). Ermitiškumo savybė yra

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

išreikšta pirmiau pateikta lygtimi, kur \(\bar{k}_{ji}\) yra skaičiaus \(k_{ji}\) kompleksiškai jungtinis skaičius. Realiųjų matricų atveju šis sąryšis tampa \(k_{ij}=k_{ji}\).

Realioji simetrinė matrica \(H\) yra teigiamai apibrėžta, jei kiekvienam nenuliniam vektoriui \(x\)

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

galioja pirmiau pateikta nelygybė. Tokiu atveju visos matricos \(H\) savosios reikšmės yra teigiamos.

Konstrukcijos savųjų reikšmių uždavinyje masės matrica \(M\) paprastai laikoma teigiamai apibrėžta. Tačiau standumo matrica \(K\), priklausomai nuo apribojimų, gali būti teigiamai pusiau apibrėžta ir turėti nulines savąsias reikšmes, atitinkančias standaus kūno modas.

Poslinkio atvirkštinė iteracija

Praktinėje konstrukcijų analizėje baigtinių elementų metodu paprastai nereikia visų savųjų reikšmių; dažnai pakanka daugiausia kelių žemesniosios eilės savųjų reikšmių. HEC-MW skirtas didelio masto uždaviniams, kurių matricos yra didelės ir ypač retos, turinčios daug nulinių elementų. Todėl svarbu efektyviai apskaičiuoti žemesniosios eilės modų savąsias reikšmes, atsižvelgiant į šias savybes.

Esant poslinkiui \(\sigma\), jei \(-\sigma\) nėra savoji reikšmė ir \(K+\sigma M\) yra neišsigimusi matrica, lygtį \(\eqref{eq:2.3.5}\) galima pertvarkyti taip.

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

Ši transformacija palieka savąjį vektorių \(x\) nepakitusį ir atvaizduoja savąją reikšmę \(\lambda\) į \(1/(\lambda+\sigma)\).

Taigi kuo \(\lambda\) yra arčiau \(-\sigma\), tuo didesnė yra transformuotos savosios reikšmės absoliučioji vertė. Konstrukcijos savųjų reikšmių uždavinyje \(\lambda \geq 0\) ir \(\sigma \geq 0\), todėl mažiausia savoji reikšmė atvaizduojama į didžiausią absoliučiąją vertę turinčią savąją reikšmę. Pasinaudojus šia savybe ir lygčiai \(\eqref{eq:2.3.8}\) pritaikius iteracinį metodą, kuris linkęs pirmiausia konverguoti į didelę absoliučiąją vertę turinčias savąsias reikšmes, žemesniosios eilės savąsias reikšmes galima efektyviai gauti didėjimo tvarka.

Šis metodas vadinamas atvirkštine iteracija su poslinkiu.

Analizėms su apribojimais FrontISTR nustato \(\sigma = 0\), ir lygtis \(\eqref{eq:2.3.8}\) tampa \(K^{-1} M x = \frac{1}{\lambda} x\), t. y. atvirkštine iteracija be poslinkio. Atliekant laisvo–laisvo kūno analizę be apribojimų, \(K\) yra išsigimusi, nes turi nulines savąsias reikšmes, atitinkančias standaus kūno modas; parametrui \(\sigma\) suteikus teigiamą vertę, matrica \(K+\sigma M\) regularizuojama. Parametro \(\sigma\) vertė nurodoma SIGMA parametru komandoje !EIGEN.

Lanczos metodas

Pasirinkimo priežastis (palyginimas su Jacobi metodu)

Jacobi metodas yra gerai žinomas klasikinis metodas.

Jis veiksmingas, kai matrica yra maža ir tanki. Tačiau, kadangi HEC-MW apdorojamos matricos yra didelės ir retos, Jacobi metodas netaikomas; vietoje jo naudojamas iteracinis Lanczos metodas.

Algoritmas ir savybės

Šis metodas, kurį C. Lanczos pasiūlė XX a. šeštajame dešimtmetyje, yra matricos tridiagonalizavimo algoritmas, pasižymintis šiomis savybėmis.

  • Tai iteracinis metodas, leidžiantis skaičiuoti išlaikant matricą retą.
  • Jo operacijas daugiausia sudaro matricos ir vektoriaus sandaugos, todėl jis gerai tinka lygiagretinti.
  • Jis gerai tinka geometrinei srities dekompozicijai, susijusiai su baigtinių elementų tinklais.
  • Jis leidžia efektyviai skaičiuoti apribojant gaunamų savųjų reikšmių skaičių arba modų intervalą.

Lanczos metodas pradedamas nuo pradinio vektoriaus, nuosekliai konstruojami ortogonalieji vektoriai ir gaunama Krylov poerdvio bazė.

Baigtinio tikslumo aritmetikoje apvalinimo paklaidos gali lemti vektorių ortogonalumo praradimą. Siekdama sumažinti šį poveikį, FrontISTR realizacija kiekvieną vektorių pakartotinai ortogonalizuoja jau gautų Lanczos bazės vektorių atžvilgiu.

Geometrinė interpretacija (Krylov poerdvis)

Lygčiai \(\eqref{eq:2.3.8}\) pritaikius šias kintamųjų transformacijas,

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

uždavinį galima perrašyti taip

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

Taip gaunama pirmiau pateikta lygtis.

Bet kuriam nenuliniam vektoriui \(q_0\)

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

šių vektorių sudaryta erdvė

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

vadinama Krylov poerdviu.

Lanczos metodas nuosekliai konstruoja šio Krylov poerdvio bazę.

FrontISTR naudoja šią su masės matrica \(M\) susietą skaliarinę sandaugą

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

bazei ortonormuoti. Tolesniuose paveiksluose pateiktos skaliarinė sandauga \(\langle x,y\rangle\) ir norma \(\|x\|\) FrontISTR skaičiavimuose interpretuojamos kaip ši \(M\)-skaliarinė sandauga ir atitinkama \(M\)-norma

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

atitinkamai.

Bet kuriam vektoriui \(q_0\) pritaikoma matricos \(A\) apibrėžta tiesinė transformacija, kaip parodyta 2.3.2 pav.

Vektoriaus \(q_0\) tiesinė transformacija matrica \(A\)

2.3.2 pav. Vektoriaus \(q_0\) tiesinė transformacija matrica \(A\)

Transformuotas vektorius ortogonalizuojamas erdvėje, kurią jis sudaro kartu su pradiniu vektoriumi. Tiksliau, atliekamas Gram-Schmidt ortogonalizavimas, kaip parodyta 2.3.3 pav. Tegu gautas vektorius yra \(r_1\); jį normalizavus gaunamas \(q_1\).

Vektorius \(q_1\), ortogonalus vektoriui \(q_0\)

2.3.3 pav. Vektorius \(q_1\), ortogonalus vektoriui \(q_0\)

Ta pačia procedūra iš \(q_1\) gaunamas \(q_2\). Čia \(q_2\) yra ortogonalus ir \(q_1\), ir \(q_0\), kaip parodyta 2.3.4 pav.

Vektorius \(q_2\), ortogonalus vektoriams \(q_1\) ir \(q_0\)

2.3.4 pav. Vektorius \(q_2\), ortogonalus vektoriams \(q_1\) ir \(q_0\)

Taip Lanczos metodas nuosekliai konstruoja Krylov poerdvio ortonormuotą bazę. Teoriškai savųjų reikšmių uždavinio simetrija leidžia šią iteraciją išreikšti trijų narių rekursiniu sąryšiu, apimančiu naujausius bazės vektorius.

Tačiau FrontISTR realizacija kiekvieną vektorių pakartotinai ortogonalizuoja jau gautų Lanczos bazės vektorių atžvilgiu, naudodama \(M\)-skaliarinę sandaugą, kad sumažintų dėl baigtinio tikslumo aritmetikos prarandamą ortogonalumą.

Tridiagonalizavimas

FrontISTR Lanczos iteracijoje bazės vektoriai ortonormuojami ankstesniame skyriuje aprašytos \(M\)-skaliarinės sandaugos atžvilgiu, todėl

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

galioja pirmiau pateiktas sąryšis.

Naudojant lygties \(\eqref{eq:2.3.10}\) matricą \(A\), teorinė Lanczos iteracija yra

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

išreikšta pirmiau pateiktu trijų narių rekursiniu sąryšiu.

Pirmiausia \(\alpha_i\) apibrėžiama taip.

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

Tada preliminari liekana apibrėžiama kaip

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

parodyta pirmiau.

Siekdama sumažinti dėl baigtinio tikslumo aritmetikos prarandamą ortogonalumą, FrontISTR realizacija pakartotinai ortogonalizuoja \(\tilde{r}_{i+1}\) jau gautų Lanczos bazės vektorių atžvilgiu, naudodama \(M\)-skaliarinę sandaugą. Jei \(r_{i+1}\) yra liekana po pakartotinio ortogonalizavimo, tada

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

galioja pirmiau pateikti sąryšiai.

Lanczos iteracija gautus \(m\) bazės vektorių sujunkime į

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

Tada po baigtinio Lanczos iteracijų skaičiaus

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

galioja pirmiau pateiktas sąryšis.

Čia \(e_m\) yra \(m\)-matis vienetinis vektorius, kurio \(m\)-oji komponentė yra 1, o visos kitos komponentės yra lygios nuliui, ir

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

yra simetrinė tridiagonalė matrica.

Taigi pradinio didelio masto savųjų reikšmių uždavinio savąsias reikšmes galima aproksimuoti apskaičiuojant tridiagonalės matricos \(T_m\) savąsias reikšmes.

Susijusios temos