enfr

Des calculs modaux facilités et moins coûteux

19 novembre 2012

par O. Boiteau, EDF R&D / Sinetics

Pour étudier les vibrations d’une structure ou rechercher ses modes de flambement, le mécanicien doit souvent résoudre un problème modal. Code_Aster propose plusieurs méthodologies et algorithmes au travers de différents opérateurs. Actuellement, ceux-ci sont l’objet d’un chantier logiciel afin d’améliorer leur ergonomie, leur robustesse et leurs performances (temps/mémoire).

La première étape de cette rénovation vient de s’achever. Elle procure des gains en temps jusqu’à un facteur 2 sur les opérateurs INFO_MODE et MACRO_MODE_MECA. L’ergonomie d’INFO_MODE a été améliorée afin de permettre son chaînage avec MODE_ITER_SIMULT. La prochaine étape consistera à étendre le parallélisme dans MACRO_MODE_MECA.

Lors d’une étude vibratoire, le dynamicien peut disposer d’éléments factuels pour dimensionner son calcul modal : bande de recherche des modes propres ainsi que leur nombre. Dans le cas contraire, l’opérateur INFO_MODE permet d’obtenir ce nombre de modes dans un intervalle donné. Dans tous les cas, cette calibration a priori du modèle est très utile pour définir des intervalles de taille raisonnable afin d’optimiser les coûts calculs ultérieurs.
Jusqu’à présent, l’utilisateur Code_Aster devait effectuer plusieurs appels à INFO_MODE (un par bande). Maintenant, il peut procéder en une seule passe puisque cet opérateur accepte une liste de fréquences (ou de charges critiques). Cette facilité ergonomique s’accompagne aussi de gros gains en temps calcul (jusqu’à un facteur 2) car chaque fréquence interne n’est plus prise en compte qu’une seule fois (au lieu de deux).

Ces améliorations ont été déclinées dans les opérateurs de calcul modal proprement dit : MODE_ITER_SIMULT et MACRO_MODE_MECA. Le premier peut désormais réutiliser ces calibrations préalables et ne pas refaire le même travail dans son étape de pré-traitement. Le second a vu son schéma algorithmique complètement revisité. Il est désormais moins coûteux en temps (gain jusqu’à un facteur 2, cf. tableaux 1 et 2), plus robuste (en cas de mode propre proche d’une borne de sous-bande) et il accède au parallélisme (via le solveur linéaire MUMPS). Ce dernier point peut permettre de gagner jusqu’à un facteur 2 supplémentaire, cette fois, non seulement en temps, mais aussi en pic mémoire.

Tableau 1. Comparaison des performances de MACRO_MODE_MECA sur le cas-test perf013a (plaque carrée en éléments de coques) : nombre de ddls=1.0M, 8 sous-bandes de recherche sur l’intervalle [0Hz,4000Hz]. Version 11.4.
Tableau 2. Comparaison des performances de MACRO_MODE_MECA sur une étude sismique : nombre de ddls=0.7M, on recherche 448 modes dans l’intervalle [0Hz,60Hz]. Version 11.4.