<a name="Doc-Start"></a>

# A posteriori error estimation for coarse or distorted meshes



Franz Chouly<sup>∗</sup>​



Michel Duprez<sup>†</sup>​



Claudio Lobos<sup>‡</sup>​



Zuqi Tang<sup>§</sup>​

**Abstract**

Finite element simulations carried out on meshes issued from real\-world geometries — patient\-specific anatomies, scanned industrial parts, fractured media — almost never satisfy the shape\-regularity assumptions under which classical a posteriori error analysis is written\. Practitioners are therefore left without a quantitative answer to a very legitimate question: *how wrong is my simulation when my mesh is coarse and contains badly shaped elements?*

In this work, we study to which extent equilibrated flux estimators can provide such an answer\. Indeed, they deliver a guaranteed and fully computable upper bound of the energy\-norm discretization error, with a constant equal to one; and, crucially for the present study, its derivation uses no shape\-regularity, quasi\-uniformity or angle condition\. The only geometric ingredient is the Poincaré constant on a single cell, which Payne and Weinberger showed to be at most $h_{K}{/}π$ on *any* &#99;onvex cell ${K{\textstyle \text{,}}}$ however distorted ${{\textstyle \text{(}}h_{K}}$ being the cell size)\. Mesh quality affects the local efficiency — the sharpness of the estimator — but never its reliability, so that the failure mode under distortion is pessimism rather than false confidence\.

We study the case of conforming Lagrange finite element methods: the analysis is written for general cells in two and three space dimensions, and the numerical experiments are carried out with simplicial elements in two dimensions\. We detail two flux reconstructions — a global $H(\operatorname{div}\nolimits )$ mixed one and the patchwise one (in the spirit of works from Braess and Schöberl or Ern and Vohralík) — and we map the geometric quality measures used by the meshing community onto the constants that do, and do not, appear in the analysis\. The estimator is then assessed numerically on families of coarse, locally damaged, anisotropic and globally distorted meshes, against the residual, Zienkiewicz–Zhu\-type recovery and Bank–Weiser estimators, and a duality argument extends the guarantee to a quantity of interest\.

Across the $49$ computations reported here — including meshes of a letter glyph produced by two independent meshers, one of which ships with a zero\-area cell — the guaranteed bound never failed, while the recovery estimator reported *less* &#101;rror than was committed in every run on a mesh of the unit square\. The Bank–Weiser estimator is sharper on every well\-shaped mesh, but a single needle cell out of two thousand costs it a factor of $2.{6{\textstyle \text{,}}}$ and it falls below the true error on the L\-shaped domain, where nothing in its output signals the failure\. The two reconstructions of the guaranteed bound are found to degrade under *different* &#100;istortions: the global one under global anisotropy, the patchwise one under an accumulation of flattened cells within a single patch\.

**Keywords\.** &#97; posteriori error estimation; distorted meshes; equilibrated fluxes; finite element method; guaranteed error bounds; mesh quality\.

**Mathematics Subject Classification\.** &#54;5N15, 65N30, 65N50\.

<a name="section.1"></a>

## 1 Introduction

In an idealised numerical analysis paper, the mesh is a parameter of the method: it is refined at will, it is shape\-regular, and asymptotic statements in mesh size $h$ are meaningful\. In a large part of engineering and biomedical practice, the situation is reversed: the mesh is a *datum*&#46; It is produced by an automatic mesher from a segmented medical image, from a CAD model with slivers, or from a geometry containing thin features and cracks; it is as coarse as the computing budget allows; and it contains a small (or not so small) number of elements that any quality criterion would reject\. Remeshing may be impossible (the geometry is not available any more), or undesirable (the mesh carries material data, or is the output of a registration procedure as in, *e\.g\.*&#44; \[[BLP10](<#cite.bucki2010>), [Lob13](<#cite.lobos2013>)\])\.

The question addressed here is therefore not *how to build a better mesh*&#44; but rather: *given this mesh and this solution, what is the guaranteed accuracy of the computed quantity?* &#65;ny answer that involves an unspecified generic constant $C$ — as is the case for the classical explicit residual estimator — is of little practical use, and any answer whose validity is conditioned on a shape\-regularity parameter is precisely useless in the regime we target, since that parameter blows up\. What is wanted is a number that is computable from the data at hand, that is an upper bound with no hidden constant, and whose derivation does not quietly assume the mesh to be good\.

##### A posteriori error estimation\.

<a name="section*.1"></a> A posteriori error estimation started with Babuška and Rheinboldt \[[BR78](<#cite.babuskarheinboldt1978>)\]; the literature is now vast, and we refer to the monographs of Ainsworth and Oden \[[AO00](<#cite.ainsworthoden2000>)\], Verfürth \[[Ver13](<#cite.verfurth2013>)\], Repin \[[Rep08](<#cite.repin2008>)\], to the survey of Nochetto, Siebert and Veeser \[[NSV09](<#cite.nochetto2009>)\] for the adaptive side, and to the lecture notes of Vohralík \[[Voh20](<#cite.vohralik_notes>)\], which we follow closely in Section [7](<#section.7>)\.

Equilibrated flux estimators are based on ideas from Prager–Synge \[[PS47](<#cite.pragersynge1947>)\] and early contributions date back to the pioneering work of Ladèveze \[[LL83](<#cite.ladeveze1983>), [LP04](<#cite.ladeveze2004>)\]; later contributions include Destuynder–Métivet \[[DM99](<#cite.destuynder1999>)\], Luce–Wohlmuth \[[LW04](<#cite.luce2004>)\], Braess–Schöberl \[[BS08](<#cite.braess2008>), [BPS09](<#cite.braess2009>)\], Ern–Vohralík \[[EV15](<#cite.ernvohralik2015>), [EV20](<#cite.ernvohralik2020>)\], Carstensen–Merdon \[[CM13](<#cite.carstensen2013>), [CM14](<#cite.carstensen2014>)\], Becker–Capatina–Luce \[[BCL16](<#cite.becker2016>)\], all of which give a guaranteed bound with constant one\. Their common root is convex duality and the primal–dual gap: see Repin \[[Rep00](<#cite.repin2000>), [Rep08](<#cite.repin2008>)\], Han \[[Han05](<#cite.han2005>)\], and, more recently and in a much broader nonsmooth setting, Bartels and Kaltenbach \[[BK23](<#cite.bartels2023>)\]\. We come back to this reading in Remark [7\.5](<#remark.7.5>)\. Fully computable bounds of residual type also exist, at the price of a careful tracking of the interpolation constants: see Veeser and Verfürth \[[VV09](<#cite.veeser2009>)\] and Carstensen and Merdon \[[CMN13](<#cite.carstensen2013aspects>), [CM14](<#cite.carstensen2014>)\]\. Those constants still depend on the element shapes, which is exactly what we want to avoid here\.

##### Finite elements on bad meshes\.

<a name="section*.2"></a> On the a priori side, it is classical since Babuška and Aziz \[[BA76](<#cite.babuskaaziz1976>)\] that the *minimum* &#97;ngle condition can be replaced by a *maximum* &#97;ngle condition in 2D, and by suitable variants in 3D \[[Kří92](<#cite.krizek1992>)\]; anisotropic interpolation theory \[[Ape99](<#cite.apel1999>), [FP01](<#cite.formaggia2001>), [Pic03](<#cite.picasso2003>)\] pushes this further\. Duprez, Lleras and Lozinski \[[DLL19](<#cite.duprez2019damage>)\] showed that a *locally damaged* &#109;esh — a few arbitrarily distorted cells in an otherwise regular mesh — does not spoil the convergence rate, nor irreparably the conditioning\.

##### Mesh quality measures\.

<a name="section*.3"></a> The meshing community quantifies element quality through geometric or algebraic measures: aspect ratio, minimum/maximum dihedral angle, (scaled) Jacobian, condition number of the Jacobian, mean ratio, and their many variants; see the monograph of Frey and George \[[FG08](<#cite.freygeorge2008>)\], the algebraic framework of Knupp \[[Knu01](<#cite.knupp2001>)\] and the discussion of Shewchuk \[[She02](<#cite.shewchuk2002>)\] on which of those measures actually control interpolation error and conditioning\. One contribution of the present work is to connect these practical measures with the constants that appear (and, more importantly, with those that do *not* &#97;ppear) in the equilibrated flux analysis\.

<a name="subsection.1.1"></a>

### 1\.1 Contributions and outline

1. <a name="Item.1"></a>We revisit the equilibrated flux framework with an explicit tracking of the diffusion parameter $μ$ and of *every* &#103;eometric assumption used in the derivation of the upper bound (Sections [2](<#section.2>)–[7](<#section.7>))\. We isolate the single place where geometry enters — the Poincaré constant on a cell, Lemma [7\.7](<#lemma.7.7>) — and we explain how to keep the bound guaranteed on non\-convex cells\.

2. <a name="Item.2"></a>We review the geometric quality measures used in meshing and map them onto the constants of the analysis (Section [6](<#section.6>)), distinguishing between what affects the *guarantee* &#40;almost nothing) and what affects the *efficiency* &#40;a lot)\.

3. <a name="Item.3"></a>We describe two flux reconstructions (Sections [7\.4](<#subsection.7.4>) and [7\.5](<#subsection.7.5>)): a global mixed one, in which the flux is sought in a Raviart–Thomas or Brezzi–Douglas–Marini subspace of $\boldsymbol{H}(\operatorname{div}\nolimits ,\mathrm{Ω})$ over the whole mesh, expensive but trivial to implement, and the patchwise one of Braess–Schöberl / Ern–Vohralík, cheap and parallel, and we discuss the practical pitfalls on distorted cells\. Both are implemented, and Section [10\.8](<#subsection.10.8>) shows that they are not interchangeable under distortion: they lose sharpness under *different* &#103;eometric defects\.

4. <a name="Item.4"></a>We compare with the residual, Zienkiewicz–Zhu\-type recovery and Bank–Weiser estimators (Section [8](<#section.8>)) and quantify how each of them degrades with distortion\. The comparison with Bank–Weiser (Section [10\.10](<#subsection.10.10>)) is the substantive one: it is the sharper estimator on any mesh one would choose, and the more fragile on any mesh one would not choose\.

5. <a name="Item.5"></a>We extend the guaranteed bound to a quantity of interest via a duality argument (Section [9](<#section.9>)), and we verify numerically that the resulting product bound is also insensitive to an isolated degenerate cell (Section [10\.13](<#subsection.10.13>))\.

6. <a name="Item.6"></a>We report numerical experiments (Section [10](<#section.10>)) on families of coarse, damaged, anisotropic and globally distorted meshes, and on the real meshes mentioned above\. All the code is available and every table and figure in the paper is regenerated by it\.

##### What is, and what is not, new\.

<a name="section*.4"></a> None of the theory of Section [7](<#section.7>) is new: the hypercircle identity is due to Prager and Synge \[[PS47](<#cite.pragersynge1947>)\], the relaxation to cellwise equilibration and the patchwise reconstruction are due to Vohralík and coworkers \[[Voh20](<#cite.vohralik_notes>), [EV15](<#cite.ernvohralik2015>)\] and to Braess and Schöberl \[[BS08](<#cite.braess2008>)\]\. What we claim is a change of *reading*&#46; The absence of any shape\-regularity hypothesis in the upper bound is, in that literature, a technical remark; here it is the object of the study, and we track it deliberately — isolating the one geometric ingredient that does appear (Lemma [7\.7](<#lemma.7.7>)), stating what breaks when it fails (Remark [7\.8](<#remark.7.8>)), and measuring, rather than asserting, how much sharpness distortion actually costs\. The mapping between the quality measures that meshing software reports and the constants that the analysis contains (Section [6](<#section.6>)) is, to our knowledge, not written down anywhere\. The experimental observations of Section [10](<#section.10>) — that the two reconstructions of the same guaranteed bound degrade under different defects, that Bank–Weiser is sensitive to a collapsed edge and not to a collapsed area, and that no single quality measure of Definition [6\.1](<#definition.6.1>) predicts the local effectivity — are, likewise, new\.

##### Scope\.

<a name="section*.5"></a> We restrict ourselves to the Poisson problem with a piecewise constant coefficient, to conforming Lagrange elements, and — in the experiments — to two space dimensions and low order piecewise linear finite element approximation\. These choices are motivated by the following\. The phenomenon we want to isolate is geometric, and every additional feature of the model would make it harder to attribute an effect to the mesh alone\. The consequences of relaxing each of these restrictions are discussed in Section [11](<#section.11>)\. We also do not address the algebraic error: all linear systems below are solved by a direct method\.

<a name="section.2"></a>

## 2 Notation

Let $\mathrm{Ω}⊂{\mathbb{R}^{d}{\textstyle \text{,}}}$ $d∈\{2,3{{\}}{\textstyle \text{,}}}$ be a bounded Lipschitz polytopal domain with boundary $\mathrm{Γ}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}{∂}{\mathrm{Ω}{\textstyle \text{.}}}$ For $ω⊆\mathrm{Ω}$ we write $\mathinner{\left(\cdot ,\cdot \right)}_{ω}$ for the $L^{2}(ω)$ scalar product (as well as for its vector\-valued counterpart) and $\mathopen{\Vert }\cdot \mathclose{\Vert }_{ω}$ for the associated norm; the subscript is dropped when $ω={\mathrm{Ω}{\textstyle \text{.}}}$ We use the standard Sobolev spaces $H^{1}(\mathrm{Ω}{{)}{\textstyle \text{,}}}$ $V\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}H_{0}^{1}(\mathrm{Ω}{{)}{\textstyle \text{,}}}$ and

$$
\boldsymbol{H}(\operatorname{div}\nolimits ,\mathrm{Ω})\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}\{\boldsymbol{τ}∈[L^{2}(\mathrm{Ω})]^{d}\kern3.630539pt \mathrel{:}\kern3.630539pt \operatorname{div}\nolimits \boldsymbol{τ}∈L^{2}(\mathrm{Ω})\}.
$$

For $\boldsymbol{τ}∈\boldsymbol{H}(\operatorname{div}\nolimits ,\mathrm{Ω})$ and $v∈{V{\textstyle \text{,}}}$ the Green formula

<a name="equation.1"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}\mathinner{\left(\boldsymbol{τ},{∇}v\right)}_{\mathrm{Ω}}+\mathinner{\left(\operatorname{div}\nolimits \boldsymbol{τ},v\right)}_{\mathrm{Ω}}=0&\text{(1)}\end{array}}
$$

holds (the boundary term vanishes since $v$ has zero trace)\.

<a name="section.3"></a>

## 3 Model problem

Let $μ>0$ be a physical parameter, assumed piecewise constant on the mesh introduced below, and let $f∈L^{2}(\mathrm{Ω}{{)}{\textstyle \text{.}}}$ We consider the Poisson problem with homogeneous Dirichlet boundary conditions:

<a name="equation.2"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}−{\mathrm{d}\mathrm{i}\mathrm{v}}\kern3.630539pt (μ{∇}u)=f\kern10.887878pt {\text{in}\kern0.33155616em }\mathrm{Ω},\kern21.775757pt u=0\kern10.887878pt {\text{on}\kern0.33155616em }\mathrm{Γ}.&\text{(2)}\end{array}}
$$

Define the bilinear and linear forms

<a name="equation.3"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}a(v,w)\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}\mathinner{\left(μ{∇}v,{∇}w\right)}_{\mathrm{Ω}},\kern21.775757pt ℓ(v)\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}\mathinner{\left(f,v\right)}_{\mathrm{Ω}},\kern21.775757pt v,w∈V,&\text{(3)}\end{array}}
$$

so that the weak formulation reads: find $u∈V$ such that

<a name="equation.4"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}a(u,v)=ℓ(v),\kern21.775757pt {∀}v∈V.&\text{(4)}\end{array}}
$$

By Lax–Milgram, ([4](<#equation.4>)) is well posed\. We measure the error in the *energy norm*

<a name="equation.5"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }v{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}\mathopen{\Vert }μ^{1{/}2}{∇}v\mathclose{\Vert }_{\mathrm{Ω}},\kern21.775757pt {\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }v{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }_{ω}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}\mathopen{\Vert }μ^{1{/}2}{∇}v\mathclose{\Vert }_{ω},&\text{(5)}\end{array}}
$$

and we associate with it the dual norm on fluxes, $\mathopen{\Vert }μ^{−1{/}2}\boldsymbol{τ}{{\mathclose{\Vert }_{ω}}{\textstyle \text{.}}}$ The *exact flux* &#105;s

<a name="equation.6"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}\boldsymbol{σ}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}{−}μ{∇}u∈\boldsymbol{H}(\operatorname{div}\nolimits ,\mathrm{Ω}),\kern21.775757pt \operatorname{div}\nolimits \boldsymbol{σ}=f\kern3.630539pt {\kern0.33155616em \text{in}\kern0.33155616em }\mathrm{Ω}.&\text{(6)}\end{array}}
$$

<a name="section.4"></a>

## 4 The mesh

Let $\mathcal{T}_{h}$ be a partition of $\overline{\mathrm{Ω}}$ into closed cells $K$ with $\overline{\mathrm{Ω}}=⋃\nolimits _{K∈\mathcal{T}_{h}}K$ and $\mathring{K}∩\mathring{K^{\prime }}={\emptyset }$ for ${{{K\mkern5mu {{\rlap{\text{\(\textstyle \kern0em /\)}}}\mkern-5mu \mathrel{}=}\mkern-5mu \mathrel{}K^{\prime }}{\textstyle \text{.}}}}$ We assume only that $\mathcal{T}_{h}$ is

<a name="assumption.4.1"></a>**Assumption 4\.1** &#40;Admissible mesh&#41;**\.**

- **(M1)** <a name="Item.7"></a>*matching*&#58; the intersection of two distinct cells is either empty, or a common vertex, edge or face (no hanging node)[<sup>1</sup>](<#Hfootnote.1>)\.

- **(M2)** <a name="Item.8"></a>each cell $K$ is the image of a fixed reference cell $\widehat{K}$ (simplex, quadrilateral/hexahedron, prism, \. \. \. ) by a smooth, invertible map $F_{K}\mathrel{:}\widehat{K}\mathrel{→}K$ with $\operatorname{det}\nolimits (\mathbb{J}_{K})>0$ everywhere on ${\widehat{K}{\textstyle \text{,}}}$ where $\mathbb{J}_{K}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}\mathrm{D}{F_{K}{\textstyle \text{;}}}$

- **(M3)** <a name="Item.9"></a>$μ$ is constant on each ${K{\textstyle \text{,}}}$ with value ${μ_{K}{\textstyle \text{.}}}$

We stress what is *not* &#97;ssumed: no shape regularity ${{\textstyle \text{(}}h_{K}}{/}ρ_{K}≤{γ{\textstyle \text{,}}}$ with $ρ_{K}$ the inradius), no quasi\-uniformity ${{\textstyle \text{(}}{\operatorname{max}\nolimits _{K}}}\mkern3mu h_{K}{/}\operatorname{min}\nolimits _{K}h_{K}≤{γ{\textstyle \text{),}}}$ no minimum nor maximum angle condition, no bound on the number of cells sharing a vertex, no convexity of the cells\. The mesh may be a simplicial one, a tensor\-product one, or a mixed one\.

We write $h_{K}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}\operatorname{diam}\nolimits (K{{)}{\textstyle \text{,}}}$ $h\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}\operatorname{max}\nolimits _{K∈\mathcal{T}_{h}}{h_{K}{\textstyle \text{,}}}$ and $\mathcal{F}_{h}$ for the set of faces, split into interior faces $\mathcal{F}_{h}^{i}$ and boundary faces ${\mathcal{F}_{h}^{b}{\textstyle \text{.}}}$ The set of vertices is $\mathcal{V}_{h}=\mathcal{V}_{h}^{i}∪\mathcal{V}_{h}^{b}$ (interior / boundary)\. For a vertex $\mathrm{a}∈{\mathcal{V}_{h}{\textstyle \text{,}}}$ $ω_{\mathrm{a}}$ denotes the patch of cells sharing $\mathrm{a}$ and $ψ_{\mathrm{a}}$ the associated $\mathbb{P}_{1}$ hat function ${{\textstyle \text{(}}{\operatorname{supp}\nolimits }}\mkern3mu ψ_{\mathrm{a}}={ω_{\mathrm{a}}{\textstyle \text{,}}}$ $∑\nolimits _{\mathrm{a}}ψ_{\mathrm{a}}\mathrel{≡}{1{\textstyle \text{).}}}$ For a cell ${K{\textstyle \text{,}}}$ $ω_{K}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}⋃\nolimits \{ω_{\mathrm{a}}\mathrel{:}\mathrm{a}∈K{{\}}{\textstyle \text{.}}}$

<a name="section.5"></a>

## 5 The finite element method

Let $k≥1$ and let

<a name="equation.7"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}V_{h}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}\{v_{h}∈V\kern3.630539pt \mathrel{:}\kern3.630539pt v_{h}\circ F_{K}∈\mathbb{P}_{k}(\widehat{K})\kern3.630539pt \kern3.630539pt {∀}K∈\mathcal{T}_{h}\}⊂V&\text{(7)}\end{array}}
$$

be the conforming Lagrange finite element space ${{\textstyle \text{(}}\mathbb{Q}_{k}}$ on tensor\-product cells); we refer to \[[Bra07](<#cite.braess2007>), [EG21](<#cite.ernguermond2021>)\] for the general theory\. The discrete problem reads: find $u_{h}∈V_{h}$ such that

<a name="equation.8"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}a(u_{h},v_{h})=ℓ(v_{h}),\kern21.775757pt {∀}v_{h}∈V_{h}.&\text{(8)}\end{array}}
$$

Conformity $V_{h}⊂V$ gives Galerkin orthogonality

<a name="equation.9"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}a(u−u_{h},v_{h})=0,\kern21.775757pt {∀}v_{h}∈V_{h},&\text{(9)}\end{array}}
$$

which we will use twice: to obtain the Prager–Synge identity, and — crucially — to guarantee the solvability of the local Neumann problems of Section [7\.5](<#subsection.7.5>)\.

<a name="remark.5.1"></a>*Remark* &#53;\.1 (Conformity&#41;*\.* &#66;ecause $V_{h}⊂{V{\textstyle \text{,}}}$ no *potential* &#114;econstruction is needed and the framework of \[[Voh20](<#cite.vohralik_notes>), [EV15](<#cite.ernvohralik2015>)\] simplifies to a flux reconstruction only\. For nonconforming, DG or mixed discretizations, the estimator gains a nonconformity term; see \[[EV15](<#cite.ernvohralik2015>)\]\.

<a name="section.6"></a>

## 6 Measuring the quality of a mesh

This section collects the quality measures that a mesher produces, and confronts them with the constants of the a posteriori analysis\. Throughout, $\mathbb{J}_{K}(\widehat{\boldsymbol{x}})=\mathrm{D}F_{K}(\widehat{\boldsymbol{x}})∈\mathbb{R}^{d×d}$ denotes the Jacobian matrix of the geometric map at $\widehat{\boldsymbol{x}}∈{\widehat{K}{\textstyle \text{,}}}$ with singular values

$$
ς_{1}(K)≥\mathinner{\mathpunct{\cdot }\mathpunct{\cdot }\mathpunct{\cdot }}≥ς_{d}(K)>0.
$$

<a name="subsection.6.1"></a>

### 6\.1 Geometric and algebraic quality measures

<a name="definition.6.1"></a>**Definition 6\.1** &#40;Usual quality measures&#41;**\.** &#70;or a cell $K$ we consider

- **(Q1)** <a name="Item.10"></a>the *shape\-regularity ratio* $γ_{K}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}h_{K}{/}{ρ_{K}{\textstyle \text{,}}}$ $ρ_{K}$ being the diameter of the largest ball inscribed in ${K{\textstyle \text{;}}}$

- **(Q2)** <a name="Item.11"></a>the *aspect ratio* $α_{K}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}ς_{1}(K){/}ς_{d}(K{{)}{\textstyle \text{,}}}$ i\.e\. the condition number of $\mathbb{J}_{K}$ in the spectral norm (for triangles we take $\widehat{K}$ equilateral here, so that $α_{K}=1$ characterises the equilateral cell and the value does not depend on the numbering of the vertices);

