1 Introduction

Virtual Element Methods (VEM) are a recent technology in Scientific Computing, designed to use decompositions of the computational domain into polygons or polyhedra. As it is well known, the decompositions commonly used by the Finite Element community and in the related commercial codes, so far, have been almost exclusively concentrated on triangles, tetrahedra, quadrilaterals, hexahedra and little more. VEM, instead, are conceived for allowing also complicated geometries, typically polytopes with many faces/edges and complicated shapes. The purpose of the present paper is to show that VEM can also prove to be interesting on simple geometries. Escaping the limit of piecewise polynomial shape functions, VEM can indeed allow more performant local spaces, and could, whenever convenient, be used also on simpler elements, like triangles, quads, and their 3d counterpart. Hence, they could as well be included as useful variants in a Finite Element code.

Indeed, we shall see that even on simple geometries Virtual Elements might come out to be extremely useful, both when used in combination with Finite Elements and when used as an innovative powerful alternative. Throughout the paper we will keep comparing VEM and FEM: we would like to point out, from the very beginning, that this should not be taken as a (rather childish) competition between two very useful instruments. In most cases the main purpose of the comparison with FEM will be to help the reader towards a better understanding of the new instrument (with its pros and cons) just by comparing with an instrument that is already well known, and concentrating on the differences. One should keep in mind that the main original motivation for VEM is to deal with decompositions that are geometrically complicated and not to replace FEM on simpler cases. However, the use of VEM on simple geometries might also prove to be convenient on several occasions.

Actually we shall see that the possibility of adding to the polynomial spaces a few additional non polynomial functions can alleviate many types of troubles and give rise to very interesting alternatives. These additional functions are never computed explicitly, but one can use, in the code, some related quantities (typically, some kinds of projection) that are computable directly out of the degrees of freedom.

As examples of use of VEM on simple geometries that perform easily where FEM pose nontrivial difficulties, in this paper we take: the use of Cp discretizations (for p ≥ 1), the treatment of the incompressibility condition for Fluids and for Elastic Materials, and the mixed (stress-displacement) formulation of linear elasticity problems à la Hellinger Reissner. We will see that the construction of Hs-conforming approximations (for s ≥ 2), the use of perfectly incompressible approximations, as well as the use of symmetric-and hybridizable stress fields come out more easily in the VEM context than in the traditional FEM approaches.

An outline of the paper is as follows. In the next section, we will present the basic ideas of Virtual Element Methods, taking as a first example the simple Poisson problem. We will show how to deal with the non-polynomial functions appearing in the local spaces, how to construct a consistent conforming approximation, and how to stabilize it in order to get a well-posed discrete problem. Next, a sort of Serendipity procedure will be presented for reducing the number of degrees of freedom internal to the elements. We will see that on triangles Serendipity VEM coincide exactly with the usual polynomial approximation, while on quads we have several little variants that might have some interest here and there. Finally, we will present the nonconforming VEM-approximation where some differences between FEM and VEM start to pop out already on triangles.

In Section 3, we will consider the VEM approximation of vector spaces like H(div;Ω) and H(rot;Ω), and in the following Section 4 we will show how the VEM approach can easily help in the construction of C1 elements (to deal, e.g., with plate problems). We shall also see that, in the VEM context, the construction of Cp discretized spaces for p ≥ 2 becomes reasonably feasible, whereas (as is well known) with FEM the construction of C1 spaces poses already several difficulties.

Next, in Section 5 we will deal with the incompressibility problem. The treatment of these problems in the FEM context has been the object of a number of quite interesting papers in the recent years. Here, a general comparison between VEM and FEM becomes nearly unfeasible, since every FEM approach is different and has different features, pros and cons. We took a (questionable) decision: to make the comparison of VEM with some older and well known method (actually the Crouzeix–Raviart: \(\mathbb {P}_{2}\)+bubbles velocities and discontinuous \(\mathbb {P}_{1}\) pressures). This is, in our opinion, justified by our target of helping in understanding VEM, and not fighting for being the best method (whatever that means...). We provide however a rich list of references to the latest, quite interesting, FEM developments.

Finally, in the last Section 6 we deal with the Hellinger–Reissner mixed formulation of linear elasticity. Here, we face a situation quite similar but even worse than that of the previous section, in the presence of a wealth of recent different FEM approaches trying to satisfy, at the same time, a number of important requests (stability, symmetry of the stress tensor, possible hybridization, etc.). Here too we decided to compare the VEM approach with one of the best known FEM approach (the Arnold–Awanou–Winther element), although the most similar FEM approach would have been the one by Guzman–Neilan in [38], that however would have required a more detailed description.

1.1 Notation

Throughout the paper, if k is an integer ≥ 0, \(\mathbb {P}_{k}\) will denote the space of polynomials of degree ≤ k. In \(\mathbb {R}^{d}\) its dimension πk,d is given by:

$$ \pi_{k,1}=k+1,\qquad\pi_{k,2}=(k+1)(k+2)/2, \qquad\pi_{k,3}=(k+1)(k+2)(k+3)/6. $$

As usual, \(\mathbb {P}_{-1}=\{0\}\). When no confusion can occur, we will use the simpler πk.

Next, for a domain \(\mathcal {O}\) we will denote by \({\Pi }^{0,\mathcal {O}}_{k}\) (or simply by \({{\Pi }^{0}_{k}}\) when no confusion can occur) the \(L^{2}(\mathcal {O})\)-orthogonal projection operator onto \(\mathbb {P}_{k}(\mathcal {O})\), defined, as usual, for every \(v\in L^{2}(\mathcal {O})\), by

$$ {\Pi}_{k}^{0,\mathcal{O}}(v)\in \mathbb{P}_{k}(\mathcal{O})\quad\text{ and }\quad {\int}_{\mathcal{O}}\left( v-{\Pi}^{0,\mathcal{O}}_{k}(v)\right)q_{k}\mathrm{d}\mathcal{O}=0\quad \forall q_{k} \in \mathbb{P}_{k}(\mathcal{O}). $$

For s integer ≥ 1 we define also

$$ \widehat{\mathbb{P}}_{s}(\mathcal{O}) := \left\{q_{s}\in\mathbb{P}_{s}\text{ such that }{\int}_{\mathcal{O}}q_{s}\mathrm{d}\mathcal{O}=0\right\}. $$

and assuming the origin to be in the barycenter of \(\mathcal {O}\):

$$ \mathbb{P}^{hom}_{s}(\mathcal{O}):=\{\text{homogeneous polynomials of degree }s\}. $$

Moreover, given a function \(\psi \in L^{2}(\mathcal {O})\) and an integer s ≥ 0, we recall that the moments of orders of ψ on \(\mathcal {O}\) are defined as:

$$ {\int}_{\mathcal{O}}\psi q_{s} \mathrm{d}\mathcal{O}\qquad\text{ for }q_{s}\in \mathbb{P}_{s}(\mathcal{O}). $$

Hence, to assign the moments of ψ up to the order s on \(\mathcal {O}\) will amount to πs conditions. Typically this will be used when these moments are considered as degrees of freedom. Then, we will take in \(\mathbb {P}_{s}\) a basis {qi} such that \(\|q_{i}\|_{L^{1}} \simeq 1\).

We recall that, in two dimensions, the curl operator has two aspects (as grad and div) given by

$$ \text{rot}(v_{1},v_{2}):=\partial_{x} v_{2}-\partial_{y} v_{1},\qquad\mathbf{rot}(\varphi):=(\partial_{y}\varphi,-\partial_{x}\varphi). $$

Finally, for a vector v = (v1,v2) we indicate by v the vector v = (v2,−v1).

Throughout the paper we will follow the common notation for scalar products, norms, and seminorms. In particular, \((v,w)_{0,\mathcal {O}}\) (sometimes, just (v,w)0) and \(\|v\|_{0,\mathcal {O}}\) (sometimes, just ∥v0) will denote the \(L^{2}(\mathcal {O})\) scalar product and norm, whereas \(|v|_{1,\mathcal {O}}\) (sometimes, just |v|1) and \(\|v\|_{1,\mathcal {O}}\) (sometimes, just ∥v1) will denote the H1 semi-norm and norm.

