  Despite decades of research in this area, mesh adaptation capabilities are
still rarely found in numerical simulation software. We postulate that the
primary reason for this is lack of usability. Integrating mesh adaptation into
existing software is difficult as non-trivial operators, such as error metrics
and interpolation operators, are required, and integrating available adaptive
remeshers is not straightforward. Our approach presented here is to first
integrate Pragmatic, an anisotropic mesh adaptation library, into DMPlex, a
PETSc object that manages unstructured meshes and their interactions with
PETSc's solvers and I/O routines. As PETSc is already widely used, this will
make anisotropic mesh adaptation available to a much larger community. As a
demonstration of this we describe the integration of anisotropic mesh
adaptation into Firedrake, an automated Finite Element based system for the
portable solution of partial differential equations which already uses PETSc
solvers and I/O via DMPlex. We present a proof of concept of this integration
with a three-dimensional advection test case.
