1 Introduction

Differential complexes are an important tool in the study of finite element methods. Finite element differential complexes characterise finite element spaces and the operators among them, specifying their kernels and images, which are crucial for the stability of numerical formulations [1] and fast solvers [28]. There are many existing finite element differential complexes, for example the de Rham complex [3, 27], the Stokes complex [24, 37], the Darcy–Stokes complex [34, 42], the elasticity complex [2, 4] etc. Among them, the discrete de Rham sequence is probably the most fundamental one. Stokes complexes and Darcy–Stokes complexes have the same differential operators as the standard de Rham complexes, and the only difference is that the spaces of Stokes and Darcy–Stokes have higher continuity.

There have been many discussions on finite element de Rham sequences. For incomplete polynomials, there are the Nédélec elements of the first kind [35] and the Raviart–Thomas elements [38]. For complete polynomials, there are the Nédélec elements of the second kind [36] and the Brezzi–Douglas–Marini (BDM) elements [13]. All these successful elements can be unified as discrete differential forms [5, 26]. The construction of degrees of freedom (DoFs) for higher order Whitney forms is based on moments on subsimplexes, therefore commuting interpolations can be constructed easily. A periodic table has been developed to include arbitrary polynomial degree for any k-forms, for simplicial and tensor product elements in any dimension [8].

Such elements are usually called “vector elements”, and cannot be represented by Lagrange nodal basis functions. This leads to complications in applications, especially for high order methods.

A canonical nodal basis is attractive from the perspective of implementation. The choice of basis is not unique and there are several important criterions for a good basis, including condition number, sparsity of stiffness and mass matrices, efficient evaluation and rotational symmetry etc. There is a huge literature on the construction of bases for high order finite elements. We refer to the book [33] for a survey of the scalar case. Bases for \(H({\text {curl}})\) and \(H({\text {div}})\) are more complicated. Some efforts in this direction can be found in [44]. The difficulty is that the bubble functions of \(H({\text {curl}})\) and \(H({\text {div}})\) elements are not as canonical as those of the scalar \(H^{1}\) elements [17].

This has already been reflected in the dilemma of computational electromagnetism. On one hand, nodal Lagrange elements are desirable for their simplicity, economic degrees of freedom and point-wise evaluation; on the other hand, the \(C^{0}\) vector Lagrange elements suffer from spurious modes and have difficulties in dealing with inhomogeneous materials where the normal component of the electric field may be discontinuous at interfaces [11]. There has been an increased interest in the use of nodal elements in computational electromagnetism. A common strategy is to add a stabilisation term—\({\text {grad}}\,{\text {div}}\) in the variational formulation besides the \({\text {curl}}\,{\text {curl}}\) operator (c.f. [11]). In order to remove spurious modes on nonconvex domains, a weighted version of the penalty term was proposed in Costabel and Dauge [19], and a local projection in the penalty term was proposed by Duan et al. [20]. Eigenvalue problems approximated with Lagrange elements are considered in [10]. Of course this is a rather incomplete review of the literature.

From the perspective of finite element exterior calculus, \(H({\text {curl}})\) edge elements stand out for allowing normal discontinuities and fitting in a discrete sequence of spaces. Therefore we are motivated to seek nonstandard finite element differential complexes keeping these properties, but with nodal type bases. Actually, our approach is to look for elements with higher continuity on low dimensional subsimplexes (for example, extra smoothness at vertices and edges etc.). We remark that \(H({\text {div}})\) elements with nodal degrees of freedom and incomplete polynomial shape function spaces were explored in [24, 25].

There are also some important circumstances where we need to match several copies of finite element de Rham sequences with different continuities. In Arnold, Falk and Winther [4], the authors constructed the Arnold–Winther symmetric stress element in 2D using the following Bernstein–Gelfand–Gelfand (BGG) resolution:

figure a

Here \(S_{0}\) is bijective between the discrete spaces \( \left( \tilde{H}_{h}^{1}\right) ^{2}\) and \(H_{h}({\text {div}})\). Usually it is not easy to find a compatible element for both \(\left( H^{1}\right) ^{2}\) and \(H({\text {div}}) \). Here compatibility means that this element should fit in both sequences, but for different operators. Therefore in the numerical discretisation, a compromise is to find finite element spaces such that \(S_{0}^{h}:=\varPi S_{0}\) is onto, where \(\varPi \) is a projection to \(H_{h}({\text {div}})\). This leads to convergent finite elements with weak symmetry [6]. In order to obtain an element with strong symmetry, one has to find the isomorphic elements for \(\left( \tilde{H}_{h}^{1}\right) ^{2}\) and \(H_{h}({\text {div}}) \). In [4] the authors constructed such vector elements to give an explanation of Arnold–Winther elasticity elements.

For conforming finite elements with local DoFs, \(S_{0}\) imposes stronger continuity requirement on the \(H({\text {div}})\) element, which actually leads to a Stokes complex. Therefore from the perspective of BGG, an essential difficulty of the construction of tensor-valued elements with strong symmetry is to construct and match discrete de Rham complexes with different continuities.

On the other hand, Hu et al. [29, 31, 32] designed a new element for linear elasticity with strong symmetry following a different approach. A two-step approach was proposed to design compatible elements and prove the inf–sup condition. The displacement space is divided into rigid body motions and its orthogonal complement. Rigid body motion is controlled by the face functions which are \(C^{0}\) continuous, and its orthogonal complement is controlled by the bubble functions on each element, which are local. The resulting space has a canonical nodal basis. However it remains open to understand this innovative approach and generalize the constructions to the de Rham case in the framework of finite element exterior calculus, which may yield a more systematic construction for a broader class of applications. We also hope a systematic study could give a new perspective for the challenging problem of designing bases for high order elements.

As a summary, we have several motivations to develop the new finite element de Rham complexes in this paper:

  • obtaining smaller algebraic systems by elements with higher continuity, which was also the motivation of Stenberg [41],

  • getting Lagrange or Hermite type nodal basis functions, which are more canonical and easier to write,

  • making progress towards a systematic development of finite element complexes compatible with the BGG construction,

  • developing tools of finite element exterior calculus to re-construct Hu–Zhang elasticity elements,

  • a better understanding of the periodic table of finite element differential forms.

We will introduce r as a new regularity parameter in the finite element periodic table, which gives \(\mathcal {P}_{r, p}\varLambda ^{k}(\mathcal {T}_{h}^{n})\) on n-dimensional simplicial mesh, for differential k forms with piecewise polynomials of degree p. Because of the periodicity, sometimes different values of r in \(\mathcal {P}_{r, p}\varLambda ^{k}(\mathcal {T}_{h}^{n})\) may represent the same element. The major results are summarised in Tables 1 and 2.

Table 1 2D families and notation (\(p\ge 2\)), elements in each box are the same as the family with lowest regularity (possibly with different notation), \(r=0\) and \(r=1\) have the same 2D bubbles
Table 2 3D families and notation (\(p\ge 3\)), elements in each box are the same as the family with lowest regularity (possibly with different notation), \(r=0\) and \(r=1\) have the same 2D bubbles, and \(r=0, 1, 2\) have the same 3D bubbles

For each \(r=0, 1, 2\), the elements in lower dimensional spaces are restrictions of those in higher dimensions. The \(H({\text {div}})\) elements with \(n=2, r=1\) and \(n=3, r=2\) coincide with the “nonstandard \(H({\text {div}})\) elements” of Stenberg [41].

The new elements have nodal degrees of freedom. The 2D \(H({\text {curl}})\) element with \(r=2\) (the velocity space of the Falk–Neilan Stokes pair [21]) consists of two copies of the scalar Hermite element. Therefore the basis of \(\mathcal {P}_{2, p}\varLambda ^{1}\left( \mathcal {T}_{h}^{2}\right) \) is a simple combination of the scalar Hermite bases. The 2D \(H({\text {div}})\) element with \(r=1\) (Stenberg nonstandard element [41]) and the 3D \(H({\text {curl}})\) element with \(r=2\) are essentially vectorial, i.e. they cannot be represented as copies of scalar elements. Nevertheless, the basis of these two spaces can be written based on scalar Lagrange and Hermite elements respectively by allowing tangential/normal degrees of freedom taking different values on neighboring elements. This trick cannot be applied to the 3D Stenberg \(H({\text {div}})\) element (\(\mathcal {P}_{2, p}\varLambda ^{2}(\mathcal {T}_{h}^{3})\)) since there are no degrees of freedom on edges (except for those at vertices). We can further reduce \(\mathcal {P}_{2, p}\varLambda ^{2}(\mathcal {T}_{h}^{3})\) to a subspace by imposing normal continuity on edges and meanwhile retain the inf–sup condition between this space and piecewise polynomials. This space, which we will call “Hu–Zhang type \(H({\text {div}})\) element”, is a generalization of the Hu–Zhang construction [29, 31] of a symmetric stress element for the Hellinger–Reissner principle of linear elasticity and admits a Lagrange type nodal basis.

The elements in the new sequences are subspaces of the standard finite element de Rham complexes with complete polynomials [8], which fit in our family with \(r=0\). Moreover, we can see the periodicity: beginning with an element with higher continuity (for example, the Hermite element for \(H^{1}\) with \(r=1\)), the continuity decreases as we take exterior derivatives (for \(r=1\), we go back to the classical BDM element for \(H({\text {div}})\) in 3D). Furthermore, we can consider restrictions to lower dimensional simplexes. This is analogous to the idea of finite element system (FES) [16], and inspired us to discover the whole families. For \(r=2\), restriction of the finite elements to a two dimensional face has higher continuity across the one dimensional boundary of that face. In fact, this reconstructs the 2D Stokes complex of Falk and Neilan [21].

Although the new elements have higher continuity on low dimensional subsimplexes (vertices and edges etc.), generally these elements are not conforming approximations for higher order problems. For example, the scalar Hermite element is \(C^{1}\) at vertices, but normal derivatives may be discontinuous across faces. As a result, the triangular or tetrahedral Hermite element is not a reasonable approximation for the fourth order biharmonic problem. Since the purpose of this paper is not to pursue finite elements for high order PDEs, this will not be a trouble.

The enriched periodic table studied in this paper also gives another possibility for BGG constructions at least in 2D. We can use the Falk–Neilan Stokes complex (\(n=2, r=2\)) for the top row, and use the \(n=2, r=1\) complex for the bottom. Then \(S_{0}\) is an identification between vector Hermite elements. This leads to the 2D Hu–Zhang elasticity element [30], and explains why the stress element naturally begins with cubic polynomials (since Hermite elements are at least cubic).

Next we recall some notation. For a contractible domain \(\varOmega \subset \mathbb {R}^{2}\), we have two exact sequences in 2D:

(1)

and

(2)

and we have one exact sequence in 3D on a contractible domain \(\varOmega \subset \mathbb {R}^{3}\):

(3)

One can obtain (2) by rotating (1) by \(\pi /2\). Therefore in the remaining part of this paper, we only consider (1) in 2D.

We assume that \(\varOmega \) is a polyhedral domain. In the following, we will use \(\mathcal {V}\) to denote the set of vertices, \(\mathcal {E}\) for the edges, \(\mathcal {F}\) for the faces and \(\mathcal {T}\) for the 3D cells. For a given mesh, V, E, F and T are used to denote the number of vertices, edges, faces and tetrahedra respectively. From Euler’s formula, one has \(V-E+F=1\) in 2D and \(V-E+F-T=1\) in 3D for contractible domains.

We use \(\varvec{\nu }_{f}\) and \(\varvec{\tau }_{f}\) to denote the unit normal and tangential vectors of a simplex f respectively. In 2D, the tangential and normal directions of an edge are uniquely defined up to an orientation. For edges in 3D there are one tangential and two normal directions, and for faces in 3D there are one normal and two tangential directions. We will write \(\varvec{\tau }_{e}\), \(\varvec{\nu }_{e, i}\) and \(\varvec{\nu }_{f}\), \(\varvec{\tau }_{f, i}\), \(i=1, 2\) for these cases.

In our discussions, \(C^{r}(\mathcal {V})\) includes functions with continuous derivatives up to order r at the vertices. Similarly we can define \(C^{r}(\mathcal {E})\) and \(C^{r}(\mathcal {F})\) for functions with certain continuity on the edges and faces.

We use the notation \(\mathcal {P}_{p}\varLambda ^{k}(\varOmega )\) to denote the Lagrange, second Nédélec, BDM and discontinuous elements with polynomial degree p, and use \(\mathcal {P}_{p}^{-}\varLambda ^{k}(\varOmega )\) for the family with incomplete polynomials, i.e. \(\mathcal {P}_{p}^{-}\varLambda ^{1}(\varOmega )\) is the Nédélec element of the first kind of degree p, \(\mathcal {P}_{p}^{-}\varLambda ^{2}(\varOmega )\) is the Raviart–Thomas element of degree p in 3D. We use \(\mathcal {P}_p (\varOmega )\) to denote the polynomial space of degree p on \(\varOmega \) and use \(\mathcal {P}_{r, p}\varLambda ^{k}(\varOmega )\) to denote the families developed below. Here r is the regularity parameter and p is the polynomial degree. Since we mainly consider one, two and three spatial dimensions, we explicitly use \({\text {grad}}\), \({\text {curl}}\) and \({\text {div}}\) instead of the exterior derivative d in most cases. We use \({\mathring{\mathcal {P}}}_{p}\varLambda ^{k}(\varOmega )\) to denote the finite element spaces with standard vanishing boundary conditions. For example, in 3D \({\mathring{\mathcal {P}}}_{p}\varLambda ^{1}(\varOmega )\) has vanishing tangential components and \({\mathring{\mathcal {P}}}_{p}\varLambda ^{2}(\varOmega )\) has vanishing normal components on \(\partial \varOmega \) when differential forms are represented by vector fields. Functions in \({\mathring{\mathcal {P}}}_{r, p}\varLambda ^{k}\) may have stronger vanishing conditions on low dimensional simplexes depending on the continuity condition of \(\mathcal {P}_{r, p}\varLambda ^{k}\).

