Open Access

An a priori error estimate for interior penalty discretizations of the Curl-Curl operator on non-conforming meshes

Journal of Mathematics in Industry20166:4

DOI: 10.1186/s13362-016-0021-9

Received: 2 February 2016

Accepted: 27 April 2016

Published: 5 May 2016


We prove an a-priori error estimate for regularized Curl-Curl Problems which are discretized by the Interior Penalty/Nitsche’s Method on meshes non-conforming across interfaces. It is shown that the total error can be bounded by the best approximation error which in turn depends on the concrete choice of the approximation space \(V_{h}\). In this work we show that if \(V_{h}\) is the space of edge functions of the first kind of order k we can expect (suboptimal) convergence \(O(h^{k-1})\) as the mesh is refined. The numerical experiments in (Casagrande et al., SAM Report 2014-32, ETH Zürich, 2014) indicate that this bound is sharp for \(k=1\). Moreover it is shown that the regularization term can be made arbitrarily small without affecting the error in the \(\lvert \cdot \rvert_{\mathbf {curl}}\) semi-norm. A numerical experiment shows that the regularization parameter can be chosen in a wide range of values such that, at the same time, the discrete problem remains solvable and the error due to regularization is negligible compared to the discretization error.


discontinuous Galerkin non-conforming meshes interior penalty electromagnetics magnetostatics Curl-Curl operator


65N12 65N30 78M10

1 Introduction

In this work we study the 3D, magnetostatic boundary value problem,
$$\begin{aligned}& \nabla\times\bigl(\mu^{-1} \nabla\times \mathbf {A} \bigr) = \mathbf {j}^{i}, \quad \mbox{in } \Omega, \end{aligned}$$
$$\begin{aligned}& \mathbf {n} \times \mathbf {A} = \mathbf {g}_{D}, \quad \mbox{on } \partial\Omega, \end{aligned}$$
which can be used to calculate the magnetic field that originates from a divergence free, stationary current \(\mathbf {j}^{i}\). Herein μ denotes the magnetic permeability and \(\mathbf {g}_{D}\) prescribes Dirichlet boundary data. We seek the magnetic vector potential A that fulfills (1)-(2). The magnetic field is then \(\mathbf {B}=\nabla\times \mathbf {A}\). Note that if \(g_{D} \equiv0\) on Ω then (2) implies \((\nabla\times \mathbf {A}) \cdot \mathbf {n} = \mathbf {B} \cdot \mathbf {n} = 0\) on Ω which reflects the decay of the fields away from the source.

Note that the solution of the boundary value problem (1)-(2) is only unique up to a gradient field (if Ω is simply connected), which is not of importance if one is only interested in the magnetic field B. Thus it is possible to solve the ungauged problem (1)-(2) if the current \(\mathbf {j}^{i}\) lies in the range of the system matrix [2]. The latter is hard to enforce on non-conforming meshes (cf. Section 6) and it is simpler to gauge the formulation (1)-(2) or to add a regularization term to (1) so that the system matrix has full rank. In case of adding a regularization term to (1), one introduces a modeling error which must not dominate the approximation error of the numerical scheme.

In some applications like the simulation of electric machines or magnetic actuators, magnetic fields have to be computed in the presence of moving, rigid parts. Then one may use separate, moving sub-meshes for them in order to avoid remeshing. However, this leads to so-called ‘sliding interfaces’, i.e. meshes with hanging nodes (cf. Figure 1).
Figure 1

Sliding meshes. Initially conforming sub-meshes become non-conforming when the upper sub-mesh starts moving.

Our goal is to construct a method that approximates the solution of (1)-(2) in a way that is independent of the ‘non-conformity’ of the sub-meshes at the common interface. This problem has been tackled successfully in the framework of Mortar methods where the continuity constraints are incorporated directly into the trial-space [3] or they are enforced by additional Lagrange Multipliers [4]. However they come at the price of introducing either non-local shape functions or additional unknowns.

Another approach uses the Discontinuous Galerkin (DG) framework to solve problem (1)-(2) in the presence of hanging nodes. In [5] problem (1)-(2) is regularized by adding a \(\nabla( \nabla \cdot \mathbf {A} )\) term to (1) and is then solved by the locally discontinuous Galerkin method. However because of the additional regularization term, additional assumptions on the smoothness of the solution have to be made to prove convergence. Alternatively one can use a mixed DG formulation and enforce the gauge condition \(\nabla\cdot(\mu^{-1}\mathbf {A}) = 0\) explicitly to avoid the introduction of a regularization term [6]. The stability of this method for arbitrary, sliding meshes remains unclear: In [6] it is proven that the mixed method yields the expected rates of convergence on conforming meshes and the experimental results in [7] show that it also works on adaptively refined meshes with hanging nodes. However, in light of the results in Section 6.1 and in [8] it is not clear that the constant in the inf-sup condition of [6] is independent of the ‘non-conformity’ of the sub-meshes at the common interface.

We study a different approach: We apply the Interior Penalty/Nitsche’s Method [9] to the regularized magnetostatic problem,
$$\begin{aligned}& \nabla\times\bigl(\mu^{-1} \nabla\times \mathbf {A} \bigr) + \varepsilon \mu^{-1} \mathbf {A} = \mathbf {j}^{i},\quad \mbox{in } \Omega, \end{aligned}$$
$$\begin{aligned}& \mathbf {n} \times \mathbf {A} = \mathbf {g}_{D},\quad \mbox{on } \partial\Omega. \end{aligned}$$
Here \(0 < \varepsilon\ll1\) is the regularization parameter. In an earlier investigation [1] it was shown experimentally that the Interior Penalty Method solves problem (3)-(4) successfully if second order edge functions of the first kind are used. Moreover it was shown that first order edge functions fail to converge to the exact solution as the mesh is refined. In this work we intend to give theoretical explanations of these observations and investigate the error that is introduced by the regularization term in (3).

We start our discussion in Section 2 by introducing Discontinuous Galerkin (DG) notations that were already introduced in [1] and which are needed to state the interior penalty formulation of (3)-(4) in Section 3. Section 3 also proves an a-priori bound of the total error in terms of the best approximation error for piecewise-polynomial test- and trial spaces \(V_{h}\). In Section 4 we analyze the particular case where \(V_{h}\) is the space of k-th order edge functions, \(R^{k}\). Combining the results of Sections 3 and 4 we get rates of convergence for the regularized problem (3)-(4). Section 5 is devoted to the choice of the local length scale appearing in the Interior Penalty formulation and presents numerical experiments underlining the results of Sections 3, 4. Section 6 discusses the role of the regularization parameter ε and how to choose it. We end our presentation with a short conclusion and outlook in Section 7.

2 Preliminaries

Before we can introduce the Symmetric Weighted Interior penalty (SWIP) formulation of (3)-(4) we give some definitions and notations (cf. [1]):

Subdomains and submeshes:

Let us assume that the domain Ω, on which (3)-(4) is posed, is a simply connected polyhedron with Lipschitz boundary. Furthermore we assume Ω to be split into two non-overlapping subdomains, \(\overline{\Omega_{1}} \cup\overline{\Omega_{2}} = \overline{\Omega}\).

We introduce a sequence of simplical meshes \(\mathcal{T}_{\mathcal{H}} = ( \mathcal{T}_{h} )_{h \in\mathcal{H}}\) on Ω. Here \(\mathcal{H}\) denotes a countable subset of \(\mathbb{R}^{+}\) having 0 as the only accumulation point. For each \(h \in\mathcal{H}\) we let \(\mathcal{T}_{h} \in\mathcal {T}_{\mathcal{H}}\) denote a particular mesh in the sequence \(\mathcal {T}_{\mathcal{H}}\) and we let \(T \in\mathcal{T}_{h}\) be a mesh element (tetrahedron). The meshwidth is defined as \(h= \max_{T \in\mathcal{T}_{h}} h_{T}\), where \(h_{T}\) is the diameter of element T.

We assume that each mesh \(\mathcal{T}_{h}\), which covers Ω, can be split into two conforming, non-overlapping submeshes, \(\mathcal {T}_{h} = \mathcal{T}_{h,1} \cup\mathcal{T}_{h,2}\), that cover \(\Omega _{1}\) and \(\Omega_{2}\), respectively. As before we define \(\mathcal{T}_{\mathcal{H},1} = (\mathcal {T}_{h,1} )_{h \in\mathcal{H}}\) and \(\mathcal{T}_{\mathcal{H},2} = (\mathcal{T}_{h,2} )_{h \in\mathcal{H}}\).

Furthermore we define \(\mathbb{F}_{T}\) to be the set of the four facets of a tetrahedron T. The intersection of two facets, is called an inner face while the intersection of a facet with the boundary Ω is called a boundary face. Note that facets are always triangular while inner faces are convex polygons with up to six nodes and boundary faces can have virtually any polygonal shape (cf. Figure 2). We denote by \(\mathcal{F}_{h}^{b}\) the set of all boundary faces, by \(\mathcal{F}_{h}^{i}\) the set of all inner faces and define \(\mathcal{F}_{h} = \mathcal{F}_{h}^{b} \cup\mathcal{F}_{h}^{i}\) to be the set of all faces. Furthermore, \(\mathcal{F}_{T}\) stands for the set of all faces which lie on the boundary of element T.
Figure 2

Non-conforming overlap of two submeshes. Consider two cuboids stacked upon each other (similar to Figure 1) which are meshed individually. This figure shows the restriction of the two submeshes \(\mathcal {T}_{h,1}\) and \(\mathcal{T}_{h,2}\) to the common interface and the inner/boundary intersections are marked.

Mesh assumptions:

We assume that the elements are shape regular in the sense of Ciarlet: There is a constant \(\sigma_{\mathrm{max}}\), independent of h, such that for all \(h \in\mathcal{H}\) and for all \(T \in\mathcal{T}_{h}\) we have
$$\begin{aligned} \frac{h_{T}}{\rho_{T}} \leq\sigma_{\mathrm{max}}, \end{aligned}$$
where \(\rho_{T}\) is the radius of the largest ball inscribed in T. It is easy to check that this condition is satisfied if two sequences of static sub-meshes are moved against each other. We will make additional assumptions about the mesh when we discuss choices for the local length scale in Section 5.

Magnetic permeability:

We assume there exists a partition \(P_{\Omega}= \{ \Omega_{i, \mu} \}\) such that each \(\Omega_{i, \mu}\) is a polyhedron and such that the permeability \(\mu>0\) is constant on each \(\Omega _{i,\mu}\). Furthermore the mesh sequence \(\mathcal{T}_{\mathcal{H}}\) is compatible with the partition \(P_{\Omega}\): For each \(\mathcal {T}_{h} \in\mathcal{T}_{\mathcal{H}}\), each element \(T \in\mathcal{T}_{h}\) belongs to exactly one \(\Omega_{i,\mu} \in P_{\Omega}\). I.e. the magnetic permeability is constant on each element but it is allowed to jump element boundaries, and in particular over the non-conforming interface \(\Gamma:= \overline{\Omega}_{1} \cap \overline {\Omega}_{2}\).

Polynomial approximation:

Later on we will seek the discrete solution in the piecewise polynomial space (cf. [10])
$$ \mathbb{P}^{k}(\mathcal{T}_{h}) := \bigl\{ p \in L^{2}(\Omega) \vert \forall T \in\mathcal{T}_{h}, p \vert _{T} \in\mathbb{P}^{k}(T) \bigr\} , $$
where \(\mathcal{T}_{h} \in\mathcal{T}_{\mathcal{H}}\) and \(\mathbb {P}^{k}(T)\) is the usual space of polynomials up to total degree k on mesh element T. \(L^{2}(\Omega)\) is the usual space of square integrable functions on Ω. Note that functions of \(\mathbb{P}^{k}(\mathcal{T}_{h})\) are discontinuous across element boundaries.

Mesh faces, jump and average operators:

For each mesh face F and vector valued function \(\mathbf {A}_{h} \in \mathbb{P}^{k}(\mathcal{T}_{h})^{3}\), we define the tangential jump as follows:
$$\begin{aligned} &\mbox{for } F \in\mathcal{F}^{i}_{h}, F = \partial T_{1} \cap\partial T_{2} , \quad [ \mathbf {A}_{h} ]_{T} := \mathbf {n}_{F} \times ( \mathbf {A}_{h} \vert _{T_{1}} - \mathbf {A}_{h} \vert _{T_{2}} ), \\ &\mbox{for } F \in\mathcal{F}^{b}_{h}, F \subseteq\partial T_{1} \cap \partial\Omega, \quad [ \mathbf {A}_{h} ]_{T} := \mathbf {n}_{F} \times \mathbf {A}_{h} \vert _{T_{1}}. \end{aligned}$$
The weighted average is defined similarly:
$$\begin{aligned} &\mbox{for } F \in\mathcal{F}^{i}_{h}, F = \partial T_{1} \cap\partial T_{2} , \quad \{ \mathbf {A}_{h} \}_{\omega} := \omega_{1} \mathbf {A}_{h} \vert _{T_{1}} + \omega_{2} \mathbf {A}_{h}\vert _{T_{2}}, \\ &\mbox{for } F \in\mathcal{F}^{b}_{h}, F \subseteq\partial T_{1} \cap \partial\Omega, \quad \{ \mathbf {A}_{h} \}_{\omega} := \mathbf {A}_{h} \vert _{T_{1}}. \end{aligned}$$
Here the normal \(\mathbf {n}_{F}\) always points from \(T_{1}\) to \(T_{2}\) and \(\omega_{1}, \omega_{2} \in[0,1]\) such that \(\omega_{1}+\omega_{2} = 1\). Note that the jump and average operators are well defined for all \(\mathbf {p} \in\mathbb{P}^{k}(\mathcal{T}_{h})^{3}\).

The following lemma relates the trace of a polynomial function to its \(L^{2}\) norm on the element (cf. [10], Lemma 1.46):

Lemma 1

(Discrete trace inequality)

