Implementing High-Level ODE Solvers and Time Stepping in dolfinx
In this project, students will research time-integration methods and develop a framework for high-level ODE solvers and time-stepping in dolfinx (the computational environment of the FEniCS Project [1]). The project draws inspiration from Irksome [2], a library that automates time-stepping for the Firedrake framework [3]. By bringing similar capabilities to dolfinx, the student will create a powerful tool for solving complex, time-dependent partial differential equations (PDEs), ultimately comparing different time-stepping schemes applied to advanced problems in cardiac modeling.
Solving time-dependent PDEs often requires the tedious and error-prone process of manually discretizing the time domain. Tools like Irksome simplify this by allowing users to define the spatial discretization using UFL (Unified Form Language) [4] and automatically generating the fully discrete time-stepping schemes under the hood.
In this master's project, a central academic component will involve researching and learning about various time-stepping schemes (e.g., explicit, implicit, and IMEX Runge-Kutta methods). You will investigate how these different schemes behave when applied to distinct physical regimes. A significant portion of this project focuses on software development.
The student will adapt the theoretical and structural principles of Irksome to make them work seamlessly with dolfinx. Once the framework is implemented, the student will critically compare the different time-stepping schemes on real-world cardiac modeling problems. This will involve simulating cardiac electrophysiology (e.g., the monodomain model) and time-dependent cardiac mechanics, evaluating which time integration method is best suited for each specific case.
Goals
- Survey the existing Irksome library and understand the underlying UFL manipulations.
- Research and learn about various time-stepping schemes, exploring their theoretical stability and accuracy.
- Develop, implement, and integrate an automated time-stepping framework for dolfinx, based on https://github.com/firedrakeproject/Irksome/pull/234.
- Implement test cases based on cardiac electrophysiology (monodomain model) and time-dependent cardiac mechanics.
- Compare and evaluate the different time-stepping schemes to determine the most robust and efficient methods for different cardiac modeling scenarios.
Learning outcomes
- A deep understanding of time integration methods (ODE solvers) and how to evaluate their suitability for different PDE problems.
- Advanced software engineering and coding skills in the context of scientific computing.
- Hands-on experience with dolfinx, UFL, and modern automated PDE solver frameworks.
- Practical knowledge of mathematical modeling within biomechanics and electrophysiology.
Qualifications
- Strong programming skills (primarily Python, with some understanding of C++ being beneficial).
- A solid foundation in numerical methods for differential equations and the Finite Element Method (FEM).
- An interest in the FEniCS/dolfinx ecosystem or similar PDE frameworks (prior experience is not required, though prior knowledge is an advantage).
- An interest in computational modeling, software engineering, and biomedical applications.
Supervisors
- Henrik Nicolay Finsberg
- Jørgen Dokken
References
- [1] Baratta, I. A., Dean, J. P., Dokken, J. S., Habera, M., Hale, J. S., Richardson, C. N., Rognes, M. E., Scroggs, M. W., Sime, N., & Wells, G. N. (2025). DOLFINx: The next generation FEniCS problem solving environment. Zenodo. https://doi.org/10.5281/zenodo.18101307
- [2] Patrick E. Farrell, Robert C. Kirby, and Jorge Marchena-Menéndez. 2021. Irksome: Automating Runge–Kutta Time-stepping for Finite Element Methods. ACM Trans. Math. Softw. 47, 4, Article 30 (December 2021), 26 pages. https://doi.org/10.1145/3466168
- [3] Florian Rathgeber, David A. Ham, Lawrence Mitchell, Michael Lange, Fabio Luporini, Andrew T. T. Mcrae, Gheorghe-Teodor Bercea, Graham R. Markall, and Paul H. J. Kelly. 2016. Firedrake: Automating the Finite Element Method by Composing Abstractions. ACM Trans. Math. Softw. 43, 3, Article 24 (September 2017), 27 pages. https://doi.org/10.1145/2998441
- [4] Martin S. Alnæs, Anders Logg, Kristian B. Ølgaard, Marie E. Rognes, and Garth N. Wells. 2014. Unified form language: A domain-specific language for weak formulations of partial differential equations. ACM Trans. Math. Softw. 40, 2, Article 9 (February 2014), 37 pages. https://doi.org/10.1145/2566630