Extending Irksome: improvements in automated Runge--Kutta time stepping for finite element methods
Robert C. Kirby, Scott P. MacLachlan
TL;DR
This work extends the Irksome library to deliver higher-accuracy, fully implicit Runge--Kutta time stepping for finite element discretizations by introducing robust DAE-type Dirichlet boundary treatment, alternative stage formulations, and optimized DIRK support, together with advanced preconditioners implemented in Firedrake and PETSc. It systematically analyzes block- and monolithic-preconditioning strategies, including LD-based tilings and monolithic multigrid with Schwarz relaxation, showing that solver performance can be made largely independent of the RK stage count. The numerical examples on the heat equation, Navier--Stokes, and Cahn--Hilliard illustrate that higher-stage RadauIIA methods often achieve superior accuracy with competitive run-times, while the choice of preconditioner and formulation can significantly impact convergence and efficiency. Overall, the paper demonstrates practical, scalable pathways to harness fully implicit RK discretizations for complex PDE systems, with clear guidance on when to prefer RadauIIA, DIRK, or monolithic multigrid approaches in different regimes. Its developments hold practical impact for high-fidelity simulations in computational fluid/phase-field problems and related PDE contexts.
Abstract
Irksome is a library based on the Unified Form Language (UFL) that enables automated generation of Runge--Kutta methods for time-stepping finite element spatial discretizations of partial differential equations (PDE). Allowing users to express semidiscrete forms of PDE, it generates UFL representations for the stage-coupled variational problems to be solved at each time step. The Firedrake package then generates efficient code for evaluating these variational problems and allows users a wide range of options to deploy efficient algebraic solvers in PETSc. In this paper, we describe several recent advances in Irksome. These include alternate formulations of the Runge--Kutta time-stepping methods and optimized support for diagonally implicit (DIRK) methods. Additionally, we present new and improved tools for building preconditioners for the resulting linear and linearized systems, demonstrating that these can lead to efficient approaches for solving fully implicit Runge-Kutta discretizations. The new features are demonstrated through a sequence of computational examples demonstrating the high-level interface and obtained solver performance.
