• Aucun résultat trouvé

An arbitrary-order method for magnetostatics on polyhedral meshes based on a discrete de Rham sequence

N/A
N/A
Protected

Academic year: 2021

Partager "An arbitrary-order method for magnetostatics on polyhedral meshes based on a discrete de Rham sequence"

Copied!
36
0
0

Texte intégral

(1)

HAL Id: hal-02573274

https://hal.archives-ouvertes.fr/hal-02573274v2

Submitted on 4 Jun 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.

An arbitrary-order method for magnetostatics on

polyhedral meshes based on a discrete de Rham

sequence

Daniele Antonio Di Pietro, Jérôme Droniou

To cite this version:

Daniele Antonio Di Pietro, Jérôme Droniou. An arbitrary-order method for magnetostatics on poly-hedral meshes based on a discrete de Rham sequence. Journal of Computational Physics, 2021, 429 (109991). �hal-02573274v2�

(2)

An arbitrary-order method for magnetostatics on polyhedral

meshes based on a discrete de Rham sequence

Daniele A. Di Pietro1and Jérôme Droniou2

1IMAG, Univ Montpellier, CNRS, Montpellier, France,daniele.di-pietro@umontpellier.fr 2School of Mathematics, Monash University, Melbourne, Australia,jerome.droniou@monash.edu

June 4, 2021

Abstract

In this work we develop a discretisation method for the mixed formulation of the magnetostatic problem supporting arbitrary orders and polyhedral meshes. The method is based on a global discrete de Rham (DDR) sequence, obtained by patching the local spaces constructed in [22] by enforcing the single-valuedness of the components attached to the boundary of each element. The first main contribution of this paper is a proof of exactness relations for this global DDR sequence, obtained leveraging the exactness of the corresponding local sequence and a topological assembly of the mesh valid for domains that do not enclose any void. The second main contribution is the formulation and well-posedness analysis of the method, which includes the proof of uniform Poincaré inequalities for the discrete divergence and curl operators. The convergence rate in the natural energy norm is numerically evaluated on standard and polyhedral meshes. When the DDR sequence of degree 𝑘 ≥ 0 is used, the error converges as ℎ𝑘+1, with ℎ denoting the mesh size.

Key words. Discrete de Rham, magnetostatics, mixed methods, compatible discretisations,

polyhe-dral methods

MSC2010. 65N30, 65N99, 78M10, 78M25 1 Introduction

In this work we develop a discretisation method for the mixed formulation of the magnetostatic problem supporting arbitrary orders and polyhedral meshes. The stability of the method hinges on a global version of the discrete de Rham (DDR) sequence of [22].

Let Ω ⊂ R3 be an open connected polyhedral domain that does not enclose any void (that is, its second Betti number is zero), with boundary 𝜕Ω and unit outward normal 𝒏. Denote by H(curl; Ω) the space of vector-valued functions over Ω that are square-integrable along with their curl and by H(div; Ω) the space of vector-valued functions over Ω that are square-integrable along with their divergence. Let 𝑱 ∈ curl H(curl; Ω) and 𝒈 ∈ L2(𝜕Ω)3denote, respectively, the free current density and boundary datum.

We consider the following problem (see, e.g., [1, Section 4.5.3]): Find ( 𝑯, 𝑨) ∈ H(curl; Ω) × H(div; Ω) such that 𝑎(𝑯, 𝜻 ) − 𝑏(𝜻 , 𝑨) = − ∫ 𝜕Ω 𝒈 · 𝜻 ∀𝜻 ∈ H(curl; Ω), 𝑏(𝑯, 𝒗) + 𝑐( 𝑨, 𝒗) = ∫ Ω 𝑱 · 𝒗 ∀𝒗 ∈ H(div; Ω), (1)

with bilinear forms 𝑎 : H(curl; Ω) × H(curl; Ω) → R, 𝑏 : H(curl; Ω) × H(div; Ω) → R, and 𝑐 :

H(div; Ω) × H(div; Ω) → R such that, for all 𝝊, 𝜻 ∈ H(curl; Ω) and all 𝒘, 𝒗 ∈ H(div; Ω),

𝑎(𝝊, 𝜻 ) ≔ ∫ Ω 𝜇𝝊 · 𝜻 , 𝑏(𝜻 , 𝒗) ≔ ∫ Ω 𝒗 · curl 𝜻 , 𝑐(𝒘, 𝒗) ≔ ∫ Ω div 𝒘 div 𝒗.

(3)

The solution of problem (1) satisfies almost everywhere

𝜇𝑯 − curl 𝑨 = 0 in Ω, (2a)

curl 𝑯 = 𝑱 in Ω, (2b)

div 𝑨 = 0 in Ω, (2c)

𝑨 × 𝒏 = 𝒈 on 𝜕Ω. (2d)

In the context of magnetostatics, the interpretation of the above relations is as follows: equation (2a) expresses the magnetic field 𝑯 in terms of the vector potential 𝑨, with 𝜇 : Ω → R denoting the permeability such that 𝜇 ≥ 𝜇 ≥ 𝜇 > 0 almost everywhere in Ω, where 𝜇 and 𝜇 are constant numbers; equation (2b) is Ampère’s law relating the magnetic field to the current density; (2c) is the so-called Coulomb’s gauge which, together with the boundary condition (2d), ensures the uniqueness of the vector potential (notice that, since the second Betti number of Ω is zero, the space of 2-harmonic forms is trivial). The well-posedness of problem (1) hinges on the fact that, under the above assumptions on the domain, the image of the curl operator coincides with the kernel of the divergence operator, and the latter is surjective in L2(Ω); cf., e.g., the discussion in [22, Section 2]. These relations correspond to the exactness of the rightmost portion of the de Rham sequence

R H1(Ω) H(curl; Ω) H(div; Ω) L2(Ω) {0},

𝑖Ω grad curl

div 0

(3)

where 𝑖Ω is the operator that maps a real value to a constant function over Ω and H1(Ω) the space of scalar-valued functions over Ω that are square-integrable along with their gradient. The design of stable numerical approximations of problem (1) requires to mimic these exactness properties at the discrete level.

Other formulations of the magnetostatic problem are possible, most notably the 𝑯- and 𝑨-methods presented in [24]. The 𝑯-method consists in eliminating 𝑨 from (2) by expressing the fact that 𝜇𝑯 ∈

H(curl; Ω) (see (2a)) to write div(𝜇𝑯) = 0, and by retaining (2b); the divergence constraint on 𝜇𝑯

is enforced in the weak formulation by the introduction of a Lagrange multiplier 𝑝 (scalar potential, which appears through its gradient). The 𝑨-method uses (2a) to eliminate 𝑯 from (2b), leading to the second order curl( 𝜇−1curl 𝑨) = 𝑱 equation on 𝑨. Here too, the constraint div 𝑨 = 0 is imposed in the weak formulation via a scalar potential that appears through its gradient. In either of these methods, the well-posedness of the weak formulation hinges on the exactness of the leftmost portion of the de Rham sequence (3), specifically the relation Ker curl ⊂ Im grad, which holds only when the first Betti number of Ω is zero. The most convenient formulation to use as a starting point for the numerical approximation (magnetic field-vector potential as in (1), or 𝑯- or 𝑨-methods as in [24]) thus depends on the topology of the domain: for solid toroidal or cylindrical domains (that have non-zero first Betti number but zero second Betti number), e.g., problem (1) is naturally well-posed, whereas the formulations of [24] require an additional condition to account for the existence of non-trivial 1-harmonic forms. From the standpoint of numerical approximation, this necessitates the (possibly expensive) computation of cohomology generators (see, e.g., [23, 27]). Clearly, for domains that enclose voids (non-zero second Betti number) but do not have tunnels (zero first Betti number), the situation is reversed, and an additional condition enforcing the L2-orthogonality of the vector potential 𝑨 to 2-harmonic forms is required to ensure the well-posedness of (1); see, e.g., [1, Section 4.5.4]. We note in passing that, although this paper focuses on the formulation (1), the framework we develop provides an entire discrete De Rham sequence that could equally be used on the 𝑯- and 𝑨-methods.

In the context of Finite Element (FE) approximations, the exactness property discussed above is achieved by a nontrivial choice of finite-dimensional subspaces of H(curl; Ω) and H(div; Ω); cf. [1] for a comprehensive introduction to this topic. Finite Elements can, however, display severe practical

(4)

limitations: the construction of the finite-dimensional spaces hinges upon conforming meshes with elements of simple geometric shape; the number of degrees of freedom on hexahedral elements can become very large when increasing the polynomial degree (see, e.g., [22, Table 2]); the definition of unisolvent degrees of freedom can be tricky for high-order versions (cf., e.g., [6] and references therein). A recent generalisation of FE methods is provided by the Isogeometric Analysis (IGA), which is designed to facilitate exchanges with Computer Assisted Design software. In this framework, spline spaces and projection operators that verify a de Rham diagram have been developed in [10], placing on solid grounds the IGA method for electromagnetism originally proposed in [11]; see also [12] for further developments. Low-order frameworks that involve exact discrete sequences of spaces and operators on general polyhedral meshes have been developed over the last years, among which we cite Mimetic Finite Differences (see [5] and references therein), the Discrete Geometric Approach (see, e.g., [17]), or Compatible Discrete Operators (see [8,9] and also [7]). The above polyhedral frameworks are tightly related to the lowest-order version of the DDR sequence corresponding to 𝑘 = 0, and have already found their way in commercial codes. Compatible Discrete Operators, along with the more recent Hybrid High-Order (HHO) technology [21], are available in widely used simulators such as Code_Aster (https://www.code-aster.org) or Code_Saturne (https://www.code-saturne.org). More recently, a de Rham sequence of arbitrary-order virtual spaces has been proposed in [4]; see also the related works [2, 3] concerning the Virtual Element approximation of the magnetostatic problem based on the formulation of [24]. Virtual spaces are spanned by functions whose expression is not available at each point, therefore projections on polynomial spaces are used in practice. For this reason, the exactness of the virtual sequence cannot be directly exploited to prove the stability of numerical schemes. Fully nonconforming approximations of the magnetostatic problem have also been explored, where stability is ensured by additional penalty terms. We mention here, in particular, the Discontinuous Galerkin method of [26], the Hybridizable Discontinuous Galerkin methods of [15,16,25], and, on polyhedral meshes, the HHO methods of [13,

14].

