Vai al contenuto

Analisi modale

Problema agli autovalori generalizzato

Per l’analisi delle vibrazioni libere di un continuo, il dominio viene discretizzato spazialmente e modellato come un sistema a più gradi di libertà di masse concentrate, come mostrato nella Figura 2.3.1. Per un problema di vibrazione libera non smorzata, l’equazione governante (equazione del moto) è la seguente.

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

Qui, \(u\) è il vettore degli spostamenti generalizzati, \(M\) è la matrice di massa e \(K\) è la matrice di rigidezza. Sia \(\omega\) la pulsazione naturale, siano \(a\), \(b\) e \(c\) costanti arbitrarie e sia \(x\) un vettore. Si definisca la funzione

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

La derivata seconda di questa espressione è

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

Sostituendo queste espressioni nell’Equazione \(\eqref{eq:2.3.1}\) si ottiene

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

Ovvero,

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

si ottiene.

In altre parole, per l’Equazione \(\eqref{eq:2.3.5}\), se è possibile trovare il coefficiente \(\lambda = \omega^2\) e il vettore \(x\), la funzione \(u(t)\) è una soluzione dell’Equazione \(\eqref{eq:2.3.1}\).

Il coefficiente \(\lambda\) è detto autovalore e il vettore \(x\) autovettore. Il problema di determinarli a partire dall’Equazione \(\eqref{eq:2.3.1}\) è detto problema agli autovalori generalizzato.

Esempio di sistema a più gradi di libertà in vibrazione libera non smorzata

Figura 2.3.1 Esempio di sistema a più gradi di libertà in vibrazione libera non smorzata

Proprietà e ipotesi delle matrici

Per il problema agli autovalori generalizzato \(K x = \lambda M x\) ottenuto nella sezione precedente, questo manuale assume le seguenti proprietà delle matrici. Tali ipotesi sono alla base della convergenza e dell’intervallo di applicabilità dell’iterazione inversa con shift e del metodo di Lanczos descritti di seguito. Per una matrice complessa, la trasposta è la coniugata complessa, mentre una matrice reale è simmetrica. In particolare, per la matrice \(K\), se il suo componente \(ij\) è \(k_{ij}\) e il coniugato complesso di \(k\) è indicato con \(\bar{k}\), allora

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

vale la seguente relazione.

In questo manuale si assume che le matrici siano simmetriche e definite positive. Definita positiva significa che tutti gli autovalori sono positivi; equivalentemente, la matrice soddisfa sempre l’Equazione \(\eqref{eq:2.3.7}\) riportata di seguito.

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

Iterazione inversa con shift

Nell’analisi strutturale agli elementi finiti, in pratica non sono generalmente necessari tutti gli autovalori; in molti casi sono sufficienti soltanto alcuni autovalori di ordine basso. HEC-MW è destinato a problemi di grande scala, nei quali le matrici sono grandi e molto sparse (contengono numerosi elementi nulli). È pertanto importante calcolare in modo efficiente gli autovalori dei modi di ordine basso tenendo conto di questa proprietà.

Sia \(\sigma\) il limite inferiore degli autovalori. L’Equazione \(\eqref{eq:2.3.5}\) può quindi essere trasformata nella seguente forma matematicamente equivalente.

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

Questa trasformazione presenta le seguenti proprietà utili per il calcolo.

  1. L’ordinamento dei modi viene invertito.
  2. Gli autovalori vicini a \(\rho\) vengono mappati sui valori più grandi.

Nel calcolo effettivo, spesso vengono ottenuti per primi gli autovalori più grandi. Pertanto, anziché all’Equazione \(\eqref{eq:2.3.5}\), il calcolo principale di convergenza viene applicato all’Equazione \(\eqref{eq:2.3.8}\), con l’obiettivo di ottenere per primi gli autovalori vicini a \(\rho\). Questa tecnica è detta iterazione inversa con shift.

Metodo di Lanczos

Motivazione dell’uso (confronto con il metodo di Jacobi)

Tra i metodi classici, il metodo di Jacobi è ben noto.