Finally, we point out that throughout the paper, as common in the VEM literature, we will consider that the same geometrical entity (say, a triangle) might be considered as a polygon (for instance, a quadrilateral or a pentagon, hexagon, etc.) according to the number of points on its boundary that we consider as vertices (and, as natural, considering as edge the portion of boundary in between two consecutive vertices, in the usual counterclockwise ordering. See Fig. 1. This feature can be extremely helpful for example when doing adaptive mesh refinement (see the leftmost case in Fig. 1).

Fig. 1
figure 1

Each of the three above polygons is considered as a hexagon

2 H 1 Approximations

Let us consider a second order linear elliptic problem, with variational formulation

$$ \text{find } u\in V \text{ such that } a(u,v)=\langle f,v\rangle \quad \forall v \in V. $$
(1)

To fix ideas one may think of the usual toy problem −Δu = f in Ω, u = 0 on Ω, with \({\Omega }\subset \mathbb {R}^{2}\) a polygonal domain, fL2(Ω), and \(V={H}_{0}^{1}({\Omega })\), although what follows applies to more general operators. Problem (1) is then

$$ \text{find } u\in V={H}_{0}^{1}({\Omega}) \text{ such that } {\int}_{{\Omega}}\nabla u \cdot \nabla v \mathrm{d}x={\int}_{{\Omega}}fv \mathrm{d}x \quad \forall v \in V. $$

Let \(\mathcal {T}_{h}\) be a decomposition of Ω into polygons \(\mathcal {P}\), and let VhV be a finite dimensional subspace. We can write the discrete problem as

$$ \text{find } u_{h}\in V_{h} \text{ such that } a_{h}(u_{h},v_{h})=\langle f_{h},v_{h}\rangle \quad \forall v_{h} \in V_{h}, $$
(2)

and we have to define Vh, ah(⋅,⋅), and fh in such a way that problem (2) has a unique solution and optimal error estimates hold. In the next subsection we will recall the original approach of [15] and indicate the general path of Virtual Element approximations.

2.1 Original Virtual Element Approximation

We first recall the definition of the discrete spaces from [15]. Let \(\mathcal {P}\) be a generic polygon in \(\mathcal {T}_{h}\). For k ≥ 1 we define

$$ V_{k}(\mathcal{P}):= \left\{v\in C^{0}\left( \overline{\mathcal{P}}\right):~ v_{|e} \in \mathbb{P}_{k}(e) ~\forall \text{ edge }e\subset \partial \mathcal{P},~{\Delta} v \in \mathbb{P}_{k-2}(\mathcal{P})\right\}, $$
(3)

with the degrees of freedom given by

$$ \begin{array}{@{}rcl@{}} &&(D_{1}): \text{ the values of } v \text{ at the vertices},\\ &&(D_{2}): \text{ for } k\ge 2 \text{ the moments } {\int}_{e} v p_{k-2} \mathrm{d}s ~~\forall p_{k-2}\in \mathbb{P}_{k-2}(e)\quad\forall \text{ edge } e, \\ &&(D_{3}): \text{ for } k\ge 2 \text{ the moments } {\int}_{\mathcal{P}}v p_{k-2} \mathrm{d}x ~~\forall p_{k-2}\in \mathbb{P}_{k-2}(\mathcal{P}). \end{array} $$
(4)

Instead of the moments D2 one could use the values at k − 1 distinct points on each edge, more in the spirit of FEM:

$$ \left( {D}_{2}^{\prime}\right): \text{ the value of } v \text{ at } k-1 \text{ distinct points on each edge } e. $$

The global space is then defined as

$$ V_{h}:=\{v\in V:~v_{|\mathcal{P}}\in V_{k}(\mathcal{P})~~\forall \mathcal{P}\in \mathcal{T}_{h}\} . $$
(5)

It can be shown ([15]) that out of the dofs (4) we can compute on each element \(\mathcal {P}\) the operator \({\Pi }_{k}^{\nabla }: V_{k}(\mathcal {P})~\rightarrow ~\mathbb {P}_{k}(\mathcal {P})\) defined by

$$ {\int}_{\mathcal{P}}\nabla\left( {\Pi}_{k}^{\nabla} v-v\right)\cdot \nabla q_{k} \mathrm{d}x =0 \quad \forall q_{k}\in \mathbb{P}_{k},\qquad {\int}_{\partial \mathcal{P}}\left( {\Pi}_{k}^{\nabla} v-v\right)\mathrm{d}s =0. $$
(6)

Then, a discrete bilinear form is constructed, on each element \(\mathcal {P}\), as

$$ {a}_{h}^{\mathcal{P}}(v_{h},w_{h}) := a^{\mathcal{P}}\left( {\Pi}_{k}^{\nabla} v_{h},{\Pi}_{k}^{\nabla} w_{h}\right) + S^{\mathcal{P}}\left( \left( I-{\Pi}_{k}^{\nabla}\right)v_{h}, \left( I-{\Pi}_{k}^{\nabla}\right)w_{h}\right) v_{h},\quad w_{h} \in V_{h}, $$
(7)

where \(S^{\mathcal {P}}\) is any symmetric bilinear form that scales like \(a^{\mathcal {P}}(\cdot ,\cdot )\). There are various recipes for \(S^{\mathcal {P}}\), the most commonly used being the so-called dofi-dofi:

$$ S^{\mathcal{P}}(v_{h},w_{h}):=\sum\limits_{i=1}^{\#dofs} dof_{i}(v_{h}) dof_{i}(w_{h}). $$
(8)

We can also define a right-hand side fh directly computable from the degrees of freedom (D1)–(D3). Denoting by \(V_{1},\dots ,V_{n}\) the vertices of \(\mathcal {P}\)) we set:

$$ \begin{array}{@{}rcl@{}} \langle f_{h},v_{h}\rangle_{\mathcal{P}} = \left\{\begin{array}{ll} \text{for }k=1 \quad &{\int}_{\mathcal{P}} {{\Pi}^{0}_{0}} f \overline{v}_{h}\mathrm{d}x~\text{ with }\overline{v}_{h}=\frac{{\sum}_{i} v_{h}(V_{i})}{n},\\ \text{for }k\ge 2 \quad &{\int}_{\mathcal{P}}{\Pi}^{0}_{k-2}f v_{h} \mathrm{d}x. \end{array} \right. \end{array} $$
(9)

The global bilinear form and right-hand side are defined, as in FEM, by summing over the elements of \(\mathcal {T}_{h}\):

$$ a_{h}(v_{h},w_{h})=\underset{\mathcal{P}\in\mathcal{T}_{h}}{\sum} {a}_{h}^{\mathcal{P}}(v_{h},w_{h}), \qquad \langle f_{h},v_{h}\rangle = \underset{\mathcal{P}\in\mathcal{T}_{h}}{\sum} \langle f_{h},v_{h}\rangle_{\mathcal{P}}. $$

With these choices (and mild assumptions on the mesh) it has been proved that problem (2) has a unique solution, and optimal estimates hold

$$ \|u - u_{h}\|_{V} \le C h^{k} |u|_{k+1}. $$

Figures 2 and 3 show a comparison between FEM and VEM on triangles and quads.

Fig. 2
figure 2

Triangles: d.o.f.s for FEM and original VEM

Fig. 3
figure 3

Quads: d.o.f.s for FEM and original VEM

From Fig. 2 we see that triangular VEM have more degrees of freedom than FEM for k ≥ 2. Looking for simplicity at the case k = 2 we point out that the additional degree of freedom in the VEM space corresponds to the function β2 defined by:

$$ \beta_{2}=0~\text{ on }\partial\mathcal{P},\quad \text{ and }\quad {\Delta}\beta_{2} =1~\text{ in }\mathcal{P} $$
(10)

that, clearly, is not in \(\mathbb {P}_{2}\).

Instead, from Fig. 3 we see that for quads VEM have less degrees of freedom for k ≥ 3: indeed, the number of internal d.o.f.s for FEM equals the dimension of \(\mathbb {Q}_{k-2}\), i.e. (k − 1)2, while that of VEM is equal to the dimension of \(\mathbb {P}_{k-2}\), given by k(k − 1)/2. We also underline that, as it can be seen in Figs. 23, the internal dofs for VEM do not change with the element shape; what changes when going from a triangle to a quad or to a generic polygon is just the number of edge-dofs, which depends on the number of edges.

2.2 Enhanced and Serendipity Virtual Elements

Following [1] and [17], in order to eliminate as many internal dofs as possible, and, at the same time, to allow the computation of all the moments of order ≤ k, we first define the local space

$$ \widetilde{V}^{S}_{k}(\mathcal{P}):= \{v\in C^{0}(\overline{\mathcal{P}}) :~ v_{|e} \in \mathbb{P}_{k}(e) ~\forall e \subset \partial \mathcal{P},~{\Delta} v \in \mathbb{P}_{k}(\mathcal{P})\}, $$
(11)

with the degrees of freedom

$$ (D_{1})\text{--}(D_{2}) \quad \text{plus the moments of order up to } k: {\int}_{\mathcal{P}}v p_{k} \mathrm{d}x\quad \forall p_{k}\in \mathbb{P}_{k}(\mathcal{P}). $$

Clearly the space (11) is bigger than (3), apparently in contradiction with our first aim, but now the L2-orthogonal projection onto \(\mathbb {P}_{k}\) is directly available from the internal dofs. Then we begin by defining locally an operator \({\Pi }_{k}: H^{1}(\mathcal {P})~\rightarrow ~\mathbb {P}_{k}(\mathcal {P})\) as follows:

$$ {\Pi}_{k} v \in \mathbb{P}_{k}(\mathcal{P}):~{\int}_{\partial \mathcal{P}}({\Pi}_{k} v-v)q_{k} \mathrm{d}s=0\quad\forall q_{k}\in\mathbb{P}_{k}(\mathcal{P}). $$
(12)

Clearly, system (12) has a unique solution unless \(\mathbb {P}_{k}\) contains polynomials that are identically zero on the boundary, i.e., unless \(\mathbb {P}_{k}\) contains bubbles. This happens for k ≥ 3 on triangles (b3 = product of the equations of the three edges) and for k ≥ 4 on “true” quads (b4 = product of the equations of the four edges). In these cases we need to add internal conditions, namely:

$$ \underbrace{{\int}_{\mathcal{P}} ({\Pi}_{k} v-v) q_{s}\mathrm{d}x=0~~\forall q_{s}\in \mathbb{P}_{k-3}}_{\text{on triangles}} \quad \text{ or }\quad\underbrace{{\int}_{\mathcal{P}} ({\Pi}_{k} v-v) q_{s}\mathrm{d}x=0~~\forall q_{s}\in \mathbb{P}_{k-4},}_{\text{on quads}} $$
(13)

and then solve the system (12)–(13) in the least-squares sense. Once the polynomial πkv has been computed, we define the new space by “copying” its moments. Namely, setting N = maximum degree of internal moments used to define πk:

$$ {V}_{k}^{S}(\mathcal{P}) := \left\{v \in \widetilde{V}^{S}_{k}(\mathcal{P})~ \text{ s.t. }{\int}_{\mathcal{P}} v p_{s} \mathrm{d}x = {\int}_{\mathcal{P}} {\Pi}_{k} v p_{s}\mathrm{d}x ~~\forall p_{s}\in\mathbb{P}^{hom}_{s},~ N < s\le k\right\} $$
(14)

Figure 4 shows that on triangles serendipity VEM have the same number of dofs as FEM (and actually the two spaces coincide), while Fig. 5 compares the dofs of serendipity VEM and FEM (see [3]). The number is the same, although serendipity FEM are known to suffer from distorsion (see [6]), while VEM do not, as shown in [17].

Fig. 4
figure 4

Triangles: dofs for serendipity VEM

Fig. 5
figure 5

Quads: dofs for serendipity FEM and VEM

A typical variant of this procedure can be identified in the original enhancement trick as designed first in [1]. For a given integer δk − 2 one considers the space

$$ \widetilde{V}^{E}_{\delta}(\mathcal{P}):= \{v\in C^{0}\left( \overline{\mathcal{P}}\right) :~ v_{|e} \in \mathbb{P}_{k}(e) ~\forall e\subset \partial \mathcal{P},~{\Delta} v \in \mathbb{P}_{\delta}(\mathcal{P})\}, $$

with the degrees of freedom

$$ (D_{1})\text{--}(D_{2}) \quad \text{plus the moments of order up to } \delta: {\int}_{\mathcal{P}}v p_{\delta} \mathrm{d}x \quad\forall p_{\delta}\in \mathbb{P}_{\delta}(\mathcal{P}). $$

Then, using the boundary dofs and the moments up to k − 2, we construct the \({\Pi }^{\nabla }_{k}\) operator as in (6), and use it (mimicking (14), with \({\Pi }^{\nabla }_{k}\) instead of πk) to define the moments of v of all orders between k − 1 and δ. Thus, the new space is

$$ {V}_{k}^{E}(\mathcal{P}):= \left\{v \in \widetilde{V}^{E}_{\delta}(\mathcal{P})~ \text{ s.t. }{\int}_{\mathcal{P}} v p_{s} \mathrm{d}x = {\int}_{\mathcal{P}} {\Pi}_{k}^{\nabla} v p_{s}\mathrm{d}x ~~\forall p_{s}\in\mathbb{P}^{hom}_{s},~ k-1\le s\le \delta\right\}. $$
(15)

Remark 1

The advantage of the enhancement trick is that it can always be done, for every polygon \(\mathcal {P}\), without recurring to a least-squares solution. On the other hand, the Serendipity approach becomes more and more powerful when the number of non-aligned edges of \(\mathcal {P}\) increases. For instance, on a decomposition made by non degenerate hexagons, the Serendipity VEM spaces of order k will have no internal degrees of freedom whenever k ≤ 5. This of course will not be true for degenerate polygons, as for instance, in Fig. 1, for the leftmost example, where the first bubble appears for k = 3, and for the rightmost one, where the first bubble will appears for k = 5.

Remark 2

Serendipity FEM were introduced on quadrilaterals in order to reduce the number of internal degrees of freedom, and avoid the need for higher order numerical integration schemes. For VEM, as we have seen, Serendipity elements are also convenient on triangles. But, in spite of the fact that we use the name “Serendipity” for both VEM and FEM, the spirit of the procedure is rather different from one case to the other. In the FEM context, the Serendipity approach is usually performed by: i) choosing the degrees of freedom that one wants to eliminate (typically, one or more internal node), and ii) choosing, accordingly (in general, kicking out one or more monomials), a polynomial subspace where the new, reduced set of degrees of freedom, is unisolvent. See for instance the classical [54] and the references therein, as well as the more evolved [3]. Instead in Serendipity VEM, as we have seen, we look first for a projector, onto the space of polynomials, that can be computed using a smaller number of degrees of freedom. Then we restrict ourselves to the subspace (of the original VEM space) where the values to be assigned to the other degrees of freedom (not used in constructing the projector) are taken from the values of the projector. See again [17].

