3. Calculs modaux

3.1. Calcul des modes propres réels

Les modes propres apportent une grande compréhension physique du système considéré. Pour les obtenir, on considère le système conservatif, sans non-linéarité, ni chargement extérieur :

(1)\[\mathcal{M} \ddot{u}(t) + \mathcal{K} u(t) = 0\]

Cette équation se résout en injectant dans l'équation précédente :

(2)\[u(t) = \operatorname{Re} \left( \varphi \operatorname{e}^{\boldsymbol{i} \omega t} \right)\]

ce qui amène au problème aux valeurs propres :

(3)\[\left[ \mathcal{K} - \omega^2 \mathcal{M} \right] \varphi = 0\]

où l'on a omis par les conditions aux limites évoquées précédemment.

Ce type de système est résolu en pratique dans Cast3M par l'opérateur VIBR (notice de VIBR). Ce dernier fournit les modes \((\varphi_i,f_i)\)\(i=1..m\), la déformée modale est normalisée pour vérifier \(\max \left( \varphi_i \right) = 1\) et la fréquence est donnée en Hertz : \(f_i = \omega_i / 2 \pi\).

On rappelle que la base modale vérifie notamment :

(4)\[\begin{split}\varphi_i^T \mathcal{K} \varphi_j &= \begin{cases} k_i & \text{si } \, i = j \\ 0 & \text{sinon} \end{cases} \\ \varphi_i^T \mathcal{M} \varphi_j &= \begin{cases} m_i & \text{si } \, i = j \\ 0 & \text{sinon} \end{cases} \\ \omega_i &= \sqrt{\frac{k_i}{m_i}}\end{split}\]

Plusieurs algorithmes de résolution de ce système aux valeurs propres ont été implémentées au fil des années :

  • 'IRAM' : Implictly Restarted Arnoldi Method. Basé sur la bibliothèque Arpack, il s'avère rapide et robuste mais ne dispose pas de vérification sur la complétude du spectre à ce jour.

  • 'SIMU' : Lanczos. Ré-écrit dans les années 2010 avec des re-démarrages explicites, il est généralement aussi rapide que le précédent.

  • 'PROC' : Puissance inverse ou itérations sur sous-espace. Il s'agit probablement de l'algorithme le plus robuste, mais peut s'avérer lent lorsque la taille du problème augmente.

  • 'INTE' : Bisection emboitée. Algorithme le plus ancien, basé sur une recherche préalable des zéros du déterminant, il peut aussi être très lent car nécessitant un grand nombre de factorisations de matrice.

3.2. Synthèse modale

On dispose ainsi d'une nouvelle base orthonormée \([\varphi] = [ ... \varphi_i ... ]\) pour les produits scalaires basés sur \(\mathcal{M}\) et \(\mathcal{K}\) avec toutes les bonnes propriétés mathématiques habituelles.

Généralement, seuls les premiers membres (les modes basses fréquences) contribuent de manière non négligeable à la solution vibratoire et on approxime :

(5)\[\begin{split} u(x,t) &\simeq \sum_{i=1..m}^{} \varphi_i(x) q_i (t) \\ u(t) &\simeq \left[ \varphi \right] \cdot q(t)\end{split}\]

On a ainsi tout intérêt à projeter le problème de départ sur cette base tronquée à l'ordre \(m\) :

(6)\[{M} \ddot{q}(t) + {C} \dot{q}(t) + {K} q(t) = {F}^\text{ext}(t) + {F}^\text{nl}(u,\dot{u})\]

où les opérations de projection des matrices et vecteurs sont réalisées par l'opérateur PJBA (notice de PJBA) :

(7)\[\begin{split}M &= [\varphi]^T \cdot \mathcal{M} \cdot [\varphi] = \operatorname{diag}(m_i) \\ K &= [\varphi]^T \cdot \mathcal{K} \cdot [\varphi] = \operatorname{diag}(k_i) \\ C &= [\varphi]^T \cdot \mathcal{C} \cdot [\varphi] \\ F &= [\varphi]^T \cdot \mathcal{F}\end{split}\]

