Skip to content

Mantis

Structure-preserving discretizations in Julia

Mantis

Home page

Welcome to the documentation for Mantis, a Julia package for high-order structure-preserving finite element methods.

This package is designed based on the Finite Element Exterior Calculus (FEEC) framework [1], which provides a rigorous foundation for designing structure-preserving discretisations for PDEs, e.g., those arising in electromagnetism, fluid flows, and elasticity. Such discretisations require finite element spaces which discretize the Hilbert complexes associated to the PDEs, such as the de Rham complex for Maxwell's equations. Mantis provides users with a flexible environment where they can implement FEEC using the natural language of Exterior Calculus, allowing them to discretize PDEs using spaces of arbitrary regularities. Some examples of supported finite element spaces are piecewise-polynomial spaces, non-polynomial spaces (e.g., trigonometric, exponential, Tchebycheffian B-splines), and adaptively-refinable spaces (e.g., hierarchical B-splines).

Mantis is free, open-source, and available under the EUPL licence.

The Mantis package was created by

  • Diogo C. Cabanas,

  • Joey Dekker,

  • Artur Palha,

  • Deepesh Toshniwal,

from TU Delft's Institute of Applied Mathematics (DIAM).

Under development

Mantis is under active development and can still undergo large changes.

  1. D. N. Arnold, R. S. Falk and R. Winther. Finite element exterior calculus, homological techniques, and applications. Acta numerica 15, 1–155 (2006).