Remark 3

One might argue that static condensation could be a simpler procedure to reduce the internal degrees of freedom. This is true in two dimensional problems, but it is not anymore the case for three dimensional problems, where the reduction of dofs on faces is important. Static condensation on faces might turn into a nightmare, while the serendipity approach works very well.

2.3 Non-conforming Virtual Elements

Another typical Finite Element variant of Galerkin approximations is given by the so-called Nonconforming methods, where the inclusion VhH1(Ω) does not hold anymore, and the continuity across interelement boundaries is required only in a weak sense (typically, on each edge the average and the moments up to the order k − 1, where k is, as before, the order of the polynomials that we want to be included). See e.g. [29] and the references therein.

We just try to give the flavor of the Nonconforming Virtual Elements, referring for instance to [2, 12, 48, 53]. The local space is:

$$ {V}_{k}^{NC}(\mathcal{P}):= \left\{v\in H^{1}(\mathcal{P}):~ \frac{\partial v}{\partial n}_{|e} \in \mathbb{P}_{k-1}(e)~\forall \text{ edge } e,~{\Delta} v \in \mathbb{P}_{k-2}(\mathcal{P})~\forall \mathcal{P}\right\}. $$

Before introducing the global space we need some notation. We introduce the space \(H^{1}(\mathcal {T}_{h})={\prod }_{\mathcal {P}\in \mathcal {T}_{h}} H^{1}(\mathcal {P})\), and for \(\varphi \in H^{1}(\mathcal {T}_{h})\) we denote by [ [φ] ] its jump on internal edges \(e\in \mathcal {T}_{h}\). Then, the natural counterpart of (5), for k ≥ 1 is now

$$ \begin{array}{@{}rcl@{}} {V}_{h}^{NC}&:= &\left\{v\in H^{1}(\mathcal{T}_{h}) :~v_{|\mathcal{P}}\in {V}_{k}^{NC}(\mathcal{P}) ~\forall \mathcal{P}, \right.\\ &&{\int}_{e} [\![v]\!] p_{k-1} \mathrm{d}s=0 ~\forall \text{ internal edge }e,~\forall p_{k-1}\in \mathbb{P}_{k-1}(e),\\ &&\left.{\int}_{e} v p_{k-1} \mathrm{d}s=0~\forall e \text{ on } \partial {\Omega}, ~\forall p_{k-1}\in \mathbb{P}_{k-1}(e)\right\}. \end{array} $$

The degrees of freedom are given by

$$ \begin{array}{@{}rcl@{}} &&\left( {D}_{1}^{\prime}\right): \text{ the moments } {\int}_{e} v p_{k-1} \mathrm{d}s ~\forall p_{k-1}\in \mathbb{P}_{k-1}(e) \quad\forall e,\\ &&\left( {D}_{2}^{\prime}\right): \text{ for } k\ge 2 \text{ the moments } {\int}_{\mathcal{P}}v p_{k-2} \mathrm{d}x \quad\forall p_{k-2}\in \mathbb{P}_{k-2}(\mathcal{P}). \end{array} $$

It is not difficult to see that these are indeed a set of degrees of freedom for \({V}_{h}^{NC}\). It is also easy to see that, using them, for every \(v\in {V}_{h}^{NC}\) and for each polygon \(\mathcal {P}\) we can compute its ∇-projection \({\Pi }^{\nabla }_{k} v\) defined as in (6). Using the \({\Pi }^{\nabla }_{k}\) operator as in (7) one can now construct the local as well as the global approximate bilinear form ah. Then, basically, we deal with them as with usual nonconforming Finite Elements.

Just to give an idea of the possible comparison between nonconforming FEM and VEM, we consider the case of k = 2 on triangles. Both for FEM and VEM we take first as boundary degrees of freedom the moments, on each edge, of order ≤ 1. But on triangles (and on quadrilaterals as well), since k = 2 is even, FEM also need an additional degree of freedom inside; indeed the six values at the 3 × 2 Gauss points do not identify a polynomial of degree ≤ 2 on the triangle in a unique way (take an ellipses through the six points and you get a p2≠ 0 that vanishes at all six points). VEM are not better off, since their internal degree of freedom cannot be eliminated through some sort of Serendipity trick, (exactly for the same reason: there is a p2 that is orthogonal, on each edge, to all linear and to all constant functions). The typical escape for FEM is to add a seventh polynomial (see e.g. [33]): referring to Fig. 6, indicating with λA, λB, and λC the usual barycentric coordinates, we add

$$ \zeta:=\lambda_{A}\lambda_{B} (\lambda_{A}-\lambda_{B}) +\lambda_{B}\lambda_{C} (\lambda_{B}-\lambda_{C})+\lambda_{C}\lambda_{A} (\lambda_{C}-\lambda_{A}) $$
(16)

and take the mean value on \(\mathcal {P}\) as seventh degree of freedom.

Fig. 6
figure 6

Toward Nonconforming VEM

When using VEM we already have seven functions and the distinction between kodd or k even is not necessary. In some sense, the nonconforming VEM are already happy as they are, no matter whether k is even or odd. The difference is that for k even we could not play some smart Serendipity trick in order to get rid of some internal degrees of freedom, while this would be allowed for k odd. In the case k = 2 we see that the VEM space obviously contains all polynomials of degree ≤ 2. The additional (non polynomial) element could be thought of as being generated by adding to the space \(\mathbb {P}_{2}\) one function. For instance we can choose the VEM function, say χ(x,y), that, with the notation of Fig. 6, could be identified by the following conditions:

$$ \begin{array}{@{}rcl@{}} &&{\int}_{\mathcal{P}} \chi \mathrm{d}x = 0, \qquad {\int}_{e} \chi \mathrm{d}s=0\quad\forall\text{ edge } e,\\ &&\frac{1}{|e_{a}|}{\int}_{e_{a}} \chi q_{a}\mathrm{d}s = \frac{1}{|e_{b}|}{\int}_{e_{b}} \chi q_{b}\mathrm{d}s=\frac{1}{|e_{c}|}{\int}_{e_{c}} \chi q_{c}\mathrm{d}s=1, \end{array} $$

where: the edge ea, with length |ea|, is opposite to the vertex A, and qa is the polynomial of degree 1 such that qa(a1) = 1 and qa(a2) = − 1 (and similar notation for the edges eb and ec). We point out that on the boundary of our triangle the function χ cannot be the trace of a polynomial of degree ≤ 2. Indeed, it is easy to check that every \(v\in \mathbb {P}_{2}\) verifies

$$ \frac{1}{|e_{a}|}{\int}_{e_{a}} v q_{a}\mathrm{d}s + \frac{1}{|e_{b}|}{\int}_{e_{b}} vq_{b}\mathrm{d}s + \frac{1}{|e_{c}|}{\int}_{e_{c}} vq_{c}\mathrm{d}s=0. $$

On the boundary the behaviour of χ is quite similar to that of ζ given in (16), but the normal derivative of χ is on each edge a polynomial of degree 1 (and not 2 as ζ) and (most important) Δχ is constant (instead of linear): a feature that might turn out to be convenient in certain problems where some equilibrium or conservation properties could be enforced strongly and not “only on average”.

2.4 Conforming VEM in 3 Dimensions

Let \(\mathcal {P}\) be a polyhedron, and let f be a face. We begin by defining the space

$$ V_{k}(\mathcal{P}):=\left\{v\in C^{0}(\overline{\mathcal{P}}): v_{|f}\in V_{k}(f)~\forall f\subset \partial \mathcal{P}, ~{\Delta} v \in \mathbb{P}_{k-2}(\mathcal{P})\right\}, $$

where Vk(f) is the space defined in (3). The degrees of freedom will be

$$ \begin{array}{@{}rcl@{}} &&(D_{1}): \text{ the values of } v \text{ at the vertices},\\ &&(D_{2}): \text{ for } k\ge 2 \text{ the moments } {\int}_{e} v p_{k-2} \mathrm{d}s~~\forall p_{k-2}\in \mathbb{P}_{k-2}(e)\qquad\forall \text{ edge } e, \\ &&(D_{3}): \text{ for } k\ge 2 \text{ the moments } {\int}_{f}v p_{k-2} \mathrm{d}x~~\forall p_{k-2}\in \mathbb{P}_{k-2}(f)\qquad\forall \text{ face } f,\\ &&(D_{4}): \text{ for } k\ge 2 \text{ the moments } {\int}_{\mathcal{P}}v p_{k-2} \mathrm{d}x~~\forall p_{k-2}\in \mathbb{P}_{k-2}(\mathcal{P}). \end{array} $$
(17)

Proceeding as we did before, the next step is to compute the \({\Pi }_{k}^{\nabla }\) operator as in (6). To this end, integrating by parts we obtain

$$ {\int}_{\mathcal{P}}\nabla{\Pi}_{k}^{\nabla} v \cdot \nabla q_{k} := {\int}_{\mathcal{P}}\nabla v\cdot \nabla q_{k} = -{\int}_{\mathcal{P}} v {\Delta} q_{k} + \underset{f\in \partial \mathcal{P}}{\sum} {\int}_{f} v \frac{\partial q_{k}}{\partial n}, $$

and we realize that the integrals on faces cannot be computed out of the dofs (17). Indeed, we would need moments of order k − 1 and not just k − 2. We then use the enhanced procedure explained in Section 2.2 (see (15)), and define the new space

