# A simple equilibration procedure leading to polynomial-degree-robust error estimators for the curl-curl problem

Théophile Chaumont-Frelet

► To cite this version:

Théophile Chaumont-Frelet. A simple equilibration procedure leading to polynomial-degree-robust error estimators for the curl-curl problem. Mathematics of Computation, 2023, 92 (344), pp.2413-2437. 10.1090/mcom/3817. hal-03323859

HAL Id: hal-03323859

https://inria.hal.science/hal-03323859

Submitted on 23 Aug 2021

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# A SIMPLE EQUILIBRATION PROCEDURE LEADING TO POLYNOMIAL-DEGREE-ROBUST A POSTERIORI ERROR ESTIMATORS FOR THE CURL-CURL PROBLEM

T. CHAUMONT-FRELET*,†

**ABSTRACT.** We introduce two a posteriori error estimators for Nédélec finite element discretizations of the curl-curl problem. These estimators pertain to a new Prager-Synge identity and an associated equilibration procedure. They are reliable and efficient, and the error estimates are polynomial-degree-robust. In addition, when the domain is convex, the reliability constants are fully com- putable. The proposed error estimators are also cheap and easy to implement, as they are computed by solving divergence-constrained minimization prob- lems over edge patches. Numerical examples highlight our key findings, and show that both estimators are suited to drive adaptive refinement algorithms. Besides, these examples seem to indicate that guaranteed upper bounds can be achieved even in non-convex domains.

**KEY WORDS.** A posteriori error estimates, Electromagnetics, Finite element methods, High order methods.

## 1. INTRODUCTION

Given a domain $\Omega$, a partition $\{\Gamma_D, \Gamma_N\}$ of its boundary, and a divergence free field $J: \Omega \to \mathbb{R}^3$, the curl-curl problem consists in finding $A: \Omega \to \mathbb{R}^3$ such that

$$ (1.1a) \qquad \nabla \times \nabla \times A = J, \quad \nabla \cdot A = 0, \qquad \text{in } \Omega, $$

$$ (1.1b) \qquad A \times n = o, \qquad \text{on } \Gamma_D, $$

$$ (1.1c) \qquad (\nabla \times A) \times n = o, \quad A \cdot n = 0 \qquad \text{on } \Gamma_N, $$

together with a finite set of suitable orthogonality conditions to filter out harmonic forms when the topology is non-trivial [18]. This problem is the central model for magnetostatic applications and is the basis of Maxwell's equations, which are instrumental in the modeling of electromagnetic phenomena [23].

In general geometries, numerical schemes are required to approximate the solution to (1.1). Here, we consider finite element methods [12, 28, 29], and focus on a posteriori error estimation for Nédélec elements. This topic is already largely covered in the literature [5, 7, 10, 11, 19, 30, 34], motivated by the variety of important applications as well as the mathematical challenges involved.

A posteriori error estimators for the curl-curl problem where first proposed in [5] for convex domains (see [5, Assumption 2] for details). The estimator in [5] is of residual type, and has been generalized to arbitrary polyhedral Lipschitz domains in [30, 34]. While this approach provides reliable and efficient estimators, it still suffers from two drawbacks, namely: (i) the constants appearing in the reliability

<footnote>*Inria, 2004 Route des Lucioles, 06902 Valbonne, France</footnote>

<footnote>†Laboratoire J.A. Dieudonné, Parc Valrose, 28 Avenue Valrose, 06108 Nice, France</footnote>
estimates are not computable in practice, and (ii) the constants in the efficiency estimates deteriorate as the polynomial degree $p$ is increased. Notice that this is not specific to the curl-curl problem, and residual-based estimators exhibit the same downsides even in the simpler context of scalar elliptic problems [2, 27].

In this work, we focus on so-called “equilibrated” error estimators, that have the ability to provide (i) guaranteed upper bounds free of unknown constants and (ii) polynomial-degree-robust (or simply, $p$-robust) efficiency constants. The concept of equilibrated flux can be traced back to the seminal work of Prager and Synge [32], where the authors establish that equilibrated fluxes can be employed to provide guaranteed error upper bounds. For scalar elliptic problems, several constructions of equilibrated fluxes have then been proposed, leading to practically usable error estimators, see e.g. [2, 25, 26]. Here, we focus on the approach initially proposed in [14] and later extended in [16]. It relies on a partition of unity via finite element shape functions and local mixed finite element problems, and lead to $p$-robust estimates [6, 17].

For the curl-curl problem, the construction of equilibrated fluxes turns out to be a much more arduous task than for scalar elliptic equations. A procedure for the lowest-order Nédélec elements have been introduced early [7], but its generalization to arbitrary orders has only been proposed recently [19]. Actually, to the best of the author's knowledge, they are currently only two constructions of equilibrated estimator that lead to $p$-robust estimates for the curl-curl problem, namely (i) the construction in [20] which is based on [19], and (ii) the approach in [11] which employs a partition of unity in the spirit of [14, 16]. While the estimators in [11] and [20] provide constant-free reliability estimates and $p$-robust efficiency constants, there are not fully satisfactory as there construction is complicated. Indeed, they hinge on over-constrained minimization problems, and require several passes through the mesh. In addition, the patches involved in the efficiency estimates are rather large.

Another approach called “broken patchwise equilibration” has been proposed in [10], where the authors introduce a $p$-robust a posteriori error estimator for the curl-curl problem that do not rely on equilibration. The key assets of this estimator is that it is cheap and straightforward to compute (especially as compared to [11, 20]), and that the efficiency estimates are established on tight edge patches. On the other hand, because the reliability estimate does not pertain to a Prager-Synge identity, the reliability bound contains constants that are either unavailable, or cumbersome to compute in practice.

The equilibrated estimators of [7, 11, 19, 20] are based on the following Prager-Synge identity: if $H \in H_{\Gamma_N}(\text{curl}, \Omega)$ is any “equilibrated field” satisfying $\nabla \times H = J$, then

$$ (1.2) \qquad (\nabla \times (A - A_h), \nabla \times v)_\Omega = (H - \nabla \times A_h, \nabla \times v)_\Omega, $$

for any field $A_h, v \in H_{\Gamma_D}(\text{curl}, \Omega)$ (the notations are rigorously introduced in Section 2 below), leading to the estimate

$$ (1.3) \qquad \| \nabla \times (A - A_h) \|_{\Omega} \le \| H - \nabla \times A_h \|_{\Omega}. $$

This motivates the construction of equilibrated fields $H$ with prescribed curl. Unfortunately, as previously mentioned, the construction of such fields is rather involved [11, 19, 20].
Here, we introduce an alternative Prager-Synge identity that leads to a much simpler equilibration procedure. It relies on the observation that whenever $v \in H^1(\Omega)$, we have $\nabla \times (vu^k) = \nabla v \times u^k$, where $\{u^k\}_{k=1}^3$ is the canonical basis of $\mathbb{R}^3$. Simple manipulations then show the following identity: if, for each $k \in \{1, 2, 3\}$, $S^k \in H_{\Gamma_N}(\text{div}, \Omega)$ satisfies $\nabla \cdot S^k = J_k$, we have

$$ (1.4) \quad (\nabla \times (A - A_h), \nabla \times v)_\Omega = - \sum_{k=1}^{3} (S^k + u^k \times \nabla \times A_h, \nabla v)_\Omega $$

for all $A_h \in H_{\Gamma_D}(\text{curl}, \Omega)$ and $v \in H_{\Gamma_D}^1(\Omega)$. Interestingly, as opposed to (1.2), identity (1.4) only constrains the divergence of the equilibrated fields, simplifying the equilibration process. On the other hand, the downside of (1.4) is that it requires the gradient of the test function $v \in H_{\Gamma_D}^1(\Omega)$ instead of its curl in (1.2). As usual [30, 34], this is remedied by employing “regular decompositions”, leading to the estimate

$$ (1.5) \quad \| \nabla \times (A - A_h) \|_{\Omega} \le C_{L,\Omega} \left( \sum_{k=1}^{3} \| S^k + u^k \times \nabla \times A_h \|_{\Omega} \right)^{1/2}, $$

where the constant $C_{L,\Omega}$ is one in convex domains (with $\Gamma_D = \partial\Omega$ or $\Gamma_N = \partial\Omega$), but is not practically computable in general (see Section 2.7).

In this work, we carefully establish the new Prager-Synge identity introduced in (1.4), and we use it to design and analyze two novel a posteriori error estimators for curl-curl problem (1.1). We show that they are reliable and efficient with p-robust constants. We also provide a set of numerical experiments showing that both estimators are suitable to drive adative mesh refinements processes. Our estimators share some similarities with the broken patchwise estimator introduced in [10] and the equilibrated estimators based on (1.2) provided in [11, 20], which we now describe.

As in [10], our construction relies on a vectorial partition of unity via edge functions (see Section 2.8), which leads to a localization on tight edge patches. In contrast to [10] however, the proposed approach has two main assets. Indeed, (i) it uses divergence-constrained minimization problems which are easier to implement and cheaper to solve than the curl-constrained problems employed in [10]. Besides, (ii) the present approach hinges on an equilibration principle, which leads to nicer upper bounds than in [10]. The two approaches can be seen as dual to one another in some sense, as we elaborate in Remark 3.4.

As compared to the usual equilibration procedures of [7, 11, 19, 20] based on (1.2), the main drawback of the present approach is that apart from convex domains, the upper bound contains the unknown constant $C_{L,\Omega}$. While this appears as a major downside, numerical experiments suggest that the constant $C_{L,\Omega}$ might be spurious, and that taking $C_{L,\Omega} = 1$ provides guaranteed upper bounds, even in non-convex domains. We also elaborate on why the constant $C_{L,\Omega}$ may not be necessary in Remark 5.2.

The remaining of this work is organized as follows. In Section 2, we describe the setting, and recall preliminary results. Section 3 presents the key abstract arguments to localize the construction of the estimators. We introduce our two estimators in Sections 4 and 5 where we establish that they are reliable and efficient with p-robust constants. Section 6 illustrates the key theoretical findings with a set of numerical examples, and we present concluding remarks in Section 7.
## 2. SETTING