We define \(\ker \left( d, V\right) \) as the kernel of the differential operator d in the space V, i.e.

$$\begin{aligned} \ker \left( d, V\right) :=\{v\in V: dv=0\}. \end{aligned}$$

The rest of this paper is organised as follows. In Sect. 2, we construct the family with regularity parameter \(r=1\) as a resolution of the Hermite element. We verify the unisolvence and exactness of the new sequences. In Sect. 3, we construct the family \(r=2\). In Sect. 4, we discuss boundary conditions. In Sect. 5, we discuss the geometric decomposition and local exact sequences of the new complexes. In Sect. 6, we re-construct 2D Hu–Zhang elasticity elements combining BGG and the new de Rham families. We give concluding remarks in Sect. 7.

2 Hermite family: \(r=1\)

The Hermite family begins with Hermite elements in all dimensions.

2.1 Complex in 1D

The 1D complex \((p\ge 2)\):

(4)

consists of the \(C^{1}\) Hermite element of degree \(p+1\) (\(\mathcal {P}_{1, p+1}\varLambda ^{0}(\mathcal {T}_{h}^{1})\)), and \(C^{0}\) Lagrange element of degree p (\(\mathcal {P}_{1, p}\varLambda ^{1}(\mathcal {T}_{h}^{1})\) ). It is obvious that this sequence is (globally) exact on intervals, because the gradient of the Hermite element with degree \(p+1\) falls into the Lagrange element space of degree p, and conversely, if \({\text {grad}}u_{h}={v}_{h}\in \mathcal {P}_{1, p}\varLambda ^{1}(\mathcal {T}_{h}^{1})\), then \(u_{h}\) is a piecewise polynomial of degree \(p+1\), and has continuous first order derivatives at the vertices. This implies \(u_{h}\in \mathcal {P}_{1, p+1}\varLambda ^{0}(\mathcal {T}_{h}^{1}) \), i.e. \(u_{h}\) belongs to the global Hermite space.

2.2 Complex in 2D

We describe the discrete version of sequence (1):

(5)

where \(p\ge 1\). For the lowest order case which starts from piecewise cubic polynomials, we show the finite element diagrams in Fig. 1.

We will use the Hermite elements to discretize \(H({\text {curl}})\). One can characterize the Hermite elements of degree p as follows:

$$\begin{aligned} \mathcal {P}_{1, p}\varLambda ^{0}(\mathcal {T}_{h}^{2})=\{s\in H({\text {curl}}): s|_{f}\in \mathcal {P}_p , \forall f\in \mathcal {F}; s\in C^{1}(\mathcal {V}) \}. \end{aligned}$$

We define the \({H}(\mathrm {div})\) finite element space of degree p as

$$\begin{aligned} \mathcal {P}_{1, p}\varLambda ^{1}(\mathcal {T}_{h}^{2}):=\{\varvec{v}\in {H}(\mathrm {div}): \varvec{v}|_{f}\in (\mathcal {P}_p )^{2}, \forall f\in \mathcal {F}; \varvec{v}\in C^{0}(\mathcal {V})\}. \end{aligned}$$

This was first introduced in Stenberg [41].

The degrees of freedom (\(n=2\), \(r=1\)) can be given as follows. The set of DoFs is empty when \(p<0\) in \(\mathcal {P}_{ p}\varLambda ^{k}\).

  • For \(u\in \mathcal {P}_{1, p}\varLambda ^{0}\):

    • function value \(u(\varvec{x})\) and first order derivatives \(\partial _{i}u(\varvec{x}), i=1, 2\) at each vertex \(\varvec{x}\),

    • moments on each edge

      $$\begin{aligned} \int _{e}u\cdot q~ ds, \quad q\in \mathcal {P}_{p-4}(e), \forall e\in \mathcal {E}, \end{aligned}$$
    • moments on each element

      $$\begin{aligned} \int _{f}u\cdot q~ dx, \quad q\in \mathcal {P}_{p-3}(f), \forall f\in \mathcal {F}. \end{aligned}$$
  • For \(\varvec{B}\in \mathcal {P}_{1, p}\varLambda ^{1}\):

    • function value \(\varvec{B}(\varvec{x})\) at each vertex \(\varvec{x}\),

    • moments on each edge

      $$\begin{aligned} \int _{e}\left( \varvec{B}\cdot \varvec{\nu }\right) q~ ds, \quad q\in \mathcal {P}_{p-2}(e), \forall e\in \mathcal {E}, \end{aligned}$$
    • moments on each element

      $$\begin{aligned} \int _{f}\varvec{B}\cdot \varvec{q}~ dx, \quad \varvec{q}\in \mathcal {P}_{p-1}^{-}\varLambda ^{1}(f), \forall f\in \mathcal {F}. \end{aligned}$$
  • For \(w\in \mathcal {P}_{1, p}\varLambda ^{2}\):

    • moments on each element

      $$\begin{aligned} \int _{f}w\cdot q~ dx, \quad q\in \mathcal {P}_p (f), \forall f\in \mathcal {F}. \end{aligned}$$
Fig. 1
figure 1

Finite element sequence of lowest order (2D, r \(=\) 1): \(H({\text {curl}})\rightarrow {H}({\text {div}})\rightarrow L^{2}\) with the local shape function spaces \(\mathcal {P}_{3}\rightarrow (\mathcal {P}_{2})^{2}\rightarrow \mathcal {P}_{1}\)

Each row (or column) of the Hu–Zhang stress element [29, 31] belongs to the vector valued space \(\mathcal {P}_{1, p}\varLambda ^{1}(\mathcal {T}_{h}^{2})\). Connections between \(\mathcal {P}_{1, p}\varLambda ^{1}(\mathcal {T}_{h}^{2})\) and the Lagrange elements can be established based on a similar idea as the Hu–Zhang construction: one can retain the normal degrees of freedom on a face (edge in 2D) of the Lagrange elements, and move the tangential DoFs on that face (edge in 2D) into the interior of the elements. Alternatively we can consider decompositions of the shape function space. The space \(\mathcal {P}_{1, p}\varLambda ^{1}(\mathcal {T}_{h}^{2})\) can be decomposed as globally continuous Lagrange elements and \({H}(\mathrm {div})\) bubble functions (shape functions with vanishing normal components, but the tangential components can be discontinuous). Specifically, we have the following lemma.

Lemma 1

We have the decomposition:

$$\begin{aligned} \mathcal {P}_{1, p}\varLambda ^{1}\left( \mathcal {T}_{h}^{2}\right) =\varvec{L}_{h}^{p}+\varvec{\varSigma }_{b}^{p}, \quad p\ge 2, \end{aligned}$$

where \(\varvec{L}_{h}^{p}\) is the Lagrange element of degree p, and the bubble function space \(\varvec{\varSigma }_{b}^{p}\) is defined as

$$\begin{aligned} \varvec{\varSigma }_{b}^{p}=\left\{ \varvec{B}_{h}\in \mathcal {P}_{1, p}\varLambda ^{1}\left( \mathcal {T}_{h}^{2}\right) : \varvec{B}_{h}\cdot \varvec{\nu }_{e}=0, \forall e\in \mathcal {E}\right\} , \end{aligned}$$

where \(\varvec{\nu }_{e}\) is the normal direction of e.

Proof

It is obvious that \(\varvec{L}_{h}^{p}+\varvec{\varSigma }_{b}^{p}\subset \mathcal {P}_{1, p}\varLambda ^{1}(\mathcal {T}_{h}^{2})\). Conversely, given \(\varvec{u}_{h}\in \mathcal {P}_{1, p}\varLambda ^{1}(\mathcal {T}_{h}^{2})\), define \(\tilde{\varvec{u}}_{h}\in \varvec{L}_{h}^{p}\) by specifying its DoFs: the vertex DoFs and the normal DoFs on the edges are defined to be the same as \(\varvec{u}_{h}\), while other DoFs are defined to be zero. By definition \(\varvec{u}_{h}-\tilde{\varvec{u}}_{h}\) has vanishing normal DoFs, and according to the conforming property, we know that the normal components of \(\varvec{u}_{h}-\tilde{\varvec{u}}_{h}\) vanish. Therefore \(\varvec{u}_{h}-\tilde{\varvec{u}}_{h}\in \varvec{\varSigma }_{b}^{p}\). \(\square \)

Theorem 1

The sequence (5) is a complex, which is exact on contractible domains.

Proof

From the definitions of \(\mathcal {P}_{1, p+2}\varLambda ^{0}(\mathcal {T}_{h}^{2})\), \( \mathcal {P}_{1, p+1}\varLambda ^{1}(\mathcal {T}_{h}^{2})\) and \(\mathcal {P}_{1, p}\varLambda ^{2}(\mathcal {T}_{h}^{2})\), it is obvious that \({\text {curl}}\mathcal {P}_{1, p+2}\varLambda ^{0}(\mathcal {T}_{h}^{2})\subset \mathcal {P}_{1, p+1}\varLambda ^{1}(\mathcal {T}_{h}^{2})\) and \(\mathrm {div} \mathcal {P}_{1, p+1}\varLambda ^{1}(\mathcal {T}_{h}^{2})\subset \mathcal {P}_{1, p}\varLambda ^{2}(\mathcal {T}_{h}^{2})\).

Next we show that (5) is exact. From the inf–sup condition proved in [41], we know that the \(\mathrm {div}\) operator is onto, i.e. \({\text {div}}\mathcal {P}_{1, p+1}\varLambda ^{1}(\mathcal {T}_{h}^{2})=\mathcal {P}_{1, p}\varLambda ^{2}(\mathcal {T}_{h}^{2})\). Therefore it suffices to count the dimensions. We note that the global dimension of Hermite element of degree \(p+2\) is \({\dim }(\mathcal {P}_{1, p+2}\varLambda ^{0}(\mathcal {T}_{h}^{2}))= 3V+(p-1)E+1/2p(p+1)F\), and the dimensions of \( \mathcal {P}_{1, p+1}\varLambda ^{1}(\mathcal {T}_{h}^{2})\) and \(\mathcal {P}_{1, p}\varLambda ^{2}(\mathcal {T}_{h}^{2})\) are \({\dim }( \mathcal {P}_{1, p+1}\varLambda ^{1}(\mathcal {T}_{h}^{2}))=2V+pE+(2{p+3 \atopwithdelims ()2} -3p-6)F\) and \({\dim }(\mathcal {P}_{1, p}\varLambda ^{2}(\mathcal {T}_{h}^{2}))={p+2 \atopwithdelims ()2}F\) respectively. By straightforward calculations, we have

$$\begin{aligned} \dim \left( \mathcal {P}_{1, p+1}\varLambda ^{1}(\mathcal {T}_{h}^{2})\right) = \left[ {\dim }(\mathcal {P}_{1, p+2}\varLambda ^{0}(\mathcal {T}_{h}^{2}))-1\right] + {\dim }(\mathcal {P}_{1, p}\varLambda ^{2}(\mathcal {T}_{h}^{2})). \end{aligned}$$

\(\square \)

By rotating the elements in sequence (5), we can get another \({\text {grad}}\)-\({\text {rot}}\) finite element complex.

Basis function The basis functions of \( \mathcal {P}_{1, p+1}\varLambda ^{1}(\mathcal {T}_{h}^{2})\) can be written in a similar way as the Lagrange basis. For example, for \(\mathcal {P}_{1, p+1}\varLambda ^{1}(\mathcal {T}_{h}^{2})\) with continuous normal components, we write the two basis functions associated to an edge Lagrange point as one normal basis and one tangential basis. We require each normal basis to be single-valued in the two elements sharing the edge, while we allow a tangential basis function taking different values in the two neighbour elements.

We explicitly construct a basis of \( \mathcal {P}_{1, p}\varLambda ^{1}(\mathcal {T}_{h}^{2})\). Below we will use \(\phi _{\varvec{x}}^{p}\) to denote the nodal basis function of the Lagrange elements at a Lagrange interpolation point \(\varvec{x}\). The superscript p in \(\phi _{\varvec{x}}^{p}\) indicates that it is a polynomial of degree p. For simplicity of presentation, we omit this superscript below when there is no possible confusion, i.e. we will write \(\phi _{\varvec{x}}\) instead. We will use \(\varvec{e}_{i}\) to denote the canonical basis \((0, \ldots , 1, \ldots , 0)\) in the Euclidean space \(\mathbb {R}^{n}\).

Basis functions of the \({H}(\mathrm {div})\) finite element space \( \mathcal {P}_{1, p}\varLambda ^{1}(\mathcal {T}_{h}^{2})\) can be constructed as:

  1. 1.

    Vertex-based basis functions: given \(\varvec{x}\in \mathcal {V}\), its two basis functions are

    $$\begin{aligned} \varvec{v}_{\varvec{x}, i}=\phi _{\varvec{x}}\varvec{e}_{i}, \quad i=1, 2, \end{aligned}$$
  2. 2.

    Edge-based basis functions: given a Lagrange point \(\varvec{x}\) on an edge e, its associated basis function with the normal direction:

    $$\begin{aligned} \varvec{v}_{e, \varvec{x}}= \phi _{\varvec{x}}\varvec{\nu }_{e}, \end{aligned}$$

    where \(\varvec{\nu }_{e}\) is the normal vector of the edge e,

  3. 3.

    Edge-based basis functions: given a Lagrange point \(\varvec{x}\) on an edge e, its associated basis functions with the tangential direction:

    $$\begin{aligned} \varvec{v}_{e, \varvec{x}, i}= \phi _{\varvec{x}}|_{f_{i}}\varvec{\tau }_{e}, \quad i=1,2, \end{aligned}$$

    where \(f_{1}\) and \(f_{2}\) are the two elements sharing the edge e, \(\varvec{\tau }_{e}\) is the tangential vector of the edge e.

  4. 4.

    Interior basis functions: at an interior Lagrange point \(\varvec{x}\), its two associated basis functions:

    $$\begin{aligned} \varvec{v}_{f, \varvec{x}, i}=\phi _{\varvec{x}}\varvec{e}_{i}, \quad i=1,2. \end{aligned}$$