Questo metodo è efficace quando la matrice è piccola e densa. Tuttavia, poiché le matrici gestite da HEC-MW sono grandi e sparse, il metodo di Jacobi non viene utilizzato; viene invece impiegato il metodo iterativo di Lanczos.

Algoritmo e caratteristiche

Proposto da C. Lanczos negli anni 1950, questo metodo è un algoritmo per ridurre una matrice in forma tridiagonale e presenta le seguenti caratteristiche.

  • È un metodo iterativo convergente e consente di procedere mantenendo la matrice sparsa.
  • L’algoritmo consiste principalmente in prodotti matrice-vettore ed è particolarmente adatto alla parallelizzazione.
  • È particolarmente adatto alla decomposizione geometrica del dominio associata alle mesh agli elementi finiti.
  • È possibile eseguire calcoli efficienti limitando il numero di autovalori e l’intervallo dei modi da ottenere.

Il metodo di Lanczos parte da un vettore iniziale, genera successivamente vettori ortogonali e costruisce una base per un sottospazio. Si ritiene che sia più veloce del metodo del sottospazio, un altro metodo iterativo, ed è ampiamente utilizzato nei programmi agli elementi finiti. Tuttavia, questo metodo è sensibile agli errori numerici, che possono distruggere l’ortogonalità dei vettori e causare l’interruzione del calcolo. Sono quindi essenziali misure contro tali errori numerici.

Interpretazione geometrica (sottospazio di Krylov)

Introducendo il seguente cambio di variabili nell’Equazione \(\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}\]

il problema può essere riscritto come

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

si ottiene.

Per un vettore opportuno \(q_0\), applicare la trasformazione lineare rappresentata dalla matrice \(A\) (vedere Figura 2.3.2).

Trasformazione lineare mediante la matrice \(A\) di \(q_0\)

Figura 2.3.2 Trasformazione lineare mediante la matrice \(A\) di \(q_0\)

Il vettore trasformato viene ortogonalizzato nello spazio generato insieme al vettore originale. In altre parole, viene eseguita l’ortogonalizzazione di Gram-Schmidt come illustrato nella Figura 2.3.2. Sia \(r_1\) il vettore risultante. Normalizzandolo a lunghezza unitaria si ottiene \(q_1\) (Figura 2.3.3). A partire da \(q_1\), ottenere \(q_2\) con la stessa procedura. A questo punto, \(q_2\) è ortogonale sia a \(q_1\) sia a \(q_0\) (Figura 2.3.4). Proseguendo lo stesso calcolo si ottengono vettori mutuamente ortogonali fino all’ordine della matrice.

Vettore ortogonale a \(q_0\): \(q_1\)

Figura 2.3.3 Vettore ortogonale a \(q_0\): \(q_1\)

Vettore ortogonale a \(q_1\) e \(q_0\): \(q_2\)

Figura 2.3.4 Vettore ortogonale a \(q_1\) e \(q_0\): \(q_2\)

In particolare, l’algoritmo di Lanczos si applica alla successione di vettori \(A q_0\), \(A q_1\), \(A q_2\)

o, in modo equivalente, \(A q_0\), \(A^2 q_0\), \(A^3 q_0\), ,\(A^n q_0\)

mediante ortogonalizzazione di Gram-Schmidt. Questa successione di vettori è detta successione di Krylov e lo spazio da essa generato è detto sottospazio di Krylov. Quando in questo spazio viene eseguita l’ortogonalizzazione di Gram-Schmidt, ogni nuovo vettore può essere ottenuto utilizzando i due vettori più recenti. Questo è detto principio di Lanczos.

Tridiagonalizzazione

Nell’iterazione sopra descritta, il calcolo del vettore (i+1)-esimo può essere scritto come

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

dove

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

Usando la notazione matriciale, ciò diventa

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

dove

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

Pertanto, gli autovalori si ottengono risolvendo il problema agli autovalori per la matrice tridiagonale ottenuta dall’Equazione \(\eqref{eq:2.3.13}\).

Argomenti correlati