I am an Associate Professor of Numerical Analysis and Scientific Computing in the Numerical Analysis group of the University of Oxford, and a Tutorial Fellow at Oriel College, Oxford.

I work on the numerical solution of partial differential equations, with a particular focus on

- finite element methods,
- bifurcation analysis of nonlinear PDE,
- adjoint techniques, their application and automation,
- preconditioners and fast solvers.

I have applied the numerical techniques I develop to various applications, in the areas of renewable energy, cardiac electrophysiology, glaciology, magnetohydrodynamics, quantum mechanics, and liquid crystals.

I lead the development of dolfin-adjoint and defcon, and regularly commit to PETSc, petsc4py, and firedrake.

2021-05-07: I am organising a BIRS workshop (21w5164) on Efficient Simulation Algorithms for Viscoelastic and Viscous non-Newtonian Fluids in Banff, Canada.

2020-11-15: The HKIAS International Conference on Mathematical Analysis and its Applications has been rescheduled. Update: deferred (again) due to the coronavirus pandemic.

2020-07-15: I am hosting a research visit from Emilio Silva of the University of São Paulo. Update: deferred due to the coronavirus pandemic.

2020-07-01: I have been invited to give a seminar at the IWR in Heidelberg by Rob Scheichl. Update: deferred due to the coronavirus pandemic.

2020-07-01: A paper has been accepted about the bifurcation analysis of model problems relating to kidney stone removal with Jess Williams, Sarah Waters, Simon Tavener, Derek Moulton, Ben Turney, and Alfonso Castrejón-Pita in the Journal of Fluid Mechanics.

2020-06-29: A new paper is up on arXiv about automating implicit (fully coupled) Runge-Kutta timestepping methods, with Rob Kirby and Jorge Marchena Menendez.

2020-06-26: A new paper is up on arXiv about monolithic multigrid methods for magnetohydrodynamics, with James Adler, Tom Benson, Eric Cyr, Scott MacLachlan and Ray Tuminaro.

2020-06-22: I am giving a talk at a minisymposium organised by Scott MacLachlan and Niall Madden at the International Linear Algebra Society meeting in Galway, Ireland. Update: deferred due to the coronavirus pandemic.

2020-06-18: I am hosting Colin Cotter of Imperial College London for a (update: now online) seminar in the Computational Mathematics and Applications series.

2020-06-09: I am hosting a research visit from Mark Adams of Lawrence Berkeley Laboratory. Update: deferred due to the coronavirus pandemic.

2020-06-05: I am hosting Weinan E for a colloquium at the Mathematical Institute. Update: deferred due to the coronavirus pandemic.

2020-06-05: A new paper is up on arXiv about stable discretisations for the Onsager-Stefan-Maxwell diffusion problem, with Alexander Van-Brunt and Charles Monroe.

2020-05-28: I am giving an online talk in the Computational Mathematics and Applications series.

2020-05-28: I have been invited to give a seminar at WIAS in Berlin by Michael Hintermüller. Update: deferred due to the coronavirus pandemic.

2020-05-25: I will give a mini lecture course at the EMS summer school on mathematical modelling, numerical analysis and scientific computing in Kácov, Czechia. Update: deferred due to the coronavirus pandemic.

2020-05-18: I have been invited to give a lecture at the ICMS online workshop on Novel modelling insights into confined soft matter systems.

2020-05-06: A new paper is up on arXiv about augmented Lagrangian preconditioners for implicitly-constituted non-Newtonian flows, with Alexei Gazca. Update: now accepted in SISC.

2020-04-24: I am hosting a research visit from Catherine Mavriplis of the University of Ottawa. Update: deferred due to the coronavirus pandemic.

2020-04-22: A new paper is up on arXiv about multiple solutions of Bose-Einstein condensates in three dimensions, with Panos Kevrekidis, Stathis Charalampidis and Nicolas Boullé.

2020-04-21: I will give a mini lecture course to the EU Regional School in Inverse Problems at RWTH Aachen University on adjoint methods. Update: deferred due to the coronavirus pandemic.

2020-04-20: A new paper is up on arXiv about Reynolds-robust solvers for the incompressible Navier-Stokes with the Scott-Vogelius discretisation on macroelements, with Ridgway Scott, Lawrence Mitchell and Florian Wechsung.

2020-04-15: A new paper is up on arXiv about augmented Lagrangian preconditioners for the Oseen-Frank model in liquid crystals, with Florian Wechsung and Jingmin Xia.

