A posteriori error estimation for coarse or distorted meshes
Franz Chouly∗
Michel Duprez†
Claudio Lobos‡
Zuqi Tang§
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
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
Across the
Keywords. a posteriori error estimation; distorted meshes; equilibrated fluxes; finite element method; guaranteed error bounds; mesh quality.
Mathematics Subject Classification. 65N15, 65N30, 65N50.
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
The question addressed here is therefore not how to build a better mesh, but rather: given this mesh and this solution, what is the guaranteed accuracy of the computed quantity? Any answer that involves an unspecified generic constant
A posteriori error estimation.
A posteriori error estimation started with Babuška and Rheinboldt [BR78]; the literature is now vast, and we refer to the monographs of Ainsworth and Oden [AO00], Verfürth [Ver13], Repin [Rep08], to the survey of Nochetto, Siebert and Veeser [NSV09] for the adaptive side, and to the lecture notes of Vohralík [Voh20], which we follow closely in Section 7.
Equilibrated flux estimators are based on ideas from Prager–Synge [PS47] and early contributions date back to the pioneering work of Ladèveze [LL83, LP04]; later contributions include Destuynder–Métivet [DM99], Luce–Wohlmuth [LW04], Braess–Schöberl [BS08, BPS09], Ern–Vohralík [EV15, EV20], Carstensen–Merdon [CM13, CM14], Becker–Capatina–Luce [BCL16], all of which give a guaranteed bound with constant one. Their common root is convex duality and the primal–dual gap: see Repin [Rep00, Rep08], Han [Han05], and, more recently and in a much broader nonsmooth setting, Bartels and Kaltenbach [BK23]. We come back to this reading in 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] and Carstensen and Merdon [CMN13, CM14]. Those constants still depend on the element shapes, which is exactly what we want to avoid here.
Finite elements on bad meshes.
On the a priori side, it is classical since Babuška and Aziz [BA76] that the minimum angle condition can be replaced by a maximum angle condition in 2D, and by suitable variants in 3D [Kří92]; anisotropic interpolation theory [Ape99, FP01, Pic03] pushes this further. Duprez, Lleras and Lozinski [DLL19] showed that a locally damaged mesh — a few arbitrarily distorted cells in an otherwise regular mesh — does not spoil the convergence rate, nor irreparably the conditioning.
Mesh quality measures.
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], the algebraic framework of Knupp [Knu01] and the discussion of Shewchuk [She02] 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 appear) in the equilibrated flux analysis.
1.1 Contributions and outline
-
We revisit the equilibrated flux framework with an explicit tracking of the diffusion parameter
and of every geometric assumption used in the derivation of the upper bound (Sections 2–7). We isolate the single place where geometry enters — the Poincaré constant on a cell, Lemma 7.7 — and we explain how to keep the bound guaranteed on non-convex cells. -
We review the geometric quality measures used in meshing and map them onto the constants of the analysis (Section 6), distinguishing between what affects the guarantee (almost nothing) and what affects the efficiency (a lot).
-
We describe two flux reconstructions (Sections 7.4 and 7.5): a global mixed one, in which the flux is sought in a Raviart–Thomas or Brezzi–Douglas–Marini subspace of
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 shows that they are not interchangeable under distortion: they lose sharpness under different geometric defects. -
We compare with the residual, Zienkiewicz–Zhu-type recovery and Bank–Weiser estimators (Section 8) and quantify how each of them degrades with distortion. The comparison with Bank–Weiser (Section 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.
-
We extend the guaranteed bound to a quantity of interest via a duality argument (Section 9), and we verify numerically that the resulting product bound is also insensitive to an isolated degenerate cell (Section 10.13).
-
We report numerical experiments (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.
None of the theory of Section 7 is new: the hypercircle identity is due to Prager and Synge [PS47], the relaxation to cellwise equilibration and the patchwise reconstruction are due to Vohralík and coworkers [Voh20, EV15] and to Braess and Schöberl [BS08]. What we claim is a change of reading. 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), stating what breaks when it fails (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) is, to our knowledge, not written down anywhere. The experimental observations of 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 predicts the local effectivity — are, likewise, new.
Scope.
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. We also do not address the algebraic error: all linear systems below are solved by a direct method.
2 Notation
Let
For
holds (the boundary term vanishes since
3 Model problem
Let
Define the bilinear and linear forms
so that the weak formulation reads: find
By Lax–Milgram, (4) is well posed. We measure the error in the energy norm
and we associate with it the dual norm on fluxes,
4 The mesh
Let
Assumption 4.1 (Admissible mesh).
-
(M1) matching: the intersection of two distinct cells is either empty, or a common vertex, edge or face (no hanging node)1.
-
(M2) each cell
is the image of a fixed reference cell (simplex, quadrilateral/hexahedron, prism, . . . ) by a smooth, invertible map with everywhere on where
We stress what is not assumed: no shape regularity
We write
5 The finite element method
Let
be the conforming Lagrange finite element space
Conformity
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.
Remark 5.1 (Conformity). Because
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,
6.1 Geometric and algebraic quality measures
Definition 6.1 (Usual quality measures). For a cell
-
(Q1) the shape-regularity ratio
being the diameter of the largest ball inscribed in -
(Q2) the aspect ratio
i.e. the condition number of in the spectral norm (for triangles we take equilateral here, so that characterises the equilateral cell and the value does not depend on the numbering of the vertices); -
(Q3) the scaled Jacobian
equal to when the columns of are orthogonal and tending to for a flat (sliver, cap, needle) element, and negative for an inverted one, i.e. one whose vertices are traversed in the wrong orientation ( which (M2) excludes. For a triangle the bracket is the sine of the angle at the vertex onto which maps the origin of to make the measure independent of the numbering of the vertices we take, as mesh-quality software does, its minimum over the three corners, being the angles of This equals on the right triangles of a structured mesh (the value reported for family (F1) in Section 10), on the equilateral triangle, and is of order for both the needle and the cap of family (F3); -
(Q4) the Frobenius condition number
and the associated mean ratio [Knu01];
These measures are not equivalent, and the differences matter. In 2D, a triangle family with
6.2 Where does geometry enter the analysis?
Let us anticipate on Section 7 and list the constants involved.
-
(C1) Poincaré constant on a cell. The upper bound uses
where
is the mean value of over By Payne–Weinberger [PW60], for any convex regardless of its shape — a needle, a sliver or a cap triangle all admit and no better uniform value is available since is attained in the limit of a thin slab. This is the reason why the guaranteed bound survives distortion. Convexity is however essential: for a non-convex cell the constant need not be (see Remark 7.8). -
(C2) Cauchy–Schwarz. Used several times, constant one, no geometry.
-
(C3) Local equilibration solvability. Involves only Galerkin orthogonality (9) and the partition of unity, no geometry.
-
(C4) Efficiency (lower bound). The bound
relies on bubble-function / discrete stability arguments whose constants do degenerate with with and with the number of cells in a patch [EV15, BPS09]. -
(C5) Conditioning and a priori error. Not the subject here, but recall that the condition number of the stiffness matrix and the interpolation constants degrade with
and [She02, DLL19].
The message is summarised in Table 1.
| guaranteed | efficiency | cost | |
| upper bound | (lower bound) | ||
| Explicit residual | no (unknown |
degenerates | cheap |
| Fully computable residual [VV09, CM14] | yes, |
degenerates | cheap |
| Zienkiewicz–Zhu [ZZ87] | no | asympt. exact | very cheap |
| if regular | |||
| Bank–Weiser [BW85, BHL+23] | under saturation | degenerates | moderate |
| Equilibrated flux | yes, |
degenerates | moderate |
| geometry-free |
Table 1: Sensitivity of the main estimator families to the mesh quality. Only the sharpness of the equilibrated flux estimator is affected by distortion; its reliability is not.
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
and we will study the empirical correlation between
the local indicators
The claim to be tested is that the global effectivity index (24) stays
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, whose upper bound is both fully computable and free of any assumption on the geometry of the cells.
7.1 The Prager–Synge identity
Definition 7.1 (Admissible flux). A vector field
Theorem 7.2 (Prager–Synge [PS47]). Let
Proof. Write
Set
Corollary 7.3 (Hypercircle bound). Taking
Three features of (13) deserve emphasis, and they are the reason for this work:
-
the multiplicative constant is one: this is a true, quantitative bound on the error, not an asymptotic statement;
-
every admissible
gives a valid bound, so the estimator is a certificate that can be checked a posteriori; -
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) is an equality of functions in
Before doing so, we record the convex-duality reading of (12), which explains why the constant is one.
Proposition 7.4 (The estimator is a primal–dual gap). Define the primal and dual (complementary) energies
Then
Proof. Since
using
Remark 7.5 (Duality reading of the hypercircle). Proposition 7.4 says that the squared estimator
7.2 The abstract framework of Vohralík: relaxing the admissibility condition
Following [Voh20, Chap. 7] and [EV15] we only require equilibration in the mean on each cell.
Definition 7.6 (Equilibrated flux reconstruction). A field
Lemma 7.7 (Poincaré on a cell). Let
Proof. This is the Payne–Weinberger inequality [PW60]; the constant
Remark 7.8 (Non-convex cells). Inequality (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
We now define the two families of local indicators, for each
Both are computable once
Theorem 7.9 (Guaranteed upper bound). Let
Proof. Since
Fix such a
Insert
For
For
Cauchy–Schwarz and Lemma 7.7 then yield
where we inserted
and the last factor equals
Remark 7.10 (What was not used). The proof used: the conformity
Remark 7.11 (Non-homogeneous Dirichlet data). Suppose
Proposition 7.12 (Data oscillation form). Assume the reconstruction satisfies the stronger property
which is exactly computable, involves neither
Remark 7.13 (When may the residual term be dropped?). Only under the hypothesis of Proposition 7.12, and even then it should be computed rather than dropped, since it is cheap. For a reconstruction that merely satisfies (EF),
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.
Theorem 7.14 (Local efficiency [BPS09, EV15, EV20, CZ12]). For the patchwise reconstruction of Section 7.5 on a simplicial mesh, there holds
where
Combining Theorems 7.9 and 7.14, the effectivity index
satisfies
Remark 7.15 (Locally damaged meshes). Following [DLL19], if only a small subset
7.4 A first (expensive) estimator: global mixed formulation
We now describe two ways of producing a
Admissible choices on a simplicial mesh are the Raviart–Thomas pair
Since
Remark 7.16 (Pros and cons). Pros: three lines of FEniCS/FreeFEM, no local solver to write, and it produces an exactly equilibrated flux. Cons: it requires the solution of a global saddle-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.
Remark 7.17 (Do not simply project the discrete flux). A tempting shortcut is to take
7.5 Patchwise reconstruction (Braess–Schöberl / Ern–Vohralík)
The efficient construction localises (26) on vertex patches, using the partition of unity
which dictates the local right-hand side below — note the minus sign, which is what makes the local Neumann problem compatible.
For
so that
with the local right-hand side suggested by (27),
Note that the factor
i.e. the equilibrated field closest, in the
each
Proposition 7.18 (The construction is well posed and equilibrated). Let
-
(i) For
problem (29) is well posed. Indeed, the pure Neumann compatibility condition required for to belong to readswhich is exactly the discrete problem (8) tested with the hat function
This is where the minus sign in (30) is essential: with a plus sign one would obtain and the local problem would have no solution. -
(ii) Each
has zero normal trace on so its extension by zero has no normal jump across and belongs to hence so does the finite sum -
(iii)
on For a boundary vertex this is immediate since is the full broken polynomial space. For an interior vertex, the second equation of (29) only gives that is orthogonal to all zero-mean i.e. is a constant on but by (i), so -
(iv) Consequently, using
and henceTherefore (EF) holds and Proposition 7.12 applies: the residual indicator reduces to the data oscillation (22).
The whole procedure is summarised as follows.
Algorithm 7.19 (Guaranteed error bound, patchwise version).
-
Solve the primal problem (8) for
-
For each vertex
(in parallel): assemble by (30) and solve the local mixed problem (29) for -
Assemble
by (32). -
Certificate check (cheap, optional but recommended): verify that
is at round-off level. -
Return
By Theorem 7.9, whatever the mesh.
Remark 7.20 (Cost and parallelism). Step 2 requires Python, and its running time measures the interpreter, not the algorithm (Section 10.8).
Remark 7.21 (The correction term of the classical constructions). An alternative and historically earlier route (Destuynder–Métivet [DM99], Ladèveze [LP04]) is to build a first field
Remark 7.22 (Distorted cells: implementation pitfalls). On strongly distorted or nearly degenerate cells the local matrices in (29) become badly conditioned. Practical remedies: (i) scale the
8 Comparison with other estimators
8.1 Explicit residual
The classical explicit residual estimator reads, on a simplicial mesh,
where
8.2 Recovery estimators of Zienkiewicz–Zhu type
With
Cheap, popular, asymptotically exact on structured shape-regular meshes thanks to superconvergence [ZZ92a, ZZ92b] — and with no guarantee whatsoever otherwise. The variant implemented below takes for
8.3 Bank–Weiser
This is the closest competitor of the equilibrated flux estimator, and the one we shall follow quantitatively throughout Section 10: like the patchwise reconstruction of Section 7.5 it solves small local problems, and it is the estimator with the reputation of being the sharpest.
The Bank–Weiser estimator [BW85] solves one local Neumann-type problem per cell. Let
which for FEniCS implementation. Find
and set
-
(a) No boundary condition is imposed on
since the space contains no constant, the local bilinear form is already positive definite on it, and the pure Neumann problem (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) Reliability holds only under a saturation assumption — that the
solution be strictly closer to than the 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, the assumption cannot be checked a posteriori: nothing in the computed output tells the user whether the bound holds. -
(c) The
split of the facet term is the classical, unweighted choice, and it is not robust with respect to the diffusion coefficient: the jump carries the larger of the two values of while the local form on the low-coefficient side weighs it against the smaller one. Coefficient-weighted splits repair this; we use the classical version, and Section 10.10 shows what it costs. -
(d) Cost: (36) is symmetric positive definite and of dimension
— three for 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.
8.4 Summary
Table 1 summarises the situation. The point we want to make is not that the equilibrated flux estimator is the sharpest. It is not: on the finest structured mesh of Table 2 Bank–Weiser overestimates by
9 Goal-oriented estimation
Engineers rarely care about the energy norm; they care about a quantity of interest
approximated by
Proposition 9.1 (Guaranteed goal-oriented bound). There holds
where
Proof.
Again the constant is one and no mesh assumption is used. Since
Two caveats are in order. First, (38) bounds
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
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] and the Bank–Weiser code of [BHL+23].
10.1 Protocol
Test cases.
In each case the exact solution is known in closed form, so that the true error
-
(T1) Smooth:
homogeneous Dirichlet data. Reference case: the error is smooth and equidistributed, so any deviation of from its structured-mesh value is attributable to the mesh alone. -
(T2) Singular: L-shaped domain
and with measured counter-clockwise from the positive axis and running over Here only, and the Dirichlet data are non-homogeneous on part of so that Theorem 7.9 does not apply verbatim (Remark 7.11). We run the case nevertheless, with the Lagrange interpolant of precisely in order to see whether, and by how much, the bound fails; this is Section 10.12. It tests the estimator in the presence of a corner singularity, where the error is strongly localised. -
which vanishes on
and exhibits layers of width near and is obtained by differentiation. Natural companion of the anisotropic mesh family (F5). -
(T4) Heterogeneous:
for and for with the interface aligned with the mesh as required by (M3). The interface is placed exactly where for so that the normal flux is continuous across it and this is the exact solution of the transmission problem, with Checks the robustness announced in Theorem 7.9.
Mesh families.
The synthetic meshes (F1)–(F5) triangulate the unit square, so that the closed-form solutions above apply and the effectivity index can be measured rather than estimated; the real meshes (F6) and the L-shaped meshes (F7) do not, and are treated separately.
-
(F2) randomly perturbed meshes: every interior vertex is moved by
uniform in the unit disc, Since both endpoints of an edge move, the mesh stays untangled as long as i.e. the code verifies a posteriori that no cell has been inverted; -
(F3) locally damaged meshes: one single interior vertex is displaced, all other cells being left untouched, in the spirit of [DLL19]. Two variants, controlled by a parameter
needle, where the vertex is moved a fraction of the way toward a neighbour (so while stays bounded away from and the maximum angle condition still holds); and cap, where it is moved onto the opposite edge of one of its cells (so and the maximum angle condition fails). In both cases -
(F4) extent of the damage:
vertices are cap-damaged at fixed either scattered over the whole domain or grouped in a single contiguous block. At equal 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 points to. Damaged vertices are taken on the even sublattice so that no two of them are neighbours; -
(F5) globally anisotropic structured meshes with
cells, hence aspect ratios up to -
(F6) the real meshes shipped with the project, treated separately in Section 10.15: a triangulation of
and four triangulations of a letter glyph, produced by two independent meshers; -
(F7) structured triangulations of the L-shaped domain of (T2), with
squares of side over the enclosing square each split into two right triangles and the cells of the missing quadrant removed, These are shape-regular meshes: they carry the singularity of (T2), not a geometric defect.
Figure 1 shows one representative of each synthetic family.
Figure 1: The synthetic mesh families. (a) the structured reference (F1); (b) the random perturbation (F2) at the largest admissible amplitude; (c) a zoom on the single cap-damaged vertex of (F3), the flattened cell being highlighted — every other cell of that mesh is the structured one of panel (a); (d) the anisotropic family (F5).
Quantities reported.
For each pair (test case, mesh) we report the true energy error
-
the certificate
which must be at round-off level (step 4 of Algorithm 7.19); the denominator is the size of the terms that must cancel, and does not degenerate when
as in test case (T2). It never exceeded over the whole campaign, and if the dual problems of Section 10.13 are included; -
the worst cellwise ratio
over the badly shaped cells written Note that Theorem 7.14 bounds by the error on the patch 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.
10.2 How it is computed: a reference implementation
The listing below computes the equilibrated flux by the global mixed formulation (26) and evaluates both indicators (17) and (18), including the residual term that is often (wrongly) omitted, as well as the parameter FEniCSx script; the output it produces is quoted after the listing.
Listing 1: Guaranteed error bound via a global 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
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
The assertion on the last line is the central claim of the paper: it must never fire, whatever the mesh. Over the patchwise.py and reported in Section 10.8.
10.3 Reference case: convergence and asymptotic behaviour
Table 2 reports the reference family (F1) on the smooth test case (T1).
| mesh | cells | ||||||
| F1 |
128 | 4.318e-01 | 4.878e-01 | 1.130 | 1.082 | 5.526 | 0.960 |
| F1 |
512 | 2.175e-01 | 2.316e-01 | 1.065 | 1.037 | 5.601 | 0.984 |
| F1 |
2048 | 1.090e-01 | 1.125e-01 | 1.032 | 1.017 | 5.632 | 0.993 |
| F1 |
8192 | 5.451e-02 | 5.540e-02 | 1.016 | 1.008 | 5.645 | 0.997 |
| F1 |
32768 | 2.726e-02 | 2.748e-02 | 1.008 | 1.004 | 5.651 | 0.998 |
Table 2: Test case (T1) on the structured family (F1),
Four observations, all of which persist throughout the campaign on the unit square.
-
decreases monotonically from to the guaranteed bound is not merely valid, it becomes asymptotically exact. The residual indicator contributes only of the estimator at and decreases at the higher rate predicted by Proposition 7.12. -
the explicit residual estimator with the naive calibration 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. -
on every mesh. The recovery estimator underestimates the error — benignly here to much less benignly below. -
is the sharpest of the four, down to on a structured mesh Bank–Weiser overestimates by about half as much as the equilibrated flux. Section 10.10 follows what becomes of that advantage.
10.4 Distorted meshes: the main experiment
Table 3 is the core of the paper: the same test case (T1) computed on meshes of steadily degrading quality.
| mesh | |||||||
| F2 |
5.6e-01 | 106.9 | 1.033 | 1.022 | 5.619 | 0.989 | — |
| F2 |
4.0e-01 | 126.1 | 1.033 | 1.036 | 5.583 | 0.978 | — |
| F2 |
2.3e-01 | 147.3 | 1.034 | 1.062 | 5.543 | 0.961 | — |
| F3 needle |
5.3e-02 | 132.0 | 1.032 | 1.021 | 5.637 | 0.992 | 1.00 |
| F3 needle |
5.0e-03 | 134.7 | 1.032 | 1.048 | 5.639 | 0.991 | 1.00 |
| F3 needle |
5.0e-04 | 135.0 | 1.032 | 1.282 | 5.640 | 0.991 | 1.00 |
| F3 needle |
5.0e-05 | 135.0 | 1.032 | 2.664 | 5.640 | 0.991 | 1.00 |
| F3 cap |
1.0e-01 | 168.6 | 1.032 | 1.023 | 5.631 | 0.992 | 1.00 |
| F3 cap |
1.0e-02 | 178.9 | 1.032 | 1.028 | 5.636 | 0.992 | 1.00 |
| F3 cap |
1.0e-03 | 179.9 | 1.032 | 1.028 | 5.637 | 0.992 | 1.00 |
| F3 cap |
1.0e-04 | 180.0 | 1.032 | 1.028 | 5.637 | 0.992 | 1.00 |
| F4 scattered |
1.0e-03 | 179.9 | 1.032 | 1.019 | 5.639 | 0.993 | 1.00 |
| F4 block |
1.0e-03 | 179.9 | 1.032 | 1.028 | 5.637 | 0.992 | 1.00 |
| F4 scattered |
1.0e-03 | 179.9 | 1.032 | 1.032 | 5.639 | 0.991 | 1.06 |
| F4 block |
1.0e-03 | 179.9 | 1.031 | 1.058 | 5.651 | 0.988 | 1.00 |
| F4 scattered |
1.0e-03 | 179.9 | 1.031 | 1.095 | 5.685 | 0.983 | 1.06 |
| F4 block |
1.0e-03 | 179.9 | 1.030 | 1.152 | 5.705 | 0.980 | 1.00 |
| F4 scattered |
1.0e-03 | 179.9 | 1.031 | 1.198 | 5.750 | 0.964 | 1.14 |
| F4 block |
1.0e-03 | 179.9 | 1.028 | 1.321 | 5.814 | 0.964 | 1.02 |
| F5 |
7.1e-01 | 90.0 | 1.032 | 1.017 | 5.632 | 0.993 | — |
| F5 |
2.4e-01 | 90.0 | 1.092 | 1.163 | 6.962 | 0.985 | — |
| F5 |
1.2e-01 | 90.0 | 1.182 | 1.529 | 8.648 | 0.965 | — |
| F5 |
6.2e-02 | 90.0 | 1.401 | 2.297 | 10.429 | 0.880 | 1.87 |
Table 3: Test case (T1),
Figure 2 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.
Figure 2: Effectivity indices, test case (T1), 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
10.5 Randomly perturbed meshes
The first three rows of Table 3 perturb every interior vertex. As
10.6 Locally damaged meshes, and the extent of the damage
The next eight rows of Table 3 displace a single vertex. Between
Table 4 isolates the effect of the extent of the damaged region, family (F4): the number
| mesh | |||||
| F4 scattered |
1 | 0.0 | 1.0323 | 1.019 | 1.00 |
| F4 block |
1 | 0.0 | 1.0321 | 1.028 | 1.00 |
| F4 scattered |
4 | 27.9 | 1.0321 | 1.032 | 1.06 |
| F4 block |
4 | 2.8 | 1.0314 | 1.058 | 1.00 |
| F4 scattered |
16 | 34.4 | 1.0311 | 1.095 | 1.06 |
| F4 block |
16 | 8.9 | 1.0297 | 1.152 | 1.00 |
| F4 scattered |
64 | 36.9 | 1.0307 | 1.198 | 1.14 |
| F4 block |
64 | 19.8 | 1.0278 | 1.321 | 1.02 |
Table 4: Family (F4):
Two conclusions, one of which is negative and worth stating as such.
-
The global index is remarkably stable,
and if anything decreases as damage accumulates: a damaged mesh is a slightly finer mesh, and the estimator tracks the error it actually commits. -
With the global reconstruction, the experiment does not discriminate the conjecture of Section 7.3. At equal
the contiguous block (diameter at behaves marginally better than the scattered layout (diameter against and the differences are within the variation caused by where in the damaged cells happen to fall, since 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 and the global reconstruction exposes no local constant. Section 10.8 redoes the experiment with the patchwise reconstruction, which does, and settles the question — against the conjecture as we stated it.
10.7 Anisotropic meshes
The last four rows of Table 3 are the only ones on which the equilibrated estimator visibly degrades:
10.8 The two reconstructions of the same bound
Everything reported so far uses the global mixed reconstruction of Section 7.4. Table 5 adds the patchwise one of Section 7.5, at the degree
| mesh | ||||
| F1 |
1.130 | 1.053 | 1.295 | 1.082 |
| F1 |
1.065 | 1.049 | 1.240 | 1.037 |
| F1 |
1.032 | 1.048 | 1.226 | 1.017 |
| F1 |
1.016 | 1.047 | 1.247 | 1.008 |
| F1 |
1.008 | 1.047 | 1.309 | 1.004 |
| F2 |
1.034 | 1.055 | 1.790 | 1.062 |
| F3 needle |
1.032 | 1.048 | 1.226 | 2.664 |
| F3 cap |
1.032 | 1.112 | 1.238 | 1.028 |
| F4 scattered |
1.031 | 1.812 | 3.373 | 1.198 |
| F4 block |
1.028 | 2.215 | 2.864 | 1.321 |
| F5 |
1.032 | 1.048 | 1.226 | 1.017 |
| F5 |
1.092 | 1.036 | 1.253 | 1.163 |
| F5 |
1.182 | 1.070 | 1.357 | 1.529 |
| F5 |
1.401 | 1.220 | 1.638 | 2.297 |
Table 5: Effectivity indices of the two reconstructions of the guaranteed bound, test case (T1).
Three observations.
-
The degree
is not free. At the patchwise index is flat at over the whole structured family. At it is not merely larger to but non-monotone under refinement, so that the reconstruction no longer converges at the rate of the error. The bound of Theorem 7.9 holds for either — any admissible gives a valid certificate — but only delivers a sharp one. This is the numerical face of the robustness theory of [BPS09, EV20], and it is worth stating explicitly, since is the natural choice for a practitioner who reads only the reliability statement. -
Anisotropy costs the global reconstruction, not the patchwise one. Over the family (F5),
grows from to while stays between and at aspect ratio the patchwise index is actually smaller than on the isotropic mesh. The same holds on the under-resolved boundary layer, where against (Table 7). -
Accumulated damage costs the patchwise reconstruction, not the global one. The two indices exchange roles on family (F4): at
cap-damaged vertices in a contiguous block, while Notably, a needle leaves the patchwise index untouched while a cap of the same scaled Jacobian moves it to — the reverse of the Bank–Weiser behaviour of Section 10.10, which is blind to caps and sensitive to needles.
Panels (c) and (d) of Figure 2 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 and the sharpness a property of the reconstruction, 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
The damage-extent conjecture.
Section 10.6 could not discriminate the conjecture of Section 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
10.9 Does any quality measure predict the effectivity?
Section 6 introduced the quality vector
| mesh | ||||||
| F2 |
-0.03 | -0.04 | 0.08 | -0.04 | 0.08 | -0.01 |
| F2 |
-0.07 | -0.08 | 0.11 | -0.09 | 0.10 | -0.02 |
| F2 |
-0.11 | -0.13 | 0.14 | -0.14 | 0.12 | -0.03 |
| F3 needle |
-0.25 | -0.25 | 0.16 | -0.25 | 0.15 | -0.04 |
| F3 cap |
0.01 | 0.01 | -0.32 | 0.01 | -0.33 | 0.27 |
| F4 scattered |
0.12 | 0.12 | -0.36 | 0.12 | -0.36 | 0.30 |
| F4 block |
0.19 | 0.19 | -0.48 | 0.19 | -0.47 | 0.33 |
Table 6: Correlation between the local effectivity index (11) and each component of the quality vector (10), test case (T1),
The outcome is a negative result, and we regard it as the useful one.
-
No measure predicts the effectivity. The largest correlation over the whole table is
for 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. -
The sign is not even stable.
is on the needle family and 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 the cell degenerates. This is Babuška and Aziz [BA76] seen from the a posteriori side. -
Three of the six measures carry the same information. The columns
and agree to two decimals on the damaged families, and to within on the perturbed ones. Two reasons combine: for a triangle is an exact function of and on a mesh in which all cells but a few carry the same quality value, the correlation coefficient is determined by which cells are outliers and not by how large the outlying values are. The measures that do separate the families are and the extremal angles.
10.10 Bank–Weiser: sharper on good meshes, more fragile on bad ones
The
On good meshes it wins.
On the structured family,
A single needle cell costs it a factor of
The needle rows of Table 3 are the sharpest contrast of the whole campaign. As
The cap rows show nothing of the sort:
Anisotropy and accumulated damage cost it too.
Over the anisotropic family,
The diffusion contrast breaks the unweighted variant.
The largest entry of the campaign is the last row of Table 7: with
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
It does underestimate, and nothing signals it.
Across the
Cost.
On the finest structured mesh Python and spends
10.11 Boundary layers and heterogeneous coefficients
Table 7 collects the other two test cases on the structured
| case | |||||||
| (T1) | smooth, |
1.090e-01 | 1.032 | 1.048 | 1.017 | 1.017 | 0.993 |
| (T3) | layer, |
1.178e+00 | 2.402 | 1.583 | 1.743 | 1.743 | 0.414 |
| (T4) | 7.705e+00 | 1.032 | 1.048 | 12.514 | 1.014 | 0.993 |
Table 7: Test cases (T1), (T3), (T4) on the structured mesh (F1) with
Boundary layer.
With
Heterogeneous coefficient.
With a contrast of
Assumption (M3) is not decorative either, but its failure is not one that the certificate can see. Repeating the run with the damaged vertex placed on the interface, so that it is dragged across it and interface_check.py in the repository), the equilibration defect stays at
10.12 The L-shaped domain: dropping a hypothesis on purpose
Remark 7.11 identifies the one hypothesis of Theorem 7.9 that we cannot enforce in practice: that the discrete boundary values coincide with
| mesh | cells | rate | |||||
| F7 L-shape |
96 | 1.898e-01 | — | 1.110 | 1.187 | 0.9992 | 1.062 |
| F7 L-shape |
384 | 1.221e-01 | 0.64 | 1.105 | 1.177 | 0.9951 | 1.056 |
| F7 L-shape |
1536 | 7.799e-02 | 0.65 | 1.103 | 1.172 | 0.9939 | 1.053 |
| F7 L-shape |
6144 | 4.957e-02 | 0.65 | 1.101 | 1.169 | 0.9935 | 1.052 |
Table 8: Test case (T2) on the L-shaped meshes (F7),
Three observations, the first two of which qualify the guarantee rather than support it.
-
The bound survives, but we cannot claim it. Both
and 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 does not detect this failure — it tests (EF), which still holds exactly here (the defect is at and is silent about the boundary condition. This is the one gap in the guarantee that the computation cannot check. -
Bank–Weiser underestimates.
is 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 is a property of the problems tested and not of the estimator. -
Zienkiewicz–Zhu is above one here.
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.
10.13 A certified quantity of interest
Table 9 applies Proposition 9.1 to the mean of
| mesh | cells | bound | ||||
| F1 |
128 | 2.839e-02 | 4.878e-01 | 1.536e-01 | 7.493e-02 | 2.64 |
| F1 |
512 | 7.167e-03 | 2.316e-01 | 7.974e-02 | 1.847e-02 | 2.58 |
| F1 |
2048 | 1.796e-03 | 1.125e-01 | 4.036e-02 | 4.541e-03 | 2.53 |
| F1 |
8192 | 4.493e-04 | 5.540e-02 | 2.026e-02 | 1.122e-03 | 2.50 |
| F2 |
2048 | 2.083e-03 | 1.208e-01 | 4.951e-02 | 5.981e-03 | 2.87 |
| F3 needle |
2048 | 1.788e-03 | 1.128e-01 | 4.149e-02 | 4.680e-03 | 2.62 |
| F3 cap |
2048 | 1.808e-03 | 1.130e-01 | 4.109e-02 | 4.642e-03 | 2.57 |
| F5 |
128 | 2.037e-01 | 1.633e+00 | 5.842e-01 | 9.539e-01 | 4.68 |
Table 9: Guaranteed bound (38) on the quantity of interest
The bound held in all eight runs. The effectivity index sits at
10.14 Summary of the campaign
The campaign comprises
-
the guaranteed bound
held in every run where the error is computable, the assertion of Listing 1 never firing, for either reconstruction, and the goal-oriented bound (38) held in all of its runs; -
the upper end being reached only on the deliberately under-resolved boundary layer; on the smooth test case it never exceeded whatever the distortion; -
for the patchwise reconstruction at 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 families of meshes (Section 10.8); -
in all synthetic runs, with a worst case of -
the sharpest estimator on good meshes and the most fragile on bad ones. It stayed above one on the unit square, but fell to on the L-shaped domain; its coefficient-weighted variant removes the — it ranges over — but not the underestimation; -
ranged over a factor of almost two between the extreme meshes, so that no universal calibration of exists; -
the relative equilibration defect never exceeded
for the global reconstruction and for the patchwise one, boundary layer included.
Two hypotheses were violated on purpose, and the outcome sorts the hypotheses of Theorem 7.9 into three classes. Assumption (M3) — 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
10.15 Real geometries
We close with the meshes that reached us from the applications this work originates in, family (F6). They come as OFF files and illustrate the two situations of engineering practice.
A mesh that no solver will accept.
The file square_good.1.off triangulates offio.py) reports the defect, merges the coincident vertices and drops the degenerate cell, leaving
A mesh whose exact solution nobody knows.
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
| mesh | cells | defect | |||||||
| as6 | 1327 | 0.23 | 143.4 | 1.551e-03 | 28.1% | — | 1.103 | 1.065 | |
| as7 | 3262 | 0.26 | 145.3 | 1.166e-03 | 20.8% | — | 1.130 | 1.054 | |
| aa6 | 1983 | 0.25 | 143.4 | 1.111e-03 | 19.8% | — | 1.035 | 1.062 | |
| aa7 | 7924 | 0.26 | 145.3 | 5.979e-04 | 10.5% | — | 0.986 | 1.067 | |
| square_good | 800 | 0.71 | 90.0 | 1.797e-01 | 8.1% | 1.054 | 1.047 | 0.997 |
Table 10: Family (F6), the real meshes. The four glyph meshes solve 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
Three things come out of Table 10 and Figure 3.
-
The bound is informative, not vacuous. On
aa7the energy-norm error is certified to be at most of the energy of the computed solution; onas6at most These are numbers an engineer can act on, obtained without knowing -
It ranks the meshers. At
cells,aa6certifies whereasas7needs cells — more — to certify a slightly worse 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. -
It localises the error where one expects it. Figure 3(a,b) maps
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 — theaafamily is uniformly better in scaled Jacobian — but that both stay in the comfortable range these real meshes are far less distorted than the synthetic ones of Table 3, so that what they test is the geometry of the domain rather than the geometry of the cells.
Figure 3: The real meshes of family (F6). (a), (b) the local indicator
The patchwise reconstruction behaves on these meshes as it does on the synthetic ones, returning a bound within
11 Conclusion and perspectives
We have argued, and demonstrated on
The campaign of Section 10 supports this rather sharply. An isolated degenerate cell, needle or cap, with a scaled Jacobian of
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
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) predicts the local effectivity index: the largest correlation over the campaign is
Open directions:
-
Sharp characterisation of admissible distortion. Following [DLL19], find a necessary and sufficient condition on the damaged region for the effectivity index to stay bounded. Section 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
is open. -
Three dimensions. Theorem 7.9 is written for
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 leaves the effectivity index well above one, and the 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] suggests it is not hopeless. -
Adaptivity on bad meshes. The convergence and optimality theory of AFEM [Dör96, CKNS08, NSV09] requires shape regularity; does Dörfler marking still behave well in practice when the initial mesh is distorted and cannot be improved?
-
Beyond Poisson. Elasticity (with the locking issue), Helmholtz [CFEV21], eddy currents and magnetodynamics [TLMC+13, CNT17]; also the linearisation and algebraic error components in the spirit of [EV13].
-
Extreme deformations. Estimators in the X-MESH setting [MRL+23], where elements are deliberately degenerated.
-
Meshless and immersed methods. Since no mesh enters the proof of Theorem 7.9, the framework should transfer.
-
Superconvergent postprocessing [MRV23] as a cheaper route to an equilibrated flux.
-
Non-homogeneous Dirichlet data. The one hypothesis of Theorem 7.9 that neither the data nor the certificate can vouch for (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.
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
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.
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
[AADL11] 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., 80(273):141–163, 2011.
[AO00] Mark Ainsworth and J. Tinsley Oden. A Posteriori Error Estimation in Finite Element Analysis. Wiley, 2000.
[Ape99] Thomas Apel. Anisotropic finite elements: Local estimates and applications. Advances in Numerical Mathematics, 1999.
[BA76] Ivo Babuška and A. K. Aziz. On the angle condition in the finite element method. SIAM J. Numer. Anal., 13(2):214–226, 1976.
[BBF13] Daniele Boffi, Franco Brezzi, and Michel Fortin. Mixed Finite Element Methods and Applications, volume 44 of Springer Series in Computational Mathematics. Springer, 2013.
[BCL16] Roland Becker, Daniela Capatina, and Robert Luce. Local flux reconstructions for standard finite element methods on triangular meshes. SIAM J. Numer. Anal., 54(4):2684–2706, 2016.
[BDM85] Franco Brezzi, Jim Douglas, and L. Donatella Marini. Two families of mixed finite elements for second order elliptic problems. Numer. Math., 47(2):217–235, 1985.
[BK23] Sören Bartels and Alex Kaltenbach. Explicit and efficient error estimation for convex minimization problems. Math. Comp., 92(343):2247–2279, 2023.
[Ble16] Jan Blechta. dolfin-tape: DOLFIN tools for a posteriori error estimation. Software repository, 2016.
[BLP10] 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., 14(3):303–317, 2010.
[BMV01] 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. Hermès, Paris, 2001. TO BE CHECKED.
[BPS09] Dietrich Braess, Veronika Pillwein, and Joachim Schöberl. Equilibrated residual error estimates are p-robust. Comput. Methods Appl. Mech. Engrg., 198(13–14):1189–1197, 2009.
[BR78] Ivo Babuška and Werner C. Rheinboldt. Error estimates for adaptive finite element computations. SIAM J. Numer. Anal., 15(4):736–754, 1978.
[Bra07] Dietrich Braess. Finite Elements: Theory, Fast Solvers and Applications in Solid Mechanics. Cambridge University Press, 3 edition, 2007.
[BS08] Dietrich Braess and Joachim Schöberl. Equilibrated residual error estimator for edge elements. Math. Comp., 77(262):651–672, 2008.
[BW85] Randolph E. Bank and Alan Weiser. Some a posteriori error estimators for elliptic partial differential equations. Math. Comp., 44(170):283–301, 1985.
[CFEV21] Théophile Chaumont-Frelet, Alexandre Ern, and Martin Vohralík. On the derivation of guaranteed and
[CKNS08] 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., 46(5):2524–2550, 2008.
[Clé75] 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., 9(R-2):77–84, 1975.
[CM13] C. Carstensen and C. Merdon. Effective postprocessing for equilibration a posteriori error estimators. Numer. Math., 123(3):425–459, 2013.
[CM14] C. Carstensen and C. Merdon. Refined fully explicit a posteriori residual-based error control. SIAM J. Numer. Anal., 52(4):1709–1728, 2014.
[CMN13] 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, pages 103–119. New York, NY: Springer, 2013.
[CNT17] Emmanuel Creusé, Serge Nicaise, and Roberta Tittarelli. A guaranteed equilibrated error estimator for the
[CNT23] 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., 146:323–338, 2023.
[CZ12] Zhiqiang Cai and Shun Zhang. Robust equilibrated residual error estimator for diffusion problems: conforming elements. SIAM J. Numer. Anal., 50(1):151–170, 2012.
[DLL19] Michel Duprez, Vanessa Lleras, and Alexei Lozinski. Finite element method with local damage of the mesh. ESAIM Math. Model. Numer. Anal., 53(6):1871–1891, 2019.
[DM99] Philippe Destuynder and Brigitte Métivet. Explicit error bounds in a conforming finite element method. Math. Comp., 68(228):1379–1396, 1999.
[Dör96] Willy Dörfler. A convergent adaptive algorithm for Poisson’s equation. SIAM J. Numer. Anal., 33(3):1106–1124, 1996.
[EG21] Alexandre Ern and Jean-Luc Guermond. Finite Elements I: Approximation and Interpolation. Springer, 2021.
[EV13] Alexandre Ern and Martin Vohralík. Adaptive inexact Newton methods with a posteriori stopping criteria for nonlinear diffusion PDEs. SIAM J. Sci. Comput., 35(4):A1761–A1791, 2013.
[EV15] 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., 53(2):1058–1081, 2015.
[EV20] Alexandre Ern and Martin Vohralík. Stable broken
[FG08] Pascal J. Frey and Paul-Louis George. Mesh Generation: Application to Finite Elements. ISTE/Wiley, 2 edition, 2008.
[FP01] Luca Formaggia and Simona Perotto. New anisotropic a priori error estimates. Numer. Math., 89(4):641–667, 2001.
[Han05] Weimin Han. A Posteriori Error Analysis via Duality Theory. With Applications in Modeling and Numerical Approximations, volume 8 of Advances in Mechanics and Mathematics. Springer, New York, 2005.
[Knu01] Patrick M. Knupp. Algebraic mesh quality metrics. SIAM J. Sci. Comput., 23(1):193–218, 2001.
[Kří92] Michal Křížek. On the maximum angle condition for linear tetrahedral elements. SIAM J. Numer. Anal., 29(2):513–520, 1992.
[LL83] Pierre Ladèvèze and Dominique Leguillon. Error estimate procedure in the finite element method and applications. SIAM J. Numer. Anal., 20(3):485–509, 1983.
[Lob13] Claudio Lobos. A set of mixed-elements patterns for domain boundary approximation in hexahedral meshes. Stud. Health Technol. Inform., 184:268–274, 2013.
[LP04] Pierre Ladèvèze and Jean-Pierre Pelle. Mastering Calculations in Linear and Nonlinear Mechanics. Springer, 2004.
[LW04] Robert Luce and Barbara I. Wohlmuth. A local a posteriori error estimator based on equilibrated fluxes. SIAM J. Numer. Anal., 42(4):1394–1414, 2004.
[MRV23] Ignacio Muga, Sergio Rojas, and Patrick Vega. An adaptive superconvergent mixed finite element method based on local residual minimization. SIAM J. Numer. Anal., 61(5):2084–2105, 2023.
[NSV09] Ricardo H. Nochetto, Kunibert G. Siebert, and Andreas Veeser. Theory of adaptive finite element methods: an introduction. In Multiscale, Nonlinear and Adaptive Approximation, pages 409–542. Springer, 2009.
[Pic03] Marco Picasso. An anisotropic error indicator based on Zienkiewicz–Zhu error estimator: application to elliptic and parabolic problems. SIAM J. Sci. Comput., 24(4):1328–1355, 2003.
[PS47] W. Prager and J. L. Synge. Approximations in elasticity based on the concept of function space. Quart. Appl. Math., 5:241–269, 1947.
[PW60] L. E. Payne and H. F. Weinberger. An optimal Poincaré inequality for convex domains. Arch. Rational Mech. Anal., 5:286–292, 1960.
[Rep00] Sergey I. Repin. A posteriori error estimation for variational problems with uniformly convex functionals. Math. Comp., 69(230):481–500, 2000.
[Rep08] Sergey I. Repin. A Posteriori Estimates for Partial Differential Equations. Walter de Gruyter, Berlin, 2008.
[RT77] P.-A. Raviart and J. M. Thomas. A mixed finite element method for 2nd order elliptic problems. In Mathematical Aspects of Finite Element Methods, volume 606 of Lecture Notes in Math., pages 292–315. Springer, 1977.
[She02] Jonathan Richard Shewchuk. What is a good linear finite element? Interpolation, conditioning, anisotropy, and quality measures. Preprint, University of California at Berkeley, 2002.
[SZ90] L. Ridgway Scott and Shangyou Zhang. Finite element interpolation of nonsmooth functions satisfying boundary conditions. Math. Comp., 54(190):483–493, 1990.
[Ver13] Rüdiger Verfürth. A Posteriori Error Estimation Techniques for Finite Element Methods. Oxford University Press, 2013.
[Voh20] 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] Andreas Veeser and Rüdiger Verfürth. Explicit upper bounds for dual norms of residuals. SIAM J. Numer. Anal., 47(3):2387–2405, 2009.
[ZZ87] O. C. Zienkiewicz and J. Z. Zhu. A simple error estimator and adaptive procedure for practical engineering analysis. Internat. J. Numer. Methods Engrg., 24(2):337–357, 1987.
[ZZ92a] 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., 33(7):1331–1364, 1992.
[ZZ92b] 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., 33(7):1365–1382, 1992.
∗Centro de Matemática (CMAT), Universidad de la República, IRL CNRS 2030 IFUMI, 11400 Montevideo, Uruguay, fchouly@cmat.edu.uy
†Université de Strasbourg, CNRS, Inria, ICube, UMR 7357, équipe MIMESIS, F-67000 Strasbourg, France, michel.duprez@inria.fr
‡Departamento de Informática, Universidad Técnica Federico Santa María, Avenida Vicuña Mackenna 3939, Santiago, Chile, claudio.lobos@usm.cl
§Univ. Lille, Arts et Métiers Institute of Technology, Centrale Lille, Junia, ULR 2697 – L2EP, F-59000 Lille, France, zuqi.tang@univ-lille.fr
1In 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. Shared under Creative Commons Attribution 4.0 International, 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.