The approach proposed in this work relies on a global DDR sequence involving spaces of (polynomial) discrete unknowns and discrete counterparts of vector operators acting thereon. This sequence is obtained patching the local spaces constructed in [22] by enforcing the single-valuedness of the components of these spaces on the element boundaries. Its exactness, which constitutes the first key contribution of this work, is proved in Theorem 3 below, leveraging the exactness of the local sequence and a topological assembly of the mesh valid for domains that do not enclose any void. The second contribution of this work is the development and well-posedness analysis of a discretisation method for the mixed formulation (1) of the magnetostatic problem (the first, to our knowledge, supporting polyhedral meshes). The discrete problem is formulated in terms of the spaces and operators appearing in the global DDR sequence, along with discrete counterparts of L2-products. For this reason, the stability and well-posedness (Theorem 10 and Corollary 11) of the discrete problem are direct consequences of the exactness of the DDR sequence, together with uniform Poincaré inequalities for the discrete divergence and curl operators. Besides supporting polyhedral meshes and arbitrary orders, the proposed method has fewer unknowns than (non-serendipity) Finite Elements on hexahedra (cf. Remark 8 below) and allows for great freedom in the practical implementation of the polynomial spaces that lie at its core. The convergence rate of the method is numerically evaluated on a set of standard and polyhedral refined mesh families. When the DDR sequence of degree 𝑘 ≥ 0 is used, the error in the natural energy norm associated with the problem behaves as ℎ𝑘+1, with ℎ denoting the mesh size.

The rest of this paper is organised as follows. In Section 2 we introduce the setting, recalling the appropriate notion of polyhedral mesh, the definitions of vector operators on faces, and those of the local polynomial spaces. In Section 3 we define the global DDR sequence and prove the required exactness relations. Section 4 contains the statement of the discrete problem along with a theoretical well-posedness result and a numerical assessment of its convergence rate. In Section 5 we discuss the

(5)

practical implementation. Finally, Appendix A contains the proof of the stability result, which is based on uniform discrete Poincaré inequalities. The paper is structured so as to offer two levels of reading. In particular, the implementation aspects in Section 5 and the proofs in Appendix A are rather technical, and the reader mainly interested in the formulation of the proposed numerical scheme can skip them at first reading.

2 Setting

In this section we define the discrete setting: the mesh, the vector operators on faces, and various polynomial spaces that appear in the construction.

2.1 Mesh

Given a set 𝑋 ⊂ R3, denote by ℎ𝑋 its diameter, that is, the supremum of the distance between two points

of 𝑋. We consider meshes Mℎ ≔ Tℎ∪ Fℎ∪ Eℎ∪ Vℎ, where: (i) Tℎis a finite collection of polyhedral

elements that partition Ω and such that ℎ = max𝑇∈ Tℎℎ𝑇 > 0; (ii) Fℎis a finite collection of planar faces;

(iii) Eℎis the set collecting the polygonal edges (line segments) of the faces; (iv) Vℎis the set collecting

the edge endpoints. It is assumed, in what follows, that (Tℎ,Fℎ) matches the conditions in [21, Definition

1.4]. Notice that this notion of mesh is related to that of cellular (or CW) complex from algebraic topology [28, Chapter 7]. We additionally assume that the polytopes in Tℎ∪ Fℎ are simply connected and have

connected boundaries that are Lipschitz-continuous (that is, each polytope can locally be represented as the epigraph, in the corresponding dimension 2 or 3, of a Lipschitz-continuous function). We denote by Fb

ℎ ⊂ Fℎthe set of boundary faces, that is, faces contained in 𝜕Ω.

For all 𝐹 ∈ Fℎ, an orientation is set by prescribing a unit normal vector 𝒏𝐹. Similarly, each edge

𝐸 ∈ Eℎis endowed with a unit tangent vector 𝒕𝐸 defining its orientation. Given a mesh element 𝑇 ⊂ R3,

we denote by F𝑇 ⊂ Fℎthe set of faces contained in the boundary 𝜕𝑇 of 𝑇 . For all 𝐹 ∈ F𝑇, we denote by

𝜔𝑇 𝐹 ∈ {−1, 1} the orientation of 𝐹 relative to 𝑇, that is, 𝜔𝑇 𝐹 = 1 if 𝒏𝐹 points out of 𝑇 , −1 otherwise. With this choice, 𝜔𝑇 𝐹𝒏𝐹 is the unit vector normal to 𝐹 that points out of 𝑇 . Similarly, for a face 𝐹,

we denote by E𝐹 the set of edges that lie on the boundary 𝜕𝐹 of 𝐹. The boundary of 𝐹 is oriented

counter-clockwise with respect to 𝒏𝐹, and we denote by 𝜔𝐹 𝐸 ∈ {−1, 1} the orientation of 𝒕𝐸 opposite to

𝜕 𝐹: 𝜔𝐹 𝐸 = 1 if 𝒕𝐸points on 𝐸 in the opposite orientation to 𝜕𝐹, 𝜔𝐹 𝐸 = −1 otherwise. For any polygon

𝐹and any edge 𝐸 ∈ E𝐹, we also denote by 𝒏𝐹 𝐸 the unit normal vector to 𝐸 lying in the plane of 𝐹 such

that ( 𝒕𝐸,𝒏𝐹 𝐸) forms a system of right-handed coordinates in the plane of 𝐹, which means that the system

of coordinates ( 𝒕𝐸,𝒏𝐹 𝐸,𝒏𝐹) is right-handed. It can be checked that 𝜔𝐹 𝐸𝒏𝐹 𝐸 is the normal to 𝐸 , in the

plane where 𝐹 lies, pointing out of 𝐹. In what follows, we will also need the set of edges of an element 𝑇 ⊂ R3, which we denote by E𝑇, and the set of vertices of a mesh entity 𝑋 ∈ M, which we denote by V𝑋. Finally, for any vertex 𝑉 ∈ Vℎ, we denote by 𝒙𝑉 the corresponding vector of coordinates.

2.2 Vector operators on faces

The DDR construction requires vector operators on faces. Specifically, for any 𝐹 ∈ Fℎ, we respectively

denote by grad𝐹 and div𝐹 the tangent gradient and divergence operators acting on smooth functions and,

for any 𝑟 : 𝐹 → R smooth enough, we define the two-dimensional vector curl operator such that

rot𝐹𝑟 ≔ 𝜚−𝜋/2(grad𝐹𝑟) ,

where 𝜚−𝜋/2 is the rotation, in the oriented tangent space to 𝐹, of angle −

𝜋

2. We will also need the

two-dimensional scalar curl operator such that, for any 𝒗 : 𝐹 → R2smooth enough, rot𝐹 𝒗 ≔ div𝐹 𝜚−𝜋/

2𝒗

 .

2.3 Polynomial spaces

For given integers ℓ ≥ −1 and 𝑛 ≥ 0, we denote by Pℓ𝑛the space of 𝑛-variate polynomials of total degree

≤ ℓ, with the convention that Pℓ

0 ≔ R for any ℓ and P −1

(6)

a polygon (immersed in R3), or a segment (again immersed in R3). We denote by Pℓ( 𝑋) the space spanned by the restriction to 𝑋 of functions in Pℓ3. Denoting by 0 ≤ 𝑛 ≤ 3 the dimension of 𝑋, Pℓ( 𝑋) is isomorphic to Pℓ𝑛(the proof, quite simple, follows the ideas of [21, Proposition 1.23]). With a little

abuse of notation, we denote both spaces with Pℓ( 𝑋), and the exact meaning of this symbol should be inferred from the context. We will also need the space P0,ℓ( 𝑋) ≔𝑞∈ Pℓ( 𝑋) :

𝑋

𝑞= 0 spanned by functions in Pℓ( 𝑋) with zero average over 𝑋.

For any 𝑋 ∈ Tℎ∪ Fℎ∪ Eℎ, 𝜋 ℓ

P,𝑋 : L1( 𝑋) → P ℓ

( 𝑋) is the L2-orthogonal projector such that, for any

𝑞∈ L1( 𝑋), ∫ 𝑋 (𝜋ℓ P,𝑋𝑞− 𝑞)𝑟 = 0 ∀𝑟 ∈ P ℓ ( 𝑋).

As a projector, 𝜋ℓP,𝑋 is polynomially consistent, that is, it maps any 𝑟 ∈ P ℓ

( 𝑋) onto itself. Optimal approximation properties for this projector have been proved in [19]; see also [18] for more general results on projectors on local polynomial spaces. Letting 𝑛 be the dimension of 𝑋, we also denote by 𝝅ℓ

P,𝑋 : L1( 𝑋) 𝑛

→ Pℓ

( 𝑋)𝑛

the vector version obtained applying the projector component-wise. For any 𝐹 ∈ Fℎand any integer ℓ ≥ −1, we define the following relevant subspaces of P

ℓ (𝐹)2: Gℓ (𝐹) ≔ grad𝐹P ℓ+1 (𝐹), Gℓ (𝐹)⊥≔ L2 -orthogonal complement of Gℓ(𝐹) in Pℓ(𝐹)2, Rℓ (𝐹) ≔ rot𝐹P ℓ+1 (𝐹), Rℓ (𝐹)⊥≔ L2-orthogonal complement of Rℓ (𝐹) in Pℓ (𝐹)2.

The corresponding L2-orthogonal projectors are, with obvious notation, 𝝅ℓG,𝐹, 𝝅 ⊥,ℓ G,𝐹, 𝝅 ℓ R,𝐹, and 𝝅 ⊥,ℓ R,𝐹.

Similarly, for any 𝑇 ∈ Tℎand any integer ℓ ≥ −1 we introduce the following subspaces of P ℓ (𝑇 )3: Gℓ (𝑇 ) ≔ grad Pℓ+1 (𝑇 ), Gℓ (𝑇 )⊥≔ L2 -orthogonal complement of Gℓ(𝑇 ) in Pℓ(𝑇 )3, Rℓ (𝑇 ) ≔ curl Pℓ+1 (𝑇 ), Rℓ (𝑇 )⊥≔ L2 -orthogonal complement of Rℓ(𝑇 ) in Pℓ(𝑇 )3. The corresponding L2-orthogonal projectors are 𝝅ℓG,𝑇, 𝝅⊥,ℓG,𝑇, 𝝅ℓR,𝑇, and 𝝅⊥,ℓR,𝑇.

At the global level, we will need the space of broken polynomial functions of total degree ≤ ℓ defined by Pℓ (Tℎ) ≔  𝑞 ∈ L2(Ω) : 𝑞|𝑇 ∈ Pℓ(𝑇 ) ∀𝑇 ∈ Tℎ . (4) 3 Global DDR sequence

In this section, we define a DDR sequence mimicking the de Rham sequence (3). Each space in the DDR sequence consists of vectors of polynomial functions attached to appropriate geometric entities of the mesh in order to imitate, through their single-valuedness, the continuity properties of the corresponding space in the continuous sequence. The discrete vector operators in the DDR sequence are defined taking L2-orthogonal projections of full operators, each mimicking an appropriate version of the Stokes formula. The adjective full refers to the fact that these operators map on full polynomial spaces (and, correspondingly, enjoy optimal approximation properties). Full operators that only appear in the discrete sequence through projections are identified by a dot. The correspondence between continuous and discrete spaces and operators are summarised in Tables 1 and 2, respectively. For the sake of brevity, we recall here only the main facts and refer to [22] for a more detailed presentation of the local DDR sequence.

As pointed out in [22, Section 2], the exactness relations

Im curl = Ker div, Im div = L2(Ω) (5)