Très souvent, l'amortissement est mal connu et on se limite à un amortissement modal (sans couplage entre mode) : \({C} = \operatorname{diag}(c_i) = 2 m_i \omega_i \xi_i\).

On parvient à cette forme :

  • en identifiant (expérimentalement) directement les amortissements modaux \(\xi_i\),

  • ou en utilisant un amortissement de Rayleigh : \(\mathcal{C} = a \mathcal{M} + b \mathcal{K}\) qui conduit à : \(\xi_i = \frac{a}{2 \omega_i} + \frac{b \omega_i}{2}\)

Ainsi, les termes de gauche de l'équation de la dynamique constitue un système découplé :

(8)\[\begin{split}m_i \ddot{q}_i(t) + c_i \dot{q}_i(t) + k_i q_i(t) &= f_i(t) \\ \ddot{q}_i(t) + 2 \omega_i \xi_i \dot{q}_i(t) + \omega_i^2 q_i(t) &= \frac{1}{m_i} f_i(t)\end{split}\]

L'opération réciproque de recombinaison modale est quant à elle réalisée par les opérateurs RECO (notice de RECO) et EVOL 'RECO' (notice de EVOL 'RECO').

3.3. Sous-structuration

L'utilisation de la base des modes propres réels permet de réduire efficacement la taille du système avant, par exemple, la résolution du problème complexe ou non-linéaire. Cependant, ce choix d'approximation peut parfois être mal adapté, en présence d'une non-linéarité ou d'un amortissement localisé par exemple.

On peut alors avoir recours à des méthodes de sous-structuration. Pour celle dite à interfaces bloquée, le principe consiste à :

  1. Identifier des sous-structures élémentaires \(k = \{1 ...\}\) avec des interfaces de cinématique minimale.

  2. Calculer pour chaque sous-structure \(k\) une base de modes propres \(\varphi^\text{VIBR}_k\) et de solutions statiques \(\varphi^\text{RESO}_k\) obtenues en imposant un déplacement unitaire pour chaque ddl de l'interface.

  3. Assembler ces vecteurs afin de constituer un espace de projection pour le problème de départ.

Le cas-test dyna14 constitue un exemple élémentaire d'utilisation.

TODO : ajouter un autre cas d'utilisation plus intéressant.

3.4. Calcul des modes propres complexes

Si \(\mathcal{M}\) ou \(\mathcal{K}\) n'est pas symétrique, ou que \(\mathcal{C}\) n'est plus négligée, le système aux valeurs propres devient non-Hermitien et les modes propres deviennent complexes.

L'option 'IRAM' de VIBR permet de calculer directement les modes complexes sur les matrices éléments finis.

Cependant, pour des raisons d'efficacité, on préfère souvent utiliser en pratique l'opérateur VIBC qui calcule les modes complexes sur le système projeté sur la base modale réelle calculée en négligeant les termes responsables du caractère non-Hermitien du problème. Cette approche suppose évidemment que ces termes soient suffisamment petits pour que la base réelle permette une bonne représentation de la base complexe. On résout donc :

(9)\[\left[ {K} + \boldsymbol{i} \omega {C} - \omega^2 {M} \right] q = 0\]

avec :

(10)\[\begin{split} \omega &= \operatorname{Re}(\omega_i) + \boldsymbol{i}\operatorname{Im}(\omega_i) \\ q_i &= \operatorname{Re}(q_i) + \boldsymbol{i}\operatorname{Im}(q_i)\end{split}\]

et la déformée modale complexe recombinée : \(\psi_i = [\varphi] \cdot q_i\).

Une déformée modale complexe signifie que la déformée n'est pas constante au cours d'un cycle. Par exemple, pour des systèmes gyroscopique, le mode peut être un mode de précession, dont la direction "tourne" au cours d'une période.

La partie réelle de la fréquence représente l'inverse de la période du cycle. La partie imaginaire renseigne sur la stabilité du mode.

3.5. Exemples commentés de calcul de modes propres

  • Dans cet exemple, sont calculés des modes réels et complexes d'un rotor.

  • Dans cet exemple, sont calculés les modes propres d'une cloche.