2.3 Complex in 3D

We now turn to the 3D complexes. For \(p\ge 0\) we formally write the sequence as

(6)

Here \(\mathcal {P}_{1, p+3}\varLambda ^{0}(\mathcal {T}_{h}^{3}) \) is the Hermite finite element in 3D with polynomial degree \(p+3\), and \(\mathcal {P}_{1, p+2}\varLambda ^{1}(\mathcal {T}_{h}^{3})\) is a Stenberg-type \(H({\text {curl}})\) space, which is tangentially continuous on edges and faces and \(C^{0}\) continuous at the vertices. To our knowledge, this element is new in the literature.

We can give the following DoFs for \(\mathcal {P}_{1, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\) (as shown in Fig. 2):

  1. 1.

    function values \(\varvec{u}(\varvec{x})\) at each vertex \(\varvec{x}\in \mathcal {V}\),

  2. 2.

    \(p-1\) tangential DoFs on each edge e:

    $$\begin{aligned} \int _{e}\left( \varvec{u}\cdot \varvec{\tau }_{e}\right) {q}, \quad \forall {q}\in \mathcal {P}_{p-2}\varLambda ^{0}(e). \end{aligned}$$
  3. 3.

    DoFs on each face f:

    $$\begin{aligned} \int _{f} \left( \varvec{u}\times \varvec{\nu }_{f}\right) \cdot \varvec{\omega }, \quad \forall \varvec{\omega }\in \mathcal {P}_{p-1}^{-}\varLambda ^{1}(f), \end{aligned}$$

    where \(\varvec{u}\times \varvec{\nu }_{f}\) is understood as a two dimensional vector on face f,

  4. 4.

    interior DoFs on each 3D cell t:

    $$\begin{aligned} \int _{t} \varvec{u} \cdot \varvec{\eta }, \quad \forall \varvec{\eta }\in \mathcal {P}_{p-2}^{-}\varLambda ^{2}(t). \end{aligned}$$
Fig. 2
figure 2

Lowest order (\(\mathcal {P}_{2}\)) \(H({\text {curl}})\) element of continuity \(r=1\)

In order to prove the unisolvence, we need the following two results which can be found, for example, in Arnold, Falk and Winther [5] (Lemma 4.7).

Lemma 2

Let \(\omega \in {\mathring{\mathcal {P}}}_{p}\varLambda ^{k}(t)\). If

$$\begin{aligned} \int _{t}\omega \wedge \eta =0, \quad \forall \eta \in \mathcal {P}_{p-n+k}^{-}\varLambda ^{n-k}(t), \end{aligned}$$

where n is the dimension of t, we have \(\omega =0\).

Lemma 3

(c.f. [5] (3.15)) We have the dimension count:

$$\begin{aligned} \mathrm {dim}\mathcal {P}_{p}^{-}\varLambda ^{k}(\mathbb {R}^{n})={k+p-1 \atopwithdelims ()k}{n+p \atopwithdelims ()n-k}. \end{aligned}$$

We now state the unisolvence results:

Lemma 4

The DoFs of \(\mathcal {P}_{1, p}\varLambda ^{1}(\mathcal {T}_{h}^{3}) \) are unisolvent.

Proof

First we check the dimension. From Lemma 3, we see

$$\begin{aligned} \mathrm {dim}\left( \mathcal {P}_{p-1}^{-}\varLambda ^{1}(f)\right) ={p-1 \atopwithdelims ()1}{p+1 \atopwithdelims ()1}=(p-1)(p+1), \end{aligned}$$

and

$$\begin{aligned} \mathrm {dim}\left( \mathcal {P}_{p-2}^{-}\varLambda ^{2}(t)\right) ={p-1\atopwithdelims ()2}{p+1\atopwithdelims ()1}=\frac{1}{2}(p-2)(p-1)(p+1). \end{aligned}$$

Therefore the dimension of DoFs is \(3V+(p-1)E+(p-1)(p+1)F+ 1/2(p-2)(p-1)(p+1)T\). On one element (\(V=4, E=6, F=4, T=1\)), this amounts to

$$\begin{aligned}&3\times 4+6(p-1)+4(p-1)(p+1)+1/2(p-2)(p-1)(p+1)\\&\quad =\frac{1}{2}p^{3}+3p^{2}+\frac{11}{2}p+3, \end{aligned}$$

which is the same as the dimension of the space of 3D polynomials of degree p:

$$\begin{aligned} \mathrm {dim}\left( \mathcal {P}_{p}(t)^{3}\right) =3\cdot {p+3\atopwithdelims ()3}=\frac{1}{2}(p^{3}+6p^{2}+11p+6). \end{aligned}$$

Then it suffices to show that \(\varvec{u}=0\) if all the DoFs are zero.

From the vertex and edge DoFs, it is obvious that \(\varvec{u}\cdot \varvec{\tau }_{e}=0\) on all the edges. Then combining Lemma  2 with the definitions of the face DoFs, we have \(\varvec{u}\times \varvec{\nu }_{f}=\varvec{0}, ~~\forall f\in \mathcal {F}\). Finally from the interior DoFs, we have \(\varvec{u}=0\).

This proves the unisolvence. \(\square \)

At \(\mathcal {P}_{1, p+1}\varLambda ^{2}(\mathcal {T}_{h}^{3}) \) the new complex branches into the standard finite element de Rham sequence: \( \mathcal {P}_{1, p+1}\varLambda ^{2}(\mathcal {T}_{h}^{3}) \) is the BDM space with polynomial degree \(p+1\), and \( \mathcal {P}_{1, p}\varLambda ^{3}(\mathcal {T}_{h}^{3}) \) is the space of piecewise polynomials of degree p.

Lemma 5

The 3D complex of \(r=1\) (6) is locally and globally exact on contractible domains.

Proof

The local exactness on an element only involves properties of local polynomials, which is well known. We only show the global exactness.

The exactness at \( \mathcal {P}_{1, p+3}\varLambda ^{0}(\mathcal {T}_{h}^{3})\) is trivial because the kernel of the \({\text {grad}}\) operator only consists of constant functions. It is well known that

$$\begin{aligned} {\text {div}}: \mathcal {P}_{1, p+1}\varLambda ^{2}(\mathcal {T}_{h}^{3}) \rightarrow \mathcal {P}_{1, p}\varLambda ^{3}(\mathcal {T}_{h}^{3}) \end{aligned}$$

for the BDM-DG pair is onto. This proves the exactness at \( \mathcal {P}_{1, p}\varLambda ^{3}(\mathcal {T}_{h}^{3}) \). Furthermore, we note that

$$\begin{aligned} \mathcal {P}_{1, p+2}\varLambda ^{1}(\mathcal {T}_{h}^{3}) = \mathcal {P}_{p+2}\varLambda ^{1}(\mathcal {T}_{h}^{3})\cap \{\varvec{E}: \varvec{E}\in C^{0}(\mathcal {V})\}. \end{aligned}$$

From the standard results, we have

$$\begin{aligned} \ker \left( {{\text {curl}}}, \mathcal {P}_{p+2}\varLambda ^{1}(\mathcal {T}_{h}^{3})\right) ={\text {grad}}\mathcal {P}_{p+3}\varLambda ^{0}(\mathcal {T}_{h}^{3}), \end{aligned}$$

which implies that

$$\begin{aligned} \ker \left( {{\text {curl}}}, \mathcal {P}_{1, p+2}\varLambda ^{1}(\mathcal {T}_{h}^{3})\right)&={\text {grad}}\left( \mathcal {P}_{p+3}\varLambda ^{0}(\mathcal {T}_{h}^{3}) \cap \{u: u\in C^{1}(\mathcal {V})\} \right) \\&={\text {grad}}\mathcal {P}_{1, p+3}\varLambda ^{0}(\mathcal {T}_{h}^{3}), \end{aligned}$$

which shows the exactness at \(\mathcal {P}_{1, p+2}\varLambda ^{1}(\mathcal {T}_{h}^{3})\).

Then we only need to show the exactness at \(\mathcal {P}_{1, p+1}\varLambda ^{2}(\mathcal {T}_{h}^{3})\). After verifying the exactness at all the other spaces, we can check the dimensions to show the desired results.

The Hermite element of degree \(p+3\), i.e. \(\mathcal {P}_{1, p+3}\varLambda ^{0}(\mathcal {T}_{h}^{3})\), has dimension \(4V+pE+1/2(p+2)(p+1)F+1/6p(p+1)(p+2)T\), and the space \( \mathcal {P}_{1, p+2}\varLambda ^{1}(\mathcal {T}_{h}^{3})\) has dimension \(3V+(p+1)E+(p+1)(p+3)F+ 1/2p(p+1)(p+3)T\). Furthermore,

$$\begin{aligned} \mathrm {dim}\left( \mathcal {P}_{p+1}\varLambda ^{2}(t) \right)&=\mathrm {dim}\left( \mathcal {P}_{p+1}^{-}\varLambda ^{0} \right) F+\mathrm {dim}\left( \mathcal {P}_{p}^{-}\varLambda ^{1} \right) T\\&={p\atopwithdelims ()0}{p+3\atopwithdelims ()2}F+{p\atopwithdelims ()1}{p+3\atopwithdelims ()2}T\\&= \frac{1}{2}(p+2)(p+3)F+\frac{1}{2}p(p+2)(p+3)T, \end{aligned}$$

and \(\mathrm {dim}\left( \mathcal {P}_{p}\varLambda ^{3}(t) \right) ={p+3\atopwithdelims ()3}=1/6(p+3)(p+2)(p+1)T\).

Checking the dimensions and using Euler’s formula, we have proved the exactness. \(\square \)

3 Argyris family: \(r=2\)

The \(r=2\) family starts with elements with \(C^{2}\) continuity at vertices, \(C^{1}\) on edges and \(C^{0}\) on faces. In 1D this leads to \(H^{2} \rightarrow H^{1}\) pairs. In 2D, this gives \(H^{2}\rightarrow H^{1} \rightarrow L^{2}\) conforming elements. In 3D we obtain conforming discretisations of \(H^{1} \rightarrow H({\text {curl}}) \rightarrow H({\text {div}}) \rightarrow L^{2}\).

3.1 Complexes in 1D and 2D

In 1D the sequence consists of the Argyris–Hermite pair as the name suggests. For the lowest polynomial degree, we have the \(\mathcal {P}_{5}\)-\(\mathcal {P}_{4}\) pair. We actually obtain a conforming finite element sub-complex of

(7)

The 2D sequence coincides with the Stokes complex given in Falk and Neilan [21]. Because of the higher regularity at vertices and on edges, here the sequence with \(d=2\), \(r=2\) leads to a conforming discretisation of the Stokes complex

(8)

Falk and Neilan [21] chose the Argyris element for \(H^{2}(\varOmega )\), the Hermite element for each components of \(H^{1}(\varOmega )^{2}\) and the element with \(C^{0}\) continuity at the vertices for \( L^{2}(\varOmega )\). The inf–sup conditions and exactness were also shown in [21].

3.2 Complex in 3D

In 3D the \({H}({\text {curl}})\) space is a straightforward generalisation of the Hermite element by allowing jumps in the normal directions. In what follows we construct the finite elements. The sequence of the lowest order elements is shown in Fig. 3.

Fig. 3
figure 3

3D \(r=2\) finite element sequence with lowest polynomial degrees \(\mathcal {P}_{5}\rightarrow (\mathcal {P}_{4})^{3} \rightarrow (\mathcal {P}_{3})^{3} \rightarrow \mathcal {P}_{2}\). Interior DoFs (except for the last space) are shown as “\(+4, +1, +20\)”. For the \(H({\text {curl}})\) and the \(H({\text {div}})\) elements, the DoFs of the three components at each vertex are shown by one circle

  • Element \(\mathcal {P}_{2, p}\varLambda ^{0}(\mathcal {T}_{h}^{3}) \subset H^{1}(\varOmega )\). We use \(\mathcal {P}_{2, p}\varLambda ^{0}(\mathcal {T}_{h}^{3})\) to denote the finite element subspace of \(H^{1}(\varOmega )\) consisting of polynomials of degree p, which coincides with each component of the velocity space in the 3D Stokes complex of Neilan [37]. For \(\mathcal {P}_{2, p}\varLambda ^{0}(\mathcal {T}_{h}^{3})\) we impose \(C^{2}\) continuity at vertices, \(C^{1}\) on edges and \(C^{0}\) on faces, i.e.

    $$\begin{aligned} \mathcal {P}_{2, p}\varLambda ^{0}(\mathcal {T}_{h}^{3})=\{ s\in H^{1}(\varOmega ): s|_{t}\in \mathcal {P}_p (t), \forall t\in \mathcal {T}; s\in C^{2}({\mathcal {V}}), s\in C^{1}({\mathcal {E}})\}. \end{aligned}$$

Furthermore, the restriction of \(\mathcal {P}_{2, p}\varLambda ^{0}(\mathcal {T}_{h}^{3})\) to a face is a 2D Argyris element.

The DoFs are given in (3.2) of [37]. The dimensions can be counted as (for \(p \ge 5\)):

  • one function value and (nine) derivatives up to second order at each vertex,

  • \(2(p-4)\) normal derivatives and \(p-5\) function values on each edge,

  • \({p-4 \atopwithdelims ()2}\) DoFs on each face,

  • \( {p-1 \atopwithdelims ()3} \) interior DoFs.

The proof of the unisolvence can also be found in [37].

Lemma 6

The DoFs for \(\mathcal {P}_{2, p}\varLambda ^{0}(\mathcal {T}_{h}^{3})\) are locally unisolvent, and \(\mathcal {P}_{2, p}\varLambda ^{0}(\mathcal {T}_{h}^{3})\subset H^{1}(\varOmega )\).

We count the dimensions of the global finite element space:

$$\begin{aligned} {\dim }\left( \mathcal {P}_{2, p}\varLambda ^{0}(\mathcal {T}_{h}^{3})\right) =10V+\left[ 2(p-4)+(p-5) \right] E+{p-4 \atopwithdelims ()2} F+{p-1\atopwithdelims ()3} T. \end{aligned}$$
  • Element \(\mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\subset H({\text {curl}})\). The \(H({\text {curl}})\) finite element space \(\mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\) is partly motivated by the Hu–Zhang elements [29] for the Hellinger–Reissner variational principle of linear elasticity, which are modifications of the nodal Lagrange elements. Here we modify the Hermite elements to give a discretisation of \(\mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\).

We can describe \(\mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\) by the local shape function space and the interelement continuity:

$$\begin{aligned} \mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})=\{ \varvec{w}\in H({\text {curl}}; \varOmega ){:}\, \forall t\in {\mathcal {T}}, \varvec{w}|_{t}\in \mathcal {P}_p \varLambda ^{1}(t); \varvec{w}\in C^{1}({\mathcal {V}}), \varvec{w}\in C^{0}({\mathcal {E}})\}. \end{aligned}$$