2019-03-12: I am hosting Mark Girolami of the University of Cambridge for a seminar in the Computational Mathematics and Applications series.

2020-02-20: I am hosting Marie Rognes of Simula Research Laboratory for a seminar in the Industrial and Applied Mathematics series.

2020-02-06: A new paper is up on arXiv about robust solvers for linear elasticity with the Scott-Vogelius discretisation on macroelements, with Ridgway Scott, Lawrence Mitchell and Florian Wechsung.

2020-02-05: I am attending the UKAEA Fusion Modelling System workshop in Birmingham.

2020-01-24: I am hosting Panos Kevrekidis for a colloquium at the Mathematical Institute.

2020-01-20: Congratulations to Matteo Croci for passing his DPhil viva! Thanks to Rob Scheichl and Endre Süli for serving as examiners.

2020-01-16: I am hosting a research visit from Thomas Surowiec of Philipps-Universität Marburg.

2020-01-09: I am hosting a research visit from Tim Atherton of Tufts University.

2020-01-08: I am hosting a research visit from Mariano Beguerisse of Spotify.

2019-12-18: A new paper is up on arXiv about PCPATCH, a preconditioner in PETSc for the topological construction of relaxation methods, with Matt Knepley, Lawrence Mitchell and Florian Wechsung.

2019-12-09: I have been invited to give a lecture at the ICERM workshop on Numerical Methods and New Perspectives for Extended Liquid Crystalline Systems organised by Apala Majumdar, Shawn Walker and Jan Lagerwall.

2019-11-29: A new paper is up on arXiv about the bifurcation analysis of two-component Bose-Einstein condensates, with Panos Kevrekidis, Stathis Charalampidis and Nicolas Boullé. Update: now published in CNSNS.

2019-11-28: I served as PhD examiner for Jack Betteridge. Congratulations!

2019-11-27: A new paper is up on arXiv about multilevel quasi Monte Carlo methods, with Matteo Croci and Mike Giles.

2019-11-26: A new paper is up on arXiv about complexity bounds for supermesh construction, with Matteo Croci. Update: now published in JCP.

2019-11-21: I have been invited to give a lecture at the HKIAS International Conference on Mathematical Analysis and its Applications by Philippe Ciarlet and John Ball. Update: sadly this conference has been deferred until next year due to the closure of the university.

2019-11-15: I am hosting Doug Arnold for a colloquium at the Mathematical Institute.

2019-11-13: I served as DPhil examiner for Thomas Roy. Congratulations!

2019-11-04: I am hosting a research visit from Simon Tavener of Colorado State University.

2019-10-28: I am visiting the Geometry, compatibility and structure preservation in computational differential equations programme at the Isaac Newton Institute in Cambridge. I will talk on the 31st.

2019-10-25: I am giving a talk in the Bath Numerical Analysis Seminar.

2019-10-23: I am giving a talk in the Imperial-UCL Numerics Seminar.

2019-10-18: I am hosting Reidun Twarock for a colloquium at the Mathematical Institute.

2019-10-01: Welcome to Gonzalo Gonzalez de Diego, Nicolas Boullé, Alexander Van-Brunt, Fabian Laakmann, and Francis Aznaran, who all start their DPhils with me today! Gonzalo is co-supervised by Ian Hewitt, Alexander by Charles Monroe, and Francis by Endre Süli.

2019-09-26: I am hosting a research visit from Ridgway Scott of the University of Chicago.

2019-09-23: Congratulations to Florian Wechsung for passing his DPhil viva! My first student to graduate. Thanks to Roland Herzog and Andy Wathen for serving as examiners.

2019-09-04: I am hosting Aretha Teckentrup of the University of Edinburgh for the viva of Zhenru Wang.

2019-09-01: Welcome to Panos Kevrekidis, who is visiting myself and Heather Harrington on sabbatical for a year! His sabbatical is generously supported by a Visiting Professorship award from the Leverhulme Trust.

2019-08-26: A new paper is up on arXiv about local Fourier analysis of additive Vanka schemes for the Stokes equations, with Yunhui He and Scott MacLachlan. Update: now published in NLAA.

2019-08-08: I have been awarded a Departmental Teaching Award by the Mathematical Institute for my lecture course C6.4 Finite Element Methods for PDEs.

2019-07-29: I am visiting Scott MacLachlan of Memorial University of Newfoundland for a month. This visit is generously funded by an LMS Scheme 4 grant.

