Many classical and modern finite element spaces are derived by dividing each computational cell into finer pieces. Such \emph{macroelements} frequently enable the enforcement of mathematically desirable properties such as divergence-free conditions or C1 continuity in a simpler or more efficient manner than elements without the subdivision. Although a few modern software projects provide one-off support for particular macroelements, a general approach facilitating broad-based support has, until now, been lacking. In this work, we describe a major addition to the FIAT project to support a wide range of different macroelements. These enhancements have been integrated into the Firedrake code stack. We provide numerical evaluation of the new macroelement facility.
Cite
@article{arxiv.2501.14599,
title = {FIAT: enabling classical and modern macroelements},
author = {Pablo D. Brubeck and Robert C. Kirby},
journal= {arXiv preprint arXiv:2501.14599},
year = {2025}
}