The local DoFs can be given as:

  • function value and first order derivatives of each component at each vertex \(\varvec{x}\in \mathcal {V}\):

    $$\begin{aligned} \varvec{E}_{i}(\varvec{x}), \quad \partial _{j}\varvec{E}_{i}(\varvec{x}), \quad i, j=1, 2, 3, \end{aligned}$$
  • \(p-3\) moments for each component on each edge \(e\in \mathcal {E}\):

    $$\begin{aligned} \int _{e} \varvec{E}_{i}{q}, \quad {q}\in \mathcal {P}_{p-4}(e), ~i=1,2, 3, \end{aligned}$$
  • moments of tangential components on each face f:

    $$\begin{aligned} \int _{f}\left( \varvec{E}\times \varvec{\nu }_{f}\right) \cdot \varvec{q}, \quad \varvec{q}\in \left( \mathcal {P}_{p-3}(f)\right) ^{2}, \end{aligned}$$

    where \(\varvec{E}\times \varvec{\nu }_{f}\) is considered as a 2D vector on f,

  • interior DoFs on \(t\in \mathcal {T}\):

    $$\begin{aligned} \int _{t}\varvec{E}\cdot \varvec{v}, \quad \varvec{v}\in \mathcal {P}^{-}_{p-2}\varLambda ^{2}(t). \end{aligned}$$
    (9)

The dimension of the bubble space on \(t\in \mathcal {T}\) is \(1/2(p^{3}-2p^{2}-p+2)\).

We can immediately check the local unisolvence:

Lemma 7

The DoFs for \(\mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\) are unisolvent.

Proof

It is straightforward to check the local dimension of the DoFs on an element t:

$$\begin{aligned}&12\times 4+3(p-3)\times 6+2{p-2 \atopwithdelims ()2} \times 4+\left( \frac{1}{2}p^{3}-p^{2}-\frac{1}{2}p+1\right) \times 1\\&\quad =\mathrm {dim}\left( \mathcal {P}_p (t)^{3}\right) . \end{aligned}$$

Now it suffices to show that if all the DoFs vanish, we have \(\varvec{E}=0\) on the element t. Actually, from the DoFs attached to the vertices and edges, we know that \(\varvec{E}\) vanishes on all the edges. By the DoFs on faces, the tangential components of \(\varvec{E}\) vanish on all the faces, therefore \(\varvec{E}\in {\mathring{\mathcal {P}}}_p \varLambda ^{1}(t)\). Finally, from the interior DoFs (9) and Lemma 2, Lemma 3, we have \(\varvec{E}=\varvec{0}\), which shows the unisolvence. \(\square \)

The dimension of \(\mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\) is

$$\begin{aligned} \mathrm {dim}\left( \mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\right)= & {} 12V+3(p-3)E+2{p-2 \atopwithdelims ()2} F\\&+\left( \frac{1}{2}p^{3}-p^{2}-\frac{1}{2}p+1\right) T. \end{aligned}$$

We characterise \(H({\text {curl}})\) bubbles in a more constructive way, which resembles the discussions for the symmetric matrix valued \(H({\text {div}}, \mathbb {S})\) bubble function in [29, 31].

We define the \({H}({\text {curl}})\) bubble space on a 3D cell t:

$$\begin{aligned} \varSigma _{t, p}^{c}:=\sum _{i=0}^{3} \mathcal {P}_{p-3}(t) \lambda _{j}\lambda _{l}\lambda _{m}\varvec{\nu }_{i}, \end{aligned}$$

where ijlm are the four different indices from 0 to 3, \(\lambda _{j}\) is the j-th barycentric coordinate and \(\varvec{\nu }_{i}\) is the normal vector of the face opposite to vertex i.

We recall that \({\mathring{\mathcal {P}}}_p \varLambda ^{1}(t)\) is the Nédélec element of the second kind of degree p with vanishing tangential components on \(\partial t\).

Lemma 8

We have \(\varSigma _{t, p}^{c}={\mathring{\mathcal {P}}}_p \varLambda ^{1}(t),\quad \forall t\in \mathcal {T}\).

Proof

It is obvious that \(\varSigma _{t, p}^{c}\subset {\mathring{\mathcal {P}}}_p \varLambda ^{1}(t)\). To show the converse, we assume \(\varvec{E}\in {\mathring{\mathcal {P}}}_p \varLambda ^{1}(T)\). Then from the definition of \({\mathring{\mathcal {P}}}_p \varLambda ^{1}(T)\), \(\varvec{E}\) vanishes at the vertices and has the representation:

$$\begin{aligned} \varvec{E}=\sum _{i=0}^{3}p_{i}\varvec{\nu }_{i}, \quad p_{i}\in \mathcal {P}_p (t). \end{aligned}$$

The representation is not unique since there are four normals on a tetrahedron which are not linearly independent. We are to prove that \(p_{i}\) contains a factor \(\lambda _{j}\lambda _{l}\lambda _{m}\), where ijm and l are the four different indices chosen from 0, 1, 2, 3.

On face \(f_{j}\), we have

$$\begin{aligned} \varvec{0}=\varvec{E}\times \varvec{\nu }_{j}=\sum _{i=0}^{3}p_{i}\varvec{\nu }_{i}\times \varvec{\nu }_{j}=\sum _{i\ne j} p_{i} \frac{\varvec{e}_{lm}}{|\varvec{e}_{lm}|}, \end{aligned}$$

where \(\varvec{e}_{lm}\) is the edge connecting vertex l and vertex m.

Fixing i, we have three options for j, so there are three options for \(\varvec{e}_{lm}\) which are linearly independent and form a basis of \(\mathbb {R}^{3}\). Therefore \(p_{i}\) vanishes on \(f_{j}\), \(i\ne j\). This implies that \(p_{i}\) contains a factor \(\lambda _{j}\lambda _{l}\lambda _{m}\).

This proves \({\mathring{\mathcal {P}}}_p \varLambda ^{1}(t)\subset \varSigma _{t, p}^{c}\) and hence \(\varSigma _{t, p}^{c}={\mathring{\mathcal {P}}}_p \varLambda ^{1}(t)\). \(\square \)

We have the following space decomposition which shows that \(\mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\) can be written as the sum of a continuous Hermite element space and local bubble functions:

Lemma 9

We have \(\mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})=\varvec{S}_{h}^{p}+\varSigma _{p}^{c}\), where \(\varvec{S}_{h}^{p}\) is the vector Hermite space, and the restriction of \(\varSigma _{p}^{c}\) on an element t coincides with \(\varSigma _{t, p}^{c}\).

Proof

First we prove \(\varvec{S}_{h}^{p}+\varSigma _{p}^{c}\subset \mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\). In fact, the local polynomials of \(\varvec{S}_{h}^{p}+\varSigma _{p}^{c}\) and \(\mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\) are the same (\(\mathcal {P}_p \)). Furthermore, it is obvious that \(\varvec{S}_{h}^{p}\) satisfies the interelement continuity imposed by the DoFs of \(\mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\). Now we show that the interelement continuity of the extension by zero of \(\varSigma _{t, p}^{c}\) also satisfies the continuity of \(\mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\).

In fact, the \({H}({{\text {curl}}})\) bubbles \(p_{i}\lambda _{j}\lambda _{l}\lambda _{m}\varvec{\nu }_{i}\) vanish on all the edges and the derivatives \({\text {grad}}(p_{i}\lambda _{j}\lambda _{l}\lambda _{m}\varvec{\nu }_{i})\) contain at least two of the barycentric coordinates, which also vanish at all the vertices. This shows that the bubble functions satisfy the interelement continuity.

It remains to show the converse, i.e. \(\mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\subset \varvec{S}_{h}^{p}+\varSigma _{p}^{c}\). From the DoFs of \(\mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\), one can define the canonical interpolations \(I^{c}: \mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\mapsto \varvec{S}_{h}^{p}\). In fact, given \(\varvec{u}\in \mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\), we can define \(I^{c}\varvec{u}\in \varvec{S}_{h}^{p}\) by defining the function values \(I^{c}\varvec{u}(\varvec{x})\) and derivatives \(\partial _{i} I^{c}\varvec{u}(\varvec{x})\) at the vertices, function values on the edges \(I^{c}\varvec{u}(e)\) and tangential components on the faces \(I^{c}\varvec{u}\times \varvec{\nu }\) to be the same as the corresponding values of \(\varvec{u}\) (\(I^{c}\varvec{u}(\varvec{x})=\varvec{u}(\varvec{x})\), \(\partial _{i}I^{c}\varvec{u}(\varvec{x})=\partial _{i}\varvec{u}(\varvec{x})\), \(I^{c}\varvec{u}({e})=\varvec{u}({e})\), \(I^{c}\varvec{u}\times \varvec{\nu }=\varvec{u}\times \varvec{\nu }\)). Then we define the normal components to zero \(I^{c}\varvec{u}\cdot \varvec{\nu }=0\), which is consistent across the boundary of elements. For any \(\varvec{u}\in \mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\), it is easy to see that \(\varvec{u}_{b}|_{t}:=(\varvec{u}-I^{c}\varvec{u})|_{t}\in {\mathring{\mathcal {P}}}_p \varLambda ^{1}(t)=\varSigma _{t, p}^{c}\). This implies \(\varvec{u}=I^{c}\varvec{u}+\varvec{u}_{b}\) can be decomposed as a sum of the Hermite elements and local bubbles. \(\square \)

  • Element \(\mathcal {P}_{2, p}\varLambda ^{2}(\mathcal {T}_{h}^{3})\subset H({\text {div}})\). The construction of \(\mathcal {P}_{2, p}\varLambda ^{2}(\mathcal {T}_{h}^{3})\) has appeared in Stenberg [41]. The space \(\mathcal {P}_{2, p}\varLambda ^{2}(\mathcal {T}_{h}^{3})\) can be characterised as:

    $$\begin{aligned} \mathcal {P}_{2, p}\varLambda ^{2}(\mathcal {T}_{h}^{3})=\left\{ \varvec{v}\in H({\text {div}}): \varvec{v}|_{t}\in (\mathcal {P}_p (t))^{3}, \forall t\in {\mathcal {T}}_{h}^{3}; \varvec{v}\in C^{0}({\mathcal {V}})\right\} . \end{aligned}$$

    The local DoFs are:

    • function values of each component \(\varvec{u}_{i}(\varvec{x})\) at each vertex \(\varvec{x}\), \(i=1, 2, 3\),

    • face DoFs:

      $$\begin{aligned} \int _{f}\left( \varvec{u}\cdot \varvec{\nu }_{f}\right) \cdot {q}, \quad \forall f\in \mathcal {F}, {q}\in \mathcal {P}_p (f), {q}=0 \text{ at } \text{ the } \text{ vertices } \text{ of } f. \end{aligned}$$
    • interior DoFs

      $$\begin{aligned} \int _{t} \varvec{u}\cdot \varvec{v}, \quad \forall \varvec{v}\in \mathcal {P}_{p-1}^{-}\varLambda ^{1}(t), t\in \mathcal {T}_{h}^{3}. \end{aligned}$$

Lemma 10

The DoFs for \(\mathcal {P}_{2, p}\varLambda ^{2}(\mathcal {T}_{h}^{3})\) are locally unisolvent.

The global dimension of \(\mathcal {P}_{2, p}\varLambda ^{2}(\mathcal {T}_{h}^{3})\) is:

$$\begin{aligned} \mathrm {dim}\left( \mathcal {P}_{2, p}\varLambda ^{2}(\mathcal {T}_{h}^{3})\right) =3V+\frac{1}{2}(p^{2}+3p-4)F+\frac{1}{2}(p-1)(p+1)(p+2)T. \end{aligned}$$
  • Element \(\mathcal {P}_{2, p}\varLambda ^{3}(\mathcal {T}_{h}^{3})\subset L^{2}(\varOmega ).\) As above, \(\mathcal {P}_{2, p}\varLambda ^{3}(\mathcal {T}_{h}^{3})\) is the space of piecewise polynomials of degree p:

