Loïc Chevalier
← Retour aux projets

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.

Stack technique

C++MPIOpenMPMUMPSMETISCMake