Expériences

  1. Doctorat en mathématiques IRMAR Méthodes numériques pour des modèles hybrides fluide-cinétique de plasmas
    • Analyse automatique de méthodes Runge-Kutta et de contraintes de stabilité avec un schéma en espace
      • (SymPy)
    • Code de simulation de plasma 4d (1d en espace 3d en vitesse)
    • Chargé de TD, responsable du soutien maths des L1 en biologie
  2. Ingénieur de recherche CMAP Membre de l'équipe HPC@Maths animée par Marc Massot et Loïc Gouarin
    • Développeur principal ponio : solver d'ODE par différentes méthodes d'intégration temporelle

Formations

  1. École d'ingénieur en informatique ISIMA Filière modélisation et calcul scientifique
    • algorithmie
    • C/
  2. Master MACS Univ. Nantes Master en mathématiques appliquées et calcul scientifique
  3. Doctorat en mathématiques IRMAR Méthodes numériques pour des modèles hybrides fluide-cinétique de plasmas Thèse encadrée par Nicolas Crouseilles et Anaïs Crestetto
    • (Sympy)

Organisations diverses

  1. Séminaire des doctorants de l'IRMAR Séminaire Landau, des doctorants et post-doctorants en analyse du l'IRMAR
  2. Mini-symposium au CANUM2020 Évian Quelles structures de données pertinentes pour l'adaptation de maillage par multi-résolution adaptative pour la simulation de problèmes multi-échelles
  3. Séminaire de l'équipe HPC@Maths Séminaire d'équipe de HPC@Maths au CMAP

Projets et réalisations

ponio
Bibliothèque C++ regroupant de nombreuses méthodes pour résoudre des équations différentielles
Ensemble de méthode pour résoudre efficacement une EDO
Analyse automatique de méthodes Runge-Kutta
  • (SymPy)
Visualisation des résultats d'analyse

Publications

Listes d'articles soumis ou publiés, disponibles sur HAL

Expériences associatives

  1. Entraineur de rugby à XIII Vertou Entraineur de l'équipe de benjamins du club Vertou XIII
  2. Secrétaire et vice-président du club le LVDIC Clermont-Ferrand Secrétaire et vice-président du club de jeux de rôles et de sociétés de l'ISIMA
    • Organisation de soirées de jeux de sociétés
    • Gestion du planning des sessions de jeux de rôles
  3. Membre de la SAN Nantes Société d'Astronomie de Nantes, association de médiation scientifique sur l'astronomie, organisant des observations, des animations, et un cycle de conférence (par des professionnels)
    • Animation de la commission Astronomie théorique
    • Participation à de nombreuses animations dans des écoles, centres de loisirs et centres de formations
    • Animation aux Utopiales (festival de science-fiction) pour les projets ExplorNova (2014-2015) et VR2Mars (2016, 2017)
    • Animation à la fête de la science (2010, 2016, 2017, 2018, 2019)

Communications scientifiques

Séminaires et conférences

  1. Hybrid fluid/kinetic modeling for plasma Saint-Malo Séminaire annuel d'équipe MINGuS Présentation des résultats de stage précédent ma thèse
  2. Exponential Runge-Kutta methods for Vlasov-Poisson equationy Nantes Numerical Methods for Multiscale Models arising in Physics and Biology (ANR MoHyCon) Présentation d'un poster sur la stabilité des schémas RK couplés à des méthodes WENO
  3. Exponential methods for solving hyperbolic problems with application to kinetic equations Garching Conférence des méthodes numériques pour les équations cinétiques : NumKin 2019 Présentation des résultats de l'article Exponential methods for solving hyperbolic problems with application to kinetic equations avec N. Crouseilles et L. Einkemmer
  4. Exponential methods for solving hyperbolic problems with application to kinetic equations Dinard Séminaire annuel d'équipe MINGuS Présentation des résultats de l'article Exponential methods for solving hyperbolic problems with application to kinetic equations avec N. Crouseilles et L. Einkemmer
  5. Hybrid model of Vlasov-Poisson equations and comparison of Hamiltonian method and Lawson method Conférence des méthodes numériques pour les équations cinétiques en distanciel : NumKin 2020 Présentation des résultats préliminaire sur la modélisation hybride en 1dx1dv et 1dx3dv avec A. Crestetto et N. Crouseilles
  6. Exponential methods for solving hyperbolic problems with application to kinetic equations Conférence en distanciel : CAN-J 2020 Présentation des résultats de l'article Exponential methods for solving hyperbolic problems with application to kinetic equations avec N. Crouseilles et L. Einkemmer
  7. Comparison of high-order Eulerian methods for electron hybrid model Palaiseau Séminaire de l'initiative HPC@Maths au CMAP Présentation des résultats de l'article Comparison of high-order Eulerian methods for electron hybrid model avec A. Crestetto, N. Crouseilles et Y. Li
  8. (Approximate) Exponential methods for solving hyperbolic problems for electron hybrid model Talence Workshop Modèles et méthodes pour les équations cinétiques à l'IMB Présentation des résultats de l'article Comparison of high-order Eulerian methods for electron hybrid model avec A. Crestetto, N. Crouseilles et Y. Li, et de travaux présents dans le chapitre 3 de mon manuscrit de thèse
  9. Comparison of high-order Eulerian methods for electron hybrid model Nantes Séminaire de l'équipe MACS au LMJL Présentation des résultats de l'article Comparison of high-order Eulerian methods for electron hybrid model avec A. Crestetto, N. Crouseilles et Y. Li
  10. Comparison of two classes of exponential Runge-Kutta methods for solving advection and diffusion problems Palaiseau Séminaire de l'équipe HPC@Maths au CMAP Présentation de la librairie ponio