$$\begin{aligned} \mathcal {P}_{2, p}\varLambda ^{3}(\mathcal {T}_{h}^{3}):=\left\{ q\in L^{2}: q|_{T}\in \mathcal {P}_p , \forall T\in \mathcal {T} \right\} . \end{aligned}$$

The dimension reads

$$\begin{aligned} \mathrm {dim}\left( \mathcal {P}_{2, p}\varLambda ^{3}(\mathcal {T}_{h}^{3})\right) ={p+3 \atopwithdelims ()3}T. \end{aligned}$$

We verify the exactness on a contractible domain in the following theorem:

Theorem 2

The sequence in 3D (\(p\ge 2\))

(10)

is exact on contractible domains.

Proof

From the inf–sup condition of \(\mathcal {P}_{2, p+1}\varLambda ^{2}(\mathcal {T}_{h}^{3})\) and \(\mathcal {P}_{2, p}\varLambda ^{3}(\mathcal {T}_{h}^{3})\) which was proved in [41] (it also follows from the inf–sup condition of the Hu–Zhang type vector elements below, where the velocity space is smaller), we see that \(\mathrm {div}: \mathcal {P}_{2, p+1}\varLambda ^{2}(\mathcal {T}_{h}^{3}) \rightarrow \mathcal {P}_{2, p}\varLambda ^{3}(\mathcal {T}_{h}^{3})\) is onto.

We recall that \(\mathcal {P}_p \varLambda ^{1}(\mathcal {T}_{h}^{3})\) and \(\mathcal {P}_p \varLambda ^{0}(\mathcal {T}_{h}^{3})\) represent the Nédélec edge element of the second kind of degree p and the Lagrange element of degree p respectively.

From the definition of \(\mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\), we have

$$\begin{aligned} \mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})=\mathcal {P}_p \varLambda ^{1}(\mathcal {T}_{h}^{3})\cap \{\varvec{w}: \varvec{w}\in C^{1}({\mathcal {V}}), \varvec{w}\in C^{0}({\mathcal {E}})\}, \end{aligned}$$

and

$$\begin{aligned} \ker \left( {{\text {curl}}}, \mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\right) =\ker \left( {{\text {curl}}}, \mathcal {P}_p \varLambda ^{1}(\mathcal {T}_{h}^{3})\right) \cap \{\varvec{w}: \varvec{w}\in C^{1}({\mathcal {V}}), \varvec{w}\in C^{0}({\mathcal {E}})\}. \end{aligned}$$

We note that \({\text {grad}}\mathcal {P}_{p+1}\varLambda ^{0}(\mathcal {T}_{h}^{3})=\ker \left( {{\text {curl}}}, \mathcal {P}_p \varLambda ^{1}(\mathcal {T}_{h}^{3})\right) \) by the exactness of the standard finite element de Rham complex, where

$$\begin{aligned} {\text {grad}}\mathcal {P}_{p+1}\varLambda ^{0}(\mathcal {T}_{h}^{3}):=\{{\text {grad}}u: u\in \mathcal {P}_{p+1}\varLambda ^{0}(\mathcal {T}_{h}^{3})\}. \end{aligned}$$

Therefore we have

$$\begin{aligned} {\text {grad}}\mathcal {P}_{2, p+1}\varLambda ^{0}(\mathcal {T}_{h}^{3})&={\text {grad}}\left( \mathcal {P}_{p+1}\varLambda ^{0}(\mathcal {T}_{h}^{3})\cap \{s: s\in C^{2}({\mathcal {V}}), s\in C^{1}({\mathcal {E}}) \}\right) \\ {}&=\ker \left( {{\text {curl}}}, \mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\right) , \end{aligned}$$

since if \({\text {grad}}u\) has \(C^{1}\) continuity at vertices and \(C^{0}\) on edges, u has to be \(C^{2}\) and \(C^{1}\) at the vertices and on the edges.

It remains to show that for each \(\varvec{v}_{h}\in \mathcal {P}_{2, p}\varLambda ^{2}(\mathcal {T}_{h}^{3})\) satisfying \({\text {div}}\varvec{v}_{h}=0\), we have \(\varvec{v}_{h}={\text {curl}}\varvec{w}_{h}\) for some \(\varvec{w}_{h} \in \mathcal {P}_{2, p+1}\varLambda ^{1}(\mathcal {T}_{h}^{3})\). Since we have shown the exactness at other indices, it suffices to check the dimension now.

We summarise the global dimension of the sequence as follows:

By straightforward calculations, we know that (10) satisfies the dimension condition of the exactness. \(\square \)

3.3 Basis functions in 3D

For the \({H}({\text {curl}})\) finite element space \(\mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\), we can group the basis functions into several classes. Hereafter, we will use \(\psi _{\varvec{x}}\) to denote the Hermite nodal basis at a Hermite interpolation point \(\varvec{x}\), i.e. \(\psi _{\varvec{x}}(\varvec{x})=1\), \(\psi _{\varvec{x}}(\varvec{y})=0\) at any Hermite interpolation point \(\varvec{y}\ne \varvec{x}\), and \(\psi _{\varvec{x}}\) has vanishing first order derivatives at vertices.

  1. 1.

    Vertex-based basis functions: given \(\varvec{x}\in \mathcal {V}\), its twelve basis functions are

    $$\begin{aligned} \varvec{w}_{\varvec{x}, i}&=\psi _{\varvec{x}}\varvec{e}_{i}, \quad i=1, 2, 3,\\ \tilde{\varvec{w}}_{\varvec{x}, i, j}&= \tilde{\psi }_{\varvec{x}, i}\varvec{e}_{j}, \quad i, j=1, 2, 3, \end{aligned}$$

    where \(\tilde{\psi }_{\varvec{x}, i}\) is the basis function corresponding to the vertex derivative DoF satisfying \(\left( \partial ^{k}\tilde{\psi }_{\varvec{x}, i}\right) \Big |_{\varvec{x}}=\delta ^{k}_{i}\) and \(\tilde{\psi }_{\varvec{x}, i}({\varvec{y}})=0\) at all the Hermite points \(\varvec{y}\). Here \(\varvec{e}_{i}, ~i=1, 2, 3\) are the three bases of \(\mathbb {R}^{3}\).

  2. 2.

    Edge-based basis functions: given a Hermite point \(\varvec{x}\) on an edge e, its associated three basis functions:

    $$\begin{aligned} \varvec{w}_{e, \varvec{x}, i}= \psi _{\varvec{x}}\varvec{e}_{i}, \quad i=1,2,3. \end{aligned}$$
  3. 3.

    Face-based basis functions: given a Hermite point \(\varvec{x}\) on a face f, its associated two basis functions with tangential directions:

    $$\begin{aligned} \varvec{w}_{f, \varvec{x}, i}^{\tau }= \psi _{\varvec{x}}\varvec{\tau }_{{f}, \varvec{x}, i},\quad i=1,2, \end{aligned}$$

    where \(\varvec{\tau }_{f, \varvec{x}, i}\) is the tangential vector of the face f at \(\varvec{x}\).

  4. 4.

    Face-based basis functions: given a Hermite point \(\varvec{x}\) on a face f, its associated basis functions with the normal direction:

    $$\begin{aligned} \varvec{w}_{f, \varvec{x}, i}^{\nu }= \psi _{\varvec{x}}|_{t_{i}}\varvec{\nu }_{f}, \quad i=1,2, \end{aligned}$$

    where \(t_{1}\) and \(t_{2}\) are the two elements sharing the face f, \(\varvec{\nu }_{f}\) is the normal vector of the face f.

  5. 5.

    Interior basis functions: at each interior Hermite point \(\varvec{x}\), its three associated basis functions:

    $$\begin{aligned} \varvec{w}_{t, \varvec{x}, i}=\psi _{\varvec{x}}\varvec{e}_{i}, \quad i=1,2,3. \end{aligned}$$

3.4 Asymptotic dimensions of the global finite element spaces

With enhanced smoothness, the dimensions of the global DoFs are significantly reduced. The advantages of the discrete \({H}(\mathrm {div})\) space \(\mathcal {P}_{2, p}\varLambda ^{2}(\mathcal {T}_{h}^{3})\) have been shown in Stenberg [41]. So here we focus on the \({H({{\text {curl}}})}\) subspace \(\mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\). An analogous discussion is also possible for the 2D elements.

To see this, we first recall the asymptotic estimates of the dimensions (c.f. [41]):

$$\begin{aligned} V=\mathcal {O}\left( \frac{1}{6}T\right) ,\quad E=\mathcal {O}\left( 7V\right) =\mathcal {O}\left( \frac{7}{6}T\right) ,\quad F=\mathcal {O}(2T). \end{aligned}$$
(11)

Remark 1

In 2D, such asymptotic estimates can be established in a rigorous way. From Euler’s formula, one has \(V-E+F=1\). Since two triangles share one edge and each triangle contains three edges, one further has \(2E=3F\) asymptotically. Combining these two identities, one obtains the asymptotic relation \(V=\mathcal {O}(1/2F)\). However, in 3D we do not have enough information to give such estimates for general triangulations. To give similar estimates, we consider a special triangulation where each cube is divided into fourteen tetrahedra by connecting the center with eight vertices and the centers of the six faces. In this case, the vertex at the center is connected by fourteen edges and each edge contains two vertices. Therefore we give an asymptotic estimate \(E=7V\). Together with Euler’s formula \(V-E+F-T=1\), we derived the estimates (11).

We can estimate the dimension of the Nédélec element of the second kind (c.f. [9]):

$$\begin{aligned} \mathrm {dim}\left( \mathcal {P}_p \varLambda ^{1}\left( \mathcal {T}_{h}^{3}\right) \right)&=6(p+1)E+4(p+1)(p-1)F+\frac{1}{2}(p+1)(p-1)(p-2)T\\&=\mathcal {O}\left( \left[ 7(p+1)+8(p+1)(p-1)\right. \right. \\&\quad \left. \left. +\frac{1}{2}(p+1)(p-1)(p-2) \right] T\right) \\&=\mathcal {O}\left( \left( \frac{1}{2}p^{3}+7p^{2}+\frac{13}{2}p \right) T\right) . \end{aligned}$$

For the new element \(\mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\) we have

$$\begin{aligned} \mathrm {dim}(\mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3}))&= 12V+3(p-3)E+2{p-2 \atopwithdelims ()2}F+\left( \frac{1}{2}p^{3}-p^{2}-\frac{1}{2}p+1\right) T\\&=\mathcal {O}\left( \left[ 2+\frac{7}{2}(p-3)+2(p-1)(p-2)\right. \right. \\&\quad \left. \left. +\left( \frac{1}{2}p^{3}-p^{2}-\frac{1}{2}p+1\right) \right] T\right) \\&=\mathcal {O}\left( \left( \frac{1}{2}p^{3}+p^{2}-3p-\frac{11}{2}\right) T\right) . \end{aligned}$$

We see that \(\mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3})\) has fewer DoFs than \( \mathcal {P}_p \varLambda ^{1}\left( \mathcal {T}_{h}^{3}\right) \):

$$\begin{aligned} \mathrm {dim}\left( \mathcal {P}_p \varLambda ^{1}\left( \mathcal {T}_{h}^{3}\right) \right) -\mathrm {dim}(\mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3}))=\mathcal {O}\left( \left( 6p^{2}+\frac{19}{2}p+\frac{11}{2}\right) T\right) . \end{aligned}$$

For example, for \(p=4\), \(\mathrm {dim}\left( \mathcal {P}_p \varLambda ^{1}\left( \mathcal {T}_{h}^{3}\right) \right) =\mathcal {O}\left( 170T\right) \) and \(\mathrm {dim}(\mathcal {P}_{2, p}\varLambda ^{1}(\mathcal {T}_{h}^{3}))<\mathcal {O}\left( 31T\right) \).

3.5 Hu–Zhang type \(H(\mathrm {div})\) space

The Stenberg \(H({\text {div}})\) element \(\mathcal {P}_{2, p}\varLambda ^{2}\) in 3D does not have continuity on the edges, except for the vertex continuity. On the other hand, the Hu–Zhang element for linear elasticity has continuous normal components on the edges. Using an analogous idea, we can design another vector \(H({\text {div}})\) element with normal continuity on edges. The inf–sup condition of the proposed \(H({\text {div}})\)-\(L^{2}\) finite element pair also holds.

The new element can be described as

$$\begin{aligned} \varvec{V}_{p}^{h}:=\left\{ \varvec{v}\in H({\text {div}}; \varOmega ): v|_{t}\in \mathcal {P}_p (t), \forall t\in \mathcal {T}, \varvec{v}\in C^{0}(\mathcal {V}), \varvec{v}\cdot \varvec{\nu }_{i}\in C^{0}(\mathcal {E}), i=1, 2\right\} . \end{aligned}$$

The local degrees of freedom are:

  • function value of each component at each vertex:

    $$\begin{aligned} \quad \varvec{u}_{i}(\varvec{x}), ~ \varvec{x}\in \mathcal {V}, i=1, 2, 3, \end{aligned}$$
  • the moments on each edge:

    $$\begin{aligned} \int _{e}(\varvec{u}\cdot \varvec{\nu }_{e, i})w, \quad \forall w\in \mathcal {P}_{p-2}(e), ~e\in \mathcal {E}, i=1, 2, \end{aligned}$$
  • on each face f:

    $$\begin{aligned} \int _{f}\left( \varvec{u}\cdot \varvec{\nu }_{f}\right) {w}, \quad \forall {w}\in \mathcal {P}_{p-3}(f), \end{aligned}$$
  • interior DoFs on each tetrahedron \(t\in \mathcal {T}\):

    $$\begin{aligned} \int _{t}\varvec{u}\cdot \varvec{v}, \quad \forall \varvec{v}\in \mathcal {P}^{-}_{p-1}\varLambda ^{1}(t). \end{aligned}$$

