Sari la conținut

Analiză modală

Problema generalizată de valori proprii

Pentru analiza vibrațiilor libere ale unui mediu continuu, structura este discretizată spațial și modelată ca un sistem cu mai multe grade de libertate și mase concentrate, așa cum se arată în Figura 2.3.1. Pentru o problemă de vibrații libere neamortizate, ecuația de guvernare (ecuația de mișcare) este următoarea.

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

Aici, \(u\) este vectorul deplasărilor generalizate, \(M\) este matricea de masă, iar \(K\) este matricea de rigiditate. Fie \(\omega\) frecvența unghiulară proprie, fie \(a\) și \(b\) constante arbitrare care nu sunt simultan nule, iar \(x\) un vector. Se definește funcția

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

Derivata sa de ordinul al doilea este

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

Prin înlocuirea Ecuației \(\eqref{eq:2.3.2}\) și a Ecuației \(\eqref{eq:2.3.3}\) în Ecuația \(\eqref{eq:2.3.1}\), se obține

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

Se obține astfel ecuația de mai sus.

Pentru o vibrație netrivială, \(a \sin \omega t + b \cos \omega t\) nu este identic nul.

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

Prin urmare, relația de mai sus este valabilă. Punând \(\lambda=\omega^2\), se obține

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

Se obține astfel ecuația de mai sus.

Scalarul \(\lambda\) se numește valoare proprie, vectorul \(x\) se numește vector propriu, iar problema exprimată prin Ecuația \(\eqref{eq:2.3.5}\) se numește problemă generalizată de valori proprii.

Frecvența unghiulară proprie \(\omega\) se obține din valoarea proprie \(\lambda=\omega^2\), iar vectorul propriu corespunzător \(x\) reprezintă o formă modală.

Exemplu de sistem cu mai multe grade de libertate pentru vibrații libere neamortizate

Figura 2.3.1 Exemplu de sistem cu mai multe grade de libertate pentru vibrații libere neamortizate

Proprietățile matricelor și ipoteze

Pentru problema generalizată de valori proprii \(Kx=\lambda Mx\) obținută în secțiunea precedentă, acest manual presupune că matricele sunt simetrice. Pentru matrice complexe, aceasta corespunde matricelor hermitice; pentru matrice reale, matricelor simetrice.

Fie \(k_{ij}\) elementul \(ij\) al matricei \(K\). Proprietatea hermitică este exprimată prin

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

ecuația de mai sus, unde \(\bar{k}_{ji}\) este conjugata complexă a lui \(k_{ji}\). Pentru matrice reale, această relație devine \(k_{ij}=k_{ji}\).

O matrice reală simetrică \(H\) este pozitiv definită dacă, pentru orice vector nenul \(x\),

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

este valabilă inegalitatea de mai sus. În acest caz, toate valorile proprii ale lui \(H\) sunt pozitive.

Într-o problemă structurală de valori proprii, matricea de masă \(M\) este tratată în mod obișnuit ca pozitiv definită. Matricea de rigiditate \(K\) poate însă să fie pozitiv semidefinită, în funcție de condițiile de constrângere, și poate avea valori proprii nule corespunzătoare modurilor de corp rigid.

Iterația inversă cu deplasare

În analiza structurală practică prin metoda elementelor finite, în general nu sunt necesare toate valorile proprii; adesea sunt suficiente cel mult câteva valori proprii de ordin inferior. HEC-MW este destinat problemelor de scară mare, pentru care matricele sunt mari și extrem de rare, cu multe elemente nule. Prin urmare, este important să se calculeze eficient valorile proprii ale modurilor de ordin inferior, ținând seama de aceste caracteristici.

Pentru o deplasare \(\sigma\), dacă \(-\sigma\) nu este o valoare proprie și \(K+\sigma M\) este nesingulară, Ecuația \(\eqref{eq:2.3.5}\) poate fi transformată astfel.

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

Această transformare păstrează neschimbat vectorul propriu \(x\) și transformă valoarea proprie \(\lambda\) în \(1/(\lambda+\sigma)\).

În consecință, cu cât \(\lambda\) este mai aproape de \(-\sigma\), cu atât modulul valorii proprii transformate este mai mare. Pentru o problemă structurală de valori proprii, \(\lambda \geq 0\) și \(\sigma \geq 0\), astfel încât cea mai mică valoare proprie este transformată în valoarea proprie cu modulul cel mai mare. Folosind această proprietate și aplicând Ecuației \(\eqref{eq:2.3.8}\) o metodă iterativă care tinde să conveargă mai întâi către valori proprii cu modul mare, valorile proprii de ordin inferior pot fi obținute eficient în ordine crescătoare.

Această metodă se numește iterație inversă cu deplasare.

Pentru analizele cu constrângeri, FrontISTR stabilește \(\sigma = 0\), iar Ecuația \(\eqref{eq:2.3.8}\) devine \(K^{-1} M x = \frac{1}{\lambda} x\), adică iterație inversă fără deplasare. În analiza liber-liber fără constrângeri, \(K\) este singulară deoarece are valori proprii nule corespunzătoare modurilor de corp rigid; atribuirea unei valori pozitive lui \(\sigma\) regularizează \(K+\sigma M\). Valoarea lui \(\sigma\) este specificată prin SIGMA în !EIGEN.

Metoda Lanczos

Motivație (comparație cu metoda Jacobi)