Let \(\mathcal{T}_{\mathcal{H}}\) be a sequence of shape regular, possibly non-conforming, simplical meshes. Then for all \(h \in\mathcal{H}\), all \(v_{h} \in\mathbb{P}^{k}(\mathcal {T}_{h})\), and all \(T \in\mathcal{T}_{h}\) we have
$$\begin{aligned} h_{T}^{1/2} \lVert v_{h} \vert _{T} \rVert _{L^{2}(\partial T)} \leq C_{\mathrm{tr}} \lVert v_{h} \rVert_{L^{2}(T)}. \end{aligned}$$
Herein \(C_{\mathrm{tr}}\) is independent of T and h but depends on \(\sigma_{\mathrm{max}}\), k.

Function spaces:

We will use the spaces
$$\begin{aligned}& \mathbf {H}(\mathbf {curl}; \Omega) := \bigl\{ \mathbf {f} \in L^{2}( \Omega)^{3} \vert \lVert\nabla\times \mathbf {f} \rVert_{L^{2}(\Omega )^{3}} < \infty \bigr\} , \\& H^{s}(P_{\Omega}) := \bigl\{ f \in L^{2}( \Omega) \vert \forall \Omega_{i,\mu} \in P_{\Omega}: f \vert _{\Omega_{i,\mu}} \in H^{s}(\Omega_{i,\mu}) \bigr\} . \end{aligned}$$
Herein \(H^{s}(\Omega) = W^{s,2}(\Omega)\) is the Sobolev space of order s with Hölder coefficient \(p=2\). The associated norms and semi-norms are
$$\begin{aligned}& \lVert \mathbf {f} \rVert_{\mathbf {H}(\mathbf {curl};\Omega)}^{2} := \lVert \mathbf {f} \rVert^{2}_{L^{2}(\Omega )^{3}} + \lvert \mathbf {f} \rvert^{2}_{\mathbf {H}(\mathbf {curl};\Omega )},\qquad \lvert \mathbf {f} \rvert_{\mathbf {H}(\mathbf {curl}; \Omega)}^{2} := \lVert\nabla\times \mathbf {f} \rVert_{L^{2}(\Omega)^{3}}^{2}, \\& \lVert f \rVert_{H^{s}(P_{\Omega})}^{2} := \sum _{i=1}^{N} \lVert f \rVert_{H^{s}(\Omega_{i,\mu})}^{2} . \end{aligned}$$

3 Symmetric Weighted Interior penalty (SWIP) formulation