$$ \widetilde{V}_{k}(\mathcal{P}):=\left\{v\in C^{0}\left( \overline{\mathcal{P}}\right): v_{|f}\in {V}_{k}^{E}(f)~\forall f\subset \partial \mathcal{P}, ~{\Delta} v \in \mathbb{P}_{k-2}(\mathcal{P})\right\}. $$

We point out that the serendipity approach could be used on faces to reduce the number of dofs. We refer to [17] for details.

3 H(div) and H(rot) Conforming FEM/VEM on Triangles

3.1 FEM for H(div;Ω) and H(rot;Ω) Spaces

Similarly to what we did for VEM discretizations of H1 we can now present the VEM discretizations of vector-valued spaces H(div;Ω) and H(rot;Ω). We recall that in Finite Elements we have, essentially, two families of spaces for H(div;Ω) that go under the name of Raviart–Thomas [51] and Brezzi–Douglas–Marini [21] (in short: RT and BDM), and two families of spaces for H(rot;Ω) that go under the name of Nédélec of first kind [49] and Nédélec of second kind [50] (in short: N1 and N2). We recall them here below, for triangular elements: For k integer

$$ RT_{k} :=\left\{(\mathbb{P}_{k})^{2}+\mathbf{x} \mathbb{P}_{k}\right\},\qquad N1_{k} :=\left\{(\mathbb{P}_{k})^{2}+\mathbf{x}^{\perp} \mathbb{P}_{k}\right\},\quad k\ge 0 $$

and

$$ BDM_{k}\equiv N2_{k} :=(\mathbb{P}_{k})^{2}, \quad k\ge 1. $$

The boundary degrees of freedom are, for all edge e:

$$ \begin{array}{@{}rcl@{}} &&{\int}_{e} \mathbf{v} \cdot \mathbf{n} q_{k}\mathrm{d}s~~\forall q_{k}\in \mathbb{P}_{k}(e) \quad \text{for }RT_{k} \text{ and }BDM_{k},\\ &&{\int}_{e} \mathbf{v} \cdot \mathbf{t} q_{k}\mathrm{d}s~~\forall q_{k}\in\mathbb{P}_{k}(e) \quad \text{for }N1_{k} \text{ and }N2_{k}. \end{array} $$

The internal degrees of freedom are, for k ≥ 1 and for all triangles T,

$$ \text{For } RT_{k}: {\int}_{T}\mathbf{v} \cdot \mathbf{q}\mathrm{d}x~~\forall \mathbf{q}\in BDM_{k-1}\quad \text{ and for } BDM_{k}: {\int}_{T}\mathbf{v} \cdot \mathbf{q}\mathrm{d}x~~\forall \mathbf{q}\in N1_{k-2} $$
(18)

as well as

$$ \text{For } N1_{k}: {\int}_{T}\mathbf{v} \cdot \mathbf{q} \mathrm{d}x~~\forall \mathbf{q}\in N2_{k-1}\quad \text{ and for } N2_{k}: {\int}_{T}\mathbf{v} \cdot \mathbf{q}\mathrm{d}x~~\forall \mathbf{q}\in RT_{k-2}. $$
(19)

Clearly, for k = 1 both RTk− 2 and N1k− 2 are empty, and the corresponding dofs (in (18) and in (19), respectively) are not there.

For the three-dimensional case, as well as for the case of quadrilaterals and hexahedra, where, however, the definitions are less straightforward, we refer for instance to [20,21,22,23] or to [4].

Moreover, for the two dimensional case on triangles, we remark the perfect symmetry between the H(div;T) and the H(rot;T) case: changing n with t as well as grad with rot and div with rot. Hence, from now on, in this section we will restrain ourselves to the case of \(H(\text {div};\mathcal {P})\) spaces on triangles (Fig. 7).

Fig. 7
figure 7

Face FEM, k = 1 and k = 2

3.2 VEM \(H(\text {div};\mathcal {P})\) Spaces on Triangles

Here too we still have to distinguish between RT-like and BDM-like spaces: roughly speaking, for vn a polynomial of order k on the boundary, we will have spaces having the divergence in \(\mathbb {P}_{k}\) (the RT case, for k ≥ 0) and spaces having the divergence in \(\mathbb {P}_{k-1}\) (the BDM case, for k ≥ 1). We refer to [22] and [16] for more details.

On a (general) polygon \(\mathcal {P}\), for k = degree of vn on each edge, and δ = degree of the divergence (equal to k or k − 1) we set

$$ \begin{array}{@{}rcl@{}} V_{k,\delta}(\mathcal{P}) &:=& \left\{\mathbf{v}\in H(\text{div}:\mathcal{P})\cap H(\text{rot}:\mathcal{P})~\text{ s.t. }~\mathbf{v} \cdot \mathbf{n}_{|e} \in \mathbb{P}_{k}(e)~\forall e,\right.\\ &&\left.\text{div} \mathbf{v} \in \mathbb{P}_{\delta}(\mathcal{P}),~\text{rot} \mathbf{v} \in \mathbb{P}_{k-1}(\mathcal{P})\right\}. \end{array} $$

The degrees of freedom in \(V_{k,\delta }(\mathcal {P})\) are

$$ \begin{array}{@{}rcl@{}} \bullet~(D_{1}) &&{\int}_{e} \mathbf{v} \cdot \mathbf{n}q_{k} \mathrm{d}s\qquad\forall q_{k}\in \mathbb{P}_{k}(e) \quad \forall \text{ edge } e \text{ in } \partial\mathcal{P},\\ \bullet~(D_{2}) &&(\text{ for } k>0 \text{ and } \delta>0) {\int}_{\mathcal{P}}\mathbf{v} \cdot \mathbf{grad} q_{\delta} \mathrm{d}x\qquad\forall q_{\delta}\in \mathbb{P}_{\delta}(\mathcal{P}),\\ \bullet~(D_{3})&&(\text{ for } k>0) {\int}_{\mathcal{P}} \text{rot} \mathbf{v} q_{k-1}\mathrm{d}x\qquad\forall q_{k-1}\in \mathbb{P}_{k-1}(\mathcal{P}). \end{array} $$

See Fig. 8 where the blue d.o.f.s are common to FEM and VEM, and the green ones are the additional dofs needed for VEM.

Fig. 8
figure 8

Face VEM k = 1 and k = 2

A comparison with FEM shows that, as in the scalar case, VEM exhibit more internal dofs: one more for k = 1 (the green bullet), and three more for k = 2. As we did for scalar approximations (see (14) and (15)), they could be eliminated by the enhancement or by the serendipity approaches. See e.g. [18].

Considering again the simplest case, here k = 1, we see that the additional degree of freedom corresponds to the addition (to the FEM space BDM1 or RT1) of rotβ2, where β2 is the function defined in (10). For k = 2, at first sight we could think that we are adding, to the FEM space, the rot of the three functions β3 such that β3 = 0 on \(\partial \mathcal {P}\) and \({\Delta }\beta _{3}\in \mathbb {P}_{1}\). There are three independent ones, but on a triangular domain one of them is the cubic bubble, whose rot is already in the BDM2 space as well as in the RT2 space. Hence, we are just adding two new ones to the FEM case (see the green dots in Fig. 8).

Here too, we point out that for VEM the passage from triangles to quadrilaterals (of very general shape) is immediate (as well as the passage to more general polygons), while the FEM spaces, already for quadrilaterals, and more on hexahedra, require a considerable additional work. See for instance [8] and the references therein.

4 C p VEM for p ≥ 1

With Virtual Elements it is quite easy to construct high-regularity approximations. Here we shall deal mostly with C1 approximations, having in mind, as an example of fourth order problem, a plate bending problem:

$$ D {\Delta}^{2} w = f ~\text{ in } {\Omega}, \qquad w=\frac{\partial w}{\partial n}~\text{ on }\partial {\Omega}, $$

where D is the bending rigidity. The variational formulation looks like (1), with \(V={H}_{0}^{2}({\Omega })\), and

$$ a(v,w)=D\left[(1-\nu){\int}_{{\Omega}}w_{/ij}v_{/ij} \mathrm{d}x + \nu {\int}_{{\Omega}}{\Delta} w {\Delta} v \mathrm{d}x\right], \quad \langle f,v\rangle = {\int}_{{\Omega}} f v \mathrm{d}x. $$
(20)

In (20) ν is the Poisson’s ratio, v/i = v/xi, i = 1,2, and we used the summation convention of repeated indices. Throughout this section w/n will denote the normal derivative, w/t the tangential derivative in the counterclockwise ordering of the boundary, and so on. When no confusion occurs we might also use wn, wt... As we said, we will concentrate on C1 elements. But at the end of this section we will give a hint on Cp elements for p ≥ 2.

4.1 C 1-elements

The possibilities of constructing C1-elements with the VEM approach are almost endless. To fix the ideas we will recall the approach given in [24, 26]. Let \(\mathcal {P}\) be a generic polygon in \(\mathcal {T}_{h}\). For given integers r ≥ 0, s ≥ 0 and m ≥− 1 we consider the space

$$ V_{r,s,m}(\mathcal{P}) := \left\{w \in H^{2}(\mathcal{P}): w_{|e} \in \mathbb{P}_{r}(e) \text{ and } w_{n |e} \in \mathbb{P}_{s}(e) ~\forall \text{ edge } e,~ {\Delta}^{2} w \in \mathbb{P}_{m} \text{ in }\mathcal{P}\right\}. $$
(21)

Clearly, for the above space to have some sense, and for allowing the construction of H2 spaces on the whole domain Ω, we need adding some restriction. In the vertices of the decompositions we will need our spaces to be continuous with their first derivatives. This would require to have as degrees of freedom in each \(\mathcal {P}\)

$$ \bullet~(D_{0}) \text{ the values of } w, w_{/1} \text{ and } w_{/2}\text{ at the vertices}, $$

and in practice this will require, in a natural way, that

$$ r\ge 3,\qquad s\ge 1. $$

Moreover, we would need to have the traces of w and of w/n to be single-valued on edges. This will require to take as additional degrees of freedom

$$ \begin{array}{@{}rcl@{}} &&\bullet~(D_{1}) \text{ for } r\ge 4, \text{ the moments } {\int}_{e} w q_{r-4} \mathrm{d}s~~\forall q_{r-4}\in \mathbb{P}_{r-4}(e), \quad \forall e \in \partial\mathcal{P},\\ &&\bullet~(D_{2})\text{ for } s\ge 2, \text{ the moments }{\int}_{e} w_{/n} q_{s-2} \mathrm{d}x ~~\forall q_{s-2}\in \mathbb{P}_{s-2}(e), \quad \forall e \in\partial\mathcal{P}. \end{array} $$

Finally we will have as internal degrees of freedom

$$ \bullet~(D_{3}) \text{ for } m\ge 0, \text{ the moments } {\int}_{\mathcal{P}} w q_{m}\mathrm{d}x \quad \forall q_{m}\in\mathbb{P}_{m}. $$

