Firedrake, automating the finite element method by composing abstractions

From MaRDI portal
Publication:3176320

DOI10.1145/2998441zbMATH Open1396.65144arXiv1501.01809OpenAlexW3104566386WikidataQ113310153 ScholiaQ113310153MaRDI QIDQ3176320FDOQ3176320

A. T. T. McRae, Florian Rathgeber, Paul H. J. Kelly, Fabio Luporini, Graham R. Markall, G.-T. Bercea, D. A. Ham, Michael Lange, Lawrence Mitchell

Publication date: 20 July 2018

Published in: ACM Transactions on Mathematical Software (Search for Journal in Brave)

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 centred on the composition of several existing and new abstractions for particular aspects of scientific computing. The result is a more complete separation of concerns which 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 optimisations. This includes factorising mixed function spaces, transforming and vectorising 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 pure variational formulations, such as flux-limiters.


Full work available at URL: https://arxiv.org/abs/1501.01809




Recommendations





Cited In (only showing first 100 items - show all)

Uses Software





This page was built for publication: Firedrake, automating the finite element method by composing abstractions

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q3176320)