play a key role in the well-posedness of problem (1). The main result of this section, proved in Theorem 3, is a discrete counterpart of (5) for the global DDR sequence. In what follows, we fix an integer 𝑘 ≥ 0 corresponding to the polynomial degree of the sequence.

(7)

Continuous space Discrete space Definition R R — H1(Ω) Xgrad,ℎ𝑘 Eq. (6) H(curl; Ω) X𝑘 curl,ℎ Eq. (9) H(div; Ω) X𝑘 div,ℎ Eq. (13) L2(Ω) P𝑘(Tℎ) Eq. (4)

Table 1: Correspondence between continuous and discrete spaces in the de Rham (3) and DDR (18) sequences.

Continuous operator Discrete operator Definition

grad 𝑮𝑘 ℎ Eq. (15) curl 𝑪𝑘 ℎ Eq. (16) div 𝐷𝑘 ℎ Eq. (17)

Table 2: Correspondence between continuous and discrete vector operators in the de Rham (3) and DDR (18) sequences.

3.1 Discrete H1(Ω) space and full gradient operators

The discrete counterpart of the space H1(Ω) is

Xgrad,ℎ𝑘 ≔ n 𝑟 ℎ = (𝑟𝑇)𝑇∈ Tℎ,(𝑟𝐹)𝐹∈ Fℎ,(𝑟𝐸)𝐸∈ Eℎ,(𝑟𝑉)𝑉∈Vℎ  : 𝑟𝑇 ∈ P 𝑘−1 (𝑇 ) for all 𝑇 ∈ Tℎ, 𝑟𝐹 ∈ P 𝑘−1 (𝐹) for all 𝐹 ∈ Fℎ, 𝑟𝐸 ∈ P 𝑘−1

(𝐸) for all 𝐸 ∈ Eℎ, and 𝑟𝑉 ∈ R for all 𝑉 ∈ Vℎ

o .

(6)

The restrictions of Xgrad,ℎ𝑘 and 𝑟ℎ ∈ X 𝑘

grad,ℎto a mesh element, face, or edge 𝑋 ∈ Tℎ∪ Fℎ∪ Eℎare denoted

by, respectively, X𝑘grad,𝑋 and 𝑟𝑋 ∈ X 𝑘

grad,𝑋. The interpolator on X

𝑘 grad,ℎ is 𝐼 𝑘 grad,ℎ : 𝐶0(Ω) → X 𝑘 grad,ℎ

such that, for all 𝑟 ∈ 𝐶0(Ω), 𝐼𝑘 grad,ℎ𝑟 ≔ (𝜋 𝑘−1 P,𝑇𝑟)𝑇∈ Tℎ ,(𝜋𝑘−1 P,𝐹𝑟)𝐹∈ Fℎ ,(𝜋𝑘−1 P,𝐸𝑟)𝐸∈ Eℎ ,(𝑟 (𝒙𝑉))𝑉∈V ℎ  , (7)

that is, the discrete element 𝐼grad,ℎ𝑘 𝑟 representing 𝑟 is obtained taking the L2-projections of 𝑟 on the polynomial spaces composing Xgrad,ℎ𝑘 .

For any edge 𝐸 ∈ Eℎ and any 𝑟𝐸 = (𝑟𝐸,(𝑟𝑉)𝑉∈V𝐸) ∈ X

𝑘 grad,𝐸, denote by 𝛾 𝑘+1 𝐸 𝑟 𝐸 the unique

polynomial in P𝑘+1(𝐸) such that (𝛾𝐸𝑘+1𝑟𝐸) (𝒙𝑉) = 𝑟𝑉 for all 𝑉 ∈ V𝐸 and 𝜋 𝑘−1 P,𝐸(𝛾

𝑘+1

𝐸 𝑟𝐸) = 𝑟𝐸. We

define the (full) edge gradient 𝐺𝑘𝐸 : X 𝑘 grad,𝐸 → P 𝑘 (𝐸) setting 𝐺𝑘 𝐸𝑟𝐸 ≔ (𝛾 𝑘+1 𝐸 𝑟𝐸) 0 ∀𝑟 𝐸 ∈ X 𝑘 grad,𝐸, (8)

where the derivative is taken along 𝐸 in the direction of 𝒕𝐸.

Remark 1 (Edge unknowns). Selecting a family ((𝑟𝐸)𝐸∈ Eℎ,(𝑟𝑉)𝑉∈Vℎ) of edge and vertex degrees of

freedom is equivalent to selecting a function 𝑞 :Ð𝐸∈ Eℎ

𝐸 → R on the edge skeleton that is polynomial of degree ≤ 𝑘 + 1 on each edge and continuous at the vertices (hence, 𝑞 is globally continuous on the edge skeleton). This function is simply given by 𝑞|𝐸 = 𝛾𝐸𝑘+1𝑟𝐸 for all 𝐸 ∈ Eℎ.

(8)

For any face 𝐹 ∈ Fℎ, we define the full face gradient • 𝑮𝑘 𝐹 : X 𝑘 grad,𝐹 → P 𝑘

(𝐹)2 such that, for all

𝑟 𝐹 ∈ X 𝑘 grad,𝐹, ∫ 𝐹 • 𝑮𝑘 𝐹𝑟𝐹 ·𝒗 = − ∫ 𝐹 𝑟𝐹div𝐹𝒗 + Õ 𝐸∈ E𝐹 𝜔𝐹 𝐸 ∫ 𝐸 𝛾𝑘+1 𝐸 𝑟𝐸(𝒗 · 𝒏𝐹 𝐸) ∀𝒗 ∈ P 𝑘 (𝐹)2,

along with the corresponding scalar potential 𝛾𝑘𝐹+1: X 𝑘

grad,𝐹 → P

𝑘+1

(𝐹) such that, for all 𝑟𝐹 ∈ X 𝑘 grad,𝐹, 𝛾𝑘+1 𝐹 𝑟𝐹 ≔ 𝑟𝐹 + ˜𝛾 𝑘+1 𝐹 𝑟𝐹 − 𝜋 𝑘−1 P,𝐹( ˜𝛾 𝑘+1 𝐹 𝑟𝐹). Above, ˜𝛾𝑘+1 𝐹 : X 𝑘 grad,𝐹 → P 𝑘+1

(𝐹) is a face potential reconstruction that is consistent for polynomials of total degree ≤ 𝑘 + 1, that is, denoting by 𝐼𝑘grad,𝐹 : 𝐶0(𝐹) → X

𝑘

grad,𝐹 the restriction of the interpolator

(7) to 𝐹, ˜𝛾𝑘+1

𝐹 (𝐼 𝑘

grad,𝐹𝑟) = 𝑟 for all 𝑟 ∈ P

𝑘+1

(𝐹). Finally, for all 𝑇 ∈ Tℎ, the full element gradient

• 𝑮𝑘 𝑇 : X 𝑘 grad,𝑇 → P 𝑘

(𝑇 )3is such that, for all 𝑟 𝑇 ∈ X 𝑘 grad,𝑇, ∫ 𝑇 • 𝑮𝑘 𝑇𝑟𝑇 ·𝒗 = − ∫ 𝑇 𝑟𝑇 div 𝒗 + Õ 𝐹∈ F𝑇 𝜔𝑇 𝐹 ∫ 𝐹 𝛾𝑘+1 𝐹 𝑟𝐹(𝒗 · 𝒏𝐹) ∀𝒗 ∈ P 𝑘 (𝑇 )3.

3.2 Discrete H(curl; Ω) space and full curl operators

The role of the space H(curl; Ω) is played at the discrete level by

X𝑘 curl,ℎ≔ n 𝝊ℎ= (𝝊R,𝑇,𝝊 ⊥ R,𝑇)𝑇∈ Tℎ ,(𝝊R,𝐹,𝝊⊥ R,𝐹)𝐹∈ Fℎ ,(𝜐𝐸)𝐸∈ E ℎ  : 𝝊R,𝑇 ∈ R 𝑘−1 (𝑇 ) and 𝝊⊥R,𝑇 ∈ R 𝑘 (𝑇 )⊥for all 𝑇 ∈ Tℎ, 𝝊R,𝐹 ∈ R 𝑘−1 (𝐹) and 𝝊⊥R,𝐹 ∈ R 𝑘 (𝐹)⊥for all 𝐹 ∈ Fℎ, and 𝜐𝐸 ∈ P 𝑘 (𝐸) for all 𝐸 ∈ Eℎ o . (9)

The restrictions of Xcurl,ℎ𝑘 and 𝝊ℎ ∈ X 𝑘

curl,ℎ to a mesh element or face 𝑋 ∈ Tℎ ∪ Fℎ are denoted by,

respectively, Xcurl,𝑋𝑘 and 𝝊𝑋 ∈ X 𝑘

curl,𝑋.

For any face 𝐹 ∈ Fℎ, we reconstruct the discrete (full) face curl 𝐶 𝑘 𝐹 : X 𝑘 curl,𝐹 → P 𝑘 (𝐹) approximating rot𝐹 such that, for all 𝝊𝐹 ∈ X

𝑘 curl,𝐹, ∫ 𝐹 𝐶𝑘 𝐹𝝊𝐹𝑞 = ∫ 𝐹 𝝊R,𝐹 · rot𝐹𝑞− Õ 𝐸∈ E𝐹 𝜔𝐹 𝐸 ∫ 𝐸 𝜐𝐸𝑞 ∀𝑞 ∈ P 𝑘 (𝐹), (10)

as well as the discrete tangential face potential 𝜸𝑘t,𝐹 : Xcurl,𝐹𝑘 → P

𝑘

(𝐹)2such that, for all 𝝊 𝐹 ∈ X

𝑘

curl,𝐹,

it holds, for all (𝑟, 𝝉) ∈ P0, 𝑘+1(𝐹) × R𝑘(𝐹)⊥, ∫ 𝐹 𝜸𝑘 t,𝐹𝝊𝐹 · (rot𝐹𝑟+𝝉) = ∫ 𝐹 𝐶𝑘 𝐹𝝊𝐹𝑟 + Õ 𝐸∈ E𝐹 𝜔𝐹 𝐸 ∫ 𝐸 𝜐𝐸𝑟+ ∫ 𝐹 𝝊⊥R,𝐹 ·𝝉. (11)

Similarly, for any element 𝑇 ∈ Tℎ, we define the discrete full element curl operator

• 𝑪𝑘 𝑇 : X 𝑘 curl,𝑇 → P 𝑘 (𝑇 )3

such that, for all 𝝊𝑇 ∈ X 𝑘 curl,𝑇, ∫ 𝑇 • 𝑪𝑘 𝑇𝝊𝑇 ·𝝉 = ∫ 𝑇 𝝊R,𝑇 · curl 𝝉 + Õ 𝐹∈ F𝑇 𝜔𝑇 𝐹 ∫ 𝐹 𝜸𝑘 t,𝐹𝝊𝐹 · (𝝉 × 𝒏𝐹) ∀𝝉 ∈ P 𝑘 (𝑇 )3. (12)

(9)

3.3 Discrete H(div; Ω) space and full divergence operator

