Coupling mesh adaptation tools Mmg and ParMmg to PETSc and Firedrake

I led the effort to integrate the Mmg and ParMmg metric-based mesh adaptation tools into the numerical solver library PETSc, and subsequently making this functionality available in the Firedrake finite element library.

Mmg, ParMmg, and PETSc are all written in C. Firedrake is a Python-based package which automatically generates C kernels and uses PETSc to solve linear and nonlinear systems.

Funding information

This work was done as part of my postdoc at Imperial College London, which was funded by an ARCHER2 eCSE grant from EPCC.

Outputs