Zienki — Solveur éléments finis parallèle
Solveur éléments finis HPC pour la simulation de phénomènes physiques couplés, développé en C++ avec parallélisation MPI/OpenMP.
Contexte
Dans le cadre de ma thèse à Mines Saint-Étienne, j'avais besoin d'un solveur éléments finis capable de modéliser l'imprégnation de milieux fibreux avec prise en compte des effets capillaires. Les outils commerciaux ne permettaient pas d'intégrer les formulations enrichies nécessaires.
Approche
Architecture modulaire en C++ avec séparation claire entre maillage, assemblage, résolution et post-processing. Parallélisation hybride MPI + OpenMP pour le calcul sur cluster HPC. Utilisation de MUMPS comme solveur direct et METIS pour le partitionnement de maillage.
Difficultés techniques
Gestion de la parallélisation pour les éléments enrichis (XFEM), équilibrage de charge sur des maillages adaptatifs, stabilisation numérique de la tension de surface dans les formulations level-set.
Résultat
Solveur fonctionnel ayant permis de produire les résultats de la thèse et de la publication dans Comptes Rendus Mécanique. Scalabilité validée sur cluster jusqu'à plusieurs centaines de cœurs.