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.
翻译:Irksome是一个基于统一形式语言(UFL)的库,能够为偏微分方程(PDE)的有限元空间离散化自动生成龙格-库塔时间步进方法。该库允许用户表达PDE的半离散形式,并生成每个时间步需要求解的级联变分问题的UFL表示。随后,Firedrake软件包会生成评估这些变分问题的高效代码,并为用户提供多种选项以在PETSc中部署高效的代数求解器。本文介绍了Irksome库的若干最新进展,包括龙格-库塔时间步进方法的替代公式化方案,以及对对角隐式(DIRK)方法的优化支持。此外,我们提出了用于构建所得线性和线性化系统预条件子的新型改进工具,证明这些工具能够为求解完全隐式龙格-库塔离散化提供高效途径。通过一系列计算示例展示了新功能的高层接口及其所实现的求解器性能。