BORIS ANDREWS

portrait

Postdoctoral Research Associate, University of Oxford (he / him)

boris.andrews@maths.ox.ac.uk

University of Oxford profile

AUTOMATED GALERKIN TIME STEPPING IN IRKSOME

Boris Andrews | Pablo Brubeck | Patrick Farrell | Rob Kirby | Scott MacLachlan

JUN.2026 (arXiv) | In review (SISC)

CHECK OUT ON ARXIV!

[…] we present automation in Irksome for both discontinuous Galerkin and continuous Petrov–Galerkin time stepping of semidiscrete variational problems. The implementation supports auxiliary variables, flexible temporal quadrature, and monolithic algebraic solvers, and it enables switching between Runge–Kutta and Galerkin-in-time formulations with minimal changes to user code. […]

FULL ABSTRACT
As the study of temporal and spatial discretization schemes continues to advance, recent work has focused on the use of Galerkin-in-time discretization schemes that enable broader structure-preservation than is known for Runge–Kutta integrators. While the promise of such discretizations is immense, their realization has, until now, generally relied on bespoke implementations that have limited their wider use.

In this work, we present automation in Irksome for both discontinuous Galerkin and continuous Petrov–Galerkin time stepping of semidiscrete variational problems. The implementation supports auxiliary variables, flexible temporal quadrature, and monolithic algebraic solvers, and it enables switching between Runge–Kutta and Galerkin-in-time formulations with minimal changes to user code. Numerical examples illustrate accuracy, solver performance, and structure preservation across representative PDE systems.

Irksome is a time-stepping library for Firedrake. Its core design principle is that the user supplies only a semidiscrete variational form; Irksome then handles the time discretisation automatically via manipulation of the Unified Form Language (UFL). The original Irksome papers showed how to automate a broad class of Runge–Kutta (RK) methods at this abstract level, requiring essentially no changes to user code.

This paper extends that abstraction to Galerkin-in-time discretisations: both discontinuous Galerkin (DG) and continuous Petrov–Galerkin (CPG) in time. Switching between RK, DG and CPG typically requires changing only a single line of code.

Why Galerkin-in-time?

RK methods face fundamental barriers in structure preservation: they generally cannot conserve non-quadratic invariants or preserve non-quadratic dissipation inequalities. DG and CPG in general methods do not have these limitations. In particular, CPG with suitably chosen auxiliary variables can preserve multiple conservation and dissipation laws simultaneously (the approach taken in my earlier work with Patrick Farrell). General-purpose implementations of DG and CPG time stepping have not previously existed; this work fills that gap within the Firedrake ecosystem.

CHECK OUT ON ARXIV!

TALKS

2026

  • Firedrake User Meeting, University of Oxford

CO-AUTHORS

Pablo Brubeck

Pablo Brubeck

Patrick Farrell

Patrick Farrell

Rob Kirby

Rob Kirby

Scott MacLachlan

Scott MacLachlan