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)方法的优化支持。此外,我们提出了用于构建所得线性及线性化系统预条件器的新改进工具,并证明这些工具能够有效解决全隐式龙格-库塔离散化问题。通过一系列计算实例展示了新功能的高层接口及所获求解器性能。