The discrete counterpart of the space H(div; Ω) is

X𝑘 div,ℎ ≔ n 𝒘ℎ = (𝒘G,𝑇,𝒘 ⊥ G,𝑇)𝑇∈ T ℎ ,(𝑤𝐹)𝐹∈ Fℎ  : 𝒘G,𝑇 ∈ G 𝑘−1 (𝑇 ) and 𝒘⊥G,𝑇 ∈ G 𝑘 (𝑇 )⊥for all 𝑇 ∈ Tℎ, and 𝑤𝐹 ∈ P 𝑘 (𝐹) for all 𝐹 ∈ Fℎ o . (13)

The restrictions of X𝑘div,ℎand 𝒘ℎ ∈ X 𝑘

div,ℎ to a mesh element 𝑇 ∈ Tℎare denoted by, respectively, X 𝑘 div,𝑇

and 𝒘𝑇 ∈ X 𝑘 div,𝑇.

For any 𝑇 ∈ Tℎ, we define the (full) discrete divergence reconstruction 𝐷 𝑘 𝑇 : X 𝑘 div,𝑇 → P 𝑘 (𝑇 ) such that, for any 𝒘𝑇 ∈ X

𝑘 div,𝑇, ∫ 𝑇 𝐷𝑘 𝑇𝒘𝑇𝑞= − ∫ 𝑇 𝒘G,𝑇 · grad 𝑞 + Õ 𝐹∈ F𝑇 𝜔𝑇 𝐹 ∫ 𝐹 𝑤𝐹𝑞 ∀𝑞 ∈ P 𝑘 (𝑇 ). (14)

3.4 Global DDR sequence and exactness

Define the discrete counterparts 𝑮ℎ𝑘 : X 𝑘

grad,ℎ → X

𝑘

curl,ℎof the gradient operator, 𝑪

𝑘 ℎ : X 𝑘 curl,ℎ → X 𝑘 div,ℎ

of the curl operator, and 𝐷ℎ𝑘 : X 𝑘

div,ℎ → P 𝑘

(Tℎ) of the divergence operator such that, for all (𝑟ℎ,𝝊ℎ,𝒘ℎ) ∈

Xgrad,ℎ𝑘 × X 𝑘 curl,ℎ× X 𝑘 div,ℎ, 𝑮𝑘 ℎ𝑟ℎ≔ (𝝅 𝑘−1 R,𝑇 • 𝑮𝑘 𝑇𝑟𝑇,𝝅 ⊥,𝑘 R,𝑇 • 𝑮𝑘 𝑇𝑟𝑇)𝑇∈ Tℎ,(𝝅 𝑘−1 R,𝐹 • 𝑮𝑘 𝐹𝑟𝐹,𝝅 ⊥,𝑘 R,𝐹 • 𝑮𝑘 𝐹𝑟𝐹)𝐹∈ Fℎ ,(𝐺𝑘 𝐸𝑟𝐸)𝐸∈ Eℎ  , (15) 𝑪𝑘 ℎ𝝊ℎ≔ (𝝅 𝑘−1 G,𝑇 • 𝑪𝑘 𝑇𝝊𝑇,𝝅 ⊥,𝑘 G,𝑇 • 𝑪𝑘 𝑇𝝊𝑇)𝑇∈ Tℎ ,(𝐶𝑘 𝐹𝝊𝐹)𝐹∈ Fℎ  , (16) (𝐷𝑘 ℎ𝒘ℎ)|𝑇 ≔ 𝐷 𝑘 𝑇𝒘𝑇 ∀𝑇 ∈ Tℎ . (17)

Recalling the definition (7) of the interpolator on X𝑘grad,ℎ, the global DDR sequence reads

R X𝑘grad,ℎ X 𝑘 curl,ℎ X 𝑘 div,ℎ P 𝑘 (Tℎ) {0}. 𝐼𝑘 grad,ℎ 𝑮 𝑘 ℎ 𝑪 𝑘 ℎ 𝐷𝑘 ℎ 0 (18)

Remark 2 (Comparison with Finite and Virtual Element Methods). A thorough comparison between the DDR approach and standard Finite Elements on tetrahedral and hexahedral meshes has been carried out in [22]; see, in particular, Tables 1 and 2 therein.

Similarities and differences exist between the degrees of freedom of Virtual Element sequences and the polynomial components of the spaces in the DDR sequence (18). Specifically, contrary (18), the Virtual Element sequence of [4] is composed of spaces whose degree decreases by one at each application of the exterior derivative. In [3], the authors focus on a lowest order version of the method, while, in [2], they develop serendipity versions of Virtual Element spaces with fewer degrees of freedom with respect to those in the original sequence. As pointed out in [21, Section 5.5], there exists a duality between fully discrete approaches such as DDR or HHO and Virtual Elements in the sense that both interpretations can co-exist for a given scheme. From the analysis standpoint, working in a fully discrete framework can have advantages in some cases, linked, in particular, to the fact that it does not require to estimate the approximation properties of virtual spaces; see [20] and, in particular, Section 3.2 therein, devoted to the analysis of conforming and non-conforming Virtual Element methods.

To close this remark, we emphasize that both the DDR and Virtual Element approaches can, in principle, be used in conjunction with Finite Elements on computational meshes that feature both standard and polyhedral elements.

(10)

The following theorem establishes a discrete counterpart of the exactness relations (5), a crucial ingredient to prove the well-posedness of the discrete problem.

Theorem 3 (Exactness). It holds

Im 𝐷ℎ𝑘 = P 𝑘 (Tℎ), (19) Im 𝑪ℎ𝑘 = Ker 𝐷 𝑘 ℎ. (20)

Remark 4 (No voids assumption). The assumption that Ω does not enclose any void is only used to prove Ker 𝐷𝑘ℎ ⊂ Im 𝑪 𝑘 ℎ. The relations Im 𝐷 𝑘 ℎ= P 𝑘 (Tℎ) and Im 𝑪 𝑘 ℎ ⊂ Ker 𝐷 𝑘

ℎhold for any polyhedral domain.

Proof. 1. Proof of (19). We only have to show the inclusion Im 𝐷𝑘 ℎ ⊃ P

𝑘

(Tℎ). Let 𝑞ℎ ∈ P 𝑘

(Tℎ).

A classical result gives the existence of 𝒗 ∈ H1(Ω)3 such that div 𝒗 = 𝑞ℎ (see, e.g., [21, Lemma 8.3]

in the case where 𝑞ℎ has a zero average over Ω; the case of a generic 𝑞ℎ follows easily since constant

functions can be trivially written as divergences). Let 𝒘ℎ ∈ X 𝑘

div,ℎ be the global interpolate of 𝒗, that is,

𝒘G,𝑇 =𝝅𝑘G,𝑇−1𝒗 and 𝒘G,𝑇⊥ =𝝅⊥,𝑘G,𝑇𝒗 for all 𝑇 ∈ Tℎ, while 𝑤𝐹 = 𝜋 𝑘

P,𝐹(𝒗 · 𝒏𝐹) for all 𝐹 ∈ Fℎ. Then, for all

𝑇 ∈ T, 𝒘

𝑇 is the local interpolate of 𝒗 in the element 𝑇 and by [21, Lemma 25], we have

𝐷𝑘 𝑇𝒘𝑇 = 𝜋 𝑘 P,𝑇(div 𝒗|𝑇) = 𝜋 𝑘 P,𝑇𝑞ℎ|𝑇 = 𝑞ℎ|𝑇.

This proves that 𝐷ℎ𝑘𝒘ℎ= 𝑞ℎand concludes the proof that Im 𝐷 𝑘 ℎ = P

𝑘

(Tℎ).

2. Proof of (20).

2.a) Proof that Im 𝑪𝑘ℎ⊂ Ker 𝐷 𝑘

ℎ. Let 𝒘ℎ ∈ Im 𝑪 𝑘

ℎ. For any 𝑇 ∈ Tℎ, denote by 𝑪 𝑘

𝑇 the restriction of 𝑪 𝑘 ℎto

𝑇such that, for all 𝝊

𝑇 ∈ X 𝑘 curl,𝑇, 𝑪𝑘 𝑇𝝊𝑇 ≔ 𝝅 𝑘−1 G,𝑇 • 𝑪𝑘 𝑇𝝊𝑇,𝝅 ⊥,𝑘 G,𝑇 • 𝑪𝑘 𝑇𝝊𝑇,(𝐶 𝑘 𝐹𝝊𝐹)𝐹∈ F𝑇  .

Then, for all 𝑇 ∈ Tℎ, we have 𝒘𝑇 ∈ Im 𝑪 𝑘

𝑇 = Ker 𝐷 𝑘

𝑇, the last equality following from the exactness of

element-wise operators stated in [22, Theorem 17]. This shows that 𝐷𝑇𝑘𝒘𝑇 = 0 for all 𝑇 ∈ Tℎ, and thus

that 𝐷𝑘ℎ𝒘ℎ= 0 as required.

2.b) Proof that Ker 𝐷𝑘ℎ ⊂ Im 𝑪 𝑘

ℎ. Let 𝒘ℎ ∈ Ker 𝐷 𝑘

ℎ. We have to find 𝝊ℎ ∈ X 𝑘

curl,ℎsuch that 𝑪

𝑘

ℎ𝝊ℎ =𝒘ℎ.

By definition of 𝐷𝑘ℎ, for all 𝑇 ∈ Tℎ we have 𝐷 𝑘

𝑇𝒘𝑇 = 0 and the local exactness stated in [22, Theorem

17] gives 𝝊𝑇 ∈ X 𝑘

curl,𝑇 such that 𝑪

𝑘

𝑇𝝊𝑇 = 𝒘𝑇. However, nothing ensures at that stage that the vectors

(𝝊𝑇)𝑇∈ Tℎ are the restrictions to the spaces (X

𝑘

curl,𝑇)𝑇∈ Tℎ of some 𝝊ℎ ∈ X 𝑘

curl,ℎ; this only happens if the

face and edge values of these local vectors (𝝊𝑇)𝑇∈ Tℎmatch between each pair of neighbouring elements.

To construct local vectors with matching interface values, we use an inductive approach. Since Ω does not enclose any void, the mesh Mℎcan be topologically assembled starting from a single element

by a succession of the following two operations:

A. Adding a new element by gluing one of its faces to the face of another element already in the mesh; see Figure 1.

B. Gluing together two faces of elements already in the mesh, such that the edges along which the faces are already glued together form a connected path (which could be empty); see Figure 2.

We note that, for a domain enclosing one or more voids, these two operations alone would not be sufficient to construct the mesh (see Remark 5).

(11)

𝐹 𝑇 𝑇 𝑉 5 𝐹 𝐸 4 𝐸 5 𝑉 3 𝑉 1 𝑉 4 𝐸 2 𝐸 3 𝑉 2 𝐸 1

Figure 1: Illustration of Operation A in the proof of Theorem 3: adding a new element to the mesh.

