Mantis.jl: a structure-preserving FEEC library
Please login to view abstract download link
Structure-preserving discretisations aim to retain fundamental invariants and geometric structures of PDEs. Examples include conservation of energy, momentum, and helicity for the Navier–Stokes equations, potential enstrophy for the shallow-waters equations, and magnetic and cross helicity in magnetohydrodynamics. Beyond conceptual relevance, such discretisations often lead to numerical advantages, including enhanced stability, elimination of spurious modes, and improved long-time accuracy. The FEEC framework provides a rigorous mathematical foundation for the construction of structure-preserving FE discretisations. FEEC is based on the identification and discretisation of Hilbert complexes underlying the continuous problem, such as the de Rham complex (electromagnetics), Stokes complex (incompressible flow), or elasticity complex. It relies heavily on differential-geometric concepts: fields are represented as differential forms, differential operators are unified through the exterior derivative, and constitutive and metric relations are encoded via Hodge-* operator. Extensions of this framework, including vector-valued differential forms, are increasingly relevant with particular emphasis in the context of multiphysics applications. Existing finite element libraries are built around vector-calculus formulations and incorporate FEEC concepts indirectly. While effective, this approach often requires ad hoc constructions to recover the underlying geometric structure, complicating the generalisation to higher dimensions, non-standard function spaces, or complex geometries. Translating intrinsically geometric formulations into vector calculus introduces additional abstraction layers that obscure the structure-preserving nature of the discretisation. Mantis.jl is a FE library designed natively around the FEEC paradigm. It provides a flexible environment in which PDEs are formulated and discretised directly using exterior calculus, supporting arbitrary spatial dimensions and a wide range of discrete function spaces and regularities. Mantis.jl includes support for classical piecewise-polynomial spaces, non-polynomial constructions (e.g., trigonometric, exponential, and Tchebycheffian B-splines), and adaptively refinable spaces including hierarchical B-splines. Mantis.jl aims to facilitate the development of robust, structure-preserving discretisations in particular in the context of emerging geometric mechanics formulations, with relevance for multiphysics.