2.1. **Domain.** We consider a Lipschitz polyhedral domain $\Omega \subset \mathbb{R}^3$. The boundary of $\Omega$ is split into two disjoint (relatively open) parts $\Gamma_D$ and $\Gamma_N$ in such a way that $\partial\Omega = \bar{\Gamma}_D \cup \bar{\Gamma}_N$. We assume that both $\Gamma_D$ and $\Gamma_N$ are polygonal. Notice that we do not assume that $\Omega$ is simply connected, nor that $\Gamma_D$ or $\Gamma_N$ are connected.

2.2. **Functional spaces.** If $\omega \subset \Omega$ is an open set, $L^2(\omega)$ and $L^2(\omega)$ are the spaces of scalar and vector-valued square integrable functions defined on $\omega$. The usual inner products and norms of these spaces are denoted by $(\cdot, \cdot)_\omega$ and $\|\cdot\|_\omega$. $H^1(\omega)$, $H(\text{div}, \omega)$ and $H(\text{curl}, \omega)$ are the usual Sobolev spaces respectively containing square-integrable functions with square-integrable gradient, divergence, and curl. We also employ the notation $H^1(\omega) := (H^1(\omega))^3$. If $\Gamma \subset \partial\omega$ is a relatively open subset, $H_\Gamma^1(\omega)$ is the set of functions of $H^1(\omega)$ with vanishing trace on $\Gamma$, and we also note $H_\Gamma^1(\omega) := (H_\Gamma^1(\omega))^3$. Similarly, we set

$$ H_{\Gamma}(\text{div}, \omega) := \{ \mathbf{v} \in H(\text{div}, \omega); (\mathbf{v}, \nabla q) + (\nabla \cdot \mathbf{v}, q) = 0 \quad \forall q \in H_{\Gamma_c}^1(\omega) \} $$

and

$$ H_{\Gamma}(\text{curl}, \omega) := \{ \mathbf{w} \in H(\text{div}, \omega); (\mathbf{w}, \nabla \times \mathbf{p}) - (\nabla \times \mathbf{v}, \mathbf{p}) = 0 \quad \forall \mathbf{p} \in H_{\Gamma_c}^1(\omega) \} $$

with $\Gamma^c := \partial\omega \setminus \bar{\Gamma}$. We refer the reader to [1, 18, 22] for an in-depth presentation of the above spaces.

For $m \ge 2$, $H^m(\omega)$ is the space of functions $v \in L^2(\omega)$ such that $\partial^\alpha v \in L^2(\omega)$ for all $|\alpha| \le m$. If $\mathcal{W}$ is a collection of open sets $\omega$, then $H^m(\mathcal{W})$ contains those functions $v \in L^2(\bigcup \mathcal{W})$ such that $v|_\omega \in H^m(\omega)$ for all $\omega \in \mathcal{W}$. We also employ the notations $H^m(\omega) := (H^m(\omega))^3$ and $H^m(\mathcal{W}) := (H^m(\mathcal{W}))^3$. The usual seminorm of $H^m(\mathcal{W})$ is denoted by

$$ |v|_{H^m(\mathcal{W})}^2 := \sum_{\omega \in \mathcal{W}} \sum_{|\alpha|=m} \|\partial^\alpha v\|_\omega^2 \quad \forall v \in H^m(\omega), $$

and we set

$$ |v|_{H^m(\mathcal{W})}^2 := \sum_{k=1}^3 |v_k|_{H^m(\mathcal{W})}^2 $$

when $v \in H^m(\mathcal{W})$.

We also employ the notation

$$ \Lambda_{\Gamma_D}(\Omega) := \{ \mathbf{v} \in H_{\Gamma_D}(\Omega); \nabla \times \mathbf{v} = \mathbf{o} \}, $$

for functions with vanishing curl. When $\Omega$ is simply connected and $\Gamma_D$ is connected, we simply have $\Lambda_{\Gamma_D}(\Omega) = \nabla(H_{\Gamma_D}^1(\Omega))$. In the general case however, $\Lambda_{\Gamma_D}(\Omega) = \nabla(H_{\Gamma_D}^1(\Omega)) + H_{\Gamma_D}(\Omega)$ where $H_{\Gamma_D}(\Omega)$ is a finite dimensional “cohomology” space. The dimension of $H_{\Gamma_D}(\Omega)$ depends on the topology of $\Omega$ and $\Gamma_D$, and its structure is explicitly known [18]. We write $\Lambda_{\Gamma_D}^{\perp}(\Omega)$ for the orthogonal complement of $\Lambda_{\Gamma_D}(\Omega)$ in $L^2(\Omega)$.

2.3. **Model problem.** Assuming that $J \in L^2(\Omega)$, the weak form of (1.1) consists in finding $(A, l) \in H_{\Gamma_D}(\text{curl}, \Omega) \times \Lambda_{\Gamma_D}(\Omega)$ such that

