Journal article icon

Journal article

Firedrake: Automating the finite element method by composing abstractions

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.
Publication status:
Published
Peer review status:
Peer reviewed

Actions


Access Document


Publisher copy:
10.1145/2998441

Authors



Publisher:
Association for Computing Machinery
Journal:
ACM Transactions on Mathematical Software More from this journal
Volume:
43
Issue:
3
Pages:
1-27
Publication date:
2017-01-16
Acceptance date:
2016-09-01
DOI:
EISSN:
1557-7295
ISSN:
0098-3500


Keywords:
Pubs id:
pubs:734484
UUID:
uuid:b9eed7aa-beb8-44b2-8ba7-d882c3551205
Local pid:
pubs:734484
Source identifiers:
734484
Deposit date:
2018-04-06

Terms of use



Views and Downloads






If you are the owner of this record, you can report an update to it here: Report update to this record

TO TOP