Pour ses besoins importants en mécanique des fluides numériques, EDF développe les outils code_saturne (https://code-saturne.org) et neptune_cfd. Ces outils massivement parallèles sont basés sur une discrétisation à base de maillages non structurés. Pour faciliter la génération de maillages de grande taille et de bonne qualité, ils disposent de divers opérateurs de modification de maillage, tels que l’insertion de couches visqueuses, le recollement conforme de maillages. Des méthodes de type “ frontières immergées ” ont aussi été développées ces dernières années. On souhaiterait pouvoir améliorer encore ces opérateurs de pré-traitement pour mieux traiter des géométries de plus en plus complexes.
OBJECTIFS
On effectuera dans un premier temps des améliorations sur la gestion de l’insertion de couches visqueuses, notamment pour mieux gérer les conditions de glissement. Ceci permettra de se familiariser avec le code, programmé en C et utilisant un parallélisme distribué sur base MPI.
On cherchera ensuite à exploiter (et étendre si nécessaire) les opérateurs utilisés actuellement avec les méthodes de frontières immergées pour pouvoir couper un maillage par une surface, puis dans un deuxième temps, couper un maillage par un autre. Si la progression des travaux le permet, on pourra aussi mesurer la performance de ces opérateurs et chercher à en optimiser les algorithmes. On pourra aussi travailler sur l’amélioration d’autres opérateurs liés au raffinement de maillage.
Ces travaux viendront renfort de ceux en cours de réalisation par les équipes de développement et travaillant sur des études avancées, ce qui impliquera une intégration forte dans ces équipes.
Profil recherché
Stage de fin d’études d’école d’ingénieur ou M2.
Notions de base en analyse numérique appliquée à un domaine décrit par des EDP sur un milieu continu (mécanique des fluides, structures, thermique par exemple).
Expérience de l’utilisation d’un code de calcul de type volumes finis ou éléments finis recommandée.
Connaissances en programmation C, ainsi que d’un environnement Linux.