2019-07-09: I am visiting Anton Schiela at the University of Bayreuth.

2019-07-01: I am giving a plenary talk at the Preconditioning conference in Minneapolis, Minnesota.

2019-06-10: I am visiting Josef Málek of Charles University Prague.

2019-06-07: I am hosting Michael Hintermüller for a colloquium at the Mathematical Institute.

2019-05-22: I am giving a talk at the Bath-Oxford-Strathclyde meeting on liquid crystals.

2019-04-30: A new paper is up on arXiv about deflation for semismooth equations and variational inequalities, with Matteo Croci and Thomas Surowiec. Update: now published in OMS.

2019-04-29: I am visiting Chris Rycroft and Katia Bertoldi of Harvard University.

2019-04-19: A new paper is up on arXiv about three-field finite element discretisations for implicitly-constituted non-Newtonian flows, with Alexei Gazca and Endre Süli. Update: now published in SINUM.

2019-04-02: I am giving a talk at the LMS Mathematics in Life Sciences conference in Oxford.

2019-03-24: I am giving a talk at the 19th Copper Mountain Conference on Multigrid Methods in Colorado.

2019-03-07: I am hosting Lawrence Mitchell of Durham University for a seminar in the Computational Mathematics and Applications series.

2019-01-11: I am attending the SIAM UKIE meeting in Oxford.

2018-12-05: I am hosting Maxim Olshanskii of the University of Houston for the viva of Niall Bootland. Update: Niall passed. Congratulations!

2018-11-13: I am hosting a research visit from Lawrence Mitchell of Durham University.

2018-11-02: I am hosting Jon Keating for a colloquium at the Mathematical Institute.

2018-11-01: I am hosting James Maddison of the University of Edinburgh for a seminar in the Computational Mathematics and Applications series.

2018-10-15: I am visiting Saullo Castro at TU Delft.

2018-10-01: I am hosting a research visit from Scott MacLachlan of Memorial University of Newfoundland.

2018-10-01: Welcome to Jingmin Xia and Ioannis Papadopoulos, who begin their DPhil studies today! Ioannis is co-supervised by Endre Süli.

2018-09-17: I am hosting a research visit from Thomas Surowiec of Philipps-Universität Marburg.

2018-08-30: I am giving another lecture course to the group of Emilio Silva, this time on adjoints.

2018-08-09: A new paper is up on arXiv about Reynolds-robust preconditioners for the incompressible Navier-Stokes, with Lawrence Mitchell and Florian Wechsung. Update: now published in SISC.

2018-07-09: I am attending the SIAM annual meeting in Portland, Oregon.

2018-06-18: I am giving a summer (winter?) school on finite elements to the group of Emilio Silva at the Escola Politécnica of the University of São Paulo.

2018-06-15: I am hosting Alfio Quarteroni for a colloquium at the Mathematical Institute.

2018-05-28: I am visiting Ridgway Scott at the University of Chicago centre in Paris.

2018-04-26: I am giving a seminar in MOX, Dipartimento di Matematica, Politecnico di Milano.

2018-04-10: I am teaching a summer (spring?) school on sensitivity and optimisation in Tuscany, with Matthew Juniper and Peter Schmid.

2018-03-21: I am hosting the 2018 FEniCS conference in Oxford.

2018-01-22: Congratulations to Florian Wechsung on winning first place in the G-Research DPhil prize!

2017-11-26: A new paper has been accepted on glaciological inverse problems in Pine Island Glacier, Antarctica, with Teresa Kyrke-Smith and Hilmar Gudmundsson.

2017-10-01: Welcome to Hamza Alawiye and Alexei Gazca, who begin their DPhil studies today! My co-supervisors are Alain Goriely (Hamza) and Endre Süli (Alexei).

2017-07-18: I am giving an invited seminar at the annual meeting of the Canadian Applied and Industrial Mathematics society in Halifax, Nova Scotia.

2017-06-26: I am teaching a summer school on finite elements and FEniCS at the University of Chicago, with Ridgway Scott.

2017-06-14: A new paper is up on arXiv about the bifurcation analysis of cholesteric liquid crystals, with David Emerson, James Adler, Scott MacLachlan and Timothy Atherton.

2017-06-13: A new paper is up on arXiv about higher-order PDE-constrained shape optimisation, with Alberto Paganini and Florian Wechsung.

2017-05-26: I am giving an invited seminar at the SIAM UKIE National Student Chapter Conference in Galway, Ireland.