The proof of the unisolvence is similar to Lemma 4, following Lemma 2. From a similar argument as Lemma 9, the interior bubble functions of \(\varvec{V}_{p}^{h}\) coincide with those of the BDM elements and \(\mathcal {P}_{2, p}\varLambda ^{2}(\mathcal {T}_{h}^{3})\).

Following the proof of the inf–sup conditions in Hu and Zhang [31] (Lemma 3.2), replacing the space of rigid body motions by the space of constants and replacing the symmetric gradient \(\epsilon \) by the gradient, we can prove the inf–sup condition of the pair \(\varvec{V}_{p}^{h}\)-\(\mathcal {P}_{ p-1}\varLambda ^{2}\) where \(p\ge 2\).

There is a Lagrange type basis for \(\varvec{V}_{p}^{h}\). We recall that \(\phi _{\varvec{x}}\) is the Lagrange nodal basis at \(\varvec{x}\), i.e. \(\phi _{\varvec{x}}(\varvec{x})=1\), \(\phi _{\varvec{x}}(\varvec{y})=0\) for the Lagrange interpolation point \(\varvec{y}\ne \varvec{x}\). For \(\varvec{V}_{p}^{h}\) we can group the basis functions into several classes:

  1. 1.

    Vertex-based basis functions: given \(\varvec{x}\in \mathcal {V}\), its three basis functions are

    $$\begin{aligned} \varvec{v}_{\varvec{x}, i}=\phi _{\varvec{x}}\varvec{e}_{i}, \quad i=1, 2, 3. \end{aligned}$$
  2. 2.

    Edge-based basis functions: given a Lagrange point \(\varvec{x}\) on an edge e, its associated basis functions with the tangential direction:

    $$\begin{aligned} \varvec{v}_{e, \varvec{x}, i}^{\tau }= \phi _{\varvec{x}}|_{t_{i}}\varvec{\tau }_{e}, \end{aligned}$$

    where \(\varvec{\tau }_{e}\) is the tangential direction of e, \(t_{i}\) is an element sharing e as an edge.

  3. 3.

    Edge-based basis functions: given Lagrange point \(\varvec{x}\) on an edge e, its associated basis functions with normal directions:

    $$\begin{aligned} \varvec{v}_{e, \varvec{x}, i}^{\nu }= \phi _{\varvec{x}}\varvec{\nu }_{e, i},\quad i=1, 2, \end{aligned}$$

    where \(\varvec{\nu }_{e, i}, i=1, 2,\) are the two normal directions of e.

  4. 4.

    Face-based basis functions: given a Lagrange point \(\varvec{x}\) on a face f, its associated two basis functions with tangential directions:

    $$\begin{aligned} \varvec{v}_{f, \varvec{x}, i}= \phi _{\varvec{x}}|_{t_{i}}\varvec{\tau }_{{f}, \varvec{x}, i},\quad i=1,2, \end{aligned}$$

    where \(\varvec{\tau }_{f, \varvec{x}, i}, i=1, 2,\) are the two tangential vectors of the face f at \(\varvec{x}\), \(t_{1}\) and \(t_{2}\) are the two elements sharing the face f.

  5. 5.

    Face-based basis functions: given Lagrange point \(\varvec{x}\) on a face f, its associated basis function with the normal direction:

    $$\begin{aligned} \varvec{v}_{f, \varvec{x}}= \phi _{\varvec{x}}\varvec{\nu }_{f}, \end{aligned}$$

    where \(\varvec{\nu }_{f}\) is the normal vector of the face f.

  6. 6.

    Interior basis functions: at each interior Lagrange point \(\varvec{x}\), its three associated basis functions:

    $$\begin{aligned} \varvec{v}_{t, \varvec{x}, i}=\phi _{\varvec{x}}\varvec{e}_{i}, \quad i=1,2,3. \end{aligned}$$

4 Boundary conditions

Since the proposed elements have extra smoothness compared with the standard de Rham complexes, the boundary conditions call for more explanations.

4.1 Two space dimensions

We start from two space dimensions and consider discretizations of the following spaces with essential boundary conditions:

$$\begin{aligned} H_{0}({\text {curl}}; \varOmega ):= & {} \left\{ s\in H({\text {curl}}; \varOmega ), \left. s\right| _{\partial \varOmega }=0\right\} ,\\ {H}_{0}(\mathrm {div}; \varOmega ):= & {} \left\{ \varvec{w}\in {H}(\mathrm {div}; \varOmega ), \left. \varvec{w}\right| _{\partial \varOmega }\cdot \varvec{\nu }=0\right\} . \end{aligned}$$

We denote

$$\begin{aligned} L^{2}_{0}(\varOmega ):=\left\{ q\in L^{2}(\varOmega ): \int _{\varOmega }q=0\right\} . \end{aligned}$$

Now we are in a position to define the following discrete de Rham sequence with homogeneous boundary conditions:

(12)

To impose the vanishing boundary conditions in (12) all function values of \( \mathcal {P}_{1, p+2}\varLambda ^{0}\left( \mathcal {T}_{h}^{2}\right) \) and normal components of \(\mathcal {P}_{1, p+1}\varLambda ^{1}\left( \mathcal {T}_{h}^{2}\right) \) should be set zero on the boundary. However in the implementation consistent conditions should be considered due to the extra smoothness. For example, \(\mathcal {P}_{1, p+2}\varLambda ^{0}\left( \mathcal {T}_{h}^{2}\right) \) has two derivative DoFs at each vertex. If boundary values of a function in \(\mathcal {P}_{1, p+2}\varLambda ^{0}\left( \mathcal {T}_{h}^{2}\right) \) are set zero, the tangential derivatives along the boundary should also be zero due to the consistency. Therefore in the implementation, the DoFs for the tangential derivatives should be imposed explicitly as well. On the other hand, the normal derivatives should be left free. There is a similar situation for the vertex DoFs of \(\mathcal {P}_{1, p+1}\varLambda ^{1}\left( \mathcal {T}_{h}^{2}\right) \).

Consistency conditions are related to the geometry of the boundary. We first follow the terminology in [21] to introduce the definition of corner boundary vertices.

Definition 1

A boundary vertex is called a corner vertex if the two adjacent boundary edges sharing this vertex do not lie on a straight line.

