Firedrake: Automating the finite element method by composing abstractions

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 n...

תיאור מלא

מידע ביבליוגרפי
Main Authors: Rathgeber, F, Ham, D, Mitchell, L, Lange, M, Luporini, F, Mcrae, A, Bercea, G, Markall, G, Kelly, P
פורמט: Journal article
יצא לאור: Association for Computing Machinery 2017
_version_ 1826293344705183744
author Rathgeber, F
Ham, D
Mitchell, L
Lange, M
Luporini, F
Mcrae, A
Bercea, G
Markall, G
Kelly, P
author_facet Rathgeber, F
Ham, D
Mitchell, L
Lange, M
Luporini, F
Mcrae, A
Bercea, G
Markall, G
Kelly, P
author_sort Rathgeber, F
collection OXFORD
description 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.
first_indexed 2024-03-07T03:28:40Z
format Journal article
id oxford-uuid:b9eed7aa-beb8-44b2-8ba7-d882c3551205
institution University of Oxford
last_indexed 2024-03-07T03:28:40Z
publishDate 2017
publisher Association for Computing Machinery
record_format dspace
spelling oxford-uuid:b9eed7aa-beb8-44b2-8ba7-d882c35512052022-03-27T05:06:26ZFiredrake: Automating the finite element method by composing abstractionsJournal articlehttp://purl.org/coar/resource_type/c_dcae04bcuuid:b9eed7aa-beb8-44b2-8ba7-d882c3551205Symplectic Elements at OxfordAssociation for Computing Machinery2017Rathgeber, FHam, DMitchell, LLange, MLuporini, FMcrae, ABercea, GMarkall, GKelly, PFiredrake 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.
spellingShingle Rathgeber, F
Ham, D
Mitchell, L
Lange, M
Luporini, F
Mcrae, A
Bercea, G
Markall, G
Kelly, P
Firedrake: Automating the finite element method by composing abstractions
title Firedrake: Automating the finite element method by composing abstractions
title_full Firedrake: Automating the finite element method by composing abstractions
title_fullStr Firedrake: Automating the finite element method by composing abstractions
title_full_unstemmed Firedrake: Automating the finite element method by composing abstractions
title_short Firedrake: Automating the finite element method by composing abstractions
title_sort firedrake automating the finite element method by composing abstractions
work_keys_str_mv AT rathgeberf firedrakeautomatingthefiniteelementmethodbycomposingabstractions
AT hamd firedrakeautomatingthefiniteelementmethodbycomposingabstractions
AT mitchelll firedrakeautomatingthefiniteelementmethodbycomposingabstractions
AT langem firedrakeautomatingthefiniteelementmethodbycomposingabstractions
AT luporinif firedrakeautomatingthefiniteelementmethodbycomposingabstractions
AT mcraea firedrakeautomatingthefiniteelementmethodbycomposingabstractions
AT berceag firedrakeautomatingthefiniteelementmethodbycomposingabstractions
AT markallg firedrakeautomatingthefiniteelementmethodbycomposingabstractions
AT kellyp firedrakeautomatingthefiniteelementmethodbycomposingabstractions