Automating forward and inverse finite element simulation in Firedrake and Dolfin-adjoint


Simulating continuous systems modelled by PDEs underpins much of computational science and engineering. Each simulation is a complex combination of PDEs, parametrisations, discretisations, preconditioners and solvers. The precise combination that is optimal is different for each application and changes with the hardware, or as further advances in numerical mathematics are made. Many (possibly most) simulation challenges in science and engineering are actually inverse problems in which parameters are sought, sensitivities analysed and/or data assimilated.

Here I will present Firedrake, an automated system for generating numerical solutions to PDEs from a high level mathematical specification. I will examine some of the capabilities of the system before lifting the lid on the sequence of automated mathematical transformations that make it possible. I will also cover the interaction with dolfin-adjoint to produce gradients of solution functionals by solving the adjoint PDE.


Dr David Ham is a reader in computational mathematics at Imperial College London. He studied mathematics and law at the ANU followed by a doctorate in numerical methods for ocean modelling at TU Delft in the Netherlands. He leads the Firedrake project and is a founding contributor to dolfin-adjoint. For the latter work he was jointly awarded the 2015 Wilkinson Prize for Numerical Software. He is the mathematics coordinator of the joint mathematics and computing programme at Imperial, and is chief executive editor of the European Geosciences Union journal Geoscientific Model Development. From April to August 2022 he is on sabbatical at the Research School of Earth Sciences at the ANU working with the G-ADOPT project to support the development of inverse models for geodynamics.

Zoom Details:

Topic: Mathematics and Computational Sciences Seminar Series 
Time: This is a recurring meeting Meet anytime

Join Zoom Meeting

Meeting ID: 880 8490 0678
Password: 971872
One tap mobile
+61731853730,,88084900678#,,,,0#,,971872# Australia
+61861193900,,88084900678#,,,,0#,,971872# Australia

Dial by your location
        +61 7 3185 3730 Australia
        +61 8 6119 3900 Australia
        +61 8 7150 1149 Australia
        +61 2 8015 6011 Australia
        +61 3 7018 2005 Australia
Meeting ID: 880 8490 0678
Password: 971872
Find your local number:

Or an H.323/SIP room system:
    Dial: +61262227588 (AUCX)
    Meeting ID: 88084900678
    H323/SIP Password: 971872

Join by Skype for Business