𝑉 4 𝑉 1 𝑉 3 𝑉 2 𝐹 𝐹 𝑇 𝑇 𝑉 5 𝑉 6 𝐸𝑐 𝐸𝑑 𝐸𝑏 𝐸𝑎

Figure 2: Illustration of Operation B in the proof of Theorem 3: gluing two faces in a mesh (note that, at the start of this operation, the faces are already glued along the connected path from 𝑉1to 𝑉4).

(12)

From the analytical point of view, we do not “deform/move” the elements, their faces, or edges to actually assemble the mesh; our elements/faces/edges are those already in the final mesh. However, we will interpret the topological aspects of this construction the following way: polynomial functions defined on faces/edges that are already glued together are single-valued (as in the global space Xcurl,ℎ𝑘 ), while

polynomial functions on faces/edges that are not yet “glued” have two values, one for each element on each side of the face we are gluing along. We nonetheless preserve the topological vocabulary of “gluing” faces together as it seems more intuitive and helps following the arguments in the proof.

The inductive construction of 𝝊ℎ ∈ X 𝑘

curl,ℎsuch that 𝑪

𝑘

ℎ𝝊ℎ=𝒘ℎstarts from one element and follows

the two operations described above. The base case is already covered above: if 𝑇 ∈ Tℎ, [22, Theorem 17]

gives a pre-image 𝝊𝑇 through 𝑪 𝑘

𝑇 of 𝒘𝑇. We therefore only have to consider the inductive step: starting

from a submesh Mℎ ,★of Mℎ(possibly with some unglued faces) and an element

𝝊ℎ ,★ ∈ X 𝑘

curl,ℎ,★ such that 𝑪

𝑘

𝑇𝝊ℎ ,★=𝒘𝑇 ∀𝑇 ∈ Tℎ ,★, (21)

and considering a submesh Mℎ ,♦of Mℎbuilt from Mℎ ,★through one of the operations A or B, we need

to establish the existence of

𝝊ℎ ,♦ ∈ X 𝑘

curl,ℎ,♦ such that 𝑪

𝑘

𝑇𝝊ℎ ,♦=𝒘𝑇 ∀𝑇 ∈ Tℎ ,♦. (22)

Above, for ◦ ∈ {★, ♦}, X𝑘curl,ℎ,◦and Tℎ ,◦denote, respectively, the discrete curl space and set of elements

associated to Mℎ ,◦. In what follows, for any 𝑇 ∈ Tℎ, we denote by M𝑇 ≔ {𝑇 } ∪ F𝑇 ∪ E𝑇 ∪ V𝑇 the

submesh associated with 𝑇 .

Operation A: Adding a new element by gluing one of its faces. Let us call 𝑇♦ the element added to Mℎ ,★, and 𝐹 the face along which we glue it; let 𝑇★be the element in Mℎ ,★to which 𝑇♦is glued. In the

step-by-step procedure below, we construct an extension 𝝊ℎ ,♦of 𝝊ℎ ,★to Mℎ ,♦= Mℎ ,★∪ M𝑇♦ such that

its values on 𝐹 viewed from 𝑇♦and from 𝑇★match (which ensures that 𝝊ℎ , ∈ X 𝑘

curl,ℎ,♦), and such that

𝑪𝑘

𝑇𝝊ℎ ,♦ =𝒘𝑇. Since 𝝊ℎ ,♦ =𝝊ℎ ,★on each 𝑇 ∈ Tℎ ,★, the inductive assumption (21) will then prove that

(22) holds.

• Pre-image in 𝑇♦. Since 𝒘𝑇 ∈ Ker 𝐷 𝑘

𝑇, the local exactness of [22, Theorem 17] gives 𝜻𝑇 ∈ X 𝑘

curl,𝑇

that satisfies 𝑪𝑇𝑘𝜻𝑇

=𝒘𝑇.

• The difference of the pre-images on 𝐹 is a gradient. Restricting the two relations 𝑪𝑇𝑘★𝝊ℎ ,★=𝒘𝑇★ and

𝑪𝑘 𝑇𝜻𝑇

= 𝒘𝑇 to the face 𝐹 in common between 𝑇♦ and 𝑇★, we have 𝐶 𝑘

𝐹𝜻𝐹 = 𝐶 𝑘

𝐹𝝊𝐹 ,★(where 𝝊𝐹 ,★

is the restriction to 𝐹 of 𝝊ℎ ,★). Hence, 𝜻𝐹 −𝝊𝐹 ,★ ∈ Ker 𝐶 𝑘

𝐹 = Im 𝑮 𝑘

𝐹 (see [22, Theorem 8]), where

𝑮𝑘 𝐹 : X

𝑘

grad,𝐹 → X

𝑘

curl,𝐹 is the restriction to 𝐹 of the global gradient 𝑮

𝑘

ℎdefined by (15). There exists

thus 𝑞𝐹 , ∈ Xgrad,𝐹𝑘 such that 𝜻𝐹

+𝑮𝑘 𝐹 𝑞 𝐹 ,♦ =𝝊𝐹 ,★. • Extension of 𝑞𝐹 ,♦to X 𝑘

grad,♦. We extend 𝑞𝐹 ,♦ into 𝑞𝑇 ∈ X 𝑘

grad,𝑇♦ the following way: letting 𝑞𝜕𝐹 ,♦be

the continuous piecewise polynomial function on 𝜕𝐹 corresponding to the boundary values of 𝑞𝐹 ,♦ (see Remark 1), we prolong 𝑞𝜕𝐹 ,♦by continuity to E𝑇as a linear function along each edge 𝐸𝑖(see the

notations in Figure 1), from its value at the vertex 𝑉𝑖to 0 at the other end of 𝐸𝑖, and then set it to zero

on the remaining edges. We then set all face values (except on 𝐹) and the element value of 𝑞𝑇

♦to zero.

• Conclusion. With the above extension, the vector 𝝊𝑇 := 𝜻𝑇

♦ +𝑮𝑘 𝑇𝑞𝑇∈ X𝑘 curl,𝑇♦satisfies 𝑪 𝑘 𝑇𝝊𝑇 =𝒘𝑇 (because Im 𝑮𝑇𝑘 ⊂ Ker 𝑪 𝑘

𝑇 by [22, Theorem 17]) and, by construction, the values of 𝝊ℎ ,★and 𝝊𝑇on

𝐹coincide. This completes the construction of the extension 𝝊

(13)

Operation B: Gluing together two mesh faces, already glued together along a connected path of their

edges. No new element is added to the mesh, but two faces of neighbouring elements 𝑇★ and 𝑇♦ are

glued together along one of their faces 𝐹. In this situation, the element 𝝊ℎ ,★given by (21) has, on 𝐹, two

values 𝝊𝐹 ,★

,𝝊

𝐹 ,♦ ∈ X 𝑘

curl,𝐹, viewed from 𝑇★and 𝑇♦ respectively, which coincide only along the edges

that are already glued together (e.g., those between the vertices 𝑉1, 𝑉2, 𝑉3, 𝑉4in Figure 2). We have to

find a modification 𝝊ℎ ,♦ of 𝝊ℎ ,★that preserves the relation 𝑪 𝑘

𝑇𝝊ℎ ,♦ = 𝒘𝑇 for all 𝑇 ∈ Tℎ ,★ = Tℎ ,♦, and

is single-valued on 𝐹. This is done in the following procedure by modifying the vector 𝝊𝐹 ,♦ so that it

coincides with 𝝊𝐹 ,★; this modification will, however, have repercussions on other values of 𝝊ℎ ,★, that

need to be properly tracked.

• Notations for glued/non-glued edges and vertices of 𝐹. Let Eg𝐹 be the set of edges of 𝐹 already glued

between 𝑇★and 𝑇♦, and E ng

𝐹 ≔ E𝐹\ E g

𝐹 the edges that are not glued; similarly, V g 𝐹and V ng 𝐹 ≔ V𝐹\ V g 𝐹

respectively denote the vertices of 𝐹 that are glued and not glued between 𝑇★and 𝑇♦.

In Figure 2, Eg𝐹 is made of [𝑉1 , 𝑉 2], [𝑉2, 𝑉3] and [𝑉3, 𝑉4], E ng 𝐹 comprises [𝑉4 , 𝑉 5], [𝑉5, 𝑉6] and [𝑉6, 𝑉 1], while V𝐹g = {𝑉1 , 𝑉 2, 𝑉3, 𝑉4} and V𝐹ng = {𝑉5 , 𝑉

6} (remember that there is only one face 𝐹, its

representation as two faces in this figure is just a mnemotechnic way to remember that some functions can be double-valued on the face or some of its edges).

• The difference of pre-images on 𝐹 is the gradient of a vector that vanishes along the connected path. As in Operation A, we have 𝐶𝐹𝑘(𝝊𝐹 ,★−𝝊𝐹 ,♦) = 𝑤𝐹 − 𝑤𝐹 = 0, and there exists thus 𝑞𝐹 , ∈ X

𝑘 grad,𝐹 such that 𝝊𝐹 ,★−𝝊𝐹 ,♦ =𝑮 𝑘 𝐹 𝑞

𝐹 ,♦. By definition (8) of the boundary gradient, the derivative of 𝑞 𝜕𝐹 ,♦

on each edge 𝐸 ∈ E𝐹 is (𝝊𝐹 ,★−𝝊𝐹 ,)|𝐸, and therefore vanishes on the connected path of edges in E g 𝐹.

The function 𝑞𝜕𝐹 ,♦is thus constant along this path and, since adding to 𝑞

𝐹 ,♦the interpolate in X 𝑘

grad,𝐹

of a constant function does not change the relation 𝝊𝐹 ,★−𝝊𝐹 ,♦ = 𝑮 𝑘 𝐹

𝑞

𝐹 ,♦ (due to [22, Proposition

4.1]), we can assume that 𝑞𝜕𝐹 ,♦ = 0 on the edges in E g 𝐹.

• Extension of 𝑞𝐹 ,. Still following ideas developed in Operation A above, the boundary function 𝑞𝜕𝐹 ,♦

is extended to all edges starting from a vertex in V𝐹ng: the extension is linear from the value of 𝑞𝜕𝐹 ,♦

at the considered vertex to zero at the other edge endpoint (in Figure 2, this extends 𝑞𝜕𝐹 ,♦to 𝐸𝑎, 𝐸𝑏,

𝐸𝑐, 𝐸𝑑 – notice that some of these edges do not belong to E𝑇). None of these edges belongs to E𝑇★,

since they originate from a vertex in V𝐹ngat which 𝑇♦and 𝑇★are not connected.

Recalling that 𝑞𝜕𝐹 ,♦ = 0 at the vertices in V𝐹g, we can further extend this function by zero on all

remaining edges (that is, edges that do not contain any vertex in V𝐹ng). This yields a continuous

piecewise polynomial function on the complete edge skeleton of Mℎ ,★, that is single-valued on all

