ECCOMAS 2024

Unfitted finite element discretisations with ngsxfem - an Add-on to NGSolve

  • Lehrenfeld, Christoph (University of Göttingen)
  • Heimann, Fabian (University of Göttingen)
  • Preuss, Janosch (University College London)
  • von Wahl, Henry (Friedrich Schiller University Jena)

Please login to view abstract download link

In the past decade several numerical methods based on unfitted discretization strategies have been proposed for the discretization of PDE problems which involve complex and possibly time-dependent geometries. The underlying principle of all these methods is the separation of the computational mesh and the geometry information. The mesh is typically simple while the geometry is often described implictly only, for instance by a level set function. The definition of suitable finite element formulations requires a special construction of the finite element spaces, variational formulations which include integrals over parts of the domain which are only implicitly described and often new stabilizations. The implementation of these finite element methods is a demanding task. On top of the usual components of a finite element software new techniques are required, for instance new numerical integration strategies which respect the implicit geometries. To obtain numerical software for robust and higher order accurate discretizations in such an unfitted setting is typically very difficult. In this talk we present the library ngsxfem which is an Add-On package to the finite element library Netgen/NGSolve. NGSolve provides the usual mathematical objects, finite-element spaces, forms and preconditioners for geometrically conforming finite element methods. ngsxfem introduces tools for unfitted discretizations: Modified finite element spaces, the ability to exchange the usual integration strategies to those which are suitable for level set domains and helper functions to keep track of the cut topology. With these tools many (low order) unfitted finite element methods from the literature can easily be realized. An important feature of NGSolve is the ability to apply a mesh transformation on the background mesh which is respected in the numerical integration. This allows for a straight forward implementation of a (higher order) isoparametric unfitted finite element method. The C++ libraries Netgen/NGSolve/ngsxfem provide interfaces to python which allows to specify the geometry description and the discrete variational formulation conveniently in python in a few lines of code. To demonstrate this, we will show how to solve elliptic interface problems and surface PDEs with little implementational effort. If time permits, we will dive into some more advanced applications of the software, e.g. to ill-posed problems and to problems involving evolving geometries.