2017-05-25: A new paper has been accepted on the bifurcation analysis of Bose-Einstein condensates, with Stathis Charalampidis and Panos Kevrekidis.

2017-04-10: I am teaching a guest lecture course PMR5412 Modelling and Numerical Simulation via Variational Calculus at the Escola Politécnica of the University of São Paulo, hosted by Emilio Silva and the Research Centre for Gas Innovation.

2017-03-20: I am spending a few weeks at the Institute for Pure and Applied Mathematics at UCLA, as part of the Computational Issues in Oil Field Applications programme.

2017-01-30: A new paper has been accepted on multiscale modelling of liquid crystal devices, with Martin Robinson, Apala Majumdar, Chong Luo and Radek Erban.

2017-01-20: I have been appointed as an editorial board member of SIAM’s Fundamentals of Algorithms book series.

2017-01-16: I am teaching C6.4 Finite Element Methods for PDEs this term. My introductory lecture notes on finite elements may be of interest. Any comments gratefully received!

2017-01-02: A new paper is up on arXiv about recovering inundation profiles from tidal data, with Simon Funke and Matthew Piggott.

2016-10-01: I am delighted to announce that I have been appointed as an Associate Professor in the Mathematical Institute and as a Tutorial Fellow at Oriel College.

2016-10-01: Welcome to Florian Wechsung, and Matteo Croci, who begin their DPhil studies today under my supervision! My co-supervisors are Mark Taylor of London Computational Solutions (Florian), and Marie Rognes of Simula Research Laboratory and Mike Giles (Matteo).

2016-09-28: A new paper is up on arXiv about the analysis of Carrier’s problem with Jon Chapman.

2016-08-01: Welcome to Alberto Paganini, who has begun a postdoctoral appointment with me! He comes from a PhD at ETH Zurich with Ralf Hiptmair. He will work with me on shape optimisation problems.

2016-06-21: A new paper is up on the arXiv about geometric Markov chain Monte Carlo methods for infinite-dimensional inverse problems with Alex Beskos, Shiwei Lan, Mark Girolami and Andrew Stuart.

2016-06-20: I’m teaching at a summer school on Solving PDEs with FEniCS with Ridgway Scott at the University of Chicago.

2016-06-10: I’m teaching at a summer school on Frontiers in PDE-constrained Optimization at the IMA in Minnesota.

2016-05-08: James Maddison and I have released libsupermesh, a fast implementation of an algorithm for supermesh construction.

2016-03-16: A new paper is up on arXiv about optimal preconditioners for the Ohta–Kawasaki equations with John Pearson.

2016-03-15: There’s an open faculty position in numerical analysis in Oxford (an associate professorship). Apply by April 29!

2016-01-28: A new paper is up on arXiv about using deflation to compute multiple equilibria of nematic liquid crystals with James Adler, David Emerson and Scott MacLachlan.

2015-11-30: Another paper is up on arXiv about linear and nonlinear solvers in variational fracture mechanics with Corrado Maurini. The code that supports the manuscript is available on bitbucket.

2015-09-19: Images from the SIAM Awards Lunch in Beijing are online.

2015-09-18: I gave the invited scientific lecture to the annual general meeting of NAG.

2015-09-01: A new paper is up on arXiv about PDE-constrained optimisation, deflation and Schur complement preconditioners.

2015-08-31: I’ve just released a Python implementation of Mike Giles’ multilevel Monte Carlo demo code.

2015-08-27: The first deflation paper has been published online in SISC.

2015-08-13: I collected the Wilkinson prize at ICIAM 2015 in Beijing today. Thanks again to NAG, ANL and NPL.

2015-07-16: I have been selected for polar service with the British Antarctic Survey! I will be undertaking fieldwork in the Antarctic this November as part of an observational campaign on the retreating ice sheets on the east coast of the Antarctic peninsula, on Flask Glacier and Scar Inlet.

2015-06-23: I came second in the Fox prize competition, joining company such as Andy Wathen, Peter Sweby, Alan Edelman, Mark Ainsworth, Barry Smith, and Des Higham. Congratulations to Iain Smears and Alex Townsend.

2015-06-11: I have won **the 2015 Wilkinson prize for Numerical Software**, along with my colleagues Simon Funke, David Ham and Marie Rognes.

2015-03-06: I have been shortlisted for the **17th IMA Leslie Fox prize in numerical analysis**.