In Fig. 4, \(Q'\) is a corner vertex while Q is not.

At a non-corner boundary vertex, the two tangential derivatives along its two adjacent edges coincide up to a sign. In this case, we only specify the DoF value of this tangential derivative. The number of global DoFs (unknowns) is reduced by two at this vertex (one function value and one tangential derivative). Otherwise we should specify both derivative DoFs at each corner vertex and the number of DoFs is reduced by three.

For the \(H({\text {div}})\) conforming space \(\mathcal {P}_{1, p+1}\varLambda ^{1}(\mathcal {T}_{h}^{2})\), we explicitly specify the normal DoFs on each edge and DoFs at each vertex. For a non-corner boundary vertex, we only specify the normal component and for a corner boundary vertex, we should specify both components at that vertex.

We denote the number of boundary vertices by \(V_{0}\) and the number of non-corner boundary vertices by \(V_{0}^{s}\). Then the following dimension count holds:

$$\begin{aligned}&{\dim }\left( {\mathring{\mathcal {P}}}_{1, p}\varLambda ^{0}(\mathcal {T}_{h}^{2})\right) ={\dim }\left( \mathcal {P}_{1, p}\varLambda ^{0}(\mathcal {T}_{h}^{2})\right) - (p-3)E_{0}- 3V_{0}+V_{0}^{s},\\&{\dim }\left( {\mathring{\mathcal {P}}}_{1, p}\varLambda ^{1}(\mathcal {T}_{h}^{2})\right) = {\dim }\left( \mathcal {P}_{1, p}\varLambda ^{1}(\mathcal {T}_{h}^{2})\right) -(p-1)E_{0}-2V_{0}+V_{0}^{s}, \end{aligned}$$

and

$$\begin{aligned} {\dim }\left( {\mathring{\mathcal {P}}}_{1, p}\varLambda ^{2}(\mathcal {T}_{h}^{2})\right) ={\dim }\left( \mathcal {P}_{1, p}\varLambda ^{2}(\mathcal {T}_{h}^{2})\right) -1. \end{aligned}$$
Fig. 4
figure 4

Boundary DoFs. \(Q'\) is a corner vertex, while Q is not

In fact, for \({\mathring{\mathcal {P}}}_{1, p}\varLambda ^{0}(\mathcal {T}_{h}^{2})\), we remove \(p-3\) function value DoFs on each boundary edge, three vertex DoFs at each corner boundary vertex and two DoFs at each non-corner boundary vertex (one function value and one tangential derivative). For \({\mathring{\mathcal {P}}}_{1, p}\varLambda ^{1}(\mathcal {T}_{h}^{2})\), we remove \(p-1\) normal DoFs on each boundary edge, two normal DoFs at each corner boundary vertex and one normal DoF at each non-corner boundary vertex.

On contractible domains the number of boundary vertices equals that of boundary edges, i.e. \(E_{0}=V_{0}\). Therefore we have

$$\begin{aligned}&{\dim }\left( {\mathring{\mathcal {P}}}_{1, p+2}\varLambda ^{0}(\mathcal {T}_{h}^{2})\right) +{\dim }\left( {\mathring{\mathcal {P}}}_{1, p}\varLambda ^{2}(\mathcal {T}_{h}^{2})\right) -{\dim }\left( {\mathring{\mathcal {P}}}_{1, p+1}\varLambda ^{1}(\mathcal {T}_{h}^{2})\right) \\&\quad ={\dim }\left( \mathcal {P}_{1, p+2}\varLambda ^{0}(\mathcal {T}_{h}^{2})\right) +{\dim }\left( \mathcal {P}_{1, p}\varLambda ^{2}(\mathcal {T}_{h}^{2})\right) \\&\qquad -{\dim }\left( \mathcal {P}_{1, p+1}\varLambda ^{1}(\mathcal {T}_{h}^{2})\right) +(E_{0}-V_{0})-1\\&\quad ={\dim }\left( \mathcal {P}_{1, p+2}\varLambda ^{0}(\mathcal {T}_{h}^{2})\right) +{\dim }\left( \mathcal {P}_{1, p}\varLambda ^{2}(\mathcal {T}_{h}^{2})\right) -{\dim }\left( \mathcal {P}_{1, p+1}\varLambda ^{1}(\mathcal {T}_{h}^{2})\right) -1=0. \end{aligned}$$

This shows that the dimension condition of exactness holds for (12). Checking the exactness at \({\mathring{\mathcal {P}}}_{1, p+2}\varLambda ^{0}(\mathcal {T}_{h}^{2}) \) and \({\mathring{\mathcal {P}}}_{1, p}\varLambda ^{2}(\mathcal {T}_{h}^{2}) \) as the case without boundary conditions, we obtain the exactness of (12).

Boundary conditions for the family \(r=2\) are similar. We refer to [21] for detailed discussions.

4.2 Three space dimensions

For simplicity of presentation, we assume that the boundary of \(\varOmega \) is homeomorphic to the sphere \(S^{2}\subset \mathbb {R}^{3}\). Sobolev spaces with vanishing boundary conditions are defined by

$$\begin{aligned} H^{1}_{0}(\varOmega ):= & {} \left\{ v\in H^{1}(\varOmega ): \left. v\right| _{\partial \varOmega }=0 \right\} ,\\ H_{0}({\text {curl}}; \varOmega ):= & {} \left\{ \varvec{u}\in H({\text {curl}}; \varOmega ), \left. \varvec{u}\right| _{\partial \varOmega }\times \varvec{\nu }=0\right\} ,\\ {H}_{0}(\mathrm {div}; \varOmega ):= & {} \left\{ \varvec{w}\in {H}(\mathrm {div}; \varOmega ), \left. \varvec{w}\right| _{\partial \varOmega }\cdot \varvec{\nu }=0\right\} , \end{aligned}$$

where \(\varvec{\nu }\) is the unit normal vector of \(\partial \varOmega \), and as a convention,

$$\begin{aligned} L^{2}_{0}(\varOmega ):=\left\{ q\in L^{2}(\varOmega ): \int _{\varOmega }q=0\right\} . \end{aligned}$$

On the continuous level, the complex

is exact on any contractible domain \(\varOmega \).

As we have seen in the 2D case, whether a boundary vertex is a corner or not depends on the number of independent edges (i.e. edges with linearly independent directions) sharing this vertex. This motivates us to give a similar definition in 3D.

Definition 2

A boundary vertex is called a corner vertex in 3D if the adjacent boundary edges sharing this vertex are not coplanar.

Below we take the scalar element space \(\mathcal {P}_{2, p}\varLambda ^{0}(\varOmega )\subset H_{0}^{1}(\varOmega )\) as an example to explain how the boundary geometry should be taken into consideration when we impose boundary conditions.

For a corner boundary vertex in 3D, there are three linearly independent edges (precisely, three edges with linearly independent directions) connected to it. Therefore all derivatives (three first order derivatives and six second order derivatives) at a corner boundary vertex can be derived from given boundary value. On the other hand, at a non-corner boundary vertex, there are only two linearly independent directions along the boundary. Therefore at a non-corner boundary vertex, two tangential first order derivatives along the boundary and three tangential second order derivatives (\(\partial _{\tau _{1}}^{2}\), \(\partial _{\tau _{2}}^{2}\) and \(\partial _{\tau _{1}}\partial _{\tau _{2}}\), where \(\tau _{1}\) and \(\tau _{2}\) are the two tangent vectors lying on the boundary \(\partial \varOmega \)) can be determined from given boundary data and the corresponding degrees of freedom should be specified to impose boundary conditions. The degrees of freedom corresponding to the normal first order derivative (\(\partial _{\nu }\)) and the three second order derivatives related to the normal direction, i.e. \(\partial _{\nu }^{2}\), \(\partial _{\tau _{i}}\partial _{\nu }, ~i=1, 2\), should be treated as unknowns.

For edges in 3D, we similarly define:

Definition 3

A boundary edge is called a corner edge in 3D if the two adjacent faces (2D cells) on the boundary sharing this edge are not coplanar.

Fig. 5
figure 5

\(e'\) is a corner edge, while e is not

In Fig. 5, \(e'\) is a corner edge, while e is not. On a corner edge, derivatives of a function along the two normal directions can be determined by the function value on the boundary. Therefore all DoFs on corner edges should be specified from given boundary data. On the other hand, for a non-corner edge, derivative DoFs in the normal direction of the plane cannot be determined from given boundary data. In this case, such normal DoFs should be treated as unknowns in the algebraic system.

Boundary conditions for other spaces are similar. The general principle is that we specify all DoFs which can be obtained from given boundary data.

4.3 Non-homogeneous boundary conditions

Paying attention to the geometry of boundaries discussed above, it is trivial to impose vanishing Dirichlet boundary conditions by setting all relevant DoFs zero. However, for non-homogeneous boundary conditions, extra complication may arise. This is usually due to the construction of basis functions.

For DoFs which should be specified, coefficients in front of the dual basis should be determined by linear combinations of boundary data. For example, in Fig. 6, Q is a corner vertex. We use \(\varvec{e}_{1}\) and \(\varvec{e}_{2}\) to denote the two canonical basis vectors in \(\mathbb {R}^{2}\) and use \(\varvec{\tau }_{1}\), \(\varvec{\tau }_{2}\) to denote the vectors corresponding to the two edges sharing Q. Assume that \(\varvec{e}_{1}=a_{1}\varvec{\tau }_{1}+a_{2}\varvec{\tau }_{1}\) and \(\varvec{e}_{2}=b_{1}\varvec{\tau }_{1}+b_{2}\varvec{\tau }_{2}\). Then the directional derivatives satisfy

$$\begin{aligned} \partial _{\varvec{e}_{1}}=a_{1}\partial _{\varvec{\tau }_{1}}+a_{2}\partial _{\varvec{\tau }_{2}}, \end{aligned}$$
(13)

and

$$\begin{aligned} \partial _{\varvec{e}_{2}}=b_{1}\partial _{\varvec{\tau }_{1}}+b_{2}\partial _{\varvec{\tau }_{2}}. \end{aligned}$$
(14)

Hence given \(\left. u\right| _{\partial \varOmega }\), one can obtain \(\partial _{\varvec{\tau }_{1}}u\) and \(\partial _{\varvec{\tau }_{2}}u\) by taking derivatives on \(\partial \varOmega \). Then \(\partial _{\varvec{e}_{1}}\left( \left. u\right| _{\partial \varOmega }\right) \) and \(\partial _{\varvec{e}_{2}}\left( \left. u\right| _{\partial \varOmega }\right) \) can be obtained from (13) and (14). This gives the coefficients in front of the dual basis of \(\partial _{\varvec{e}_{1}}\) and \(\partial _{\varvec{e}_{2}}\).

Boundary conditions for other spaces are analogous.

5 Geometric decomposition

The geometric locations of the DoFs are essential to define a finite element. Based on this observation, the global finite element space can be decomposed according to the topological entities (c.f. [7]). Specifically, on a simplex \(\varDelta \), the dual basis of the DoFs spans a local space with vanishing trace on the boundary of the patch associated to \(\varDelta \). This space is independent of the choice of basis.

This idea is used as the definition of finite elements in Christiansen et al. [16]. In the finite element systems proposed in [16], differential complexes are considered on all the simplexes with different dimensions. The interelement continuity is guaranteed by requiring that the pull back to each simplex is single-valued, which is enforced by taking an inverse limit. Then the global function spaces can be decomposed as a sequence of Whiney forms, which has the lowest polynomial degrees but lives on different topological entities, and sequences of bubble functions, each of which lives in the same patch. Although with different names, such a decomposition plays an important role in the study of high order methods, e.g. local complete sequences in Schöberl and Zaglmayr [40], bounded commuting interpolations in Falk and Winther [22, 23].

Fig. 6
figure 6

Tangential/normal DoFs and derivatives along edges

In this section, we give a similar decomposition of the new sequences with regularity \(r=1\) and \(r=2\). Each local space is the span of the dual basis of the DoFs on a topological entity.

Since the continuity involved is usually higher than the natural regularity of the existing de Rham elements in finite element exterior calculus, we will use jets, besides differential forms, in our discussions. A r-jet means a function together with its Taylor expansion up to order r in a coordinate-free way [39]. This is a generalisation of the differential forms to higher continuity. Jets and differential operators can be represented in local coordinates. For example, a 1-jet for a 2D 1-form \(\varvec{v}\) can be represented in the coordinate form \((v^{1}, v^{1}_{1}, v^{1}_{2}, v^{2}, v^{2}_{1}, v^{2}_{2})\), where \(v^{1}\) and \(v^{2}\) are the two components of \(\varvec{v}\) and \(v^{i}_{j}\) is the j-th derivative of the i-th component. In the definition of jets, \(v^{i}\) and \(v^{i}_{j}\) are considered to be independent. With such a representation, a differential operator can be identified with its symbol. In the above example, the divergence operator on 1-form \(\varvec{v}\) has the coordinate representation \({\text {div}}\varvec{v}=v_{1}^{1}+v_{2}^{2}\). The operators \({\text {grad}}\) and \({\text {curl}}\) can be represented in a similar way.

Below we consider the geometric decomposition of the complex

(15)

Although our examples are in nD where \(n\le 3\), the local exactness will be verified for any \(n\ge 1\) below.

  • Case \(r=1\).

The vertex sequence can be written as

(16)

Here \(J^{l}(v, \varOmega )\) is the l-jet at vertex v imbedded in n dimensional space \(\varOmega \). We note that \(\dim (J^{1}\varLambda ^{0}(v, \varOmega ))=n+1\) and \(\dim (J^{0}\varLambda ^{1}(v, \varOmega ))=n\) in n dimensions. In local coordinates, \(\varvec{u}\in J^{1}\varLambda ^{0}(v, \varOmega ) \) and \(\varvec{w}\in J^{0}\varLambda ^{1}(v, \varOmega )\) have the form \((u, u_{1}, \ldots , u_{n})\) and \((w^{1}, w^{2}, \ldots , w^{n})\), where \(u_{i}=\partial _{i}u\) is considered as an independent variable. By counting the dimensions, (16) is exact.

The edge bubble sequence coincides with the bubble complex of the 1D Hermite–Lagrange pairs:

(17)

Here \(e\in \mathcal {E}\) is a one dimensional simplex. If e is an interior edge, \({\mathring{\mathcal {P}}}_{1, p}\varLambda ^{0}(e) \) contains functions with vanishing values and derivatives at the vertices and \({\mathring{\mathcal {P}}}_{1, p-1}\varLambda ^{1}(e) /\mathbb {R} \) contains functions with vanishing values at the vertices of e and vanishing integration along e.

The face and interior bubble sequences are the same as the standard finite element de Rham sequences:

(18)
(19)

The vanishing boundary conditions of (18)–(19) are the same as the standard case and (17)–(19) are exact.

  • Case \(r=2\).

The vertex sequence can be written as

(20)

As discussed above, \(J^{l}(v, \varOmega )\) is the l-jet on vertex v imbedded in an n dimensional domain \(\varOmega \). We have \(\dim (J^{2}\varLambda ^{0}(v, \varOmega ))=(1/2)(n^{2}+3n+2)\), \(\dim (J^{1}\varLambda ^{1}(v, \varOmega ))=n(n+1)\) and \(\dim (J^{0}\varLambda ^{2}(v, \varOmega ))={n \atopwithdelims ()2}=(1/2)n(n-1)\) in n spatial dimensions.

In 1D, the complex is exact (no two-forms involved). In 2D, the kernel of \({\text {curl}}\) (rotation of \({\text {grad}}\)) consists of constants and \({\text {div}}\) (\({\text {rot}}\)): \(J^{1}\varLambda ^{1}(v, \varOmega )\rightarrow J^{0}\varLambda ^{2}(v, \varOmega )\) is onto, since for \(\varvec{w}\in J^{0}\varLambda ^{2}(v, \varOmega )\) with the coordinate representation (w), we can consider \(\varvec{v}=(u^{1}, (1/2)w, u^{1}_{2}, u^{2}, u^{2}_{1}, (1/2)w )\in J^{1}\varLambda ^{1}(v)\). From the definition of jets and the differential operators, we see \({\text {div}}\varvec{v}= \varvec{w}\). By analogous argument, we have in 3D: \(\ker ({\text {grad}})=\mathbb {R}\), and \({\text {curl}}\): \(J^{1}\varLambda ^{1}(v, \varOmega )\rightarrow J^{0}\varLambda ^{2}(v, \varOmega )\) is onto, because for \(\varvec{w}=(w^{1}, w^{2}, w^{3})\in J^{0}\varLambda ^{2}(v, \varOmega )\), we can define \(\varvec{u}=(u^{1}, u_{1}^{1}, 0, 0, u^{2}, w^{3}, u_{2}^{2}, -w^{1}, u^{3}, -w^{2}, 0, u_{3}^{3})\), and \({\text {curl}}\varvec{u}=\varvec{w}\).

To verify the exactness at \(J^{1}\varLambda ^{1}(v, \varOmega )\), it suffices to check the dimensions. In n spatial dimensions where \(n\ge 1\), we have the dimension count

$$\begin{aligned} 0\rightarrow 1\rightarrow \frac{1}{2}\left( n^{2}+3n+2 \right) \rightarrow n(n+1)\rightarrow \frac{1}{2}(n-1)n \rightarrow 0, \end{aligned}$$

which verifies the exactness of the vertex sequences (20).

The edge bubbles of the family \(r=2\) reads (\(p\ge 2\)):

(21)

Here \(\mathring{J}^{1}_{p}\varLambda ^{0}(e, \varOmega )\) is the 1-jet on the edge e with vanishing vertex DoFs, i.e. derivatives up to the second order. The space \(\mathring{J}^{0}_{p-1}\varLambda ^{1}(e, \varOmega )/\mathbb {R} \) is the 0-jet on e with vanishing vertex DoFs, i.e. derivatives up to the first order, and vanishing integration.

For 0-forms, there are \(p-5\) DoFs for the function value and \((n-1)(p-4)\) DoFs for the normal derivatives on each edge. For 1-forms, we have n components and \(p-4\) DoFs for each component on each edge. Therefore we have the dimension count

$$\begin{aligned} 0\rightarrow (p-5)+(n-1)\cdot (p-4)\rightarrow n(p-4)-1\rightarrow 0, \end{aligned}$$

which implies the exactness.

The face bubbles can be formally written as

The vanishing boundary conditions can be defined as follows. The element \({\mathring{\mathcal {P}}}_p \varLambda ^{0}(f) \) has vanishing values and derivatives up to the second order at the vertices and vanishing values and first order derivatives on the edges. The element \({\mathring{\mathcal {P}}}_{p-1}\varLambda ^{1}(f) \) has vanishing values and first order derivatives at the vertices and vanishing values on the edges. The element \({\mathring{\mathcal {P}}}_{p-2}\varLambda ^{2}(f) /\mathbb {R}\) takes zero values at the vertices and has vanishing integral on f.

The interior bubbles coincide with the standard finite element de Rham complexes which are exact:

6 Bernstein–Gelfand–Gelfand (BGG) constructions

Arnold, Falk and Winther [4] introduced the Bernstein–Gelfand–Gelfand (BGG) constructions into numerical analysis to derive finite elements of symmetric tensors from the well-known de Rham elements. Later, Hu and Zhang [30] designed a new family in a straightforward way. In this section, we re-construct the 2D Hu–Zhang stress element using BGG and the families discussed in this paper. We hope that the discussions below could build some connections between these two approaches, and further shed some light on the construction of other tensor valued elements and complexes. There is a unified construction in any spatial dimension (c.f. [29]), but based on the de Rham families in this paper we only re-construct the 2D case.

Most of the discussions in this section are routine following [4]. The key observation is that we use the Hermite element for both the 2D \({{\mathcal {P}}}_{1,p}\varLambda ^0\) space and each component of the 2D \(r=2\) \(H({\text {div}})\) space, therefore \(S_{0}\) below is an isomorphism between the finite element spaces.

We construct the 2D Hu–Zhang element step by step based on the following diagram.

(22)

Here \(\mathcal {P}_{r, p}\varLambda ^{k}(\mathcal {T}_{h}^{2}, \mathbb {V})\) is the space of differential forms taking values in the 2D vector space \(\mathbb {V}=\mathbb {R}^{2}\). Similarly, \(\mathcal {P}_{r, p}\varLambda ^{k}(\mathcal {T}_{h}^{2}, \mathbb {K})\) is the space of skew-symmetric matrix valued differential forms. In 2D, skew-symmetric matrices can be identified with scalars. We denote the skew-symmetric matrix basis

$$\begin{aligned} \varvec{\chi }:=\left( \begin{array}{cc} 0 &{}\quad -1\\ 1 &{}\quad 0 \end{array} \right) . \end{aligned}$$

The vector valued 0-, 1- and 2-forms in the second row of (22) can be represented as

$$\begin{aligned} \left( \begin{array}{c} u_{1}\\ u_{2} \end{array}\right) , \quad \left( \begin{array}{c} w_{11}\\ w_{21} \end{array}\right) dx^{1}+ \left( \begin{array}{c} w_{12}\\ w_{22} \end{array}\right) dx^{2},\quad \left( \begin{array}{c} v_{1}\\ v_{2} \end{array}\right) dx^{1}\wedge dx^{2}, \end{aligned}$$

respectively. These vector valued differential forms can be identified with the matrix/vector form:

$$\begin{aligned} \left( \begin{array}{c} u_{1}\\ u_{2} \end{array}\right) , \quad \left( \begin{array}{cc} -w_{12} &{}\quad w_{11}\\ -w_{22} &{}\quad w_{21} \end{array}\right) ,\quad \left( \begin{array}{c} v_{1}\\ v_{2} \end{array}\right) . \end{aligned}$$

The vector valued 1-form \( \mathcal {P}_{1, p+1}\varLambda ^{1}(\mathcal {T}_{h}^{2}, \mathbb {V})\) is identified with a matrix and each row is a Stenberg vector element.

Similarly, the skew-symmetric matrix valued differential forms

$$\begin{aligned} u\varvec{\chi }, \quad w_{1}\varvec{\chi }dx^{1}+w_{2}\varvec{\chi }dx^{2}, \quad v\varvec{\chi } dx^{1}\wedge dx^{2} \end{aligned}$$

can be identified with

$$\begin{aligned} u\varvec{\chi }, \quad \left( \begin{array}{cc} -w_{2}, w_{1} \end{array} \right) \varvec{\chi }, \quad -v\varvec{\chi }. \end{aligned}$$

With these identifications, the exterior derivatives \(d_{0}\) and \(d_{1}\) correspond to \({\text {curl}}\) and \({\text {div}}\) for each row.

Following [4, 5], we define \(S_{0}: \mathcal {P}_{1, p+2}\varLambda ^{0}(\mathcal {T}_{h}^{2}, \mathbb {V})\mapsto \mathcal {P}_{1, p+2}\varLambda ^{1}(\mathcal {T}_{h}^{2}, \mathbb {K})\) and \(S_{1}: \mathcal {P}_{1, p+1}\varLambda ^{1}(\mathcal {T}_{h}^{2}, \mathbb {V})\mapsto \mathcal {P}_{1, p+1}\varLambda ^{2}(\mathcal {T}_{h}^{2}, \mathbb {K})\) by

$$\begin{aligned}&S_{0}: \left( \begin{array}{c} u_{1}\\ u_{2} \end{array}\right) \sim \left( \begin{array}{c} u_{1}\\ u_{2} \end{array}\right) \mapsto -u_{2}\varvec{\chi }dx^{1}+u_{1}\varvec{\chi }dx^{2}\sim - \left( \begin{array}{cc} u_{1}, u_{2} \end{array}\right) \varvec{\chi },\\&S_{1}: \left( \begin{array}{c} w_{11}\\ w_{21} \end{array}\right) dx^{1}+\left( \begin{array}{c} w_{12}\\ w_{22} \end{array}\right) dx^{2}\sim \left( \begin{array}{cc} -w_{12} &{} w_{11}\\ -w_{22} &{} w_{21} \end{array}\right) \\&\quad \mapsto -(w_{11}+w_{22})\varvec{\chi }dx^{1}\wedge dx^{2}\sim (w_{11}+w_{22})\varvec{\chi }, \end{aligned}$$

where the tilde denotes the correspondence between the differential form and the vector form. The operator \(S_{0}\) is an isomorphism while the operator \(S_{1}\) is surjective. With the vector proxy, \(S_{0}\) is the identity operator (up to a sign and the skew-symmetric matrix basis \(\varvec{\chi }\)) and \(S_{1}\) is the skew-symmetrization. The identity \(d_{1}S_{0}+S_{1}d_{0}=0\) holds.

We are ready to introduce the BGG construction now.

Step 1. Complex of product spaces Define \(\varXi _{p}^{k}=\mathcal {P}_{2, p+1}\varLambda ^{k}(\mathcal {T}_{h}^{2}, \mathbb {K})\times \mathcal {P}_{1, p}\varLambda ^{k}( \mathcal {T}_{h}^{2}, \mathbb {V})\). The first step is to establish a new complex of \(\varXi _{p}^{k}\) with certain operators.

To do this, we define \(\mathcal {A}_{k}: \varXi _{p+1}^{k}\mapsto \varXi _{p}^{k+1}\) by

$$\begin{aligned} \mathcal {A}_{k}:=\left( \begin{array}{c c} d_{k} &{}\quad -S_{k}\\ 0 &{}\quad d_{k} \end{array} \right) . \end{aligned}$$

For \((\omega , \mu )\in \varXi _{p}^{k}\), \(\mathcal {A}_{k}(\omega , \mu )=(d_{k}\omega -S_{k}\mu , d_{k}\mu )\). By straightforward calculations, we have \(\mathcal {A}_{1}\mathcal {A}_{0}=0\), and the complex

(23)

is exact on contractible domains.

Step 2. Projection to a subcomplex The second step is to project (23) to a subcomplex. Following [4], we define

$$\begin{aligned} \varGamma ^{0}_{p}=\{(\omega , \mu )\in \varXi _{p}^{0}: d_{0}\omega =S_{0}\mu \}, \quad \varGamma ^{1}_{p}=\{(\omega , \mu )\in \varXi _{p}^{1}: \omega =0 \}, \end{aligned}$$

and

$$\begin{aligned} \pi ^{0}(\omega , \mu )=(\omega , S_{0}^{-1}d_{0}\omega ), \quad \pi ^{1}(\omega , \mu )=(0, \mu +d_{0}S_{0}^{-1}\omega ). \end{aligned}$$

Then it is straightforward to check that the following diagram is commuting, and therefore the bottom complex is exact on contractible domains:

(24)

Step 3. Identification Identifying \((\omega , S_{0}^{-1}d_{0}\omega )\in \varGamma _{p+2}^{0}\) with \(\omega \) and \((0, \mu )\in \varGamma _{p+1}^{1}\) with \(\mu \), the bottom sequence in (24) can be interpreted as

(25)

where \(d_{0}S_{0}^{-1}d_{0}\) corresponds to the Airy operator:

$$\begin{aligned} dS_{0}^{-1}d(u\varvec{\chi })\sim - \left( \begin{array}{c c} \partial _{2}^{2}u&{}\quad -\partial _{2}\partial _{1}u \\ -\partial _{1}\partial _{2}u &{}\quad \partial _{1}^{2}u \end{array} \right) . \end{aligned}$$

Now we obtain the elasticity complex with weak symmetry.

Step 4. Imposing the symmetry constraint The matrix form M of \(u\in \mathcal {P}_{1, p}\varLambda ^{1} \left( \mathcal {T}_{h}^{2}, \mathbb {V}\right) \) is symmetric if and only if \(S_{1}u=0\). We reduce the DoFs of the skew-symmetric part of M to get the 2D Hu–Zhang elements.

We first re-write the DoFs for M as:

  1. 1.

    four DoFs of function values at each vertex \(v\in \mathcal {V}\): M(v),

  2. 2.

    edge DoFs: \(\int _{e}(M\cdot \varvec{\nu }_{e})\cdot \varvec{q}, \quad \varvec{q}\in \left( \mathcal {P}_{p-2}(e)\right) ^{2}\),

  3. 3.

    interior DoFs for the skew-symmetric part, which are the same as the interior DoFs of \(\mathcal {P}_{2, p}\varLambda ^{2}\left( \mathcal {T}_{h}^{2}\right) \) (\(1/2p^{2}+3/2p-2\) DoFs):

    $$\begin{aligned} \int _{t}\mathrm {skw}(M): q\varvec{\chi }, \quad \forall q\in \mathcal {P}_p (t), ~q=0 \text{ on } \mathcal {V} , \end{aligned}$$
  4. 4.

    interior DoFs, which are the same as those of the 2D Hu–Zhang \(H_{h}({\text {div}}, \mathbb {S})\) space (\(3/2p^{2}-3/2p\) DoFs):

    $$\begin{aligned} \int _{t}M:\theta , \quad \theta \in \{\tau \in \mathcal {P}_p (t, \mathbb {S}): \tau \cdot \varvec{\nu }_{\partial t}=0\}, \end{aligned}$$

    where \(\mathcal {P}_p (t, \mathbb {S})\) represents the symmetric matrix valued polynomial space on t with degree p.

The number of interior DoFs is

$$\begin{aligned} \left( 1/2p^{2}+3/2p-2\right) +\left( 3/2p^{2}-3/2p\right) =2\cdot \dim \left( \mathcal {P}_{p-1}^{-}\varLambda ^{1}(t)\right) , \end{aligned}$$

which coincides with the dimension of the interior bubbles of \(\mathcal {P}_{1, p}\varLambda ^{1}\left( \mathcal {T}_{h}^{2}, \mathbb {V}\right) \). Furthermore, if all the DoFs vanish, we first verify that \(\mathrm {skw}(M)=0\) by the DoFs of the skew-symmetric part, then M vanishes by the same argument as the Hu–Zhang element [32]. This implies the unisolvence, and these DoFs define the same element as \(\mathcal {P}_{1, p}\varLambda ^{1}\left( \mathcal {T}_{h}^{2}, \mathbb {V}\right) \).

Finally, we can reduce the DoFs of the skew-symmetric part to get the Hu–Zhang element:

(26)

The operator \(i_{h}\) is a discrete inclusion, mapping a skew-symmetric matrix K to \( \mathcal {P}_{1, p+1}\varLambda ^{1}\left( \mathcal {T}_{h}^{2}, \mathbb {V}\right) \), defined by setting \(\mathrm {skw}(i_{h}K)=\mathrm {skw}(K)\) at the vertices and setting the interior DoFs for the skew-symmetric part:

$$\begin{aligned} \int _{t}\mathrm {skw}\left( i_{h}K\right) : q\varvec{\chi }=\int _{t}\mathrm {skw}(K): q\varvec{\chi }, \quad \forall q\in \mathcal {P}_{p+1} (t), q=0 \text{ on } \mathcal {V} , \end{aligned}$$

and setting the DoFs in Item 2 and Item 4 above to zero. Defining \(\varPi _{h}(\omega , \mu ):=\mu +d_{1}i_{h}\omega \), we can check that (26) commutes and particularly, the bottom sequence is exact on contractible domains, which gives the Hu–Zhang stress and displacement elements in 2D.

7 Concluding remarks

We discussed finite element de Rham complexes with higher continuity on sub-simplexes, and as a result, some of these elements can be represented by Lagrange or Hermite type bases. Motivated by the idea of finite element systems, we gave several different combinations of local exact sequences. Actually, we found the positions of existing elements with different initial purposes, and discovered new ones (Table 3): the \(H({\text {curl}})\) elements with \(n=3, r=1, 2\) are new. Table 4 shows the local continuity in 3D: \(r=0\) and \(r=1\) have the same face bubbles, \(r=0\), \(r=1\) and \(r=2\) all have the same interior bubbles.

Table 3 Families with \(r=0,1, 2\)
Table 4 Local continuity of the 3D families: \(C^{\tau }\) and \(C^{n}\) represent tangential and normal continuity

The new elements will lead to smaller stiffness and mass matrices due to the enhanced regularity. More importantly, the new geometric decomposition and topological structure lead to nodal type bases in some cases.

Only complete polynomials were considered. It is known that the \(\mathcal {P}^{-}\) family with incomplete polynomials can also be used to construct exact sequences, i.e. \(d: \mathcal {P}_{p}\varLambda ^{k}\rightarrow \mathcal {P}_{p-1}\varLambda ^{k+1}\), \(d: \mathcal {P}_{p}\varLambda ^{k}\rightarrow \mathcal {P}_{p}^{-}\varLambda ^{k+1}\), \(d: \mathcal {P}_{p}^{-}\varLambda ^{k}\rightarrow \mathcal {P}_{p-1}\varLambda ^{k+1}\) and \(d: \mathcal {P}_{p}^{-}\varLambda ^{k}\rightarrow \mathcal {P}_{p}^{-}\varLambda ^{k+1}\) all have the same kernel (c.f. [5] Lemma 3.8). Combining with the new complexes investigated in this paper, we have more options to construct differential complexes, for example,

(27)

is also exact on contractible domains.

The dimension count for the local sequences holds for any spatial dimension n. Therefore the results in this paper are promising to be generalised to higher spatial dimensions and on other element geometry (e.g. tensor product elements). From the perspective of local sequences, the results presented above could be considered as a nontrivial generalisation of the systematic constructions in Cockburn and Fu [18].

In 3D, the discrete BGG construction with the new families in this paper will not yield conforming finite elements for elasticity with strongly imposed symmetry. Actually the polynomial shape function spaces and the locality of the degrees of freedom impose a strong constraint in the construction of conforming finite elements. Therefore in the BGG construction, it seems desirable to relax these constraints. Composite elements have been developed in Christiansen and Hu [15] which relaxed the constraint of local polynomials to allow piecewise polynomials. Another approach is to consider nonconforming elements. A 2D sequence with the Morley–Crouzeix–Raviart—DG elements can be found in Brenner [12] and similar results also hold for the Morley–Wang–Xu (MWX) family [43] in higher spatial dimensions.

The new constructions in this paper yield elements with nodal type bases and fewer DoFs. As a result, the structure of the resulting algebraic systems differs from that of the standard vector elements and this provides an opportunity for the construction of well conditioned bases for high order \(H({\text {curl}})\) and \(H({\text {div}})\) elements.

On the other hand, although the number of global DoFs is reduced, the nodal bases lead to denser stiffness and mass matrices. Therefore preconditioning and solvers for the new elements remain an issue to be explored. For Hu–Zhang elements for linear elasticity with nodal bases, auxiliary space preconditioners have been designed and analyzed in [14]. Moreover, classical hybridization techniques for canonical \(H({\text {div}})\) face elements (Raviart–Thomas or BDM elements) cannot be directly applied to the nodal elements (Stenberg or Hu–Zhang type) discussed in this paper.

Furthermore, we hope that the study in this paper could shed some light on the nodal element discretisation for computational electromagnetism.