Pereiti prie turinio

Modalinė analizė

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

Kontinuumo laisvųjų virpesių analizei sritis erdviškai diskretizuojama ir modeliuojama kaip sutelktųjų masių daugelio laisvės laipsnių sistema, parodyta 2.3.1 pav. Neslopinamų laisvųjų virpesių uždavinio valdančioji lygtis (judėjimo lygtis) yra tokia.

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

Čia \(u\) yra apibendrintųjų poslinkių vektorius, \(M\) – masės matrica, o \(K\) – standumo matrica. Tegul savasis kampinis dažnis yra \(\omega\), \(a\), \(b\) ir \(c\) – bet kurios konstantos, 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}\]

Antroji šios išraiškos 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}\]

Įstačius šias išraiškas į lygtį \(\eqref{eq:2.3.1}\), gaunama

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

Taigi gaunama

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

Todėl, jei lygčiai \(\eqref{eq:2.3.5}\) randamas koeficientas \(\lambda = \omega^2\) ir vektorius \(x\), funkcija \(u(t)\) yra lygties \(\eqref{eq:2.3.1}\) sprendinys.

Koeficientas \(\lambda\) vadinamas savąja reikšme, o vektorius \(x\) – savuoju vektoriumi. Jų nustatymo iš lygties \(\eqref{eq:2.3.1}\) uždavinys vadinamas apibendrintuoju savųjų reikšmių uždaviniu.

Neslopinamų laisvųjų virpesių daugelio laisvės laipsnių sistemos pavyzdys

2.3.1 pav. Neslopinamų laisvųjų virpesių daugelio laisvės laipsnių sistemos pavyzdys

Matricų savybės ir prielaidos

Ankstesniame skyriuje gautam apibendrintajam savųjų reikšmių uždaviniui \(K x = \lambda M x\) šiame vadove daromos toliau nurodytos matricų savybių prielaidos. Jomis grindžiamas toliau aprašytų poslinkio atvirkštinės iteracijos ir Lanczos metodų konvergavimas bei taikymo sritis. Kompleksinės matricos transponavimas suprantamas kaip kompleksinis jungtinis transponavimas, o realioji matrica yra simetrinė. Konkrečiai, jei matricos \(K\) komponentė \(ij\) yra \(k_{ij}\), o kompleksinis jungtinis \(k\) žymimas \(\bar{k}\), tuomet

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

galioja šis ryšys.

Šiame vadove laikoma, kad matricos yra simetrinės ir teigiamai apibrėžtos. Teigiamas apibrėžtumas reiškia, kad visos savosios reikšmės yra teigiamos; lygiaverčiai matrica visada tenkina lygtį \(\eqref{eq:2.3.7}\).

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

Poslinkio atvirkštinė iteracija

Baigtinių elementų konstrukcinėje analizėje praktiškai paprastai nereikia visų savųjų reikšmių; daugeliu atvejų pakanka kelių žemiausių. HEC-MW skirtas didelio masto uždaviniams, kurių matricos yra didelės ir labai retosios (turi daug nulinių elementų). Todėl svarbu efektyviai apskaičiuoti žemųjų modų savąsias reikšmes išnaudojant šią savybę.

Tegul \(\sigma\) yra savųjų reikšmių apatinė riba. Tuomet lygtį \(\eqref{eq:2.3.5}\) galima pertvarkyti į matematiškai lygiavertę formą.

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

Šis pertvarkymas skaičiavimui turi šias naudingas savybes.

  1. Modų tvarka apverčiama.
  2. Savosios reikšmės arti \(\rho\) transformuojamos į didžiausias reikšmes.

Praktiniame skaičiavime dažnai pirmiausia gaunamos didžiausios savosios reikšmės. Todėl pagrindinis konvergavimo skaičiavimas taikomas ne lygčiai \(\eqref{eq:2.3.5}\), o lygčiai \(\eqref{eq:2.3.8}\), siekiant pirmiausia gauti savąsias reikšmes arti \(\rho\). Šis metodas vadinamas poslinkio atvirkštine iteracija.

Lanczos metodas

