Après ma thèse soutenue en décembre 2021, j'ai intégré en janvier l'équipe HPC@Maths au CMAP (École polytechnique, Palaiseau), pilotée par Loïc Gouarin et Marc Massot, dont le but est de développer des compétences en calcul scientifique et calcul haute performance à l'aide de nouvelles méthodes numériques. Grâce à mes expériences passées et mes compétences, j'ai pu participer et contribuer à différentes activités au sein de cette équipe composées de chercheurs et d'ingénieurs.
Le premier projet qui m'a été confié consistait au développement d'une interface Python pour la bibliothèque C++ de maillage adaptatif : samurai. La prédominance d'expressions templates permettant la lazy evaluation dans samurai a rendu cette interface difficile à mettre en œuvre, mais une première version est opérationnelle.
Ma mission a également consisté à développer des collaborations avec des étudiants et des doctorants. J'ai par exemple participé à la mise en place d'outils de calcul symbolique, mais aussi à l'aide au développement de simulation de plasmas pour une méthode de volumes finis en utilisant la bibliothèque samurai.
Avec les autres ingénieurs de l'équipe HPC@Maths, nous collaborons avec une équipe de chercheurs du CEA pour le développement d'un logiciel de simulation de combustion en utilisant la bibliothèque samurai. Les outils mis en place ont d'abord été testés dans le code d'un doctorant avant d'être réutilisés dans ce projet. Le raffinement local et automatique de maillage est un élément essentiel dans le contexte de la combustion puisqu'il permet de capturer les phénomènes multi-échelles du système. En outre, une couche d'abstraction a été intégrée à la bibliothèque samurai, permettant d'écrire un schéma numérique à la manière d'un maillage uniforme.
Un autre objectif de mon travail dans l'équipe HPC@Maths est la création d'une bibliothèque C++ d'intégrateurs temporels : ponio. Ce projet peut être vu comme la poursuite des travaux que j'ai initiés en parallèle de ma thèse. Même s'il existe de nombreux ouvrages sur le sujet, je me suis rendu compte qu'il n'existait pas ou peu d'outils numériques pratiques en C++ pour approcher un problème temporel simplement et pour comparer différentes méthodes. C'est sur ce constat qu'il a été décidé de mettre en place une bibliothèque C++ qui s'inspire de la philosophie du paquet Julia DifferentialEquation.jl.
Le projet ponio est constitué de trois éléments. Le premier est l'analyse automatique de méthodes d'approximation d'équations différentielles ordinaires (appelées méthodes de type Runge-Kutta) à l'aide d'outils de calcul symbolique en Python. Une deuxième partie permet la visualisation de ces résultats d'analyse à l'aide d'une interface Web écrite en JavaScript, permettant notamment à l'utilisateur de sélectionner différentes méthodes adaptées à différents types de problèmes. Enfin la dernière partie consiste à utiliser ces résultats pour générer un code C++ correspondant à la méthode numérique sélectionnée. Pour cela, j'ai fait le choix du langage C++ dans sa norme C++20, permettant une veille technologique au sein de l'équipe HPC@Maths. Des outils d'intégration continue avec GitHub Actions ainsi qu'une documentation sur Read The Docs ont été mis en place pour ce projet, ainsi qu'un paquet conda.
En parallèle de mon parcours de formation et professionnel, j'ai fréquemment été sollicité pendant ma thèse par d'autres doctorants pour les aider à se former en langage Python ou C. En outre, en tant que membre du laboratoire, j'ai participé en tant que volontaire à plusieurs activités de médiation scientifique (comme la Fête de la Science ou lors d'accueil de lycéens et collégiens au sein du laboratoire pour des stages d'observation) en proposant des ateliers d'origami modulaire. Enfin, parce que j'ai un goût certain pour transmettre et populariser la science auprès du grand public, je fais aussi partie depuis une quinzaine d'années de la Société d'Astronomie de Nantes qui est une association organisant des évènements de vulgarisation scientifique (conférences, animations, observation du ciel).
Ainsi, mon parcours de formation et professionnel me guide vers le métier d'ingénieur de recherche spécialisé dans les méthodes numériques et de calcul scientifique.