enfr

Les simulations d’interaction fluide-structure plus efficaces grâce aux dernières évolutions en matière de HPC

31 mars 2017

par A. Mikchevitch (EDF / R&D / ERMES) ; N. Greffet (EDF / DPNT / UTO) ; O. Boiteau (EDF / R&D / PERICLES)

L’amélioration des performances de code_aster est un chantier constant. Il ne s’intéresse d’ailleurs pas qu’à la résolution de problèmes quasi-statiques à plusieurs millions de degrés de liberté.
Ainsi, la mise en œuvre de calculs modaux comportant des centaines voire des milliers de modes propres fait partie de ces challenges.

Des progrès constants

Durant le développement de la version 13 de code_aster, les applications dynamiques avaient déjà pu bénéficier d’accélérations notables dans leur calcul : gain d’un facteur deux à 30, suivant le niveau de parallélisme et la taille de l’étude.

Application sur des simulations de bâche

Actuellement, des simulations de type interaction fluide-structure (IFS) appliquées aux bâches d’unités de production tirent un grand bénéfice des progrès accomplis. En effet, les analyses de ces structures minces peuvent requérir des bases modales très étendues, à savoir jusqu’à plusieurs milliers de modes. De telles bases sont indispensables pour garantir la convergence du calcul d’IFS et, in fine, pour assurer la qualité de la simulation.

Figure 1 : Exemple de mode propre mouillé d’une bâche.

Ainsi l’étude d’IFS de la bâche présentée Figure 1 nécessite le calcul précis des 6100 modes propres dans la bande fréquentielle [0 ; 100] Hz. Même si le modèle ne comporte que 45000 degrés de liberté, leur calcul séquentiel dure plus de six heures sur le cluster EDF avec code_aster 13.2. Ce coût important est néanmoins à relativiser et à comparer aux cinq jours qu’auraient requis un tel calcul jusqu’en version 12.0 (cf. Figure 2).

Des gains encore plus importants grâce au HPC

Pour accélérer ce type de calcul, il convient de découper la bande de fréquence en sous-bandes homogènes de taille plus raisonnables (idéalement une centaine de modes par sous-bande) et à distribuer celles-ci sur des groupes de cœurs. Chacun des sous-calculs ainsi formés peut en plus bénéficier de deux autres niveaux de parallélisme : l’un au cœur du solveur linéaire, l’autre au sein des bibliothèques d’algèbre linéaire. Rappelons que grâce aux bonnes performances parallèles de l’opérateur de calibration modale INFO_MODE, quelques minutes suffisent pour construire un tel découpage.
En découpant jusqu’à 36 sous-bandes, le calcul de bâche sur 72 cœurs ne dure plus que 2.5 minutes en version 13.0 (deux niveaux de parallélisme) et même 1.5 minute en version 13.3 (trois niveaux de parallélisme) !

Figure 2 : Coût du calcul des 6100 modes de la bâche suivant les versions de code_aster et suivant le scénario de calcul

Perspectives

Les futurs développements devront se concentrer sur l’amélioration des performances des autres opérations du calcul d’IFS. Celles-ci sont maintenant prédominantes en temps de calcul, par exemple, le calcul des masses ajoutées du fluide effectué au sein de la macro-commande MACR_MATR_AJOU.