The smallest space will then correspond to r = 3, s = 1, m = − 1, and is an extension to polygons of the reduced Hsieh–Clough–Tocher composite triangular element (see for instance, [29]). The VEM space (for a general polygon \(\mathcal {P}\)) will then be

$$ V(\mathcal{P}):=\left\{w\in H^{2}(\mathcal{P}): w_{|e}\in \mathbb{P}_{3}(e),~w_{n|e}\in\mathbb{P}_{1}(e)~\forall \text{ edge } e,\text{ and } {\Delta}^{2} w=0 \text{ in }\mathcal{P}\right\}, $$

whose degrees of freedom are only the values of w and of its two derivatives at the vertices of \(\mathcal {P}\), that is, (D0). See Fig. 9.

Fig. 9
figure 9

C1 VEM, reduced HCT-like

Another example (for r = 3, s = 2, m = − 1) is given in Fig. 10; the corresponding element will have (D0) and (D2) as degrees of freedom and is a sort of VEM counterpart of the original Hsieh–Clough–Tocher composite triangular element (see again [29]).

Fig. 10
figure 10

C1 VEM, HCT-like

In general, the space (21) will contain all polynomials \(\mathbb {P}_{\kappa }\) for

$$ \kappa=\min\{r,s+1,m+4\}\quad (\equiv \text{order of precision}) $$

and out of the degrees of freedom \((D_{0}),\dots ,(D_{3})\), (integrating by parts twice) we can compute an operator \({\Pi }_{\kappa }^{\mathcal {P}}:~ V_{r,s,m}(\mathcal {P})~\longrightarrow ~\mathbb {P}_{\kappa }(\mathcal {P})\) defined on each element by

$$ a^{\mathcal{P}}\left( {\Pi}_{\kappa}^{\mathcal{P}} v-v, q_{\kappa}\right) = 0 \quad \forall q_{\kappa}\in \mathbb{P}_{\kappa}(\mathcal{P}),\qquad {\int}_{\partial \mathcal{P}}\left( {\Pi}_{\kappa}^{\mathcal{P}} v-v\right)q_{1}\mathrm{d}s = 0 \quad \forall q_{1}\in \mathbb{P}_{1}(\mathcal{P}). $$

The discrete bilinear form, for vh and wh in \(V_{r,s,m}(\mathcal {P})\), is then defined as in (7)

$$ a_{h}^{\mathcal{P}}(v_{h},w_{h}) := a^{\mathcal{P}}\left( {\Pi}^{\mathcal{P}}_{\kappa} v_{h},{\Pi}^{\mathcal{P}}_{\kappa} w_{h}\right) + S^{\mathcal{P}}\left( \left( I - {\Pi}^{\mathcal{P}}_{\kappa}\right)v_{h}, \left( I - {\Pi}^{\mathcal{P}}_{\kappa}\right)w_{h}\right) $$

with \(S^{\mathcal {P}}(v_{h},w_{h})\) taken, for instance, as in (8), provided that the dofs (D0)–(D3) are properly treated in order to scale all of them in the same way. For the treatment of the right-hand side and for the error estimates we refer to [24, 26].

Following a similar path, without any effort, and still on general polygons, we can design a huge variety of methods. See, for instance, Fig. 11, corresponding to the case κ = 3 (r = 4, s = 3, m = − 1), where the degrees of freedom are those of Fig. 10 plus the value (at the midpoint of every edge) of w and of w/nt.

Fig. 11
figure 11

C1 VEM, Quartic w and cubic w/n

If one wants to put as many degrees of freedom as possible on vertices (less numerous than edges) one can consider the Argyrys-like elements of Figs. 12 and 13.

Comparing with their FEM analogues, we see that we have here some additional internal degrees of freedom. However, these could be easily eliminated by adapting the Serendipity/Enhancement approach described in Section 2.2 for C0 VEM.

Fig. 12
figure 12

C1 VEM, Quintic w and quartic w/n

Fig. 13
figure 13

C1 VEM, Quintic w and cubic w/n

4.2 A Hint on C p VEM for p ≥ 2

Along the same lines, still for general polygons, we might easily construct Cp elements for p ≥ 2. Just to give an example, we might consider the elements of Fig. 14 (where we also indicate the degrees of freedom).

Fig. 14
figure 14

Examples of C2 elements

In particular, Fig. 14 refers to the local spaces

$$ V(\mathcal{P}):= \left\{v \in H^{3} (\mathcal{P}): v_{|e} \in \mathbb{P}_{5}(e),~v_{n |e} \in \mathbb{P}_{4}(e),~v_{nn |e} \in \mathbb{P}_{3}(e)~\forall e\in \partial\mathcal{P},~{\Delta}^{3} v=0 \text{ in }\mathcal{P}\right\}. $$

Out of the degrees of freedom we can once more compute an operator \({\Pi }^{\mathcal {P}}_{5}: V(\mathcal {P})\rightarrow \mathbb {P}_{5}(\mathcal {P})\) defined by

$$ {\int}_{\mathcal{P}} \left( D^{3}\left( {\Pi}^{\mathcal{P}}_{5} v-v\right)\right) : \left( D^{3} q_{5}\right) \mathrm{d}x = 0 \quad \forall q_{5} \in \mathbb{P}_{5},\quad {\int}_{\partial \mathcal{P}}\left( {\Pi}^{\mathcal{P}}_{5} v-v\right) q_{2}\mathrm{d}s = 0\quad \forall q_{2} \in \mathbb{P}_{2}(\mathcal{P}). $$

The discrete bilinear form is then constructed as before as

$$ {a}_{h}^{\mathcal{P}}(v_{h},w_{h}):=a^{\mathcal{P}}\left( {\Pi}^{\mathcal{P}}_{5} v_{h},{\Pi}^{\mathcal{P}}_{5} w_{h}\right) + S^{\mathcal{P}}\left( \left( I-{\Pi}^{\mathcal{P}}_{5}\right)v_{h}, \left( I-{\Pi}^{\mathcal{P}}_{5}\right)w_{h}\right) \quad v_{h},w_{h}\in V(\mathcal{P}), $$

with \(S^{\mathcal {P}}(v_{h},w_{h})\) taken, for instance, again as in (8).

Remark 4

A family of nonconforming elements for plates was introduced independently in [2, 53], which we refer to for a detailed description.

Remark 5

As a general consideration, we underline the fact that, in particular for two-dimensional cases, the construction of Virtual Element spaces is extremely easy: one should only set the degrees of freedom (for the function and the normal derivatives) on each edge. The edges being one-dimensional, this is elementary.

Remark 6

On the other side, we must also point the attention to the fact that, so far, the choice of a convenient stabilization procedure seems here to be less easy than for other cases. To be more precise: it is not difficult to construct stabilising bilinear forms that make the discrete problem well posed. However, in many cases the guidelines for an optimal choice of the “stabilizing parameters” in front of them, or in front of some individual pieces of them, is far from clear. Just to make an example, the HCT-like element of Fig. 10 can be easily stabilised with, essentially, any of the different strategies used for C0 elements. But this is not the case for its reduced-HCT-like companion of Fig. 9. In each particular case a suitable choice of the stabilising parameter can be (relatively) easily found by trial and error, but... this is not what we like. At a more general level we feel that a novel point of view should be found, allowing the determination of clear guidelines for the choice of stabilising terms. Indeed, in our opinion, this is possibly the weakest point of VEM in general, and all new points of view would be more than welcome!

5 VEM for Stokes and Incompressible Elasticity

5.1 Stokes 2D

We recall (to set the notation) the incompressible Stokes equations for a polygon Ω with homogeneous Dirichlet boundary conditions, and forcing term f ∈ (L2(Ω))2:

Find \(\mathbf {u}\in \left ({H}_{0}^{1}({\Omega })\right )^{2}\) and pL2(Ω) such that:

$$ \begin{array}{@{}rcl@{}} -{\Delta}\mathbf{u}+\nabla p&=&\mathbf{f} \qquad\text{ in } {\Omega},\\ \text{div} \mathbf{u}&=&0\qquad\text{ in }{\Omega}. \end{array} $$
(22)

Setting: \(\mathbf {V}:= \left ({H}_{0}^{1}({\Omega })\right )^{2}\), \(Q:={L}_{0}^{2}({\Omega })\) (= L2 functions with zero mean value), and

$$ a(\mathbf{u},\mathbf{v}):={\int}_{{\Omega}}\boldsymbol{\varepsilon}(\mathbf{u}):\boldsymbol{\varepsilon}(\mathbf{v})\mathrm{d}{\Omega} ~~\forall \mathbf{u},\mathbf{v}\in\mathbf{V}, \qquad b(\mathbf{v},q):={\int}_{{\Omega}}\text{div} \mathbf{v} q\mathrm{d}{\Omega}~~\forall \mathbf{v}\in\mathbf{V},~\forall q\in Q, $$

where ε(v) = (∇v + (∇v)T)/2 is the symmetric gradient, the variational formulation of the problem can be written as: Find uV, pQ such that