edges except those in E𝐹ng, and that vanishes on all the edges of 𝑇★. Setting all face values (except 𝐹

when viewed from 𝑇♦) and all element values to zero, we obtain 𝑞ℎ ,that is single-valued on the edge skeleton (except the edges in E𝐹ng), single-valued on the faces (except 𝐹), vanishes on 𝑇★, and satisfies

𝑞

𝑇 ,♦ ∈ X 𝑘

grad,𝑇 for all 𝑇 ∈ Tℎ ,★. By definition of 𝑮 𝑘

ℎ, the vector 𝑮 𝑘

ℎ𝑞ℎ ,can be defined element-wise,

and is single-valued on all faces except 𝐹, and on all edges except those in Eng𝐹.

• Conclusion. Setting 𝝊ℎ ,♦ ≔𝝊ℎ ,★−𝑮 𝑘

ℎ𝑞ℎ ,, we obtain by construction an element that is single-valued

on all faces, including 𝐹 (since 𝑞ℎ , = 0 on 𝑇★, the addition of 𝑮 𝑘 ℎ

𝑞

ℎ ,♦ does not modify 𝝊𝐹 ,★, while

it adjusts 𝝊𝐹 ,♦ to match 𝝊𝐹 ,★). Hence, 𝝊ℎ ,♦ ∈ X 𝑘

curl,ℎ,♦. Moreover, since Im 𝑮

𝑘

𝑇 ⊂ Ker 𝑪 𝑘 𝑇 for all

𝑇 ∈ Tℎ ,♦, from (21) we deduce that (22) holds.

(14)

𝑇 𝑇 𝑇 𝑇 3 𝑇 2 𝑇 1 𝑇 𝑇 1 𝑇 3 𝐹 𝐹 𝑇 2

Figure 3: Example of gluing appearing when assembling a mesh of an open set enclosing a void (here, the open set is a layer between two concentric balls, the inner one being below in the figures above).

Remark 5 (Domain with voids). Consider assembling, following similar steps as in Operations A and B above, a mesh for an open set enclosing a void, e.g., a one-layer mesh of a domain contained between two concentric (polyhedral approximations of) balls. At some stage, to close the layer, we would end up in the situation described in Figure 3 (in which the ball enclosed by the domain is below the part of the mesh depicted): all the mesh except one element, 𝑇♦, has been fully assembled and this last element has to be glued to the existing mesh. On the left of this picture, it has already been glued to the elements 𝑇1

and 𝑇2, which can be done using Operations A and B above. Then, applying another Operation B to glue

it to 𝑇3, we would end up in a situation described on the right of the picture: 𝑇♦and 𝑇★are then only glued

along the two vertical edges of 𝐹, which do not form a connected path. The consequence is that, when attempting to apply Operation B as in the proof of Theorem 3 to finalise the gluing of 𝑇♦ and 𝑇★along

𝐹, the function 𝑞𝜕𝐹 ,♦ could only be chosen to vanish on one of the vertical edges, and not necessarily

the other; its extension to the edges skeleton would therefore have non-zero values on the edges of 𝑇★,

and the resulting element 𝑮ℎ𝑘

𝑞

ℎ ,♦ would modify the value of 𝝊𝐹 ,★on 𝑇

★, thus preventing 𝑮 𝑘 𝐹

𝑞

𝐹 ,♦ from

properly gluing 𝝊𝐹 ,★and 𝝊𝐹 ,♦.

4 DDR-based discretisation

In this section, we formulate the DDR-based discretisation of problem (1). The key ingredients are reconstructions of vector potentials and discrete L2-products on the spaces Xcurl,ℎ𝑘 and X

𝑘

div,ℎ. The vector

potential reconstructions are obtained element-wise by mimicking the Stokes formula with the role of the exterior derivative played by the appropriate vector operator reconstruction. The discrete L2-products consist of two terms, one in charge of consistency based on the vector potential reconstructions, and the other in charge of stability. The latter is obtained by penalising in a least-square sense the difference between projections of the vector potential reconstruction and the polynomial functions in the space. We notice that the approach consisting in reconstructing potentials as functions over the domain and using them to design, through standard L2-products, the consistent contributions to the discrete L2-products, enables us to seamlessly take into account the physical parameter 𝜇 in the discretisation (1). From hereon, we assume that the permeability is constant over each element, and we denote by 𝜇𝑇 ∈ [𝜇, 𝜇] its value

in 𝑇 ∈ Tℎ. This choice is made for simplicity of presentation, as accounting for a permeability that

varies inside each element would raise no additional challenge. The more general case of locally varying permeability is numerically demonstrated in Section 4.4.

(15)

4.1 Discrete vector potential reconstructions and L2-products

Let a mesh element 𝑇 ∈ Tℎbe fixed. The vector potential reconstruction on X 𝑘 curl,𝑇 is 𝑷 𝑘 curl,𝑇 : X 𝑘 curl,𝑇 → P𝑘

(𝑇 )3such that, for all 𝝊 𝑇 ∈ X 𝑘 curl,𝑇, 𝑷𝑘 curl,𝑇𝝊𝑇 ≔ ˆ𝑷 𝑘 curl,𝑇𝝊𝑇 −𝝅 𝑘−1 R,𝑇( ˆ𝑷 𝑘 curl,𝑇𝝊𝑇) +𝝊R,𝑇 , (23)

where ˆ𝑷𝑘curl,𝑇𝝊𝑇 satisfies, for all (𝒗, 𝝉) ∈ G 𝑘+1 (𝑇 )⊥× R𝑘 (𝑇 )⊥ , ∫ 𝑇 ˆ 𝑷𝑘 curl,𝑇𝝊𝑇 · (curl 𝒗 + 𝝉) = ∫ 𝑇 • 𝑪𝑘 𝑇𝝊𝑇 ·𝒗 − Õ 𝐹∈ F𝑇 𝜔𝑇 𝐹 ∫ 𝐹 𝜸𝑘 t,𝐹𝝊𝑇 · (𝒗 × 𝒏𝐹) + ∫ 𝑇 𝝊⊥R,𝑇 ·𝝉. (24)

Based on this potential reconstruction, we define the discrete L2-product such that, for all 𝝊ℎ

,𝜻 ℎ∈ X 𝑘 curl,ℎ, (𝝊ℎ ,𝜻 ℎ )𝜇 ,curl,ℎ≔ Õ 𝑇∈ T ℎ (𝝊𝑇 ,𝜻 𝑇 )𝜇 ,curl,𝑇 with (𝝊𝑇 ,𝜻 𝑇 )𝜇 ,curl,𝑇 ≔ ∫ 𝑇 𝜇𝑇𝑷𝑘 curl,𝑇𝝊𝑇 ·𝑷 𝑘 curl,𝑇𝜻𝑇 + 𝜇𝑇scurl,𝑇(𝝊𝑇,𝜻 𝑇) for all 𝑇 ∈ T ℎ. (25)

In the above expression, scurl,𝑇 : X𝑘curl,𝑇 × X

𝑘

curl,𝑇 → R is a stabilisation bilinear form that can be taken

such that scurl,𝑇(𝝊𝑇,𝜻𝑇) ≔ Õ 𝐹∈ F𝑇 ℎ𝐹 ∫ 𝐹 (𝝅𝑘−1 R,𝐹𝑷 𝑘 curl,𝑇𝝊𝑇 −𝝊R,𝐹) · (𝝅 𝑘−1 R,𝐹𝑷 𝑘 curl,𝑇𝜻𝑇 −𝜻R,𝐹) + Õ 𝐹∈ F𝑇 ℎ𝐹 ∫ 𝐹 (𝝅⊥,𝑘R,𝐹𝑷𝑘 curl,𝑇𝝊𝑇 −𝝊 ⊥ R,𝐹) · (𝝅 ⊥,𝑘 R,𝐹𝑷 𝑘 curl,𝑇𝜻𝑇 −𝜻⊥R,𝐹) + Õ 𝐸∈ E𝑇 ℎ2 𝐸 ∫ 𝐸 (𝑷𝑘 curl,𝑇𝝊𝑇 ·𝒕𝐸 − 𝜐𝐸) (𝑷 𝑘 curl,𝑇𝜻𝑇 ·𝒕𝐸 − 𝜁𝐸).

Given 𝑇 ∈ Tℎ, the vector potential reconstruction on X 𝑘 div,𝑇 is 𝑷 𝑘 div,𝑇 : X 𝑘 div,𝑇 → P 𝑘 (𝑇 )3such that for all 𝒘𝑇 ∈ X 𝑘

div,𝑇 it holds, for all (𝑞, 𝒗) ∈ P

0, 𝑘+1(𝑇 ) × G𝑘 (𝑇 )⊥, ∫ 𝑇 𝑷𝑘 div,𝑇𝒘𝑇 · (grad 𝑞 + 𝒗) = − ∫ 𝑇 𝐷𝑘 𝑇𝒘𝑇𝑞+ Õ 𝐹∈ F𝑇 𝜔𝑇 𝐹 ∫ 𝐹 𝑤𝐹𝑞+ ∫ 𝑇 𝒘⊥G,𝑇 ·𝒗. (26)

Based on this potential reconstruction, we define the L2-product such that, for all 𝒘ℎ

,𝒗 ℎ ∈ X 𝑘 div,ℎ, (𝒘ℎ ,𝒗 ℎ)div,ℎ ≔ Õ 𝑇∈ Tℎ (𝒘𝑇 ,𝒗 𝑇)div,𝑇 (27a) with (𝒘𝑇 ,𝒗 𝑇)div,𝑇 ≔ ∫ 𝑇 𝑷𝑘 div,𝑇𝒘𝑇 ·𝑷 𝑘 div,𝑇𝒗𝑇 + sdiv,𝑇(𝒘𝑇 ,𝒗 𝑇) for all 𝑇 ∈ Tℎ. (27b) Above, sdiv,𝑇 : X 𝑘 div,𝑇 × X 𝑘

div,𝑇 → R is a stabilisation bilinear form that can be taken such that

sdiv,𝑇(𝒘𝑇,𝒗𝑇) ≔ ∫ 𝑇 (𝝅𝑘−1 G,𝑇𝑷 𝑘 div,𝑇𝒘𝑇 −𝒘G,𝑇) · (𝝅 𝑘−1 G,𝑇𝑷 𝑘 div,𝑇𝒗𝑇 −𝒗G,𝑇) + Õ 𝐹∈ F𝑇 ℎ𝐹 ∫ 𝐹 (𝑷𝑘 div,𝑇𝒘𝑇 ·𝒏𝐹 − 𝑤𝐹) (𝑷 𝑘 div,𝑇𝒗𝑇 ·𝒏𝐹− 𝑣𝐹). (28)

The following result establishes, for all 𝑇 ∈ Tℎ, a link between the potential reconstruction 𝑷 𝑘

div,𝑇 applied

to the restriction to 𝑇 of the discrete curl operator defined by (16), and the full element curl operator defined by (12).

(16)

Proposition 6 (Link between 𝑷𝑘

div,𝑇 and

𝑪𝑘

𝑇). For all 𝑇 ∈ T, it holds