Vulgarisation scientifique

  1. Les complexes sans complexe Nantes Conférence de vulgarisation sur les nombres complexes à destination des classes de terminal S au lycée Mandela
  2. La science pour les nuls Orsay Expériences scientifiques dans le bar Hall of Beer

Mémoire de parcours professionnel

Ce mémoire a pour objectif de me présenter et d'évoquer mes motivations pour devenir ingénieur de recherche spécialisé dans le calcul scientifique. Actuellement ingénieur au CMAP (École polytechnique), j'évoque ainsi dans la suite ma formation à la fois informatique et mathématiques puis mon parcours professionnel.

J'ai effectuer une formation en école d'ingénieur en informatique à l'ISIMA (Clermont-Ferrand), me permettant de m'initier à de nombreux langages de programmation (C/C++, Fortran, Java, Scheme) ainsi qu'obtenir des bases sur la gestion et l'organisation d'un projet informatique. J'ai pu aborder, à travers différents stages, le métier d'ingénieur dans le milieu de la recherche. En effet, j'ai eu l'opportunité de collaborer avec des chercheurs en physique lors de deux stages au laboratoire de physique subatomique Subatech (Nantes). Un premier stage de 5 mois avait pour objectif de mettre en place un code C++ de traitement de données en reconstruisant la trajectoire d'une gerbe d'astroparticules à partir de données de capteurs au sol. Ce code, qui utilisait la bibliothèque d'analyse de données ROOT développée par le CERN, m'a permis d'établir un premier dialogue entre l'informatique et un domaine d'application que je ne maîtrisais pas, à savoir la physique des particules. Ensuite, lors d'un second stage de 6 mois, j'ai été amené à optimiser un code de simulation écrit en langage C++ destiné à décrire le cycle de vie du combustible fissible d'un parc électronucléaire. Pour cela, j'ai effectué un diagnostic des goulots d 'étranglements si bien qu'à la fin de ce stage, le code a pu être accéléré par un facteur de 20 à 50 selon les cas tests. J'ai également proposé une interface graphique Web en JavaScript permettant de décrire un parc électronucléaire mais aussi de lancer des simulations sur un serveur distant. Ce type d'interface a grandement facilité le maniement du code, permettant ainsi aux étudiants de Master (école des Mines de Nantes) de l'utiliser dans le cadre de travaux pratiques. Ces stages m'ont permis de découvrir et d'apprécier la collaboration avec des chercheurs d'une part et le développement de logiciels dans le domaine de la recherche d'autre part. En outre, j'ai développé un intérêt particulier pour les méthodes de simulation. Ces dernières nécessitaient une grande maîtrise de certains outils mathématiques à la base des logiciels, ce qui m'a conduit à m'inscrire en master en mathématiques appliquées.

J'ai effectué un master en mathématiques appliquées à l'université de Nantes dans le but d'approfondir mes connaissances en analyse numérique afin de participer plus activement au développement de codes de simulations. C'est pour cette raison que j'ai effectué mon stage de master 2 au centre Inria de l'université de Rennes, autour de la construction et l'implémentation de méthodes numériques précises pour des modèles utilisés en physique.

J'ai ensuite obtenu un financement de thèse pour poursuivre sur cette thématique au laboratoire de mathématiques de Rennes (IRMAR) sous la direction de Anaïs Crestetto (Université de Nantes) et Nicolas Crouseilles (Inria Rennes). Le sujet de ma thèse sur le développement de méthodes numériques pour approcher des modèles hybrides fluides/cinétiques permettant de décrire la dynamique de systèmes de particules chargées (plasmas de tokamak ou plasmas ionosphériques). J'ai été amené à développer (à partir de zéro) un code de simulation d'équations cinétiques à 4 dimensions écrit en C++ mettant en jeu des méthodes numériques innovantes. La complexité de ces méthodes numériques m'a amené à réfléchir sur une façon de les programmer automatiquement. Ainsi, j'ai mis en place, de manière autonome, des outils Python de génération de code à l'aide du paquet Python de calcul symbolique : SymPy. Cette étape fut déterminante : ces outils m'ont non seulement permis de tester et de valider la méthode sur laquelle je travaillais, mais grâce à la souplesse et la robustesse de ces outils que j'ai mis en place, de nombreuses autres méthodes ont pu être testées, validées ou discriminées. La simulation du code a été effectuée sur des serveurs de calcul comme PlaFRIM pour bénéficier d'une puissance de calcul plus importante que celle du serveur de calcul de l'IRMAR que j'ai utilisé de façon routinière. J'ai effectué ceci en autonomie, grâce à l expérience que j'avais pu obtenir en utilisant lors d'un précédent stage le centre de calcul de l'IN2P3. Les nouvelles méthodes de simulation mise en place durant ma thèse m'ont permis de passer d'un temps de calcul de 3 jours avec une méthode classique de la littérature, à seulement 4 heures avec mes outils.

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.

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.