EquilibratedFlux.jl
This package is based on Gridap.jl to provide post-processing tools to calculate reconstructed fluxes associated to the given approximate solution of a PDE.
For simplicity, we consider here the Poisson equation
\begin{align}
- \Delta u &= f &&\text{in }\Omega\\
u &= g &&\text{on }\partial\Omega.
\end{align}
We suppose we have already computed a conforming approximation $u_h \in V_h\subset H^1_0(\Omega)$ to the solution $u$ in Gridap.jl by solving
(\nabla u_h, \nabla v_h) = (f, v_h)\quad\forall v_h\in V_h,
The EquilibratedFlux.jl
library then provides the tools to compute a reconstructed flux
associated to $u_h$. This flux, obtained by postprocessing, is an approximation to the numerical flux, i.e.
\sigma_h \approx -\nabla u_h.
This flux has the important property of being "conservative over faces" in the sense that
\sigma_h \in \mathbf{H}(\mathrm{div},\Omega).
We provide two functions to obtain such an object:
build_equilibrated_flux
and
build_averaged_flux
both provide reconstructed fluxes, which we denote by $\sigma_{\mathrm{eq},h}$
and $\sigma_{\mathrm{ave},h}$ respectively.
In addition to the properties listed above, the equilibrated flux $\sigma_{\mathrm{eq},h}$ satisfies the so-called equilibrium condition, i.e., for piecewise polynomial $f$, we have
\nabla\cdot\sigma_{\mathrm{eq},h} = f.
More details can be found in the documentation.
Examples / Tutorials
Error estimation
The reconstructed flux is the main ingredient in computing a posteriori error estimators.
Mesh refinement
Estimators obtained using the equilibrated flux can be used to drive an Adaptive Mesh Refinement (AMR) precedure, demonstrated here for the Laplace problem in an L-shaped domain.