- **(Q3)** <a name="Item.12"></a>the *scaled Jacobian* $s_{K}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}\operatorname{min}\nolimits _{\widehat{{\textstyle \kern0pt \scriptstyle \boldsymbol{x}\scriptstyle }}}{\mathinner{\left[\vcenter{\rule[0em]{0em}{1.79999136em}}\right.}}\operatorname{det}\nolimits (\mathbb{J}_{K}(\widehat{\boldsymbol{x}})){\mathinner{\left/\vcenter{\rule[0em]{0em}{1.1999947em}}\right.}}∏\nolimits _{i=1}^{d}\mathopen{\Vert }(\mathbb{J}_{K}(\widehat{\boldsymbol{x}}))_{\mathrel{:},i}\mathclose{\Vert }_{2}{\mathinner{\left]\vcenter{\rule[0em]{0em}{1.79999136em}}\right.}}∈[{−}1,1]$ equal to $1$ when the columns of $\mathbb{J}_{K}$ are orthogonal and tending to $0$ for a flat (sliver, cap, needle) element, and negative for an inverted one, i\.e\. one whose vertices are traversed in the wrong orientation ( $\operatorname{det}\nolimits (\mathbb{J}_{K})<{0{\textstyle \text{),}}}$ which [(M2)](<#Item.8>) excludes\. For a triangle the bracket is the sine of the angle at the vertex onto which $F_{K}$ maps the origin of ${\widehat{K}{\textstyle \text{;}}}$ to make the measure independent of the numbering of the vertices we take, as mesh\-quality software does, its minimum over the three corners, $s_{K}=\operatorname{min}\nolimits _{i}\operatorname{sin}\nolimits θ_{i}(K{{)}{\textstyle \text{,}}}$ $θ_{i}(K)$ being the angles of ${K{\textstyle \text{.}}}$ This equals $1{/}\sqrt{2}\mathrel{≈}0.71$ on the right triangles of a structured mesh (the value $s_{\operatorname{min}\nolimits }$ reported for family [(F1)](<#Item.41>) in Section [10](<#section.10>)), $\sqrt{3}{/}2$ on the equilateral triangle, and is of order $t$ for both the needle and the cap of family [(F3)](<#Item.43>);

- **(Q4)** <a name="Item.13"></a>the *Frobenius condition number* $κ_{K}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}{\frac{1}{d}}\mkern3mu \mathopen{\Vert }\mathbb{J}_{K}\mathclose{\Vert }_{F}\mathopen{\Vert }\mathbb{J}_{K}^{−1}\mathclose{\Vert }_{F}≥1$ and the associated *mean ratio* $1{/}κ_{K}$ \[[Knu01](<#cite.knupp2001>)\];

- **(Q5)** <a name="Item.14"></a>the extremal angles $θ_{\operatorname{min}\nolimits }(K{{)}{\textstyle \text{,}}}$ $θ_{\operatorname{max}\nolimits }(K)$ (dihedral angles in 3D)\.

These measures are not equivalent, and the differences matter\. In 2D, a triangle family with $θ_{\operatorname{max}\nolimits }\mathrel{→}π$ &#40;*cap*&#41; and one with $θ_{\operatorname{min}\nolimits }\mathrel{→}0$ but $θ_{\operatorname{max}\nolimits }$ bounded away from $π$ &#40;*needle*&#41; both have $γ_{K}\mathrel{→}{{∞}{\textstyle \text{,}}}$ but only the first one destroys the $H^{1}$ interpolation error \[[BA76](<#cite.babuskaaziz1976>), [She02](<#cite.shewchuk2002>)\]\. This is a first hint that the classical shape\-regularity ratio [(Q1)](<#Item.10>) is a crude proxy\.

<a name="subsection.6.2"></a>

### 6\.2 Where does geometry enter the analysis?

Let us anticipate on Section [7](<#section.7>) and list the constants involved\.

- **(C1)** <a name="Item.15"></a>**Poincaré constant on a cell\.** &#84;he upper bound uses

    $$
    \mathopen{\Vert }φ−{\overline{φ}}_{K}\mathclose{\Vert }_{K}≤C_{P,K}\mkern3mu h_{K}\mathopen{\Vert }{∇}φ\mathclose{\Vert }_{K},\kern21.775757pt φ∈H^{1}(K),
    $$

    where ${\overline{φ}}_{K}$ is the mean value of $φ$ over ${K{\textstyle \text{.}}}$ By Payne–Weinberger \[[PW60](<#cite.payneweinberger1960>)\], $C_{P,K}≤1{/}π$ for *any convex* ${K{\textstyle \text{,}}}$ regardless of its shape — a needle, a sliver or a cap triangle all admit $C_{P,K}=1{/}{π{\textstyle \text{,}}}$ and no better uniform value is available since $1{/}π$ is attained in the limit of a thin slab\. This is *the* &#114;eason why the guaranteed bound survives distortion\. Convexity is however essential: for a non\-convex cell the constant need not be $1{/}π$ (see Remark [7\.8](<#remark.7.8>))\.

- **(C2)** <a name="Item.16"></a>**Cauchy–Schwarz\.** &#85;sed several times, constant one, no geometry\.

- **(C3)** <a name="Item.17"></a>**Local equilibration solvability\.** &#73;nvolves only Galerkin orthogonality ([9](<#equation.9>)) and the partition of unity, no geometry\.

- **(C4)** <a name="Item.18"></a>**Efficiency (lower bound)\.** &#84;he bound $η_{K}\mathrel{\lesssim }{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }_{ω_{K}}+\operatorname{osc}\nolimits _{K}$ relies on bubble\-function / discrete stability arguments whose constants *do* &#100;egenerate with ${γ_{K}{\textstyle \text{,}}}$ with ${α_{K}{\textstyle \text{,}}}$ and with the number of cells in a patch \[[EV15](<#cite.ernvohralik2015>), [BPS09](<#cite.braess2009>)\]\.

- **(C5)** <a name="Item.19"></a>**Conditioning and a priori error\.** &#78;ot the subject here, but recall that the condition number of the stiffness matrix and the interpolation constants degrade with $α_{K}$ and $θ_{\operatorname{max}\nolimits }$ \[[She02](<#cite.shewchuk2002>), [DLL19](<#cite.duprez2019damage>)\]\.

The message is summarised in Table [1](<#table.caption.6>)\.

<a name="table.caption.6"></a>

|  |  |  |  |
| --- | --- | --- | --- |
|  | guaranteed | efficiency | cost |
|  | upper bound | (lower bound) |  |
| Explicit residual | no (unknown ${C{\textstyle \text{)}}}$ | degenerates | cheap |
| Fully computable residual \[[VV09](<#cite.veeser2009>), [CM14](<#cite.carstensen2014>)\] | yes, $C$ shape\-dependent | degenerates | cheap |
| Zienkiewicz–Zhu \[[ZZ87](<#cite.zz1987>)\] | no | asympt\. exact | very cheap |
|  |  | if regular |  |
| Bank–Weiser \[[BW85](<#cite.bankweiser1985>), [BHL<sup>\+</sup>23](<#cite.bulle2023>)\] | under saturation | degenerates | moderate |
| **Equilibrated flux** | **yes,** $C={1{\textstyle \textbf{,}}}$ | **degenerates** | **moderate** |
|  | **geometry\-free** |  |  |



**Table 1:** &#83;ensitivity of the main estimator families to the mesh quality\. Only the *sharpness* &#111;f the equilibrated flux estimator is affected by distortion; its *reliability* &#105;s not\.

<a name="subsection.6.3"></a>

### 6\.3 A quality field to be correlated with the estimator

For the numerical section we define, for each cell, the vector of quality indicators

<a name="equation.10"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}\mathbf{q}_{K}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}{\textstyle \mathinner{\left(\vcenter{\rule[0em]{0em}{1.1999947em}}\right.}\displaystyle }γ_{K},\kern3.630539pt α_{K},\kern3.630539pt s_{K},\kern3.630539pt κ_{K},\kern3.630539pt θ_{\operatorname{min}\nolimits }(K),\kern3.630539pt θ_{\operatorname{max}\nolimits }(K){\textstyle \mathinner{\left)\vcenter{\rule[0em]{0em}{1.1999947em}}\right.}\displaystyle },&\text{(10)}\end{array}}
$$

and we will study the empirical correlation between $\mathbf{q}_{K}$ and the local effectivity index

<a name="equation.11"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}I_{K}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}{\frac{η_{K}}{{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }_{ω_{K}}}},\kern21.775757pt η_{K}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}η_{K}^{\mathrm{F}}+η_{K}^{\mathrm{R}},&\text{(11)}\end{array}}
$$

the local indicators ${η_{K}^{\mathrm{F}}{\textstyle \text{,}}}$ $η_{K}^{\mathrm{R}}$ being defined in ([18](<#equation.18>))–([17](<#equation.17>)) below\.

The claim to be tested is that the global effectivity index ([24](<#equation.24>)) stays $O(1)$ under distortion for the equilibrated flux estimator, whereas its residual and Zienkiewicz–Zhu counterparts drift — and, in the case of the latter, drifts *below* &#111;ne, which is the dangerous direction\.

<a name="section.7"></a>

## 7 A posteriori error estimation

We now come to the a posteriori error estimates\. The guiding thread is the equilibrated flux methodology: it is the only one, among those recalled in Section [8](<#section.8>), whose upper bound is both fully computable and free of any assumption on the geometry of the cells\.

<a name="subsection.7.1"></a>

### 7\.1 The Prager–Synge identity

<a name="definition.7.1"></a>**Definition 7\.1** &#40;Admissible flux&#41;**\.** &#65; vector field $\boldsymbol{p}$ is *admissible* &#102;or ([2](<#equation.2>)) if

<a name="equation.12"></a><a name="AMS.7"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}\boldsymbol{p}∈\boldsymbol{H}(\operatorname{div}\nolimits ,\mathrm{Ω})\kern10.887878pt \text{and}\kern10.887878pt \operatorname{div}\nolimits \boldsymbol{p}=f\kern3.630539pt {\kern0.33155616em \text{in}\kern0.33155616em }\mathrm{Ω}.&{\text{(AC)}}\end{array}}
$$

<a name="theorem.7.2"></a>**Theorem 7\.2** &#40;Prager–Synge \[[PS47](<#cite.pragersynge1947>)\]&#41;**\.** *&#76;et* $u∈V$ *solve* &#40;[4](<#equation.4>)&#41;*, let* $\boldsymbol{p}$ *satisfy* &#40;[AC](<#AMS.7>)) *and let* $v∈V$ *be arbitrary\. Then*



$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}\mathopen{\Vert }μ^{−1{/}2}\mathinner{\left(\boldsymbol{p}+μ{∇}v\right)}\mathclose{\Vert }^{2}=\mathopen{\Vert }μ^{−1{/}2}\mathinner{\left(\boldsymbol{p}−\boldsymbol{σ}\right)}\mathclose{\Vert }^{2}+{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−v{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }^{2}.&\text{(12)}\end{array}}
$$

*Proof\.* &#87;rite $\boldsymbol{p}+μ{∇}v=(\boldsymbol{p}−\boldsymbol{σ})+μ{∇}(v−u{{)}{\textstyle \text{,}}}$ using $\boldsymbol{σ}=−μ{∇}{u{\textstyle \text{.}}}$ Expanding the square,

$$
\mathopen{\Vert }μ^{−1{/}2}(\boldsymbol{p}+μ{∇}v)\mathclose{\Vert }^{2}=\mathopen{\Vert }μ^{−1{/}2}(\boldsymbol{p}−\boldsymbol{σ})\mathclose{\Vert }^{2}+{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−v{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }^{2}+2\mathinner{\left(\boldsymbol{p}−\boldsymbol{σ},{∇}(v−u)\right)}.
$$

Set $w\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}v−u∈{V{\textstyle \text{.}}}$ By ([1](<#equation.1>)) and ([AC](<#AMS.7>)), $\mathinner{\left(\boldsymbol{p},{∇}w\right)}=−\mathinner{\left(\operatorname{div}\nolimits \boldsymbol{p},w\right)}=−\mkern3mu {{\mathinner{\left(f,w\right)}}{\textstyle \text{,}}}$ while by ([4](<#equation.4>)), $\mathinner{\left(−\boldsymbol{σ},{∇}w\right)}=\mathinner{\left(μ{∇}u,{∇}w\right)}=a(u,w)={{\mathinner{\left(f,w\right)}}{\textstyle \text{.}}}$ The two contributions cancel, which is the *orthogonality property* &#97;t the heart of the identity\. □

<a name="corollary.7.3"></a>**Corollary 7\.3** &#40;Hypercircle bound&#41;**\.** *&#84;aking* $v=u_{h}$ *in* &#40;[12](<#equation.12>)) *and dropping the first term on the right,*

<a name="equation.13"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }\kern3.88765pt ≤\kern3.88765pt \operatorname*{inf}\limits _{{\textstyle \kern0pt \scriptstyle \boldsymbol{p}\scriptstyle }{\textstyle \kern0.28049982em \scriptstyle \textit{satisfying}\textstyle \kern0.28049982em \scriptstyle }{\text{(}\href{#AMS.7}{\text{AC}}\text{)}}}\mathopen{\Vert }μ^{−1{/}2}\mathinner{\left(\boldsymbol{p}+μ{∇}u_{h}\right)}\mathclose{\Vert }.&\text{(13)}\end{array}}
$$

Three features of ([13](<#equation.13>)) deserve emphasis, and they are the reason for this work:

1) <a name="Item.20"></a>the multiplicative constant is one: this is a true, quantitative bound on the error, not an asymptotic statement;

2) <a name="Item.21"></a>*every* &#97;dmissible $\boldsymbol{p}$ gives a valid bound, so the estimator is a *certificate* &#116;hat can be checked a posteriori;

3) <a name="Item.22"></a>nothing in the proof involves the mesh — in fact no mesh is needed at all, which suggests that the same machinery applies to meshless or immersed methods\.

The difficulty is of course that ([AC](<#AMS.7>)) is an equality of functions in $L^{2}(\mathrm{Ω}{{)}{\textstyle \text{,}}}$ and building a discrete field that satisfies it *exactly* &#102;or a general $f$ is out of reach in practice\. The next subsection removes this obstruction\.

Before doing so, we record the convex\-duality reading of ([12](<#equation.12>)), which explains *why* &#116;he constant is one\.

<a name="proposition.7.4"></a>**Proposition 7\.4** &#40;The estimator is a primal–dual gap&#41;**\.** *&#68;efine the primal and dual (complementary) energies*

<a name="equation.14"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}\mathcal{E}(v)\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}{\kern0pt \textstyle {\frac{1}{2}}}a(v,v)−ℓ(v),\kern11.105103pt v∈V,\kern22.210205pt \mathcal{E}^{∗}(\boldsymbol{p})\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}{−}{\kern0pt \textstyle {\frac{1}{2}}}\mathopen{\Vert }μ^{−1{/}2}\boldsymbol{p}\mathclose{\Vert }^{2},\kern11.105103pt \boldsymbol{p}{\kern0.35503659em \textit{satisfying}\kern0.35503659em }{\text{(}\href{#AMS.7}{\text{AC}}\text{)}}.&\text{(14)}\end{array}}
$$

*Then* $\operatorname{min}\nolimits _{v∈V}\mathcal{E}(v)=\mathcal{E}(u)=\mathcal{E}^{∗}(\boldsymbol{σ})=\operatorname{max}\nolimits _{{\textstyle \kern0pt \scriptstyle \boldsymbol{p}\scriptstyle }}\mathcal{E}^{∗}(\boldsymbol{p})$ *— there is no duality gap — and, for every* $v∈V$ *and every admissible* ${\boldsymbol{p}{\textstyle \textit{,}}}$

<a name="equation.15"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}\mathcal{E}(v)−\mathcal{E}^{∗}(\boldsymbol{p})={\kern0pt \textstyle {\frac{1}{2}}}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−v{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }^{2}+{\kern0pt \textstyle {\frac{1}{2}}}\mathopen{\Vert }μ^{−1{/}2}(\boldsymbol{p}−\boldsymbol{σ})\mathclose{\Vert }^{2}={\kern0pt \textstyle {\frac{1}{2}}}\mathopen{\Vert }μ^{−1{/}2}(\boldsymbol{p}+μ{∇}v)\mathclose{\Vert }^{2}.&\text{(15)}\end{array}}
$$

*Proof\.* &#83;ince $a(u,v)=ℓ(v{{)}{\textstyle \text{,}}}$ one has $\mathcal{E}(v)={\frac{1}{2}}a(v−u,v−u)−{\frac{1}{2}}a(u,u)={\frac{1}{2}}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−v{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }^{2}−{\frac{1}{2}}\mathopen{\Vert }μ^{1{/}2}{∇}u{{\mathclose{\Vert }^{2}}{\textstyle \text{.}}}$ On the other hand, for $\boldsymbol{p}$ admissible, ([1](<#equation.1>)) and ([4](<#equation.4>)) give $\mathinner{\left(μ^{−1}\boldsymbol{p},\boldsymbol{σ}\right)}=−\mathinner{\left(\boldsymbol{p},{∇}u\right)}=\mathinner{\left(\operatorname{div}\nolimits \boldsymbol{p},u\right)}=\mathinner{\left(f,u\right)}=\mathopen{\Vert }μ^{1{/}2}{∇}u{{\mathclose{\Vert }^{2}}{\textstyle \text{,}}}$ whence

$$
{\kern0pt \textstyle {\frac{1}{2}}}\mathopen{\Vert }μ^{−1{/}2}(\boldsymbol{p}−\boldsymbol{σ})\mathclose{\Vert }^{2}={\kern0pt \textstyle {\frac{1}{2}}}\mathopen{\Vert }μ^{−1{/}2}\boldsymbol{p}\mathclose{\Vert }^{2}−\mathopen{\Vert }μ^{1{/}2}{∇}u\mathclose{\Vert }^{2}+{\kern0pt \textstyle {\frac{1}{2}}}\mathopen{\Vert }μ^{−1{/}2}\boldsymbol{σ}\mathclose{\Vert }^{2}=−\mathcal{E}^{∗}(\boldsymbol{p})−{\kern0pt \textstyle {\frac{1}{2}}}\mathopen{\Vert }μ^{1{/}2}{∇}u\mathclose{\Vert }^{2},
$$

using $\mathopen{\Vert }μ^{−1{/}2}\boldsymbol{σ}\mathclose{\Vert }=\mathopen{\Vert }μ^{1{/}2}{∇}u{{\mathclose{\Vert }}{\textstyle \text{.}}}$ Adding the two displays gives the first equality in ([15](<#equation.15>)); the second one is Theorem [7\.2](<#theorem.7.2>)\. Taking $v=u$ and $\boldsymbol{p}=\boldsymbol{σ}$ shows that the gap vanishes, and non\-negativity of ([15](<#equation.15>)) gives weak duality\. □

<a name="remark.7.5"></a>*Remark* &#55;\.5 (Duality reading of the hypercircle&#41;*\.* &#80;roposition [7\.4](<#proposition.7.4>) says that the squared estimator $\mathopen{\Vert }μ^{−1{/}2}(\boldsymbol{σ}_{h}+μ{∇}u_{h})\mathclose{\Vert }^{2}$ is nothing but *twice the primal–dual gap* &#101;valuated at the computed pair $(u_{h},\boldsymbol{σ}_{h}{{)}{\textstyle \text{:}}}$ it is a by\-product of weak duality, which holds for any admissible pair and involves no discretization whatsoever\. This is why the constant is one, and this is the viewpoint — *a posteriori estimation by duality* &#8212; underlying the functional error estimates of Repin \[[Rep00](<#cite.repin2000>), [Rep08](<#cite.repin2008>)\] and Han \[[Han05](<#cite.han2005>)\]; Bartels and Kaltenbach \[[BK23](<#cite.bartels2023>)\] have recently extended it to general convex minimisation, including nonsmooth and degenerate problems, where the quadratic structure used above is unavailable\.

<a name="subsection.7.2"></a>

### 7\.2 The abstract framework of Vohralík: relaxing the admissibility condition

Following \[[Voh20](<#cite.vohralik_notes>), Chap\. 7\] and \[[EV15](<#cite.ernvohralik2015>)\] we only require equilibration *in the mean on each cell*&#46;

<a name="definition.7.6"></a>**Definition 7\.6** &#40;Equilibrated flux reconstruction&#41;**\.** &#65; field $\boldsymbol{σ}_{h}$ is an *equilibrated flux reconstruction* &#105;f

<a name="equation.16"></a><a name="AMS.8"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}\boldsymbol{σ}_{h}∈\boldsymbol{H}(\operatorname{div}\nolimits ,\mathrm{Ω})\kern10.887878pt \text{and}\kern10.887878pt \mathinner{\left(\operatorname{div}\nolimits \boldsymbol{σ}_{h}−f,1\right)}_{K}=0\kern21.775757pt {∀}K∈\mathcal{T}_{h}.&{\text{(EF)}}\end{array}}
$$

<a name="lemma.7.7"></a>**Lemma 7\.7** &#40;Poincaré on a cell&#41;**\.** *&#76;et* $K$ *be a* &#99;onvex *cell and* $φ∈H^{1}(K)$ *with mean value* ${{\overline{φ}}_{K}{\textstyle \textit{.}}}$ *Then*



$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}\mathopen{\Vert }φ−{\overline{φ}}_{K}\mathclose{\Vert }_{K}≤{\frac{h_{K}}{π}}\mathopen{\Vert }{∇}φ\mathclose{\Vert }_{K}.&\text{(16)}\end{array}}
$$

*Proof\.* &#84;his is the Payne–Weinberger inequality \[[PW60](<#cite.payneweinberger1960>)\]; the constant $h_{K}{/}π$ is optimal (attained in the limit of a thin rectangle/cylinder) and depends on $K$ only through its diameter\. □

<a name="remark.7.8"></a>*Remark* &#55;\.8 (Non\-convex cells&#41;*\.* &#73;nequality ([16](<#equation.16>)) may fail on a non\-convex cell\. Three remedies keep the bound guaranteed: (i) split each non\-convex cell into convex sub\-cells for the purpose of evaluating $η_{K}^{\mathrm{R}}$ only, and use $h_{K^{\prime }}{/}π$ on each sub\-cell $K^{\prime }$ — this only *improves* &#116;he estimate since $h_{K^{\prime }}≤{h_{K}{\textstyle \text{;}}}$ (ii) use the constant $C_{P,K}h_{K}$ with $C_{P,K}$ computed from a local eigenvalue problem (a small, purely local computation); (iii) when $f$ is a piecewise polynomial of degree at most ${p{\textstyle \text{,}}}$ make the term vanish by using a reconstruction with $\operatorname{div}\nolimits \boldsymbol{σ}_{h}=\mathrm{Π}_{p}{f{\textstyle \text{,}}}$ see Proposition [7\.12](<#proposition.7.12>); for a general $f$ the data oscillation ([22](<#equation.22>)) remains and still involves the Poincaré constant of the cell\. In our numerical experiments all cells are triangles, hence convex, and Lemma [7\.7](<#lemma.7.7>) applies directly; the reconstructions used there satisfy $\operatorname{div}\nolimits \boldsymbol{σ}_{h}=\mathrm{Π}_{p}f$ exactly, so that $η_{K}^{\mathrm{R}}$ reduces to the data oscillation ([22](<#equation.22>))\.

We now define the two families of local indicators, for each $K∈{\mathcal{T}_{h}{\textstyle \text{:}}}$

<a name="equation.17"></a><a name="equation.18"></a>

$$
{\textstyle \begin{array}{rllll}\rule[-1.05124725em]{0em}{2.42219757em}\displaystyle \rule[-0.3726058em]{0em}{1.24200864em}\kern0pt \displaystyle η_{K}^{\mathrm{R}}\textstyle &\displaystyle \kern0pt \displaystyle {{}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}{\frac{h_{K}}{π}}\mkern3mu μ_{K}^{−1{/}2}\mathopen{\Vert }f−\operatorname{div}\nolimits \boldsymbol{σ}_{h}\mathclose{\Vert }_{K}}\textstyle &\displaystyle \rule[-0.3726058em]{0em}{1.24200864em}&\displaystyle \kern0pt \displaystyle {{}{\text{(residual,}\kern0.33155616em \text{or}\kern0.33155616em \text{equilibration}\kern0.33155616em \text{defect,}\kern0.33155616em \text{indicator)}}}\textstyle &\displaystyle \text{(17)}\\\rule[-0.3726058em]{0em}{1.33344296em}\displaystyle \rule[-0.3726058em]{0em}{1.24200864em}\kern0pt \displaystyle η_{K}^{\mathrm{F}}\textstyle &\displaystyle \kern0pt \displaystyle {{}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}\mathopen{\Vert }μ^{−1{/}2}\mathinner{\left(\boldsymbol{σ}_{h}+μ{∇}u_{h}\right)}\mathclose{\Vert }_{K}}\textstyle &\displaystyle \rule[-0.3726058em]{0em}{1.24200864em}&\displaystyle \kern0pt \displaystyle {{}{\text{(flux,}\kern0.33155616em \text{or}\kern0.33155616em \text{constitutive}\kern0.33155616em \text{relation,}\kern0.33155616em \text{indicator)}}.}\textstyle &\displaystyle \text{(18)}\end{array}}
$$

Both are computable once $u_{h}$ and $\boldsymbol{σ}_{h}$ are at hand: they involve no unknown constant and no reference to the exact solution\.

<a name="theorem.7.9"></a>**Theorem 7\.9** &#40;Guaranteed upper bound&#41;**\.** *&#76;et* $u$ *solve* &#40;[4](<#equation.4>)&#41;*,* $u_{h}$ *solve* &#40;[8](<#equation.8>)&#41;*, and let* $\boldsymbol{σ}_{h}$ *satisfy* &#40;[EF](<#AMS.8>)&#41;*\. Assume the cells are convex (see Remark* [*7\.8*](<#remark.7.8>) *otherwise)\. Then*

<a name="equation.19"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }^{2}\kern3.88765pt ≤\kern3.88765pt ∑\limits _{K∈\mathcal{T}_{h}}\mathinner{\left(η_{K}^{\mathrm{R}}+η_{K}^{\mathrm{F}}\right)}^{2}\mkern2mu {=\mathrel{:}}\mkern-5mu \mathrel{}η^{2}.&\text{(19)}\end{array}}
$$

*Proof\.* &#83;ince $u−u_{h}∈{V{\textstyle \text{,}}}$ and by definition of the energy norm,

<a name="equation.20"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }=\operatorname*{sup}\limits _{φ∈V,\textstyle \kern3.630539pt \scriptstyle {\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }φ{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }=1}a(u−u_{h},φ).&\text{(20)}\end{array}}
$$

Fix such a ${φ{\textstyle \text{.}}}$ Using ([4](<#equation.4>)),

$$
a(u−u_{h},φ)=\mathinner{\left(f,φ\right)}−\mathinner{\left(μ{∇}u_{h},{∇}φ\right)}.
$$

Insert $\mathbin{±}\operatorname{div}\nolimits \boldsymbol{σ}_{h}$ and use the Green formula ([1](<#equation.1>)) for $\boldsymbol{σ}_{h}∈\boldsymbol{H}(\operatorname{div}\nolimits ,\mathrm{Ω})$ and $φ∈{V{\textstyle \text{,}}}$ i\.e\. $\mathinner{\left(\operatorname{div}\nolimits \boldsymbol{σ}_{h},φ\right)}=−\mkern3mu {{\mathinner{\left(\boldsymbol{σ}_{h},{∇}φ\right)}}{\textstyle \text{:}}}$

<a name="equation.21"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}a(u−u_{h},φ)=\underbrace{\mathinner{\left(f−\operatorname{div}\nolimits \boldsymbol{σ}_{h},φ\right)}}_{{=\mathrel{:}}\mathrel{}T_{\mathrm{R}}}\kern3.630539pt \underbrace{−\mathinner{\left(\boldsymbol{σ}_{h}+μ{∇}u_{h},{∇}φ\right)}}_{{=\mathrel{:}}\mathrel{}T_{\mathrm{F}}}.&\text{(21)}\end{array}}
$$

For ${T_{\mathrm{F}}{\textstyle \text{,}}}$ a cellwise Cauchy–Schwarz inequality gives

$$
T_{\mathrm{F}}≤∑\limits _{K∈\mathcal{T}_{h}}\mathopen{\Vert }μ^{−1{/}2}(\boldsymbol{σ}_{h}+μ{∇}u_{h})\mathclose{\Vert }_{K}\mkern3mu \mathopen{\Vert }μ^{1{/}2}{∇}φ\mathclose{\Vert }_{K}=∑\limits _{K∈\mathcal{T}_{h}}η_{K}^{\mathrm{F}}\mkern3mu {\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }φ{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }_{K}.
$$

For ${T_{\mathrm{R}}{\textstyle \text{,}}}$ split over the cells and use ([EF](<#AMS.8>)) to subtract the cell mean of $φ$ for free:

$$
T_{\mathrm{R}}=∑\limits _{K∈\mathcal{T}_{h}}\mathinner{\left(f−\operatorname{div}\nolimits \boldsymbol{σ}_{h},φ\right)}_{K}=∑\limits _{K∈\mathcal{T}_{h}}\mathinner{\left(f−\operatorname{div}\nolimits \boldsymbol{σ}_{h},φ−{\overline{φ}}_{K}\right)}_{K}.
$$

Cauchy–Schwarz and Lemma [7\.7](<#lemma.7.7>) then yield

$$
{}\vcenter{{\textstyle \begin{array}{rlc}\rule[-1.81007889em]{0em}{3.18102921em}\rule[-0.3726058em]{0em}{1.24200864em}\textstyle \kern0pt \displaystyle T_{\mathrm{R}}&\textstyle \kern0pt \displaystyle {{}≤∑\limits _{K∈\mathcal{T}_{h}}\mathopen{\Vert }f−\operatorname{div}\nolimits \boldsymbol{σ}_{h}\mathclose{\Vert }_{K}\mkern3mu {\frac{h_{K}}{π}}\mathopen{\Vert }{∇}φ\mathclose{\Vert }_{K}}&\rule[-0.3726058em]{0em}{1.24200864em}\kern-0.91324226em \\\rule[-1.44478198em]{0em}{2.59478916em}\rule[-0.3726058em]{0em}{1.24200864em}&\textstyle \kern0pt \displaystyle {{}=∑\limits _{K∈\mathcal{T}_{h}}{\textstyle \mathinner{\left[\vcenter{\rule[0em]{0em}{1.79999136em}}\right.}\displaystyle }{\kern0pt \textstyle {\frac{h_{K}}{π}}}μ_{K}^{−1{/}2}\mathopen{\Vert }f−\operatorname{div}\nolimits \boldsymbol{σ}_{h}\mathclose{\Vert }_{K}{\textstyle \mathinner{\left]\vcenter{\rule[0em]{0em}{1.79999136em}}\right.}\displaystyle }{\textstyle \mathinner{\left[\vcenter{\rule[0em]{0em}{1.79999136em}}\right.}\displaystyle }μ_{K}^{1{/}2}\mathopen{\Vert }{∇}φ\mathclose{\Vert }_{K}{\textstyle \mathinner{\left]\vcenter{\rule[0em]{0em}{1.79999136em}}\right.}\displaystyle }=∑\limits _{K∈\mathcal{T}_{h}}η_{K}^{\mathrm{R}}\mkern3mu {\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }φ{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }_{K},}&\rule[-0.3726058em]{0em}{1.24200864em}\kern-0.91324226em \end{array}}}
$$

where we inserted $1=μ_{K}^{−1{/}2}{μ_{K}^{1{/}2}{\textstyle \text{,}}}$ licit because $μ$ is constant on $K$ by [(M3)](<#Item.9>)\. Summing the two bounds and applying a last, discrete Cauchy–Schwarz inequality,

$$
a(u−u_{h},φ)≤∑\limits _{K∈\mathcal{T}_{h}}(η_{K}^{\mathrm{R}}+η_{K}^{\mathrm{F}}){\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }φ{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }_{K}≤{\textstyle \mathinner{\left(\vcenter{\rule[0em]{0em}{1.79999136em}}\right.}\displaystyle }∑\limits _{K∈\mathcal{T}_{h}}(η_{K}^{\mathrm{R}}+η_{K}^{\mathrm{F}})^{2}{\textstyle \mathinner{\left)\vcenter{\rule[0em]{0em}{1.79999136em}}\right.}\displaystyle }^{1{/}2}{\textstyle \mathinner{\left(\vcenter{\rule[0em]{0em}{1.79999136em}}\right.}\displaystyle }∑\limits _{K∈\mathcal{T}_{h}}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }φ{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }_{K}^{2}{\textstyle \mathinner{\left)\vcenter{\rule[0em]{0em}{1.79999136em}}\right.}\displaystyle }^{1{/}2},
$$

and the last factor equals ${\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }φ{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }={1{\textstyle \text{.}}}$ Taking the supremum over $φ$ in ([20](<#equation.20>)) concludes\. □

<a name="remark.7.10"></a>*Remark* &#55;\.10 (What was *not* &#117;sed&#41;*\.* &#84;he proof used: the conformity $V_{h}⊂V$ (through $u−u_{h}∈{V{\textstyle \text{),}}}$ the $H(\operatorname{div}\nolimits \mkern-3mu {{)}{\textstyle \text{-}}}$&#99;onformity of $\boldsymbol{σ}_{h}$ (through the Green formula), the cellwise equilibration ([EF](<#AMS.8>)), and the Poincaré inequality on convex cells\. No shape regularity, no minimum/maximum angle, no quasi\-uniformity, no bound on the patch cardinality, no asymptotic regime in ${h{\textstyle \text{.}}}$ In particular ([19](<#equation.19>)) is valid on the coarsest and most distorted mesh, and even for $k=1$ on a single element\.

<a name="remark.7.11"></a>*Remark* &#55;\.11 (Non\-homogeneous Dirichlet data&#41;*\.* &#83;uppose $u=g$ on $\mathrm{Γ}$ with $g$ in the trace space of $H^{1}(\mathrm{Ω}{{)}{\textstyle \text{,}}}$ and let $u_{h}∈V_{h}$ satisfy ([8](<#equation.8>)) for all $v_{h}∈V_{h}∩H_{0}^{1}(\mathrm{Ω})$ with its boundary values fixed to some ${g_{h}{\textstyle \text{.}}}$ Theorem [7\.9](<#theorem.7.9>) goes through verbatim *provided* $u−u_{h}∈H_{0}^{1}(\mathrm{Ω}{{)}{\textstyle \text{,}}}$ i\.e\. provided $g_{h}=g$ exactly on $\mathrm{Γ}$ — the only place where the boundary condition entered the proof was through $u−u_{h}∈V$ and the vanishing of the boundary term in ([1](<#equation.1>))\. If, as is usual, $g_{h}$ is merely an interpolant of ${g{\textstyle \text{,}}}$ then ${u−u_{h}\mkern5mu {\rlap{\text{\(\textstyle \kern0em \rlap{\text{\(\textstyle \kern0em \kern0.05555734em \kern0pt \textstyle \mkern1mu {/}\kern0.05555734em \)}}\kern0.66666852em \)}}\rlap{\text{\(\textstyle \kern0em \kern0pt \textstyle ∈\)}}\kern0.66666852em }\mkern-5mu \mathrel{}H_{0}^{1}(\mathrm{Ω})}$ and an additional term appears, measuring the distance from $g_{h}$ to $g$ in $H^{1{/}2}(\mathrm{Γ}{{)}{\textstyle \text{;}}}$ bounding it computably requires an argument of a different nature, and the constant it brings does depend on the shape of the boundary cells\. This is why the main experiments of Section [10](<#section.10>) are built on test cases with homogeneous Dirichlet data\. The L\-shaped test case [(T2)](<#Item.38>), whose exact solution $r^{2{/}3}\operatorname{sin}\nolimits (2θ{/}3)$ has non\-polynomial boundary values, therefore falls outside the theorem; we report it separately in Section [10\.12](<#subsection.10.12>) as an experiment on what happens when a hypothesis is dropped, not as evidence for the bound\. This is a genuine gap in the theory presented here, not an oversight; see \[[EV15](<#cite.ernvohralik2015>)\] for the treatment of general boundary data\.

<a name="proposition.7.12"></a>**Proposition 7\.12** &#40;Data oscillation form&#41;**\.** *&#65;ssume the reconstruction satisfies the stronger property* $\operatorname{div}\nolimits \boldsymbol{σ}_{h}=\mathrm{Π}_{p}{f{\textstyle \textit{,}}}$ *where* $\mathrm{Π}_{p}$ *denotes the* ${L^{2}{\textstyle \textit{-}}}$*&#111;rthogonal projection onto the space of piecewise polynomials of degree at most* $p$ *(broken, i\.e\. cellwise)\. Then* $η_{K}^{\mathrm{R}}$ *reduces to the* &#100;ata oscillation

<a name="equation.22"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}\operatorname{osc}\nolimits _{K}(f)\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}{\frac{h_{K}}{π}}\mkern3mu μ_{K}^{−1{/}2}\mathopen{\Vert }f−\mathrm{Π}_{p}f\mathclose{\Vert }_{K},&\text{(22)}\end{array}}
$$

*which is exactly computable, involves neither* $u_{h}$ *nor* ${\boldsymbol{σ}_{h}{\textstyle \textit{,}}}$ *and is of order* $h_{K}^{p+2}$ *on each cell where* $f∈H^{p+1}(K)$ *— at least one order better than* ${η_{K}^{\mathrm{F}}{\textstyle \textit{,}}}$ *which is of order* ${h^{k}{\textstyle \textit{,}}}$ *as soon as* $p≥k−{1{\textstyle \textit{.}}}$ *It vanishes identically when* $f$ *is itself a piecewise polynomial of degree* $≤{p{\textstyle \textit{.}}}$

<a name="remark.7.13"></a>*Remark* &#55;\.13 (When may the residual term be dropped?&#41;*\.* &#79;nly under the hypothesis of Proposition [7\.12](<#proposition.7.12>), and even then it should be *computed* &#114;ather than dropped, since it is cheap\. For a reconstruction that merely satisfies ([EF](<#AMS.8>)), $η_{K}^{\mathrm{R}}$ is of the same order as $η_{K}^{\mathrm{F}}$ and neglecting it destroys the guarantee\. Classical presentations are often silent on this distinction; the FEniCS script of Section [10\.2](<#subsection.10.2>) evaluates both terms\.

<a name="subsection.7.3"></a>

### 7\.3 Efficiency, and where the mesh quality strikes back

Reliability is the good news; efficiency is where geometry returns\. We state the known result informally, as we shall not use it quantitatively\.

<a name="theorem.7.14"></a>**Theorem 7\.14** &#40;Local efficiency \[[BPS09](<#cite.braess2009>), [EV15](<#cite.ernvohralik2015>), [EV20](<#cite.ernvohralik2020>), [CZ12](<#cite.caizhang2012>)\]&#41;**\.** *&#70;or the patchwise reconstruction of Section* [*7\.5*](<#subsection.7.5>) *on a simplicial mesh, there holds*

<a name="equation.23"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}η_{K}^{\mathrm{F}}\kern3.88765pt ≤\kern3.88765pt C_{\mathrm{s}\mathrm{t}}{\textstyle \mathinner{\left(\vcenter{\rule[0em]{0em}{1.1999947em}}\right.}\displaystyle }γ_{ω_{K}}{\textstyle \mathinner{\left)\vcenter{\rule[0em]{0em}{1.1999947em}}\right.}\displaystyle }\mkern3mu {\textstyle \mathinner{\left(\vcenter{\rule[0em]{0em}{1.79999136em}}\right.}\displaystyle }{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }_{ω_{K}}+\operatorname{osc}\nolimits _{ω_{K}}(f){\textstyle \mathinner{\left)\vcenter{\rule[0em]{0em}{1.79999136em}}\right.}\displaystyle },\kern22.210205pt \operatorname{osc}\nolimits _{ω_{K}}(f)^{2}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}∑\limits _{K^{\prime }⊂ω_{K}}\operatorname{osc}\nolimits _{K^{\prime }}(f)^{2},&\text{(23)}\end{array}}
$$

*where* $C_{\mathrm{s}\mathrm{t}}$ *depends on the shape\-regularity* $γ_{ω_{K}}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}\operatorname{max}\nolimits _{K^{\prime }⊂ω_{K}}γ_{K^{\prime }}$ *of the patch and on its cardinality, but neither on the polynomial degree* ${k{\textstyle \textit{,}}}$ *which is the content of \[*[*BPS09*](<#cite.braess2009>)*,* [*EV20*](<#cite.ernvohralik2020>)*\], nor on the diffusion contrast, which for conforming elements is the result of Cai and Zhang \[*[*CZ12*](<#cite.caizhang2012>)*\], obtained without any quasi\-monotonicity assumption on* ${μ{\textstyle \textit{.}}}$

Combining Theorems [7\.9](<#theorem.7.9>) and [7\.14](<#theorem.7.14>), the effectivity index

<a name="equation.24"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}I\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}{\frac{η}{{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }}}&\text{(24)}\end{array}}
$$

satisfies $1≤I≤C_{\mathrm{s}\mathrm{t}}(γ)$ up to oscillation: the *lower* &#98;ound $I≥1$ is unconditional, whereas the *upper* &#98;ound degrades with the mesh quality\. Distortion can therefore make the estimator pessimistic, never unreliable\. From an engineering standpoint this is exactly the right failure mode — the user is never told that the solution is more accurate than it is\. Quantifying the growth of $I$ with the quality vector ([10](<#equation.10>)) is one of the objectives of Section [10](<#section.10>)\.

<a name="remark.7.15"></a>*Remark* &#55;\.15 (Locally damaged meshes&#41;*\.* &#70;ollowing \[[DLL19](<#cite.duprez2019damage>)\], if only a small subset $\mathcal{T}_{h}^{\mathrm{d}\mathrm{a}\mathrm{m}}⊂\mathcal{T}_{h}$ of cells is distorted, one expects $C_{\mathrm{s}\mathrm{t}}$ to degrade only on the patches touching ${\mathcal{T}_{h}^{\mathrm{d}\mathrm{a}\mathrm{m}}{\textstyle \text{,}}}$ so that the global effectivity index remains $O(1{{)}{\textstyle \text{:}}}$ the few bad patches contribute a bounded amount to the sum\. The relevant parameter should then be the *diameter of the damaged patch*&#44; not the quality of an isolated cell\. This is a conjecture we probe numerically in Section [10\.6](<#subsection.10.6>)\.

<a name="subsection.7.4"></a>

### 7\.4 A first (expensive) estimator: global mixed $H(\operatorname{div}\nolimits )$ formulation

We now describe two ways of producing a $\boldsymbol{σ}_{h}$ satisfying ([EF](<#AMS.8>))\. The first, presented here, is trivial to implement and expensive; the second, Section [7\.5](<#subsection.7.5>), is the method of choice\. Fix $p≥0$ and let

<a name="equation.25"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}Q_{h}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}\{q_{h}∈L^{2}(\mathrm{Ω})\mathrel{:}q_{h}{\vert }_{K}∈\mathbb{P}_{p}(K)\kern3.630539pt \kern3.630539pt {∀}K∈\mathcal{T}_{h}\},\kern3.630539pt \boldsymbol{V}_{h}⊂\boldsymbol{H}(\operatorname{div}\nolimits ,\mathrm{Ω})\kern3.630539pt {\kern0.33155616em \text{with}\kern0.33155616em }\kern3.630539pt \operatorname{div}\nolimits \boldsymbol{V}_{h}=Q_{h}.&\text{(25)}\end{array}}
$$

Admissible choices on a simplicial mesh are the Raviart–Thomas pair $\boldsymbol{V}_{h}={\kern0pt \textstyle \boldsymbol{R}\boldsymbol{T}}_{p}(\mathcal{T}_{h})$ \[[RT77](<#cite.raviartthomas1977>)\] and the Brezzi–Douglas–Marini pair $\boldsymbol{V}_{h}={\kern0pt \textstyle \boldsymbol{B}\boldsymbol{D}\boldsymbol{M}}_{p+1}(\mathcal{T}_{h})$ \[[BDM85](<#cite.bdm1985>)\]\. The degree shift matters: $\operatorname{div}\nolimits {\kern0pt \textstyle \boldsymbol{R}\boldsymbol{T}}_{q}=\mathbb{P}_{q}$ because ${\kern0pt \textstyle \boldsymbol{R}\boldsymbol{T}}_{q}=[\mathbb{P}_{q}]^{d}\oplus \boldsymbol{x}\mkern3mu {\widetilde{\mathbb{P}}_{q}{\textstyle \text{,}}}$ whereas ${\kern0pt \textstyle \boldsymbol{B}\boldsymbol{D}\boldsymbol{M}}_{q}=[\mathbb{P}_{q}]^{d}$ only gives $\operatorname{div}\nolimits {\kern0pt \textstyle \boldsymbol{B}\boldsymbol{D}\boldsymbol{M}}_{q}={\mathbb{P}_{q−1}{\textstyle \text{;}}}$ pairing ${\kern0pt \textstyle \boldsymbol{B}\boldsymbol{D}\boldsymbol{M}}_{p}$ with $\mathbb{P}_{p}$ would be unstable\. Both pairs above are inf\-sup stable \[[BBF13](<#cite.boffibrezzifortin2013>)\]\. We then solve the dual mixed formulation of ([2](<#equation.2>)): find $(\boldsymbol{σ}_{h},λ_{h})∈\boldsymbol{V}_{h}×Q_{h}$ such that

<a name="equation.26"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}\mathinner{\left\{{}\vcenter{{\textstyle \begin{array}{rlclc}\rule[-0.76096647em]{0em}{1.64468611em}\rule[-0.3726058em]{0em}{1.24200864em}\textstyle \kern0pt \displaystyle {\mathinner{\left(μ^{−1}\boldsymbol{σ}_{h},\boldsymbol{τ}_{h}\right)}_{\mathrm{Ω}}−\mathinner{\left(λ_{h},\operatorname{div}\nolimits \boldsymbol{τ}_{h}\right)}_{\mathrm{Ω}}}&\textstyle \kern0pt \displaystyle {{}=0}&\rule[-0.3726058em]{0em}{1.24200864em}&\textstyle \kern0pt \displaystyle {{}{∀}\boldsymbol{τ}_{h}∈\boldsymbol{V}_{h},}&\rule[-0.3726058em]{0em}{1.24200864em}\kern-0.91324226em \\\rule[-0.3726058em]{0em}{1.24200864em}\rule[-0.3726058em]{0em}{1.24200864em}\textstyle \kern0pt \displaystyle {\mathinner{\left(\operatorname{div}\nolimits \boldsymbol{σ}_{h},q_{h}\right)}_{\mathrm{Ω}}}&\textstyle \kern0pt \displaystyle {{}=\mathinner{\left(f,q_{h}\right)}_{\mathrm{Ω}}}&\rule[-0.3726058em]{0em}{1.24200864em}&\textstyle \kern0pt \displaystyle {{}{∀}q_{h}∈Q_{h}.}&\rule[-0.3726058em]{0em}{1.24200864em}\kern-0.91324226em \end{array}}}\right.}&\text{(26)}\end{array}}
$$

Since $\operatorname{div}\nolimits \boldsymbol{V}_{h}={Q_{h}{\textstyle \text{,}}}$ the second equation is equivalent to $\operatorname{div}\nolimits \boldsymbol{σ}_{h}=\mathrm{Π}_{p}{f{\textstyle \text{;}}}$ hence ([EF](<#AMS.8>)) holds *exactly*&#44; up to round\-off, and Proposition [7\.12](<#proposition.7.12>) applies\. The first equation is the weak form of the constitutive relation $μ^{−1}\boldsymbol{σ}+{∇}λ=0$ — the Dirichlet condition $u=0$ being natural here, it is enforced weakly and no essential constraint is imposed on ${\boldsymbol{V}_{h}{\textstyle \text{.}}}$ Thus $λ_{h}$ approximates $u$ and $\boldsymbol{σ}_{h}$ approximates the exact flux $\boldsymbol{σ}=−μ{∇}u$ directly in $\boldsymbol{H}(\operatorname{div}\nolimits ,\mathrm{Ω}{{)}{\textstyle \text{;}}}$ see \[[CM13](<#cite.carstensen2013>)\] for the analysis of the resulting estimator\.

<a name="remark.7.16"></a>*Remark* &#55;\.16 (Pros and cons&#41;*\.* &#80;ros: three lines of `FEniCS`/`FreeFEM`, no local solver to write, and it produces an *exactly* &#101;quilibrated flux\. Cons: it requires the solution of a *global* &#115;addle\-point problem, typically more expensive than the primal problem it is supposed to certify, which defeats the purpose in a production run\. It is however perfect as a reference implementation, and this is how we use it in Section [10](<#section.10>)\.

<a name="remark.7.17"></a>*Remark* &#55;\.17 (Do not simply project the discrete flux&#41;*\.* &#65; tempting shortcut is to take $\boldsymbol{σ}_{h}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}\mathrm{Π}_{{\textstyle \kern0pt \scriptstyle \boldsymbol{V}\scriptstyle }_{h}}({−}μ{∇}u_{h}{{)}{\textstyle \text{,}}}$ the ${L^{2}{\textstyle \text{-}}}$&#112;rojection of the discrete flux onto ${{\kern0pt \textstyle \boldsymbol{R}\boldsymbol{T}}_{p}{\textstyle \text{.}}}$ The result does belong to $\boldsymbol{H}(\operatorname{div}\nolimits ,\mathrm{Ω}{{)}{\textstyle \text{,}}}$ so the Green formula used in Theorem [7\.9](<#theorem.7.9>) is still valid, and the bound ([19](<#equation.19>)) still *holds*&#46; But nothing forces ([EF](<#AMS.8>)), so $η_{K}^{\mathrm{R}}$ is no longer a data oscillation: it is a genuine term of the same order as ${η_{K}^{\mathrm{F}}{\textstyle \text{,}}}$ and the bound, though valid, becomes useless in practice\. Such a projection is essentially a Zienkiewicz–Zhu recovery in disguise (Section [8](<#section.8>)); the whole point of an *equilibrated* &#114;econstruction is precisely to make the residual term collapse to ([22](<#equation.22>))\.

<a name="subsection.7.5"></a>

### 7\.5 Patchwise reconstruction (Braess–Schöberl / Ern–Vohralík)

The efficient construction localises ([26](<#equation.26>)) on vertex patches, using the partition of unity $∑\nolimits _{\mathrm{a}∈\mathcal{V}_{h}}ψ_{\mathrm{a}}={1{\textstyle \text{.}}}$ The idea is to build separately, on each patch, an approximation of the *localised exact flux* $ψ_{\mathrm{a}}{\boldsymbol{σ}{\textstyle \text{,}}}$ and to sum them up\. The divergence of that target is, by the Leibniz rule and ([6](<#equation.6>)),

<a name="equation.27"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}\operatorname{div}\nolimits \mathinner{\left(ψ_{\mathrm{a}}\boldsymbol{σ}\right)}=ψ_{\mathrm{a}}\operatorname{div}\nolimits \boldsymbol{σ}+{∇}ψ_{\mathrm{a}}\cdot \boldsymbol{σ}=ψ_{\mathrm{a}}f−μ\mkern3mu {∇}u\cdot {∇}ψ_{\mathrm{a}},&\text{(27)}\end{array}}
$$

which dictates the local right\-hand side below — note the *minus* &#115;ign, which is what makes the local Neumann problem compatible\.

For $\mathrm{a}∈{\mathcal{V}_{h}{\textstyle \text{,}}}$ set

<a name="equation.28"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}{}\vcenter{{\textstyle \begin{array}{rlc}\rule[-0.7379027em]{0em}{1.60730555em}\rule[-0.3726058em]{0em}{1.24200864em}\textstyle \kern0pt \displaystyle \boldsymbol{V}_{h}^{\mathrm{a}}&\textstyle \kern0pt \displaystyle {{}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}\{\boldsymbol{τ}_{h}∈{\textstyle \kern0pt \displaystyle \boldsymbol{R}\boldsymbol{T}}_{p}(ω_{\mathrm{a}})\mathrel{:}\boldsymbol{τ}_{h}\cdot \boldsymbol{n}=0{\kern0.33155616em \text{on}\kern0.33155616em }{∂}ω_{\mathrm{a}}\mathbin{\backslash }\mathrm{Γ}\},}&\rule[-0.3726058em]{0em}{1.24200864em}\kern-0.91324226em \\\rule[-0.38698669em]{0em}{1.28286458em}\rule[-0.3726058em]{0em}{1.24200864em}\textstyle \kern0pt \displaystyle Q_{h}^{\mathrm{a}}&\textstyle \kern0pt \displaystyle {{}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}\{q_{h}∈L^{2}(ω_{\mathrm{a}})\mathrel{:}q_{h}{\vert }_{K}∈\mathbb{P}_{p}(K)\kern3.630539pt {∀}K⊂ω_{\mathrm{a}},{\kern0.33155616em \text{and}\kern0.33155616em }\mathinner{\left(q_{h},1\right)}_{ω_{\mathrm{a}}}=0\kern3.630539pt {\kern0.33155616em \text{if}\kern0.33155616em }\mathrm{a}∈\mathcal{V}_{h}^{i}\},}&\rule[-0.3726058em]{0em}{1.24200864em}\kern-0.91324226em \end{array}}}&\text{(28)}\end{array}}
$$

so that $\operatorname{div}\nolimits \boldsymbol{V}_{h}^{\mathrm{a}}={Q_{h}^{\mathrm{a}}{\textstyle \text{.}}}$ The zero\-mean constraint on ${Q_{h}^{\mathrm{a}}{\textstyle \text{,}}}$ and the homogeneous normal trace on the whole of ${∂}ω_{\mathrm{a}}$ that goes with it, reflect the pure Neumann nature of the local problem at an interior vertex; at a boundary vertex the normal trace is left free on ${∂}ω_{\mathrm{a}}∩\mathrm{Γ}$ and no mean\-value constraint is needed\. Solve, for each ${\mathrm{a}{\textstyle \text{,}}}$ the local mixed problem: find $(\boldsymbol{σ}_{h}^{\mathrm{a}},r_{h}^{\mathrm{a}})∈\boldsymbol{V}_{h}^{\mathrm{a}}×Q_{h}^{\mathrm{a}}$ such that

<a name="equation.29"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}\mathinner{\left\{{}\vcenter{{\textstyle \begin{array}{rlclc}\rule[-1.03493915em]{0em}{1.91865879em}\rule[-0.3726058em]{0em}{1.24200864em}\textstyle \kern0pt \displaystyle {\mathinner{\left(μ^{−1}\boldsymbol{σ}_{h}^{\mathrm{a}},\boldsymbol{τ}_{h}\right)}_{ω_{\mathrm{a}}}−\mathinner{\left(r_{h}^{\mathrm{a}},\operatorname{div}\nolimits \boldsymbol{τ}_{h}\right)}_{ω_{\mathrm{a}}}}&\textstyle \kern0pt \displaystyle {{}=−\mathinner{\left(ψ_{\mathrm{a}}{∇}u_{h},\boldsymbol{τ}_{h}\right)}_{ω_{\mathrm{a}}}}&\rule[-0.3726058em]{0em}{1.24200864em}&\textstyle \kern0pt \displaystyle {{}{∀}\boldsymbol{τ}_{h}∈\boldsymbol{V}_{h}^{\mathrm{a}},}&\rule[-0.3726058em]{0em}{1.24200864em}\kern-0.91324226em \\\rule[-0.39144727em]{0em}{1.26085012em}\rule[-0.3726058em]{0em}{1.24200864em}\textstyle \kern0pt \displaystyle {\mathinner{\left(\operatorname{div}\nolimits \boldsymbol{σ}_{h}^{\mathrm{a}},q_{h}\right)}_{ω_{\mathrm{a}}}}&\textstyle \kern0pt \displaystyle {{}=\mathinner{\left(g_{\mathrm{a}},q_{h}\right)}_{ω_{\mathrm{a}}}}&\rule[-0.3726058em]{0em}{1.24200864em}&\textstyle \kern0pt \displaystyle {{}{∀}q_{h}∈Q_{h}^{\mathrm{a}},}&\rule[-0.3726058em]{0em}{1.24200864em}\kern-0.91324226em \end{array}}}\right.}&\text{(29)}\end{array}}
$$

with the local right\-hand side suggested by ([27](<#equation.27>)),

<a name="equation.30"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}g_{\mathrm{a}}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}ψ_{\mathrm{a}}f−μ\mkern3mu {∇}u_{h}\cdot {∇}ψ_{\mathrm{a}}.&\text{(30)}\end{array}}
$$

Note that the factor $μ^{−1}$ in the first equation of ([29](<#equation.29>)) cancels the factor $μ$ carried by the target $−ψ_{\mathrm{a}}μ{∇}{u_{h}{\textstyle \text{,}}}$ which is why $μ$ does not appear on its right\-hand side\. Equivalently, and this is the form to keep in mind, $\boldsymbol{σ}_{h}^{\mathrm{a}}$ is the constrained minimiser

<a name="equation.31"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}\boldsymbol{σ}_{h}^{\mathrm{a}}=\operatorname{arg}\nolimits \operatorname*{min}\limits _{\vcenter{{\textstyle \begin{subarray}{c}\textstyle \rule[-0.33515835em]{0em}{0.84657458em}\scriptstyle \textstyle \kern0pt \scriptstyle \boldsymbol{τ}_{h}∈\boldsymbol{V}_{h}^{\mathrm{a}}\scriptstyle \\\textstyle \rule[-0.19786962em]{0em}{0.70522659em}\scriptstyle \textstyle \kern0pt \scriptstyle \operatorname{div}\nolimits \boldsymbol{τ}_{h}=\mathrm{Π}_{p}g_{\mathrm{a}}\scriptstyle \end{subarray}}}}\mathopen{\Vert }μ^{−1{/}2}\mathinner{\left(\boldsymbol{τ}_{h}+ψ_{\mathrm{a}}\mkern3mu μ{∇}u_{h}\right)}\mathclose{\Vert }_{ω_{\mathrm{a}}},&\text{(31)}\end{array}}
$$

i\.e\. the equilibrated field closest, in the ${μ^{−1}{\textstyle \text{-}}}$&#119;eighted $L^{2}$ norm, to the localised discrete flux $−ψ_{\mathrm{a}}μ{∇}{u_{h}{\textstyle \text{;}}}$ here $r_{h}^{\mathrm{a}}$ is the Lagrange multiplier of the divergence constraint\. Finally set

<a name="equation.32"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}\boldsymbol{σ}_{h}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}∑\limits _{\mathrm{a}∈\mathcal{V}_{h}}\boldsymbol{σ}_{h}^{\mathrm{a}},&\text{(32)}\end{array}}
$$

