Firedrake¶
Firedrake is a Python-based finite element package which automatically generates C kernels and uses PETSc to solve linear and nonlinear systems.
Whilst a PhD student and then postdoc at Imperial College London, I make several contributions to Firedrake and regularly attended the development meetings.
Major contributions¶
Enhancements to the automatic differentiation and adjoint modelling functionality.
Jupyter notebook on solving adjoint problems in Firedrake.
Documentation section on accessing the PETSc mesh representation underlying the one used in Firedrake.