𝑷𝑘 div,𝑇(𝑪 𝑘 𝑇𝜻𝑇) = • 𝑪𝑘 𝑇𝜻 𝑇 ∀𝜻𝑇 ∈ X 𝑘 curl,𝑇. (29)

Proof. Let a mesh element 𝑇 ∈ Tℎ be fixed. Writing (26) for 𝒘𝑇 = 𝑪 𝑘

𝑇𝜻𝑇 and 𝒗 = 0, we infer that it

holds, for all 𝑞 ∈ P0, 𝑘+1(𝑇 ), ∫ 𝑇 𝑷𝑘 div,𝑇(𝑪 𝑘 𝑇𝜻𝑇) · grad 𝑞 = − ∫ 𝑇   𝐷𝑘 𝑇(𝑪 𝑘 𝑇𝜻𝑇)𝑞 + Õ 𝐹∈ F𝑇 𝜔𝑇 𝐹 ∫ 𝐹 𝐶𝑘 𝐹𝜻 𝑇 𝑞 = ∫ 𝑇 • 𝑪𝑘 𝑇𝜻 𝑇 · grad 𝑞,

where we have used the fact that Ker 𝐷𝑇𝑘 = Im 𝑪 𝑘

𝑇 (cf. [22, Theorem 17]) in the cancellation, and [22, Eq.

(5.21)] to conclude. Hence, 𝝅𝑘G,𝑇 𝑷div,𝑇𝑘 (𝑪𝑇𝑘𝜻𝑇) = 𝝅 𝑘 G,𝑇 • 𝑪𝑘 𝑇𝜻 𝑇 

. On the other hand, (26) with 𝑞 = 0 and 𝒗 spanning G𝑘(𝑇 )⊥implies 𝝅⊥,𝑘G,𝑇 𝑷div,𝑇𝑘 (𝑪𝑇𝑘𝜻𝑇) = 𝝅

⊥,𝑘 G,𝑇 • 𝑪𝑘 𝑇𝜻𝑇 

. Combining these facts with the orthogonal decomposition P𝑘(𝑇 )3= G𝑘(𝑇 ) ⊕ G𝑘(𝑇 )⊥yields (29) and concludes the proof. 

4.2 Discrete problem

Define the discrete bilinear forms 𝑎ℎ : X 𝑘 curl,ℎ× X 𝑘 curl,ℎ → R, 𝑏ℎ : X 𝑘 curl,ℎ × X 𝑘 div,ℎ → R, and 𝑐ℎ : X𝑘 div,ℎ× X 𝑘

div,ℎ → R such that, for all 𝝊ℎ,𝜻 ℎ ∈ X

𝑘

curl,ℎand all 𝒘ℎ

,𝒗 ℎ ∈ X 𝑘 div,ℎ, aℎ(𝝊,𝜻 ℎ) ≔ (𝝊ℎ ,𝜻 ℎ )𝜇 ,curl,ℎ, bℎ(𝜻 ℎ ,𝒗 ℎ) ≔ (𝑪 𝑘 ℎ𝜻 ,𝒗 ℎ)div,ℎ , c(𝒘 ℎ ,𝒗 ℎ) ≔ ∫ Ω 𝐷𝑘 ℎ𝒘ℎ 𝐷𝑘 ℎ𝒗ℎ .

The discrete problem reads: Find 𝑯ℎ∈ X 𝑘

curl,ℎand 𝑨ℎ ∈ X 𝑘

div,ℎsuch that

aℎ(𝑯ℎ,𝜻 ℎ) − b ℎ(𝜻 ℎ ,𝑨 ℎ) = − Õ 𝐹∈ Fb ℎ ∫ 𝐹 𝒈 · 𝜸𝑘 t,𝐹𝜻ℎ ∀𝜻ℎ∈ X 𝑘 curl,ℎ, bℎ(𝑯,𝒗) + cℎ(𝑨,𝒗) = ∫ Ω 𝑱 · 𝑷𝑘 div,ℎ𝒗ℎ ∀𝒗ℎ∈ X 𝑘 div,ℎ. (30)

Remark 7 (Characterisation of b). Expanding, in the definition of bℎ, the discrete L2-inner product on

X𝑘

div,ℎ according to (27) and recalling (29), we obtain the following equivalent expression, which can be

used for its practical implementation: For all (𝜻,𝒘

) ∈ X 𝑘 curl,ℎ× X 𝑘 div,ℎ, bℎ(𝜻 ℎ ,𝒘 ℎ) = Õ 𝑇∈ T ℎ " ∫ 𝑇 • 𝑪𝑘 𝑇𝜻 𝑇 ·𝑷𝑘 div,𝑇𝒘𝑇 + Õ 𝐹∈ F𝑇 ℎ𝐹 ∫ 𝐹 (𝑪•𝑘 𝑇𝜻 𝑇 ·𝒏𝐹 − 𝐶 𝑘 𝐹𝜻 𝐹) (𝑷 𝑘 div,𝑇𝒘𝑇 ·𝒏𝐹 − 𝑤𝐹) # .

Remark 8 (Comparison with Finite Elements). Even on standard meshes, the proposed method does not coincide, in general, with the Finite Element approximation of degree 𝑘. Bearing in mind [22, Table 2], the number of degrees of freedom is slightly higher on tetrahedra and significantly smaller on hexahedra.

4.3 Well-posedness analysis

The discrete problem (30) can be recast as: Find ( 𝑯ℎ

,𝑨

) ∈ X 𝑘

curl,ℎ× X

𝑘

div,ℎ such that

Aℎ( (𝑯,𝑨), (𝜻 ℎ ,𝒗 ℎ)) = Lℎ(𝜻,𝒗ℎ) ∀(𝜻,𝒗ℎ) ∈ X 𝑘 curl,ℎ× X 𝑘 div,ℎ,

where the bilinear form Aℎ: (X 𝑘

curl,ℎ× X

𝑘 div,ℎ)

2→ R and the linear form L: X

𝑘

curl,ℎ× X

𝑘

div,ℎ → R are

such that, for all ( (𝝊ℎ

,𝒘 ℎ), (𝜻 ,𝒗 ℎ)) ∈ (X 𝑘 curl,ℎ× X 𝑘 div,ℎ) 2, Aℎ( (𝝊,𝒘), (𝜻 ℎ ,𝒗 ℎ)) ≔ aℎ(𝝊ℎ ,𝜻 ℎ) − b ℎ(𝜻 ℎ ,𝒘 ℎ) + bℎ(𝝊ℎ ,𝒗 ℎ) + cℎ(𝒘ℎ ,𝒗 ℎ) (31)

(17)

and Lℎ(𝜻 ℎ ,𝒗 ℎ) ≔ − Õ 𝐹∈ Fb ℎ ∫ 𝐹 𝒈 · 𝜸𝑘 t,𝐹𝜻ℎ + ∫ Ω 𝑱 · 𝑷𝑘 div,ℎ𝒗ℎ.

In the following, we consider a regular sequence (Mℎ)ℎ >0 of polyhedral meshes, meaning that

(Tℎ,Fℎ)ℎ >0 matches the requirements of [21, Definition 1.9]. The well-posedness analysis requires a

discrete Poincaré inequality for 𝑪𝑘ℎ. This inequality can be established under the following assumption,

which only requires a proper control the averages of the edge unknowns. Proposition 16 in the appendix shows that this assumption is satisfied if Ω is simply connected. Hereafter, we denote by k·k𝜇 ,curl,ℎand

k·kdiv,ℎ the L2-like norms respectively associated with the inner products (·, ·)𝜇 ,

curl,ℎand (·, ·)div,ℎ.

Assumption 9 (Poincaré inequality for edge averages). There is an inner product on X𝑘

curl,ℎwhose norm

is equivalent (uniformly in ℎ) to k·k𝜇 ,curl,ℎand such that, letting (Ker 𝑪 𝑘 ℎ)

be the orthogonal complement of Ker 𝑪𝑘ℎin X

𝑘

curl,ℎfor this inner product, there exists 𝛼 > 0 (not depending on ℎ) satisfying

Õ 𝐸∈ Eℎ ℎ2 𝐸|𝐸 | (𝜐𝐸) 2 !1 2 ≤ 𝛼k𝑪𝑘 ℎ𝝊ℎkdiv,ℎ ∀𝝊ℎ ∈ (Ker 𝑪 𝑘 ℎ) ⊥ , (32)

where |𝐸 | denotes the length of 𝐸 ∈ Eℎand 𝜐𝐸 is the average value on 𝐸 of 𝜐𝐸.

The uniform inf–sup property of Aℎis established in the following discrete versions of the H(curl; Ω)

and H(div; Ω) norms:

k𝜻 ℎ k𝜇 ,curl,1,ℎ≔  k𝜻 ℎ k2 𝜇 ,curl,ℎ+ k𝑪 𝑘 ℎ𝜻k 2 div,ℎ 1 2 ∀𝜻 ℎ ∈ X 𝑘 curl,ℎ, and k𝒗ℎkdiv,1,ℎ ≔  k𝒗ℎk 2 div,ℎ+ k 𝐷 𝑘 ℎ𝒗ℎk 2 Ω 1 2 ∀𝒗ℎ ∈ X 𝑘 div,ℎ.

Here and in the following, k·k𝑋 denotes the 𝐿2-norm on 𝑋 = Ω, 𝑋 = 𝜕Ω, or 𝑋 ∈ Mℎ.

Theorem 10 (Inf-sup condition for A). Let Ω ⊂ R3be an open connected polyhedral domain that does

not enclose any void (i.e., its second Betti number is zero), and let (Mℎ)ℎ >0 be a regular polyhedral

mesh sequence. Then, under Assumption 9, there exists 𝛽 > 0 depending only on Ω, the mesh regularity parameter, 𝜇, and 𝛼, but not depending on ℎ, such that, for all (𝝊ℎ,𝒘ℎ) ∈ X

𝑘 curl,ℎ× X 𝑘 div,ℎ, sup (𝜻 ℎ ,𝒗 ℎ) ∈X 𝑘 curl,ℎ×X 𝑘 div,ℎ\{0} Aℎ( (𝝊,𝒘), (𝜻 ℎ ,𝒗 ℎ)) k𝜻 ℎk 𝜇 ,curl,1,ℎ+ k𝒗kdiv,1,ℎ ≥ 𝛽 k𝝊ℎk𝜇 ,curl,1,ℎ+ k𝒘ℎkdiv,1,ℎ  . (33)

Proof. See Section A.6. 

Corollary 11 (Well-posedness of the discrete problem). Under the assumptions of Theorem 10, there is

a unique solution (𝑯ℎ,𝑨ℎ) ∈ X 𝑘

curl,ℎ× X

𝑘

div,ℎ to (30) and there exists 𝐶 > 0 not depending on ℎ such

that

k𝑯ℎk𝜇 ,curl,1,ℎ+ k𝑨ℎkdiv,1,ℎ ≤ 𝐶 ( k𝒈k𝜕Ω+ k𝑱kΩ) . (34)

Proof. Using the boundedness of 𝜸𝑘