each $\boldsymbol{σ}_{h}^{\mathrm{a}}$ being extended by zero outside ${ω_{\mathrm{a}}{\textstyle \text{.}}}$

<a name="proposition.7.18"></a>**Proposition 7\.18** &#40;The construction is well posed and equilibrated&#41;**\.** *&#76;et* $k≥{1{\textstyle \textit{,}}}$ *so that* $ψ_{\mathrm{a}}∈V_{h}$ *(see \[*[*EV15*](<#cite.ernvohralik2015>)*\] for the choice of* $p$ *as a function of* ${k{\textstyle \textit{).}}}$ *Then:*

- **(i)** <a name="Item.23"></a>*For* $\mathrm{a}∈{\mathcal{V}_{h}^{i}{\textstyle \textit{,}}}$ *problem* &#40;[29](<#equation.29>)) *is well posed\. Indeed, the pure Neumann compatibility condition* $\mathinner{\left(g_{\mathrm{a}},1\right)}_{ω_{\mathrm{a}}}=0$ *required for* $\mathrm{Π}_{p}g_{\mathrm{a}}$ *to belong to* $\operatorname{div}\nolimits \boldsymbol{V}_{h}^{\mathrm{a}}=Q_{h}^{\mathrm{a}}$ *reads*

    $$
    \mathinner{\left(g_{\mathrm{a}},1\right)}_{ω_{\mathrm{a}}}=\mathinner{\left(f,ψ_{\mathrm{a}}\right)}_{\mathrm{Ω}}−\mathinner{\left(μ{∇}u_{h},{∇}ψ_{\mathrm{a}}\right)}_{\mathrm{Ω}}=ℓ(ψ_{\mathrm{a}})−a(u_{h},ψ_{\mathrm{a}})=0,
    $$

    *which is exactly the discrete problem* &#40;[8](<#equation.8>)) *tested with the hat function* $ψ_{\mathrm{a}}∈{V_{h}{\textstyle \textit{.}}}$ *This is where the* &#109;inus *sign in* &#40;[30](<#equation.30>)) *is essential: with a plus sign one would obtain* ${2\mkern3mu ℓ(ψ_{\mathrm{a}})\mkern5mu {{\rlap{\text{\(\textstyle \kern0em /\)}}}\mkern-5mu \mathrel{}=}\mkern-5mu \mathrel{}0}$ *and the local problem would have no solution\.*