Pasirinkimo priežastis (palyginimas su Jacobi metodu)

Tarp klasikinių metodų gerai žinomas Jacobi metodas.

Jis efektyvus, kai matrica maža ir tanki. Tačiau HEC-MW naudojamos matricos yra didelės ir retosios, todėl Jacobi metodas netaikomas; vietoj jo naudojamas iteracinis Lanczos metodas.

Algoritmas ir savybės

C. Lanczos XX a. šeštajame dešimtmetyje pasiūlytas metodas yra matricos redukavimo į tridiagonalią formą algoritmas, pasižymintis šiomis savybėmis.

  • Tai iteracinis konverguojantis metodas, leidžiantis skaičiavimo metu išlaikyti matricą retąją.
  • Algoritmą daugiausia sudaro matricos ir vektoriaus sandaugos, todėl jis gerai lygiagretinamas.
  • Jis gerai dera su baigtinių elementų tinklų geometriniu sričių skaidymu.
  • Efektyvų skaičiavimą galima pasiekti apribojus ieškomų savųjų reikšmių skaičių ir modų intervalą.

Lanczos metodas pradeda nuo pradinio vektoriaus, nuosekliai generuoja ortogonalius vektorius ir sudaro poerdvio bazę. Teigiama, kad jis yra greitesnis už kitą iteracinį metodą – poerdvio metodą – ir plačiai naudojamas baigtinių elementų programose. Tačiau metodas jautrus skaitinėms paklaidoms: jos gali pažeisti vektorių ortogonalumą ir suardyti skaičiavimą. Todėl būtinos priemonės tokioms skaitinėms paklaidoms kontroliuoti.

Geometrinė interpretacija (Krylov poerdvis)

Lygtyje \(\eqref{eq:2.3.8}\) įvedus šį kintamųjų pakeitimą,

\[ 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 kaip

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

.

Tinkamam vektoriui \(q_0\) pritaikykite tiesinę transformaciją, kurią atvaizduoja matrica \(A\) (žr. 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. Kitaip tariant, atliekama Gram-Schmidt ortogonalizacija, kaip parodyta 2.3.2 pav. Gautą vektorių pažymėkime \(r_1\). Jį normalizavus iki vienetinio ilgio gaunamas \(q_1\) (2.3.3 pav.). Iš \(q_1\) ta pačia procedūra gaunamas \(q_2\). Šiuo momentu \(q_2\) yra ortogonalus ir \(q_1\), ir \(q_0\) (2.3.4 pav.). Tęsiant tą patį skaičiavimą gaunami tarpusavyje ortogonalūs vektoriai iki matricos eilės.

Vektoriui \(q_0\) ortogonalus vektorius: \(q_1\)

2.3.3 pav. Vektoriui \(q_0\) ortogonalus vektorius: \(q_1\)

Vektoriams \(q_1\) ir \(q_0\) ortogonalus vektorius: \(q_2\)

2.3.4 pav. Vektoriams \(q_1\) ir \(q_0\) ortogonalus vektorius: \(q_2\)

Lanczos algoritmas Gram-Schmidt ortogonalizaciją konkrečiai taiko vektorių sekai \(A q_0\), \(A q_1\), \(A q_2\)

arba lygiaverčiai \(A q_0\), \(A^2 q_0\), \(A^3 q_0\), ,\(A^n q_0\).

Ši vektorių seka vadinama Krylov seka, o jos generuojama erdvė – Krylov poerdviu. Kai šioje erdvėje atliekama Gram-Schmidt ortogonalizacija, kiekvieną naują vektorių galima gauti naudojant du paskutinius vektorius. Tai vadinama Lanczos principu.

Tridiagonalizavimas

Ankstesnėje iteracijoje (i+1)-ojo vektoriaus skaičiavimą galima užrašyti taip:

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

čia

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

Matricine forma tai tampa

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

čia

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

Taigi savosios reikšmės gaunamos sprendžiant iš lygties \(\eqref{eq:2.3.13}\) gautos tridiagonalios matricos savųjų reikšmių uždavinį.

Susijusios temos

AI-assisted translation May contain errors Official docs Status