t,𝐹 stated in (45), the norm equivalence (49), and the definition of

k·kdiv,1,ℎ (which impliesÍ

𝑇∈ Tℎk𝑷 𝑘 div,𝑇𝒗𝑇k 2 𝑇 ≤ k𝒗ℎk 2

div,1,ℎ), we obtain an upper bound of the dual norm

of Lℎ (for the norm X 𝑘

curl,ℎ× X

𝑘

div,ℎ 3 (𝜻ℎ

,𝒗

ℎ) ↦→ k𝜻k𝜇 ,curl,1,ℎ + k𝒗ℎkdiv,1,ℎ ∈ R) in terms of the

(18)

4.4 Numerical assessment of the convergence rate

The goal of this section is to numerically assess the convergence rate of the method. Our focus is thus on academic test cases for which an analytical solution is available. More physical tests and an assessment of the performance are postponed to a future, engineering-oriented paper.

4.4.1 Setting

The DDR method (30) has been implemented within the HArDCore3D C++ framework (seehttps://

github.com/jdroniou/HArDCore), using linear algebra facilities from the Eigen3 library (seehttp: //eigen.tuxfamily.org) and, for the resolution of the sparse linear systems, Intel MKL PARDISO

(seehttps://software.intel.com/en-us/mkl) library.

In order to numerically assess the convergence properties of the DDR method, we consider the following manufactured exact solution on the unit cube Ω = (0, 1)3:

𝑯(𝒙) = 3𝜋 𝜇(𝒙) © ­ ­ «

sin(𝜋𝑥1) cos(𝜋𝑥2) sin(𝜋𝑥3)

0

− cos(𝜋𝑥1) cos(𝜋𝑥2) sin(𝜋𝑥3)

ª ® ® ¬ , 𝑨(𝒙) = © ­ ­ «

cos(𝜋𝑥1) sin(𝜋𝑥2) sin(𝜋𝑥3)

−2 sin(𝜋𝑥1) cos(𝜋𝑥2) sin(𝜋𝑥3)

sin(𝜋𝑥1) sin(𝜋𝑥2) cos(𝜋𝑥3)

ª ® ® ¬ ,

with expressions for the boundary datum 𝒈 and the current density 𝑱 inferred from the expression of 𝑨 and (2b), respectively. We consider two cases:

𝜇= 1 (unit permeability) and 𝜇(𝒙) = 1 + 𝑥

1+ 𝑥2+ 𝑥3(variable permeability).

Define the following interpolate of the exact solution:

ˆ 𝑯ℎ ≔ (𝝅 𝑘−1 R,𝑇𝑯, 𝝅 ⊥,𝑘 R,𝑇𝑯)𝑇∈ T ℎ ,(𝝅𝑘−1 R,𝐹𝑯t,𝐹,𝝅 ⊥,𝑘 R,𝐹𝑯t,𝐹)𝐹∈ Fℎ ,(𝜋𝑘 P,𝐸(𝑯 · 𝒕𝐸))𝐸∈ E ℎ ∈ X 𝑘 curl,ℎ, ˆ 𝑨ℎ≔ (𝝅 𝑘−1 G,𝑇𝑨, 𝝅 ⊥,𝑘 G,𝑇𝑨)𝑇∈ Tℎ,(𝜋 𝑘 P,𝑇(𝑨 · 𝒏𝐹))𝐹∈ Fℎ ∈ X 𝑘 div,ℎ,

where, for all 𝐹 ∈ Fℎ, 𝑯t,𝐹 ≔ 𝒏𝐹 × (𝑯|𝐹 ×𝒏𝐹) denotes the tangential component of 𝑯 over 𝐹. We

consider the energy norm of the error defined as

k (𝑯ℎ− ˆ𝑯ℎ,𝑨ℎ− ˆ𝑨ℎ) ken≔



aℎ(𝑯− ˆ𝑯,𝑯− ˆ𝑯) + cℎ(𝑨− ˆ𝑨,𝑨− ˆ𝑨)

12 .

Numerical approximations of the solution are computed on Cartesian, tetrahedral, and Voronoi mesh sequences (see Figure 4) and polynomial degrees 𝑘 ranging from 0 to 3.

Starting with the unit permeability test case, we display in Figures 5 the error versus the mesh size ℎ. The observed convergence rate is of ℎ𝑘+1, with a slight degradation on the “Voronoi-small-0” mesh sequence, which can be ascribed to the fact that the regularity parameter increases upon refinement in this case (see the discussion in [21, Section 5.1.8.2] for an assessment of the regularity of this mesh sequence, and its numerical impact in the context of HHO schemes). A full theoretical justification of the fact that the scheme converges with order 𝑘 + 1 is postponed to a future work.

To assess the impact of the degree 𝑘, we plot in Figure 6 the energy norm of the error as a function of the total number of degrees of freedom. For all the considered mesh families, the convergence rate increases as expected with the polynomial degree. For the standard Cartesian and tetrahedral meshes, a trade-off is present between the mesh size and the approximation degree. Specifically, on the Cartesian mesh family, the choice 𝑘 = 0 is advantageous for less than ≈ 2 · 103 degrees of freedom, while on the tetrahedral mesh family this threshold is ≈ 7 · 103degrees of freedom. We notice however that, on generic polyhedral meshes such as those obtained by Voronoi tessellation, increasing the polynomial degree appears to always be advantageous. Complex geometries can be more efficiently meshed using generic polyhedral elements (which result in fewer elements than meshes of tetrahedra, for example); the tests

(19)

(a) “Cubic-Cells” mesh (b) “Tetgen-Cube-0” mesh

(c) “Voro-small-0” mesh (d) “Voro-small-1” mesh

Figure 4: Members of the refined mesh families used in the numerical example of Section 4.4.

presented here justify the practical interest of developing and using arbitrary-order methods on generic polyhedral meshes. Finally, it is worth noticing that these results can be further improved resorting to static condensation to eliminate the element (and, possibly, face) unknowns by the local computation of a Schur complement, which we have however not done in the current implementation.

Moving to the variable-permeability case, the results collected in Figure 7 show essentially the same behaviour as for the unit permeability case in terms of error versus mesh size (compare with Figure 5). Having allowed the permeability to vary inside each element, we had to increase the degree of exactness for quadrature rules inside each element in the computation of the 𝜇-weighted discrete 𝐿2-product in

X𝑘

curl,ℎin order to retain optimal convergence rates.

5 Implementation

In this section, we discuss the implementation of the DDR-based method (30). We start with the identification of suitable bases for the local polynomial spaces introduced in Section 2.3, then move to the implementation of the discrete vector operators defined in Section 3 along with the vector potentials and discrete L2-products of Section 4.1. In what follows, we use the C++ convention that numbering starts from 0. Vectors and matrices are denoted with simple and bold sans-serif font, respectively. Intervals of integers are denoted using double brackets so that, e.g., for any 𝑛, 𝑚 ∈ N with 𝑛 < 𝑚, È𝑛, 𝑚È denotes the set of integers greater or equal than 𝑛 and strictly smaller than 𝑚.

Note that the principles described here are very close to those used in the implementation of other polytopal methods; in particular, the reader will find many similarities with the implementation of the Hybrid High-Order method for the Poisson problem described in [21, Appendix B].

(20)

𝑘 = 0 𝑘 = 1 𝑘 = 2 𝑘 = 3 10−1 100 10−4 10−3 10−2 10−1 100 1 1 1 2 1 3 1 4

(a) “Cubic-Cells” mesh

10−0.6 10−0.4 10−0.2 100 10−3 10−2 10−1 100 101 1 1 1 2 1 3 1 4 (b) “Tetgen-Cube-0” mesh 10−0.8 10−0.6 10−0.4 10−0.2 10−2 10−1 100 1 1 1 2 1 3 (c) “Voro-small-0” mesh 10−0.5 10−0.4 10−0.3 10−2 10−1 100 1 1 1 2 1 3 1 4 (d) “Voro-small-1” mesh

Figure 5: Energy error k ( 𝑯ℎ− ˆ𝑯ℎ,𝑨ℎ− ˆ𝑨ℎ) kenversus mesh size ℎ for the numerical example of Section 4.4 (unit permeability).

(21)

𝑘 = 0 𝑘 = 1 𝑘 = 2 𝑘 = 3 102 103 104 105 106 10−4 10−3 10−2 10−1 100

(a) “Cubic-Cells” mesh

102 103 104 105 10−3 10−2 10−1 100 101 (b) “Tetgen-Cube-0” mesh 103 104 105 10−2 10−1 100 (c) “Voro-small-0” mesh 103 104 105 10−2 10−1 100 (d) “Voro-small-1” mesh

Figure 6: Energy error k ( 𝑯ℎ− ˆ𝑯ℎ,𝑨ℎ− ˆ𝑨ℎ) kenversus number of degrees of freedom for the numerical example of Section 4.4 (unit permeability).

(22)

𝑘 = 0 𝑘 = 1 𝑘 = 2 𝑘 = 3 10−1 100 10−4 10−3 10−2 10−1 100 101 1 1 1 2 1 3 1 4

(a) “Cubic-Cells” mesh

10−0.6 10−0.4 10−0.2 100 10−3 10−2 10−1 100 101 1 1 1 2 1 3 1 4 (b) “Tetgen-Cube-0” mesh 10−0.8 10−0.6 10−0.4 10−0.2 10−2 10−1 100 101 1 1 1 2 1 3 (c) “Voro-small-0” mesh 10−0.5 10−0.4 10−0.3 10−2 10−1 100 1 1 1 2 1 3 1 4 (d) “Voro-small-1” mesh

Figure 7: Energy error k ( 𝑯ℎ− ˆ𝑯ℎ,𝑨ℎ − ˆ𝑨ℎ) ken versus mesh size ℎ for the numerical example of Section 4.4 (variable permeability).

Références

Documents relatifs

Next, we also want to point out that the nonlinear theory yields interesting and difficult new problems. There are many interesting examples, for instance in multi- phase

On such meshes, discrete scalar fields are defined by their values both at the cell centers and vertices, while discrete gradients are associated with the edges of the mesh, like in

For each instance, we give the best found lower (LB1) and upper (UB1) bounds, the total number of branch and bound nodes (#nodes), the total CPU time in seconds (CPU), the initial

Renowned methods for the reduction of the computing time of nonlinear reduced order models are the Hyper-Reduction and the (Discrete) Empirical Interpolation Method (EIM, DEIM)..

Using uniform global Carleman estimates for semi-discrete elliptic and hyperbolic equations, we study Lipschitz and logarithmic stability for the inverse problem of recovering

Althoug the situation is much mote complicated, and despite the fact that the hypergroup prop- erty is much harder to investigate, we provide somes bases having the hypergroup

This contrasts with Mimetic Finite Difference (either nodal or cell-based) and Finite Volume schemes which handle only one discrete differential operator explicitly (as already

Furthermore, the present cell-based pressure schemes share the same algebraic structure same discrete differential operators, but different discrete Hodge operators as the