- **(ii)** <a name="Item.24"></a>*Each* $\boldsymbol{σ}_{h}^{\mathrm{a}}$ *has zero normal trace on* ${∂}ω_{\mathrm{a}}\mathbin{\backslash }{\mathrm{Γ}{\textstyle \textit{,}}}$ *so its extension by zero has no normal jump across* ${∂}ω_{\mathrm{a}}$ *and belongs to* $\boldsymbol{H}(\operatorname{div}\nolimits ,\mathrm{Ω}{{)}{\textstyle \textit{;}}}$ *hence so does the finite sum* ${\boldsymbol{σ}_{h}{\textstyle \textit{.}}}$

- **(iii)** <a name="Item.25"></a>$\operatorname{div}\nolimits \boldsymbol{σ}_{h}^{\mathrm{a}}=\mathrm{Π}_{p}g_{\mathrm{a}}$ *on* ${ω_{\mathrm{a}}{\textstyle \textit{.}}}$ *For a boundary vertex this is immediate since* $Q_{h}^{\mathrm{a}}$ *is the full broken polynomial space\. For an interior vertex, the second equation of* &#40;[29](<#equation.29>)) *only gives that* $\operatorname{div}\nolimits \boldsymbol{σ}_{h}^{\mathrm{a}}−\mathrm{Π}_{p}g_{\mathrm{a}}$ *is* ${L^{2}{\textstyle \textit{-}}}$*&#111;rthogonal to all zero\-mean* ${q_{h}{\textstyle \textit{,}}}$ *i\.e\. is a constant* $c$ *on* ${ω_{\mathrm{a}}{\textstyle \textit{;}}}$ *but* $\mathinner{\left(\operatorname{div}\nolimits \boldsymbol{σ}_{h}^{\mathrm{a}},1\right)}_{ω_{\mathrm{a}}}=∫\nolimits _{{∂}ω_{\mathrm{a}}}\boldsymbol{σ}_{h}^{\mathrm{a}}\cdot \boldsymbol{n}=0=\mathinner{\left(\mathrm{Π}_{p}g_{\mathrm{a}},1\right)}_{ω_{\mathrm{a}}}$ *by (i), so* $c={0{\textstyle \textit{.}}}$

- **(iv)** <a name="Item.26"></a>*Consequently, using* $∑\nolimits _{\mathrm{a}}ψ_{\mathrm{a}}\mathrel{≡}1$ *and hence* $∑\nolimits _{\mathrm{a}}{∇}ψ_{\mathrm{a}}\mathrel{≡}{\mathbf{0}{\textstyle \textit{,}}}$

    $$
    \operatorname{div}\nolimits \boldsymbol{σ}_{h}=∑\limits _{\mathrm{a}}\mathrm{Π}_{p}g_{\mathrm{a}}=\mathrm{Π}_{p}{\textstyle \mathinner{\left(\vcenter{\rule[0em]{0em}{1.79999136em}}\right.}\displaystyle }f∑\limits _{\mathrm{a}}ψ_{\mathrm{a}}−μ{∇}u_{h}\cdot ∑\limits _{\mathrm{a}}{∇}ψ_{\mathrm{a}}{\textstyle \mathinner{\left)\vcenter{\rule[0em]{0em}{1.79999136em}}\right.}\displaystyle }=\mathrm{Π}_{p}f.
    $$

    *Therefore* &#40;[EF](<#AMS.8>)) *holds and Proposition* [*7\.12*](<#proposition.7.12>) *applies: the residual indicator reduces to the data oscillation* &#40;[22](<#equation.22>)&#41;*\.*

The whole procedure is summarised as follows\.

<a name="algorithm.7.19"></a>**Algorithm 7\.19** &#40;Guaranteed error bound, patchwise version&#41;**\.**

