Florian Rathgeber
Firedrake: automating the finite element method by composing abstractions
Rathgeber, Florian; Ham, David A.; Mitchell, Lawrence; Lange, Michael; Luporini, Fabio; Mcrae, Andrew T.T.; Bercea, Gheorghe-Teodor; Markall, Graham R.; Kelly, Paul H.J.
Authors
David A. Ham
Lawrence Mitchell
Michael Lange
Fabio Luporini
Andrew T.T. Mcrae
Gheorghe-Teodor Bercea
Graham R. Markall
Paul H.J. Kelly
Abstract
Firedrake is a new tool for automating the numerical solution of partial differential equations. Firedrake adopts the domain-specific language for the finite element method of the FEniCS project, but with a pure Python runtime-only implementation centered on the composition of several existing and new abstractions for particular aspects of scientific computing. The result is a more complete separation of concerns that eases the incorporation of separate contributions from computer scientists, numerical analysts, and application specialists. These contributions may add functionality or improve performance. Firedrake benefits from automatically applying new optimizations. This includes factorizing mixed function spaces, transforming and vectorizing inner loops, and intrinsically supporting block matrix operations. Importantly, Firedrake presents a simple public API for escaping the UFL abstraction. This allows users to implement common operations that fall outside of pure variational formulations, such as flux limiters.
Citation
Rathgeber, F., Ham, D. A., Mitchell, L., Lange, M., Luporini, F., Mcrae, A. T., Bercea, G.-T., Markall, G. R., & Kelly, P. H. (2017). Firedrake: automating the finite element method by composing abstractions. ACM Transactions on Mathematical Software, 43(3), Article 24. https://doi.org/10.1145/2998441
Journal Article Type | Article |
---|---|
Acceptance Date | Sep 15, 2016 |
Online Publication Date | Dec 22, 2016 |
Publication Date | Jan 16, 2017 |
Deposit Date | Aug 1, 2018 |
Publicly Available Date | Aug 2, 2018 |
Journal | ACM Transactions on Mathematical Software |
Print ISSN | 0098-3500 |
Electronic ISSN | 1557-7295 |
Publisher | Association for Computing Machinery (ACM) |
Peer Reviewed | Peer Reviewed |
Volume | 43 |
Issue | 3 |
Article Number | 24 |
DOI | https://doi.org/10.1145/2998441 |
Public URL | https://durham-repository.worktribe.com/output/1324801 |
Related Public URLs | https://arxiv.org/pdf/1501.01809.pdf |
Files
Published Journal Article
(1.4 Mb)
PDF
Publisher Licence URL
http://creativecommons.org/licenses/by/4.0/
Copyright Statement
2016 Copyright is held by the owner/author(s). This work is licensed under a Creative Commons Attribution International 4.0 License.
You might also like
Bringing trimmed Serendipity methods to computational practice in Firedrake
(2022)
Journal Article
PCPATCH: software for the topological construction of multigrid relaxation methods
(2021)
Journal Article
A study of vectorization for matrix-free finite element methods
(2020)
Journal Article