FEniCSx_ii (FEniCSx trace)#
FEniCSx_ii is an extension of FEniCSx that allows users to work with non-conforming 3D-1D meshes. The core algorithm is based on the framework proposed by Kuchta 2021 [Kuc21] and implemented in FEniCS_ii.
The new framework addresses the limitation of \(\mathrm{FEniCS}\_{\mathrm{ii}}\) not being MPI compatible. Currently, the new framework does not use [MH12] cbc.block, and instead implements the matrix-matrix products in a non-lazy fashion, and uses PETSc Nest matrices to set up the blocked system.
Given a 3D domain with a function \(u\in V(\Omega)\) and a \(1D\) domain \(\Gamma\). We define a restriction operator \(\Pi:V\mapsto L^2(\Gamma)\), which becomes a central part of the variational formulation.
See for instance D’Angelo & Quarteroni, 2008 [DAngeloQ08], Kuchta 2021 [Kuc21] or Masri, Kuchta & Riviere, 2024 [MKR24].
Several (non-local) operators are implemented in fenicsx_ii:
PointwiseTrace, the operator: \(\Pi(u)(\hat x)=u(\hat x)\), \(\hat x \in \Gamma\) .Circle, the operator \(\Pi(u)(\hat x)=\frac{1}{\vert P_R \vert}\int_{P_{R}(\Gamma(\hat x))}u~\mathrm{d}s\), where \(P_R(\Gamma(\hat x))\) is the perimeter of a disk with radius \(R\), normal aligning with \(\Gamma(\hat x)\) and origin at \(\hat x\).Disk, the operator \(\Pi(u)(\hat x)=\frac{1}{\vert D_R \vert}\int_{D_R(\Gamma(\hat x))} u~\mathrm{d}x\), where \(D_R(\Gamma(\hat x))\) is the disk with radius \(R\), normal aligining with \(\Gamma(\hat x)\) and origin at \(\hat x\).
Any other operator can be implemented by following the ReductionOperator-protocol.
Funding#
The development of FEniCSx_ii has been funded by the Wellcome Trust, grant number: 313298/Z/24/Z
References#
C. D'Angelo and A. Quarteroni. On the coupling of 1d and 3d diffusion-reaction equations: application to tissue perfusion problems. Mathematical Models and Methods in Applied Sciences, 18(08):1481–1504, 2008. doi:10.1142/S0218202508003108.
Miroslav Kuchta. Assembly of multiscale linear pde operators. In Fred J. Vermolen and Cornelis Vuik, editors, Numerical Mathematics and Advanced Applications ENUMATH 2019, 641–650. Cham, 2021. Springer International Publishing. doi:10.1007/978-3-030-55874-1_63.
Kent-Andre Mardal and Joachim Berdal Haga. Block preconditioning of systems of PDEs, pages 643–655. Springer Berlin Heidelberg, Berlin, Heidelberg, 2012. doi:10.1007/978-3-642-23099-8_35.
Rami Masri, Miroslav Kuchta, and Beatrice Riviere. Discontinuous Galerkin Methods for 3D-1D Systems. SIAM Journal on Numerical Analysis, 62(4):1814–1843, 2024. doi:10.1137/23M1627390.