1. <a name="Item.27"></a>Solve the primal problem ([8](<#equation.8>)) for ${u_{h}{\textstyle \text{.}}}$

2. <a name="Item.28"></a>For each vertex $\mathrm{a}∈\mathcal{V}_{h}$ (in parallel): assemble $g_{\mathrm{a}}$ by ([30](<#equation.30>)) and solve the local mixed problem ([29](<#equation.29>)) for ${\boldsymbol{σ}_{h}^{\mathrm{a}}{\textstyle \text{.}}}$

3. <a name="Item.29"></a>Assemble $\boldsymbol{σ}_{h}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}∑\nolimits _{\mathrm{a}}\boldsymbol{σ}_{h}^{\mathrm{a}}$ by ([32](<#equation.32>))\.

4. <a name="Item.30"></a>*Certificate check* &#40;cheap, optional but recommended): verify that $\operatorname{max}\nolimits _{K}{\vert }\mathinner{\left(\operatorname{div}\nolimits \boldsymbol{σ}_{h}−f,1\right)}_{K}{\vert }$ is at round\-off level\.

5. <a name="Item.31"></a>For each cell ${K{\textstyle \text{,}}}$ evaluate $η_{K}^{\mathrm{F}}$ by ([18](<#equation.18>)) and $η_{K}^{\mathrm{R}}=\operatorname{osc}\nolimits _{K}(f)$ by ([22](<#equation.22>))\.

6. <a name="Item.32"></a>Return $η={\mathinner{\left(\vcenter{\rule[0em]{0em}{1.1999947em}}\right.}}∑\nolimits _{K}(η_{K}^{\mathrm{R}}+η_{K}^{\mathrm{F}})^{2}{{\mathinner{\left)\vcenter{\rule[0em]{0em}{1.1999947em}}\right.}}^{1{/}2}{\textstyle \text{.}}}$ By Theorem [7\.9](<#theorem.7.9>), ${\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }≤{η{\textstyle \text{,}}}$ whatever the mesh\.

<a name="remark.7.20"></a>*Remark* &#55;\.20 (Cost and parallelism&#41;*\.* &#83;tep 2 requires ${\#}\mathcal{V}_{h}$ independent mixed solves, each of a size depending only on $p$ and on the number of cells in the patch, and each independent of the others: the step is embarrassingly parallel and its complexity is linear in ${\#}{\mathcal{V}_{h}{\textstyle \text{,}}}$ against a global saddle\-point solve for the reconstruction of Section [7\.4](<#subsection.7.4>)\. On the meshes of Section [10](<#section.10>) with $k=1$ and $p={1{\textstyle \text{,}}}$ each local system has at most $43$ unknowns, so the arithmetic cost of step 2 is a few hundred flops per vertex\. We report that algebraic size rather than a wall\-clock comparison: our driver loops over the patches in `Python`, and its running time measures the interpreter, not the algorithm (Section [10\.8](<#subsection.10.8>))\.

<a name="remark.7.21"></a>*Remark* &#55;\.21 (The correction term of the classical constructions&#41;*\.* &#65;n alternative and historically earlier route (Destuynder–Métivet \[[DM99](<#cite.destuynder1999>)\], Ladèveze \[[LP04](<#cite.ladeveze2004>)\]) is to build a first field $\widetilde{\boldsymbol{p}}_{h}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}∑\nolimits _{\mathrm{a}}\boldsymbol{p}_{h}^{\mathrm{a}}$ that equilibrates only approximately, and then to add a cellwise correction $δ{\boldsymbol{p}_{K}{\textstyle \text{,}}}$ obtained by solving a local Neumann problem on ${K{\textstyle \text{,}}}$ so that $\boldsymbol{p}_{h}{\vert }_{K}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}\widetilde{\boldsymbol{p}}_{h}{\vert }_{K}+δ\boldsymbol{p}_{K}$ is exactly admissible\. The subtlety, easily overlooked, is that *the correction must be computed exactly* &#102;or the bound to remain guaranteed; if it is computed in a finite dimensional space, it is not exactly admissible, and one is back to the relaxed setting of Definition [7\.6](<#definition.7.6>)\. Presentations that assert that the correction is “negligible” implicitly assume a fine and shape\-regular mesh — which is precisely the assumption we do not make\. The formulation ([29](<#equation.29>)) sidesteps the issue altogether: the constraint $\operatorname{div}\nolimits \boldsymbol{τ}_{h}=\mathrm{Π}_{p}g_{\mathrm{a}}$ is imposed *inside* &#116;he discrete space, and the residual defect is exactly the computable oscillation of Proposition [7\.12](<#proposition.7.12>)\.

<a name="remark.7.22"></a>*Remark* &#55;\.22 (Distorted cells: implementation pitfalls&#41;*\.* &#79;n strongly distorted or nearly degenerate cells the local matrices in ([29](<#equation.29>)) become badly conditioned\. Practical remedies: (i) scale the ${\kern0pt \textstyle \boldsymbol{R}\boldsymbol{T}}$ basis by the face measures; (ii) solve ([31](<#equation.31>)) in the constrained least\-squares form with an orthonormalised basis of the divergence constraint; (iii) use a direct solver with pivoting on each patch — the matrices are tiny\. Note that a badly conditioned *local* &#112;roblem does not compromise the guarantee: any computed $\boldsymbol{σ}_{h}$ that lies in $\boldsymbol{H}(\operatorname{div}\nolimits ,\mathrm{Ω})$ and passes the check $\mathinner{\left(\operatorname{div}\nolimits \boldsymbol{σ}_{h}−f,1\right)}_{K}=0$ (verifiable a posteriori, to round\-off) gives a valid bound, however suboptimal\. Note also that the approximation properties of the ${\kern0pt \textstyle \boldsymbol{R}\boldsymbol{T}}_{p}$ interpolant on strongly anisotropic tetrahedra are known and better than the isotropic theory suggests \[[AADL11](<#cite.acosta2011>)\], which is encouraging for the anisotropic mesh family [(F5)](<#Item.45>) below\.

<a name="section.8"></a>

## 8 Comparison with other estimators

<a name="subsection.8.1"></a>

### 8\.1 Explicit residual

The classical explicit residual estimator reads, on a simplicial mesh,

<a name="equation.33"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}η_{K}^{\mathrm{r}\mathrm{e}\mathrm{s}}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}{\textstyle \mathinner{\left(\vcenter{\rule[0em]{0em}{1.79999136em}}\right.}\displaystyle }C_{1}^{2}\mkern3mu h_{K}^{2}\mkern3mu μ_{K}^{−1}\mathopen{\Vert }f+{\mathrm{d}\mathrm{i}\mathrm{v}}\kern3.630539pt (μ{∇}u_{h})\mathclose{\Vert }_{K}^{2}+C_{2}^{2}∑\limits _{F⊂{∂}K∩\mathcal{F}_{h}^{i}}h_{F}\mkern3mu μ_{F}^{−1}\mathopen{\Vert }[\mkern-3mu [μ{∇}u_{h}\cdot \boldsymbol{n}]\mkern-3mu ]\mathclose{\Vert }_{F}^{2}{\textstyle \mathinner{\left)\vcenter{\rule[0em]{0em}{1.79999136em}}\right.}\displaystyle }^{1{/}2},&\text{(33)}\end{array}}
$$

where $[\mkern-3mu [\cdot ]\mkern-3mu ]_{F}$ is the jump across the face ${F{\textstyle \text{,}}}$ $h_{F}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}\operatorname{diam}\nolimits {F{\textstyle \text{,}}}$ $μ_{F}$ the larger of the two adjacent values of ${μ{\textstyle \text{,}}}$ and $C_{1},C_{2}$ are fixed normalisation constants\. One has ${\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }≤C{\mathinner{\left(\vcenter{\rule[0em]{0em}{1.1999947em}}\right.}}∑\nolimits _{K}(η_{K}^{\mathrm{r}\mathrm{e}\mathrm{s}})^{2}{\mathinner{\left)\vcenter{\rule[0em]{0em}{1.1999947em}}\right.}}^{1{/}2}$ with $C$ depending on the shape\-regularity of $\mathcal{T}_{h}$ through the constants of the Clément \[[Clé75](<#cite.clement1975>)\] / Scott–Zhang \[[SZ90](<#cite.scottzhang1990>)\] quasi\-interpolation; see \[[BMV01](<#cite.bernardi2001>), [Ver13](<#cite.verfurth2013>)\] for a careful discussion\. Two defects, both fatal in our context: $C$ is not computable, and $C\mathrel{→}{∞}$ as the elements degenerate (for a triangle, $C$ grows like $(\operatorname{sin}\nolimits θ_{\operatorname{max}\nolimits })^{−1}$ or worse)\. Fully computable variants \[[VV09](<#cite.veeser2009>), [CM14](<#cite.carstensen2014>)\] replace $C$ by an explicit expression, which however still involves the element shapes\. We nevertheless include $η^{\mathrm{r}\mathrm{e}\mathrm{s}}$ in the comparison, with the usual engineering choice $C={1{\textstyle \text{,}}}$ precisely to exhibit its unreliability on distorted meshes\.

<a name="subsection.8.2"></a>

### 8\.2 Recovery estimators of Zienkiewicz–Zhu type

With $G_{h}\mathrel{:}[L^{2}]^{d}\mathrel{→}[V_{h}]^{d}$ a gradient recovery operator (patch averaging, superconvergent patch recovery, \. \. \. ),

<a name="equation.34"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}η_{K}^{\mathrm{Z}\mathrm{Z}}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}\mathopen{\Vert }μ^{1{/}2}\mathinner{\left(G_{h}({∇}u_{h})−{∇}u_{h}\right)}\mathclose{\Vert }_{K}.&\text{(34)}\end{array}}
$$

Cheap, popular, asymptotically exact on structured shape\-regular meshes thanks to superconvergence \[[ZZ92a](<#cite.zz1992a>), [ZZ92b](<#cite.zz1992b>)\] — and with no guarantee whatsoever otherwise\. The variant implemented below takes for $G_{h}$ the global ${L^{2}{\textstyle \text{-}}}$&#112;rojection of ${∇}u_{h}$ onto the continuous $[\mathbb{P}_{1}]^{d}$ space, the simplest member of the family; it is not the superconvergent patch recovery of \[[ZZ92a](<#cite.zz1992a>), [ZZ92b](<#cite.zz1992b>)\], and the superscript “ZZ” used throughout is a shorthand for the recovery principle, not for that particular smoothing\. Superconvergence is exactly the property that a distorted mesh destroys, so $η^{\mathrm{Z}\mathrm{Z}}$ is expected to be the least robust of the four; anisotropic variants exist \[[Pic03](<#cite.picasso2003>)\]\.

<a name="subsection.8.3"></a>

### 8\.3 Bank–Weiser

This is the closest competitor of the equilibrated flux estimator, and the one we shall follow quantitatively throughout Section [10](<#section.10>): like the patchwise reconstruction of Section [7\.5](<#subsection.7.5>) it solves small local problems, and it is the estimator with the reputation of being the sharpest\.

The Bank–Weiser estimator \[[BW85](<#cite.bankweiser1985>)\] solves one local Neumann\-type problem per cell\. Let

<a name="equation.35"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}V_{K}^{\mathrm{B}\mathrm{W}}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}\{v∈\mathbb{P}_{k+1}(K)\mathrel{:}v(\mathrm{a})=0\kern3.630539pt \kern3.630539pt {∀}\mathrm{a}∈\mathcal{V}_{h}∩K\},&\text{(35)}\end{array}}
$$

which for $k=1$ is the three\-dimensional span of the quadratic edge bubbles, i\.e\. $\mathbb{P}_{2}(K)$ modulo $\mathbb{P}_{1}(K)$ in the hierarchical sense; see \[[BHL<sup>\+</sup>23](<#cite.bulle2023>)\] for the systematic construction at arbitrary $k$ and its `FEniCS` implementation\. Find $e_{K}^{\mathrm{B}\mathrm{W}}∈V_{K}^{\mathrm{B}\mathrm{W}}$ with

<a name="equation.36"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}\mathinner{\left(μ{∇}e_{K}^{\mathrm{B}\mathrm{W}},{∇}v\right)}_{K}=\mathinner{\left(f+\operatorname{div}\nolimits (μ{∇}u_{h}),v\right)}_{K}−{\kern0pt \textstyle {\frac{1}{2}}}∑\limits _{F⊂{∂}K∩\mathcal{F}_{h}^{i}}\mathinner{\left([\mkern-3mu [μ{∇}u_{h}\cdot \boldsymbol{n}]\mkern-3mu ],v\right)}_{F}\kern10.887878pt {∀}v∈V_{K}^{\mathrm{B}\mathrm{W}},&\text{(36)}\end{array}}
$$

and set $η_{K}^{\mathrm{B}\mathrm{W}}\mkern5mu {\mathrel{:}=}\mkern-5mu \mathrel{}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }e_{K}^{\mathrm{B}\mathrm{W}}{\vert }\mkern-3mu {\vert }\mkern-3mu {{\vert }_{K}{\textstyle \text{.}}}$ The right\-hand side is the residual functional $ℓ(v)−a(u_{h},v)$ written cellwise, each facet integral being split half and half between its two cells\. Four remarks, which are what the numerical comparison will put figures on\.

- **(a)** <a name="Item.33"></a>*No boundary condition* &#105;s imposed on ${V_{K}^{\mathrm{B}\mathrm{W}}{\textstyle \text{:}}}$ since the space contains no constant, the local bilinear form is already positive definite on it, and the pure Neumann problem ([36](<#equation.36>)) is solvable without any compatibility condition\. This is what makes Bank–Weiser cheap, and it is also the reason it needs no equilibration step — and gets no guarantee in exchange\.

- **(b)** <a name="Item.34"></a>*Reliability holds only under a saturation assumption* &#8212; that the $\mathbb{P}_{k+1}$ solution be strictly closer to $u$ than the $\mathbb{P}_{k}$ one by a fixed factor\. The resulting constant is not one, it depends on the shape regularity, and, unlike the equilibration defect of step 4 of Algorithm [7\.19](<#algorithm.7.19>), the assumption cannot be checked a posteriori: nothing in the computed output tells the user whether the bound holds\.

- **(c)** <a name="Item.35"></a>*The* $1{/}2$ *split of the facet term is the classical, unweighted choice*&#44; and it is not robust with respect to the diffusion coefficient: the jump $[\mkern-3mu [μ{∇}u_{h}\cdot \boldsymbol{n}]\mkern-3mu ]$ carries the *larger* &#111;f the two values of ${μ{\textstyle \text{,}}}$ while the local form on the low\-coefficient side weighs it against the *smaller* &#111;ne\. Coefficient\-weighted splits repair this; we use the classical version, and Section [10\.10](<#subsection.10.10>) shows what it costs\.

- **(d)** <a name="Item.36"></a>*Cost*&#58; ([36](<#equation.36>)) is symmetric positive definite and of dimension $\operatorname{dim}\nolimits \mathbb{P}_{k+1}(K)−{\#}\{\text{vertices}\}$ — three for $k=1$ in 2D — against a saddle\-point problem over a whole vertex patch for the equilibrated reconstruction\. Per local solve, Bank–Weiser is the cheaper of the two\.

<a name="subsection.8.4"></a>

### 8\.4 Summary

Table [1](<#table.caption.6>) summarises the situation\. The point we want to make is *not* &#116;hat the equilibrated flux estimator is the sharpest\. It is not: on the finest structured mesh of Table [2](<#table.caption.13>) Bank–Weiser overestimates by $0.4{\%}$ where the equilibrated flux overestimates by $0.8{{\%}{\textstyle \text{,}}}$ and on the under\-resolved boundary layer it is sharper still ${{\textstyle \text{(}}1}.74$ against $2.4{0{\textstyle \text{).}}}$ The point is that it is the only one of the four whose validity does not evaporate when the mesh is bad — and, as Section [10\.10](<#subsection.10.10>) shows, the sharpness advantage of Bank–Weiser is exactly what distortion takes away\.

<a name="section.9"></a>

## 9 Goal\-oriented estimation

Engineers rarely care about the energy norm; they care about a quantity of interest $J(u)$ — a displacement at a point, a flux through a surface, an average stress\. Let $J∈V^{\prime }$ be a bounded linear functional and let $z∈V$ solve the dual problem

<a name="equation.37"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}a(v,z)=J(v)\kern21.775757pt {∀}v∈V,&\text{(37)}\end{array}}
$$

approximated by $z_{h}∈V_{h}$ with $a(v_{h},z_{h})=J(v_{h})$ for all $v_{h}∈{V_{h}{\textstyle \text{.}}}$

<a name="proposition.9.1"></a>**Proposition 9\.1** &#40;Guaranteed goal\-oriented bound&#41;**\.** *&#84;here holds*

<a name="equation.38"></a>

$$
{\textstyle \begin{array}{cr}\displaystyle \kern0pt {}{}\kern0pt \mathopen{}\mathinner{\left\vert J(u)−J(u_{h})\right\vert }=\mathinner{\left\vert a(u−u_{h},z−z_{h})\right\vert }≤{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }\mkern3mu {\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }z−z_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }≤η^{\mathrm{p}\mathrm{r}\mathrm{i}\mathrm{m}}\mkern3mu η^{\mathrm{d}\mathrm{u}\mathrm{a}\mathrm{l}},&\text{(38)}\end{array}}
$$

*where* $η^{\mathrm{p}\mathrm{r}\mathrm{i}\mathrm{m}}$ *and* $η^{\mathrm{d}\mathrm{u}\mathrm{a}\mathrm{l}}$ *are the equilibrated flux estimators* &#40;[19](<#equation.19>)) *of the primal and of the dual problem\.*

*Proof\.* $J(u)−J(u_{h})=a(u−u_{h},z)$ by ([37](<#equation.37>)), and $a(u−u_{h},z_{h})=0$ by Galerkin orthogonality ([9](<#equation.9>)), whence $J(u)−J(u_{h})=a(u−u_{h},z−z_{h}{{)}{\textstyle \text{.}}}$ Conclude with the Cauchy–Schwarz inequality in the energy norm, then Theorem [7\.9](<#theorem.7.9>) applied twice\. □

Again the constant is one and no mesh assumption is used\. Since $a$ is symmetric, the dual problem is solved with the *same* &#115;tiffness matrix as the primal one — already factorised — so the extra cost is one additional right\-hand side plus one additional flux reconstruction, that is, roughly a doubling of the estimation cost\.

Two caveats are in order\. First, ([38](<#equation.38>)) bounds ${\vert }J(u)−J(u_{h}){\vert }$ but gives no information on its *sign*&#44; whereas practice often calls for a signed correction; sharper, non\-product bounds that also provide a lower bound are available \[[CNT23](<#cite.creuse2017>)\]\. Second, the product form is pessimistic by construction, since it discards the cancellation between the primal and the dual error: the effectivity index of ([38](<#equation.38>)) grows like the ratio of the two error distributions\. Section [10\.13](<#subsection.10.13>) quantifies this, and shows that the resulting index is nevertheless $O(1)$ and, like the energy bound itself, insensitive to an isolated degenerate cell\.

<a name="section.10"></a>

## 10 Numerical experiments

All computations are performed with `FEniCSx` (`dolfinx` 0\.9\.0) in serial\. All the scripts, meshes and raw result files are openly available at

[`https://github.com/michelduprez/A-posteriori-error-estimation-for-coarse-or-distorted-meshes`](<https://github.com/michelduprez/A-posteriori-error-estimation-for-coarse-or-distorted-meshes>)

Every table and figure below is regenerated from that repository by a single driver, whose `README` documents the role of each file\. Related open implementations are `dolfin-tape` \[[Ble16](<#cite.blechta_dolfintape>)\] and the Bank–Weiser code of \[[BHL<sup>\+</sup>23](<#cite.bulle2023>)\]\.

<a name="subsection.10.1"></a>

### 10\.1 Protocol

##### Test cases\.

<a name="section*.9"></a> In each case the exact solution is known in closed form, so that the true error ${\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }$ — and hence the effectivity index ([24](<#equation.24>)) — can be computed and the guarantee $η≥{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }$ can be *checked*&#44; not merely asserted\.

- **(T1)** <a name="Item.37"></a>*Smooth*&#58; $\mathrm{Ω}=(0,1{{)^{2}}{\textstyle \text{,}}}$ $u(\boldsymbol{x})=\operatorname{sin}\nolimits (πx_{1})\operatorname{sin}\nolimits (πx_{2}{{)}{\textstyle \text{,}}}$ $μ\mathrel{≡}{1{\textstyle \text{,}}}$ $f=2μπ^{2}{u{\textstyle \text{,}}}$ homogeneous Dirichlet data\. Reference case: the error is smooth and equidistributed, so any deviation of $I$ from its structured\-mesh value is attributable to the mesh alone\.

- **(T2)** <a name="Item.38"></a>*Singular*&#58; L\-shaped domain $\mathrm{Ω}=(−1,1)^{2}\mathbin{\backslash }([0,1]×[−1,0]{{)}{\textstyle \text{,}}}$ $f={0{\textstyle \text{,}}}$ and $u=r^{2{/}3}\operatorname{sin}\nolimits (2θ{/}3{{)}{\textstyle \text{,}}}$ with $θ$ measured counter\-clockwise from the positive ${x_{1}{\textstyle \text{-}}}$&#97;xis and running over $(0,3π{/}2{{)}{\textstyle \text{.}}}$ Here $u∈H^{1+2{/}3−ϵ}(\mathrm{Ω})$ only, and the Dirichlet data are non\-homogeneous on part of ${∂}{\mathrm{Ω}{\textstyle \text{,}}}$ so that Theorem [7\.9](<#theorem.7.9>) does *not* &#97;pply verbatim (Remark [7\.11](<#remark.7.11>))\. We run the case nevertheless, with $g_{h}$ the Lagrange interpolant of ${g{\textstyle \text{,}}}$ precisely in order to see whether, and by how much, the bound fails; this is Section [10\.12](<#subsection.10.12>)\. It tests the estimator in the presence of a corner singularity, where the error is strongly localised\.

- **(T3)** <a name="Item.39"></a>*Boundary layer*&#58; $\mathrm{Ω}=(0,1)^{2}$ and

    $$
    u(\boldsymbol{x})={\textstyle \mathinner{\left(\vcenter{\rule[0em]{0em}{1.1999947em}}\right.}\displaystyle }1−e^{−x_{1}{/}ε}{\textstyle \mathinner{\left)\vcenter{\rule[0em]{0em}{1.1999947em}}\right.}\displaystyle }{\textstyle \mathinner{\left(\vcenter{\rule[0em]{0em}{1.1999947em}}\right.}\displaystyle }1−e^{−(1−x_{1}){/}ε}{\textstyle \mathinner{\left)\vcenter{\rule[0em]{0em}{1.1999947em}}\right.}\displaystyle }\mkern3mu x_{2}(1−x_{2}),\kern21.775757pt ε=10^{−2},
    $$

    which vanishes on ${∂}\mathrm{Ω}$ and exhibits layers of width $ε$ near $x_{1}=0$ and $x_{1}={1{\textstyle \text{;}}}$ $f$ is obtained by differentiation\. Natural companion of the anisotropic mesh family [(F5)](<#Item.45>)\.

- **(T4)** <a name="Item.40"></a>*Heterogeneous*&#58; $μ=1$ for $x_{1}<1{/}2$ and $μ=10^{4}$ for $x_{1}>1{/}{2{\textstyle \text{,}}}$ with the interface aligned with the mesh as required by [(M3)](<#Item.9>)\. The interface is placed exactly where ${∂}u{/}{∂}x_{1}=0$ for $u=\operatorname{sin}\nolimits (πx_{1})\operatorname{sin}\nolimits (πx_{2}{{)}{\textstyle \text{,}}}$ so that the normal flux $μ\mkern3mu {∂}u{/}{∂}x_{1}$ is continuous across it and this $u$ *is* &#116;he exact solution of the transmission problem, with $f=2μπ^{2}u∈L^{2}(\mathrm{Ω}{{)}{\textstyle \text{.}}}$ Checks the ${μ{\textstyle \text{-}}}$&#114;obustness announced in Theorem [7\.9](<#theorem.7.9>)\.

##### Mesh families\.

<a name="section*.10"></a> The synthetic meshes [(F1)](<#Item.41>)–[(F5)](<#Item.45>) triangulate the unit square, so that the closed\-form solutions above apply and the effectivity index can be *measured* &#114;ather than estimated; the real meshes [(F6)](<#Item.46>) and the L\-shaped meshes [(F7)](<#Item.47>) do not, and are treated separately\.

- **(F1)** <a name="Item.41"></a>uniform structured meshes, $N=8,\mathinner{\mathpunct{.}\mathpunct{.}\mathpunct{.}},128$ (reference);

- **(F2)** <a name="Item.42"></a>randomly perturbed meshes: every interior vertex is moved by $δh\mkern3mu {\boldsymbol{ξ}{\textstyle \text{,}}}$ $\boldsymbol{ξ}$ uniform in the unit disc, $δ∈\{0.10,0.20,0.30{{\}}{\textstyle \text{.}}}$ Since both endpoints of an edge move, the mesh stays untangled as long as $2δ<1{/}{\sqrt{2}{\textstyle \text{,}}}$ i\.e\. $δ<0.35{4{\textstyle \text{;}}}$ the code verifies a posteriori that no cell has been inverted;

- **(F3)** <a name="Item.43"></a>*locally damaged* &#109;eshes: *one single* &#105;nterior vertex is displaced, all other cells being left untouched, in the spirit of \[[DLL19](<#cite.duprez2019damage>)\]\. Two variants, controlled by a parameter $t∈\{10^{−1},\mathinner{\mathpunct{.}\mathpunct{.}\mathpunct{.}},10^{−4}{{\}}{\textstyle \text{:}}}$ *needle*&#44; where the vertex is moved a fraction $1−t$ of the way toward a neighbour (so $θ_{\operatorname{min}\nolimits }\mathrel{→}0$ while $θ_{\operatorname{max}\nolimits }$ stays bounded away from ${π{\textstyle \text{,}}}$ and the maximum angle condition still holds); and *cap*&#44; where it is moved onto the opposite edge of one of its cells (so $θ_{\operatorname{max}\nolimits }\mathrel{→}π$ and the maximum angle condition fails)\. In both cases $s_{K}∼{t{\textstyle \text{;}}}$

- **(F4)** <a name="Item.44"></a>*extent* &#111;f the damage: $m∈\{1,4,16,64\}$ vertices are cap\-damaged at fixed $t=1{0^{−3}{\textstyle \text{,}}}$ either *scattered* &#111;ver the whole domain or grouped in a single contiguous *block*&#46; At equal $m$ and equal local quality, the two layouts differ only by the diameter of the damaged region, which is precisely the parameter the conjecture of Section [7\.3](<#subsection.7.3>) points to\. Damaged vertices are taken on the even sublattice so that no two of them are neighbours;

- **(F5)** <a name="Item.45"></a>globally anisotropic structured meshes with $N×M$ cells, $M∈\{N,N{/}4,N{/}8,N{/}16{{\}}{\textstyle \text{,}}}$ hence aspect ratios up to $α\mathrel{≈}1{6{\textstyle \text{;}}}$

- **(F6)** <a name="Item.46"></a>the *real* &#109;eshes shipped with the project, treated separately in Section [10\.15](<#subsection.10.15>): a triangulation of $(−1,1)^{2}$ and four triangulations of a letter glyph, produced by two independent meshers;

- **(F7)** <a name="Item.47"></a>structured triangulations of the L\-shaped domain of [(T2)](<#Item.38>), with $2N×2N$ squares of side $1{/}N$ over the enclosing square $(−1,1{{)^{2}}{\textstyle \text{,}}}$ each split into two right triangles and the cells of the missing quadrant removed, $N=4,\mathinner{\mathpunct{.}\mathpunct{.}\mathpunct{.}},3{2{\textstyle \text{.}}}$ These are shape\-regular meshes: they carry the singularity of [(T2)](<#Item.38>), not a geometric defect\.

Figure [1](<#figure.caption.11>) shows one representative of each synthetic family\.

<a name="figure.caption.11"></a>![Figure](<lec-images-454ab6733b02d98305f700968871a617bb5ca6803e64db27597d069ac12a1e6b/diagram-1.png>)



**Figure 1:** &#84;he synthetic mesh families\. (a) the structured reference [(F1)](<#Item.41>); (b) the random perturbation [(F2)](<#Item.42>) at the largest admissible amplitude; (c) a zoom on the single cap\-damaged vertex of [(F3)](<#Item.43>), the flattened cell being highlighted — every other cell of that mesh is the structured one of panel (a); (d) the anisotropic family [(F5)](<#Item.45>)\.

##### Quantities reported\.

<a name="section*.12"></a> For each pair (test case, mesh) we report the true energy error ${\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {{\vert }{\textstyle \text{,}}}$ the four estimators, and their global effectivity indices ([24](<#equation.24>))\. The equilibrated flux is computed with the ${\kern0pt \textstyle \boldsymbol{B}\boldsymbol{D}\boldsymbol{M}}_{1}×\mathbb{P}_{0}$ pair of Section [7\.4](<#subsection.7.4>); the residual estimator uses the engineering calibration $C_{1}=C_{2}={1{\textstyle \text{,}}}$ and $G_{h}$ in ([34](<#equation.34>)) is the global ${L^{2}{\textstyle \text{-}}}$&#112;rojection onto the continuous $[\mathbb{P}_{1}]^{2}$ space\. In addition we report

- the *certificate*

    $$
    \operatorname*{max}\limits _{K}{\vert }\mathinner{\left(\operatorname{div}\nolimits \boldsymbol{σ}_{h}−f,1\right)}_{K}{\vert }{/}\operatorname*{max}\limits {\textstyle \mathinner{\left\{\vcenter{\rule[0em]{0em}{1.1999947em}}\right.}\displaystyle }\mathinner{\left({\vert }f{\vert },1\right)}_{K},\kern3.630539pt \mathinner{\left({\vert }\operatorname{div}\nolimits \boldsymbol{σ}_{h}{\vert },1\right)}_{K},\kern3.630539pt h_{K}^{−1}\mathinner{\left({\vert }\boldsymbol{σ}_{h}{\vert },1\right)}_{K}{\textstyle \mathinner{\left\}\vcenter{\rule[0em]{0em}{1.1999947em}}\right.}\displaystyle },
    $$

    which must be at round\-off level (step 4 of Algorithm [7\.19](<#algorithm.7.19>)); the denominator is the size of the terms that must cancel, and does not degenerate when $f=0$ as in test case [(T2)](<#Item.38>)\. It never exceeded $7.2\cdot 10^{−10}$ over the whole campaign, and $2.3\cdot 10^{−9}$ if the dual problems of Section [10\.13](<#subsection.10.13>) are included;

- the worst *cellwise* &#114;atio $η_{K}{/}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }_{K}$ over the badly shaped cells ${{\textstyle \text{(}}s_{K}}<0.{1{\textstyle \text{),}}}$ written ${I_{K}^{\mathrm{b}\mathrm{a}\mathrm{d}}{\textstyle \text{.}}}$ Note that Theorem [7\.14](<#theorem.7.14>) bounds $η_{K}$ by the error on the *patch* ${ω_{K}{\textstyle \text{,}}}$ so a cellwise ratio slightly above one is expected and is not a violation of anything; the quantity is reported as a proxy for the local sharpness on the damaged cells\.

<a name="subsection.10.2"></a>

### 10\.2 How it is computed: a reference implementation

The listing below computes the equilibrated flux by the global mixed formulation ([26](<#equation.26>)) and evaluates *both* &#105;ndicators ([17](<#equation.17>)) and ([18](<#equation.18>)), including the residual term that is often (wrongly) omitted, as well as the parameter ${μ{\textstyle \text{.}}}$ It is a complete, runnable `FEniCSx` script; the output it produces is quoted after the listing\.

<a name="lstlisting.1"></a>

**Listing 1:** &#71;uaranteed error bound via a global ${\kern0pt \textstyle \boldsymbol{B}\boldsymbol{D}\boldsymbol{M}}_{1}×\mathbb{P}_{0}$ flux reconstruction\. This is `code/fenicsx/minimal_example.py` included verbatim, so the listing and the script that produced the output below cannot drift apart\.

```
from mpi4py import MPI
import numpy as np
import ufl
import basix.ufl
from dolfinx import fem, mesh as dmesh
from dolfinx.fem.petsc import LinearProblem

LU = {"ksp_type": "preonly", "pc_type": "lu",
      "pc_factor_mat_solver_type": "mumps"}
QD = {"quadrature_degree": 8}

# ------------------------------------------------------------ data ----
N = 64
mu = 1.0                            # physical parameter, tracked
msh = dmesh.create_unit_square(MPI.COMM_WORLD, N, N,
                              dmesh.CellType.triangle)

x = ufl.SpatialCoordinate(msh)
u_ex = ufl.sin(ufl.pi * x[0]) * ufl.sin(ufl.pi * x[1])
f = -ufl.div(mu * ufl.grad(u_ex))          # = 2 mu pi^2 u_ex

# -------------------------------------------------- primal problem ----
V = fem.functionspace(msh, ("Lagrange", 1))
msh.topology.create_connectivity(1, 2)
bdofs = fem.locate_dofs_topological(
    V, 1, dmesh.exterior_facet_indices(msh.topology))
bc = fem.dirichletbc(fem.Constant(msh, 0.0), bdofs, V)

u, v = ufl.TrialFunction(V), ufl.TestFunction(V)
uh = LinearProblem(ufl.inner(mu * ufl.grad(u), ufl.grad(v)) * ufl.dx(metadata=QD),
                   ufl.inner(f, v) * ufl.dx(metadata=QD),
                   bcs=[bc], petsc_options=LU).solve()

# ------------------------- equilibrated flux, global mixed ----
# Inf-sup stable pair BDM_{p+1} x P_p: div sigma_h = Pi_p f exactly.
p = 0
W = fem.functionspace(msh, basix.ufl.mixed_element([
    basix.ufl.element("BDM", msh.basix_cell(), p + 1),
    basix.ufl.element("DG", msh.basix_cell(), p)]))

(sig, lam) = ufl.TrialFunctions(W)
(tau, q) = ufl.TestFunctions(W)

#  ( mu^{-1} sigma_h , tau ) - ( lambda_h , div tau ) = 0
#  ( div sigma_h , q )                                = ( f , q )
# u = 0 is *natural* here: no essential boundary condition.
a = ((1.0 / mu) * ufl.inner(sig, tau) - lam * ufl.div(tau)
     + ufl.div(sig) * q) * ufl.dx(metadata=QD)
# f integrated with the same rule as in the certificate below: tested with
# q = 1_K, the second equation is then exactly the equilibration (EF).
L = ufl.inner(f, q) * ufl.dx(metadata=QD)
w = LinearProblem(a, L, bcs=[], petsc_options=LU).solve()
sig_h = w.sub(0)

# --------------------------------------------- cellwise indicators ----
DG0 = fem.functionspace(msh, ("DG", 0))
v0 = ufl.TestFunction(DG0)
dx = ufl.dx(metadata=QD)
h_K = ufl.CellDiameter(msh)


def cellwise(expr):
    return np.asarray(fem.assemble_vector(fem.form(expr * v0 * dx)).array)


r = sig_h + mu * ufl.grad(uh)
etaF = np.sqrt(cellwise((1.0 / mu) * ufl.inner(r, r)))       # eta_F
etaR = np.sqrt(cellwise((h_K / np.pi) ** 2 * (1.0 / mu)
                        * (f - ufl.div(sig_h)) ** 2))        # eta_R
eta = np.sqrt(((etaR + etaF) ** 2).sum())                    # bound

# ------------------------------------------------ check the bound ----
e = ufl.grad(uh - u_ex)
err = np.sqrt(fem.assemble_scalar(fem.form(ufl.inner(mu * e, e) * dx)))

# certificate: relative cellwise equilibration defect.  The scale is the
# largest of the terms that must cancel, so that the test stays meaningful
# when |f| is large -- and defined when f vanishes.
scale = np.maximum.reduce([cellwise(abs(f)), cellwise(abs(ufl.div(sig_h))),
                           cellwise(ufl.sqrt(ufl.inner(sig_h, sig_h)) / h_K)])
defect = np.abs(cellwise(ufl.div(sig_h) - f)) / scale

print(f"energy error   |||u-u_h|||   = {err:.6e}")
print(f"estimator      eta           = {eta:.6e}")
print(f"  flux part    ||etaF||      = {np.linalg.norm(etaF):.6e}")
print(f"  oscillation  ||etaR||      = {np.linalg.norm(etaR):.6e}")
print(f"effectivity    I = eta/err   = {eta / err:.4f}")
print(f"max rel. equilibration defect= {defect.max():.2e}")
assert eta >= err, "the guaranteed bound is violated -- check the code!"
```

Its output on the $64×64$ mesh is

```
energy error   |||u-u_h|||   = 5.451370e-02
estimator      eta           = 5.539722e-02
  flux part    ||etaF||      = 5.450766e-02
  oscillation  ||etaR||      = 1.135797e-03
effectivity    I = eta/err   = 1.0162
max rel. equilibration defect= 1.03e-12
```

Three things are worth reading off these six lines\. The bound holds with an effectivity of $1.6{{\%}{\textstyle \text{;}}}$ the oscillation term ([22](<#equation.22>)) accounts for $2{\%}$ of the estimator, so it is small but *not* &#110;egligible — dropping it would give $η=5.4508\cdot 10^{−2}<{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }=5.4514\cdot 10^{−2}$ and the assertion on the last line would fire, which is exactly the trap of Remark [7\.13](<#remark.7.13>); and the equilibration certificate is at round\-off, so ([EF](<#AMS.8>)) is verified to hold, and not merely assumed to\.

The assertion on the last line is the central claim of the paper: it must never fire, whatever the mesh\. Over the $32$ runs of the campaign that are covered by Theorem [7\.9](<#theorem.7.9>), and the one real mesh with a known solution, it never did — for either reconstruction\. The patchwise variant of Section [7\.5](<#subsection.7.5>) replaces the global solve by ${\#}\mathcal{V}_{h}$ local ones; it is implemented in `patchwise.py` and reported in Section [10\.8](<#subsection.10.8>)\.

<a name="subsection.10.3"></a>

### 10\.3 Reference case: convergence and asymptotic behaviour

Table [2](<#table.caption.13>) reports the reference family [(F1)](<#Item.41>) on the smooth test case [(T1)](<#Item.37>)\.

<a name="table.caption.13"></a>

|  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- |
| mesh | cells | ${\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }$ | $η^{\mathrm{e}\mathrm{q}}$ | $I^{\mathrm{e}\mathrm{q}}$ | $I^{\mathrm{B}\mathrm{W}}$ | $I^{\mathrm{r}\mathrm{e}\mathrm{s}}$ | $I^{\mathrm{Z}\mathrm{Z}}$ |
| F1 $N=8$ | 128 | 4\.318e\-01 | 4\.878e\-01 | 1\.130 | 1\.082 | 5\.526 | 0\.960 |
| F1 $N=16$ | 512 | 2\.175e\-01 | 2\.316e\-01 | 1\.065 | 1\.037 | 5\.601 | 0\.984 |
| F1 $N=32$ | 2048 | 1\.090e\-01 | 1\.125e\-01 | 1\.032 | 1\.017 | 5\.632 | 0\.993 |
| F1 $N=64$ | 8192 | 5\.451e\-02 | 5\.540e\-02 | 1\.016 | 1\.008 | 5\.645 | 0\.997 |
| F1 $N=128$ | 32768 | 2\.726e\-02 | 2\.748e\-02 | 1\.008 | 1\.004 | 5\.651 | 0\.998 |



**Table 2:** &#84;est case [(T1)](<#Item.37>) on the structured family [(F1)](<#Item.41>), $k={1{\textstyle \text{.}}}$ The equilibrated flux estimator is *asymptotically exact* ${{\textstyle \text{(}}I^{\mathrm{e}\mathrm{q}}}\mathrel{→}{1{\textstyle \text{),}}}$ the residual estimator with $C=1$ overestimates by a factor close to $5.6{5{\textstyle \text{,}}}$ and the recovery estimator converges to $1$ *from below* &#8212; it underestimates the error on every mesh of this family\. Bank–Weiser is the sharpest of the four here, and stays above one\.

Four observations, all of which persist throughout the campaign on the unit square\.

1. <a name="Item.48"></a>$I^{\mathrm{e}\mathrm{q}}$ decreases monotonically from $1.130$ to $1.00{8{\textstyle \text{:}}}$ the guaranteed bound is not merely valid, it becomes asymptotically exact\. The residual indicator $η^{\mathrm{R}}$ contributes only $\mathopen{\Vert }η^{\mathrm{R}}\mathclose{\Vert }{/}\mathopen{\Vert }η^{\mathrm{F}}\mathclose{\Vert }\mathrel{≈}2{\%}$ of the estimator at $N=64$ and decreases at the higher rate predicted by Proposition [7\.12](<#proposition.7.12>)\.

2. <a name="Item.49"></a>$I^{\mathrm{r}\mathrm{e}\mathrm{s}}\mathrel{≈}5.{6{\textstyle \text{:}}}$ the explicit residual estimator with the naive calibration $C=1$ is off by more than half an order of magnitude\. This is not a defect of the estimator but a reminder that its constant is unknown\.

3. <a name="Item.50"></a>$I^{\mathrm{Z}\mathrm{Z}}<1$ on every mesh\. The recovery estimator *underestimates* &#116;he error — benignly here ${{\textstyle \text{(}}0}.96$ to $0.99{8{\textstyle \text{),}}}$ much less benignly below\.

4. <a name="Item.51"></a>$I^{\mathrm{B}\mathrm{W}}$ is the sharpest of the four, $1.082$ down to $1.00{4{\textstyle \text{:}}}$ on a structured mesh Bank–Weiser overestimates by about half as much as the equilibrated flux\. Section [10\.10](<#subsection.10.10>) follows what becomes of that advantage\.

<a name="subsection.10.4"></a>

### 10\.4 Distorted meshes: the main experiment

Table [3](<#table.caption.14>) is the core of the paper: the same test case [(T1)](<#Item.37>) computed on meshes of steadily degrading quality\.

<a name="table.caption.14"></a>

|  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- |
| mesh | $s_{\operatorname{min}\nolimits }$ | $θ_{\operatorname{max}\nolimits }$ (deg) | $I^{\mathrm{e}\mathrm{q}}$ | $I^{\mathrm{B}\mathrm{W}}$ | $I^{\mathrm{r}\mathrm{e}\mathrm{s}}$ | $I^{\mathrm{Z}\mathrm{Z}}$ | $I_{K}^{\mathrm{b}\mathrm{a}\mathrm{d}}$ |
| F2 $δ=0.10$ | 5\.6e\-01 | 106\.9 | 1\.033 | 1\.022 | 5\.619 | 0\.989 | — |
| F2 $δ=0.20$ | 4\.0e\-01 | 126\.1 | 1\.033 | 1\.036 | 5\.583 | 0\.978 | — |
| F2 $δ=0.30$ | 2\.3e\-01 | 147\.3 | 1\.034 | 1\.062 | 5\.543 | 0\.961 | — |
| F3 needle $t=10^{−1}$ | 5\.3e\-02 | 132\.0 | 1\.032 | 1\.021 | 5\.637 | 0\.992 | 1\.00 |
| F3 needle $t=10^{−2}$ | 5\.0e\-03 | 134\.7 | 1\.032 | 1\.048 | 5\.639 | 0\.991 | 1\.00 |
| F3 needle $t=10^{−3}$ | 5\.0e\-04 | 135\.0 | 1\.032 | 1\.282 | 5\.640 | 0\.991 | 1\.00 |
| F3 needle $t=10^{−4}$ | 5\.0e\-05 | 135\.0 | 1\.032 | 2\.664 | 5\.640 | 0\.991 | 1\.00 |
| F3 cap $t=10^{−1}$ | 1\.0e\-01 | 168\.6 | 1\.032 | 1\.023 | 5\.631 | 0\.992 | 1\.00 |
| F3 cap $t=10^{−2}$ | 1\.0e\-02 | 178\.9 | 1\.032 | 1\.028 | 5\.636 | 0\.992 | 1\.00 |
| F3 cap $t=10^{−3}$ | 1\.0e\-03 | 179\.9 | 1\.032 | 1\.028 | 5\.637 | 0\.992 | 1\.00 |
| F3 cap $t=10^{−4}$ | 1\.0e\-04 | 180\.0 | 1\.032 | 1\.028 | 5\.637 | 0\.992 | 1\.00 |
| F4 scattered $m=1$ | 1\.0e\-03 | 179\.9 | 1\.032 | 1\.019 | 5\.639 | 0\.993 | 1\.00 |
| F4 block $m=1$ | 1\.0e\-03 | 179\.9 | 1\.032 | 1\.028 | 5\.637 | 0\.992 | 1\.00 |
| F4 scattered $m=4$ | 1\.0e\-03 | 179\.9 | 1\.032 | 1\.032 | 5\.639 | 0\.991 | 1\.06 |
| F4 block $m=4$ | 1\.0e\-03 | 179\.9 | 1\.031 | 1\.058 | 5\.651 | 0\.988 | 1\.00 |
| F4 scattered $m=16$ | 1\.0e\-03 | 179\.9 | 1\.031 | 1\.095 | 5\.685 | 0\.983 | 1\.06 |
| F4 block $m=16$ | 1\.0e\-03 | 179\.9 | 1\.030 | 1\.152 | 5\.705 | 0\.980 | 1\.00 |
| F4 scattered $m=64$ | 1\.0e\-03 | 179\.9 | 1\.031 | 1\.198 | 5\.750 | 0\.964 | 1\.14 |
| F4 block $m=64$ | 1\.0e\-03 | 179\.9 | 1\.028 | 1\.321 | 5\.814 | 0\.964 | 1\.02 |
| F5 $32×32$ | 7\.1e\-01 | 90\.0 | 1\.032 | 1\.017 | 5\.632 | 0\.993 | — |
| F5 $32×8$ | 2\.4e\-01 | 90\.0 | 1\.092 | 1\.163 | 6\.962 | 0\.985 | — |
| F5 $32×4$ | 1\.2e\-01 | 90\.0 | 1\.182 | 1\.529 | 8\.648 | 0\.965 | — |
| F5 $32×2$ | 6\.2e\-02 | 90\.0 | 1\.401 | 2\.297 | 10\.429 | 0\.880 | 1\.87 |



**Table 3:** &#84;est case [(T1)](<#Item.37>), $N=3{2{\textstyle \text{,}}}$ $k={1{\textstyle \text{,}}}$ on the mesh families [(F2)](<#Item.42>)–[(F5)](<#Item.45>)\. The scaled Jacobian $s_{\operatorname{min}\nolimits }$ degrades over four orders of magnitude and $θ_{\operatorname{max}\nolimits }$ reaches $180$ degrees, yet $I^{\mathrm{e}\mathrm{q}}$ never leaves the interval $[1.028,1.401]$ and is never below one\. ${I^{\mathrm{Z}\mathrm{Z}}{\textstyle \text{,}}}$ by contrast, is below one in every single row, and $I^{\mathrm{B}\mathrm{W}}$ — the sharpest of the four on the structured mesh — reaches $2.664$ on the thinnest needle\.

Figure [2](<#figure.caption.15>) plots the same information for four of the families\. The reading is immediate: the two equilibrated curves stay just above the guarantee line whatever is done to the mesh, the global reconstruction being lifted only by the anisotropy of panel (c) and the patchwise one only by the accumulated damage of panel (d); the recovery curve lives in the shaded region, where an estimator reports less error than has been committed\.

<a name="figure.caption.15"></a>![Figure](<lec-images-454ab6733b02d98305f700968871a617bb5ca6803e64db27597d069ac12a1e6b/diagram-2.png>)



**Figure 2:** &#69;ffectivity indices, test case [(T1)](<#Item.37>), for the two reconstructions of the guaranteed bound and the three competitors\. (a) uniform refinement of the structured mesh; (b) a single needle cell whose scaled Jacobian is swept over four decades, the rest of the mesh being untouched; (c) increasing global anisotropy; (d) an increasing number $m$ of cap\-damaged vertices grouped in a contiguous block, at fixed local quality $s_{K}=1{0^{−3}{\textstyle \text{.}}}$ In the shaded band the estimator is *below* &#116;he true error: neither reconstruction of the guaranteed bound ever enters it, the Zienkiewicz–Zhu estimator never leaves it\. Panel (b) is the sharpest contrast of the campaign: one degenerate cell out of $2048$ leaves the equilibrated index at $1.032$ and multiplies the Bank–Weiser index by $2.{6{\textstyle \text{.}}}$ Panels (c) and (d) are mirror images of one another: anisotropy degrades the global reconstruction and leaves the patchwise one flat, accumulated damage does the reverse (Section [10\.8](<#subsection.10.8>))\.

<a name="subsection.10.5"></a>

### 10\.5 Randomly perturbed meshes

The first three rows of Table [3](<#table.caption.14>) perturb every interior vertex\. As $δ$ grows from $0.10$ to $0.3{0{\textstyle \text{,}}}$ the worst scaled Jacobian falls from $0.56$ to $0.23$ and the largest angle climbs from $107$ to $147$ degrees, i\.e\. the mesh becomes one that most quality\-control tools would reject\. The equilibrated effectivity index moves from $1.033$ to $1.03{4{\textstyle \text{:}}}$ it is, for practical purposes, *constant*&#46; The recovery estimator, on the other hand, drifts from $0.989$ to $0.96{1{\textstyle \text{:}}}$ the perturbation destroys the superconvergence on which its accuracy rests, and it does so in the unsafe direction\. Bank–Weiser degrades mildly and safely, $1.022$ to $1.06{2{\textstyle \text{,}}}$ losing its advantage over the equilibrated flux by $δ=0.30$ without ever falling below one\.

<a name="subsection.10.6"></a>

### 10\.6 Locally damaged meshes, and the extent of the damage

The next eight rows of Table [3](<#table.caption.14>) displace a *single* &#118;ertex\. Between $t=10^{−1}$ and $t=10^{−4}$ the scaled Jacobian of the damaged cell drops by three orders of magnitude, down to $s_{K}=5\cdot 10^{−5}$ for the needle and $10^{−4}$ for the cap, and $θ_{\operatorname{max}\nolimits }$ reaches $180.0$ degrees to the printed precision\. The response of the estimator is nil: $I^{\mathrm{e}\mathrm{q}}=1.032$ throughout, to four digits, and the *cellwise* &#115;harpness on the damaged cell itself, ${I_{K}^{\mathrm{b}\mathrm{a}\mathrm{d}}{\textstyle \text{,}}}$ stays at $1.0{0{\textstyle \text{.}}}$ An isolated degenerate cell — of either type, needle or cap — is simply invisible to the equilibrated flux estimator\. This is the numerical counterpart of Theorem [7\.9](<#theorem.7.9>): nothing in its proof could have noticed\. It is *not* &#105;nvisible to Bank–Weiser, whose index reaches $2.664$ on the thinnest needle; we come back to this in Section [10\.10](<#subsection.10.10>), since it is the clearest difference the two local\-problem estimators exhibit\.

Table [4](<#table.caption.16>) isolates the effect of the *extent* &#111;f the damaged region, family [(F4)](<#Item.44>): the number $m$ of degenerate cells and their local quality are held fixed, only their spatial arrangement changes\.

<a name="table.caption.16"></a>

|  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- |
| mesh | $m$ | $\operatorname{diam}\nolimits {/}h$ | $I^{\mathrm{e}\mathrm{q}}$ | $I^{\mathrm{B}\mathrm{W}}$ | $I_{K}^{\mathrm{b}\mathrm{a}\mathrm{d}}$ |
| F4 scattered $m=1$ | 1 | 0\.0 | 1\.0323 | 1\.019 | 1\.00 |
| F4 block $m=1$ | 1 | 0\.0 | 1\.0321 | 1\.028 | 1\.00 |
| F4 scattered $m=4$ | 4 | 27\.9 | 1\.0321 | 1\.032 | 1\.06 |
| F4 block $m=4$ | 4 | 2\.8 | 1\.0314 | 1\.058 | 1\.00 |
| F4 scattered $m=16$ | 16 | 34\.4 | 1\.0311 | 1\.095 | 1\.06 |
| F4 block $m=16$ | 16 | 8\.9 | 1\.0297 | 1\.152 | 1\.00 |
| F4 scattered $m=64$ | 64 | 36\.9 | 1\.0307 | 1\.198 | 1\.14 |
| F4 block $m=64$ | 64 | 19\.8 | 1\.0278 | 1\.321 | 1\.02 |



**Table 4:** &#70;amily [(F4)](<#Item.44>): $m$ cap\-damaged vertices at fixed $t=10^{−3}$ (hence fixed $s_{K}=10^{−3}$ and $θ_{\operatorname{max}\nolimits }=179.9$ degrees), test case [(T1)](<#Item.37>), $N=3{2{\textstyle \text{.}}}$ Only the diameter of the damaged region changes between the *scattered* &#97;nd the *block* &#114;ows at equal ${m{\textstyle \text{.}}}$ Note that $I^{\mathrm{B}\mathrm{W}}$ responds to the accumulation of damage where $I^{\mathrm{e}\mathrm{q}}$ does not\.

Two conclusions, one of which is negative and worth stating as such\.

1) <a name="Item.52"></a>The global index is remarkably stable, $1.0278≤I^{\mathrm{e}\mathrm{q}}≤1.032{3{\textstyle \text{,}}}$ and if anything *decreases* &#97;s damage accumulates: a damaged mesh is a slightly finer mesh, and the estimator tracks the error it actually commits\.

2) <a name="Item.53"></a>With the global reconstruction, the experiment does *not* &#100;iscriminate the conjecture of Section [7\.3](<#subsection.7.3>)\. At equal ${m{\textstyle \text{,}}}$ the contiguous block (diameter $19.8h$ at $m=6{4{\textstyle \text{)}}}$ behaves marginally *better* &#116;han the scattered layout (diameter $36.9{h{\textstyle \text{),}}}$ $I_{K}^{\mathrm{b}\mathrm{a}\mathrm{d}}=1.02$ against $1.1{4{\textstyle \text{,}}}$ and the differences are within the variation caused by where in $\mathrm{Ω}$ the damaged cells happen to fall, since ${\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }_{K}$ itself varies by an order of magnitude across the domain\. This is a limitation of the reconstruction, not of the mesh family: the conjecture is about the local efficiency constant $C_{\mathrm{s}\mathrm{t}}(γ_{ω_{K}}{{)}{\textstyle \text{,}}}$ and the global reconstruction exposes no local constant\. Section [10\.8](<#subsection.10.8>) redoes the experiment with the patchwise reconstruction, which does, and settles the question — against the conjecture as we stated it\.

<a name="subsection.10.7"></a>

### 10\.7 Anisotropic meshes

The last four rows of Table [3](<#table.caption.14>) are the only ones on which the equilibrated estimator visibly degrades: $I^{\mathrm{e}\mathrm{q}}$ grows from $1.032$ to $1.401$ as the cells are stretched from aspect ratio $1$ to about $1{6{\textstyle \text{,}}}$ and the cellwise sharpness on the worst cells reaches $I_{K}^{\mathrm{b}\mathrm{a}\mathrm{d}}=1.8{7{\textstyle \text{.}}}$ This is consistent with Theorem [7\.14](<#theorem.7.14>) and with the distinction we have insisted on: anisotropy is a *global* &#108;oss of shape regularity — every cell is bad — whereas the damage of family [(F3)](<#Item.43>) is local\. The guarantee is of course untouched; what is lost is sharpness, and it is lost gradually\. For comparison, $I^{\mathrm{r}\mathrm{e}\mathrm{s}}$ nearly doubles over the same range, from $5.63$ to $10.4{3{\textstyle \text{,}}}$ which is the practical statement that no fixed calibration constant $C$ can serve both a structured and an anisotropic mesh\. Bank–Weiser degrades faster than either, $1.017$ to $2.29{7{\textstyle \text{,}}}$ crossing the equilibrated flux between $α=1$ and $α={4{\textstyle \text{.}}}$

<a name="subsection.10.8"></a>

### 10\.8 The two reconstructions of the same bound

Everything reported so far uses the global mixed reconstruction of Section [7\.4](<#subsection.7.4>)\. Table [5](<#table.caption.17>) adds the patchwise one of Section [7\.5](<#subsection.7.5>), at the degree $p=k=1$ prescribed by \[[EV15](<#cite.ernvohralik2015>)\] and at the cheapest admissible degree $p={0{\textstyle \text{.}}}$ The two reconstructions certify the same quantity with the same constant; they differ only in sharpness, and the comparison is instructive because they do *not* &#108;ose sharpness under the same defects\.

<a name="table.caption.17"></a>

|  |  |  |  |  |
| --- | --- | --- | --- | --- |
| mesh | $I^{\mathrm{e}\mathrm{q}}$ | $I^{\mathrm{p}\mathrm{w}}$ ${{\textstyle \text{(}}p}={1{\textstyle \text{)}}}$ | $I^{\mathrm{p}\mathrm{w}}$ ${{\textstyle \text{(}}p}={0{\textstyle \text{)}}}$ | $I^{\mathrm{B}\mathrm{W}}$ |
| F1 $N=8$ | 1\.130 | 1\.053 | 1\.295 | 1\.082 |
| F1 $N=16$ | 1\.065 | 1\.049 | 1\.240 | 1\.037 |
| F1 $N=32$ | 1\.032 | 1\.048 | 1\.226 | 1\.017 |
| F1 $N=64$ | 1\.016 | 1\.047 | 1\.247 | 1\.008 |
| F1 $N=128$ | 1\.008 | 1\.047 | 1\.309 | 1\.004 |
| F2 $δ=0.30$ | 1\.034 | 1\.055 | 1\.790 | 1\.062 |
| F3 needle $t=10^{−4}$ | 1\.032 | 1\.048 | 1\.226 | 2\.664 |
| F3 cap $t=10^{−4}$ | 1\.032 | 1\.112 | 1\.238 | 1\.028 |
| F4 scattered $m=64$ | 1\.031 | 1\.812 | 3\.373 | 1\.198 |
| F4 block $m=64$ | 1\.028 | 2\.215 | 2\.864 | 1\.321 |
| F5 $32×32$ | 1\.032 | 1\.048 | 1\.226 | 1\.017 |
| F5 $32×8$ | 1\.092 | 1\.036 | 1\.253 | 1\.163 |
| F5 $32×4$ | 1\.182 | 1\.070 | 1\.357 | 1\.529 |
| F5 $32×2$ | 1\.401 | 1\.220 | 1\.638 | 2\.297 |



**Table 5:** &#69;ffectivity indices of the two reconstructions of the guaranteed bound, test case [(T1)](<#Item.37>)\. $I^{\mathrm{e}\mathrm{q}}$ is the global mixed reconstruction of Section [7\.4](<#subsection.7.4>), $I^{\mathrm{p}\mathrm{w}}$ the patchwise one of Section [7\.5](<#subsection.7.5>)\. The global one degrades under global anisotropy and ignores local damage; the patchwise one does the opposite\. The $p=0$ column shows that the degree of the local space is not a free parameter\.

Three observations\.

1. <a name="Item.54"></a>**The degree** $p$ **is not free\.** &#65;t $p=1$ the patchwise index is flat at $1.04{7{\textstyle \text{–}}}$​$1.053$ over the whole structured family\. At $p=0$ it is not merely larger ${{\textstyle \text{(}}1}.23$ to $1.3{1{\textstyle \text{)}}}$ but *non\-monotone* &#117;nder refinement, so that the reconstruction no longer converges at the rate of the error\. The bound of Theorem [7\.9](<#theorem.7.9>) holds for either — any admissible $\boldsymbol{σ}_{h}$ gives a valid certificate — but only $p=k$ delivers a sharp one\. This is the numerical face of the ${p{\textstyle \text{-}}}$&#114;obustness theory of \[[BPS09](<#cite.braess2009>), [EV20](<#cite.ernvohralik2020>)\], and it is worth stating explicitly, since $p=0$ is the natural choice for a practitioner who reads only the reliability statement\.

2. <a name="Item.55"></a>**Anisotropy costs the global reconstruction, not the patchwise one\.** &#79;ver the family [(F5)](<#Item.45>), $I^{\mathrm{e}\mathrm{q}}$ grows from $1.032$ to $1.401$ while $I^{\mathrm{p}\mathrm{w}}$ stays between $1.036$ and $1.22{0{\textstyle \text{;}}}$ at aspect ratio $4$ the patchwise index is actually *smaller* &#116;han on the isotropic mesh\. The same holds on the under\-resolved boundary layer, where $I^{\mathrm{p}\mathrm{w}}=1.583$ against $I^{\mathrm{e}\mathrm{q}}=2.402$ (Table [7](<#table.caption.26>))\.

3. <a name="Item.56"></a>**Accumulated damage costs the patchwise reconstruction, not the global one\.** &#84;he two indices exchange roles on family [(F4)](<#Item.44>): at $m=64$ cap\-damaged vertices in a contiguous block, $I^{\mathrm{e}\mathrm{q}}=1.028$ while $I^{\mathrm{p}\mathrm{w}}=2.21{5{\textstyle \text{.}}}$ Notably, a *needle* &#108;eaves the patchwise index untouched ${{\textstyle \text{(}}1}.04{8{\textstyle \text{)}}}$ while a *cap* &#111;f the same scaled Jacobian moves it to $1.112$ — the reverse of the Bank–Weiser behaviour of Section [10\.10](<#subsection.10.10>), which is blind to caps and sensitive to needles\.

Panels (c) and (d) of Figure [2](<#figure.caption.15>) display the exchange directly: the two curves cross over from one panel to the other, while the three competitors behave the same way in both\.

The practical reading is that the guarantee is a property of the *framework* &#97;nd the sharpness a property of the *reconstruction*&#44; and that no single reconstruction is uniformly sharpest\. Since both certificates are valid, the sharper of the two may simply be retained: the minimum of two guaranteed bounds is a guaranteed bound\. Over the whole campaign that minimum never exceeds $1.22$ on the smooth test case\.

##### The damage\-extent conjecture\.

<a name="section*.18"></a> Section [10\.6](<#subsection.10.6>) could not discriminate the conjecture of Section [7\.3](<#subsection.7.3>) because the global reconstruction exposes no local efficiency constant\. The patchwise one does, and it answers the question — in the negative, as stated\. At equal $m$ and equal local quality, the *block* &#108;ayout is systematically worse than the *scattered* &#111;ne: $1.239$ against $1.123$ at $m={4{\textstyle \text{,}}}$ $1.624$ against $1.407$ at $m=1{6{\textstyle \text{,}}}$ $2.215$ against $1.812$ at $m=6{4{\textstyle \text{.}}}$ Yet the block has the *smaller* &#100;iameter ${{\textstyle \text{(}}1}9.8\mkern3mu h$ against $36.9\mkern3mu h$ at $m=6{4{\textstyle \text{,}}}$ Table [4](<#table.caption.16>))\. The diameter of the damaged region is therefore not the relevant parameter; what degrades $C_{\mathrm{s}\mathrm{t}}$ is the number of flattened cells sharing a single vertex patch, which is exactly the quantity that enters the local efficiency proof and which the block layout maximises at fixed ${m{\textstyle \text{.}}}$ We record this as the corrected form of the conjecture\.

<a name="subsection.10.9"></a>

### 10\.9 Does any quality measure predict the effectivity?

Section [6](<#section.6>) introduced the quality vector $\mathbf{q}_{K}$ of ([10](<#equation.10>)) and announced that it would be correlated with the local effectivity index\. Table [6](<#table.caption.19>) reports the empirical Pearson correlation $ρ(I_{K},\cdot )$ between each component and the local index $I_{K}$ of ([11](<#equation.11>)), computed with the patchwise reconstruction — the denominator being the patch error, which is what Theorem [7\.14](<#theorem.7.14>) actually bounds\.

<a name="table.caption.19"></a>

|  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- |
| mesh | $ρ(I_{K},γ_{K})$ | $ρ(I_{K},α_{K})$ | $ρ(I_{K},s_{K})$ | $ρ(I_{K},κ_{K})$ | $ρ(I_{K},θ_{\operatorname{min}\nolimits })$ | $ρ(I_{K},θ_{\operatorname{max}\nolimits })$ |
| F2 $δ=0.10$ | \-0\.03 | \-0\.04 | 0\.08 | \-0\.04 | 0\.08 | \-0\.01 |
| F2 $δ=0.20$ | \-0\.07 | \-0\.08 | 0\.11 | \-0\.09 | 0\.10 | \-0\.02 |
| F2 $δ=0.30$ | \-0\.11 | \-0\.13 | 0\.14 | \-0\.14 | 0\.12 | \-0\.03 |
| F3 needle $t=10^{−4}$ | \-0\.25 | \-0\.25 | 0\.16 | \-0\.25 | 0\.15 | \-0\.04 |
| F3 cap $t=10^{−4}$ | 0\.01 | 0\.01 | \-0\.32 | 0\.01 | \-0\.33 | 0\.27 |
| F4 scattered $m=64$ | 0\.12 | 0\.12 | \-0\.36 | 0\.12 | \-0\.36 | 0\.30 |
| F4 block $m=64$ | 0\.19 | 0\.19 | \-0\.48 | 0\.19 | \-0\.47 | 0\.33 |



**Table 6:** &#67;orrelation between the local effectivity index ([11](<#equation.11>)) and each component of the quality vector ([10](<#equation.10>)), test case [(T1)](<#Item.37>), $N=3{2{\textstyle \text{.}}}$ No component reaches ${\vert }ρ{\vert }=0.{5{\textstyle \text{,}}}$ and the sign of $ρ(I_{K},γ_{K})$ flips between the needle and the cap families\.

The outcome is a negative result, and we regard it as the useful one\.

- *No measure predicts the effectivity\.* &#84;he largest correlation over the whole table is ${\vert }ρ{\vert }=0.4{8{\textstyle \text{,}}}$ for $s_{K}$ on the block\-damaged mesh\. A quality report is not a proxy for an error bound, which is the practical form of the message of Table [1](<#table.caption.6>)\.

- *The sign is not even stable\.* $ρ(I_{K},γ_{K})$ is $−0.25$ on the needle family and $+0.19$ on the block\-damaged one\. A shape\-regularity ratio that grows can accompany either an increase or a decrease of the local effectivity, depending on *how* &#116;he cell degenerates\. This is Babuška and Aziz \[[BA76](<#cite.babuskaaziz1976>)\] seen from the a posteriori side\.

- *Three of the six measures carry the same information\.* &#84;he columns ${γ_{K}{\textstyle \text{,}}}$ $α_{K}$ and $κ_{K}$ agree to two decimals on the damaged families, and to within $0.03$ on the perturbed ones\. Two reasons combine: for a triangle $κ_{K}=(α_{K}+α_{K}^{−1}){/}2$ is an exact function of ${α_{K}{\textstyle \text{;}}}$ and on a mesh in which all cells but a few carry the same quality value, the correlation coefficient is determined by *which* &#99;ells are outliers and not by how large the outlying values are\. The measures that do separate the families are $s_{K}$ and the extremal angles\.

<a name="subsection.10.10"></a>

### 10\.10 Bank–Weiser: sharper on good meshes, more fragile on bad ones

The $I^{\mathrm{B}\mathrm{W}}$ column of Tables [2](<#table.caption.13>)–[7](<#table.caption.26>) deserves to be read on its own, because it is the only competitor that is a serious one\.

##### On good meshes it wins\.

<a name="section*.20"></a> On the structured family, $I^{\mathrm{B}\mathrm{W}}$ falls from $1.082$ to $1.004$ while $I^{\mathrm{e}\mathrm{q}}$ falls from $1.130$ to $1.00{8{\textstyle \text{:}}}$ Bank–Weiser overestimates by about half as much, at every refinement level, and both are asymptotically exact\. On the under\-resolved boundary layer [(T3)](<#Item.39>) the gap is wider still, $1.743$ against $2.40{2{\textstyle \text{.}}}$ If sharpness on a reasonable mesh were the only criterion, Bank–Weiser would be the estimator to use — which is presumably why it is\.

##### A single needle cell costs it a factor of $2.{6{\textstyle \text{.}}}$

<a name="section*.21"></a> The needle rows of Table [3](<#table.caption.14>) are the sharpest contrast of the whole campaign\. As $t$ goes from $10^{−1}$ to $1{0^{−4}{\textstyle \text{,}}}$ $I^{\mathrm{e}\mathrm{q}}$ stays at $1.032$ to four digits, while $I^{\mathrm{B}\mathrm{W}}$ climbs $1.021\mathrel{→}1.048\mathrel{→}1.282\mathrel{→}2.66{4{\textstyle \text{.}}}$ One cell out of $204{8{\textstyle \text{,}}}$ and the Bank–Weiser estimator has lost a factor of $2.{6{\textstyle \text{;}}}$ the equilibrated one has not moved\. Figure [2](<#figure.caption.15>)(b) plots exactly this\.

The *cap* &#114;ows show nothing of the sort: $I^{\mathrm{B}\mathrm{W}}$ moves from $1.023$ to $1.028$ and then stops\. The two damages have comparable scaled Jacobians (within a factor of two at equal ${t{\textstyle \text{)}}}$ and the same shape\-regularity ratio $γ_{K}\mathrel{≈}200{0{\textstyle \text{,}}}$ so $γ_{K}$ does not explain the difference\. What distinguishes them is that the needle collapses an *edge* &#8212; two vertices come to within $t\mkern3mu h$ of each other — whereas the cap collapses only the *area*&#44; all three edges keeping length $O(h{{)}{\textstyle \text{.}}}$ The Bank–Weiser space ([35](<#equation.35>)) is spanned by the edge bubbles, so an edge of length $t\mkern3mu h$ carries a basis function whose gradient blows up like $(th{{)^{−1}}{\textstyle \text{,}}}$ and the local problem ([36](<#equation.36>)) is solved in a space that is badly scaled against the residual it must represent\. We offer this as the plausible mechanism rather than as a proof; what the experiment establishes is the fact, and the fact is that the relevant geometric parameter for Bank–Weiser is not the one the quality\-control tool reports\.

##### Anisotropy and accumulated damage cost it too\.

<a name="section*.22"></a> Over the anisotropic family, $I^{\mathrm{B}\mathrm{W}}$ grows from $1.017$ to $2.297$ against $1.032$ to $1.401$ for the equilibrated flux: the two estimators start with Bank–Weiser ahead and end with it $60{\%}$ behind (Figure [2](<#figure.caption.15>)(c))\. The same crossing happens as damage accumulates in family [(F4)](<#Item.44>), Table [4](<#table.caption.16>): at $m=64$ in a contiguous block, $I^{\mathrm{B}\mathrm{W}}=1.321$ against $I^{\mathrm{e}\mathrm{q}}=1.02{8{\textstyle \text{.}}}$

##### The diffusion contrast breaks the unweighted variant\.

<a name="section*.23"></a> The largest entry of the campaign is the last row of Table [7](<#table.caption.26>): with $μ$ jumping by $10^{4}$ across a mesh\-aligned interface, $I^{\mathrm{B}\mathrm{W}}=12.514$ where $I^{\mathrm{e}\mathrm{q}}=1.03{2{\textstyle \text{.}}}$ This is remark (c) of Section [8](<#section.8>) made quantitative\. The facet term of ([36](<#equation.36>)) carries $μ=10^{4}$ from the high\-coefficient side, and on the low\-coefficient cell it is weighed against $μ=1$ in the local bilinear form; the estimator therefore attributes to that cell an error four orders of magnitude too large\.

Coefficient\-weighted averages are the known cure, and we have measured them, so as not to charge the estimator with a defect of one particular variant\. Replacing the $1{/}2$ split of ([36](<#equation.36>)) by the weights $ω_{K}=μ_{K}{/}(μ_{+}+μ_{−})$ — which give the low\-coefficient side a share of the jump proportional to its own ${μ{\textstyle \text{,}}}$ and restore the $μ_{\operatorname{max}\nolimits }^{−1{/}2}$ scaling of the residual estimator ([33](<#equation.33>)) — brings the index from $12.514$ down to $1.01{4{\textstyle \text{,}}}$ and changes nothing at all on the runs with constant ${μ{\textstyle \text{,}}}$ where the two variants agree to machine precision\. The column $I^{{\mathrm{B}\mathrm{W}}_{μ}}$ of Table [7](<#table.caption.26>) reports it\. The $12.5$ is therefore entirely an artefact of the unweighted split, and the statement that survives is the one about *who* &#104;as to know: the contrast\-robustness of the equilibrated flux estimator is a theorem \[[CZ12](<#cite.caizhang2012>)\] that requires nothing of the user, whereas that of Bank–Weiser is a modelling choice that has to be got right, silently, before the computation\.

##### It does underestimate, and nothing signals it\.

<a name="section*.24"></a> Across the $32$ synthetic runs on the unit square and the one real mesh with a known solution, $I^{\mathrm{B}\mathrm{W}}$ stayed above one, with a minimum of $1.00{4{\textstyle \text{;}}}$ Bank–Weiser should therefore *not* &#98;e lumped together with Zienkiewicz–Zhu, which was below one every single time\. On the L\-shaped domain, however, it is below one on all four meshes, down to $I^{\mathrm{B}\mathrm{W}}=0.9935$ (Table [8](<#table.caption.29>))\. The deficit is small, under a percent, and a practitioner would not notice it\. The saturation assumption on which reliability rests is not satisfied there, nothing in the computed output says so, and the estimator returns a number that is confidently below the truth\. The difference with the equilibrated flux is not that the latter is sharper, but that its failure mode is a certificate one can check (step 4 of Algorithm [7\.19](<#algorithm.7.19>)) rather than an assumption one must believe\.

##### Cost\.

<a name="section*.25"></a> On the finest structured mesh ${{\textstyle \text{(}}3}2\mkern3mu 768$ cells), the primal solve takes $0.13$ s, the Bank–Weiser estimator $0.27$ s and the *global* &#109;ixed reconstruction $1.10$ s: Bank–Weiser costs about twice the primal solve, the global equilibrated reconstruction about eight times\. We deliberately do not quote a wall\-clock figure for the patchwise reconstruction\. Its $16\mkern3mu 641$ local systems have at most $43$ unknowns each, so its arithmetic content is well below one second of dense linear algebra; but our driver loops over the patches in `Python` and spends $5.5$ s doing so, which measures the interpreter and not the method\. The meaningful statement is the algebraic one: per vertex, one dense symmetric system of size at most $4{3{\textstyle \text{,}}}$ all of them independent, against one global saddle\-point solve for the reconstruction of Section [7\.4](<#subsection.7.4>) and one $3×3$ system per cell for Bank–Weiser\.

<a name="subsection.10.11"></a>

### 10\.11 Boundary layers and heterogeneous coefficients

Table [7](<#table.caption.26>) collects the other two test cases on the structured $32×32$ mesh\.

<a name="table.caption.26"></a>

|  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- |
| case |  | ${\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }$ | $I^{\mathrm{e}\mathrm{q}}$ | $I^{\mathrm{p}\mathrm{w}}$ | $I^{\mathrm{B}\mathrm{W}}$ | $I^{{\mathrm{B}\mathrm{W}}_{μ}}$ | $I^{\mathrm{Z}\mathrm{Z}}$ |
| [(T1)](<#Item.37>) | smooth, $μ=1$ | 1\.090e\-01 | 1\.032 | 1\.048 | 1\.017 | 1\.017 | 0\.993 |
| [(T3)](<#Item.39>) | layer, $ε=10^{−2}$ | 1\.178e\+00 | 2\.402 | 1\.583 | 1\.743 | 1\.743 | 0\.414 |
| [(T4)](<#Item.40>) | $μ$ contrast $10^{4}$ | 7\.705e\+00 | 1\.032 | 1\.048 | 12\.514 | 1\.014 | 0\.993 |



**Table 7:** &#84;est cases [(T1)](<#Item.37>), [(T3)](<#Item.39>), [(T4)](<#Item.40>) on the structured mesh [(F1)](<#Item.41>) with $N=3{2{\textstyle \text{,}}}$ $k={1{\textstyle \text{.}}}$

##### Boundary layer\.

<a name="section*.27"></a> With $ε=10^{−2}$ and $h=1{/}3{2{\textstyle \text{,}}}$ the layers are heavily under\-resolved and the discrete solution carries an error of the order of the solution itself\. The equilibrated estimator reports it: $I^{\mathrm{e}\mathrm{q}}=2.4{0{\textstyle \text{,}}}$ i\.e\. it announces an error at most $2.4$ times the true one — pessimistic, but the announcement is of the right order and it is a *guarantee*&#46; The recovery estimator announces $I^{\mathrm{Z}\mathrm{Z}}=0.4{1{\textstyle \text{,}}}$ i\.e\. it reports *two and a half times less error than there is*&#46; On a pre\-asymptotic mesh, where the user most needs to be warned, the popular estimator is the one that gives false confidence\. This is, in our view, the most consequential single figure of the campaign\. Bank–Weiser, for its part, is the sharpest of the four here, $I^{\mathrm{B}\mathrm{W}}=1.7{4{\textstyle \text{,}}}$ and stays above one — on this test case the saturation assumption evidently holds\.

##### Heterogeneous coefficient\.

<a name="section*.28"></a> With a contrast of $10^{4}$ across a mesh\-aligned interface, the effectivity indices of the equilibrated flux, of the recovery and of the residual estimator are unchanged from the homogeneous case ${{\textstyle \text{(}}1}.032$ against $1.03{2{\textstyle \text{,}}}$ $0.993$ against $0.99{3{\textstyle \text{,}}}$ and $5.632$ against $5.64{3{\textstyle \text{)}}}$ — but *not* &#116;hat of Bank–Weiser, which jumps from $1.017$ to $12.51{4{\textstyle \text{;}}}$ its coefficient\-weighted variant returns $1.01{4{\textstyle \text{.}}}$ See Section [10\.10](<#subsection.10.10>)\. This confirms numerically the ${μ{\textstyle \text{-}}}$&#114;obustness of Theorem [7\.9](<#theorem.7.9>): the coefficient enters only through the weights ${μ^{\mathbin{±}1{/}2}{\textstyle \text{,}}}$ and no constant sees the contrast\. The patchwise reconstruction behaves identically, $I^{\mathrm{p}\mathrm{w}}=1.048$ against $1.04{8{\textstyle \text{.}}}$

Assumption [(M3)](<#Item.9>) is not decorative either, but its failure is not one that the certificate can see\. Repeating the run with the damaged vertex placed *on* &#116;he interface, so that it is dragged across it and $μ$ ceases to be constant on the three cells it drags along (`interface_check.py` in the repository), the equilibration defect stays at $3.7\cdot 1{0^{−11}{\textstyle \text{:}}}$ the mixed problem ([26](<#equation.26>)) equilibrates $\boldsymbol{σ}_{h}$ against whatever $f$ it is given, and ([EF](<#AMS.8>)) holds whatever $μ$ does inside a cell\. What [(M3)](<#Item.9>) controls is the residual indicator\. Its proof inserts ${μ_{K}^{−1{/}2}{\textstyle \text{,}}}$ which on a crossed cell has to be replaced by $(\operatorname{min}\nolimits _{K}μ)^{−1{/}2}$ — the bound survives — and, more importantly, $f−\mathrm{Π}_{0}f$ is no longer of higher order there, since $f$ jumps by a factor $10^{4}$ inside the cell\. The discrete solution itself is barely affected, ${\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }=7.73$ against $7.7{1{\textstyle \text{,}}}$ but the ratio $\mathopen{\Vert }η^{\mathrm{R}}\mathclose{\Vert }{/}\mathopen{\Vert }η^{\mathrm{F}}\mathclose{\Vert }$ rises from $0.04$ to above ${1{\textstyle \text{,}}}$ reaching $4.4$ on the crossed cells, and the guaranteed index becomes $I^{\mathrm{e}\mathrm{q}}=9.{2{\textstyle \text{.}}}$ The bound is still a bound, and it still holds by virtue of Theorem [7\.9](<#theorem.7.9>) once the weight is corrected, but it has lost its sharpness because of three cells out of $204{8{\textstyle \text{;}}}$ the signal is in the oscillation column of the output, not in the certificate\. Whether $μ$ is constant on every cell is, in any case, a property of the data that can be checked by inspection before the computation, which is why we do not count [(M3)](<#Item.9>) among the hypotheses the certificate is responsible for\.

<a name="subsection.10.12"></a>

### 10\.12 The L\-shaped domain: dropping a hypothesis on purpose

Remark [7\.11](<#remark.7.11>) identifies the one hypothesis of Theorem [7\.9](<#theorem.7.9>) that we cannot enforce in practice: that the discrete boundary values coincide with ${g{\textstyle \text{.}}}$ Test case [(T2)](<#Item.38>) on the meshes [(F7)](<#Item.47>) violates it — $g_{h}$ is the Lagrange interpolant of $r^{2{/}3}\operatorname{sin}\nolimits (2θ{/}3{{)}{\textstyle \text{,}}}$ so ${u−u_{h}\mkern5mu {\rlap{\text{\(\textstyle \kern0em \rlap{\text{\(\textstyle \kern0em \kern0.05555734em \kern0pt \textstyle \mkern1mu {/}\kern0.05555734em \)}}\kern0.66666852em \)}}\rlap{\text{\(\textstyle \kern0em \kern0pt \textstyle ∈\)}}\kern0.66666852em }\mkern-5mu \mathrel{}H_{0}^{1}(\mathrm{Ω})}$ and the theorem does not apply\. Table [8](<#table.caption.29>) reports what happens\.

<a name="table.caption.29"></a>

|  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- |
| mesh | cells | ${\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }$ | rate | $I^{\mathrm{e}\mathrm{q}}$ | $I^{\mathrm{p}\mathrm{w}}$ | $I^{\mathrm{B}\mathrm{W}}$ | $I^{\mathrm{Z}\mathrm{Z}}$ |
| F7 L\-shape $N=4$ | 96 | 1\.898e\-01 | — | 1\.110 | 1\.187 | 0\.9992 | 1\.062 |
| F7 L\-shape $N=8$ | 384 | 1\.221e\-01 | 0\.64 | 1\.105 | 1\.177 | 0\.9951 | 1\.056 |
| F7 L\-shape $N=16$ | 1536 | 7\.799e\-02 | 0\.65 | 1\.103 | 1\.172 | 0\.9939 | 1\.053 |
| F7 L\-shape $N=32$ | 6144 | 4\.957e\-02 | 0\.65 | 1\.101 | 1\.169 | 0\.9935 | 1\.052 |



**Table 8:** &#84;est case [(T2)](<#Item.38>) on the L\-shaped meshes [(F7)](<#Item.47>), $k={1{\textstyle \text{.}}}$ The observed convergence rate $0.65$ matches the expected ${h^{2{/}3}{\textstyle \text{.}}}$ Theorem [7\.9](<#theorem.7.9>) does not cover these runs, the Dirichlet datum being interpolated rather than exact; both reconstructions nevertheless stay above the true error, whereas Bank–Weiser is below it on every mesh of the family\.

Three observations, the first two of which qualify the guarantee rather than support it\.

1) <a name="Item.57"></a>*The bound survives, but we cannot claim it\.* &#66;oth $I^{\mathrm{e}\mathrm{q}}=1.10{1{\textstyle \text{–}}}$​$1.110$ and $I^{\mathrm{p}\mathrm{w}}=1.16{9{\textstyle \text{–}}}$​$1.187$ stay comfortably above one, and remarkably stable across four refinements of a singular solution\. This is evidence that the boundary term neglected here is small on this family, not that it is small in general; on a coarser mesh or with a rougher datum it need not be\. We report the numbers as an indication, and repeat that the certificate of step 4 of Algorithm [7\.19](<#algorithm.7.19>) does *not* &#100;etect this failure — it tests ([EF](<#AMS.8>)), which still holds exactly here (the defect is at $1{0^{−13}{\textstyle \text{),}}}$ and is silent about the boundary condition\. This is the one gap in the guarantee that the computation cannot check\.

2) <a name="Item.58"></a>*Bank–Weiser underestimates\.* $I^{\mathrm{B}\mathrm{W}}$ is $0.999{2{\textstyle \text{,}}}$ $0.995{1{\textstyle \text{,}}}$ $0.993{9{\textstyle \text{,}}}$ $0.9935$ on the four meshes: below one every time, and drifting further below under refinement\. This is the only family of the campaign on which it does so, and it is a shape\-regular one — the difficulty is the corner singularity, not the geometry of the cells\. It confirms, on a textbook test case, that the empirical safety observed in Section [10\.10](<#subsection.10.10>) is a property of the problems tested and not of the estimator\.

3) <a name="Item.59"></a>*Zienkiewicz–Zhu is above one here\.* $I^{\mathrm{Z}\mathrm{Z}}=1.0{5{\textstyle \text{,}}}$ the only place in the campaign where it does not underestimate\. Recovery estimators are not systematically unsafe; they are unsafe where superconvergence holds and their calibration is tuned to it, which is the smooth, structured regime\. On a singular solution the recovered gradient is simply too rough, and the estimator errs the other way\. Neither behaviour is under control\.

<a name="subsection.10.13"></a>

### 10\.13 A certified quantity of interest

Table [9](<#table.caption.30>) applies Proposition [9\.1](<#proposition.9.1>) to the mean of $u$ over the box $D=(1{/}4,1{/}2{{)^{2}}{\textstyle \text{,}}}$ on test case [(T1)](<#Item.37>) where $J(u)$ is known in closed form\. The dual problem $−\operatorname{div}\nolimits (μ{∇}z)={\vert }D{\vert }^{−1}\mathbf{1}_{D}$ is solved with the same factorised matrix as the primal one, and the same reconstruction is applied to it\.

<a name="table.caption.30"></a>

|  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- |
| mesh | cells | ${\vert }J(u)−J(u_{h}){\vert }$ | $η^{\mathrm{p}\mathrm{r}\mathrm{i}\mathrm{m}}$ | $η^{\mathrm{d}\mathrm{u}\mathrm{a}\mathrm{l}}$ | bound | $I^{\mathrm{g}\mathrm{o}\mathrm{a}\mathrm{l}}$ |
| F1 $N=8$ | 128 | 2\.839e\-02 | 4\.878e\-01 | 1\.536e\-01 | 7\.493e\-02 | 2\.64 |
| F1 $N=16$ | 512 | 7\.167e\-03 | 2\.316e\-01 | 7\.974e\-02 | 1\.847e\-02 | 2\.58 |
| F1 $N=32$ | 2048 | 1\.796e\-03 | 1\.125e\-01 | 4\.036e\-02 | 4\.541e\-03 | 2\.53 |
| F1 $N=64$ | 8192 | 4\.493e\-04 | 5\.540e\-02 | 2\.026e\-02 | 1\.122e\-03 | 2\.50 |
| F2 $δ=0.30$ | 2048 | 2\.083e\-03 | 1\.208e\-01 | 4\.951e\-02 | 5\.981e\-03 | 2\.87 |
| F3 needle $t=10^{−4}$ | 2048 | 1\.788e\-03 | 1\.128e\-01 | 4\.149e\-02 | 4\.680e\-03 | 2\.62 |
| F3 cap $t=10^{−4}$ | 2048 | 1\.808e\-03 | 1\.130e\-01 | 4\.109e\-02 | 4\.642e\-03 | 2\.57 |
| F5 $32×2$ | 128 | 2\.037e\-01 | 1\.633e\+00 | 5\.842e\-01 | 9\.539e\-01 | 4\.68 |



**Table 9:** &#71;uaranteed bound ([38](<#equation.38>)) on the quantity of interest $J(v)={\vert }D{\vert }^{−1}∫\nolimits _{D}{v{\textstyle \text{,}}}$ $D=(1{/}4,1{/}2{{)^{2}}{\textstyle \text{,}}}$ test case [(T1)](<#Item.37>)\. The goal error converges at $h^{2}$ and so does the product bound, so the effectivity index is asymptotically constant\. As for the energy bound, an isolated degenerate cell leaves it essentially unchanged and global anisotropy degrades it\.

The bound held in all eight runs\. The effectivity index sits at $2.5{0{\textstyle \text{–}}}$​$2.64$ on the structured family and decreases monotonically under refinement, which is the expected behaviour: ${\vert }J(u)−J(u_{h}){\vert }$ and the product $η^{\mathrm{p}\mathrm{r}\mathrm{i}\mathrm{m}}η^{\mathrm{d}\mathrm{u}\mathrm{a}\mathrm{l}}$ both converge at ${h^{2}{\textstyle \text{,}}}$ and what the index measures is the cancellation between the primal and the dual error distributions that the Cauchy–Schwarz step of ([38](<#equation.38>)) throws away\. A factor of $2.5$ is the price of a product bound; it is not the price of the mesh\. The mesh enters exactly as it does in the energy norm: a needle or a cap with $s_{K}=10^{−4}$ moves the index from $2.53$ to $2.62$ and $2.57$ respectively, while the aspect\-ratio\-$16$ mesh takes it to $4.68$ — the compounding of the degradation seen on each factor separately, which is what a product of two bounds must do\. A quantity of interest computed on a mesh containing a degenerate cell can therefore be certified at essentially the same price, and with the same constant, as the energy norm\.

<a name="subsection.10.14"></a>

### 10\.14 Summary of the campaign

The campaign comprises $49$ computations: $32$ runs on the unit square covered by Theorem [7\.9](<#theorem.7.9>), $4$ runs on the L\-shaped domain that are not (Section [10\.12](<#subsection.10.12>)), $8$ goal\-oriented runs (Section [10\.13](<#subsection.10.13>)) and the $5$ real meshes of Section [10\.15](<#subsection.10.15>)\. Over the runs covered by the theorem:

- the guaranteed bound $η≥{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u−u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }$ held in *every* &#114;un where the error is computable, the assertion of Listing [1](<#lstlisting.1>) never firing, for either reconstruction, and the goal\-oriented bound ([38](<#equation.38>)) held in all $8$ of its runs;

- $I^{\mathrm{e}\mathrm{q}}∈[1.008,2.402{{]}{\textstyle \text{,}}}$ the upper end being reached only on the deliberately under\-resolved boundary layer; on the smooth test case it never exceeded $1.40{1{\textstyle \text{,}}}$ whatever the distortion;

- $I^{\mathrm{p}\mathrm{w}}∈[1.036,2.215]$ for the patchwise reconstruction at $p={k{\textstyle \text{,}}}$ the upper end being reached on accumulated cap damage rather than on anisotropy: the two reconstructions of the same bound fail to be sharp on *disjoint* &#102;amilies of meshes (Section [10\.8](<#subsection.10.8>));

- $I^{\mathrm{Z}\mathrm{Z}}<1$ in *all* $32$ synthetic runs, with a worst case of $0.41{4{\textstyle \text{;}}}$

- $I^{\mathrm{B}\mathrm{W}}∈[1.004,12.514{{]}{\textstyle \text{:}}}$ the sharpest estimator on good meshes and the most fragile on bad ones\. It stayed above one on the unit square, but fell to $0.9935$ on the L\-shaped domain; its coefficient\-weighted variant removes the $12.514$ — it ranges over $[1.004,2.664]$ — but not the underestimation;

- $I^{\mathrm{r}\mathrm{e}\mathrm{s}}$ ranged over $[5.53,10.43{{]}{\textstyle \text{,}}}$ a factor of almost two between the extreme meshes, so that no universal calibration of $C$ exists;

- the relative equilibration defect never exceeded $7.2\cdot 10^{−10}$ for the global reconstruction and $4.4\cdot 10^{−10}$ for the patchwise one, boundary layer included\.

Two hypotheses were violated on purpose, and the outcome sorts the hypotheses of Theorem [7\.9](<#theorem.7.9>) into three classes\. Assumption [(M3)](<#Item.9>) — a coefficient interface crossing a cell — is a property of the data, checkable by inspection before any computation; its violation leaves the bound valid but raises the effectivity index from $1.03$ to $9.{2{\textstyle \text{,}}}$ and the certificate does not see it\. The equilibration ([EF](<#AMS.8>)) is a property of the reconstruction, and the certificate of step 4 of Algorithm [7\.19](<#algorithm.7.19>) checks it (the $H(\operatorname{div}\nolimits \mkern-3mu {{)}{\textstyle \text{-}}}$&#99;onformity of $\boldsymbol{σ}_{h}$ holds by construction of the space)\. The exactness of the discrete Dirichlet datum (Remark [7\.11](<#remark.7.11>)) is checkable by neither, and this is worth stating plainly: it is the one hypothesis for which the computed output cannot vouch\.

<a name="subsection.10.15"></a>

### 10\.15 Real geometries

We close with the meshes that reached us from the applications this work originates in, family [(F6)](<#Item.46>)\. They come as `OFF` files and illustrate the two situations of engineering practice\.

##### A mesh that no solver will accept\.

<a name="section*.31"></a> The file `square_good.1.off` triangulates $(−1,1)^{2}$ with $801$ right triangles\. Its quality figures are those of a perfectly structured mesh, $s_{K}\mathrel{≡}0.707$ and $θ_{\operatorname{max}\nolimits }=90$ degrees — and it contains one cell of exactly zero area, because two of its vertices are the same point to machine precision\. This is not an exotic pathology: the file is named “good”, nothing in its quality report signals the defect, and every finite element code will produce a singular system from it\. Our reader (`offio.py`) reports the defect, merges the coincident vertices and drops the degenerate cell, leaving $800$ cells\. Since the domain is then exactly the square, the manufactured solution $u=\operatorname{cos}\nolimits (πx_{1}{/}2)\operatorname{cos}\nolimits (πx_{2}{/}2)$ applies and the effectivity index can be measured: $I^{\mathrm{e}\mathrm{q}}=1.054$ (Table [10](<#table.caption.33>))\. The guarantee holds on a mesh that was not prepared for the experiment\.

##### A mesh whose exact solution nobody knows\.

<a name="section*.32"></a> The four remaining meshes triangulate the letter “A” — a non\-convex domain with thin features, sharp corners and re\-entrant corners — and come from two different meshers (`as`, unstructured and graded; `aa`, uniform) at two refinement levels each\. No closed\-form solution is available, which is the normal state of affairs\. We solve $−\mathrm{Δ}u=1$ with homogeneous Dirichlet data and report the *certified* &#113;uantity that a practitioner would actually obtain: the bound ${η{\textstyle \text{,}}}$ and its size relative to the energy of the computed solution\.

<a name="table.caption.33"></a>

|  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| mesh | cells | $s_{\operatorname{min}\nolimits }$ | $θ_{\operatorname{max}\nolimits }$ | $η$ | $η{/}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }u_{h}{\vert }\mkern-3mu {\vert }\mkern-3mu {\vert }$ | $I^{\mathrm{e}\mathrm{q}}$ | $η^{\mathrm{B}\mathrm{W}}{/}η$ | $η^{\mathrm{p}\mathrm{w}}{/}η$ | defect |
| as6 | 1327 | 0\.23 | 143\.4 | 1\.551e\-03 | 28\.1% | — | 1\.103 | 1\.065 | $1\cdot 10^{−14}$ |
| as7 | 3262 | 0\.26 | 145\.3 | 1\.166e\-03 | 20\.8% | — | 1\.130 | 1\.054 | $3\cdot 10^{−14}$ |
| aa6 | 1983 | 0\.25 | 143\.4 | 1\.111e\-03 | 19\.8% | — | 1\.035 | 1\.062 | $7\cdot 10^{−14}$ |
| aa7 | 7924 | 0\.26 | 145\.3 | 5\.979e\-04 | 10\.5% | — | 0\.986 | 1\.067 | $3\cdot 10^{−13}$ |
| square\_good | 800 | 0\.71 | 90\.0 | 1\.797e\-01 | 8\.1% | 1\.054 | 1\.047 | 0\.997 | $7\cdot 10^{−14}$ |



**Table 10:** &#70;amily [(F6)](<#Item.46>), the real meshes\. The four glyph meshes solve $−\mathrm{Δ}u=1$ and no exact solution is available, so only the certified bound is reported; `square_good` carries a manufactured solution and its effectivity index is measured\. The penultimate column compares the Bank–Weiser bound to the guaranteed one: on these meshes the two agree within $13{{\%}{\textstyle \text{.}}}$ The next column does the same for the patchwise reconstruction, which agrees with the global one within $7{\%}$ on all five meshes\. The last column is the relative equilibration defect of step 4 of Algorithm [7\.19](<#algorithm.7.19>)\.

Three things come out of Table [10](<#table.caption.33>) and Figure [3](<#figure.caption.34>)\.

1. <a name="Item.60"></a>**The bound is informative, not vacuous\.** &#79;n `aa7` the energy\-norm error is certified to be at most $10.5{\%}$ of the energy of the computed solution; on `as6` at most $28.1{{\%}{\textstyle \text{.}}}$ These are numbers an engineer can act on, obtained without knowing ${u{\textstyle \text{.}}}$

2. <a name="Item.61"></a>**It ranks the meshers\.** &#65;t $1983$ cells, `aa6` certifies $19.8{{\%}{\textstyle \text{,}}}$ whereas `as7` needs $3262$ cells — $64{\%}$ more — to certify a slightly worse $20.8{{\%}{\textstyle \text{.}}}$ For this problem the uniform mesher is the more efficient of the two, and the guaranteed bound says so without any reference computation\. Comparing two meshers objectively on a geometry where the solution is unknown is, to our knowledge, not otherwise possible without a reference computation\.

3. <a name="Item.62"></a>**It localises the error where one expects it\.** &#70;igure [3](<#figure.caption.34>)(a,b) maps ${η_{K}{\textstyle \text{:}}}$ the indicator concentrates in the crossbar of the glyph, where the cells are elongated and where the two re\-entrant corners sit\. Panel (c) confirms that the two meshers differ in quality — the `aa` family is uniformly better in scaled Jacobian — but that both stay in the comfortable range $s_{K}≥0.2{3{\textstyle \text{:}}}$ these real meshes are far less distorted than the synthetic ones of Table [3](<#table.caption.14>), so that what they test is the geometry of the domain rather than the geometry of the cells\.

<a name="figure.caption.34"></a>![Figure](<lec-images-454ab6733b02d98305f700968871a617bb5ca6803e64db27597d069ac12a1e6b/diagram-3.png>)



**Figure 3:** &#84;he real meshes of family [(F6)](<#Item.46>)\. (a), (b) the local indicator $η_{K}$ on the two coarse glyph meshes, on a common logarithmic colour scale; the error concentrates in the crossbar and at the re\-entrant corners\. (c) cumulative distribution of the scaled Jacobian: hue distinguishes the mesher, dashing the refinement level\.

The patchwise reconstruction behaves on these meshes as it does on the synthetic ones, returning a bound within $7{\%}$ of the global one (Table [10](<#table.caption.33>)) — unsurprisingly, since by Figure [3](<#figure.caption.34>)(c) these meshes contain no flattened cell of the kind that Section [10\.8](<#subsection.10.8>) identified as its weak point\. A quantity of interest on this geometry — say the mean of $u$ over the crossbar — would be certified by ([38](<#equation.38>)) at the price of one extra solve, exactly as in Section [10\.13](<#subsection.10.13>); we have not run it, since no reference value of $J(u)$ exists here against which the resulting bound could be calibrated\.

<a name="section.11"></a>

## 11 Conclusion and perspectives

We have argued, and demonstrated on $49$ numerical experiments, that equilibrated flux estimators answer a question that practitioners actually ask — *how wrong is my computation on this mesh?* &#8212; in a regime where the standard tools are silent: coarse meshes, distorted cells, no asymptotics\. The guarantee comes with a constant equal to one and, remarkably, with no geometric assumption; the price is a possible loss of sharpness, which is the benign failure mode\.

The campaign of Section [10](<#section.10>) supports this rather sharply\. An isolated degenerate cell, needle or cap, with a scaled Jacobian of $5\cdot 10^{−5}$ and a maximum angle of $180$ degrees to printed precision, changes the effectivity index of the equilibrated estimator by less than $1{0^{−3}{\textstyle \text{;}}}$ global anisotropy degrades it, but only from $1.03$ to $1.4{0{\textstyle \text{;}}}$ and it never fell below one\. Over the same runs the Zienkiewicz–Zhu estimator was below one every single time, reaching $0.41$ on an under\-resolved boundary layer — reporting less than half of the error actually committed, in the very situation where a warning is needed\.

The comparison with Bank–Weiser is the most informative one, that estimator being both accurate and widely used, so that the trade\-off is visible in the numbers\. It is sharper than the equilibrated flux on every well\-shaped mesh, by roughly a factor of two in the overestimation, and sharper still on the under\-resolved layer\. It is also the estimator that distortion punishes most: a single needle cell out of $2048$ multiplies its index by $2.{6{\textstyle \text{,}}}$ global anisotropy by $2.{3{\textstyle \text{,}}}$ a coefficient contrast of $10^{4}$ by $12$ — each time while the guaranteed index stays at $1.0{3{\textstyle \text{.}}}$ Of these, the last is removable: a coefficient\-weighted facet split brings the $12$ back to $1.01$ (Section [10\.10](<#subsection.10.10>))\. The first two are not, and the L\-shaped domain adds a failure that no calibration repairs, the estimator falling below the true error on every mesh of that family while returning no indication that it has\. Sharpness and robustness are traded against each other here, and which one a practitioner should buy depends on whether the mesh is one they chose\.

Two findings were not anticipated when the campaign was designed, and they are the ones we would single out\. First, the two reconstructions of the same guaranteed bound — the global mixed one and the patchwise one — lose sharpness on disjoint families of meshes: the global one under global anisotropy, the patchwise one under an accumulation of flattened cells inside a single vertex patch\. Since both are certificates, the sharper of the two may simply be kept, and their minimum is again guaranteed\. Second, no component of the quality vector ([10](<#equation.10>)) predicts the local effectivity index: the largest correlation over the campaign is $0.4{8{\textstyle \text{,}}}$ and the sign of the correlation with the shape\-regularity ratio reverses between a needle and a cap (Section [10\.9](<#subsection.10.9>))\. A mesh\-quality report and an error bound answer different questions, and the second cannot be inferred from the first\.

Open directions:

1) <a name="Item.63"></a>**Sharp characterisation of admissible distortion\.** &#70;ollowing \[[DLL19](<#cite.duprez2019damage>)\], find a necessary and sufficient condition on the damaged region for the effectivity index to stay bounded\. Section [10\.8](<#subsection.10.8>) rules out the diameter of the damaged region as the relevant parameter and points instead to the number of flattened cells sharing a vertex patch; turning that observation into a bound on $C_{\mathrm{s}\mathrm{t}}$ is open\.

2) <a name="Item.64"></a>**Three dimensions\.** &#84;heorem [7\.9](<#theorem.7.9>) is written for $d∈\{2,3\}$ and the Payne–Weinberger constant does not depend on the dimension, so the guarantee transfers verbatim to tetrahedral meshes\. The sharpness does not: in the experience of one of us with three\-dimensional eddy\-current problems, the lowest\-order reconstruction in ${\kern0pt \textstyle \boldsymbol{R}\boldsymbol{T}}_{0}$ leaves the effectivity index well above one, and the ${\kern0pt \textstyle \boldsymbol{R}\boldsymbol{T}}_{1}$ reconstruction that brings it back is expensive\. Quantifying this trade\-off on distorted tetrahedra — slivers, for which no two\-dimensional analogue exists — is the natural continuation of the present campaign, and the anisotropic interpolation theory of \[[AADL11](<#cite.acosta2011>)\] suggests it is not hopeless\.

3) <a name="Item.65"></a>**Adaptivity on bad meshes\.** &#84;he convergence and optimality theory of AFEM \[[Dör96](<#cite.dorfler1996>), [CKNS08](<#cite.cascon2008>), [NSV09](<#cite.nochetto2009>)\] requires shape regularity; does Dörfler marking still behave well in practice when the initial mesh is distorted and cannot be improved?

4) <a name="Item.66"></a>**Beyond Poisson\.** &#69;lasticity (with the locking issue), Helmholtz \[[CFEV21](<#cite.chaumontfrelet2021>)\], eddy currents and magnetodynamics \[[TLMC<sup>\+</sup>13](<#cite.tang2013>), [CNT17](<#cite.creuse2017maxwell>)\]; also the linearisation and algebraic error components in the spirit of \[[EV13](<#cite.ernvohralik2013>)\]\.

5) <a name="Item.67"></a>**Extreme deformations\.** &#69;stimators in the X\-MESH setting \[[MRL<sup>\+</sup>23](<#cite.moes2023>)\], where elements are deliberately degenerated\.

6) <a name="Item.68"></a>**Meshless and immersed methods\.** &#83;ince no mesh enters the proof of Theorem [7\.9](<#theorem.7.9>), the framework should transfer\.

7) <a name="Item.69"></a>**Superconvergent postprocessing** &#91;[MRV23](<#cite.muga2023>)\] as a cheaper route to an equilibrated flux\.

8) <a name="Item.70"></a>**Non\-homogeneous Dirichlet data\.** &#84;he one hypothesis of Theorem [7\.9](<#theorem.7.9>) that neither the data nor the certificate can vouch for (Remark [7\.11](<#remark.7.11>))\. A computable bound on the boundary term, even a pessimistic one, would close the last gap between what is proved and what is run\.

##### Code and data availability\.

<a name="section*.35"></a> All the scripts, the input meshes and the raw result files needed to regenerate every table and every figure of this paper are openly available at

[`https://github.com/michelduprez/A-posteriori-error-estimation-for-coarse-or-distorted-meshes`](<https://github.com/michelduprez/A-posteriori-error-estimation-for-coarse-or-distorted-meshes>)

The campaign runs in serial with `FEniCSx` (`dolfinx` 0\.9\.0); the repository `README` documents the role of each file and the exact commands used\.

##### Acknowledgements\.

<a name="section*.36"></a> This work was partially supported by the regional programme MATH\-AmSud through the project NeuralFEM (2026–2027), which brings together teams from France, Uruguay, Chile and Colombia\. This research is partly funded by la Fédération de Recherche d’Animation Bézout CNRS\. We thank Roland Becker, Marek Bucki, Stéphane Bordas, Daniela Capatina, Alexei Lozinski, Robert Luce, Pascal Omnes, Yohan Payan, Martin Vohralik for highly stimulating discussions around this topic\.

## References

<a name="section*.37"></a>

**\[AADL11\]** <a name="cite.acosta2011"></a>Gabriel Acosta, Thomas Apel, Ricardo G\. Durán, and Ariel L\. Lombardi\. Error estimates for Raviart–Thomas interpolation of any order on anisotropic tetrahedra\. *Math\. Comp\.*&#44; 80(273):141–163, 2011\.

**\[AO00\]** <a name="cite.ainsworthoden2000"></a>Mark Ainsworth and J\. Tinsley Oden\. *A Posteriori Error Estimation in Finite Element Analysis*&#46; Wiley, 2000\.

**\[Ape99\]** <a name="cite.apel1999"></a>Thomas Apel\. Anisotropic finite elements: Local estimates and applications\. *Advances in Numerical Mathematics*&#44; 1999\.

**\[BA76\]** <a name="cite.babuskaaziz1976"></a>Ivo Babuška and A\. K\. Aziz\. On the angle condition in the finite element method\. *SIAM J\. Numer\. Anal\.*&#44; 13(2):214–226, 1976\.

**\[BBF13\]** <a name="cite.boffibrezzifortin2013"></a>Daniele Boffi, Franco Brezzi, and Michel Fortin\. *Mixed Finite Element Methods and Applications*&#44; volume 44 of *Springer Series in Computational Mathematics*&#46; Springer, 2013\.

**\[BCL16\]** <a name="cite.becker2016"></a>Roland Becker, Daniela Capatina, and Robert Luce\. Local flux reconstructions for standard finite element methods on triangular meshes\. *SIAM J\. Numer\. Anal\.*&#44; 54(4):2684–2706, 2016\.

**\[BDM85\]** <a name="cite.bdm1985"></a>Franco Brezzi, Jim Douglas, and L\. Donatella Marini\. Two families of mixed finite elements for second order elliptic problems\. *Numer\. Math\.*&#44; 47(2):217–235, 1985\.

**${{\textstyle \text{[BHL}}{}^{+}{\textstyle \text{23]}}}$** <a name="cite.bulle2023"></a>Raphaël Bulle, Jack S\. Hale, Alexei Lozinski, Stéphane P\. A\. Bordas, and Franz Chouly\. Hierarchical a posteriori error estimation of Bank–Weiser type in the FEniCS Project\. *Comput\. Math\. Appl\.*&#44; 131:103–123, 2023\.

**\[BK23\]** <a name="cite.bartels2023"></a>Sören Bartels and Alex Kaltenbach\. Explicit and efficient error estimation for convex minimization problems\. *Math\. Comp\.*&#44; 92(343):2247–2279, 2023\.

**\[Ble16\]** <a name="cite.blechta_dolfintape"></a>Jan Blechta\. dolfin\-tape: DOLFIN tools for a posteriori error estimation\. Software repository, 2016\.

**\[BLP10\]** <a name="cite.bucki2010"></a>Marek Bucki, Claudio Lobos, and Yohan Payan\. A fast and robust patient specific finite element mesh registration technique: Application to 60 clinical cases\. *Med\. Image Anal\.*&#44; 14(3):303–317, 2010\.

**\[BMV01\]** <a name="cite.bernardi2001"></a>Christine Bernardi, Brigitte Métivet, and Rüdiger Verfürth\. Analyse numérique d’indicateurs d’erreur\. In Paul\-Louis George, editor, *Maillage et adaptation*&#46; Hermès, Paris, 2001\. TO BE CHECKED\.

**\[BPS09\]** <a name="cite.braess2009"></a>Dietrich Braess, Veronika Pillwein, and Joachim Schöberl\. Equilibrated residual error estimates are p\-robust\. *Comput\. Methods Appl\. Mech\. Engrg\.*&#44; 198(13–14):1189–1197, 2009\.

**\[BR78\]** <a name="cite.babuskarheinboldt1978"></a>Ivo Babuška and Werner C\. Rheinboldt\. Error estimates for adaptive finite element computations\. *SIAM J\. Numer\. Anal\.*&#44; 15(4):736–754, 1978\.

**\[Bra07\]** <a name="cite.braess2007"></a>Dietrich Braess\. *Finite Elements: Theory, Fast Solvers and Applications in Solid Mechanics*&#46; Cambridge University Press, 3 edition, 2007\.

**\[BS08\]** <a name="cite.braess2008"></a>Dietrich Braess and Joachim Schöberl\. Equilibrated residual error estimator for edge elements\. *Math\. Comp\.*&#44; 77(262):651–672, 2008\.

**\[BW85\]** <a name="cite.bankweiser1985"></a>Randolph E\. Bank and Alan Weiser\. Some a posteriori error estimators for elliptic partial differential equations\. *Math\. Comp\.*&#44; 44(170):283–301, 1985\.

**\[CFEV21\]** <a name="cite.chaumontfrelet2021"></a>Théophile Chaumont\-Frelet, Alexandre Ern, and Martin Vohralík\. On the derivation of guaranteed and ${p{\textstyle \text{-}}}$&#114;obust a posteriori error estimates for the Helmholtz equation\. *Numer\. Math\.*&#44; 148(3):525–573, 2021\.

**\[CKNS08\]** <a name="cite.cascon2008"></a>J\. Manuel Cascón, Christian Kreuzer, Ricardo H\. Nochetto, and Kunibert G\. Siebert\. Quasi\-optimal convergence rate for an adaptive finite element method\. *SIAM J\. Numer\. Anal\.*&#44; 46(5):2524–2550, 2008\.

**\[Clé75\]** <a name="cite.clement1975"></a>Philippe Clément\. Approximation by finite element functions using local regularization\. *Rev\. Française Automat\. Informat\. Recherche Opérationnelle Sér\. Rouge Anal\. Numér\.*&#44; 9(R\-2):77–84, 1975\.

**\[CM13\]** <a name="cite.carstensen2013"></a>C\. Carstensen and C\. Merdon\. Effective postprocessing for equilibration a posteriori error estimators\. *Numer\. Math\.*&#44; 123(3):425–459, 2013\.

**\[CM14\]** <a name="cite.carstensen2014"></a>C\. Carstensen and C\. Merdon\. Refined fully explicit a posteriori residual\-based error control\. *SIAM J\. Numer\. Anal\.*&#44; 52(4):1709–1728, 2014\.

**\[CMN13\]** <a name="cite.carstensen2013aspects"></a>C\. Carstensen, C\. Merdon, and Johannes Neumann\. Aspects of guaranteed error control in CPDEs\. In *Numerical solution of partial differential equations: Theory, algorithms, and their applications\. Papers based on the international symposium, Sozopol, Bulgaria, June 7–8, 2013\. In Honor of Professor Raytcho Lazarov’s 40 years of research in computational methods and applied mathematics and on the occasion of his 70th birthday*&#44; pages 103–119\. New York, NY: Springer, 2013\.

**\[CNT17\]** <a name="cite.creuse2017maxwell"></a>Emmanuel Creusé, Serge Nicaise, and Roberta Tittarelli\. A guaranteed equilibrated error estimator for the ${\mathbf{A}{\textstyle \text{–}}}$​$φ$ and ${\mathbf{T}{\textstyle \text{–}}}$​$\mathrm{Ω}$ magnetodynamic harmonic formulations of the Maxwell system\. *IMA J\. Numer\. Anal\.*&#44; 37(2):750–773, 2017\.

**\[CNT23\]** <a name="cite.creuse2017"></a>Emmanuel Creusé, Serge Nicaise, and Zuqi Tang\. Goal\-oriented error estimation based on equilibrated flux and potential reconstruction for the approximation of elliptic and parabolic problems\. *Comput\. Math\. Appl\.*&#44; 146:323–338, 2023\.

**\[CZ12\]** <a name="cite.caizhang2012"></a>Zhiqiang Cai and Shun Zhang\. Robust equilibrated residual error estimator for diffusion problems: conforming elements\. *SIAM J\. Numer\. Anal\.*&#44; 50(1):151–170, 2012\.

**\[DLL19\]** <a name="cite.duprez2019damage"></a>Michel Duprez, Vanessa Lleras, and Alexei Lozinski\. Finite element method with local damage of the mesh\. *ESAIM Math\. Model\. Numer\. Anal\.*&#44; 53(6):1871–1891, 2019\.

**\[DM99\]** <a name="cite.destuynder1999"></a>Philippe Destuynder and Brigitte Métivet\. Explicit error bounds in a conforming finite element method\. *Math\. Comp\.*&#44; 68(228):1379–1396, 1999\.

**\[Dör96\]** <a name="cite.dorfler1996"></a>Willy Dörfler\. A convergent adaptive algorithm for Poisson’s equation\. *SIAM J\. Numer\. Anal\.*&#44; 33(3):1106–1124, 1996\.

**\[EG21\]** <a name="cite.ernguermond2021"></a>Alexandre Ern and Jean\-Luc Guermond\. *Finite Elements I: Approximation and Interpolation*&#46; Springer, 2021\.

**\[EV13\]** <a name="cite.ernvohralik2013"></a>Alexandre Ern and Martin Vohralík\. Adaptive inexact Newton methods with a posteriori stopping criteria for nonlinear diffusion PDEs\. *SIAM J\. Sci\. Comput\.*&#44; 35(4):A1761–A1791, 2013\.

**\[EV15\]** <a name="cite.ernvohralik2015"></a>Alexandre Ern and Martin Vohralík\. Polynomial\-degree\-robust a posteriori estimates in a unified setting for conforming, nonconforming, discontinuous Galerkin, and mixed discretizations\. *SIAM J\. Numer\. Anal\.*&#44; 53(2):1058–1081, 2015\.

**\[EV20\]** <a name="cite.ernvohralik2020"></a>Alexandre Ern and Martin Vohralík\. Stable broken $H^{1}$ and $H({\mathrm{d}\mathrm{i}\mathrm{v}})$ polynomial extensions for polynomial\-degree\-robust potential and flux reconstruction in three space dimensions\. *Math\. Comp\.*&#44; 89(322):551–594, 2020\.

**\[FG08\]** <a name="cite.freygeorge2008"></a>Pascal J\. Frey and Paul\-Louis George\. *Mesh Generation: Application to Finite Elements*&#46; ISTE/Wiley, 2 edition, 2008\.

**\[FP01\]** <a name="cite.formaggia2001"></a>Luca Formaggia and Simona Perotto\. New anisotropic a priori error estimates\. *Numer\. Math\.*&#44; 89(4):641–667, 2001\.

**\[Han05\]** <a name="cite.han2005"></a>Weimin Han\. *A Posteriori Error Analysis via Duality Theory\. With Applications in Modeling and Numerical Approximations*&#44; volume 8 of *Advances in Mechanics and Mathematics*&#46; Springer, New York, 2005\.

**\[Knu01\]** <a name="cite.knupp2001"></a>Patrick M\. Knupp\. Algebraic mesh quality metrics\. *SIAM J\. Sci\. Comput\.*&#44; 23(1):193–218, 2001\.

**\[Kří92\]** <a name="cite.krizek1992"></a>Michal Křížek\. On the maximum angle condition for linear tetrahedral elements\. *SIAM J\. Numer\. Anal\.*&#44; 29(2):513–520, 1992\.

**\[LL83\]** <a name="cite.ladeveze1983"></a>Pierre Ladèvèze and Dominique Leguillon\. Error estimate procedure in the finite element method and applications\. *SIAM J\. Numer\. Anal\.*&#44; 20(3):485–509, 1983\.

**\[Lob13\]** <a name="cite.lobos2013"></a>Claudio Lobos\. A set of mixed\-elements patterns for domain boundary approximation in hexahedral meshes\. *Stud\. Health Technol\. Inform\.*&#44; 184:268–274, 2013\.

**\[LP04\]** <a name="cite.ladeveze2004"></a>Pierre Ladèvèze and Jean\-Pierre Pelle\. *Mastering Calculations in Linear and Nonlinear Mechanics*&#46; Springer, 2004\.

**\[LW04\]** <a name="cite.luce2004"></a>Robert Luce and Barbara I\. Wohlmuth\. A local a posteriori error estimator based on equilibrated fluxes\. *SIAM J\. Numer\. Anal\.*&#44; 42(4):1394–1414, 2004\.

**${{\textstyle \text{[MRL}}{}^{+}{\textstyle \text{23]}}}$** <a name="cite.moes2023"></a>Nicolas Moës, Jean\-François Remacle, Jonathan Lambrechts, Benoît Lé, and Nicolas Chevaugeon\. The eXtreme mesh deformation approach (X\-MESH) for the Stefan phase change model\. *J\. Comput\. Phys\.*&#44; 477:Paper No\. 111878, 20, 2023\.

**\[MRV23\]** <a name="cite.muga2023"></a>Ignacio Muga, Sergio Rojas, and Patrick Vega\. An adaptive superconvergent mixed finite element method based on local residual minimization\. *SIAM J\. Numer\. Anal\.*&#44; 61(5):2084–2105, 2023\.

**\[NSV09\]** <a name="cite.nochetto2009"></a>Ricardo H\. Nochetto, Kunibert G\. Siebert, and Andreas Veeser\. Theory of adaptive finite element methods: an introduction\. In *Multiscale, Nonlinear and Adaptive Approximation*&#44; pages 409–542\. Springer, 2009\.

**\[Pic03\]** <a name="cite.picasso2003"></a>Marco Picasso\. An anisotropic error indicator based on Zienkiewicz–Zhu error estimator: application to elliptic and parabolic problems\. *SIAM J\. Sci\. Comput\.*&#44; 24(4):1328–1355, 2003\.

**\[PS47\]** <a name="cite.pragersynge1947"></a>W\. Prager and J\. L\. Synge\. Approximations in elasticity based on the concept of function space\. *Quart\. Appl\. Math\.*&#44; 5:241–269, 1947\.

**\[PW60\]** <a name="cite.payneweinberger1960"></a>L\. E\. Payne and H\. F\. Weinberger\. An optimal Poincaré inequality for convex domains\. *Arch\. Rational Mech\. Anal\.*&#44; 5:286–292, 1960\.

**\[Rep00\]** <a name="cite.repin2000"></a>Sergey I\. Repin\. A posteriori error estimation for variational problems with uniformly convex functionals\. *Math\. Comp\.*&#44; 69(230):481–500, 2000\.

**\[Rep08\]** <a name="cite.repin2008"></a>Sergey I\. Repin\. *A Posteriori Estimates for Partial Differential Equations*&#46; Walter de Gruyter, Berlin, 2008\.

**\[RT77\]** <a name="cite.raviartthomas1977"></a>P\.\-A\. Raviart and J\. M\. Thomas\. A mixed finite element method for 2nd order elliptic problems\. In *Mathematical Aspects of Finite Element Methods*&#44; volume 606 of *Lecture Notes in Math\.*&#44; pages 292–315\. Springer, 1977\.

**\[She02\]** <a name="cite.shewchuk2002"></a>Jonathan Richard Shewchuk\. What is a good linear finite element? Interpolation, conditioning, anisotropy, and quality measures\. *Preprint, University of California at Berkeley*&#44; 2002\.

**\[SZ90\]** <a name="cite.scottzhang1990"></a>L\. Ridgway Scott and Shangyou Zhang\. Finite element interpolation of nonsmooth functions satisfying boundary conditions\. *Math\. Comp\.*&#44; 54(190):483–493, 1990\.

**${{\textstyle \text{[TLMC}}{}^{+}{\textstyle \text{13]}}}$** <a name="cite.tang2013"></a>Zuqi Tang, Yvonnick Le Menach, Emmanuel Creusé, Serge Nicaise, Francis Piriou, and Noel Siauve\. Residual based a posteriori error estimators for harmonic $A{/}φ$ and $T{/}\mathrm{Ω}$ formulations in eddy current problems\. *IEEE Trans\. Magn\.*&#44; 49(5):1721–1724, 2013\.

**\[Ver13\]** <a name="cite.verfurth2013"></a>Rüdiger Verfürth\. *A Posteriori Error Estimation Techniques for Finite Element Methods*&#46; Oxford University Press, 2013\.

**\[Voh20\]** <a name="cite.vohralik_notes"></a>Martin Vohralík\. A posteriori error estimates for efficiency and error control in numerical simulations\. Lecture notes, Course NPMA041, Charles University Prague / Sorbonne Université, 2020\.

**\[VV09\]** <a name="cite.veeser2009"></a>Andreas Veeser and Rüdiger Verfürth\. Explicit upper bounds for dual norms of residuals\. *SIAM J\. Numer\. Anal\.*&#44; 47(3):2387–2405, 2009\.

**\[ZZ87\]** <a name="cite.zz1987"></a>O\. C\. Zienkiewicz and J\. Z\. Zhu\. A simple error estimator and adaptive procedure for practical engineering analysis\. *Internat\. J\. Numer\. Methods Engrg\.*&#44; 24(2):337–357, 1987\.

**\[ZZ92a\]** <a name="cite.zz1992a"></a>O\. C\. Zienkiewicz and J\. Z\. Zhu\. The superconvergent patch recovery and a posteriori error estimates\. Part 1: The recovery technique\. *Internat\. J\. Numer\. Methods Engrg\.*&#44; 33(7):1331–1364, 1992\.

**\[ZZ92b\]** <a name="cite.zz1992b"></a>O\. C\. Zienkiewicz and J\. Z\. Zhu\. The superconvergent patch recovery and a posteriori error estimates\. Part 2: Error estimates and adaptivity\. *Internat\. J\. Numer\. Methods Engrg\.*&#44; 33(7):1365–1382, 1992\.

---

<sup>∗</sup>Centro de Matemática (CMAT), Universidad de la República, IRL CNRS 2030 IFUMI, 11400 Montevideo, Uruguay, [`fchouly@cmat.edu.uy`](<fchouly@cmat.edu.uy>)

<sup>†</sup>Université de Strasbourg, CNRS, Inria, ICube, UMR 7357, équipe MIMESIS, F\-67000 Strasbourg, France, [`michel.duprez@inria.fr`](<michel.duprez@inria.fr>)

<sup>‡</sup>Departamento de Informática, Universidad Técnica Federico Santa María, Avenida Vicuña Mackenna 3939, Santiago, Chile, [`claudio.lobos@usm.cl`](<claudio.lobos@usm.cl>)

<sup>§</sup>Univ\. Lille, Arts et Métiers Institute of Technology, Centrale Lille, Junia, ULR 2697 – L2EP, F\-59000 Lille, France, [`zuqi.tang@univ-lille.fr`](<zuqi.tang@univ-lille.fr>)

<sup>1</sup><a name="Hfootnote.1"></a>In the meshing community this is known as a manifold mesh\.



---

## About this conversion

“A posteriori error estimation for coarse or distorted meshes” by Franz Chouly, Michel Duprez, Claudio Lobos, Zuqi Tang. [Original arXiv submission, 2610.12088v1](https://arxiv.org/abs/2610.12088v1). Shared under [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/), as identified by the exact-version arXiv record.

Linneon LLC converted the original LaTeX submission to continuous Markdown and HTML using LEC on October 14, 2026. Pagination and page furniture are removed; tables, notes and figures are arranged for continuous reading. HTML mathematics uses MathJax. These reading copies are not the official publication and do not imply endorsement by the authors, their institutions or arXiv. Original notices are retained. Dates generated by the source may reflect recompilation.