$$ \left\{\begin{array}{ll} a(\mathbf{u},\mathbf{v})+ b(\mathbf{v},p) = (\mathbf{f},\mathbf{v})\quad&\forall\mathbf{v}\in \mathbf{V},\\ b(\mathbf{u},q)=0\quad&\forall q\in Q. \end{array} \right. $$
(23)

Remark 7

From a purely mathematical point of view, as it is well known, the equations in (23) coincide, up to the aspects related to the material properties, with the ones of incompressible elasticity in the mixed (u,p). formulation. Hence the title of this section, where, indeed, we will limit ourselves to the discussion of the Stokes case alone.

Remark 8

For the sake of simplicity we will keep the viscosity coefficient equal to 1, and we will stick to the (widely unrealistic) case of homogeneous Dirichlet boundary conditions on the whole boundary Ω, as it is (quite often) done in the Mathematical literature.

Taking a sequence of conforming discretizations of this problem with VhV and QhQ, and suitable approximations ah and bh of the bilinear forms a and b, respectively, one can write the discretized version as: Find uhVh and phQh such that

$$ \left\{ \begin{array}{ll} a_{h}(\mathbf{u}_{h},\mathbf{v}_{h}) + b_{h}(\mathbf{v}_{h},p_{h}) = (\mathbf{f}_{h},\mathbf{v}_{h})\quad&\forall\mathbf{v}_{h}\in \mathbf{V}_{h},\\ b_{h}(\mathbf{u}_{h},q_{h})=0\quad&\forall q_{h}\in Q_{h}, \end{array} \right. $$
(24)

where, in turn, fh is (if needed) a suitable approximation of f. It is well known that convergence of the method with optimal error bounds relies on the inf-sup stability condition

$$ \exists \beta>0 \text{ such that } \underset{q_{h}\in Q_{h}}{\inf} \underset{\mathbf{v}_{h}\in\mathbf{V}_{h}}{\sup} \frac{b(\mathbf{v}_{h},q_{h})}{\|\mathbf{v}_{h}\|_{V} \|q_{h}\|_{Q}}\ge \beta\quad \forall h. $$
(25)

A huge number of different stable pairs pairs (Vh,Qh) satisfying (25) can be found in the FEM literature. We refer, for simplicity, to [20] and the references therein. Once a stable pair has been chosen, one can wonder whether the resulting solution uh would satisfy exactly

$$ \text{div} \mathbf{u}_{h}\equiv 0\quad \text{in }{\Omega}, $$
(26)

a condition that would be of considerable help in the mathematical treatment of the discretized problem, and, most important, would be quite relevant from the physical point of view (ensuring the exact incompressibility of the discrete solution). Clearly this (for conforming approximations) will hold if, in every element \(\mathcal {P}\) of the decomposition, we had that

$$ \left\{\{\mathbf{u}_{h}\in \mathbf{V}_{h}\}\text{ and }\left\{{\int}_{\mathcal{P}}\text{div} \mathbf{u}_{h} q_{h} \mathrm{d} x = 0~\forall q_{h}\in Q_{h}\right\}\right\}\quad \Rightarrow\quad \left\{\text{div} \mathbf{u}_{h}=0 \text{ in }\mathcal{P}\right\}. $$
(27)

A simple (and rather natural) sufficient condition for (27) is clearly

$$ \text{div}\{\mathbf{V}_{h}\}\subseteq Q_{h} $$

that however, joined with (25), would imply

$$ \text{div}\{\mathbf{V}_{h}\}\equiv Q_{h}, $$
(28)

a rather stringent requirement, verified only with very few (and somehow rather cumbersome) choices of discretizations (and in general only for special types of decompositions). Among the many recent papers on Finite Element discretizations of the problem we mention [27, 28, 32, 34, 37,38,39,40,41, 52] and refer especially to the excellent review [47], and to the references therein.

Let us see how to design divergence-free Virtual Elements on practically arbitrary grids. We concentrate on the 2D case, and refer to the results in [19].

For the velocity space we look first at the boundary, and we define, for k ≥ 2 and for a polygon \(\mathcal {P}\), the space

$$ \mathcal{B}_{k}(\partial \mathcal{P}):=\left\{\mathbf{v}\in \left( C^{0}(\partial\mathcal{P})\right)^{2}~\text{ s.t. }~\mathbf{v}_{|e}\in (\mathbb{P}_{k}(e))^{2}~\forall \text{ edge } e \text{ of }\partial\mathcal{P}\right\}. $$
(29)

Clearly, the dimension of \({\mathscr{B}}_{k}(\partial \mathcal {P})\) for a polygon with n edges would be

$$ \dim\mathcal{B}_{k}(\partial \mathcal{P})=2 nk. $$

Then we can define the VEM space for velocities:

$$ \mathcal{V}_{k}(\mathcal{P}):=\left\{\mathbf{v}\in (H^{1}(\mathcal{P}))^{2} \text{ s.t. } \mathbf{v}_{|\partial\mathcal{P}}\in\mathcal{B}_{k}(\partial \mathcal{P}),~\text{rot}({\Delta}\mathbf{v})\in \mathbb{P}_{k-3},~\text{div} \mathbf{v} \in\mathbb{P}_{k-1}\right\}, $$
(30)

while for the pressure we simply take

$$ Q_{k}(\mathcal{P})= \mathbb{P}_{k-1}(\mathcal{P}). $$

The dimension of \(\mathcal {V}_{k}(\mathcal {P})\) is then equal to 2nk (dimension of \({\mathscr{B}}_{k}(\partial \mathcal {P})\)) plus πk− 3, plus πk− 1 − 1 (since, from Gauss theorem, the mean value of the divergence is determined already by the boundary values). Then

$$ \dim\mathcal{V}_{k}(\mathcal{P})=2nk + \frac{(k-2)(k-1)}{2} + \frac{k(k+1)}{2}-1=2nk+k^{2}-k. $$

Accordingly, one can show (see [19]) that a set of degrees of freedom for \(\mathcal {V}_{k}(\mathcal {P})\) can be taken as

  • the values of v at the n vertices (= 2n dofs),

  • the values of v at k − 1 distinct points inside each edge (= 2n(k − 1) dofs),

  • the values of \({\int \limits }_{\mathcal {P}}\mathbf {v}\cdot \mathbf {x}^{\perp } q_{k-3}\mathrm {d}s\) for every \(q_{k-3}\in \mathbb {P}_{k-3}\),

  • the values of k(k + 1)/2 − 1 moments of divv.

The degrees of freedom for Qk, in each element, will be equal to πk− 1 internal moments.

It can be shown (see always [19]) that, using the above degrees of freedom, for each \(\mathbf {v}\in \mathcal {V}_{k}(\mathcal {P})\) one can compute, among other things, its divergence (which is a polynomial), and also compute the operator \({\Pi }_{k}^{\varepsilon }: \mathcal {V}_{k}(\mathcal {P})\rightarrow (\mathbb {P}_{k}(\mathcal {P}))^{2}\) defined by

$$ \left\{\begin{array}{ll} {\int}_{\mathcal{P}}\boldsymbol{\varepsilon}(\mathbf{v}-{\Pi}_{k}^{\varepsilon}\mathbf{v}) :\boldsymbol{\varepsilon}(\mathbf{q}_{k})\mathrm{d}x=0\quad&\forall \mathbf{q}_{k}\in (\mathbb{P}_{k})^{2},\\ {\int}_{\partial\mathcal{P}}(\mathbf{v}-{\Pi}_{k}^{\varepsilon}\mathbf{v})\mathrm{d}s =\mathbf{0}& \end{array} \right. $$

that, in turn, allows to define, on each element \(\mathcal {P}\), a discrete bilinear form:

$$ {a}_{h}^{\mathcal{P}}(\mathbf{u},\mathbf{v}):={\int}_{\mathcal{P}}\boldsymbol{\varepsilon}\left( {\Pi}_{k}^{\varepsilon} \mathbf{u}\right):\boldsymbol{\varepsilon}\left( {\Pi}_{k}^{\varepsilon}\mathbf{v}\right)\mathrm{d}x + S^{\mathcal{P}}\left( \mathbf{u}-{\Pi}_{k}^{\varepsilon} \mathbf{u}, \mathbf{v}-{\Pi}_{k}^{\varepsilon} \mathbf{v}\right)\qquad \forall \mathbf{u},\mathbf{v}\in\mathcal{V}_{k}(\mathcal{P}), $$

where \( S^{\mathcal {P}}\) is again one of the common stabilizing bilinear forms of VEM theory, as for instance the analogue of the one in (8).

The discrete bilinear form ah will then be obtained by summing the contributions of all the polygons \(\mathcal {P}\). On the other hand, the bilinear form b(v,q) is directly computable, for every \(\mathbf {v}\in \mathcal {V}_{k}(\mathcal {P})\) and \(q\in Q_{k}(\mathcal {P})\), using the degrees of freedom. Finally, for the right-hand side we use \({\Pi }_{k-2}^{0}\mathbf {f}\) instead of f, as we did in (9)).

Setting

$$ \begin{array}{@{}rcl@{}} \mathbf{V}_{h} &=& \{\mathbf{v} \in \mathbf{V}: \mathbf{v}_{|\mathcal{P}}\in \mathcal{V}_{k}(\mathcal{P})~\forall \mathcal{P}\in\mathcal{T}_{h}\},\\ Q_{h} &=& \left\{q~\left|~q_{|\mathcal{P}}\in Q_{k}(\mathcal{P})~\forall \mathcal{P}\in\mathcal{T}_{h},~\text{ and }{\int}_{{\Omega}}q=0\right\},\right. \end{array} $$

we have now all the ingredients that define the discrete problem:

Find uhVh, phQh such that

$$ \left\{\begin{array}{ll} a_{h}(\mathbf{u}_{h},\mathbf{v}_{h})+ b(\mathbf{v}_{h},p_{h}) = ({\Pi}_{k-2}^{0}\mathbf{f},\mathbf{v}_{h})\quad&\forall\mathbf{v}_{h}\in \mathbf{V}_{h},\\ b(\mathbf{u}_{h},q_{h})=0\quad&\forall q_{h}\in Q_{h}. \end{array} \right. $$
(31)

The following Figs. 15 and 16 show the degrees of freedom for k = 2 and k = 3 on triangles and quads. The squares correspond to vectorial degrees of freedom (so, they amount to 2 dofs each).

Fig. 15
figure 15

Dofs for k = 2, on triangles, for velocities (left) and pressures (right)

Fig. 16
figure 16

Dofs for k = 3, on triangles, for velocities (left) and pressures (right)

It is important, in our opinion, to point out once more that, apart from the number n of edges (and consequently the dimension of \({\mathscr{B}}_{k}\)), nothing changes when passing from triangles to quads. And nothing would change passing to more general polygons.

It is not (at all!) easy, now, to compare VEM with FEM on triangles, due to the abundance of different Finite Element approaches that appeared in the literature since the 70s. For a panorama of the different choices we refer again to the recent overview [47] and to the references therein. In order to show at least one comparison we decided to go for the (possibly) most well known triangular element, that is the Crouzeix–Raviart element [30].

And indeed, in our opinion, the comparison with the Crouzeix–Raviart pair is particularly clarifying. We recall that, in more detail, for the Crouzeix–Raviart element the space of velocities is made, in each triangle, of vector-valued quadratic velocities augmented by two cubic bubbles (one per component), and the space of pressures is made of piecewise linear (discontinuous) polynomials. It is well known (see, e.g. [30] or [20]) that the inf-sup property (25) is verified, while the divergence-free condition (26) does not hold, as the divergence of the velocity field will come out to be, in each element, a polynomial of degree 2 orthogonal to all linear polynomials but not necessarily equal to zero. Instead the VEM-pair of Fig. 15, which exhibits the same number of d.o.f.s of the Crouzeix–Raviart pair, produces a discrete solution which is exactly divergence-free. Indeed, the VEM velocity space can be thought of as obtained by adding to \((\mathbb {P}_{2})^{2}\) two bubble-functions β(i) (i = 1,2) solutions of the local Stokes problems:

Find \(\boldsymbol {\beta }^{(i)}\in \left ({H}_{0}^{1}(\mathcal {P})\right )^{2}\) and \(p^{(i)}\in L^{2}(\mathcal {P})\) such that

$$ \left\{\begin{array}{rl} -{\Delta}\boldsymbol{\beta}^{(i)}+\nabla p^{(i)}&= \mathbf{0},\\ \text{div} \boldsymbol{\beta}^{(i)}&=(\mathbf{x}-\mathbf{b})_{i} \end{array} \right. $$
(32)

for i = 1,2 where b = (b1,b2) is the barycenter of \(\mathcal {P}\).

On the same order of ideas, taking (for super-simplicity) the quadrilateral domain \(\mathcal {Q} \equiv ]-1,1[\times ]-1,1[\), and again k = 2, we remark first that the space \({\mathscr{B}}_{2}\) as defined in (29) has obviously dimension 16, and can be thought of as being the direct sum of

  • \(\{\mathbb {P}_{2}\}^{2}_{|\partial \mathcal {Q}}\) (= the traces of \((\mathbb {P}_{2})^{2}\) on \(\partial \mathcal {Q}\). Note that this includes also the trace of x2y2 which actually coincides with the trace of x2 + y2 − 1 on \(\partial \mathcal {Q}\)),

  • the space generated (for each component) by the traces of x2y and of xy2,

whose dimensions are clearly 12 and 4, respectively. The whole space \(\mathbb {Q}_{2}(\mathcal {Q})\) can be seen as generated by the spaces above, plus the two velocity fields (x2y2,0) and (0,x2y2) (for a total number of 18 unknowns, as obvious). Now the space of traces of the VEM Velocity fields coincides with that of traces of \(\mathbb {Q}_{2}(\mathcal {Q})\) and has dimension 16 as well. To obtain the VEM spaces one can

  • begin from the 12 vectors in \((\mathbb {P}_{2})^{2}\) (that belong to both spaces, and that we would never give up!);

  • then add the four vectors that have the same traces as (x2y,0), (0,x2y), (xy2,0), and (0,xy2), zero divergence, and each component with constant Laplacian.

We have a dimension 16 so far. We can now

  • add the two solutions of (32), this time on the domain \(\mathcal {Q}\).

The final dimension is now 18, in agreement with Fig. 17.

Fig. 17
figure 17

Dofs for k = 2, on quads, for velocities (left) and pressures (right)

5.2 The Reduced VEM Spaces

An important variant of the VEM spaces for Stokes is given by the reduced VEM spaces for incompressible fluids. From a purely mathematical point of view it is clear that (22) is just a particular case of a more general “divu = g” with g given in L2(Ω) with zero mean value (or with a mean value compatible with the boundary values prescribed for u, if these are different from zero).

In practice, however, the case of incompressible fluids (where, in other words g ≡ 0) occurs quite often in a number of important applications, so that it might deserve an ad hoc treatment.

When using VEM one can make profit of the property (28) of these spaces, and combine it with the perfectly incompressible case. This, in other words, will amount to consider, in each subdomain, instead of (30) the smaller choice

$$ \mathcal{V}_{k}^{r}(\mathcal{P}):=\left\{\mathbf{v}\in \left( H^{1}(\mathcal{P})\right)^{2} \text{ s.t. } \mathbf{v}_{|\partial\mathcal{P}}\in\mathcal{B}_{k}(\partial \mathcal{P}),~\text{rot}({\Delta}\mathbf{v})\in \mathbb{P}_{k-3},~\text{div} \mathbf{v} \in\mathbb{P}_{0}\right\} $$
(33)

(whose dimension would just be 2nk + (k − 2)(k − 1)/2), and take \(Q_{0}(\mathcal {P})=\mathbb {P}_{0}(\mathcal {P})\). Starting from the local spaces one can then define the global spaces \(\mathbf {V}_{h}^{r} \subset \mathbf {V}\), and \({Q}_{h}^{0}=\) piecewise constants, in the usual way. We can then consider the reduced problem: find \(\mathbf {u}_{h}^{r}\in \mathbf {V}_{h}^{r}\) and \({p_{h}^{0}}\in {Q_{h}^{0}}\) such that

$$ \left\{\begin{array}{ll} a_{h}(\mathbf{u}_{h}^{r},\mathbf{v}_{h}^{r}) + b(\mathbf{v}_{h}^{r},{p_{h}^{0}}) = ({\Pi}^{0}_{k-2}\mathbf{f},\mathbf{v}_{h}^{r})\quad&\forall\mathbf{v}_{h}\in \mathbf{V}^{r}_{h},\\ b(\mathbf{u}_{h}^{r},{q}_{h}^{0})=0\quad&\forall {q}_{h}^{0}\in {Q}_{h}^{0}. \end{array} \right. $$
(34)

It is shown in [19] that the velocity \(\mathbf {u}_{h}^{r}\), solution of the reduced problem (34), coincides exactly with the velocity uh, solution of the discretized problem (31), while the pressure \({p}_{h}^{0}\) is just the L2-projection of the pressure ph on piecewise constants. Clearly, if one is interested only in the velocity field, the problem is solved. If one is also interested in the pressure part, one can just use the (31) and compute ph knowing uh.

In Figs. 151617 and 18, concerning the degrees of freedom in each element, this reduction would amount to take out all the green dots in the velocity spaces, and all the pressure dots but one.

Fig. 18
figure 18

Dofs for k = 3, on quads, for velocities (left) and pressures (right)

Considering again the simplest case k = 2, we can perform an analysis of the local reduced space \(\mathcal {V}_{2}^{r}(\mathcal {P})\) defined in (33), whose dimension, on triangular polygons, is just 12. This is equal to the number of \(\mathbb {P}_{2}\) pairs in two dimensions, but the VEM space does not coincide with it. Indeed, the divergence of vectors in \((\mathbb {P}_{2})^{2}\) is (in general) in \(\mathbb {P}_{1}\) while the divergences of \(\mathcal {V}_{2}^{r}(\mathcal {P})\) are all constants. Hence the property

$$ (\mathbb{P}_{2})^{2}\subseteq\mathcal{V}_{k}^{r}(\mathcal{P}) $$

is clearly lost, although we still contain all pairs of polynomials in \((\mathbb {P}_{1})^{2}\), and all polynomials of \(\mathbb {P}_{2}\) with constant divergence. Hence the patch test still holds in the form if the solution u is a polynomial of degree k with constant divergence, then uh = u. Note that this includes the incompressible case.

Note as well that (still on triangles) \((\mathbb {P}_{2})^{2}\) and \(\mathcal {V}_{2}^{r}(\mathcal {P})\) have the same dimension, but in \(\mathcal {V}_{2}^{r}(\mathcal {P})\) there are two independent elements not belonging to \((\mathbb {P}_{2})^{2}\) (the two functions in (32)). Viceversa, in \((\mathbb {P}_{2})^{2}\) there are two elements that do not belong to \(\mathcal {V}_{2}^{r}(\mathcal {P})\), as for instance,

$$ \mathbf{q}^{1}:=\frac{1}{2}\left( (x_{1}-b_{1})^{2},0\right)\quad \text{ and }\quad \mathbf{q}^{2}:=\frac{1}{2}\left( 0,(x_{2}-b_{2})^{2}\right), $$

where again (b1,b2) are the coordinates of the barycenter of \(\mathcal {P}\).

Remark 9

Once the reduced problem has been solved (and \(\mathbf {u}_{h}^{r}\equiv \mathbf {u}_{h}\) has been computed), the full value of the pressure ph can be computed, in each element \(\mathcal {P}\), using its local mean value (equal to \({p}_{h}^{0}\)) and recovering the linear part (with zero mean value) by taking, in (31), vh equal to β1 and β2, defined in (32).

The VEM approach followed so far for the Stokes problem in the two-dimensional case has been extended to the three-dimensional case in [13, 14, 19], including a study of the Stokes Complex and the extension to the Navier–Stokes problem.

Remark 10

It is interesting to point out that, at least for the lowest order case k = 2, the reduced elements in [19], reported here, have the same degrees of freedom of the formulation in [39] (see also [28]). A step-by-step comparison between the VEM approach presented here and that in [39] is however more difficult here than it was in previous situations. Actually, the only subspace in common between the two approaches, for the velocities, is \((\mathbb {P}_{1})^{2}\). Hence, in order to shift from one method to the other we must exchange two subspaces of dimension six, that in general have no nontrivial elements in common. In particular, the VEM spaces are all made (inside each element) of smooth functions, whereas the others are piecewise polynomials on the refined grid but, in general, only C0 within each element of the coarser grid.

6 Hellinger–Reissner Formulation of Linear Elasticity Problems

6.1 The Problem and its Difficulties

Starting, for simplicity, from the 2-dimensional case with homogeneous Dirichlet boundary conditions, we recall that the mixed (Hellinger–Reissner) formulation of linear elasticity problems in a domain Ω can be formulated as: Find (σ,u) in Σ ×U such that

$$ \begin{array}{@{}rcl@{}} \mathbf{div} \boldsymbol{\sigma}+\mathbf{f}&=&0\quad \text{ in }{\Omega},\\ \boldsymbol{\sigma}&=&\mathbb{C}(\boldsymbol{\varepsilon}(\mathbf{u}))\quad \text{ in }{\Omega},\\ \mathbf{u}&=&\mathbf{0}\quad \text{ on }\partial{\Omega}, \end{array} $$
(35)

where the stress space \(\boldsymbol {\Sigma }\equiv \mathbf {H}(\mathbf {div};{\Omega };\mathbb {S})\) is the space of 2 × 2 symmetric tensors with divergence in (L2(Ω))2, the displacement space U is \(({H}_{0}^{1}({\Omega }))^{2}\), and the constitutive law is (still for simplicity) the classical \(\mathbb {C}\boldsymbol {\varepsilon }:=2 \mu \boldsymbol {\varepsilon }+\lambda \text {tr}(\boldsymbol {\varepsilon })\). With a common notation we also set \(\mathbb {D}:=\mathbb {C}^{-1}\). Defining the bilinear forms (local and global)

$$ \begin{array}{@{}rcl@{}} a^{\mathcal{P}}(\boldsymbol{\sigma},\boldsymbol{\tau})&:=&{\int}_{\mathcal{P}}\mathbb{D}\boldsymbol{\sigma}:\boldsymbol{\tau} \mathrm{d}x \quad\forall\mathcal{P} \quad\text{ and } \quad a(\boldsymbol{\sigma},\boldsymbol{\tau}):=\underset{\mathcal{P}}{\sum} a^{\mathcal{P}}(\boldsymbol{\sigma},\boldsymbol{\tau}), \end{array} $$
(36)
$$ \begin{array}{@{}rcl@{}} b^{\mathcal{P}}(\boldsymbol{\tau},\mathbf{v})&:=&{\int}_{\mathcal{P}}\mathbf{div} \boldsymbol{\tau}\cdot\mathbf{v} \mathrm{d}x \quad\forall\mathcal{P} \quad\text{ and } \quad b(\boldsymbol{\tau},\mathbf{v}):=\underset{\mathcal{P}}{\sum} b^{\mathcal{P}}(\boldsymbol{\tau}, \mathbf{v}), \end{array} $$
(37)

the variational formulation of (35) can be written as: find σΣ and uU such that

$$ \left\{\begin{array}{ll} a(\boldsymbol{\sigma},\boldsymbol{\tau})+ b(\boldsymbol{\tau},\mathbf{u}) = 0\quad&\forall\boldsymbol{\tau}\in \boldsymbol{\Sigma},\\ b(\boldsymbol{\sigma},\mathbf{v})=-(\mathbf{f},\mathbf{v})\quad&\forall \mathbf{v}\in \mathbf{U}. \end{array} \right. $$

Choosing suitable finite dimensional subspaces ΣhΣ and UhU and possibly some approximate bilinear forms ah, bh, and forcing term fh, the approximate problem would look like: find σhΣh and uhUh such that

$$ \left\{\begin{array}{ll} a_{h}(\boldsymbol{\sigma}_{h},\boldsymbol{\tau}_{h})+ b_{h}(\boldsymbol{\tau}_{h},\mathbf{u}_{h}) = 0\quad&\forall\boldsymbol{\tau}_{h}\in \boldsymbol{\Sigma}_{h},\\ b_{h}(\boldsymbol{\sigma}_{h},\mathbf{v}_{h})=-(\mathbf{f}_{h},\mathbf{v}_{h})\quad&\forall \mathbf{v}_{h}\in \mathbf{U}_{h}. \end{array} \right. $$
(38)

The difficulties in the Finite Element dicretization of this problem come from the combined targets of

  1. i)

    getting a symmetric discrete stress tensor,

  2. ii)

    getting a discrete stress tensor with continuous tractions at interelement boundaries,

  3. iii)

    getting a stable pair (Σh,Uh) (meaning that the inf-sup condition holds), and

  4. iv)

    making the formulation hybridizable, introducing interelement multipliers to force the continuity of tractions, and eliminating the stress field by static condensation (de Veubeke style. See also [7]).

Furthermore, it would also be nice to have (at least when the material properties are piecewise constant)

  1. v)

    the self-equilibrium property (meaning that if f = 0 in one element, then divσh = 0 there), and

  2. vi)

    the patch-test of some order k ≥ 1 (that is: if u is, globally, a polynomial of degree ≤ k, then uh = u and σh = σ).

To our knowledge, in the Finite Element framework all the above properties are almost impossible to satisfy at the same time (and we are not aware of a successful attempt) sticking on polynomial spaces in each element. See e.g. [5, 8, 9, 25, 27, 35, 36, 38, 42,43,44,45,46], and the references therein, for several important results in this direction. In a sense, the huge amount of papers that appeared in the last ten years on the subject shows, at the same time, the relevance and the difficulty of the task. On the other hand, in the VEM framework, allowing a much wider set of functions in the discrete space, everything is possible (...well..., “almost”). However, even the super-powerful VEM framework starts becoming complicated, and here, following essentially [11], we will limit our description to the 2-d case, referring to [31] for the (successful!) treatment of the three-dimensional case.

6.2 The VEM Spaces

Given a polygon \(\mathcal {P}\) with n edges, we first introduce the space of local infinitesimal rigid body motions:

$$ RM(\mathcal{P}) =\{\mathbf{r} (\mathbf{x}) = \mathbf{a} + b(\mathbf{x} -\mathbf{x}_{\mathcal{P}})^{\perp} \text{ with } \mathbf{a} \in \mathbb{R}^{2} \text{ and } b\in \mathbb{R}\} $$

where \(\mathbf {x}_{\mathcal {P}}\) is the baricenter of \(\mathcal {P}\). Introducing also the space

$$ RM_{k}^{\perp}(\mathcal{P}) = \left\{\mathbf{p} \in (\mathbb{P}_{k})^{2}:~{\int}_{\mathcal{P}}\mathbf{p}_{k} \cdot \mathbf{r}=0~\forall \mathbf{r}\in RM(\mathcal{P})\right\}, $$

we note that, obviously, we can always decompose \((\mathbb {P}_{k})^{2}\) as a direct sum

$$ (\mathbb{P}_{k})^{2}=RM(\mathcal{P})\oplus RM_{k}^{\perp}. $$

For each integer k ≥ 1 and for each polygon \(\mathcal {P}\) we now introduce the local tensor space of discretized stresses as

$$ \begin{array}{@{}rcl@{}} \boldsymbol{\Sigma}_{k}(\mathcal{P}) &:=& \left\{\boldsymbol{\tau} \in \mathbf{H}(\mathbf{div};{\Omega};\mathbb{S}) \text{ s.t. } curl\mathbf{curl}(\mathbb{D}\boldsymbol{\tau})=0, \right.\\ &&\quad\left.\boldsymbol{\tau}\cdot\mathbf{n}_{|e}\in (\mathcal{P}_{k}(e))^{2}~\forall e \in \partial\mathcal{P},~\mathbf{div} \boldsymbol{\tau} \in (\mathbb{P}_{k})^{2}\right\}. \end{array} $$

We recall that \(\mathbb {D}:=\mathbb {C}^{-1}\), and that the curlcurl of a 2 × 2 symmetric tensor z is defined as

$$ curl\mathbf{curl}(\mathbf{z}):=(z_{11})_{yy}-2 (z_{12})_{xy}+(z_{22})_{xx} $$

so that for every (smooth enough) vector v we have curlcurl(ε(v)) ≡ 0. Hence the condition \(curl\mathbf {curl}(\mathbb {D}\boldsymbol {\tau })=0\) is equivalent to require that \(\boldsymbol {\tau }=\mathbb {C}(\boldsymbol {\varepsilon } (\mathbf {v}))\) for some vector v. A natural requirement for a stress field.

A tensor \(\boldsymbol {\tau }\in \boldsymbol {\Sigma }_{k}(\mathcal {P})\) can be individuated by the following degrees of freedom:

$$ \begin{array}{@{}rcl@{}} \text{for each edge } e \text{ in } \partial\mathcal{P}: &&{\int}_{e}\boldsymbol{\tau}_{\mathbf{n}} \cdot \mathbf{q}_{k}\mathrm{d}s\quad\forall \mathbf{q}_{k}\in(\mathbb{P}_{k}(e))^{2},\\ \text{in }\mathcal{P}: &&{\int}_{\mathcal{P}} \mathbf{div} \boldsymbol{\tau} \cdot \mathbf{q}_{k} \mathrm{d}x\quad\forall\mathbf{q}_{k}\in (RM)_{k}^{\perp}. \end{array} $$
(39)

Remark 11

In [10] one could find a cheaper variant of the lowest order space, where τn is required to have the normal component (i.e., τnn) linear, and the tangential component (i.e., τnt) constant, saving one degree of freedom per edge.

For the approximation of the vector space of displacements U we simply take

$$ \mathbf{U}_{k}(\mathcal{P}):=(\mathbb{P}_{k})^{2}. $$
(40)

From the local spaces \(\boldsymbol {\Sigma }_{k}(\mathcal {P})\) one can then easily construct the global spaces Σ(Ω) by using the local spaces in each element of a decomposition, obviously making the degrees of freedom on edges single valued, so that the resulting space is a subspace of \(\mathbf {H}(\mathbf {div};{\Omega };\mathbb {S})\). Similarly, from the local spaces (40) one construct the global space Uh for the approximation of displacements (no continuity requirements are needed here).

Using the degrees of freedom (39) we can now proceed, as we did in the previous sections, to the construction of a discrete version of the bilinear form \(a^{\mathcal {P}}(\boldsymbol {\sigma },\boldsymbol {\tau })\) defined in (36). For this, we note that for every polygon \(\mathcal {P}\), and for every τ in \(\boldsymbol {\Sigma }_{k}(\mathcal {P})\), integrating by parts we can compute the projection \({{\Pi }^{a}_{k}}\boldsymbol {\tau }\) of τ onto the space \((\mathbb {P}_{k})^{4}_{sym}\), given by

$$ a^{\mathcal{P}}({{\Pi}^{a}_{k}}\boldsymbol{\tau}-\boldsymbol{\tau},\mathbf{p}_{k})=0\qquad \forall \mathbf{p}_{k}\in (\mathbb{P}_{k})^{4}_{sym}. $$

We can also compute divτ, that belongs to \((\mathbb {P}_{k})^{2}\). Proceeding as in all previous cases we can then define on each element \(\mathcal {P}\) an approximated bilinear form

$$ {a}_{h}^{\mathcal{P}}(\boldsymbol{\sigma}_{h},\boldsymbol{\tau}_{h}):= a^{\mathcal{P}}\left( {{\Pi}_{k}^{a}} \boldsymbol{\sigma},{{\Pi}_{k}^{a}} \boldsymbol{\tau}_{h}\right) + S^{\mathcal{P}}\left( \left( I-{{\Pi}_{k}^{a}}\right)\boldsymbol{\sigma}_{h}, \left( I-{{\Pi}_{k}^{a}}\right)\boldsymbol{\tau}_{h}\right)\quad \forall \boldsymbol{\sigma}_{h},\boldsymbol{\tau}_{h}\in \boldsymbol{\Sigma}_{k}(\mathcal{P}), $$

where again the bilinear form S is a stabilizing term (to fix ideas, of the dofi-dofi type). Then one gets the global bilinear form ah(⋅,⋅) summing over the elements. On the other hand, no projection is needed for the second equation of (38) since both the divergence of tensors in Σh and the elements of Uh are polynomials.

We point out that VEM spaces enjoy, at the same time, all these useful features:

  1. A -

    They pass the patch test (of order k).

  2. B -

    They are easily hybridizable (having no vertex degrees of freedom).

  3. C -

    The stress field is symmetric (equilibrium of momentums).

  4. D -

    If the load \(\mathbf {f}\in (\mathbb {P}_{k})^{2}\), then divσh + f = 0 (equilibrium of forces).

  5. E -

    The definition, essentially, does not depend on the shape of the elements (triangles, quads, polygons, polyhedra etc.)

As we already did in the previous section (on Stokes problem), we will not enter a detailed comparison between VEM and different types of FEM. Among other things, this is also due to the difficulty to pick-up one or two typical Finite Element approaches for the comparison. Actually, by now, we have a very wide variety of FEM to deal with the present problem. To our knowledge, the paper [38] (using rational functions together with polynomials) is the one that best approaches, on triangles, the basic features of VEM. One might consider that rational functions are used there, instead of solutions of some PDE system (as we do with VEM) as an alternative way to escape the polynomial trap. In our Figs. 19 and 20 we decided however to compare the degrees of freedom of VEM with those of the most classical (and possibly best known) [5], hence avoiding a description of the FEM spaces used in more recent approaches. We do not pretend this to be exhaustive in any sense. It is not, BY FAR. We refer the interested readers to the FEM and VEM papers already cited here.

Fig. 19
figure 19

Hellinger-Reissner Dofs for k = 1, VEM [11]

Fig. 20
figure 20

Hellinger-Reissner Dofs for k = 1, FEM Arnold-Winther [5]