Mise en œuvre de la méthode des différences spectrales dans un code Julia en vue d’une étude comparative des méthodes d’ordre élevé
Stage | Mécanique des fluides numérique | Mécanique des fluides, Méthodes numériques, Programmation, Simulations informatiques de dynamique des fluides
Niveau requis : Master 2
Date de début : 1 février 2024
Durée de la mission : 6 mois
Date limite des candidatures : 15 décembre 2023
Thématiques :
- Programmation (Julia)
- Méthodes numériques
Contexte
L’évolution des exigences aéronautiques, en matière de performance, de consommation et d’impact environnemental (émissions, bruit), entraîne un besoin d’optimisation des systèmes industriels. La simulation numérique instationnaire est un atout majeur pour traiter cette problématique. Les codes actuels sont principalement pensés pour fonctionner sur une architecture CPU (Central Processing Unit). Toutefois, les enjeux énergétiques et les performances de calcul tendent à promouvoir les architectures centrées autour du GPU (Graphical Processing Unit). Ce changement de structure des supercalculateurs récents nécessite un portage des codes de calculs, afin de pouvoir fonctionner sur des systèmes hybrides. Dans ce contexte, le CERFACS veille à évaluer la maturité des différentes solutions technologiques disponibles.
Missions
L’objectif de ce stage est d’évaluer les capacités de la plateforme Trixi [1] (code Julia) en y intégrant la méthode des Différences Spectrales, actuellement utilisée dans les codes de calcul du CERFACS. Cette méthode d’ordre élevé partage des similitudes avec la DGSEM déjà disponible dans Trixi. Les performances des deux approches seront évaluées sur des cas de référence de la littérature (Convected Vortex, Kelvin Helmoltz instability, Taylor Green Vortex). Dans un premier temps, le candidat devra se familiariser avec la programmation en Julia et les méthodes numériques d’ordre élevé. Ensuite, la méthode des différences spectrales sera mise en œuvre dans la plateforme en s’appuyant sur les compétences développées au CERFACS et sur l’expérience acquise par le candidat. Pour finir, ces développements seront validés sur des cas tests académiques et les résultats seront comparés à la méthode DGSEM.
Profil recherché
Le candidat doit avoir des connaissances solides en programmation (Python / Matlab et/ou C++) afin de faciliter la prise en main du code. Une première expérience avec le langage Julia serait fortement appréciée bien que non essentielle. De plus, le candidat doit être familier avec les méthodes numériques de résolution des EDP (Equations aux Dérivées Partielles). Dans le cadre d’un travail de recherche, le candidat, préparant un Master 2 (ou équivalent), doit être capable de présenter ses travaux à l’ensemble de l’équipe (écrit / oral). Une autonomie de travail inhérente à la recherche (bibliographie, choix de développements,validation, etc.) est également attendue.
Aptitudes
· Capacité de travail en équipe
· Esprit d’initiative
· Rigueur
· Qualités d’analyse et de synthèse
Contacts
References
[1] https://github.com/trixi-framework/Trixi.jl