We chose an arbitrary subspace \(V_{h} \subseteq\mathbb{P}^{k}(\mathcal {T}_{h})^{3}\) as discrete test and trial space, and use integration by parts (cf. [10, 11] for details) to arrive at the SWIP formulation of (3): Find \(\mathbf {A}_{h} \in V_{h}\) subject to
$$\begin{aligned} a_{h}^{\mathrm{SWIP}}\bigl(\mathbf {A}_{h}, \mathbf {A}'_{h}\bigr) = \ell_{h}\bigl( \mathbf {A}'_{h}\bigr)\quad \mbox{for all } \mathbf {A}'_{h} \in V_{h} . \end{aligned}$$
$$\begin{aligned} &a_{h}^{\mathrm{SWIP}}\bigl(\mathbf {A}_{h}, \mathbf {A}'_{h}\bigr) := \int_{\Omega} \bigl(\mu^{-1} \nabla\times \mathbf {A}_{h} \bigr) \cdot \bigl(\nabla\times \mathbf {A}'_{h} \bigr) \\ &\hphantom{a_{h}^{\mathrm{SWIP}}\bigl(\mathbf {A}_{h}, \mathbf {A}'_{h}\bigr) :=}{}- \sum_{F\in\mathcal{F}_{h}} \int_{F} \bigl\{ \mu^{-1} \nabla\times \mathbf {A}_{h} \bigr\} _{\omega}\cdot \bigl[ \mathbf {A}'_{h} \bigr]_{T} - \sum_{F\in\mathcal{F}_{h}} \int_{F} \bigl\{ \mu^{-1} \nabla\times \mathbf {A}'_{h} \bigr\} _{\omega}\cdot [ \mathbf {A}_{h} ]_{T} \\ &\hphantom{a_{h}^{\mathrm{SWIP}}\bigl(\mathbf {A}_{h}, \mathbf {A}'_{h}\bigr) :=} {}+ \sum_{F\in\mathcal{F}_{h}} \frac{\eta\gamma_{\mu, F}}{a_{F}} \int_{F} [\mathbf {A}_{h} ]_{T} \cdot \bigl[ \mathbf {A}'_{h} \bigr]_{T} + \varepsilon \int_{\Omega}\mu^{-1} \mathbf {A}_{h} \cdot \mathbf {A}'_{h}, \end{aligned}$$
$$\begin{aligned} & \ell_{h}\bigl(\mathbf {A}'_{h}\bigr) := \int_{\Omega} \mathbf {j}^{i} \cdot \mathbf {A}'_{h} - \sum_{F \in\mathcal{F}^{b}_{h}} \int_{F} \bigl\{ \mu^{-1} \nabla \times \mathbf {A}'_{h} \bigr\} _{\omega} \cdot(\mathbf {n} \times \mathbf {g}_{D}) \\ &\hphantom{\ell_{h}\bigl(\mathbf {A}'_{h}\bigr) :=}{}+\sum_{F \in\mathcal{F}^{b}_{h}} \frac{\eta\gamma_{\mu,F}}{a_{F}} \int_{F} \bigl[\mathbf {A}'_{h} \bigr]_{T} \cdot(\mathbf {n} \times \mathbf {g}_{D}), \end{aligned}$$
where η is the penalty parameter. The last four terms of \(a_{h}^{\mathrm{SWIP}}\) are called consistency, symmetry, penalty, regularization term, respectively. For an inner face \(F \in\mathcal{F}^{i}_{h}\), \(F=\partial T_{1} \cap \partial T_{2}\), we chose the weights
$$\begin{aligned} \gamma_{\mu, F} := \frac{2}{\mu_{1} + \mu_{2}}, \qquad \omega_{1} := \frac {\mu_{1}}{\mu_{1} + \mu_{2}}, \qquad \omega_{2} := \frac{\mu_{2}}{\mu_{1} + \mu_{2}}. \end{aligned}$$
If F is a boundary face, \(F\in\mathcal{F}^{b}_{h}\), we choose \(\gamma _{\mu,F} := \mu^{-1}\). The term \(a_{F}\) is the local length scale of face F and can be chosen in different ways (e.g. \(a_{F} = \frac {1}{2}(h_{T_{1}} + h_{T_{2}})\) where \(h_{T_{1}}\), \(h_{T_{2}}\) are the diameters of the neighboring elements). For now we assume that there exists a constant \(\varsigma_{2} > 0\) such that for all \(h \in\mathcal{H}\), all \(T \in\mathcal{T}_{h}\), and all \(F \in\mathcal{F}_{T}\):
$$\begin{aligned} 0 < a_{F} \leq\varsigma_{2} h_{T}. \end{aligned}$$
In Section 5 we will look at concrete choices of \(a_{F}\) and discuss the circumstances under which (11) is fulfilled. It will turn out that depending on the choice of \(a_{F}\) we have to make additional assumptions about the mesh regularity to guarantee (11).

Remark 1

If \(V_{h} \subseteq \mathbf {H}(\mathbf {curl}; \Omega)\), then all inner tangential jumps in (9) will drop out [11], Lemma 3.8, and only jumps at the boundary remain, i.e. we are left with a standard FEM formulation where the inhomogeneous boundary conditions (2) are enforced in a weak sense.

3.1 A priori error estimate

In the following we derive an error estimate in the ‘energy-norm’ for the variational problem (8).

Regularity of the exact solution:

We assume that the exact solution A of (3)-(4) (in the sense of distributions) is such that
$$\begin{aligned} \mathbf {A} \in V^{*} := \bigl\{ \mathbf {A} \in \mathbf {H}(\mathbf {curl}; \Omega) \cap H^{1}(P_{\Omega})^{3} |\nabla\times \mathbf {A} \in H^{1}(P_{\Omega})^{3} \bigr\} . \end{aligned}$$
Furthermore, we set \(V^{*}_{h} := V^{*} + V_{h}\). Note that, because A and \(\nabla\times \mathbf {A}\) are in \(H^{1}(P_{\Omega})^{3}\) the traces of A and \(\nabla\times \mathbf {A}\) are well defined on the faces of the mesh elements (cf. [10], Remark 1.26). Indeed, let \(T \in\mathcal{T}_{h}\) be a mesh element, then by the multiplicative trace inequality [12], Theorem 1.6.6, \(\lVert \mathbf {A} \rVert_{L^{2}(\partial T)^{3}} < C_{\mathrm{tr}} \lVert \mathbf {A} \rVert_{L^{2}(T)^{3}}^{1/2} \lVert \mathbf {A} \rVert_{H^{1}(T)^{3}}^{1/2}\), and the same estimate holds for \(\nabla\times \mathbf {A}\). Therefore we see that \(a_{h}^{\mathrm{SWIP}} : V^{*}_{h} \times V_{h} \to\mathbb {R}\) is well defined.

In order for the right-hand side to be well-posed we assume \(\mathbf {j}^{i} \in L^{2}(\Omega)^{3}\) and \(\mathbf {g}_{D} = L^{2}(\partial\Omega)^{3}\).

We begin the proof of the a priori error estimate by showing that the exact solution A fulfills equation (8):

Lemma 2


Assume \(\mathbf {A} \in V^{*}\) is the exact solution of (3)-(4). Then, for all \({\mathbf {A}'_{h} \in V_{h}}\),
$$\begin{aligned} a_{h}^{\mathrm{SWIP}}\bigl(\mathbf {A},\mathbf {A}'_{h} \bigr) = \ell_{h} \bigl(\mathbf {A}'_{h} \bigr). \end{aligned}$$


Since \(\mathbf {A} \in \mathbf {H}(\mathbf {curl},\Omega)\), A is tangentially continuous across all element boundaries (cf. Lemma 3.8 in [11]). Thus all inner jump terms drop out,
$$\begin{aligned} a_{\mathrm{h}}^{\mathrm{SWIP}}\bigl(\mathbf {A},\mathbf {A}'_{h} \bigr) =& \int_{\Omega}\biggl(\frac {1}{\mu} \nabla\times \mathbf {A} \biggr) \cdot \bigl(\nabla\times \mathbf {A}'_{h} \bigr) - \sum _{F \in\mathcal{F}_{h}} \int_{F} \bigl\{ \mu^{-1}\nabla\times \mathbf {A} \bigr\} _{\omega} \cdot \bigl[ \mathbf {A}'_{h} \bigr]_{T} \\ & {}- \sum_{F \in\mathcal{F}_{h}^{b}} \int_{F} \bigl\{ \mu^{-1} \nabla \times \mathbf {A}'_{h} \bigr\} _{\omega} \cdot [ \mathbf {A} ]_{T} \\ & {}+ \sum_{F \in\mathcal{F}_{h}^{b}} \frac{\eta\gamma_{\mu,F}}{a_{F}} \int_{F} [ \mathbf {A} ]_{T} \cdot \bigl[ \mathbf {A}'_{h} \bigr]_{T} + \int_{\Omega}\frac{\varepsilon}{\mu} \mathbf {A}_{h} \cdot \mathbf {A}'_{h} . \end{aligned}$$
Note that the last two sums include only boundary faces. Next we make use of the following identity (which holds for any interior face \(F=\partial T_{1} \cap\partial T_{2}\))
$$\begin{aligned}{} [ \mathbf {a} \times \mathbf {b} ]_{n}&= (\mathbf {a}_{1} \times \mathbf {b}_{1} - \mathbf {a}_{2} \times \mathbf {b}_{2}) \cdot \mathbf {n}_{F} \\ &= \bigl( ( \omega_{1} \mathbf {a}_{1} + \omega_{2} \mathbf {a}_{2} ) \times (\mathbf {b}_{1}-\mathbf {b}_{2} ) + ( \mathbf {a}_{1}-\mathbf {a}_{2} ) \times (\omega_{2} \mathbf {b}_{1} + \omega_{1} \mathbf {b}_{2} ) \bigr) \cdot \mathbf {n}_{F} \\ &= - \{ \mathbf {a} \}_{\omega} \cdot [ \mathbf {b} ]_{T} + [ \mathbf {a} ]_{T} \cdot \{ \mathbf {b} \} _{\overline{\omega}}. \end{aligned}$$
Here \(\{ \mathbf {b} \}_{\overline{\omega}} := (\omega_{2} \mathbf {b}_{1} + \omega_{1} \mathbf {b}_{2} )\) is the skew-weighted average and \([ \mathbf {b} ]_{n} := (\mathbf {b}_{1} - \mathbf {b}_{2}) \cdot \mathbf {n}_{F}\) is the normal jump. Let us apply the identity to the second term of (13):
$$\begin{aligned} &{-} \sum_{F \in\mathcal{F}_{h}} \int_{F} \bigl\{ \mu^{-1}\nabla\times \mathbf {A} \bigr\} _{\omega} \cdot \bigl[ \mathbf {A}'_{h} \bigr]_{T}\\ &\quad = \sum_{F \in\mathcal{F}_{h}^{i}} \int_{F} \bigl[ \bigl(\mu^{-1} \nabla \times \mathbf {A} \bigr) \times \mathbf {A}'_{h} \bigr]_{n} - \sum_{F \in\mathcal{F}_{h}^{i}} \int_{F} \underbrace{ \bigl[ \mu^{-1} \nabla\times \mathbf {A} \bigr]_{T}}_{=0} \mathrel{\cdot} \bigl\{ \mathbf {A}'_{h} \bigr\} _{\overline{\omega}} \\ &\qquad {}- \sum_{F \in\mathcal{F}_{h}^{b}} \int_{F} \bigl\{ \mu^{-1} \nabla \times \mathbf {A} \bigr\} _{\omega} \cdot \bigl[ \mathbf {A}'_{h} \bigr]_{T}. \end{aligned}$$
The second term on the right-hand side vanishes because A is a solution of the strong formulation (3). Thus \(\mu^{-1} \nabla\times \mathbf {A} \in \mathbf {H}(\mathbf {curl}; \Omega)\), which implies that \(\mu^{-1} \nabla\times \mathbf {A}\) is tangentially continuous. Note that for all \(F \in\mathcal{F}^{b}_{h}\): \(\{ \mu^{-1} \nabla\times \mathbf {A} \}_{\omega} \cdot [ \mathbf {A}'_{h} ]_{T} = - [ (\mu^{-1} \nabla \times \mathbf {A} ) \times \mathbf {A}'_{h} ]\cdot \mathbf {n}_{F}\) so we can rearrange the face contributions to the element boundaries,
$$\begin{aligned} - \sum_{F \in\mathcal{F}_{h}} \int_{F} \bigl\{ \mu^{-1}\nabla\times \mathbf {A} \bigr\} _{\omega} \cdot \bigl[ \mathbf {A}'_{h} \bigr]_{T} = \sum_{T \in\mathcal{T}_{h}} \int_{\partial T} \bigl(\mu^{-1} (\nabla\times \mathbf {A} ) \times \mathbf {A}'_{h} \bigr)\cdot \mathbf {n}_{T}. \end{aligned}$$
Now substitute (14) into (13) and use integration by parts on each mesh element [13], Theorem 3.29:
$$\begin{aligned} a_{\mathrm{h}}^{\mathrm{SWIP}}\bigl(\mathbf {A},\mathbf {A}'_{h} \bigr) =& \sum_{T \in\mathcal {T}_{h}} \int_{T} \nabla\times \biggl(\frac{1}{\mu} \nabla\times \mathbf {A} \biggr) \cdot \mathbf {A}'_{h} + \varepsilon \int_{\Omega}\mu^{-1} \mathbf {A}_{h} \cdot \mathbf {A}'_{h} \\ &{}-\sum_{F \in\mathcal{F}_{h}^{b}} \int_{F} \bigl\{ \mu^{-1} \nabla \times \mathbf {A}'_{h} \bigr\} _{\omega} \cdot [ \mathbf {A} ]_{T} + \sum_{F \in\mathcal{F}_{h}^{b}} \frac{\eta\gamma_{\mu,F}}{a_{F}} \int_{F} [ \mathbf {A} ]_{T} \cdot \bigl[ \mathbf {A}'_{h} \bigr]_{T} \\ \stackrel{\text{(3)-(4)}}{=} &\ell_{h}\bigl( \mathbf {A}'_{h}\bigr) . \end{aligned}$$
Let us introduce the following (semi-)norms on the space \(V^{*}_{h}\):
$$\begin{aligned}& \lVert \mathbf {A} \rVert^{2}_{\mathrm{SWIP}} := \bigl\lVert \mu ^{-1/2} \nabla\times \mathbf {A} \bigr\rVert _{L^{2}(\Omega)^{3}}^{2} + \varepsilon \bigl\lVert \mu^{-1/2} \mathbf {A} \bigr\rVert ^{2}_{L^{2}(\Omega)^{3}} + \lvert \mathbf {A} \rvert_{j, \mu}^{2} , \\& \lvert \mathbf {A} \rvert^{2}_{j,\mu} := \sum _{F \in \mathcal{F}_{h}} \frac{\gamma_{\mu , F}}{a_{F}} \bigl\lVert [ \mathbf {A} ]_{T} \bigr\rVert ^{2}_{L^{2}(F)^{3}} , \\& \lVert \mathbf {A} \rVert^{2}_{{\mathrm{SWIP}},*} := \lVert \mathbf {A} \rVert^{2}_{\mathrm{SWIP}} + \sum_{T \in\mathcal{T}_{h}} h_{T} \bigl\lVert \mu^{-1/2} \nabla\times \mathbf {A} \vert _{T} \bigr\rVert ^{2}_{L^{2}(\partial T)^{3}} . \end{aligned}$$

Lemma 3

(Bound on consistency term)

For all \(\mathbf {A}, \mathbf {A}' \in V^{*}_{h}\) there holds
$$\begin{aligned} &\biggl\vert \sum_{F\in\mathcal{F}_{h}} \int_{F} \bigl\{ \mu^{-1} \nabla \times \mathbf {A} \bigr\} _{\omega} \cdot \bigl[ \mathbf {A}' \bigr]_{T} \biggr\vert \\ &\quad \leq \varsigma_{2}^{1/2} \biggl\{ \sum _{T\in\mathcal{T}_{h}} h_{T} \bigl\lVert \mu ^{-1/2} \nabla\times \mathbf {A}\vert _{T} \bigr\rVert ^{2}_{L^{2}(\partial T)^{3}} \biggr\} ^{1/2} \bigl\lvert \mathbf {A}' \bigr\rvert _{j,\mu} . \end{aligned}$$
Here \(h_{T} := \max \{ \lVert x-y \rVert | x,y \in \overline{T} \}\) is the diameter of mesh element \(T \in\mathcal{T}_{h}\).


For an arbitrary inner face \(F = \partial T_{1} \cap\partial T_{2}\) we have by the Cauchy-Schwarz (CS) inequality
$$\begin{aligned} &\biggl\vert \int_{F} \bigl\{ \mu^{-1} \nabla\times \mathbf {A} \bigr\} _{\omega} \cdot \bigl[ \mathbf {A}' \bigr]_{T} \biggr\vert \\ &\quad \leq\biggl\vert \int_{F} \biggl( \frac{\omega_{1}}{\mu_{1}} \nabla\times \mathbf {A}_{1} + \frac{\omega_{2}}{\mu_{2}}\nabla\times \mathbf {A}_{2} \biggr)^{2} \biggr\vert ^{1/2} \biggl\vert \int_{F} \bigl\lVert \bigl[ \mathbf {A}' \bigr]_{T} \bigr\rVert ^{2} \biggr\vert ^{1/2}. \end{aligned}$$
By using Cauchy-Schwarz again we see that
$$\begin{aligned} &\biggl\lVert \frac{\omega_{1}}{\mu_{1}} \nabla\times \mathbf {A}_{1} + \frac {\omega_{2}}{\mu _{2}}\nabla\times \mathbf {A}_{2} \biggr\rVert \\ &\quad \leq \biggl(\frac{\omega_{1}^{2}}{\mu_{1}} + \frac{\omega_{2}^{2}}{\mu _{2}} \biggr)^{1/2} \bigl( \bigl\lVert \mu^{-1/2}_{1} \nabla\times \mathbf {A}_{1} \bigr\rVert ^{2} + \bigl\lVert \mu_{2}^{-1/2} \nabla\times \mathbf {A}_{2} \bigr\rVert ^{2} \bigr)^{1/2} \\ &\quad \leq a_{F}^{1/2} \biggl(\frac{\gamma_{\mu,F}}{a_{F}} \biggr)^{1/2} \bigl( \bigl\lVert \mu^{-1/2}_{1} \nabla \times \mathbf {A}_{1} \bigr\rVert ^{2} + \bigl\lVert \mu_{2}^{-1/2} \nabla\times \mathbf {A}_{2} \bigr\rVert ^{2} \bigr)^{1/2}. \end{aligned}$$
Substitute this back into (15) to get
$$\begin{aligned} &\biggl\vert \int_{F} \bigl\{ \mu^{-1} \nabla\times \mathbf {A} \bigr\} _{\omega} \cdot \bigl[ \mathbf {A}' \bigr]_{T} \biggr\vert \\ &\quad \leq \biggl(\frac{\gamma_{\mu,F}}{a_{F}} \biggr)^{1/2} \bigl\lVert \bigl[ \mathbf {A}' \bigr]_{T} \bigr\rVert _{L^{2}(F)^{3}} \biggl[ a_{F} \int_{F} \bigl( \bigl\lVert \mu_{1}^{-1/2} \nabla\times \mathbf {A}_{1} \bigr\rVert ^{2} + \bigl\lVert \mu_{2}^{-1/2} \nabla\times \mathbf {A}_{2} \bigr\rVert ^{2} \bigr) \biggr]^{1/2}. \end{aligned}$$
Similarly, for a boundary face \(F \in\mathcal{F}^{b}_{h}\) we have
$$ \begin{aligned}[b]&\biggl\vert \int_{F} \bigl\{ \mu^{-1} \nabla\times \mathbf {A} \bigr\} _{\omega} \cdot \bigl[ \mathbf {A}' \bigr]_{T} \biggr\vert \\ &\quad \stackrel{\text{(CS)}}{\leq} \frac{1}{\sqrt{\mu a_{F}}} \bigl\lVert \bigl[ \mathbf {A}' \bigr]_{T} \bigr\rVert _{L^{2}(F)^{3}} \biggl\vert a_{F} \int_{F} \bigl\lVert \mu^{-1/2} \nabla\times \mathbf {A} \bigr\rVert ^{2}\biggr\vert ^{1/2}. \end{aligned} $$
Now use (16)-(17) to bound the sum over all faces,
$$\begin{aligned}& \biggl\vert \sum_{F\in\mathcal{F}^{b}_{h}} \int_{F} \bigl\{ \mu^{-1} \nabla\times \mathbf {A} \bigr\} _{\omega} \cdot \bigl[ \mathbf {A}' \bigr]_{T} + \sum _{F\in\mathcal{F}^{i}_{h}} \int_{F} \bigl\{ \mu^{-1} \nabla\times \mathbf {A} \bigr\} _{\omega} \cdot \bigl[ \mathbf {A}' \bigr]_{T} \biggr\vert \\& \textstyle\begin{array}{rcl} & \quad \stackrel{\text{(16)-(17)}}{\leq} &\displaystyle\sum _{F \in\mathcal{F}^{b}_{h}} \frac{1}{\sqrt{\mu a_{F}}} \bigl\lVert \bigl[ \mathbf {A}' \bigr]_{T} \bigr\rVert _{L^{2}(F)^{3}} \biggl\{ a_{F} \int_{F} \bigl\lVert \mu^{-1/2} \nabla\times \mathbf {A} \bigr\rVert ^{2} \biggr\} ^{1/2} \\ &&\displaystyle{}+\sum_{F \in\mathcal{F}^{i}_{h}} \biggl(\frac{\gamma_{\mu,F}}{a_{F}} \biggr)^{1/2} \bigl\lVert \bigl[ \mathbf {A}' \bigr]_{T} \bigr\rVert _{L^{2}(F)^{3}} \biggl\{ a_{F} \int_{F} \bigl( \bigl\lVert \mu_{1}^{-1/2} \nabla\times \mathbf {A}_{1} \bigr\rVert ^{2} \\ &&\displaystyle{}+ \bigl\lVert \mu _{2}^{-1/2} \nabla\times \mathbf {A}_{2} \bigr\rVert ^{2} \bigr) \biggr\} ^{1/2} \\ & \stackrel{\text{(CS)}}{\leq} &\displaystyle\biggl\{ \sum_{F \in\mathcal{F}_{h}} \frac{\gamma_{\mu,F}}{a_{F}} \bigl\lVert \bigl[ \mathbf {A}' \bigr]_{T} \bigr\rVert _{L^{2}(F)^{3}}^{2} \biggr\} ^{1/2} \\ &&\displaystyle{}\times\biggl\{ \sum_{F \in\mathcal{F}^{i}_{h}} a_{F} \int_{F} \bigl( \bigl\lVert \mu_{1}^{-1/2} \nabla \times \mathbf {A}_{1} \bigr\rVert ^{2} + \bigl\lVert \mu_{2}^{-1/2} \nabla\times \mathbf {A}_{2} \bigr\rVert ^{2} \bigr) \\ && \displaystyle{}+ \sum_{F \in\mathcal{F}^{b}_{h}} a_{F} \int_{F} \bigl\lVert \mu^{-1/2} \nabla\times \mathbf {A} \bigr\rVert ^{2} \biggr\} ^{1/2} \\ & \leq&\displaystyle\varsigma_{2}^{1/2} \biggl\{ \sum _{T \in\mathcal{T}_{h}} h_{T} \int _{\partial T} \bigl\lVert \mu^{-1/2} \nabla\times \mathbf {A} |_{T} \bigr\rVert ^{2} \biggr\} ^{1/2} \bigl\lvert \mathbf {A}' \bigr\rvert _{j,\mu} , \end{array}\displaystyle \end{aligned}$$
where we have regrouped the face contributions and used that \(a_{F} \leq \varsigma_{2} h_{T}\) in the last step, cf. (11). □

Using Lemma 3 we can finally prove discrete coercivity.

Lemma 4

(Discrete coercivity)

The bilinear form \(a_{\mathrm{h}}^{\mathrm{SWIP}}\) is coercive: For all \(\eta > C_{tr}^{2} \varsigma_{2}\) and all \(h \in\mathcal{H}\) there holds
$$\begin{aligned} a_{\mathrm{h}}^{\mathrm{SWIP}}(\mathbf {A}_{h}, \mathbf {A}_{h}) \geq C_{\mathrm{stab}} \lVert \mathbf {A}_{h} \rVert_{\mathrm{SWIP}}^{2}\quad \forall \mathbf {A}_{h} \in V_{h} , \end{aligned}$$
with \(C_{\mathrm{stab}}=\min ( \frac{\eta-C_{\mathrm{tr}}^{2} \varsigma _{2}}{1+\eta}, 1 )\). The constant \(C_{\mathrm{tr}}\) stems from the discrete trace inequality (7) and is independent of h, μ, ε, \(\varsigma_{2}\).


By definition of \(a_{h}^{\mathrm{SWIP}}\) we have
$$\begin{aligned} a_{h}^{\mathrm{SWIP}}(\mathbf {A}_{h}, \mathbf {A}_{h}) =& \bigl\lVert \mu^{-1/2} \nabla\times \mathbf {A}_{h} \bigr\rVert _{L^{2}(\Omega)^{3}}^{2} \\ &{}- 2 \sum _{F \in\mathcal{F}_{h}} \int_{F} \bigl\{ \mu^{-1}\nabla \times \mathbf {A}_{h} \bigr\} _{\omega}\cdot [ \mathbf {A}_{h} ]_{T} \\ &{}+\sum_{F \in\mathcal{F}_{h}} \frac{\eta\gamma_{\mu, F}}{a_{F}} \bigl\lVert [ \mathbf {A}_{h} ]_{T} \bigr\rVert _{L^{2}(F)^{3}}^{2} + \varepsilon \bigl\lVert \mu^{-1/2} \mathbf {A}_{h} \bigr\rVert _{L^{2}(\Omega)^{3}}^{2}. \end{aligned}$$
Now let us give a bound on the second term on the right-hand side using Lemma 3,
$$\begin{aligned} &\biggl\vert \sum_{F \in\mathcal{F}_{h}} \int_{F} \bigl\{ \mu^{-1}\nabla \times \mathbf {A}_{h} \bigr\} _{\omega}\cdot [ \mathbf {A}_{h} ]_{T} \biggr\vert \\ &\quad \leq \varsigma_{2}^{1/2} \biggl\{ \sum_{T \in\mathcal{T}_{h}} h_{T} \bigl\lVert \mu ^{-1/2}\nabla\times \mathbf {A}_{h} \vert _{T} \bigr\rVert ^{2}_{L^{2}(\partial T)^{3}} \biggr\} ^{1/2} \lvert \mathbf {A}_{h} \rvert_{j,\mu} \\ &\quad \leq C_{\mathrm{tr}} \varsigma_{2}^{1/2} \bigl\lVert \mu^{-1/2}\nabla \times \mathbf {A}_{h} \bigr\rVert _{L^{2}(\Omega)^{3}} \lvert \mathbf {A}_{h} \rvert_{j,\mu} , \end{aligned} $$
where we have used the discrete trace inequality (7) componentwise in the last step. Hence,
$$\begin{aligned} &a_{h}^{\mathrm{SWIP}}(\mathbf {A}_{h}, \mathbf {A}_{h}) \\ &\quad \geq\varepsilon \bigl\lVert \mu^{-1/2} \mathbf {A}_{h} \bigr\rVert ^{2}_{L^{2}(\Omega)^{3}} \\ &\qquad {}+ \underbrace{ \bigl\lVert \mu^{-1/2} \nabla\times \mathbf {A}_{h} \bigr\rVert _{L^{2}(\Omega )^{3}}^{2}}_{:= x^{2}} \mathrel{-}2 \underbrace{ C_{\mathrm{tr}} \varsigma_{2}^{1/2} }_{:= \beta} \bigl\lVert \mu ^{-1/2} \nabla\times \mathbf {A}_{h} \bigr\rVert _{L^{2}(\Omega )^{3}} \lvert \mathbf {A}_{h} \rvert_{j,\mu} + \eta \underbrace{ \lvert \mathbf {A}_{h} \rvert_{j,\mu }^{2}}_{:= y^{2}}. \end{aligned}$$
Now use the inequality \(x^{2}-2\beta x y + \eta y^{2} \geq\frac{\eta -\beta ^{2}}{1+\eta}(x^{2}+y^{2})\) which holds for arbitrary β, η, x, y as outlined above (it follows from \((\beta x-\eta y)^{2}+(x-\beta y)^{2} \geq0\)):
$$\begin{aligned} &a_{h}^{\mathrm{SWIP}}(\mathbf {A}_{h}, \mathbf {A}_{h}) \\ &\quad \geq\frac{\eta- C_{\mathrm{tr}}^{2}\varsigma_{2}}{1+\eta} \bigl( \bigl\lVert \mu^{-1/2} \nabla\times \mathbf {A}_{h} \bigr\rVert _{L^{2}(\Omega)^{3}}^{2} + \lvert \mathbf {A}_{h} \rvert_{j,\mu}^{2} \bigr) + \varepsilon \bigl\lVert \mu^{-1/2}\mathbf {A}_{h} \bigr\rVert _{L^{2}(\Omega)^{3}}^{2} \\ &\quad \geq C_{\mathrm{stab}} \bigl( \bigl\lVert \mu^{-1/2} \nabla\times \mathbf {A}_{h} \bigr\rVert _{L^{2}(\Omega)^{3}}^{2} + \lvert \mathbf {A}_{h} \rvert_{j,\mu}^{2} + \varepsilon \bigl\lVert \mu ^{-1/2}\mathbf {A}_{h} \bigr\rVert _{L^{2}(\Omega)^{3}}^{2} \bigr). \end{aligned}$$
Finally, we note that \(C_{\mathrm{stab}}>0\) if \(\eta> C_{\mathrm{tr}}^{2} \varsigma_{2} \) which completes the proof. □

Lemma 5


There exists a constant \(C_{\mathrm{bnd}}>0\) independent of h, μ, and ε such that for all \(\mathbf {A} \in V^{*}_{h}\), all \(\mathbf {A}'_{h} \in V_{h}\), all \(h\in\mathcal{H}\)
$$\begin{aligned} a_{\mathrm{h}}^{\mathrm{SWIP}}\bigl(\mathbf {A},\mathbf {A}'_{h} \bigr) \leq C_{\mathrm{bnd}} \lVert \mathbf {A} \rVert_{{\mathrm{SWIP}},*} \bigl\lVert \mathbf {A}'_{h} \bigr\rVert _{\mathrm{SWIP}} . \end{aligned}$$


We start by splitting the bilinear form \(a_{\mathrm{h}}^{\mathrm{SWIP}}\) into five terms,
$$\begin{aligned} a_{\mathrm{h}}^{\mathrm{SWIP}}\bigl(\mathbf {A},\mathbf {A}'_{h} \bigr) =& \int_{\Omega}\bigl(\mu ^{-1} \nabla\times \mathbf {A} \bigr) \cdot \bigl(\nabla\times \mathbf {A}'_{h} \bigr) - \sum _{F \in\mathcal{F}_{h}} \int_{F} \bigl\{ \mu^{-1}\nabla\times \mathbf {A} \bigr\} _{\omega} \cdot \bigl[ \mathbf {A}'_{h} \bigr]_{T} \\ &{}-\sum_{F \in\mathcal{F}_{h}} \int_{F} \bigl\{ \mu^{-1} \nabla\times \mathbf {A}'_{h} \bigr\} _{\omega} \cdot [ \mathbf {A} ]_{T}\\ &{} + \sum_{F \in\mathcal{F}_{h}} \frac{\eta\gamma_{\mu, F}}{a_{F}} \int_{F} [ \mathbf {A} ]_{T} \cdot \bigl[ \mathbf {A}'_{h} \bigr]_{T} + \int_{\Omega}\frac{\varepsilon}{\mu} \mathbf {A} \cdot \mathbf {A}'_{h} \\ =& T_{1} + T_{2} + T_{3} + T_{4} + T_{5}. \end{aligned}$$
We can now bound these terms individually,
$$\begin{aligned}& \lvert T_{1} \rvert \stackrel{\text{(CS)}}{\leq} \bigl\lVert \mu^{-1/2}\nabla\times \mathbf {A} \bigr\rVert _{L^{2}(\Omega )^{3}} \bigl\lVert \mu^{-1/2}\nabla\times \mathbf {A}'_{h} \bigr\rVert _{L^{2}(\Omega)^{3}} \leq \lVert \mathbf {A} \rVert_{\mathrm{SWIP}} \bigl\lVert \mathbf {A}'_{h} \bigr\rVert _{\mathrm{SWIP}}, \\& \lvert T_{2} \rvert \stackrel{\text{Lemma~3}}{\leq} \varsigma_{2}^{1/2} \lVert \mathbf {A} \rVert_{{\mathrm{SWIP}},*} \bigl\lVert \mathbf {A}'_{h} \bigr\rVert _{{\mathrm{SWIP}}} , \\& \textstyle\begin{array}{rcl} \lvert T_{3} \rvert & \stackrel{\text{Lemma~3}}{\leq}&\displaystyle \varsigma_{2}^{1/2} \biggl\{ \sum_{T \in\mathcal{T}_{h}} h_{T} \bigl\lVert \mu ^{-1/2}\nabla\times \mathbf {A}'_{h}\big| _{T} \bigr\rVert ^{2}_{L^{2}(\partial T)^{3}} \biggr\} ^{1/2} \lVert \mathbf {A} \rVert_{\mathrm{SWIP}} \\ &\stackrel{\text{Lemma~1}}{\leq} &\displaystyle C_{\mathrm{tr}} \varsigma_{2}^{1/2} \bigl\lVert \mu^{-1/2} \nabla\times \mathbf {A}'_{h} \bigr\rVert _{L^{2}(\Omega)^{3}} \lVert \mathbf {A} \rVert_{\mathrm{SWIP}} \\ &\leq&\displaystyle C_{\mathrm{tr}} \varsigma_{2}^{1/2} \bigl\lVert \mathbf {A}'_{h} \bigr\rVert _{\mathrm{SWIP}} \lVert \mathbf {A} \rVert_{\mathrm{SWIP}} , \end{array}\displaystyle \\& \lvert T_{4} \rvert \stackrel{\text{(CS)}}{\leq} \eta \lvert \mathbf {A} \rvert_{j,\mu} \bigl\lvert \mathbf {A}'_{h} \bigr\rvert _{j,\mu} \leq\eta \lVert \mathbf {A} \rVert_{\mathrm{SWIP}} \bigl\lVert \mathbf {A}'_{h} \bigr\rVert _{\mathrm{SWIP}}, \\& \lvert T_{5} \rvert \stackrel{\text{(CS)}}{\leq} \biggl\lVert \sqrt{\frac{\varepsilon}{\mu }} \mathbf {A} \biggr\rVert _{\mathrm{SWIP}} \biggl\lVert \sqrt{\frac{\varepsilon}{\mu}} \mathbf {A}'_{h} \biggr\rVert _{{\mathrm{SWIP}}} \leq \lVert \mathbf {A} \rVert_{\mathrm{SWIP}} \bigl\lVert \mathbf {A}'_{h} \bigr\rVert _{\mathrm{SWIP}} . \end{aligned}$$

Finally, we can combine the previous results into one theorem.

Theorem 1

(Error estimate)

Let \(\mathbf {A}\in V^{*}\) be a solution of the strong formulation (3)-(4) (in the sense of distributions) and let \(\mathbf {A}_{h} \in V_{h} \subseteq\mathbb {P}^{k}(\mathcal{T}_{h})^{3}\) solve the variational formulation (8). Then there exist constants \(C>0\), \(C_{\eta}>0\), both independent of h, μ, and ε such that for \(\eta> C_{\eta}\)
$$ \Vert \mathbf {A}-\mathbf {A}_{h}\Vert _{\mathrm{SWIP}} < C \inf _{\mathbf {v}_{h} \in V_{h}} \Vert \mathbf {A}-\mathbf {v}_{h} \Vert _{{\mathrm{SWIP}},*}, $$
and the discrete problem (8) is well-posed. The constant \(C_{\eta}\) depends on \(\varsigma_{2}\), k and C depends on η, \(\varsigma_{2}\), k.

This theorem tells us that the total error is bounded by the best approximation error (w.r.t. suitable norms). Note that we didn’t make any assumption on how the submeshes \(\mathcal {T}_{h,1}\) and \(\mathcal{T}_{h,2}\) meet at Γ. In order to get rates of convergence we will have to make additional assumptions about the approximation space \(V_{h}\) and the exact solution A. This will be the topic of Section 4.

Proof of Theorem 1

In this proof C denotes an arbitrary, positive constant that is independent of h, μ, ε, and that may take a different value every time it used. We begin by picking an arbitrary \(\mathbf {v}_{h} \in V_{h}\). Then, by the triangle inequality,
$$\begin{aligned} \lVert \mathbf {A}-\mathbf {A}_{h} \rVert_{\mathrm{SWIP}} \leq \lVert \mathbf {A}-\mathbf {v}_{h} \rVert_{\mathrm{SWIP}} + \lVert \mathbf {v}_{h}-\mathbf {A}_{h} \rVert_{\mathrm{SWIP}}. \end{aligned}$$
This is almost the statement of Theorem 1. It remains to bound \(\lVert \mathbf {A}_{h}-\mathbf {v}_{h} \rVert _{\mathrm{SWIP}}\),
$$\begin{aligned} \lVert \mathbf {A}_{h}-\mathbf {v}_{h} \rVert_{\mathrm{SWIP}} \stackrel {\text{Lemma 4}}{\leq} & C \frac{a_{\mathrm{h}}^{\mathrm{SWIP}}(\mathbf {A}_{h}-\mathbf {v}_{h}, \mathbf {A}_{h}-\mathbf {v}_{h})}{ \lVert \mathbf {A}_{h}-\mathbf {v}_{h} \rVert_{\mathrm{SWIP}}} \\ \stackrel{\text{Lemma 2}}{=} & C \frac{a_{\mathrm{h}}^{\mathrm{SWIP}}(\mathbf {A}-\mathbf {v}_{h}, \mathbf {A}_{h} - \mathbf {v}_{h})}{ \lVert \mathbf {A}_{h}-v_{h} \rVert_{\mathrm{SWIP}}} \\ \stackrel{\text{Lemma 5}}{\leq} & C \frac{ \lVert \mathbf {A}-\mathbf {v}_{h} \rVert_{{\mathrm{SWIP}},*} \lVert \mathbf {A}_{h}-\mathbf {v}_{h} \rVert_{\mathrm{SWIP}}}{ \lVert \mathbf {A}_{h}-\mathbf {v}_{h} \rVert_{\mathrm{SWIP}}} \\ = & C \lVert \mathbf {A}-\mathbf {v}_{h} \rVert_{{\mathrm{SWIP}},*} . \end{aligned}$$
Inserting this bound into (19) (which holds for arbitrary \(v_{h}\)) yields the assertion. Note that the bilinear form \(a_{h}^{\mathrm{SWIP}}\) is coercive (Lemma 4) and bounded (finite dimensions). Thus, Lax-Milgram assures the well-posedness of the discrete problem. □

Remark 2

Observe that for \(\varepsilon\to0\) the variational formulation (8) becomes ill-posed. To see this we observe that the \(\lVert\cdot \rVert _{\mathrm{SWIP}}\) norm ‘becomes’ a semi-norm as \(\varepsilon\to0\). In order to study the behavior as \(\varepsilon\to0\) it is thus desirable to state the discrete coercivity (Lemma 4) w.r.t. a norm that does not depend on ε: We use that \(\lVert \mathbf {A}_{h} \rVert_{\mathrm{SWIP}}^{2} \geq \varepsilon \lVert\mu ^{-1/2}\mathbf {A}_{h} \rVert_{L^{2}}^{2}\) and thus Lemma (4) can be rewritten as
$$\begin{aligned} a_{\mathrm{h}}^{\mathrm{SWIP}}(\mathbf {A}_{h}, \mathbf {A}_{h})\geq\varepsilon C_{\mathrm{stab}} \bigl\lVert \mu^{-1/2}\mathbf {A}_{h} \bigr\rVert ^{2}_{L^{2}}. \end{aligned}$$
We see now clearly that the coercivity constant depends linearly on ε, i.e. the discrete problem becomes ill-posed as \(\varepsilon\to0\).

4 Rate of convergence for edge functions

In the following we will bound the best approximation error appearing in Theorem 1 for edge functions of the first kind. For this we assume, in addition to (11), that \(a_{F}\) is uniformly bounded from below in the sense that there exists a constant \(\varsigma_{1}\) such that for all \(h \in\mathcal{H}\), all \(T \in\mathcal{T}_{h}\) and all \(F \in\mathcal{F}_{T}\) we have
$$\begin{aligned} a_{F} \geq\varsigma_{1} h_{T}. \end{aligned}$$
For the remainder of this section, let us choose \(V_{h}=R^{k}(\Omega_{1}) \oplus R^{k}(\Omega_{2}) \subset\mathbb{P}^{k}(\mathcal{T}_{h})^{3}\) where \(R^{k}\) is the space of k-th order edge functions (\(k=1\) are the lowest order, \(H(\mathbf {curl})\) conforming Whitney elements, cf. [13], Eq. (5.32)). Because the sub-meshes \(\mathcal{T}_{h,1}\), \(\mathcal{T}_{h,2}\) are conforming, the spaces \(R^{k}(\Omega_{1})\), \(R^{k}(\Omega_{2})\) are \(\mathbf {H}(\mathbf {curl})\) conforming. We can thus use the standard projection operator \(\mathbf {r}_{h}\) as it is defined in [13], Section 5.5, for edge functions on \(\Omega_{1}\), \(\Omega_{2}\) to build our global projection operator \(\mathbf {\pi }_{h} : V^{*} \to V_{h}\),
$$\begin{aligned} \mathbf {A} \mapsto \bigl(\mathbf {r}_{h} ( \mathbf {A}\vert _{\Omega _{1}} ), \mathbf {r}_{h} ( \mathbf {A}\vert _{\Omega _{2}} ) \bigr). \end{aligned}$$

The following theorem then gives an upper bound for the best approximation error of Theorem 1:

Theorem 2

Assume the exact solution of (3)-(4) is such that \(\mathbf {A} \in \mathbf {H}(\mathbf {curl},\Omega ) \cap H^{s}(\{\Omega_{1}, \Omega_{2}\})^{3}\), \(\nabla\times \mathbf {A} \in H^{s}(\{\Omega_{1}, \Omega_{2}\})^{3}\) with integer \(1 \leq s \leq k\). Then
$$\begin{aligned} \lVert \mathbf {A}-\pi_{h} \mathbf {A} \rVert_{{\mathrm{SWIP}},*} < C h^{s-1} \sum_{i=1}^{2} \bigl( \lVert \mathbf {A} \rVert_{H^{s}(\Omega_{i})} + \lVert\nabla\times \mathbf {A} \rVert_{H^{s}(\Omega_{i})} \bigr). \end{aligned}$$
Here C depends on μ, \(\varsigma_{1}\), k, ε but not on h. Moreover if \(\varepsilon< 1\), C is independent of ε.

Remark 3

By combining Theorem 2 with Theorem 1 we see that for a sufficiently smooth exact solution A, the total error \(\lVert \mathbf {A}-\mathbf {A}_{h} \rVert_{\mathrm{SWIP}} = O(h^{k-1})\) if k-th order edge functions are used. In comparison to standard FEM on conforming meshes one order of convergence is lost. Theoretically it is possible that there exists another projector \(\tilde{\pi}_{h}\) which would give a better rate of convergence, but numerical experiments show that Theorem 2 is sharp for \(k=1\) (see Section 5).

In order to prove the above theorem we will make use of two Lemmas to bound the face contributions.

Lemma 6

Let \(\mathcal{T}_{\mathcal{H},1}\) be a sequence of shape regular, conforming, simplical meshes of the domain \(\Omega_{1}\). Suppose there exists an integer \(1 \leq s \leq k\) such that \(\mathbf {u} \in H^{s}(\Omega_{1})^{3}\) and \(\nabla\times \mathbf {u} \in H^{s}(\Omega_{1})^{3}\). Then \(\forall T \in\mathcal{T}_{h,1} \in\mathcal{T}_{\mathcal{H},1}\)
$$\begin{aligned} \lVert \mathbf {u}-\mathbf {r}_{h} \mathbf {u} \rVert_{L^{2}(\partial T)^{3}} \leq C h^{s-1/2}_{T} \bigl( \lVert \mathbf {u} \rVert_{H^{s}(T)^{3}} + \lVert\nabla\times \mathbf {u} \rVert_{H^{s}(T)^{3}} \bigr), \end{aligned}$$
where C is independent of \(h_{T}\), T.

For the proof of Lemma 6 we refer the reader to [13], Lemma 5.52 (which is proven element-wise).

Lemma 7

Let \(\mathcal{T}_{\mathcal{H},1}\) be a sequence of shape regular, conforming, simplical meshes of \(\Omega_{1}\). Assume \(\mathbf {u} \in H^{s}(\Omega_{1})^{3}\) for some integer \(1 \leq s \leq k\) and u transforms such that it preserves the divergence, i.e. if \(F : \hat{T} \to T\), \(\hat{\mathbf {u}} \mapsto \mathbf {u}\) is an arbitrary mapping then u transforms as
$$\begin{aligned} \mathbf {u} \circ F = \frac{1}{ \lvert\det(\mathrm {D}F) \rvert} \mathrm {D}F \hat{\mathbf {u}}. \end{aligned}$$
Then the following estimate holds:
$$\begin{aligned} \lVert \mathbf {u}-\mathbf {w}_{T} \mathbf {u} \rVert_{L^{2}(\partial T)^{3}} \leq C h^{s-1/2}_{T} \lVert \mathbf {u} \rVert_{H^{s}(T)^{3}} \quad \forall T \in\mathcal{T}_{h,1} \in\mathcal {T}_{\mathcal{H},1}, \end{aligned}$$
where \(\mathbf {w}_{T} : H^{1}(T)^{3} \to D_{k}\) is the standard (local) interpolation operator for k-th order Thomas-Raviart elements \(D_{k}\) [13], Section 5.4. The constant C does not depend on \(h_{T}\)T.


In order to simplify notation we will assume in this proof that \(C>0\) is an arbitrary constant independent of h, T that may take a different value every time it is used. We note that since \(\mathbf {u} \in H^{s}(T)^{3}\), \(\mathbf {w}_{T}\mathbf {u}\) is well defined by [13], Lemma 5.15. Now split the integral over ∂T into its facet contributions,
$$\begin{aligned} \lVert \mathbf {u}-\mathbf {w}_{T} \mathbf {u} \rVert_{L^{2}(\partial T)^{3}}^{2} = \sum_{F_{T} \in \mathbb{F}_{T}} \int_{F_{T}} \lvert \mathbf {u}-\mathbf {w}_{T} \mathbf {u} \rvert^{2} . \end{aligned}$$
Since our mesh contains only tetrahedrons we can find for every \(F_{T} \in\mathbb{F}_{T}\) a linear transformation \(\Phi_{T, F_{T}} : \hat{T} \to T\) which maps the reference element onto the actual element T such that the pre-image \(\hat{F}_{T}\) of facet \(F_{T}\) lies in the x-y plane of ,
$$\begin{aligned} \Phi_{T, F_{T}} : \hat{\mathbf {x}} \mapsto \mathbf {B}_{T, F_{T}} \hat{\mathbf {x}} + \mathbf {b}_{T, F_{T}} , \end{aligned}$$
where \(\mathbf {B}_{T,F_{T}} \in\mathbb{R}^{3\times3}\). Now using the usual change of variables together with (22) we obtain
$$\begin{aligned} \int_{F_{T}} \lvert \mathbf {u}-\mathbf {w}_{T} \mathbf {u} \rvert^{2} =& \int_{\hat{F}_{T}} \bigl\lvert \det( \mathbf {B}_{T,F_{T}})^{-1} \mathbf {B}_{T,F_{T}} (\hat{\mathbf {u}}-\widehat{\mathbf {w}_{T}\mathbf {u}} ) \bigr\rvert ^{2} \bigl\lvert (\mathbf {B}_{T,F_{T}} )_{:,1} \times (\mathbf {B}_{T,F_{T}} )_{:,2} \bigr\rvert \\ = &\frac{\operatorname{area}(F_{T})}{\operatorname{area}(\hat{F}_{T}) \lvert\det( \mathbf {B}_{T,F_{T}}) \rvert^{2}} \int_{\hat {F}_{T}} \bigl\lvert \mathbf {B}_{T,F_{T}} (\hat {\mathbf {u}}- \mathbf {w}_{\hat {T}} \hat{\mathbf {u}}) \bigr\rvert ^{2} \\ \leq& C h_{T}^{2} \bigl\lvert \det(\mathbf {B}_{T,F_{T}}) \bigr\rvert ^{-2} \lVert \mathbf {B}_{T,F_{T}} \rVert^{2} \lVert\hat{\mathbf {u}}-\mathbf {w}_{\hat{T}}\hat{\mathbf {u}} \rVert_{L^{2}(\hat {F}_{T})^{3}}^{2}. \end{aligned}$$
Here \((\mathbf {B}_{T,F_{T}} )_{:,i}\) denotes the i-th column of \(\mathbf {B}_{T,F_{T}}\), \(\widehat{\mathbf {w}_{T} \mathbf {u}}\) is defined by (22), and we have used that \(\widehat{\mathbf {w}_{T} \mathbf {u}} = \mathbf {w}_{\hat{T}} \hat{\mathbf {u}}\) [13], Lemma 5.22. Now notice that \(\hat{\mathbf {u}}-\mathbf {w}_{\hat{T}}\hat{\mathbf {u}} \in H^{s}(\hat{T})^{3}\) and thus we can use the trace inequality [13], Theorem 3.9,
$$\begin{aligned} \lVert\hat{\mathbf {u}}-\mathbf {w}_{\hat{T}} \hat{\mathbf {u}} \rVert_{L^{2}(\hat{F}_{T})^{3}} &\leq \lVert\hat{\mathbf {u}}-\mathbf {w}_{\hat{T}} \hat{\mathbf {u}} \rVert_{L^{2}(\partial \hat{T})^{3}} \leq C \lVert\hat{\mathbf {u}}-\mathbf {w}_{\hat{T}}\hat{\mathbf {u}} \rVert_{H^{1}(\hat {T})^{3}} . \end{aligned}$$
For the next step we note that \(\forall\phi\in\mathbb{P}^{k-1}(\hat {T})^{3} \subset D_{k}(\hat{T})\) we have \(\phi= \mathbf {w}_{\hat{T}} \phi \) by the definition of \(\mathbf {w}_{\hat{T}}\) (\(D_{k}\) is the \(\mathbf {H}(\operatorname{div}; \Omega)\) conforming Raviart-Thomas space, see [13], Section 5.4). Therefore,
$$\begin{aligned} \lVert\hat{\mathbf {u}}-\mathbf {w}_{\hat{T}} \hat{\mathbf {u}} \rVert_{H^{1}(\hat{T})^{3}} &\leq \bigl\lVert (\mathbf {I}-\mathbf {w}_{\hat{T}}) (\hat{\mathbf {u}}+\phi ) \bigr\rVert _{H^{1}(\hat{T})^{3}} \leq C \lVert\hat{\mathbf {u}}+\phi \rVert_{H^{1}(\hat{T})^{3}}, \end{aligned}$$
where we have used that \(\mathbf {w}_{\hat{T}} : H^{1}(\hat{T})^{3} \to D_{k}\) is a bounded operator, i.e. \(\lVert \mathbf {w}_{\hat{T}} \hat{\mathbf {u}} \rVert_{H^{1}(\hat {T})^{3}} \leq C \lVert\hat{\mathbf {u}} \rVert_{H^{1}(\hat {T})^{3}}\) (cf. Proof of [13], Theorem 5.25). Since ϕ is arbitrary we can use the Deny-Lions theorem [13], Theorem 5.5,
$$\begin{aligned} \lVert\hat{\mathbf {u}}-\mathbf {w}_{\hat{T}} \hat{\mathbf {u}} \rVert_{L^{2}(\hat{T})^{3}} \leq C \inf_{\phi\in\mathbb{P}^{k-1}(\hat{T})^{3}} \lVert\hat {\mathbf {u}} + \mathbf {\phi} \rVert_{H^{1}(\hat{T})^{3}} \leq C \lvert\hat{\mathbf {u}} \rvert_{H^{s}(\hat{K})^{3}} . \end{aligned}$$
Finally we have to map \(\lvert\hat{\mathbf {u}} \rvert _{H^{s}(\hat{T})^{3}}\) back to the actual element T. For this observe that using (22),
$$\begin{aligned} \frac{\partial^{\alpha}}{\partial\hat{\mathbf {x}}^{\alpha}} \hat{\mathbf {u}} = \det(\mathbf {B}_{T,F_{T}}) \mathbf {B}_{T,F_{T}}^{-1} \frac{\partial^{\alpha}}{\partial\hat{\mathbf {x}}^{\alpha}} (\mathbf {u} \circ \Phi_{T} ) \end{aligned}$$
with \(\lvert\alpha \rvert_{\ell^{1}} = s\) being a multi-index. Therefore,
$$\begin{aligned} \lvert\hat{\mathbf {u}} \rvert_{H^{s}(\hat{T})^{3}}^{2} &= \sum _{ \lvert\alpha \rvert_{\ell^{1}}=s} \int_{\hat{T}} \biggl\lvert \frac{\partial^{\alpha}\hat{\mathbf {u}}}{\partial\hat {\mathbf {x}}^{\alpha}} \biggr\rvert ^{2} \leq \bigl\lvert \det(\mathbf {B}_{T,F_{T}}) \bigr\rvert ^{2} \bigl\lVert \mathbf {B}_{T,F_{T}}^{-1} \bigr\rVert ^{2} \sum_{ \lvert\alpha \rvert_{\ell^{1}}=s} \int_{\hat{T}} \biggl\lvert \frac{\partial ^{\alpha}(\mathbf {u} \circ\Phi_{T})}{\partial\hat{\mathbf {x}}^{\alpha}} \biggr\rvert ^{2} \\ & \leq C \bigl\lvert \det(\mathbf {B}_{T,F_{T}}) \bigr\rvert ^{2} \bigl\lVert \mathbf {B}_{T, F_{T}}^{-1} \bigr\rVert ^{2} \lVert \mathbf {B}_{T,F_{T}} \rVert^{2s} \bigl\lvert \det(\mathbf {B}_{T,F_{T}}) \bigr\rvert ^{-1} \lvert \mathbf {u} \rvert _{H^{s}(T)^{3}}^{2}, \end{aligned}$$
where we have used [13], Lemma 5.9, in the last step. Now combining (23)-(25) gives.
$$\begin{aligned} &\lVert \mathbf {u}-\mathbf {w}_{T}\mathbf {u} \rVert_{L^{2}(F_{T})^{3}}^{2} \\ &\quad \leq C \bigl\lvert \det(\mathbf {B}_{T,F_{T}}) \bigr\rvert ^{-1} h_{T}^{2} \lVert \mathbf {B}_{T,F_{T}} \rVert^{2} \bigl\lVert \mathbf {B}_{T,F_{T}}^{-1} \bigr\rVert ^{2} \lVert \mathbf {B}_{T,F_{T}} \rVert^{2s} \lvert \mathbf {u} \rvert_{H^{s}(T)^{3}}^{2} \\ &\quad \leq C h_{T}^{2s-1} \lvert \mathbf {u} \rvert_{H^{s}(T)^{3}}^{2}. \end{aligned}$$
Here we have used [13], Lemma 5.10, together with the fact that the mesh sequence is shape regular. Now summing over all facets \(F_{T} \in\mathbb{F}_{T}\) yields the assertion. □

Using these Lemmas we can finally give a bound for \(\lVert \mathbf {A}-\mathbf {\pi }_{h} \mathbf {A} \rVert_{{\mathrm{SWIP}},*}\).

Proof of Theorem 2

In order to simplify notation, C denotes in this proof an arbitrary, positive constant that is independent of h. Note that the interpolation operator \(\mathbf {r}_{h} ( \mathbf {A} \vert _{\Omega_{1}} )\) is well defined for \(s\geq1\) by the Sobolev Embedding Theorem and [13], Lemma 5.38. Because the sub-meshes of \(\Omega_{1}\), \(\Omega_{2}\) are conforming themselves, \(\mathbf {r}_{h} ( \mathbf {A} \vert _{\Omega_{1}} )\) is tangentially continuous across all inner, conforming faces. The same holds for \(\Omega_{2}\) and because \(\mathbf {A} \in \mathbf {H}(\mathbf {curl};\Omega )\) the exact solution is also tangentially continuous across all inner faces. Therefore only jump terms across the faces \(F \in\mathcal {F}^{\Gamma,b}_{h} := \mathcal{F}^{b}_{h} \cup \{ F \in\mathcal{F}^{i}_{h} | F \subset\overline{\Omega}_{1} \cap\overline{\Omega}_{2}\}\) remain in the definition of the jump semi-norm \(\lvert\cdot \rvert_{j,\mu}\), i.e. we have to bound
$$\begin{aligned} &\Vert \mathbf {A} - \pi_{h} \mathbf {A} \Vert ^{2}_{{\mathrm{SWIP}},*} \\ &\quad = \underbrace{\bigl\Vert \mu ^{-1/2}\nabla\times(\mathbf {A}- \pi_{h} \mathbf {A}) \bigr\Vert ^{2}_{L^{2}(\Omega )^{3}}}_{:= T_{1}} + \underbrace{\varepsilon\bigl\Vert \mu^{-1/2}(\mathbf {A}- \pi_{h} \mathbf {A}) \bigr\Vert ^{2}_{L^{2}(\Omega)^{3}}}_{ := T_{2}} \\ &\qquad {}+ \underbrace{\sum_{F \in\mathcal{F}^{b,\Gamma}_{h}} \frac{\gamma _{\mu, F}}{a_{F}} \bigl\Vert [ \mathbf {A}-\pi_{h} \mathbf {A} ]_{T} \bigr\Vert ^{2}_{L^{2}(F)^{3}}}_{ := T_{3}} + \underbrace{\sum _{T \in\mathcal{T}_{h}} h_{T} \bigl\Vert \mu^{-1/2} \nabla \times(\mathbf {A}-\pi_{h} \mathbf {A})\bigr\Vert ^{2}_{L^{2}(\partial T)^{3}}}_{:= T_{4}}. \end{aligned}$$
Since μ is piecewise constant on each \(\Omega_{i,\mu} \in P_{\Omega }\) there are constants \(\mu_{\mathrm{min}}\), \(\mu_{\mathrm{max}}\) such that \(0 < \mu_{\mathrm{min}} \leq\mu\leq\mu_{\mathrm{max}}\). \(T_{1}\) and \(T_{2}\) are easily bounded using [13], Theorem 5.41:
$$\begin{aligned} T_{1} + T_{2} &\leq\mu_{\mathrm{min}}^{-1} \max(1, \varepsilon) \bigl[ \bigl\Vert \nabla\times(\mathbf {A}-\pi_{h} \mathbf {A}) \bigr\Vert ^{2}_{L^{2}(\Omega)} + \bigl\Vert (\mathbf {A}- \pi_{h} \mathbf {A}) \bigr\Vert ^{2}_{L^{2}(\Omega)} \bigr] \\ &\leq C h^{2s} \Biggl[ \sum_{i=1}^{2} \bigl( \lVert \mathbf {A} \rVert_{H^{s}(\Omega _{i})^{3}} + \lVert\nabla\times \mathbf {A} \rVert_{H^{s}(\Omega _{i})^{3}} \bigr) \Biggr]^{2} . \end{aligned}$$
The term \(T_{3}\) is bounded using Lemma 6,
$$\begin{aligned} T_{3} &\leq\mu_{\mathrm{min}}^{-1} \sum _{F \in\mathcal{F}^{b,\Gamma}_{h}} a_{F}^{-1} \bigl( \lVert \mathbf {A}-\pi_{h} \mathbf {A} \vert _{T_{1}} \rVert^{2}_{L^{2}(F)^{3}} + \lVert \mathbf {A}-\pi_{h} \mathbf {A} \vert _{T_{2}} \rVert^{2}_{L^{2}(F)^{3}} \bigr) \\ &\leq C \sum_{T \in\mathcal{T}_{h}} \sum _{F \in\mathcal{F}_{T} \cap \mathcal{F}^{b,\Gamma}_{h}} h_{T}^{-1} \lVert \mathbf {A}- \pi _{h} \mathbf {A}\vert _{T} \rVert_{L^{2}(F)^{3}}^{2} \\ &\leq C \sum_{T \in\mathcal{T}_{h}} \sum _{F \in\mathcal{F}_{T} \cap \mathcal{F}^{b,\Gamma}_{h}} h_{T}^{2s-2} \bigl( \lVert \mathbf {A} \rVert_{H^{s}(T)^{3}}^{2} + \lVert\nabla\times \mathbf {A} \rVert^{2}_{H^{s}(T)^{3}} \bigr) \\ &\leq C h^{2s-2} \sum_{i=1}^{2} \bigl( \lVert \mathbf {A} \rVert _{H^{s}(\Omega_{i})^{3}}^{2} + \lVert\nabla\times \mathbf {A} \rVert_{H^{s}(\Omega_{i})^{3}}^{2} \bigr). \end{aligned}$$
Here we have used that \(a_{F} \geq\varsigma_{1} h_{T}\).
In order to bound the term \(T_{4}\) we first note that the global Thomas-Raviart interpolation operator \(\mathbf {w}_{h} ( \nabla \times \mathbf {A} \vert _{\Omega_{i}} )_{i=1,2}\) is well defined by [13], Lemma 5.15. Thus, \(\nabla\times [ \mathbf {r}_{h} ( \mathbf {A} \vert _{\Omega_{i}} ) ] = \mathbf {w}_{h} ( \nabla\times \mathbf {A} \vert _{\Omega_{i}} )\) by [13], Lemma 5.40, and we can bound \(T_{4}\) as follows:
$$\begin{aligned} T_{4} &\leq\mu_{\mathrm{min}}^{-1} \sum _{T \in\mathcal{T}_{h}} h_{T} \bigl\lVert \nabla \times \mathbf {A} - \mathbf {w}_{h} (\nabla\times \mathbf {A} ) \bigr\rVert ^{2}_{L^{2}(\partial T)} \\ &\leq C \sum_{T \in\mathcal{T}_{h}} h_{T}^{2s} \lVert\nabla \times \mathbf {A} \rVert_{H^{s}(T)^{3}}^{2} \leq C h^{2s} \sum_{i=1}^{2} \lVert\nabla \times \mathbf {A} \rVert_{H^{s}(\Omega_{i})^{3}}^{2}, \end{aligned}$$
where we have used Lemma 7 and the fact that \(h_{T} \leq h\). □

Remark 4

From the proof of Theorem 2 it is clear that for h sufficiently small the term \(T_{3}\) dominates the other three terms and is thus responsible for the loss of one order of convergence as pointed out in Remark 3. Interestingly \(T_{3}\) sums the jump terms only over the faces \(\mathcal {F}^{b, \Gamma}_{h}\). This suggests that it suffices to use \((k+1)\)-th order edge functions in elements adjacent to \(\mathcal{F}^{b,\Gamma}\) and k-th order edge functions everywhere else to achieve \(O(h^{k})\) order convergence. This can be implemented easily by using a hierarchical basis for the edge functions [14].

5 The local length scale \(a_{F}\) and h-convergence

So far we have assumed that the local length scale \(a_{F}\) fulfills (11), (21) in order to derive an a-priori error estimator, i.e. \(0 < \varsigma_{1} h_{T} \leq a_{F} \leq\varsigma_{2} h_{T}\). We will now study the following three concrete choices for \(a_{F}\):
  • \(a_{F}^{(1)} := \frac{1}{2}(h_{T_{1}} + h_{T_{2}})\) if \(F \in\mathcal {F}^{i}_{h}\) and \(a_{F}^{(1)}=h_{T}\) for \(F \in\mathcal{F}^{b}_{h}\), see [10], Remark 4.6,

  • \(a_{F}^{(2)} := \min(h_{T_{1}}, h_{T_{2}})\) if \(F \in\mathcal{F}^{i}_{h}\) and \(a_{F}^{(2)}=h_{T}\) for \(F \in\mathcal{F}^{b}_{h}\), see [6],

  • \(a_{F}^{(3)} := h_{F}\) if \(F \in\mathcal{F}_{h}\), see [9, 10],

where \(h_{T_{1}}\), \(h_{T_{2}}\) are the diameters of the adjacent elements of face F and \(h_{F}\) is the diameter of face F. It turns out that for each choice of \(a_{F}\) we have to make additional assumptions on the mesh such that \(a_{F}\) fulfills (11), (21). So once we have chosen a concrete \(a_{F}\) we can think of \(\varsigma_{1}\), \(\varsigma_{2}\) as mesh dependent parameters. The important point is that the constants C in Theorems 1 and 2 depend on the constants \(\sigma_{\mathrm{max}}\), \(\varsigma_{1}\), \(\varsigma_{2}\) but they do not depend in any other way on the shape of the underlying meshes. Hence, if we can show that \(\sigma_{\mathrm{max}}\), \(\varsigma_{1}\), \(\varsigma_{2}\) are independent of the way that \(\mathcal{T}_{\mathcal {H},1}\), \(\mathcal{T}_{\mathcal{H},2}\) intersect at the sliding interface Γ, then there must be an upper bound on the total error \(\lVert \mathbf {A}-\mathbf {A}_{h} \rVert\) that is independent of the relative position of \(\mathcal{T}_{\mathcal{H},1}\) to \(\mathcal{T}_{\mathcal {H},2}\) and that tends to 0 as \(h \to0\).

Let us now discuss the precise conditions on the mesh for each choice of \(a_{F}\): For \(a_{F}^{(1)}\), \(a_{F}^{(2)}\) we require \(\mathcal{T}_{\mathcal{H}}\) to be quasi-uniform at the sliding interface Γ:

Definition 1

A mesh-sequence \(\mathcal{T}_{\mathcal{H}}\) is said to be quasi-uniform at Γ if it is shape regular (5) and if there exists a constant \(\sigma_{1}>0\) such that for all \(h \in\mathcal{H}\), all \(T \in\mathcal{T}^{\Gamma}_{h} := \{ T \in\mathcal{T}_{h} | \partial T \cap\Gamma\neq \emptyset \}\):
$$\begin{aligned} h_{T} \geq\sigma_{1} \max_{\tilde{T} \in\mathcal{T}^{\Gamma}_{h}} h_{\tilde {T}} . \end{aligned}$$

Lemma 8

If the mesh is quasi-uniform at Γ then \(a_{F}^{(1)}\), \(a_{F}^{(2)}\) fulfill conditions (11), (21) and the constants \(\sigma_{\mathrm{max}}\), \(\varsigma_{1}\), \(\varsigma_{2}\) are independent of the way \(\mathcal{T}_{\mathcal{H},1}\), \(\mathcal {T}_{\mathcal{H},2}\) intersect at Γ.


\(a_{F}^{(1)} \geq\frac{1}{2} h_{T_{i}}\) follows immediately from the definition for \(i=1,2\). For the other direction we use (27) and get \(a_{F}^{(1)} \leq\frac{1}{2}(1 + \sigma_{1}^{-1}) h_{T_{i}}\). Moreover, \(\sigma_{1} h_{T_{i}} \leq a_{F}^{(2)} \leq h_{T_{i}}\). □

The lemma above asserts that the choices \(a_{F}^{(1)}\), \(a_{F}^{(2)}\) lead to a method that converges independently of the way that the two mesh-sequences \(\mathcal{T}_{\mathcal{H},1}\), \(\mathcal{T}_{\mathcal {H},2}\) intersect at Γ. In particular the faces can be very tiny ‘slivers’ (i.e. triangles with high aspect ratio). But note that the choice of \(a_{F}\) determines the required minimum value of the penalty parameter (see Lemma 4).

By substituting \(a_{F}^{(3)}\) into (21) we see that we need an estimate of the form \(h_{F} \geq\varsigma_{1} h_{T}\) in order for Theorem 2 to hold. However if two meshes are sliding against each other such an estimate is not feasible since \(h_{F}\) can become arbitrarily small in comparison to \(h_{T}\). In other words, the constant \(\varsigma_{1}\) depends on the way \(\mathcal{T}_{\mathcal{H},1}\) intersects with \(\mathcal{T}_{\mathcal{H},2}\). Nevertheless using \(a_{F}^{(3)}\) in the variational formulation 8 seems to work in practice (see below).

5.1 Numerical examples

We study the behavior of the SWIP formulation for the three different choices of the local length scale \(a_{F}\); As in [1] we consider a 3D sphere with radius 1 that is split into two hemispheres, \(\Omega_{1}\) and \(\Omega_{2}\) (cf. Figure 3). For each hemisphere we create a sequence of quasi-uniform meshes, \(\mathcal{T}_{\mathcal{H},1}\) and \(\mathcal{T}_{\mathcal{H},2}\), which approximate the boundary linearly. We impose the analytical solution \(\mathbf {A} = (\sin y, \cos z, \sin x)\) and choose \(\mathbf {j}^{i}\), \(\mathbf {g}_{D}\) such that they fulfill (3)-(4).
Figure 3

The meshes for the two half spheres. The upper hemisphere is turned against the lower hemisphere by \(\theta= 2.86\) degrees to create a non-conforming mesh.

Figure 4 shows the error in the curl-semi-norm for different angles of rotation, for all three choices of \(a_{F}\), and for different mesh-sizes h. We can see that although the error depends slightly on the angle, it converges to zero in all three formulations as h is decreasing. Moreover we see that the choices \(a_{F}^{(1)}\), \(a_{F}^{(2)}\) yield similar results which are slightly better than the choice \(a_{F}^{(3)}\).
Figure 4

The relative \(\pmb{\mathbf {H}(\mathbf {curl})}\) error vs. the rotation angle for three different choices of \(\pmb{a_{F}}\) and 4 different mesh-sizes: \(\pmb{h=0.638174, 0.482025, 0.359644, 0.261798}\) . Second order edge functions \(R^{2}\) were used for discretization and \(\varepsilon= 10^{-6}\), \(\eta =50\), \(\mu\equiv1\). Note that the curve for \(a_{F}^{(2)}\) is partially hidden by the one of \(a_{F}^{(1)}\).

In order to illustrate the estimates of Theorems 1 and 2 we plot the error for a series of quasi-uniform meshes in Figure 5 for \(a_{F} = a_{F}^{(3)}\).1 As in [1] no convergence is observed when first order edge functions (\(k=1\)) are employed which implies that Theorem 2 is sharp for \(k=1\). For \(k=2\) and \(k=3\) we observe rates of convergence \(O(h^{1.5})\) and \(O(h^{2.7})\), respectively, which affirms Theorems 1 and 2.
Figure 5

h -convergence. The relative \(\mathbf {H}(\mathbf {curl})\) error vs. the mesh size h for rotation angle \(\theta= 0.05\ \mbox{rad}\) (solid lines). The dashed lines correspond to \(\theta= 0.01 n\), \(n \in{0,1,\ldots,49}\). \(a_{F} = h_{F}\), \(\varepsilon= 10^{-6}\), \(\eta=50\), \(\mu\equiv1\).

For \(V_{h} = P^{1}(\mathcal{T}_{h})^{3}\) we observe the rate of convergence \(O(h)\), i.e. there is no loss of one order of accuracy. This is because \(\mathbb{P}^{1}(\mathcal{T}_{h})^{3}\) spans the full polynomial space (see [11] for a proof).

Remark 5

The observed rates for \(k=2\) and \(k=3\) are higher than the rates \(O(h)\), \(O(h^{2})\) which we expect from Theorem 2. This is due to the better approximation properties of the edge functions in the inside of the two hemispheres (cf. Remark 4).

Remark 6

Strictly speaking this numerical experiment does not fit the framework developed in Sections 3, 4 because Ω is not a polyhedron. Extending the theory to domains with curved boundary Ω is beyond the scope of this paper but Figure 5 suggests that the order of convergence for \(k=2\), \(k=3\) is the same as for polyhedral domains.

6 The regularization parameter ε

So far we have looked at the regularized system (3)-(4) and it was shown that the proposed method yields the expected rates of convergence for \(\varepsilon> 0\). However, genuine magnetostatics amounts to choosing \(\varepsilon= 0\). We will consider two approaches to solve the system (3)-(4) with \(\varepsilon=0\): On the one hand we will try to set \(\varepsilon=0\) directly and on the other hand we will study the effect of choosing ε small enough such that the error due to regularization is negligible.

6.1 The case \(\varepsilon=0\)

If we set \(\varepsilon=0\), the boundary value problem (3)-(4) does not have a unique solution. Indeed the continuous curl-curl operator has an infinite-dimensional kernel and the non-zero eigenvalues are well separated from 0 [13], Corollary 4.8. If one uses \(\mathbf {H}(\mathbf {curl})\) conforming edge functions of the first kind on a conforming mesh it can be shown that the discrete curl-curl operator has a (finite-dimensional) kernel and that the discrete eigenvalues are well separated from it [13], Discrete Friedrichs inequality, Lemma 7.20, i.e. edge functions of the first kind yield a spectrally accurate discretization of the curl-curl operator. From a theoretical point of view it remains unclear whether this property carries over to the SWIP formulation (8), cf. [15].

Therefore the spectrum of the \(a_{\mathrm{h}}^{\mathrm{SWIP}}\) bilinear form is investigated in a numerical experiment. The setup is very similar to the one in the previous section: The domain Ω consists of two half-spheres which can be rotated against each other by an angle θ. However this time we only assemble the matrix of the \(a_{\mathrm{h}}^{\mathrm{SWIP}}\) bilinear form with \(\varepsilon=0\), \(a_{F} = a_{F}^{(3)}\) 2 and compute its eigenvalues using the eig routine of MATLAB R2013a.

Figure 6 shows the smallest and largest non-zero eigenvalues of the SWIP formulation for different mesh-widths h and different angles θ (dashed, blue lines) (an eigenvalue has been classified as non-zero if its absolute value is greater than 10−12). For comparison we have also plotted the eigenvalues of a standard \(\mathbf {H}(\mathbf {curl})\) conforming discretization using second order edge functions on the conforming grid with \(\theta=0\) (green lines).
Figure 6

The smallest/largest non-zero eigenvalue for \(\pmb{\varepsilon=0}\) is plotted against the meshwidth for 50 different angles of rotation (dashed lines). For comparison the smallest/largest non-zero eigenvalue of a \(\mathbf {H}(\mathbf {curl})\) conforming discretization based on second order edge functions is plotted as well. The angles are \(\theta= 0.01 n\mbox{ rad}\), \(n\in{0,\ldots, 49}\) and \(R^{2}\) edge functions were used to discretize \(a_{\mathrm{h}}^{\mathrm{SWIP}}\), \(\mu \equiv1\).

We see that the bandwidth of the SWIP eigenvalues is comparable to the bandwidth of the \(\mathbf {H}(\mathbf {curl})\) conforming discretization for many angles. But we also observe that for some angles the lower end of the spectrum tends to zero. In order to better understand this phenomena we plotted the smallest/largest non-zero eigenvalues of the SWIP discretization against θ for one mesh-size (Figure 7). We now see that the lower end of the spectrum deteriorates as \(\theta \to0\), i.e. we can expect spectral pollution for very small angles. This agrees with the observations of [8].
Figure 7

Smallest/Largest non-zero eigenvalues vs. the rotation angle θ for \(\pmb{h=0.359644}\) , \(\pmb{\varepsilon=0}\) , \(\pmb{\mu\equiv1}\) . The discretization is based on \(R^{2}\) edge functions.

The previous considerations indicate that the \(a_{\mathrm{h}}^{\mathrm{SWIP}}\) bilinear form is not suitable to solve the Maxwell Eigenvalue Problem. However in this work we are concerned with the curl-curl source problem (3)-(4). Although the Galerkin matrix becomes singular for \(\varepsilon=0\) we can in principle still solve the linear system if it is consistent, i.e. if the right-hand side lies in the range of the Galerkin matrix. Then the solution \(\mathbf {A}_{h}\) is not unique anymore, but \(\mathbf {curl}{\mathbf {A}_{h}}\) is.

We attempt to solve the linear system of equations using the conjugate gradient (CG) method [2]. In [16] it is shown that the CG method converges for consistent, symmetric positive semi-definite problems and that its rate of convergence is determined by the non-zero eigenvalues. In particular, the number of CG iterations is related to the generalized condition number \(\kappa= \frac{\lambda_{\mathrm{max}}}{\lambda_{{\mathrm{min}}}}\) where \(\lambda_{\mathrm{min}}\) is the smallest, non-zero eigenvalue of the system matrix. If again we take a look at Figure 7 it becomes clear that \(\kappa\to\infty\) as \(\theta\to0\). I.e. the number of CG iterations should increase as \(\theta\to0\).

This has been confirmed in a numerical experiment: We take the example from Section 5 with the same analytical solution and chose the right-hand side \(\mathbf {j}^{i} = \nabla \times(\nabla\times \mathbf {A})\) (\(\varepsilon= 0\), \(\mu\equiv1\)). Table 1 provides the number of CG iterations required to reach the prescribed tolerance 10−6. We see that without a preconditioner the computational cost for the angle \(\theta=10^{-6}\) is almost 6 times larger than for \(\theta= 10^{-1}\). For comparison we also list the number of iterations needed when the multi-level ILU decomposition ILUPACK is employed3 [17]. In this case the number of iterations also increases but the factor 6 is reduced to ≈3.15.
Table 1

Number of CG iterations for \(\pmb{\theta\to0}\) , \(\pmb{h=0.359}\) , \(\pmb{\varepsilon=0}\) ; the discretization is based on \(\pmb{R^{2}}\) edge functions

θ [rad]

No preconditioner














Remark 7

Although the right-hand side \(\mathbf {j}^{i}\) chosen in the numerical experiment above is clearly divergence free, there is no guarantee that its discrete counterpart \(\ell_{h}\) is so too, i.e. it is not clear that the right-hand side vector b, that is associated with \(\ell_{h}\), lies in the range of the system matrix. We have investigated this by splitting the right-hand side vector b into a part that lies in the kernel of the system matrix, \(\tilde {\mathbf {b}}\), and into it’s orthogonal complement, \(\tilde{\mathbf {b}}^{\perp}\). It turned out that for all angles \(\lVert\tilde{\mathbf {b}}^{\perp}\rVert_{2} / \lVert \mathbf {b} \rVert_{2} \approx 10^{-9}\), which seems to be sufficient for CG to converge.

We can conclude that setting \(\varepsilon= 0\) is in principal possible if the right hand side vector b lies in the range of the system matrix. However checking this for non-zero right hand sides \(\mathbf {j}^{i}\) is a non-trivial task because we don’t know a-priori the kernel of the system matrix \(a_{h}^{\mathrm{SWIP}}\). Moreover the system matrix becomes ill-conditioned as the angle \(\theta \to0\) which causes an increase in the number of CG iterations.

Remark 8

For \(\mathbf {H}(\mathbf {curl})\) conforming discretizations, which fulfill the discrete sequence property, the kernel of the system matrix is known. In particular it is easily proven that \(\operatorname {div}\mathbf {j}^{i} = 0\) implies that \(\ell_{h}\) lies in the range of the system matrix. Unfortunately it is not clear whether this property carries over to the SWIP formulation (8) because to the best of our knowledge there exists no characterization of the kernel of \(a_{h}^{\mathrm{SWIP}}\) on arbitrarily non-conforming meshes.

6.2 The case \(0<\varepsilon\ll1\)

We saw in the previous section that setting \(\varepsilon=0\) is in practice not feasible. Therefore we study a different approach: We choose ε so small that the error due to regularization becomes negligible. To make this more explicit we bound the total error between the discrete, regularized solution \(\mathbf {A}_{h}^{\varepsilon}\) and the exact solution of (3)-(4) with \(\varepsilon= 0\), \(\mathbf {A}^{0}\), by two contributions:
$$\begin{aligned} \bigl\lVert \mu^{-1}\nabla\times\bigl(\mathbf {A}_{h}^{\varepsilon}- \mathbf {A}^{0}\bigr) \bigr\rVert _{L^{2}(\Omega )^{3}} \leq {}&\bigl\lVert \mu^{-1}\nabla\times\bigl(\mathbf {A}_{h}^{\varepsilon}- \mathbf {A}^{\varepsilon}\bigr) \bigr\rVert _{L^{2}(\Omega)^{3}} \\ &{}+ \bigl\lVert \mu^{-1}\nabla\times\bigl(\mathbf {A}^{\varepsilon}- \mathbf {A}^{0}\bigr) \bigr\rVert _{L^{2}(\Omega )^{3}}, \end{aligned}$$
herein \(\mathbf {A}^{\varepsilon}\) is the exact solution of the regularized system (3)-(4). Clearly the second component is independent of the discretization and thus h, but it depends on ε for a given problem. Moreover, the first term depends on h but is independent of ε because the constant C of Theorems 1 and 2 is independent of ε.

It is thus desirable to choose ε small such that \(\lVert\nabla \times(\mathbf {A}^{\varepsilon}- \mathbf {A}^{0}) \rVert _{L^{2}(\Omega)^{3}} \ll\lVert \nabla\times({\mathbf {A}_{h}^{\varepsilon}- \mathbf {A}^{\varepsilon}})\rVert _{L^{2}(\Omega)^{3}}\). However, as \(\varepsilon\to0\) the discrete problem becomes ill-posed and solvers typically fail to converge, cf. Remark 2, Section 6.1.

We try to circumvent this problem by two approaches:
  • For small problems we use the Sparse Cholesky Decomposition of PARDISO [18] (Intel MKL Version 11.2) and solve the linear system of equations directly.

  • For problems whose Cholesky Decomposition does not fit into memory we use the Conjugate Gradient Method together with ILUPACK [17] as a preconditioner (using the settings of Section 6.1).

Remark 9

We are only interested in the curl of the solution, i.e. the magnetic field B. If we were to look at A instead of \(\nabla\times \mathbf {A}\) then \(\lVert \mathbf {A}^{\varepsilon}_{h} - \mathbf {A}^{\varepsilon}\rVert_{L^{2}(\Omega)^{3}}\) would not be independent of ε as can be seen from Theorem 1.

The following Lemma gives us a guideline for choosing ε.

Lemma 9

If we impose homogeneous Dirichlet data, \(\mathbf {g}_{D} \equiv0\), we have,
$$\begin{aligned} \frac{ \lVert\mu^{-1/2} \nabla\times(\mathbf {A}^{\varepsilon}- \mathbf {A}^{0}) \rVert_{L^{2}(\Omega)^{3}}}{ \lVert\mu ^{-1/2}\nabla\times \mathbf {A}^{0} \rVert_{L^{2}(\Omega)^{3}}} \leq \frac{\varepsilon}{\alpha^{2}}, \end{aligned}$$
where α is the smallest, non-zero eigenvalue of \(\nabla\times (\mu^{-1} \nabla\times \mathbf {A} ) = \alpha \mathbf {A}\). If μ is constant in Ω we can choose \(\alpha= \sqrt{2}\pi /l_{\mathrm{max}}\) where \(l_{\mathrm{max}}\) is the maximum side length of a cuboid that contains Ω.

The first part of this lemma is proven in [19], Lemma 2.1, and for the second part we use a result of [20], Section 4.

By comparing (29) with (28) we see that \(\lVert\mu^{-1} \nabla\times(\mathbf {A}^{\varepsilon}_{h} - \mathbf {A}^{\varepsilon}) \rVert_{L^{2}(\Omega)^{3}} = O(h^{k-1})\) for k order edge functions. Therefore ε should be chosen such that \(\varepsilon\sim h^{k-1}\) as the mesh is refined.

Numerical example:

We consider the same setup as in the previous section (cf. Figure 3) with but we choose a different μ for the upper and lower hemisphere. The analytic solution is chosen as \(\mathbf {A}^{0} = (\sin y, 0, \mu\sin x)\). \(\mathbf {j}^{i}\) is chosen such that \(\mathbf {A}^{0}\) fulfills (3)-(4) with \(\varepsilon = 0\).

We solve the system of linear equations using PARDISO for different values of ε and μ (as in the previous section we choose \(a_{F} = a_{F}^{(3)}\)). Figure 8 shows the total relative error \(\lVert\mu ^{-1/2} \nabla\times(\mathbf {A}_{h}^{\varepsilon}-\mathbf {A}^{0}) \rVert_{L^{2}(\Omega )^{3}}\) as a function of ε for various mesh-sizes. The solid lines show the error for \(\mu_{\mathrm{upper}}/\mu_{\mathrm{lower}}=10^{2}\) whereas the dashed lines show it for \(\mu_{\mathrm{upper}}/\mu_{\mathrm{lower}}=10^{7}\).
Figure 8

Relative \(\pmb{L^{2}}\) -error of curl vs. ε for multiple mesh-sizes h . The solid lines show the error for \(\mu_{\mathrm{upper}}=10\), \(\mu_{\mathrm{lower}}=0.1\) whereas the dashed lines show it for \(\mu_{\mathrm{upper}}=10^{6}\), \(\mu_{\mathrm{lower}}=0.1\). The meshes have been rotated against each other by \(\theta=0.057\) degrees and second order edge functions (\(k=2\)) were used for discretization.

We note that the errors are almost identical for both choices of μ. Moreover, we observe that for \(\varepsilon< 10^{-3}\) the discretization error \(\lVert\mu^{-1/2}\nabla\times(\mathbf {A}_{h}^{\varepsilon}- \mathbf {A}^{\varepsilon}) \rVert_{L^{2}(\Omega)}\) (which here includes the error due to boundary approximation, cf. Remark 6) clearly dominates the regularization error \(\lVert\mu^{-1/2}\nabla \times(\mathbf {A}^{\varepsilon}- \mathbf {A}^{0}) \rVert_{L^{2}(\Omega)}\) whereas for \(\varepsilon> 10^{-3}\) the regularization error is dominated by the discretization error. This is what we can expect from the previous discussion. In fact, if we use Lemma 9 and fit the two hemispheres into a cube of side length \(l_{\mathrm{max}}=2\), we get \(\alpha= \pi^{2}/2\). The black, dashed line in Figure 8 visualizes the corresponding estimate (29) and we see that for ε large the behavior is clearly linear, as proven in Lemma 9, and that the estimate is valid even though \(\mathbf {g}_{D} \neq0\) and μ is not constant.

Remark 10

The same results are obtained if CG together with ILUPACK is used. For brevity we omit these results here.

We would like to point out that by using the direct solver PARDISO we were able to solve the resulting system of linear equations for ε as small as 10−10 and that the time needed to solve the problem seems to be independent of ε (see Table 2). A similar result holds for preconditioned CG with ILUPACK preconditioner where the system is solvable for arbitrary small ε (cf. Section 6.1) and the solution time seems to be independent of ε for ε small enough.
Table 2

Relative runtimes for \(\pmb{\varepsilon\to0}\) , \(\pmb{h=0.359}\) ; the discretization is based on \(\pmb{R^{2}}\) edge functions and \(\pmb{\theta=10^{-4}}\) rad. The runtimes have been normalized with the runtime for \(\pmb{\varepsilon=10^{-1}}\)



















aTime includes Cholesky factorization and back-substitution

bTime includes ILU factorization and CG iterations

We can thus choose ε (almost) arbitrarily small without affecting the discretization error \(\lVert\mu^{-1/2}\nabla \times(\mathbf {A}_{h}^{\varepsilon}- \mathbf {A}^{\varepsilon}) \rVert _{L^{2}(\Omega)}\) and incurring rising cost for solving the resulting linear systems of equations. In other words, one should choose ε as small as possible such that the resulting linear system can still be solved.

7 Conclusion and outlook

We have proved a-priori error estimators for the interior penalty formulation of the regularized curl-curl source problem (3)-(4); If the solution is approximated by k-th order edge functions we can expect at least convergence of order \(O(h^{k-1})\) (provided the exact solution is sufficiently smooth). In particular, for \(k=1\) no convergence was observed in a numerical experiment [1], which implies that our result is sharp. The reason for this is that \(R^{k}\) does not span the full polynomial space \(\mathbb{P}^{k}\).

The bounds require the mesh to be quasi-uniform at the sliding interface but do not make any assumptions on how the sub-meshes abut at the sliding interface nor does the error estimate depend on it. This is confirmed by the numerical experiments and it is observed that the approximation is stable independent of the way the sub-meshes intersect.

Moreover the role of the regularization parameter ε has been investigated; For practical purposes one can choose ε (almost) arbitrarily small and solve the discrete problem with a direct solver or by using the preconditioned conjugate gradient method. The error due to regularization is then dominated by the discretization error of the regularized problem and is negligible.


The proof of Theorem 2 suggests that it suffices to use 2nd order edge functions solely in elements adjacent to the non-conforming interface, respectively boundary faces, to achieve \(O(h)\) convergence. This would reduce the required number of unknowns drastically and should be pursued for practical applications.


Based on the results in Figure 4 we can expect similar behavior for other choices of \(a_{F}\).


The choices \(a_{F}^{(1)}\) and \(a_{F}^{(2)}\) yield qualitatively the same results. In particular the smallest non-zero eigenvalues also tend to 0 as \(\varepsilon\to0\), cf. Figure 7.


The ILU factorization is built from the system matrix with \(\varepsilon=10^{-6}\) and the parameters for ILUPACK are: type sol = 0, partitioning=3, flags=-1,-1, inv. droptol=5, threshold ILU=0.1, condest=1e-2, residual tol. = 5e-6.




The authors acknowledge the contribution of Christoph Winkelmann to the Finite Element Framework HyDi. This work has been funded by the Comission for Technology and Innovation (CTI), Switzerland, funding application No. 14712.1 PFIW-IW and ABB Switzerland Corporate Research.

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (, which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Authors’ Affiliations

Seminar for Applied Mathematics, ETH Zürich
ABB Corporate Research


  1. Casagrande R, Winkelmann C, Hiptmair R, Ostrowski J. DG treatment of non-conforming interfaces in 3D curl-curl problems. SAM report 2014-40, ETH Zurich; 2014. Accessed 5 Jan 2016.
  2. Bebendorf M, Ostrowski J. Parallel hierarchical matrix preconditioners for the curl-curl operator. J Comput Math. 2009;27:624-41. MathSciNetView ArticleMATHGoogle Scholar
  3. Rapetti F, Maday Y, Bouillault F, Razek A. Eddy-current calculations in three-dimensional moving structures. IEEE Trans Magn. 2002;38(2):613-6. View ArticleGoogle Scholar
  4. Wohlmuth I. Discretization methods and iterative solvers based on domain decomposition. Berlin: Springer; 2001. View ArticleMATHGoogle Scholar
  5. Perugia I, Schötzau D. The hp-local discontinuous Galerkin method for low-frequency time-harmonic Maxwell equations. Math Comput. 2003;72:1179-214. MathSciNetView ArticleMATHGoogle Scholar
  6. Houston P, Perugia I, Schötzau D. Mixed discontinuous Galerkin approximation of the Maxwell operator: non-stabilized formulation. J Sci Comput. 2005;22/23:315-46. MathSciNetView ArticleMATHGoogle Scholar
  7. Houston P, Perugia I, Schötzau D. Nonconforming mixed finite-element approximations to time-harmonic eddy current problems. IEEE Trans Magn. 2004;40(2):1268-73. View ArticleGoogle Scholar
  8. Buffa A, Houston P, Perugia I. Discontinuous Galerkin computation of the Maxwell eigenvalues on simplicial meshes. J Comput Appl Math. 2007;204(2):317-33. MathSciNetView ArticleMATHGoogle Scholar
  9. Stenberg R. Mortaring by a method of J. A. Nitsche. In: Computational mechanics; 1998. Google Scholar
  10. Di Pietro DA, Ern A. Mathematical aspects of discontinuous Galerkin methods. Berlin: Springer; 2012. View ArticleMATHGoogle Scholar
  11. Casagrande R. Sliding interfaces for eddy current simulations. Master’s thesis, ETH Zürich; 2013.
  12. Brenner SC, Scott LR. The mathematical theory of finite element methods. 3rd ed. Berlin: Springer; 2008. View ArticleMATHGoogle Scholar
  13. Monk P. Finite element methods for Maxwell’s equations. New York: Oxford University Press; 2003. View ArticleMATHGoogle Scholar
  14. Bergot M, Duruflé M. High-order optimal edge elements for pyramids, prisms and hexahedra. J Comput Phys. 2013;232:189-213. MathSciNetView ArticleMATHGoogle Scholar
  15. Buffa A, Perugia I. Discontinuous Galerkin approximation of the Maxwell eigenproblem. SIAM J Numer Anal. 2006;44(5):2198-226. MathSciNetView ArticleMATHGoogle Scholar
  16. Kaasschieter EF. Preconditioned conjugate gradients for solving singular systems. J Comput Appl Math. 1988;24:265-75. MathSciNetView ArticleMATHGoogle Scholar
  17. Bollhöfer M, Saad Y. Multilevel preconditioners constructed from inverse-based ILUs. SIAM J Sci Comput. 2006;27(5):1627-50. MathSciNetView ArticleMATHGoogle Scholar
  18. Schenk O, Gärtner K. Solving unsymmetric sparse systems of linear equations with PARDISO. In: Sloot PMA, Tan CJK, Dongarra JJ, Hoekstra AG, editors. Computational science - ICCS 2002, part II; 2002. p. 355-63. View ArticleGoogle Scholar
  19. Reitzinger S, Schöberl J. An algebraic multigrid method for finite element discretizations with edge elements. Numer Linear Algebra Appl. 2002;9:223-38. MathSciNetView ArticleMATHGoogle Scholar
  20. Costabel M, Dauge M. Maxwell eigenmodes in tensor product domains (2006). Accessed 18 Apr 2016.


© Casagrande et al. 2016