
Loïc Gouarin
Research engineer in scientific computing
Professional experience
Since 2018
CNRS
Research engineer · CMAP - École polytechnique
2010 - 2018
CNRS
Research engineer · LMO - Université Paris-Saclay
2005 - 2010
CNRS
Research engineer · LAGA - Université Paris 13
2001 - 2005
ONERA (French Aerospace Lab)
PhD · Châtillon
- Development of a code for modelling three-dimensional reactive turbulent flows in the High Performance Computing department, as part of a PhD in applied mathematics supervised by L. Halpern and J. Ryan
Skills
- Mathematics
classical numerical methods, lattice Boltzmann schemes, mesh adaptation, domain decomposition
- Programming languages
C++, Python, Julia, JavaScript, C, Fortran, LaTeX
- DevOps
Kubernetes, Docker, Terraform, Ansible
- Software engineering
version control, unit testing (pytest, GoogleTest), packaging (PyPI, conda), formatting (black, clang-format), continuous integration
- Project management
writing scientific and technical proposals, running meetings, assigning and tracking tasks, setting objectives, hiring and supervision
- Event organisation
training courses and scientific or technical days, choice of topics, funding applications, negotiation with suppliers, registration management, financial and scientific reports
- Languages
French, English
Education
2000 - 2001
Université d’Aix-Marseille II
Master’s degree (DEA) in fluid mechanics · Marseille
1998 - 2001
ISITV (Toulon engineering school)
Engineering degree · La Garde
- major in modelling and scientific computing
1997 - 1998
Université de Cergy-Pontoise
Bachelor’s degree in pure mathematics · Cergy-Pontoise
Open-source projects
Since 2015
Samurai
Project lead · github.com/hpc-maths/samurai
- Samurai is a new generation of data structures for mesh adaptation methods.
- The library is written in C++ and relies heavily on xtensor.
- It lets users benefit from the latest advances in mesh adaptation transparently in their numerical simulations.
- Samurai is used and developed by PhD students and postdocs of the laboratory.
- Several external collaborations are emerging (ONERA, École centrale, …).
Since 2015
pylbm
Project lead · github.com/pylbm/pylbm
- pylbm is a Python package for running numerical simulations with lattice Boltzmann methods easily.
- It is aimed at mathematicians, physicists and computer scientists.
- The strength of pylbm is to generate numerical code from symbolic mathematics according to what the user asks for. Several back ends are available: Cython, NumPy or Loo.py. pylbm supports MPI through mpi4py.
- It is used in a project funded by ESA (the European Space Agency) in partnership with CENAERO, the Von Karman Institute and the Orsay mathematics laboratory.
- We see 300 downloads per month.
Since 2019
SCoPI
Project lead · github.com/hpc-maths/scopi
SCoPI, written in C++, is designed for the simulation of interacting particle collections. It simulates 2D and 3D particles (with convex regular shapes) interacting with their surroundings (obstacles of various kinds, moving or not, gravity, optional coupling with a fluid solver) and with other particles (inter-particle forces, contacts). The contact model can be dry (inelastic, with or without friction) or viscous (modelling lubrication forces in a viscous fluid). The algorithms are implicit and reduce, at each time step, to solving a constrained convex problem.
Since 2017
xeus-cling
Lead developer · github.com/jupyter-xeus/xeus-cling
- The project was started to make learning C++ easier for students and in continuing education courses.
- It runs in Jupyter notebooks, now widely used for teaching and reproducible research.
- It was downloaded more than 100,000 times in two and a half years.
Since 2015
CAFES
Project lead · github.com/gouarin/cafes
CAFES (CArtesian Finite Element Solvers) is written in C/C++ and parallelised with MPI. It relies heavily on PETSc for finite element matrices and solvers. Its goal is to solve problems that need a solver on a Cartesian grid, such as fluid - rigid particle interactions, the influence of cilia on flows (for example bronchial cilia) or micro-swimmers moving in a viscous fluid. In each case, a constrained problem is written by solving several Stokes problems with a right-hand side that accounts for the particles, the cilia, … The software is used in the ANR project RheoSuNN.
Since 2018
GenEO
Project lead · github.com/gouarin/GenEO
- GenEO implements a new generation of domain decomposition solvers that remain efficient when the matrix of the linear system varies strongly.
- The library is written in Python.
- Several papers presenting the method and its use cases are in preparation.
Since 2020
xtensor-sparse
Project co-lead · github.com/xtensor-stack/xtensor-sparse
- The library is written in C++ and describes N-dimensional sparse tensors easily.
- It is built on xtensor.
- Development is carried out in collaboration with the company QuantStack.
Other responsibilities
- Since 2022Co-head, HPC@Maths team at CMAPÉcole polytechnique
- Since 2020Head, working group for a modern teaching platformÉcole polytechnique
- 2013 - 2019Director, GdR Calcul (CNRS research network)National
- 2010 - 2018Co-head, MITI network: CalculNational
- Since 2019Member, gender parity and professional equality committeeCMAP
- 2020 and 2021Member, CNRS internal promotion panelsNational
- Since 2019Member, laboratory councilCMAP
- Since 2017In-house trainer, CNRSNational
- 2016Head, working group on the REFERENS II job profiles for scientific computing requested by the CNRS OMESNational
- 2013 - 2023Member, steering committee of the LoOPS networkParis-Saclay
Teaching
Degree programmes
- Since 2022Engineering school, Algorithms and software design principles for applied mathematics in modern C++École polytechnique
- 2010 - 20183rd-year mathematics degree, Algorithms and programming in CUniversité Paris-Saclay
- 2001 - 2007Engineering school, Supervised projects in C and MatlabUniversité Paris 13
Continuing education
- 2023 - 2024Workshop, Development framework and automation for open sourceCNRS
- 2017 - 2019, 2024In-house trainer, Development process of a Python applicationCNRS
- 2017Workshop, Advanced Python for scientific computingParis
- 2013Equip@meso, Introductory PETSc workshopSaclay
- 2013ANF, Advanced Python in scientific computingFréjus
- 2011Thematic school, Domain decomposition methods: from theory to practiceFréjus
- 2010ANGD, Python in scientific computingAutrans
Publications
2026
samurai/ponio: two complementary software libraries for the efficient implementation of adaptive space/time numerical schemes
Sébastien Dubois, Loïc Gouarin, Alexandre Hoffmann, Josselin Massot, Marc Massot, Pierre Matalon, Laurent Séries
HAL
2025
High Performance Parallel Solvers for the time-harmonic Maxwell Equations
Élise Fressart, Sébastien Dubois, Loïc Gouarin, Marc Massot, Michel Nowak, Nicole Spillane
arXiv
2024
A new modeling approach of Myxococcus xanthus bacteria using polarity-based reversals
Hélène Bloch, Vincent Calvez, Benoît Gaudeul, Loïc Gouarin, Aline Lefebvre-Lepot, Tâm Mignot, Michèle Romanos, Jean-Baptiste Saulnier
ESAIM Proceedings and Surveys
2024
Fully algebraic domain decomposition preconditioners with adaptive spectral bounds
Loïc Gouarin, Nicole Spillane
ETNA - Electronic Transactions on Numerical Analysis
2022
Does the multiresolution lattice Boltzmann method allow to deal with waves passing through mesh jumps?
Thomas Bellotti, Loïc Gouarin, Benjamin Graille, Marc Massot
Comptes Rendus Mathématique
2022
High accuracy analysis of adaptive multiresolution-based lattice Boltzmann schemes via the equivalent equations
Thomas Bellotti, Loïc Gouarin, Benjamin Graille, Marc Massot
SMAI Journal of Computational Mathematics
2022
Multidimensional fully adaptive lattice Boltzmann methods with error control based on multiresolution analysis
Thomas Bellotti, Loïc Gouarin, Benjamin Graille, Marc Massot
Journal of Computational Physics
2022
Multiresolution-Based Mesh Adaptation and Error Control for Lattice Boltzmann Methods with Applications to Hyperbolic Conservation Laws
Thomas Bellotti, Loïc Gouarin, Benjamin Graille, Marc Massot
SIAM Journal on Scientific Computing
2015
Optimized Schwarz waveform relaxation for advection reaction diffusion equations in two dimensions
Daniel Bennequin, Martin J. Gander, Loïc Gouarin, Laurence Halpern
Numerische Mathematik
2013
2013
Pourquoi une structuration des mésos-centres en France ?
Loïc Gouarin, Romaric David, Laurent Séries, O. Politano, Pierre Gay
HAL
2012
Linear lattice Boltzmann schemes for acoustic: Parameter choices and isotropy properties
Adeline Augier, François Dubois, Loïc Gouarin, Benjamin Graille
Computers & Mathematics with Applications
2010
3D Direct Simulation of a Nonpremixed Hydrogen Flame with Detailed Models
Gordon Fru, Dominique Thévenin, C. Zistl, Gábor Janiga, L. Gouarin, A. Laverdant
ERCOFTAC series
2010
Optimized Schwarz Waveform Relaxation Methods: A Large Scale Numerical Study
Martin J. Gander, Loïc Gouarin, Laurence Halpern
Lecture notes in computational science and engineering
2007
Interaction of a Gaussian acoustic wave with a turbulent non-premixed flame
A. Laverdant, L. Gouarin, Dominique Thévenin
Combustion Theory and Modelling
Interests
Reading, hiking, gardening and DIY