Metoda Jacobi este o metodă clasică bine cunoscută.

Este eficientă atunci când matricea este mică și densă. Totuși, deoarece matricele tratate de HEC-MW sunt mari și rare, metoda Jacobi nu este utilizată; în schimb se folosește metoda iterativă Lanczos.

Algoritm și caracteristici

Propusă de C. Lanczos în anii 1950, această metodă este un algoritm de tridiagonalizare a unei matrice și are următoarele caracteristici.

  • Este o metodă iterativă și permite efectuarea calculului păstrând matricea rară.
  • Operațiile sale constau în principal în produse matrice-vector, ceea ce o face potrivită pentru paralelizare.
  • Este potrivită pentru descompunerea geometrică a domeniului asociată plaselor de elemente finite.
  • Permite calcule eficiente prin limitarea numărului de valori proprii sau a intervalului de moduri care trebuie obținute.

Metoda Lanczos pornește de la un vector inițial, construiește succesiv vectori ortogonali și obține o bază pentru un subspațiu Krylov.

În aritmetica cu precizie finită, erorile de rotunjire pot face ca vectorii să-și piardă ortogonalitatea. Pentru a limita acest efect, implementarea FrontISTR reortogonalizează fiecare vector față de vectorii bazei Lanczos deja obținuți.

Interpretare geometrică (subspațiu Krylov)

Aplicând următoarele transformări de variabile Ecuației \(\eqref{eq:2.3.8}\),

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

problema poate fi rescrisă sub forma

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

Se obține astfel ecuația de mai sus.

Pentru un vector nenul arbitrar \(q_0\),

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

spațiul generat de acești vectori

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

se numește subspațiu Krylov.

Metoda Lanczos construiește succesiv o bază pentru acest subspațiu Krylov.

FrontISTR utilizează următorul produs scalar asociat matricei de masă \(M\)

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

pentru a ortonormaliza baza. Produsul scalar \(\langle x,y\rangle\) și norma \(\|x\|\) prezentate în figurile următoare sunt interpretate în calculele FrontISTR, respectiv, ca acest produs scalar-\(M\) și norma-\(M\) corespunzătoare

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

respectiv.

Aplicați transformarea liniară definită de matricea \(A\) unui vector arbitrar \(q_0\), așa cum se arată în Figura 2.3.2.

Transformarea liniară a lui \(q_0\) prin matricea \(A\)

Figura 2.3.2 Transformarea liniară a lui \(q_0\) prin matricea \(A\)

Vectorul transformat este ortogonalizat în spațiul generat de acesta și de vectorul inițial. Mai precis, se efectuează ortogonalizarea Gram-Schmidt, așa cum se arată în Figura 2.3.3. Fie vectorul rezultat \(r_1\); prin normalizarea acestuia se obține \(q_1\).

Vectorul \(q_1\) ortogonal pe \(q_0\)

Figura 2.3.3 Vectorul \(q_1\) ortogonal pe \(q_0\)

Prin aceeași procedură se obține \(q_2\) din \(q_1\). În acest caz, \(q_2\) este ortogonal atât pe \(q_1\), cât și pe \(q_0\), așa cum se arată în Figura 2.3.4.

Vectorul \(q_2\) ortogonal pe \(q_1\) și \(q_0\)

Figura 2.3.4 Vectorul \(q_2\) ortogonal pe \(q_1\) și \(q_0\)

În acest mod, metoda Lanczos construiește succesiv o bază ortonormală pentru subspațiul Krylov. Teoretic, simetria problemei de valori proprii permite exprimarea acestei iterații printr-o recurență cu trei termeni care utilizează cei mai recenți vectori ai bazei.

Implementarea FrontISTR reortogonalizează însă fiecare vector față de vectorii bazei Lanczos deja obținuți, folosind produsul scalar-\(M\), pentru a limita pierderea ortogonalității cauzată de aritmetica cu precizie finită.

Tridiagonalizare

În iterația Lanczos din FrontISTR, vectorii bazei sunt ortonormalizați în raport cu produsul scalar-\(M\) descris în secțiunea precedentă, astfel încât

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

este valabilă relația de mai sus.

Folosind matricea \(A\) din Ecuația \(\eqref{eq:2.3.10}\), iterația Lanczos teoretică este

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

exprimată prin recurența cu trei termeni de mai sus.

Mai întâi, \(\alpha_i\) se definește astfel.

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

Apoi se definește reziduul provizoriu ca

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

conform relației de mai sus.

Pentru a limita pierderea ortogonalității cauzată de aritmetica cu precizie finită, implementarea FrontISTR reortogonalizează \(\tilde{r}_{i+1}\) față de vectorii bazei Lanczos deja obținuți folosind produsul scalar-\(M\). Dacă \(r_{i+1}\) este reziduul după reortogonalizare, atunci

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

sunt valabile relațiile de mai sus.

Grupați cei \(m\) vectori ai bazei obținuți prin iterația Lanczos în

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

Atunci, după un număr finit de iterații Lanczos,

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

este valabilă relația de mai sus.

Aici, \(e_m\) este vectorul unitate \(m\)-dimensional a cărui componentă de ordin \(m\) este 1, iar celelalte componente sunt nule, și

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

este o matrice tridiagonală simetrică.

Astfel, valorile proprii ale problemei inițiale de scară mare pot fi aproximate prin calcularea valorilor proprii ale matricei tridiagonale \(T_m\).

Subiecte conexe