$$ (2.1) \qquad \left\{ \begin{array}{ll} (\nabla \times A, \nabla \times v)_\Omega + (l, v)_\Omega & = (J, v)_\Omega \\ (A, w)_\Omega & = 0 \end{array} \right. $$
for all $(v, w) \in H_{\Gamma_D}(\text{curl}, \Omega) \times \Lambda_{\Gamma_D}(\Omega)$. Problem (2.1) is a standard saddle-point problem, and admits a unique solution [8]. We will assume throughout this work that $J \in \Lambda_{\Gamma_D}^{\perp}(\Omega)$, so that actually, $l = o$, and

$$ (2.2) \qquad (\nabla \times A, \nabla \times v)_{\Omega} = (J, v)_{\Omega} \quad \forall v \in H_{\Gamma_D}(\text{curl}, \Omega). $$

## 2.4. Computational mesh and edge patches.
The domain $\Omega$ is partitioned into a mesh $\mathcal{T}_h$ of (open) tetrahedral elements $K$. We assume that the mesh is conforming in the sense of [12], meaning that the intersection $\bar{K}_- \cap \bar{K}_+$ of two distinct elements $K_\pm \in \mathcal{T}_h$ is either empty, or it is a full face, edge or vertex of both $K_-$ and $K_+$. The set vertices, edges and faces of the mesh are respectively denoted by $V_h$, $E_h$ and $F_h$. Classically, we assume that the mesh is conforming with the partition of the boundary, i.e., that for all faces $F \in \mathcal{F}_h$ such that $F \subset \partial\Omega$, either $F \subset \Gamma_D$ or $F \subset \Gamma_N$. For each $K \in \mathcal{T}_h$, the quantity $\kappa_K := h_K/\rho_K$ (where, as usual, $h_K$ is the diameter of $K$ and $\rho_K$ is the diameter of the largest ball contained in $\bar{K}$) is the shape-regularity parameter of the element $K$.

Consider an edge $\ell \in \mathcal{E}_h$. The mesh patch $\mathcal{T}_h^\ell$ gathers those elements $K \in \mathcal{T}_h$ having $\ell$ as an edge. Besides, we denote by $\omega_\ell$ the open domain covering the elements $K \in \mathcal{T}_h^\ell$, and $h_\ell$ is the diameter of $\omega_\ell$. We also associate with $\ell$ an arbitrary, but fixed, unit tangent vector $\tau_\ell := (b-a)/|b-a|$, where $a, b \in V_h$ are the two vertices of $\ell$. We then introduce the edge function

$$ (2.3) \qquad \psi_\ell := |b-a|(\psi_a \nabla \psi_b - \psi_b \nabla \psi_a) $$

where $\psi_a, \psi_b \in P_1(\mathcal{T}_h) \cap H^1(\Omega)$ are the usual hat functions satisfying $\psi_a(c) = \delta_{a,c}$ and $\psi_b(c) = \delta_{b,c}$ for all $c \in V_h$. Notice that $\psi_\ell|_{\ell'} \cdot \tau_{\ell'} = \delta_{\ell,\ell'}$ for all $\ell' \in \mathcal{E}_h$. We also denote by $\kappa_\ell := \min_{K \in \mathcal{T}_h^\ell} \kappa_K$ the shape-regularity parameter of the edge patch.

## 2.5. Finite element spaces.
For all integer $q \ge 0$ and elements $K \in \mathcal{T}_h$, $P_q(K)$ stands for the space of polynomials from $K$ to $\mathbb{R}$ of degree less than or equal to $q$, and $\mathcal{P}_q(K) := (\mathcal{P}_q(K))^3$. As usual [29, 33], the Raviart-Thomas and Nédélec polynomial spaces are respectively defined by

$$ \mathbf{R}T_q(K) := x\mathcal{P}_q(K) + \mathcal{P}_q(K), \quad \mathbf{N}_q(K) := x \times \mathcal{P}_q(K) + \mathcal{P}_q(K). $$

If $\mathcal{T} \subset \mathcal{T}_h$ and $\omega$ is the domain covering the elements of $\mathcal{T}$, then $\mathcal{P}_q(\mathcal{T})$ gathers the functions $u: L^2(\omega) \to \mathbb{R}$ such that $u|_K \in \mathcal{P}_q(K)$ for all $K \in \mathcal{T}_h$. Notice that there are no “build in” compatibility conditions in this space. We also define $\mathcal{P}_q(\mathcal{T})$, $\mathbf{R}T_q(\mathcal{T})$ and $\mathbf{N}_q(\mathcal{T})$ in a similar fashion.

If $v \in L^2(\omega)$, we denote by $\pi_{\mathcal{T},q}(v) \in \mathcal{P}_q(\mathcal{T})$ its $L^2(\omega)$-projection over $\mathcal{P}_q(\mathcal{T})$, which is uniquely defined by

$$ (v - \pi_{\mathcal{T},q}(v), w_h)_\omega = 0 \quad \forall w_h \in \mathcal{P}_q(\mathcal{T}), $$

and we have the estimate

$$ (2.4) \qquad \|v - \pi_{\mathcal{T},q}(v)\|_{\omega} \le \left(\frac{h_{\mathcal{T}}}{\pi}\right)^{q+1} |v|_{H^{q+1}(\mathcal{T})} $$

with $h_{\mathcal{T}} := \max_{K \in \mathcal{T}} h_K$, whenever $v \in H^{q+1}(\mathcal{T})$. We also employ the symbol $\pi_{\mathcal{T},q}$ for the $L^2(\omega)$-projection over $\mathcal{P}_q(\mathcal{T})$. Notice that since $K \in \mathcal{T}_h$ is convex, (2.4) can be obtained by repeated applications of the Poincaré inequality established in [31] to $v_k$, $1 \le k \le 3$, and its derivatives $\partial^\alpha v_k$ for $|\alpha| \le q$.
2.6. **Discrete solution.** Throughout this work, we consider a discrete function $A_h \in H_{\Gamma_D}(\text{curl}, \Omega)$ such that

$$ (2.5) \qquad A_h|_{\omega_\ell} \in N_{p_\ell}(\mathcal{T}_h^\ell) $$

for some $p_\ell \ge 0$ for $\ell \in \mathcal{E}_h$ and

$$ (2.6) \qquad (\nabla \times A_h, \nabla \times \psi_\ell)_\Omega = (J, \psi_\ell)_\Omega $$

for all edge $\ell \in \mathcal{E}_h$ such that $\ell \not\subset \bar{\Gamma}_D$. Observe that in particular, (2.6) typically holds true if $A_h$ is obtained from a Galerkin approximation to (2.1), since the edge functions involved in (2.6) belong to the lowest-order Nédélec space. On the other hand, (2.5) is satisfied if $A_h$ belongs to a hp-adaptive Nédélec finite element space, and we can simply take $p_\ell = p$ for all $\ell \in \mathcal{E}_h$ in the particular case of a uniform polynomial degree $p \ge 0$.

2.7. **Regular decomposition.** For all $v \in H_{\Gamma_D}(\text{curl}, \Omega)$, there exists a function $w \in H_{\Gamma_D}^1(\Omega)$ such that $\nabla \times w = \nabla \times v$ and

$$ (2.7) \qquad \|\nabla w\|_{\Omega} \le C_{L,\Omega} \|\nabla \times v\|_{\Omega}. $$

In addition, if $\Omega$ is convex and either $\Gamma_D$ or $\Gamma_N$ is empty, we can take $C_{L,\Omega} = 1$. We refer the reader to [13, 22, 24] for a proof of these results.

2.8. **Partition of unity via edge functions.** For all $\ell \in \mathcal{E}_h$, $\text{supp } \psi_\ell = \overline{\omega_\ell}$, and we have

$$ (2.8) \qquad \|\psi_\ell\|_{L^\infty(\omega_\ell)} + h_\ell \|\nabla \times \psi_\ell\|_{L^\infty(\omega_\ell)} \le C(\kappa_\ell) \quad \forall \ell \in \mathcal{E}_h, $$

where $C(\kappa_\ell)$ is a constant that only depends on the shape regularity parameter $\kappa_\ell$ of the edge patch. In addition, the identity

$$ (2.9) \qquad w = \sum_{\ell \in \mathcal{E}_h} (w \cdot \tau_\ell) \psi_\ell $$

holds true for all $w \in L^2(\Omega)$. We refer the reader to [10, Section 5.3] for a proof of these facts.

2.9. **Local functional spaces and Poincaré inequalities.** Consider an edge $\ell \in \mathcal{E}_h$. If $\ell \not\subset \bar{\Gamma}_D$, $H_\star^1(\omega_\ell)$ is the subset of $H^1(\omega_\ell)$ of functions with vanishing mean value and $H_0(\text{div}, \omega_\ell) := H_{\partial\omega_\ell}(\text{div}, \omega_\ell)$. If on the other hand, $\ell \subset \bar{\Gamma}_D$, $H_\star^1(\omega_\ell) := H_\Gamma^1(\omega_\ell)$ and $H_0(\text{div}, \omega_\ell) := H_{\Gamma^c}(\text{div}, \omega_\ell)$ where $\bar{\Gamma} := \partial\omega_\ell \cap \Gamma_D$ and $\Gamma^c := \partial\omega \setminus \Gamma_D$.

For all edges $\ell \in \mathcal{E}_h$, the constant

$$ (2.10) \qquad C_{P,\ell} := h_\ell^{-1} \sup_{\substack{w \in H_\star^1(\omega_\ell) \\ \|\nabla w\|_{\omega_\ell} = 1}} \|w\|_{\omega_\ell} $$

is finite and only depends on $\kappa_\ell$.

Since every cell $K \in \mathcal{T}_h$ is convex [31], the following elementwise Poincaré inequality holds true:

$$ (2.11) \qquad \|v - \pi_{K,0}v\|_K \le \frac{h_K}{\pi} \|\nabla v\|_K \quad \forall v \in H^1(K), $$

where $\pi_{K,0}$ denotes the $L^2(K)$-projection of $v$ over $P_0(K)$.
### 3. LOCALIZATION OF THE RESIDUAL FUNCTIONAL

In this section, we start by presenting abstract arguments later used to localize the computation of the estimator. Specifically, we introduce a residual functional $\mathcal{R} \in (H_{\Gamma_D}(\text{curl}, \Omega))'$ by setting

$$ (3.1) \qquad \langle \mathcal{R}, v \rangle := (J, v)_\Omega - (\nabla \times A_h, \nabla \times v)_\Omega $$

for all $v \in H_{\Gamma_D}(\text{curl}, \Omega)$. Observe that because of (2.6), we have

$$ (3.2) \qquad \langle \mathcal{R}, \psi_\ell \rangle = 0 \quad \forall \ell \in \mathcal{E}_h; \ell \not\subset \bar{\Gamma}_D. $$

We will employ two key norms for the residual functional. On the one hand the usual dual norm reads

$$ (3.3) \qquad \| \mathcal{R} \|_{\star, \Omega} := \sup_{\substack{v \in H_{\Gamma_D}(\text{curl}, \Omega) \\ \| \nabla \times v \| = 1}} \langle \mathcal{R}, v \rangle. $$

On the other hand, we also introduce a localized norm

$$ (3.4) \qquad \| \mathcal{R} \|_{\star, \ell} := \sup_{\substack{w \in H_1^1(\omega_\ell) \\ \| \nabla w \|_{\omega_\ell} = 1}} \langle \mathcal{R}, w \psi_\ell \rangle. $$

for each $\ell \in \mathcal{E}_h$.

Notice that as $\langle \mathcal{R}, v \rangle = (\nabla \times (A - A_h), \nabla \times v)_\Omega$ for all $v \in H_{\Gamma_D}(\Omega)$, we have

$$ (3.5) \qquad \| \mathcal{R} \|_{\star, \Omega} = \| \nabla \times (A - A_h) \|_{\Omega}, $$

so that the dual norm of $\mathcal{R}$ is the quantity we actually want to estimate. Directly estimating $\| \mathcal{R} \|_{\star, \Omega}$, however, would lead to global (and expensive) computations. Henceforth, the goal of this section is to establish equivalence results between the dual norm $\| \mathcal{R} \|_{\star, \Omega}$ and the squared sum of the localized norms $\| \mathcal{R} \|_{\star, \ell}$, which are more suitable to tackle numerically.

We start by establishing an upper bound.

**Theorem 3.1 (Continous reliability).** We have

$$ (3.6) \qquad \| \mathcal{R} \|_{\star, \Omega} \le \sqrt{6} C_{L, \Omega} \left( \sum_{\ell \in \mathcal{E}_h} \| \mathcal{R} \|_{\star, \ell}^2 \right)^{1/2}. $$

*Proof.* Let $v \in H_{\Gamma_D}(\text{curl}, \Omega)$ with $\| \nabla \times v \|_{\Omega} = 1$. Recalling the discussion in Section 2.7, there exists $w \in H_{\Gamma_D}^1(\Omega)$ with $\nabla \times v = \nabla \times w$ and

$$ (3.7) \qquad \| \nabla w \|_{\Omega} \le C_{L, \Omega} \| \nabla \times v \|_{\Omega} = C_{L, \Omega}. $$

Then, we use (2.9) and (3.2) to show that

$$ \langle \mathcal{R}, v \rangle = \langle \mathcal{R}, w \rangle = \sum_{\ell \in \mathcal{E}_h} \langle \mathcal{R}, (w \cdot \tau_\ell) \psi_\ell \rangle = \sum_{\ell \in \mathcal{E}_h} \langle \mathcal{R}, (w \cdot \tau_\ell - \vartheta_\ell) \psi_\ell \rangle $$

with

$$ \vartheta_\ell := \begin{cases} 0 & \text{if } \ell \subset \bar{\Gamma}_D, \\ \frac{1}{|\omega_\ell|} \int_{\omega_\ell} w \cdot \tau_\ell & \text{otherwise.} \end{cases} $$
We then observe that $w \cdot \tau_{\ell} - \vartheta_{\ell} \in H_{\star}^{1}(\omega_{\ell})$, so that recalling the definition of $\|\mathcal{R}\|_{\star, \ell}$ in (3.4), we have

$$ \begin{aligned} \langle \mathcal{R}, v \rangle &= \sum_{\ell \in \mathcal{E}_h} \|\mathcal{R}\|_{\star, \ell} \|\nabla(w \cdot \tau_{\ell})\|_{\omega_{\ell}} \le \sum_{\ell \in \mathcal{E}_h} \|\mathcal{R}\|_{\star, \ell} \|\nabla w\|_{\omega_{\ell}} \\ &\le \sqrt{6} \left( \sum_{\ell \in \mathcal{E}_h} \|\mathcal{R}\|_{\star, \ell}^2 \right)^{1/2} \|\nabla w\|_{\Omega}, \end{aligned} $$

and (3.6) follows from (3.7). □

Next, we provide a lower bound.

**Theorem 3.2 (Continuous efficiency).** For all edges $\ell \in \mathcal{E}_h$, we have

$$ (3.8) \qquad \|\mathcal{R}\|_{\star, \ell} \le C_{\text{cont}, \ell} \|\nabla \times (A - A_h)\|_{\omega_{\ell}} $$

where

$$ C_{\text{cont}, \ell} := \|\psi_{\ell}\|_{L^{\infty}(\omega_{\ell})} + C_{P, \ell} h_{\ell} \|\nabla \times \psi_{\ell}\|_{L^{\infty}(\omega_{\ell})} $$

only depends on $\kappa_{\ell}$.

*Proof.* First, we observe that there exists $w_{\star} \in H_{\star}^{1}(\omega_{\ell})$ with $\|\nabla w_{\star}\|_{\omega_{\ell}} = 1$ such that

$$ \begin{aligned} \|\mathcal{R}\|_{\star, \ell} = \langle \mathcal{R}, w_{\star} \psi_{\ell} \rangle &= (\nabla \times (A - A_h), \nabla \times (w_{\star} \psi_{\ell}))_{\Omega} \\ &\le \|\nabla \times (A - A_h)\|_{\omega_{\ell}} \|\nabla \times (w_{\star} \psi_{\ell})\|_{\omega_{\ell}}. \end{aligned} $$

Then, (3.8) follows since

$$ \begin{aligned} \|\nabla \times (w_{\star} \psi_{\ell})\|_{\omega_{\ell}} &\le \|\nabla \times \psi_{\ell}\|_{L^{\infty}(\omega_{\ell})} \|w_{\star}\|_{\omega_{\ell}} + \|\psi_{\ell}\|_{L^{\infty}(\omega_{\ell})} \|\nabla w_{\star}\|_{\omega_{\ell}} \\ &\le \|\psi_{\ell}\|_{L^{\infty}(\omega_{\ell})} + C_{P, \ell} h_{\ell} \|\nabla \times \psi_{\ell}\|_{L^{\infty}(\omega_{\ell})}. \end{aligned} $$

The fact that $C_{\text{cont}, \ell}$ only depends on $\kappa_{\ell}$ is a direct consequence of (2.8) and (2.10). □

<figure><img src="image_2.png" /></figure>

Finally, we provide an alternative expression for $\|\mathcal{R}\|_{\ell, \star}$ by employing a duality argument. This dual expression corresponds to a minimization problem and is the basis of the estimators we propose in this work.

**Theorem 3.3 (Dual characterization).** For all $\ell \in \mathcal{E}_h$, the equality

$$ (3.9) \qquad \|\mathcal{R}\|_{\ell, \star} = \|\sigma_{\ell} + \psi_{\ell} \times \nabla \times A_h\|_{\omega_{\ell}} $$

holds true with

$$ (3.10) \qquad \begin{aligned} \sigma_{\ell} &:= \arg \min_{\substack{v \in H_0(\text{div}, \omega_{\ell}) \\ \nabla \cdot v = \psi_{\ell} \cdot J - \nabla \times \psi_{\ell} \cdot \nabla \times A_h}} \|v + \psi_{\ell} \times \nabla \times A_h\|_{\omega_{\ell}}. \end{aligned} $$

*Proof.* Fix $\ell \in \mathcal{E}_h$. We introduce a Riesz representant $r_{\ell}$ defined as the unique element of $H_{\star}^{1}(\omega_{\ell})$ such that

$$ (3.11) \qquad (\nabla r_{\ell}, \nabla w)_{\omega_{\ell}} = \langle \mathcal{R}, w \psi_{\ell} \rangle $$

for all $w \in H_{\star}^{1}(\omega_{\ell})$. Since

$$ \begin{aligned} \langle \mathcal{R}, w \psi_{\ell} \rangle &= (J, w \psi_{\ell})_{\Omega} - (\nabla \times A_h, \nabla \times (w \psi_{\ell}))_{\Omega} \\ &= (J, w \psi_{\ell})_{\omega_{\ell}} - (\nabla \times A_h, \nabla w \times \psi_{\ell} + w \nabla \times \psi_{\ell})_{\omega_{\ell}} \\ &= (J \cdot \psi_{\ell} - \nabla \times A_h \cdot \nabla \times \psi_{\ell}, w)_{\omega_{\ell}} - (\psi_{\ell} \times \nabla \times A_h, \nabla w)_{\omega_{\ell}}, \end{aligned} $$
one easily sees that

$$ (\nabla r_{\ell} + \psi_{\ell} \times \nabla \times A_h, \nabla w)_{\omega_{\ell}} = (\psi_{\ell} \cdot J - \nabla \times \psi_{\ell} \cdot \nabla \times A_h, w)_{\omega_{\ell}} $$

for all $w \in H_\star^1(\omega_\ell)$. Then, since (3.10) is the mixed formulation of (3.11), we have $-\sigma_\ell = \nabla r_\ell + \psi_\ell \times \nabla A_h$, and (3.9) follows. □

Notice that because of (2.6), for $\ell \in \mathcal{E}_h$, we do have

$$ (3.12) \quad (\psi_{\ell} \cdot J - \nabla \times \psi_{\ell} \cdot \nabla \times A_h, 1)_{\omega_{\ell}} = (J, \psi_{\ell})_{\Omega} - (\nabla \times A_h, \nabla \times \psi_{\ell})_{\Omega} = 0 $$

whenever $\psi_\ell \not\subset \overline{\Gamma_D}$, ensuring the well-posedness of (3.10).

**Remark 3.4** (Broken patchwise equilibration). The broken patchwise equilibration procedure in [10] hinges on related localized norms of the residual functional, namely:

$$ \|\mathcal{R}\|_{\dagger, \ell} := \sup_{\substack{v \in H_0(\mathrm{curl}, \omega_\ell) \\ \|\nabla \times v\| = 1}} \langle \mathcal{R}, v \rangle, \quad \ell \in \mathcal{E}_h, $$

where $H_0(\mathrm{curl}, \omega_\ell)$ is defined as $H_0(\mathrm{div}, \omega_\ell)$ in Section 2.9. Since $v\psi_\ell \in H_0(\mathrm{curl}, \omega_\ell)$ with $\|\nabla \times (v\psi_\ell)\|_{\omega_\ell} \le C_{\mathrm{cont},\ell}\|\nabla v\|_{\omega_\ell}$ when $v \in H_\star^1(\omega_\ell)$, we have

$$ \|\mathcal{R}\|_{\star, \ell} \le C_{\mathrm{cont}, \ell} \|\mathcal{R}\|_{\dagger, \ell}. $$

On the other hand, we have from [10, Lemma 5.5] that

$$ \|\mathcal{R}\|_{\dagger, \ell} \le \|\nabla \times (A - A_h)\|_{\omega_{\ell}}, $$

where, in comparison to (3.8), the constant $C_{\mathrm{cont},\ell}$ is omitted. As a result, the constant $C_{\mathrm{cont},\ell}$ is moved from the reliability estimate to the efficiency estimate here as compared to [10].

## 4. AN EDGE-BASED A POSTERIORI ESTIMATOR

This section introduces a first a posteriori error estimator that is attached to the edges of the mesh. It is simply defined by mimicking the definition of $\sigma_\ell$ in (3.10) at the discrete level. As a result, for all edges $\ell \in \mathcal{E}_h$, we fix a polynomial degree $q_\ell \ge p_\ell + 1$, and we set

$$ (4.1) \quad \sigma_{\ell,h} := \arg \min_{\substack{v_h \in \mathcal{R}T_{q_\ell}(T_h^\ell) \cap H_0(\mathrm{div}, \omega_\ell) \\ \nabla \cdot v_h = \pi_{q_\ell}(\psi_\ell \cdot J - \nabla \times \psi_\ell \cdot \nabla \times A_h)}} \|v_h + \psi_\ell \times \nabla \times A_h\|_{\omega_\ell}. $$

as well as

$$ (4.2) \quad \eta_\ell := \|\sigma_{\ell,h} + \psi_\ell \times \nabla \times A_h\|_{\omega_\ell}. $$

Notice that (4.1) indeed provides a sound definition for $\sigma_{\ell,h}$ since the compatibility condition in (3.12) holds whenever required.

Recalling the results of Section 3, it is clear that $\eta_\ell$ will make a good estimator if the discrete minimizer $\sigma_{\ell,h}$ is sufficiently close to the continuous minimizer $\sigma_\ell$ for each $\ell \in \mathcal{E}_h$. This is classical in the analysis of equilibrated estimator [6, 10, 17] and the corresponding result is often called “stable discrete minimization”. The result we actually need is stable discrete minimization in the $\mathcal{H}(\mathrm{div})$ Sobolev space over an edge patch $T_h^\ell$. For the sake of shortness, we skip the proof of this result, as it can be easily obtained by combining the proof of stable discrete minimization in $\mathcal{H}(\mathrm{div})$ over a vertex patch [6, 17], and the proof of stable discrete minimization in $\mathcal{H}(\mathrm{curl})$ over an edge patch [9, 10].
**Proposition 4.1** (Stable discrete minimization). Consider an edge $\ell \in \mathcal{E}_h$ and a polynomial degree $q \ge 0$. Let $r \in \mathcal{P}_q(\mathcal{T}_h^\ell)$ and $g \in \mathbf{RT}_q(\mathcal{T}_h^\ell)$, and if $\ell \not\subset \bar{\Gamma}_D$, assume that $(r, 1)_{\omega_\ell} = 1$. Then, we have

$$ (4.3) \qquad \min_{\substack{v_h \in \mathbf{RT}_q(\mathcal{T}_h^\ell) \cap \mathbf{H}_0(\mathrm{div}, \omega_\ell) \\ \nabla \cdot v_h = r}} \|v_h + g\|_{\omega_\ell} \le C_{\mathrm{st},\ell} \min_{\substack{v \in \mathbf{H}_0(\mathrm{div}, \omega_\ell) \\ \nabla \cdot v = r}} \|v + g\|_{\omega_\ell} $$

where the constant $C_{\mathrm{st},\ell}$ only depends on $\kappa_\ell$.

Remark that since the minimization set in the left-hand side of (4.3) is contained in the minimization of the right-hand side, the reverse inequality

$$ (4.4) \qquad \min_{\substack{v \in \mathbf{H}_0(\mathrm{div}, \omega_\ell) \\ \nabla \cdot v = r}} \|v + g\|_{\omega_\ell} \le \min_{\substack{v_h \in \mathbf{RT}_q(\mathcal{T}_h^\ell) \cap \mathbf{H}_0(\mathrm{div}, \omega_\ell) \\ \nabla \cdot v_h = r}} \|v_h + g\|_{\omega_\ell} $$

trivially holds true.

Let us further comment that since both sides of (4.3) vanish if and only if $g \in \mathbf{RT}_q(\mathcal{T}_h^\ell) \cap \mathbf{H}(\mathrm{div}, \omega_\ell)$ with $\nabla \cdot g = r$, by linearity, it is clear that the inequality should hold for some constant $C_{\mathrm{st},\ell}$. It is also clear, based on standard scaling arguments and Piola mappings, that $C_{\mathrm{st},\ell}$ is independent of the mesh size. The non-trivial part is two show that $C_{\mathrm{st},\ell}$ does not depend on $q$.

Before establishing our key reliability and efficiency results, we need to cope with the fact that the divergence constraints in the continuous and discrete minimization problems (3.10) and (4.1) defining $\sigma_\ell$ and $\sigma_{\ell,h}$ are different when $J$ is not a polynomial. Classically, this is done by introducing an oscillation term. Notice that since $q_\ell \ge p_\ell + 1$, the estimate in (4.7) shows that $\mathrm{osc}_\ell$ converges to zero faster than the error, justifying the “oscillation” terminology (recall from (2.8) that $\|\psi_\ell\|_{L^\infty(\omega_\ell)} \simeq 1$).

**Lemma 4.2** (Data oscillation). For all $\ell \in \mathcal{E}_h$, we have

$$ (4.5) \qquad \left\| \mathcal{R} \right\|_{\star, \ell} - \min_{\substack{v \in \mathbf{H}_0(\mathrm{div}, \omega_\ell) \\ \nabla \cdot v = \pi_{q_\ell}(\psi_\ell \cdot J - \nabla \times \psi_\ell \cdot \nabla \times A_h)}} \|v + \psi_\ell \times \nabla \times A_h\|_{\omega_\ell} \le \mathrm{osc}_\ell $$

with

$$ (4.6) \qquad \mathrm{osc}_\ell := C_{\mathrm{P},\ell} h_\ell \|\psi_\ell \cdot J - \pi_{\mathcal{T}_h^\ell, q_\ell}(\psi_\ell \cdot J)\|_{\omega_\ell}. $$

In addition, if $J \in \mathbf{H}^{q_\ell+1}(\mathcal{T}_h^\ell)$, we have

$$ (4.7) \qquad \mathrm{osc}_\ell \le \frac{C_{\mathrm{P},\ell} \|\psi_\ell\|_{L^\infty(\omega_\ell)} h_\ell^{q_\ell+1}}{\pi^{q_\ell}} |J|_{\mathbf{H}^{q_\ell+1}(\mathcal{T}_h^\ell)} $$

*Proof.* Let $\ell \in \mathcal{E}_h$. Following the proof of Theorem 3.3, we know that $\|\mathcal{R}\|_{\ell,\star} = \|\nabla r_\ell\|_{\omega_\ell}$ where $r_\ell$ is the unique element of $H_\star^1(\omega_\ell)$ such that

$$ (\nabla r_\ell, \nabla w)_{\omega_\ell} = (\psi_\ell \cdot J - \nabla \times \psi_\ell \cdot \nabla \times A_h, w)_{\omega_\ell} - (\psi_\ell \times \nabla \times A_h, \nabla w)_{\omega_\ell} $$

for all $w \in H_\star^1(\omega_\ell)$. Similarly, we have

$$ \min_{\substack{v \in \mathbf{H}_0(\mathrm{div}, \omega_\ell) \\ \nabla \cdot v = \pi_{q_\ell}(\psi_\ell \cdot J - \nabla \times \psi_\ell \cdot \nabla \times A_h)}} \|v + \psi_\ell \times \nabla \times A_h\|_{\omega_\ell} = \|\nabla r^*\|_{\omega_\ell} $$

where $r^*$ is the unique element of $H_\star^1(\omega_\ell)$ such that

$$ (\nabla r^*, \nabla w)_{\omega_\ell} = (\pi_{q_\ell}(\psi_\ell \cdot J - \nabla \times \psi_\ell \cdot \nabla \times A_h), w)_{\omega_\ell} - (\psi_\ell \times \nabla \times A_h, \nabla w)_{\omega_\ell} $$
for all $w \in H_\star^1(\omega_\ell)$. Since $\nabla \times \psi_\ell \cdot \nabla \times A_h \in P_{q_\ell}(T_h^\ell)$, it follows that

$$ (\nabla(r_\ell - r^*), \nabla w)_{\omega_\ell} = (\psi_\ell \cdot \mathbf{J} - \pi_{T_h^\ell, q_\ell}(\psi_\ell \cdot \mathbf{J}), w)_{\omega_\ell} \\ \le C_{P,\ell} h_\ell \|\psi_\ell \cdot \mathbf{J} - \pi_{q_\ell}(\psi_\ell \cdot \mathbf{J})\|_{\omega_\ell} \|\nabla w\|_{\omega_\ell}. $$

for all $w \in H_\star^1(\omega_\ell)$. Picking $w = r_\ell - r^*$, we have

$$ \|\nabla(r_\ell - r^*)\|_{\omega_\ell} \le C_{P,\ell} h_\ell \|\psi_\ell \cdot \mathbf{J} - \pi_{q_\ell}(\psi_\ell \cdot \mathbf{J})\|_{\omega_\ell}, $$

and (4.5) follows from the reverse triangle inequality.

Finally, since $\psi_\ell \in P_1(T_h^\ell)$, (4.7) follows from

$$ \begin{aligned} \|\psi_\ell \cdot \mathbf{J} - \pi_{T_h^\ell, q_\ell}(\psi_\ell \cdot \mathbf{J})\|_{\omega_\ell} &\le \|\psi_\ell \cdot \mathbf{J} - \psi_\ell \cdot (\pi_{T_h^\ell, q_\ell-1}(\mathbf{J}))\|_{\omega_\ell} \\ &\le \|\psi_\ell\|_{L^\infty(\omega_\ell)} \|\mathbf{J} - \pi_{T_h^\ell, q_\ell-1}(\mathbf{J})\|_{\omega_\ell} \\ &\le \|\psi_\ell\|_{L^\infty(\omega_\ell)} \left(\frac{h_\ell}{\pi}\right)^{q_\ell} |\mathbf{J}|_{H^{q_\ell}(\omega_\ell)}, \end{aligned} $$

where we have used (2.4) together with the fact that $h_K \le h_\ell$ for all $K \in T_h^\ell$. $\square$

We are now ready to state the main result of this section, which is a direct consequence of the three theorems of Section 3, identity (3.5), as well as estimates (4.3), (4.4) and (4.5).

**Theorem 4.3 (Edge-based error estimator).** *The estimates*

$$ (4.8) \qquad \|\nabla \times (\mathbf{A} - \mathbf{A}_h)\|_{\Omega} \le \sqrt{6} C_{L,\Omega} \left( \sum_{\ell \in \mathcal{E}_h} (\eta_{\ell}^2 + \mathrm{osc}_{\ell}^2) \right)^{1/2} $$

and

$$ (4.9) \qquad \eta_\ell \le C_{\mathrm{st},\ell} C_{\mathrm{cont},\ell} \|\nabla \times (\mathbf{A} - \mathbf{A}_h)\|_{\omega_\ell} + C_{\mathrm{cont},\ell} \mathrm{osc}_\ell \quad \forall \ell \in \mathcal{E}_h $$

hold true.

**Remark 4.4 (An interpretation of what $\eta_\ell$ measures).** *Assume that $\mathbf{J} \in RT_{p_\ell}(T_h^\ell)$ and that $\eta_\ell = 0$ for an edge $\ell \in \mathcal{E}_h$. Then, we have*

$$ \psi_\ell \cdot \mathbf{J} - \nabla \times \psi_\ell \cdot \nabla \times A_h = \nabla \cdot (\psi_\ell \times \nabla \times A_h) = -\nabla \times \psi_\ell \cdot \nabla \times A_h + \psi_\ell \cdot \nabla \times \nabla \times A_h, $$
meaning that $\psi_\ell \cdot (\nabla \times \nabla \times A_h - \mathbf{J}) = 0$. We then see that $A_h$ locally satisfies the curl-curl problem strongly in $\omega_\ell$, at least in the $\tau_\ell$ direction.

**Remark 4.5 (Alternate construction by sequential sweeps).** *We can decrease the computational cost for constructing $\sigma_{\ell,h}$ by following the approach presented in [10, Theorem 3.2]. In this case, instead of solving the patchwise minimization in (4.1), we construct an alternative local contribution $\sigma_{\ell,h}^*$ by sweeping through the edge patch. In this approach, for each $K \in T_h^\ell$, $\sigma_{\ell,h}^*|_K$ is defined through an elementwise minimization problem in $K$, similar to (4.1).*

**Remark 4.6 (p-adaptive reconstruction).** *Let $\ell \in \mathcal{E}_h$. In our presentation, we employed the assumption that $A_h \in N_{p_\ell}(T_h^\ell)$. It is possible to further take advantage of the fact that $A_h \in N_{p_K}(K)$ for all $K \in T_h^\ell$ for some $0 \le p_K \le p_\ell$. Indeed, instead of seeking $\sigma_{\ell,h}$ in the space $RT_{q_\ell}(T_h^\ell)$ (recall that $q_\ell \ge p_\ell + 1$), we can instead require that $\sigma_{\ell,h} \in RT_{p_K+1}(K)$ for all $K \in T_h^\ell$. In doing so, it is still true that (4.3) holds true, but with a constant $C_{\mathrm{st},\ell}$ that may depend on the distribution $\{p_K\}_{K \in T_h^\ell}$. Indeed, it is not clear whether constant $C_{\mathrm{st},\ell}$ is polynomial-degree-robust*
in this case as, in particular, the proof techniques employed in [6, 10, 17] fail in this case.

## 5. PRAGER-SYNGE TYPE ESTIMATES

In this section, we elaborate a second error estimator. It hinges on a new Prager-Synge type identity and a corresponding discrete equilibration procedure. We actually show that the local contributions $\sigma_{\ell,h}$ previously introduced to build the edge-based estimator can be recombined to provide equilibrated fields.

We begin with our new Prager-Synge type identity.

**Theorem 5.1** (Prager-Synge identity). Assume that, for $1 \le k \le 3$, $S^k \in H_{\Gamma_N}(\text{div}, \Omega)$, then we have

$$ (5.1) \quad (\nabla \times (\mathbf{A} - \mathbf{A}_h), \nabla \times \mathbf{v})_{\Omega} = \sum_{k=1}^{3} \left\{ (\mathbf{J}_k - \nabla \cdot \mathbf{S}^k, \mathbf{v}_k)_{\Omega} - (\mathbf{S}^k + \mathbf{u}^k \times \nabla \times \mathbf{A}_h, \nabla \mathbf{v}_k)_{\Omega} \right\} $$

for all $\mathbf{v} \in H_{\Gamma_D}^1(\Omega)$. In addition, if

$$ (5.2) \quad (\nabla \cdot \mathbf{S}^k - \mathbf{J}_k, r_h)_{\Omega} = 0 \quad \forall r_h \in \mathcal{P}_0(\mathcal{T}_h), $$

then,

$$ (5.3) \quad \| \nabla \times (\mathbf{A} - \mathbf{A}_h) \|_{\Omega} \le C_{L,\Omega} \left( \sum_{K \in \mathcal{T}_h} \sum_{k=1}^{3} \left( \frac{h_K}{\pi} \| \mathbf{J}_k - \nabla \cdot \mathbf{S}^k \|_K + \| \mathbf{S}^k + \mathbf{u}^k \times \nabla \times \mathbf{A}_h \|_K \right)^2 \right)^{1/2} $$

*Proof.* Let $\mathbf{v} \in H_{\Gamma_D}^1(\Omega)$. We have

$$ (5.4) \quad (\nabla \times (\mathbf{A} - \mathbf{A}_h), \nabla \times \mathbf{v})_{\Omega} = (\mathbf{J}, \mathbf{v})_{\Omega} - (\nabla \times \mathbf{A}_h, \nabla \times \mathbf{v})_{\Omega}. $$

On the one hand, we have

$$ (5.5) \quad (\mathbf{J}, \mathbf{v})_{\Omega} = \sum_{k=1}^{3} (\mathbf{J}_k, \mathbf{v}_k)_{\Omega} = \sum_{k=1}^{3} \{(\mathbf{J}_k - \nabla \cdot \mathbf{S}_k, \mathbf{v}_k)_{\Omega} - (\mathbf{S}_k, \nabla \mathbf{v}_k)_{\Omega}\} $$

On the other hand, it holds that

$$ \nabla \times \mathbf{v} = \sum_{k=1}^{d} \nabla \times (\mathbf{v}_k \mathbf{u}^k) = \sum_{k=1}^{d} \nabla \mathbf{v}_k \times \mathbf{u}^k, $$

leading to

$$ (5.6) \quad (\nabla \times \mathbf{A}_h, \nabla \times \mathbf{v})_{\Omega} = \sum_{k=1}^{d} (\nabla \times \mathbf{A}_h, \nabla \mathbf{v}_k \times \mathbf{u}^k)_{\Omega} \\ = \sum_{k=1}^{d} (\mathbf{u}^k \times \nabla \times \mathbf{A}_h, \nabla \mathbf{v}_k)_{\Omega}. $$
Identity (5.1) then easily follows from (5.4), (5.5) and (5.6). Finally, estimate (5.3) is a direct consequence of (5.1), orthogonality property (5.2) together with elemenwise Poincaré inequality (2.11) and the discussion of Section 2.7, since

$$ (J_k - \nabla \cdot S^k, v_k)_K = (J_k - \nabla \cdot S^k, v_k - \pi_{K,0} v_k)_K \le \frac{h_K}{\pi} \|J - \nabla \cdot S^k\|_K \|\nabla v_k\|_K. \quad \square $$

**Remark 5.2** (The constant $C_{L,\Omega}$). The constant $C_{L,\Omega}$ is the price we pay for working with a test function in $H_{\Gamma_D}^1(\Omega)$ instead of $H_{\Gamma_D}(\text{curl}, \Omega)$. Specifically, starting from a general function $v \in H_{\Gamma_D}(\text{curl}, \Omega)$, we introduce a function $w \in H_{\Gamma_D}^1(\Omega)$ such that $\nabla \times v = \nabla \times w$. When doing this operation, there is no reason to think that $\|\nabla w\|_{\Omega} \le \|\nabla \times v\|_{\Omega}$ in the general case, hence the need for the constant $C_{L,\Omega}$. However, for our purposes, we do not need to impose that $\nabla \times v = \nabla \times w$. Indeed, we simply need that $(\nabla \times (A - A_h), \nabla \times v)_{\Omega} = (\nabla \times (A - A_h), \nabla \times w)$, which is a much less demanding condition. Although the author is not currently aware of a way to take advantage of this idea, it hints toward the fact that a sharper estimate without the constant $C_{L,\Omega}$ may be achieved. We further point out that this observation is not limited to the particular estimators considered in this work, but to general a posteriori estimators using regular decompositions [10, 30, 34]. A similar remark also holds true for the upper bounds of Theorems 3.1 and 4.3.

**Remark 5.3** (Improved oscillation term). Under the additional assumption that $(\nabla \cdot S^k - J_k, r_h)_{\Omega} = 0$ for all $r_h \in \mathcal{P}_q(\mathcal{T}_h)$ for some $q \ge 0$, it is possible to improve the factor $h_K/\pi$ in the oscillation term to $Ch_K/q$ (see, e.g., [4, Lemma 4.1]). For the sake of simplicity though, we only focus on the simpler version, in particular because the constant appearing in the improved version is not easily computable in practice.

The next step is to provide a discrete construction of fields $S_h^k$ satisfying the requirements of Theorem 5.1. As previously advertised, this is easily achieved by recombining the local contributions $\sigma_{\ell,h}$ introduced at (4.1). We thus set, for $1 \le k \le 3$, the field

$$ (5.7) \qquad S_h^k := \sum_{\ell \in \mathcal{E}_h} (\tau_\ell \cdot \mathbf{u}^k) \sigma_{\ell,h}. $$

**Lemma 5.4** (Discrete equilibration). For $1 \le k \le 3$, we have $S_h^k \in H_{\Gamma_N}(\text{div}, \Omega)$ with

$$ (5.8) \qquad (\nabla \cdot S_h^k - J_k, r_h)_{\Omega} = 0 \quad \forall r_h \in \mathcal{P}_0(\mathcal{T}_h). $$

*Proof.* Let $k \in \{1, 2, 3\}$. That $S_h^k \in H_{\Gamma_N}(\text{div}, \Omega)$ is a direct consequence of the fact that $\sigma_{\ell,h} \in H_0(\text{div}, \omega_\ell)$ for all $\ell \in \mathcal{E}_h$. Then, consider an element $K \in \mathcal{T}_h$ and $r_h \in \mathcal{P}_0(K)$. Recalling (4.1), we see that

$$ \begin{align*} (\nabla \cdot S_h^K, r_h)_K &= \sum_{\ell \in \mathcal{E}_h} (\tau_\ell \cdot \mathbf{u}^k)(\nabla \cdot \sigma_{\ell,h}, r_h)_K \\ &= \sum_{\ell \in \mathcal{E}_h} (\tau_\ell \cdot \mathbf{u}^k)(\pi_{q_\ell} (\psi_\ell \cdot \mathbf{J} - \nabla \times \psi_\ell \cdot \nabla \times \mathbf{A}_h), r_h)_K \\ &= \sum_{\ell \in \mathcal{E}_h} (\tau_\ell \cdot \mathbf{u}^k)(\psi_\ell \cdot \mathbf{J} - \nabla \times \psi_\ell \cdot \nabla \times \mathbf{A}_h, r_h)_K. \end{align*} $$
By linearity, and recalling (2.9), we have

$$ (\nabla \cdot S_h^k, r_h)_K = (\mathbf{u}^k \cdot \mathbf{J} - \nabla \times \mathbf{u}^k \cdot \nabla \times \mathbf{A}_h, r_h)_K = (\mathbf{J}_k, r_h)_K, $$

leading to (5.8).

□

Having introduced the equilibrated fields $S_h^k$, we simply define our estimator with the elementwise contributions in the right-hand side of (5.3). We thus set

$$ (5.9) \qquad \eta_K^k := \|\mathbf{u}^k \times \nabla \times \mathbf{A}_h + S_h^k\|_K $$

for each element $K \in \mathcal{T}_h$ and $k \in \{1, 2, 3\}$. As we establish below, this estimator is reliable and efficient.

**Theorem 5.5 (Equilibrated estimator).** The following upper bound

$$ (5.10) \qquad \|\nabla \times (\mathbf{A} - \mathbf{A}_h)\|_{\Omega} \le C_{L,\Omega} \left( \sum_{K \in \mathcal{T}_h} \sum_{k=1}^{3} (\eta_K^k + \mathrm{osc}_K^k)^2 \right)^{1/2} $$

holds true with

$$ (5.11) \qquad \mathrm{osc}_K^k := \frac{h_K}{\pi} \|\nabla \cdot S_h^k - \mathbf{J}_k\|_K \quad \forall K \in \mathcal{T}_h, \quad 1 \le k \le 3. $$

In addition, we have the lower bounds

$$ (5.12) \qquad \sum_{k=1}^{3} (\eta_K^k)^2 \le 6 \sum_{\ell \in \mathcal{E}_K} (C_{\mathrm{st},\ell} C_{\mathrm{cont},\ell} \|\nabla \times (\mathbf{A} - \mathbf{A}_h)\|_{\omega_\ell} + C_{\mathrm{cont},\ell} \mathrm{osc}_\ell)^2 $$

for all $K \in \mathcal{T}_h$.

*Proof.* On the one hand, (5.10) is a direct consequence of Theorem 5.1 and Lemma 5.4. On the other hand, we have

$$ \begin{aligned} \|S_h^k + \mathbf{u}^k \times \nabla \times \mathbf{A}_h\|_K &= \left\| \sum_{\ell \in \mathcal{E}_K} (\tau_\ell \cdot \mathbf{u}^k) \sigma_{\ell,h} + \left( \sum_{\ell \in \mathcal{E}_K} (\mathbf{u}^k \cdot \tau_\ell) \psi_\ell \right) \times \nabla \times \mathbf{A}_h \right\|_K \\ &\le \sum_{\ell \in \mathcal{E}_K} |\mathbf{u}^k \cdot \tau_\ell| \|\sigma_{\ell,h} + \psi_\ell \times \nabla \times \mathbf{A}_h\|_K \\ &\le \sum_{\ell \in \mathcal{E}_K} |\mathbf{u}^k \cdot \tau_\ell| \|\sigma_{\ell,h} + \psi_\ell \times \nabla \times \mathbf{A}_h\|_{\omega_\ell} \\ &= \sum_{\ell \in \mathcal{E}_K} |\mathbf{u}^k \cdot \tau_\ell| \eta_\ell, \end{aligned} $$

and (5.12) follows from (4.9) using Cauchy-Schwarz inequality

$$ \begin{aligned} \sum_{k=1}^{3} (\eta_K^k)^2 &= \sum_{k=1}^{3} \|S_h^k + \mathbf{u}^k \times \nabla \times \mathbf{A}_h\|_K^2 \\ &\le \sum_{k=1}^{3} \left( \sum_{\ell \in \mathcal{E}_K} |\mathbf{u}^k \cdot \tau_\ell| \eta_\ell \right)^2 \\ &= 6 \sum_{\ell \in \mathcal{E}_K} \sum_{k=1}^{3} |\mathbf{u}^k \cdot \tau_\ell|^2 \eta_\ell^2 \end{aligned} $$

and observing that

$$ \sum_{k=1}^{3} |\mathbf{u}^k \cdot \tau_\ell|^2 = |\tau_\ell|^2 = 1. $$

□
## 6. NUMERICAL EXAMPLES

6.1. **Settings.** This section presents a set numerical examples. We first describe the general setting.

6.1.1. **Estimators.** For the sake of shortness, we disregard all the oscillations terms. That way, we can simply set

$$ \eta_K^2 := \sum_{k=1}^{3} (\eta_K^k)^2, $$

for all $K \in \mathcal{T}_h$ and

$$ \eta_{\text{edge}}^2 := 6 \sum_{\ell \in \mathcal{E}_h} \eta_{\ell}^2, \quad \eta_{\text{cell}}^2 := \sum_{K \in \mathcal{T}_h} \eta_K^2. $$

6.1.2. **Discrete solution.** The discrete solution $A_h$ is computed using Nédélec elements of uniform degree $p \ge 0$ through the usual Galerkin formulation. For the sake of simplicity, we only consider cases where $\Omega$ is simply connected and $\Gamma_D = \partial\Omega$, so that $\Lambda_{\Gamma_D}(\Omega) = \nabla (H_{\Gamma_D}^1(\Omega))$. This leads to the definition of $A_h$ has the unique element of $N_p(\mathcal{T}_h) \cap H_{\Gamma_D}(\text{curl}, \Omega)$ such that

$$ (\nabla \times A_h, \nabla \times v_h)_{\Omega} = (J, v_h)_{\Omega} \quad (A_h, \nabla q_h)_{\Omega} = 0 $$

for all $v_h \in N_p(\mathcal{T}_h) \cap H_{\Gamma_D}(\text{curl}, \Omega)$ and $q_h \in P_{p+1}(\mathcal{T}_h) \cap H_{\Gamma_D}^1(\Omega)$. Remark in particular that $A_h$ satisfies the assumptions of Section 2.6 with $p_\ell = p$ for all $\ell \in \mathcal{E}_h$. The estimator is then computed with the lowest polynomial degree possible, namely $q_\ell = q := p+1$ for all $\ell \in \mathcal{E}_h$.

6.1.3. **Error evaluation.** In the first two examples, the analytic solution $A$ to the problem is available, so that we can readily compute the true error $\text{err}_\Omega := \|\nabla \times (A - A_h)\|_\Omega$ for comparison purposes. In the last experiment however, we do not have access to $A$, and if $A_h \in N_p(\mathcal{T}_h) \cap H_{\Gamma_D}(\Omega)$ we assess the error using the quantity $\text{err}_\Omega := \|\nabla \times (\tilde{A}_h - A_h)\|_\Omega$, where $\tilde{A}_h \in N_{p+2}(\mathcal{T}_h) \cap H_{\Gamma_D}(\Omega)$ is computed using the same mesh than $A_h$, but with a higher polynomial degree.

6.1.4. **Mesh generation.** The meshes we employ are generated with with gmsh [21] and mmg3D [15]. Starting from a file "geom.geo" describing the geometry of the experiment, we generate a first tetrahedral mesh using the command "gmsh -3 geom.geo -format mesh". This generates a mesh stored in "geom.mesh" that is then passed to mmg3D for further refinements. Specifically, when we talk about a "mesh of size $h_{max}$" when it has been generated using the command "mmg3D -in geom.mesh -out mesh.mesh -hmax $h_{max}$", which generates two files: "mesh.mesh" describing the mesh, and "mesh.sol" describing the mesh size around each vertex.

We also employ mmg3D for iterative mesh refinements. In this case, based on finite element computation with the mesh described by the files "mesh.mesh" and "mesh.sol" we create a new mesh the following way:

(1) Find an ordering $\iota: \{1, \dots, \sharp \mathcal{E}_h\} \to \mathcal{E}_h$ such that $j \to \eta_{\iota(j)}$ is decreasing.

(2) Select the smallest integer $m$ such that

$$ \sum_{j=1}^{m} \eta_{\iota(j)}^2 \le \theta \sum_{\ell \in \mathcal{E}_h} \eta_{\ell}^2, \quad \theta := 0.1. $$

(3) Mark all the vertices associated with the edges $\iota(j)$, $j \in \{1, \dots, m\}$.
(4) Generate a new file "refinement.sol" where the mesh size associated with all the marked vertices is divided by two.

(5) Generate the refined mesh with the command "mmg3D -in mesh mesh -sol refinement.sol -out refined mesh mesh -hgrad 10.".

We also employ the equilibrated estimator {$\eta_K$}$_{K \in \mathcal{T}_h}$ instead of {$\eta_\ell$}$_{\ell \in \mathcal{E}_h}$. In this case, we follow the same procedure with edges replaced by cells.

6.1.5. Quantities of interest and legends. Throughout this section, we will focus on 5 quantities of interest, namely: the error $err_\Omega$, the summed estimators $\eta_{edge}$ and $\eta_{cell}$, and the effectivity indices $eff_{edge} := \eta_{edge}/err_\Omega$ and $eff_{cell} := \eta_{cell}/err_\Omega$. These quantities will be represented on two kinds of figures. On the one hand, we will display the error, and summed estimator on "Error and estimators" plot with the following legend:

<figure><img src="image_3.png" /></figure>

On the other hand, "Effectivity indices" figures have the following legend:

<figure><img src="image_4.png" /></figure>

6.2. Smooth solution in a cube. We start by considering the unit cube $\Omega := (0, 1)^3$ together with the load term

$$J := (3\pi)^2 \begin{pmatrix} \cos(\pi x_1) \sin(\pi x_2) \sin(\pi x_3) \\ -\sin(\pi x_1) \cos(\pi x_2) \sin(\pi x_3) \\ 0 \end{pmatrix}$$

One readily sees that $\nabla \cdot J = 0$ and that the associated solution is

$$A := \begin{pmatrix} \cos(\pi x_1) \sin(\pi x_2) \sin(\pi x_3) \\ -\sin(\pi x_1) \cos(\pi x_2) \sin(\pi x_3) \\ 0 \end{pmatrix}.$$

We first consider a "h-convergence" example where we fix the polynomial degree $p$, and consider a sequence of uniform meshes generated by mmg3D with $h_{max} := 1, 1/2, 1/4, 1/16$ and $1/32$. Figure 6.1 presents the results. As can be seen from the left-panel, the expected convergence rate in $O(h^{p+1})$ is achieved. The right-panel illustrates that both estimators are reliable and efficient, since the efficiency indices are grater that one and independent of $h$.

Next, we perform a "p-convergence" study where $h_{max}$ is fixed, but $p$ increases from 0 to 6. The expected exponential convergence rate is observed on the left-panel of Figure 6.2. The right-panel of Figure 6.2 shows that both estimators are reliable and efficient. This experiment further highlights the p-robustness of the estimator, since the effectivity indices are indeed independent of $p$.

We further note that the effectivity index of the equilibrated estimator is fairly close to one. Notice that the fact that the effectivity is greater than one is ensured
<figure><img src="image_5.png" /><figcaption>FIGURE 6.1. Smooth solution example: h-convergence</figcaption></figure>

by Theorem 5.5, since the domain is convex in this example, and we can take $C_{L,\Omega} = 1$ in (5.10). For the edge-based estimator, the effectivity index is close to, and always greater than, $\sqrt{6}$. This may hint that the factor $\sqrt{6}$ in (4.8) is spurious, although the author is not aware of a way to suppress it from a theoretical stand point.

6.3. Edge singularity in L-type domains. Given an angle $\phi \in (0, 2\pi)$, we consider a domain of the form $\Omega := L \times (0, 1)$, where

$$L := \{ \boldsymbol{x} = r(\cos(\theta), \sin(\theta)) \in \mathbb{R}^2; |\boldsymbol{x}_1|, |\boldsymbol{x}_2| < 1, \ 0 < \theta < 2\pi - \phi \}.$$
<figure><img src="image_6.png" /><figcaption>FIGURE 6.2. Smooth solution example: p-convergence</figcaption></figure>

We will in particular consider the cases $\phi = 3\pi/4, \pi/2$ and $\pi/8$. The top faces of these domains are depicted on Figure 6.3.

Following [10, 11, 19], we consider a solution that is singular around the edge $\{(0,0)\} \times (0,1)$. Specifically, it reads $\mathbf{A} := (0,0,s)$, where

$$ (6.1) \qquad s(r, \theta, \mathbf{x}_3) := \chi(r)r^{\alpha} \sin(\alpha\theta) $$

with $\alpha := \pi/(2\pi - \phi)$ and $\chi$ is a cutoff function employed to satisfy boundary conditions as in [10, 11].
<figure><img src="image_7.png" /><figcaption>FIGURE 6.3. L-type domains</figcaption></figure>

For each angle $\phi$, we perform an adaptive mesh refinement as described above. In all cases, we start with a mesh generated with $h_{\max} := 2$ and perform three different refinements for polynomial degrees $p = 0, 1$ and $2$.

When $\phi = 3\pi/4$, the adaptive process is driven by the cell estimator $\{\eta_K\}_{K \in \mathcal{T}_h}$ and the results are reported on Figure 6.4. As can be seen on the left-panel, the optimal convergence rates are observed. Notice that for $p = 2$, the convergence rate is not $N_{\text{dofs}}^{-(p+1)/3} = N_{\text{dofs}}$ because we are using isotropic elements, see [3, Section 4.2.3] for more details. Similar to the cube experiment, the effectivity indices of the edge-based and equilibrated estimators are respectively close to $\sqrt{6}$ and 1.

We use the edge estimator $\{\eta_{\ell}\}_{\ell \in \mathcal{E}_h}$ to drive the refinements when $\phi = \pi/2$. The results are similar to the previous case, and are reported on Figure 6.5.

Figure 6.6 illustrates the last case where $\phi = \pi/8$, and the adaptive process is driven by the cell estimator. The results are again similar, except that the use of isotropic elements also reduces the optimal convergence rate when $p = 1$, as expected [3].

Interestingly, we observe that the effectivity indices $\text{eff}_{\text{edge}}$ and $\text{eff}_{\text{cell}}$ respectively stays above $\sqrt{6}$ and 1 (apart from the first iterations when $\phi = \pi/2$, which is due to data oscillation). Notice that our theory does not cover this estimate, as it requires the constant $C_{L,\Omega}$, which is not 1 in this case. The fact that the effectivity indices remains independent of the angle $\phi$ hints that the $C_{L,\Omega}$ may not be compulsory to obtain guaranteed estimates.

**6.4. Corner singularity in the Fichera cube.** In this last experiment, we consider the Fichera domain $\Omega := (-1, 1)^3 \setminus (0, 1)^3$. We select the right-hand side $J := (1, 1, 0)$. Starting from an initial mesh generated with $h_{\max} := 2$, we consider to adaptive refinement processes. We first set $p = 0$ and employ the edge-based estimator to drive the adaptive process and then, we use the cell-based estimator with $p = 1$.

Figure 6.7 presents the results. As for the L-type domain example, we obtain the optimal convergence rates, and the estimators seem to provide guaranteed upper bounds even when $C_{L,\Omega}$ is omitted.

## 7. CONCLUSION

We propose two a posteriori error estimators that are motivated by a novel Prager-Synge identity for the curl-curl problem. Both estimators are polynomial-degree-robust, and rely on divergence-constrained minimization problems over edge patches. When the domain is convex, these estimators also provide guaranteed and
<figure><img src="image_8.png" /><figcaption>FIGURE 6.4. L-type experiment with $\phi = 3\pi/4$.</figcaption></figure>

fully computable upper bounds. In the general case however, the reliability estimate involves a constant $C_{L,\Omega}$ related to regular decompositions of $H(\text{curl})$ fields that is not easily computable in practice.

We present a set of numerical examples which illustrates the key theoretical findings: both estimators are reliable and efficient with p-robust constants, and provide guaranteed upper bounds in convex domains. In addition, when the domain is not convex, these numerical tests suggest that the estimators can still be employed without the constant $C_{L,\Omega}$ to provide a guaranteed upper bound. While we are not able to prove this result, we provide some theoretical reasons why it may be
<figure><img src="image_9.png" /><figcaption>FIGURE 6.5. L-type experiment with $\phi = \pi/2$.</figcaption></figure>

the case. We also employ both estimators to drive adaptive mesh refinements, and obtain optimal convergence rates in domains featuring re-entrant edges and corners.

In practice, it seems that the cell-based equilibrated estimator should be preferred, as it provides improved results as compared to the edge-based estimator, only at the price of a moderate additional complexity in the implementation. From a theoretical viewpoint however, the edge-based estimator may be preferable since the associated efficiency estimates involve smaller mesh patches, which may be of interest to design adaptive refinement algorithms that provably converge with optimal rates.
<figure><img src="image_10.png" /><figcaption>FIGURE 6.6. L-type experiment with $\phi = \pi/8$.</figcaption></figure>

REFERENCES

1. R. Adams and J. Fournier, Sobolev spaces, Academic Press, 2003.

2. M. Ainsworth and J.T. Oden, A posteriori error estimation in finite element analysis, Wiley, 2000.

3. T. Apel, Anisotropic finite elements: local estimates and applications, 1999.

4. I. Babuška and M. Suri, The h-p version of the finite element method with quasiuniform meshes, ESAIM Math. Model. Numer. Anal. **21** (1987), no. 2, 199–238.

5. R. Beck, R. Hiptmair, R.H.W. Hoppe, and B. Wohlmuth, Residual based a posteriori error estimators for eddy current computation, ESAIM Math. Model. Numer. Anal. **34** (2000), no. 1, 159–182.

6. D. Braess, V. Pillwein, and J. Schöberl, Equilibrated residual error estimates are p-robust, Comput. Meth. Appl. Mech. Engrg. **198** (2009), 1189–1197.

7. D. Braess and J. Schöberl, Equilibrated residual error estimators for edge elements, Math. Comp. **77** (2008), no. 262, 651–672.
<figure><img src="image_11.png" /><figcaption>FIGURE 6.7. Fichera domain example</figcaption></figure>

8. F. Brezzi, *On the existence, uniqueness and approximation of saddle-point problems arising from lagrangian multipliers*, ESAIM Math. Model. Numer. Anal. **8** (1974), no. 2, 129-151.

9. T. Chaumont-Frelet, A. Ern, and J. Vohralík, *Polynomial-degree-robust H(curl)-stability of discrete minimization in a tetrahedron*, C. R. Math. Acad. Sci. Paris **358** (2020), 1101-1110.

10. ————, *Stable broken H(curl) polynomial extensions and p-robust a posteriori error estimates by broken patchwise equilibration for the curl-curl problem*, accepted in Math. Comp., 2021.

11. T. Chaumont-Frelet and M. Vohralík, *p-robust equilibrated flux reconstruction in H(curl) based on local minimizations. application to a posteriori analysis of the curl-curl problem*, preprint arXiv:2105.07770, 2021.

12. P.G. Ciarlet, *The finite element method for elliptic problems*, SIAM, 2002.

13. M. Costabel, M. Dauge, and S. Nicaise, *Singularities of Maxwell interface problems*, ESAIM Math. Model. Numer. Anal. **33** (1999), no. 3, 627-649.

14. P. Destuynder and B. Métivet, *Explicit error bounds in a conforming finite element method*, Math. Comp. **68** (1999), 1379-1396.

15. C. Dobrzynski, *MMG3D: User guide*, Tech. Report 422, Inria, France, 2012.

16. A. Ern and M. 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** (2015), no. 2, 1058-1081.

17. ————, *Stable broken H¹ and H(div) polynomial extensions for polynomial-degree-robust potential and flux reconstruction in three space dimensions*, submitted, preprint hal-01422204, 2018.

18. P. Fernandes and G. Gilardi, *Magnetostatic and electrostatic problems in inhomogeneous anisotropic media with irregular boundary and mixed boundary conditions*, Math. Meth. Appl. Sci. **47** (1997), no. 4, 2872-2896.
19. J. Gedicke, S. Geevers, and I. Perugia, *An equilibrated a posteriori error estimator for arbitrary-order Nédélec elements for magnetostatic problems*, J. Sci. Comput. **83** (2020), no. 58.

20. J. Gedicke, S. Geevers, I. Perugia, and J. Schöberl, *A polynomial-degree-robust a posteriori error estimator for Nédélec discretizations of magnetostatic problems*, preprint arXiv:2004.08323, 2020.

21. C. Geuzaine and J.F. Remacle, *Gmsh: A 3-D finite element mesh generator with built-in pre-and post-processing facilities*, Int. J. Numer. Meth. Engrg. **79** (2009), 1309–1331.

22. V. Girault and P.A. Raviart, *Finite element methods for Navier-Stokes equations: theory and algorithms*, Springer-Verlag, 1986.

23. D.J. Griffiths, *Introduction to Electrodynamics*, Prentice Hall, 1999.

24. R. Hiptmair and C. Pechstein, *Discrete regular decompositions of tetrahedral discrete 1-forms*, ch. 7, pp. 199–258, De Gruyter, 2019.

25. P. Ladevèze and D. Leguillon, *Error estimate procedure in the finite method and applications*, SIAM J. Numer. Anal. **20** (2004), 485–509.

26. R. Luce and B.I. Wohlmuth, *A local a posteriori error estimator based on equilibrated fluxes*, SIAM J. Numer. Anal. **42** (2004), 1394–1414.

27. J.M. Melenk and B.I. Wohlmuth, *On residual-based a posteriori estimation in hp-FEM*, Adv. Comput. Math. **15** (2001), 311–331.

28. P. Monk, *Finite element methods for Maxwell's equations*, Oxford science publications, 2003.

29. J.C. Nédélec, *Mixed finite elements in $\mathbb{R}^3$*, Numer. Math. **35** (1980), 315–341.

30. S. Nicaise and E. Creusé, *A posteriori error estimation for the heterogeneous Maxwell equations on isotropic and anisotropic meshes*, Calcolo **40** (2003), 249–271.

31. L.E. Payne and H.F. Weinberger, *An optimal Poincaré inequality for convex domains*, Arch. Ration. Mech. Anal. **5** (1960), 1005–1036.

32. W. Prager and J.L. Synge, *Approximations in elasticity based on the concept of function space*, Quart. Appl. Math. **5** (1947), no. 3, 241–269.

33. P.A. Raviart and J.M. Thomas, *A mixed finite element method for 2nd order elliptic problems*, Mathematical Aspect of Finite Element Methods, Springer-Verlag, 1977.

34. J. Schöberl, *A posteriori error estimates for Maxwell equations*, Math. Comp. **77** (2017), 633–649.