Exposing and exploiting structure: optimal code generation for high-order finite element methods
arXiv:1711.02473
Abstract
Code generation based software platforms, such as Firedrake, have become popular tools for developing complicated finite element discretisations of partial differential equations. We extended the code generation infrastructure in Firedrake with optimisations that can exploit the structure inherent to some finite elements. This includes sum factorisation on cuboid cells for continuous, discontinuous, H(div) and H(curl) conforming elements. Our experiments confirm optimal algorithmic complexity for high-order finite element assembly. This is achieved through several novel contributions: the introduction of a more powerful interface between the form compiler and the library providing the finite elements; a more abstract, smarter library of finite elements called FInAT that explicitly communicates the structure of elements; and form compiler algorithms to automatically exploit this exposed structure.
Submitted to ACM Transactions on Mathematical Software
Cited by in corpus (7)
- Hybrid FEM-NN models: Combining artificial neural networks with the finite element method
- TSFC: a structure-preserving form compiler
- PCPATCH: software for the topological construction of multigrid relaxation methods
- Maximum-principle-satisfying discontinuous Galerkin methods for incompressible two-phase immiscible flow
- The scaling and skewness of optimally transported meshes on the sphere
- Composable block solvers for the four-field double porosity/permeability model
- Full waveform inversion using triangular waveform adapted meshes