EquilibratedFlux.jl

Stable Dev Build Status

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.