dolfinx_eqlb is an open source library, extending FEniCSx by local flux equilibration strategies. The resulting H(div) conforming fluxes can be used for the construction of adaptive finite element solvers for the Poisson problem [1], elasticity [2][3][4] or poro-elasticity [5][6].
The flux equilibration relies on so called patches, groups of all cells, connected with one node of the mesh. On each patch a constrained minimisation problem is solved [7]. In order to improve computational efficiency, a so called semi-explicit strategy [8][9] is also implemented. The solution procedure is thereby split into two steps: An explicit determination of an H(div) function, fulfilling the minimisation constraints, followed by an unconstrained minimisation on a reduced, patch-wise ansatz space. If equilibration is applied to elasticity - stress tensors have distinct symmetry properties - an additional constrained minimisation step, after the row wise reconstruction of the tensor [3][4] is implemented.
[1] Braess, D. and Schöberl, J.: Equilibrated Residual Error Estimator for Edge Elements (2008).
[2] Prager, W. and Synge, J. L.: Approximations in elasticity based on the concept of function space (1947).
[3] Bertrand et al.: Weakly symmetric stress equilibration and a posteriori error estimation for linear elasticity (2021).
[4] Bertrand et al.: Weakly symmetric stress equilibration for hyperelastic material models (2020).
[5] Riedlbeck et al.: Stress and flux reconstruction in Biot’s poro-elasticity problem with application to a posteriori error analysis (2017).
[6] Bertrand, F. and Starke, G.: A posteriori error estimates by weakly symmetric stress reconstruction for the Biot problem (2021).
[7] Ern, A. and Vohralik, M.: Polynomial-Degree-Robust A Posteriori Estimates in a Unified Setting for Conforming, Nonconforming, Discontinuous Galerkin, and Mixed Discretizations (2015).
[8] Cai, Z. and Zhang, S.: Robust equilibrated residual error estimator for diffusion problems: conforming elements (2012).
The instalation of dolfinx_eqlb is decribed on
github. The easiest way is the creation of a Docker container. Alternatively, a copy of the the docker image of dolfinx_eqlb is provided within this repository. In order to use it, download the .tar.gz archive, navigate into the folder where the download is located and run
$ cd "patch_to_folder"
$ docker load --input dockerimage-dolfinx_eqlb-v1.0.0.tar.gz
Use persistent identifiers from Software Heritage (
) to cite individual files or even lines of the source code.