Context: Mixed-dimensional partial differential equations (PDEs) are equations coupling unknown fields defined over domains of differing topological dimensions. Such mixed-dimensional PDEs naturally arise in a wide range of fields including geology, biomedicine, and fracture mechanics. Mixed-dimensional models can also be used to impose non-standard conditions over a subspace of lower dimension such as a part of the boundary or an interface between two domains, through a Lagrange multiplier. Finite element discretizations of mixed-dimensional PDEs involve nested meshes of heterogeneous topological dimensions. The assembly of such systems is non-standard and non-trivial especially with regard to the terms involved in the interactions between the different domains. In other words, automated solutions of mixed-dimensional PDEs require the design of both generic high-level software abstractions and lower-level algorithms
The FEniCS project aims at automating the numerical solution of mathematical models based on PDEs using finite element methods and is organized as an open-source collection of software components. A core feature is a high-level domain-specific language for finite element spaces and variational forms close to mathematical syntax. While external FEniCS-based packages have been developed for simulating mixed-dimensional problems, there is an important need for embedding these features as an intrinsic part of the FEniCS library. We introduce an automated framework dedicated to mixed-dimensional problems addressing this gap, which has already been used for a wide range of applications including fluid flow models and ionic electrodiffusion.