1 Introduction

The necessity to accurately and efficiently model plates has a long history based on the fact that plates are installed as structural members in almost every building, in many machines and in airplanes. This has led early on to the development of plate elements in most discretisation schemes. In the finite element method associated development started more than 50 years ago with the work of [8, 17, 24]. It was obvious that general forms of finite elements were not able to fulfill \(C^1\)-continuity when using Kirchhoff-Love plate theory as starting point. First elements that met \(C^1\)-continuity were developed within the TUBA series of elements in [4]. Composite elements, consisting of four triangles were provided by [12, 18] which then allowed to use such composite element as general quadrilateral other formulations for strictly rectangular elements can be found e.g. in [14]. All these formulations have the disadvantage that besides deflection w and rotations \(w_{,x}\,, w_{,y}\) additional higher order kinematical quantities, e.g. the curvatures \(w_{,xx}\,, w_{,yy}\), appear as nodal unknowns which impedes the use of such element in an engineering environment.

The latter complication was circumvented by the introduction of Reissner-Mindlin elements, starting with the work of [20, 39]. Due to some disadvantages in the thin plate limit, many different variants were considered in the following years, see the textbooks e.g. [19, 30, 31]. One of these variants is based on the discrete, point-wise formulation of \(C^1\)-continuity, which leads to the discrete Kirchhoff triangles (DKT), see [6], and quadrilaterals (DKQ), see [7].

As shown in the work of [13], the virtual element method (VEM) can be applied to develop \(C^1\)-continuous Kirchhoff-Love plate elements. VEM actually has the advantage that no higher order kinematical quantities have to be introduced and thus these elements can be easily integrated in engineering codes which is due to the simplicity of the definition of the ansatz functions, which are defined only at the element boundary. Hence the virtual element method allows to revisit the construction of Kirchhoff-Love elements. This was illustrated for two simple plate elements in [16] which includes error estimates. [26] employed the virtual element methodology to dynamic plate problems and also showed that these elements can be used for the buckling analysis of plates, see [25, 27]. At the same time other virtual plate elements using Reissner-Mindlin kinematics were developed, see [11] and non-conforming discretisations were considered in [3] to model plate problems with VEM.

Here we present two simple VEM elements suitable for conforming Kirchhoff-Love plates which were already discussed for isotropic materials in [16]. We extend this formulation to isotropic and anisotropic material responses, provide a detailed description of the matrix forms and new stabilisations. The reason for restricting ourselves to low order ansatz functions was motivated by the fact that virtual elements of low order are the most suitable choice for non-linear extensions, see e.g. [1, 10, 15, 38].

The main difficulty in VEM concerns the stabilisation parts of the stiffness matrix. This question is even more crucial in the case of \(C^1\)-continuous elements than in the case of \(C^0\)-continuous elements, because the rank deficiency of the stiffness matrix associated to the projected part of the ansatz function is larger. Therefore this paper aims—besides providing a formulation in engineering terms—at introducing different possibilities for the stabilisation of virtual plate elements. Compared to the approach in [26], this work aims to improve stabilisation and additionally introduces an energy based stabilisation which is based on a sub-triangulation of the VEM elements, as was proposed in [38] for hyperelastic solids. In the latter stabilisation, different simple conforming and non-conforming plate elements, see [6, 29], are compared regarding their contribution to the stiffness matrix, their precision and efficiency of the resulting VEM element.

Numerical examples will be considered to study the convergence behaviour of both developed elements and to illustrate their applicability to engineering problems. We first deal with problems with analytical solution and then examine the case of rhombic plates where its is known that higher degree elements are preferable, see [5]. Examples including anisotropic material behaviour show the applicability of the method to composite plates.

Since the developed virtual plate elements only introduce deflections and rotations as nodal unknowns, despite being \(C^1\)-continuous, they can be easily incorporated in finite element software when they are reduced to triangular elements with three/six nodes or quadrilateral elements with four/eight nodes. Based on classical benchmark examples it can be concluded that these reduced virtual element have a much higher efficiency and accuracy than comparable traditional finite plate elements.

2 Governing equation of Kirchhoff plates

2.1 Description of the plate and of the constitutive relation

The geometry of the plate is described through its mid surface \(\Sigma _m\) with thickness, 2h, which will be assumed to be constant. A point \(\varvec{X}\) within the plate is given by the orthogonal projection \(\varvec{X}_m\) onto the mid surface and its coordinate Z along the normal \({\varvec{E}_Z}\) of \(\Sigma _m\) (see Fig. 1).:

$$\begin{aligned} \varvec{X} = \varvec{X}_m + Z {\varvec{E}_Z}= X {\varvec{E}_X} + Y {\varvec{E}_Y} + Z {\varvec{E}_Z} \end{aligned}$$
(1)

where \(({\varvec{E}_X},{\varvec{E}_Y},{\varvec{E}_Z})\) is a orthonormal direct cartesian basis.

Fig. 1
figure 1

Plate geometry

In the Kirchhoff-Love theory the displacement \(\varvec{u}(\varvec{X}_m,Z) \) of point \(\varvec{X}\) can be described by the deflection w of the plate

$$\begin{aligned} \varvec{u}(\varvec{X}_m,Z) = w(\varvec{X}_m)\varvec{E}_Z-Z\,\nabla _{\varvec{X}_m}\left( w(\varvec{X}_m)\right) \end{aligned}$$
(2)

where \(\nabla _{m}\), simply denoted by \(\nabla \), is the gradient operator with respect to \(\varvec{X}_m\) and w belongs to \(H^2(\Sigma _m)\).

Therefore the rotation \(\varvec{\theta }\) of the normal segment is equal to

$$\begin{aligned} \varvec{\theta }= \theta _X {\varvec{E}_X}+ \theta _Y {\varvec{E}_Y} = - {\varvec{E}_Z} \wedge \,\nabla w = w,_{Y} {\varvec{E}_X} - w,_{X}{\varvec{E}_Y} \end{aligned}$$
(3)

The in-plane strain \(\varvec{\varepsilon }\) associated with the displacement \(\varvec{u}(\varvec{X}_m,Z)\) is given by

$$\begin{aligned} \varvec{\varepsilon }(\varvec{u})= Z \varvec{\chi } \end{aligned}$$
(4)

where the curvature operator \(\varvec{\chi }\) is equal to

$$\begin{aligned} \varvec{\chi }= - {\nabla }( \nabla w )\,. \end{aligned}$$
(5)

In what follows we will assume that the plate is symmetrical with respect to its mid-surface. Introducing the classical Hooke’s law under plane stress condition yields the constitutive tensor \(\mathbb {K}_{cp}\). With that one obtains a constitutive relation linking the moment of the in-plane stress to the curvature

$$\begin{aligned} \varvec{M} = <Z^2\,\mathbb {K}_{cp}>\varvec{\chi } \end{aligned}$$
(6)

where \(\langle a \rangle \) defines an integral of quantity a over the thickness \(t=2h\) of the plate

$$\begin{aligned} \langle a \rangle = \int _{-h}^{h} a \, \mathrm{d}Z \,. \end{aligned}$$
(7)

For a plate that is homogeneous through the thickness the integral (6) yields

$$\begin{aligned} \varvec{M} = \frac{2h^3}{3}\,\mathbb {K}_{cp}\, \varvec{\chi }\,. \end{aligned}$$
(8)

The local bilinear form associated with the Kirchhoff-Love model can be written as

$$\begin{aligned} a(w,v) = \text{ tr }[\varvec{M}(w)\varvec{\chi }(v)]=\frac{2h^3}{3}\text{ tr }[\mathbb {K}_{cp}\, \varvec{\chi }(w)\varvec{\chi }(v)] \end{aligned}$$
(9)

where the moment follows from (8) for an isotropic homogeneous plate with Young’s modulus E and Poisson ratio \(\nu \)

$$\begin{aligned} \varvec{M} = \frac{2h^3}{3}\, \frac{E}{1+\nu } \left( \varvec{\chi }+ \dfrac{\nu }{1-\nu } \text{ tr }(\varvec{\chi }) \, \mathbb {I}_{2}\right) \,. \end{aligned}$$
(10)

With the definition of the bending stiffness

$$\begin{aligned} D=2\frac{h^3}{3}\, \frac{E}{1-\nu ^2} \end{aligned}$$
(11)

the bilinear form a(wv) of the Kirchhoff-Love theory over \(H^2(\Sigma _m)\) follows

$$\begin{aligned} a(w,v)= & {} D [\,(1-\nu ) (w,_{XX}v,_{XX}+w,_{YY}v,_{YY}\nonumber \\&+ 2w,_{XY}v,_{XY}) +\nu \bigtriangleup w\bigtriangleup v\,] \end{aligned}$$
(12)

which leads to the bilinear form

$$\begin{aligned} A(v,w)=\int _{\Sigma _{m}} a(v,w)\ \mathrm{d}\Sigma _m \end{aligned}$$
(13)

characterising the internal virtual work of the Kirchhoff-Love problem.

Alternatively the strain energy density can be introduced

$$\begin{aligned} \psi (w)=\frac{1}{2} a(w,w) =\frac{1}{2} \text{ tr }[\varvec{M}(w)\varvec{\chi }(w)] = \frac{1}{2} \varvec{\chi }(w) \cdot \mathbb {D} \,\varvec{\chi }(w) \,. \end{aligned}$$
(14)

In what follows the symbol is associated to the Voigt notation. For example, for the moment and the curvature one introduces

$$\begin{aligned} \hat{M}= \begin{bmatrix} M_{XX} \\ M_{YY} \\ M_{XY} \end{bmatrix}, \, \, \hat{\chi } = \begin{bmatrix} w_{,XX} \\ w_{,YY} \\ 2 w_{,XY} \end{bmatrix}. \end{aligned}$$
(15)

The constitutive relation may be expressed through the matrix \(\hat{\mathbb {D}}\) that is defined with (11) by

$$\begin{aligned} \hat{M}= \hat{\mathbb {D}}\, \hat{\chi } = D \begin{bmatrix} 1 &{} \nu &{} 0 \\ \nu &{} 1&{} 0 \\ 0 &{}0 &{} \frac{1-\nu }{2} \end{bmatrix} \hat{\chi } \,. \end{aligned}$$
(16)

Thus the strain energy in (14) can be rewritten in Voigt notation as

$$\begin{aligned} \psi (w)= \frac{1}{2} \hat{\chi } ^T\hat{M}= \frac{1}{2} \hat{\chi } ^T \, \hat{\mathbb {D}}\, \hat{\chi }\,. \end{aligned}$$
(17)

For a laminated plate it is necessary to model the anisotropic behaviour, see e.g. [32]. A laminate consists of a stack of composite plies that have a fiber direction which points in the direction of the angle \(\phi \) to the X-axis. Let us note that we consider in this paper only stacking sequences that are symmetric with respect to their mid-plane in order to avoid coupling between tension and bending. For each ply k the orthotropic constitutive matrix may be defined with respect to the orthotropic basis (the notation refers to the orthotropic basis, while not using a bar refers to the global basis):

$$\begin{aligned} \bar{\hat{\mathbb {D}}}_{k} = \frac{1}{1-\nu _{12} \nu _{21}} \begin{bmatrix} E_1 &{} \nu _{12} E_2 &{} 0 \\ \nu _{12} E_2 &{} E_2 &{} 0 \\ 0 &{}0 &{}G_{12} \end{bmatrix} \end{aligned}$$
(18)

where \(E_1\) relates to the stiffness in fiber direction and the value \(E_2\) is the stiffness perpendicular to the fiber direction. The Poisson ration of the ply is given by \(\nu _{12}\) and the shear modulus is \(G_{12}\). The Poisson ratio \(\nu _{21}= \frac{E_2}{E_1}\nu _{12}\) is a dependent variable. This matrix has to be transformed to the \(X-Y\) coordinate system by the transformation

$$\begin{aligned} \hat{\mathbb {D}}_{k} = \varvec{T}^{-1} \bar{\hat{\mathbb {D}}}_{k} \varvec{T}^{-T} \end{aligned}$$
(19)

with

$$\begin{aligned} \varvec{T}^{-1} = \begin{bmatrix} \cos \phi ^2 &{} \sin \phi ^2 &{} -2 \sin \phi \cos \phi \\ \sin \phi ^2 &{} \cos \phi ^2 &{} 2 \sin \phi \cos \phi \\ \sin \phi \cos \phi &{}- \sin \phi \cos \phi &{} \cos \phi ^2 - \sin \phi ^2 \end{bmatrix} \,. \end{aligned}$$
(20)

Now an integration over the thickness has to be performed considering all \(n_{pl}\) plies. This leads, analogous to (7), by employing a sum over all plies to the global material stiffness matrix \(\hat{\mathbb {D}}_{G}\)

$$\begin{aligned} \hat{\mathbb {D}}_{G} = \frac{1}{3} \sum _{k=1}^{n_{pl}} \hat{\mathbb {D}}_{k} (Z_k^3 - Z_{k-1}^3) \end{aligned}$$
(21)

where the integration is executed for each ply over the ply thickness \(h_k= Z_k - Z_{k-1}\). Now the strain energy for the laminated plate is given by

$$\begin{aligned} \psi (w)=\frac{1}{2} \hat{\chi } ^T \, \hat{\mathbb {D}}_{G}\, \hat{\chi } \end{aligned}$$
(22)

and the moments follow from \(\hat{M}= \hat{\mathbb {D}}_{G}\, \hat{\chi }\).

3 Basis of the virtual element method for Kirchhoff plates

Most of the mathematical theory of the virtual element method (VEM) for Kirchhoff plates was established in [13]. The theory has been extended to vibrations in [26] and to buckling analysis notably in [25, 27].

We briefly recall some aspects of the theory useful for this paper. The domain \(\Sigma _m\) is partitioned into non-overlapping polygonal elements which need not be convex but basically star-shaped. Following the framework of the VEM, the space of a virtual Kirchhoff-Love element has to be \(C_1\) continuous at the inter-element level. A zoo of elements may be defined by four integers, see [13]:

  • The first one, r, defines the regularity of the polynomial chosen for the deflection w on the contour of each element (and thus of its tangentiel derivative \(w,_t\)),

  • the second one, s, defines the regularity of the polynomial chosen for its normal derivative \(w,_n\),

  • the third one, m, defines the polynomial order of the bi-laplacian inside the element and

  • the fourth one, k, possibly the most important, corresponds to the order of the method.

Not all possible choices of the quadruplet rsmk are acceptable.

In what follows E denotes an element of a given mesh and e any of the corresponding edges of the element. The space of the polynomial \(P_m\) is given by the degree, less or equal to m for the corresponding geometrical entity

$$\begin{aligned} V_h= \{w \in H^2(\Sigma _m), \bigtriangleup ^2 w \in P_m(E), w,_t \in P_r(e), w,_n \in P_s(e)\} \end{aligned}$$
(23)

Among all relevant choices of rsmk some appear more natural than others. Since the local equation of equilibrium involves the fourth order derivative of w, the choice of \(m = k-4\) is the one minimising the number of internal d.o.f.s for a given order. We adopt this condition which avoids the introduction of internal nodes for the chosen elements studied in this paper. We make use of the convention that \(P_m(E)=\{0\}\) for \(m <0\). The condition \( \bigtriangleup ^2 w \in P_m(E)\) is fundamental for the element to be uni-solvent that is ensuring the uniqueness of w inside the element knowing its degrees of freedom. The order of the method is ensured by the following consistency conditions where \(A_h\) is the approximation of the bilinear form associated with the strain energy of the model:

$$\begin{aligned} A_h(p, q)= A(p, q ) ,\, \forall p \in V_h, \, \forall q \in P_k(E) \end{aligned}$$
(24)

A method used in many papers on VEM to the recover stability along with consistency, see [9] for solids and [13] for plates, is the following: Let \(\Pi _k\) be the energy projector onto the set of polynomials of degree k where k corresponds to the degree of projection of \(\Pi _k(w)\) which can uniquely be prescribed knowing the degree of freedom of the element. \(\Pi _k\) is defined as follows:

$$\begin{aligned} \begin{array}{rl} &{}A_h(\Pi _k (p), q)= A_h(p, q ),\, \forall p \in V_h, \, \forall q \in P_k(E) \\ &{} \int _{\Sigma _E}(\nabla \Pi _k p- \nabla p) \,\text{ d } \Sigma =0\\ &{} \int _{\Sigma _E}( \Pi _k p- p) \,\text{ d } \Sigma =0 \end{array} \end{aligned}$$
(25)

Here \(A_h(p,q)\) follows from (12) and (13). Generally the projection in (25) is not sufficient for defining a proper stiffness matrix because it leads to a rank deficient matrix. Using the following property of \(\Pi _k\):

$$\begin{aligned} A_h(v_h, w_h)= & {} A_h(\Pi _k (v_h), \Pi _k (w_h) )\nonumber \\&+ A_h(v_h-\Pi _k (v_h), w_h-\Pi _k (w_h) ) ,\, \nonumber \\&\forall v_h \in V_h, \, \forall w_h \in V_h, \end{aligned}$$
(26)

we note that the first term is computable as a function of the degrees of freedom of the virtual elements but the second one is not because \((v_h,w_h)\) are not defined by the ansatz (23) within the element. The stability of the method may nevertheless be ensured by replacing

$$\begin{aligned} A_h(v_h-\Pi _k (v_h), w_h-\Pi _k (w_h) ) \end{aligned}$$
(27)

by an equivalent partial bilinear form which scales as the original one and is defined by the value of the element unknowns. Let us note that, for a given element, there exist several ways to complement the stiffness matrix following from (25) in a stable manner. All possible stable methods behave asymptotically in the same manner but may lead to rather different results for coarse meshes. This is precisely one of the issues addressed in this paper.

4 Formulation of the chosen virtual element method for Kirchhoff-Love plates

By using the specific strain energy (9) the virtual element for the Kirchhoff-Love theory can be derived based on

$$\begin{aligned} \begin{aligned} A(v,w) =&\int _{\Sigma _{E}} a(w,v) \ \mathrm{d}\Sigma _{E}= \int _{\Sigma _{E}} \text{ tr }[\varvec{M}(v)\varvec{\chi }(w)] \ \mathrm{d}\Sigma _{E}\\&=\int _{\Sigma _{E}} div({div}\varvec{M}(v))w \ \mathrm{d}\Sigma _{E}\\&\quad + \int _{\Gamma _{e}} M_{nn}(v){\nabla } w . \, \varvec{N}\, \ \mathrm{d}\Gamma - \int _{\Gamma _{e}} [ {div}\varvec{M}(v). \, \varvec{N}\\&\quad +M_{nt},_{s}(v)]w\, \ \mathrm{d}\Gamma + \sum _{i} \left[ \left| M_{nt}(v)(\varvec{X}_i)\right| \right] w(\varvec{X}_i) \end{aligned} \end{aligned}$$
(28)

where \(\varvec{X}_i\) are the coordinates of possible loaded points in the domain and \(\left[ \left| M_{nt}(\varvec{X}_i)\right| \right] \) corresponds to the jump of \(M_{nt}\) at \(\varvec{X}_i\) computed following the curvilinear abscissa of the frontier of the domain.

Let us denote by \(V^1_h\) the space corresponding to element 1 with \(k=2\)

$$\begin{aligned} \begin{aligned} V^1_h=&\{w \in H^2(E), \bigtriangleup ^2 w \in P_{-2}(E), w,_t \in P_2(e), w,_n \in P_1(e)\} \\&= \{w \in H^2(E), \bigtriangleup (\bigtriangleup w )=0, w,_t \in P_2(e), w,_n \in P_1(e)\} \end{aligned} \end{aligned}$$
(29)

One obtains from (28) the consistency condition (24) for element 1

$$\begin{aligned} A_h(p,w)= & {} \int _{\Gamma _{e}} M_{nn} (p){\nabla } w . \, \varvec{N}\, \ \mathrm{d}\Gamma \nonumber \\&+ \Sigma _{i} \left[ \left| M_{nt}(p)(\varvec{X}_i)\right| \right] w(\varvec{X}_i) ,\, \nonumber \\&\forall w \in V^1_h, \, \forall p \in P_2\{E\} \,. \end{aligned}$$
(30)

Since \(w,_n\) and w are defined on the boundary the left hand side of the equation is known and the consistency condition is easily enforced. It leads to three conditions.

Let us now denote the space \(V^2_h\) corresponding to element 2. For element 2, \(k=3\) and thus

$$\begin{aligned} \begin{aligned} V^2_h&= \{w \in H^2(E), \bigtriangleup ^2 w \in P_{-1}(E), w,_t \in P_2(e), w,_n \in P_2(e)\} \\&= \{w \in H^2(E), \bigtriangleup ^2 w =0, w,_t \in P_2(e), w,_n \in P_2(e)\} \,. \end{aligned} \end{aligned}$$
(31)

Again relation (28) yields the consistency condition \(\forall p \in P_3\{E\} \)

$$\begin{aligned} \begin{aligned} A_h(p,q)&=A(p,w)=- \int _{\Gamma _{e}} [ {\text {div}}\varvec{M}(p). \, \varvec{N}+M_{nt},_{s}(p)]w\, \ \mathrm{d}\Gamma \\&\quad + \int _{\Gamma _{e}} M_{nn} (p){\nabla } w . \, \varvec{N}\, \ \mathrm{d}\Gamma \\&\quad + \Sigma _{i} \left[ \left| M_{nt}(p)(\varvec{X}_i)\right| \right] w(\varvec{X}_i) ,\, \forall w \in V^2_h, \, \forall p \in P_3\{E\} \,. \end{aligned} \end{aligned}$$
(32)

where w and \(w,_n\) are known at the boundary. Hence the left hand side of the equation is known and the consistency condition is easily enforced.

Let us now consider the projector \(\Pi _k\). For element 1, \(\Pi _2\) is defined as

$$\begin{aligned} A_h(\Pi _2 ({p}), q)&= A_h({p}, q ),\, \forall {p} \in V^1_h, \, \forall q \in P_2(E) \,,\nonumber \\ \int _{\Sigma _E}\nabla \Pi _2 p \,\text{ d } \Sigma&= \int _{\Sigma _E} \nabla p \,\text{ d } \Sigma \,,\, \forall {p} \in V^1_h \,, \\ \int _{\Sigma _E} \Pi _2 p \, \text{ d } \Sigma&= \int _{\Sigma _E} p \,\text{ d } \Sigma \,,\, \forall {p} \in V^1_h \nonumber \end{aligned}$$
(33)

Thanks to the consistency conditions the right hand side of the first relation defining \(\Pi _2\) is known. The second and third condition give rise to three additional conditions which completely define \(\Pi _2 ({p})\). It depends on 6 scalars as function of the degrees of freedom of the element. For the same reason, when deriving element 2, the projector \(\Pi _3\), involving 10 constants defining \(\Pi _3 ({p})\), is also perfectly defined.

In what follows we denote the number of elements by \(n_T\). For each element \(n_V\) denotes the number of vertices which is equal to the number \(n_E\) of edges, \(n_N\) is the number of nodes and \(n_D\) describes the number of degrees of freedom. The number of unknowns associated with the projection \(\Pi \) is given by \(n_{\Pi }\). Table 1 summarizes the data for element 1 and element 2 and provides the rank deficiency \(n_R\) associated with the use of the sole projection \(\Pi \) for the definition of the stiffness matrix of the element. Let us note that the normal rank deficiency of the stiffness matrix in bending should be 3, due to rigid body modes.

Table 1 Data for element 1 and 2

4.1 Basic aspects of the chosen elements

As previously explained, we have selected the two most simple elements with \(k = 2\) (\((r,s,m,k)=(2,1,-2,2)\)) and \(k=3\) (\((r,s,m,k)=(2,2,-1,3)\)), which correspond to elements suggested in [13].

In both cases no internal degrees of freedom are needed which simplifies possible extensions of the method to non-linear cases. Nevertheless this choice implies some approximation when computing the virtual power of external body load for the element of \(V_h\).

The ansatz for both elements is based on Hermite cubic functions for w, ensuring the continuity of the normal component of the gradient along the edges. In each case, the cubic ansatz for the deflection w along the element edge is given for a boundary segment k of the virtual element, defined by the local nodes (1)–(2) (respectively (1)–(2)–(3)) with three unknowns for w and \(\varvec{\theta }\) per vertex, see Fig. 2.

For element 1 the gradient of w along the edge is quadratic while its normal derivative is only linear. Element 1 is of order 2.

Fig. 2
figure 2

Element 1: lowest order VEM element for Kirchhoff-Love plate

To construct a quadratic ansatz for the gradient along the edge one has to introduce an additional unknown per edge, for example the value of \(\theta _{t}\) at the mid node of the edge. This element is denoted element 2 (Fig. 3).

Fig. 3
figure 3

Element 2: lowest order VEM element for Kirchhoff-Love plate with a quadratic gradient on the edge

It is interesting to compare the second element with the first one since it is of order 3, at the price of only one additional degree of freedom per edge. A second issue studied in the paper is related to the relative effective performance of elements 1 and 2 with respect to the type of stabilisation.

The segments of the elements are indexed by \(k= 1, \ldots , n_E\). In order to use the same notation for the two element formulations we adopt the following local convention for an edge k of the element. The origin of the local coordinate system is situated in the node 1 (\(X_k=0\)) and node 2 is located in \(X_k=L_k\) (see Fig. 2). In element 2 a node 3 is added at the middle of the edge (\(X_k=\frac{L_k}{2}\)) with the unknown \(\theta _{t}\). Moreover a non-dimensional local coordinate \(\xi _k=\frac{X_k}{L_k}\) is introduced to defined the ansatz function of both elements.

Hence all element nodes are placed at the vertices for w and its gradient in case of element one. The discrete space of test functions on \(\Sigma _m\) is denoted by \(V_{h}\), and for a conforming approach we require that \(V_{h} \subset V\). This requirement is met by the definition of the shape or basis functions in \(V_{h}\). The \(C^1\) continuous functions of an element \(\Sigma _{E}\) include (but the space is larger than that) quadratic functions.

The tangential and normal vectors \( (\varvec{T},\varvec{N})\) change from segment to segment. In the 2D case, normal \(\varvec{N}\) and tangent \(\varvec{T}\) are given for a segment k as

$$\begin{aligned}&\varvec{N}_k= \left\{ \begin{matrix} n_X \\ n_Y \end{matrix} \right\} _k =\frac{1}{L_k} \left\{ \begin{matrix} -(Y_2-Y_1) \\ X_2-X_1 \end{matrix} \right\} _k\nonumber \\&\quad \text{ and } \,\, \varvec{T}_k= \left\{ \begin{matrix} t_X \\ t_Y \end{matrix} \right\} _k =\frac{1}{L_k} \left\{ \begin{matrix} X_2-X_1 \\ Y_2-Y_1 \end{matrix} \right\} _k \end{aligned}$$
(34)

where \(L_k\) is the length of the segment k and (\(X_i\,,Y_i\)) with \(i = \{1,2\}\) are the nodes of the vertices defining the segment.

4.2 VEM ansatz functions

The virtual element ansatz functions are defined within the local orthonormal basis associated with an edge is denoted by \( \varvec{N}, \varvec{T}, {\varvec{E}_z}\) where \(\varvec{N}\) points outward. To ensure the \(C^1\) continuity requirement of the ansatz functions the values of w its normal derivative \(\nabla w,_n \) have to match along the edge between two adjacent elements. The following relations hold for the derivatives in normal and tangential direction

$$\begin{aligned}&\nabla w \cdot \varvec{T}=w,_s = \varvec{\theta }\cdot \varvec{N}= \theta _n \,, \end{aligned}$$
(35)
$$\begin{aligned}&\nabla w \cdot \varvec{N}= w,_n = -\varvec{\theta }\cdot \varvec{T}= -\theta _t \,. \end{aligned}$$
(36)

With the introduced notation the cubic ansatz for the deflection along the element edge is given for both elements on a segment k by

$$\begin{aligned} ({w}_{h})_k\ = w_1 H_1(\xi _k)+ L_k \theta _{1n} H'_1(\xi _k)+ w_2 H_2(\xi _k)+ L_k \theta _{2n} H'_2(\xi _k) \end{aligned}$$
(37)

where the basis functions are defined in terms of Hermite cubic splines

$$\begin{aligned} \begin{aligned} H_1(\xi _k)&= 2\xi _k^3-3\xi _k^2+1 \\ H'_1(\xi _k)&= \xi _k^3-2\xi _k^2+\xi _k\\ H_2(\xi _k)&= -2\xi _k^3+3\xi _k^2\\ H'_2(\xi _k)&= \xi _k^3-\xi _k^2 \end{aligned} \end{aligned}$$
(38)

The derivative \(\theta _n\) in (36) is then provided by

(39)

which yields the explicit form

$$\begin{aligned} ({\theta }_{hn})_k= & {} \frac{6}{L_{k}}(\xi _{k}^{2}-\xi _{k}) w_{1} +(3\xi _{k}^{2}-4\xi _{k} +1) \theta _{1n} \nonumber \\&+ \frac{6}{L_{k}} (-\xi _{k}^{2}+\xi _{k}) w_{2} + (3\xi _{k}^{2}-2\xi _{k}) \theta _{2n} \end{aligned}$$
(40)

for element 1 and 2.

The tangential rotation \((\theta _{ht})_k\) is defined by the ansatz

$$\begin{aligned} ({\theta }_{ht})_k&= (1-\xi _k )\,\theta _{1t} + \xi _k \, \theta _{2t} \,\quad {\text {for element 1, }} \end{aligned}$$
(41)
$$\begin{aligned} ({\theta }_{ht})_k&= 2\left( \xi _k-\frac{1}{2} \right) (\xi _k-1) \,\theta _{1t} + 2\xi _k \left( \xi _k-\frac{1}{2} \right) \, \theta _{2t}\nonumber \\&\quad + 4 \xi _k(1-\xi _k) \, \theta _{3t} \quad {\text {for element 2. }} \end{aligned}$$
(42)

4.3 Derivation of the \(L^2\) projector

Following the virtual element method, we split the ansatz space into a projected part \(\Pi ({w}_h) \) and a remainder.

$$\begin{aligned} {w}_h = \Pi ({w}_h) + [ {w}_h - \Pi ({w}_h)] \end{aligned}$$
(43)

As previously discussed, a main aspect of the virtual element method (VEM) is the choice of the projector of the deformation onto a specific ansatz space. This has now to be specified for the ansatz related to the two elements discussed above.

4.3.1 Some useful properties

One of the advantages of the virtual element method is, as we will see in the subsequent sections, that integrals have only to be computed at the boundary. But often polynomials are given as functions over the surface \(\Sigma _{E}\) of an element. Those polynomials can always be integrated as line integral over the element boundary. By using the divergence theorem, for example for a 2D domain one can write in general

$$\begin{aligned} \int _{\Sigma _{E}} f(X,Y) \ \mathrm{d}\Sigma= & {} \frac{1}{2} \int _{\Gamma _{e}} \left[ \begin{array}{c c} \int f(X,Y) \mathrm{d}\,X&, \int f(X,Y) \mathrm{d}\,Y\; \end{array}\right] \nonumber \\&\cdot \varvec{N} \, \mathrm{d}\Gamma \,. \end{aligned}$$
(44)

This theorem can now be used for polynomial functions which yields a simplified treatement

$$\begin{aligned} \int _{\Sigma _{E}} X^p Y^q \ \mathrm{d}\Sigma = \frac{1}{2} \int _{\Gamma _{e}}\left( \frac{X^{p+1} Y^q}{p+1} n_X + \frac{X^p Y^{q+1}}{q+1} n_Y\right) \, \mathrm{d}\Gamma \,. \end{aligned}$$
(45)

Hence any polynomial can be computed exactly over a polygon with arbitrary shape, this even holds for a non-convex virtual element.

4.3.2 Derivation of element 1

Since element 1 is of order 2 due to the choice of a specific ansatz for \(\theta _t,\) in (41) the projection \(\Pi \) has to be quadratic. It is defined at element level by

$$\begin{aligned} \Pi ({w}_h) = \mathbf {H} \,\mathbf {a} = \left[ \begin{matrix} 1&X&Y&\frac{1}{2}X^2&\frac{1}{2}Y^2&XY \end{matrix} \right] \, \left\{ \begin{matrix} a_1 \\ a_2 \\ \ldots \\ a_6 \end{matrix} \right\} \end{aligned}$$
(46)

where \(a_i\) are unknown parameters that have to be linked to the element unknowns by the projection procedure.

The curvature of the projection follows from (46) as

$$\begin{aligned} - \left. {\nabla }( \nabla \Pi (w) )_h \right| _e =- \left[ \begin{matrix} a_4 &{} a_6 \\ a_6 &{} a_5 \end{matrix} \right] \end{aligned}$$
(47)

which is constant at element level. Let us recall that the \(L^2\) projection is defined as follows, \(\forall w \in V^1_h, \, \forall p \in P_{2}\{E\} \)

$$\begin{aligned} \begin{aligned} \int _{\Sigma _{E}} \text{ tr }[\varvec{\chi }(p)\varvec{\chi }(\Pi (w))] \ \mathrm{d}\Sigma _{E}=\int _{\Sigma _{E}} \text{ tr }[\varvec{\chi }(p)\varvec{\chi }(w)] \ \mathrm{d}\Sigma _{E} \end{aligned} \end{aligned}$$
(48)

Since \(\varvec{\chi }(p)\) spans with (47) the space of constant curvature this condition is equivalent to

$$\begin{aligned}&\Sigma _{E} \left. \varvec{\nabla }( \nabla \Pi (w) )_h \right| _e {\mathop {=}\limits ^{\smash {\scriptscriptstyle \mathrm {!}}}}\int _{\Sigma _{E}} \varvec{\nabla }( \nabla w )_h \ \mathrm{d}\Sigma _{E}\nonumber \\&\quad = \frac{1}{2} \int _{\Gamma _{e}} ( \nabla w_h \otimes \varvec{N}+ \varvec{N} \otimes \nabla w_h) \,\ \mathrm{d}\Gamma \,. \end{aligned}$$
(49)

The right hand side of (49) can be exactly integrated which yields

$$\begin{aligned} \sum _{k=1}^{n_E}&\int _{0}^{1}\left[ \left( \frac{1}{2 L} w_h(\xi ),_{\xi } \, (\varvec{T} \otimes \varvec{N}+\varvec{N} \otimes \varvec{T}) - \theta _t (\xi ) \,\varvec{N} \otimes \varvec{N}\right) L\,\ \mathrm{d}\xi \right] _k \nonumber \\&= \sum _{k=1}^{n_E}\left[ \frac{1}{2} (w_2-w_1) (\varvec{T} \otimes \varvec{N}+\varvec{N} \otimes \varvec{T}) - L \frac{ \theta _{t1}+\theta _{t2}}{2} \varvec{N} \otimes \varvec{N}\right] _k \,. \end{aligned}$$
(50)

the dyadic products \( \varvec{T} \otimes \varvec{N}\) and \( \varvec{N} \otimes \varvec{N}\) change from segment to segment. Hence by comparing (47) and (50) the unknowns \(a_4\) to \(a_6\) are obtained by inspection where all contributions related to the segments have to be added. We observe that \(a_4\) to \(a_6\) are defined as a linear combination of the nodal values w and \(\theta _{t}\).

The constants \(a_1\) to \(a_3\) still have to be determined. These follow from the two last conditions in (25) which lead to

$$\begin{aligned} \int _{\Sigma _{E}} ( \nabla \Pi (w) )_h \ \mathrm{d}\Sigma _{E} {\mathop {=}\limits ^{\smash {\scriptscriptstyle \mathrm {!}}}}\int _{\Sigma _{E}} ( \nabla w )_h \ \mathrm{d}\Sigma _{E} = \int _{\Gamma _{e}} w_h \varvec{N}\,\ \mathrm{d}\Gamma \end{aligned}$$
(51)

and

$$\begin{aligned} \int _{\Gamma _{e}} \Pi (w_h) \,\ \mathrm{d}\Gamma {\mathop {=}\limits ^{\smash {\scriptscriptstyle \mathrm {!}}}}\int _{\Gamma _{e}} w_h \,\ \mathrm{d}\Gamma \,. \end{aligned}$$
(52)

The term on the left hand side in (51) yields with (46)

$$\begin{aligned} \int _{\Sigma _{E}} ( \nabla \Pi (w) )_h \ \mathrm{d}\Sigma _{E}= \int _{\Sigma _{E}} \left\{ \begin{matrix} a_2+a_4X+a_6Y \\ a_3+a_5Y+a_6X \end{matrix} \right\} \,\ \ \mathrm{d}\Sigma _{E} \end{aligned}$$
(53)

and involves only polynomials. The right hand side of (51) can be explicitly determined as

$$\begin{aligned} \int _{\Gamma _{e}} w_h \varvec{N}\,\ \mathrm{d}\Gamma&= \sum _{k=1}^{n_E}\int _{0}^{1}[( w_1 H_1(\xi )+ L_k \theta _{1n} H'_1(\xi )\nonumber \\&\quad + w_2 H_2(\xi )+ L_k \theta _{2n} H'_2(\xi ) ) \,\ \mathrm{d}\xi ]_k L_k\, \varvec{N}_k \nonumber \\&= \sum _{k=1}^{n_E} \left[ \frac{1}{2}(w_1+w_2) + \frac{L_k}{12} (\theta _{1n}-\theta _{2n}) \right] _k \, L_k\, \varvec{N}_k \end{aligned}$$
(54)

From Eqs. (53) and (51) one derives with (54)

$$\begin{aligned}&\left\{ \begin{matrix} a_2 \\ a_3 \end{matrix} \right\} = \frac{1}{\Sigma _{E}}\left[ \sum _{k=1}^{n_E} \left[ \frac{1}{2}(w_1+w_2) + \frac{L_k}{12} (\theta _{1n}-\theta _{2n}) \right] _k L_k\, \varvec{N}_k\right. \nonumber \\&\quad \left. - \int \limits _{\Sigma _{E}} \left\{ \begin{matrix} a_4X+a_6Y\\ a_5Y+a_6X \end{matrix} \right\} \ \mathrm{d}\Sigma _{E} \right] \end{aligned}$$
(55)

Here the last term can be simply integrated over the boundary using relations (45). Thus (55) leads to a linear mapping of \(a_2\) and \(a_3\) in terms of the element unknowns.

The last term that has to be connected to the nodal values of the ansatz is the coefficient \(a_1\). Using Eq. (52) the coefficient \(a_1\) follows directly. With (46) and (52) one writes

$$\begin{aligned}&\int \limits _{\Gamma _{e}} (a_1+a_2 X+ a_3 Y+\frac{a_4}{2} X^2 + \frac{a_5}{2} Y^2 + a_6 X Y)\,\ \mathrm{d}\Gamma \nonumber \\&\quad = \sum _{k=1}^{n_E} \left[ \frac{1}{2}(w_1+w_2) + \frac{L_k}{12} (\theta _{1n}-\theta _{2n}) \right] _k \, L_k \end{aligned}$$
(56)

which yields \(a_1\) immediately since \(a_2\) to \(a_6\) are known by the relations (50) and (55).

With this result the \(L^2 \) projection \(\Pi ({w}_h)\) of the virtual element is completely defined in terms of the nodal unknowns of the virtual element. We can combine (50), (55) and (56) in the mapping

$$\begin{aligned} \Pi (w_h) = \mathbb {M}_1(X,Y)\,\mathbf {u}_1 \end{aligned}$$
(57)

where \(\mathbf {u}_1= \{ w_1,\theta _{X1},\theta _{Y1} \,, w_2,\theta _{X2},\theta _{Y2}\,\ldots \,, w_{n_N},\theta _{Xn_N},\theta _{Yn_N}\}^T\) is the vector of all nodal unknowns of element 1. Note that the global rotations \((\theta _{X},\theta _{Y})\) are related to the local rotations \((\theta _n,\theta _t)\) by the transformation

$$\begin{aligned} \left[ \begin{array}{c} \theta _{X}\\ \theta _{Y}\end{array}\right] = \left[ \begin{array}{cc}n_X &{} t_X \\ n_Y &{} t_Y\end{array}\right] ^T \left[ \begin{array}{c} \theta _{n}\\ \theta _{t} \end{array}\right] \end{aligned}$$
(58)

using (34). The mapping in (57) will not be formed explicitly since it is not necessary when using the software AceGen, see e.g. [22], to automatically derive and code the stiffness matrix associated with element 1.

4.3.3 Derivation of the \(L^2\) projector for element 2

Due to the choice of the ansatz for w and \(\theta _t\) in (38) and (42) element 2 is of order 3. Thus the projection \(\Pi \) is cubic and defined at element level by

$$\begin{aligned} \Pi _3 {w}_h = \mathbf {H} \,\mathbf {a} = \left[ \begin{matrix} 1&X&Y&\frac{1}{2}X^2&\frac{1}{2}Y^2&XY&\frac{1}{6}X^3&\frac{1}{2}X^2Y&\frac{1}{2}XY^2&\frac{1}{6}Y^3 \end{matrix} \right] \, \left\{ \begin{matrix} a_1 \\ a_2 \\ \ldots \\ a_{10} \end{matrix} \right\} \end{aligned}$$
(59)

The curvature of the projection follows with (59) as a linear function in X and Y

$$\begin{aligned} - \left. \varvec{\nabla }( \nabla \Pi _3 (w) )_h \right| _e =- \left[ \begin{matrix} (a_4 + a_7 X + a_8 Y)&{} (a_6 + a_8 X + a_9 Y) \\ (a_6 + a_8 X + a_9 Y) &{}( a_5 + a_9 X + a_{10} Y) \end{matrix} \right] \,. \end{aligned}$$
(60)

Let us consider again the \(L^2\) projection which is, for element 2, defined as follows, \(\forall w \in V^2_h, \, \forall p \in P_{3}\{E\} \) :

$$\begin{aligned} \begin{aligned} \int _{\Sigma _{E}} \text{ tr }[\varvec{\chi }(p)\varvec{\chi }(\Pi _3 (w))] \ \mathrm{d}\Sigma _{E}=\int _{\Sigma _{E}} \text{ tr }[\varvec{\chi }(p)\varvec{\chi }(w)] \ \mathrm{d}\Sigma _{E}\,. \end{aligned} \end{aligned}$$
(61)

The integral on the right hand side yields with the divergence theorem

$$\begin{aligned} \int _{\Sigma _{E}} \text{ tr }[\varvec{\chi }(p)\varvec{\chi }(w)] \ \mathrm{d}\Sigma _{E}= & {} \int _{\Gamma _e} \varvec{\chi }(p) \cdot (\nabla w_h \otimes \varvec{N}) \mathrm{d}\Gamma \nonumber \\&- \int _{\Sigma _{E}} div{\varvec{\chi }(p)} \cdot \nabla w_h \ \mathrm{d}\Sigma _{E}\,. \end{aligned}$$
(62)

Note that \(\varvec{\chi }(p)\) is symmetric. Hence the integrand of the first term of the right hand side can also be expressed as \(\varvec{\chi }(p) \cdot (\nabla w_h \otimes \varvec{N})= \varvec{\chi }(p) \cdot \frac{1}{2} (\nabla w_h \otimes \varvec{N} +\varvec{N} \otimes \nabla w_h)\).

Again the integrand of the last term can be transformed using

$$\begin{aligned} div [div{\varvec{\chi }(p)} \, w_h]= div{\varvec{\chi }(p)} \cdot \nabla w_h + w_h \,div [div{\varvec{\chi }(p)} ] \end{aligned}$$
(63)

which yields for (62)

$$\begin{aligned} \int \limits _{\Sigma _{E}} \text{ tr }[\varvec{\chi }(p)\varvec{\chi }(w)] \ \mathrm{d}\Sigma _{E}= & {} \int \limits _{\Gamma _e} \varvec{\chi }(p) \cdot (\nabla w_h \otimes \varvec{N}) \mathrm{d}\Gamma \nonumber \\&- \int \limits _{\Gamma _e} div{\varvec{\chi }(p)} \cdot \varvec{N} \,w_h \,d \gamma \nonumber \\&+ \int \limits _{\Sigma _{E}} div [div{\varvec{\chi }(p)}] \,w_h \ \mathrm{d}\Sigma _{E} \end{aligned}$$
(64)

For the cubic ansatz in (59) the last term is zero. All integrals on the right hand side can be evaluated using the ansatz functions (38) and (42). Due to the fact that \(div{\varvec{\chi }(p)}\) is constant and the normal vector \( \varvec{N}_k\) is constant at each edge k of the element we can rewrite (64) as

$$\begin{aligned}&\int \limits _{\Sigma _{E}} \text{ tr }[\varvec{\chi }(p)\varvec{\chi }(w)] \ \mathrm{d}\Sigma _{E}= \int \limits _{\Gamma _e} \varvec{\chi }(p) \cdot (\nabla w_h \otimes \varvec{N}) \mathrm{d}\Gamma \nonumber \\&\quad - \sum _{k=1}^{n_E} div{\varvec{\chi }(p)} \cdot \varvec{N}_k \int \limits _{\Gamma _k} w_h \,d \gamma \,. \end{aligned}$$
(65)

The first integral of the right hand side can be evaluated analogously to (55). The only difference is that now some integral terms occur where the coordinates X and Y appear. The second integral is exactly the same as the right hand side in (56).

The additional conditions (51) and (52) have to be evaluated as well. The first one yields for the integral on the left side

$$\begin{aligned}&\int _{\Sigma _{E}} ( \nabla \Pi (w) )_h \ \mathrm{d}\Sigma _{E}\nonumber \\&\quad = \int _{\Sigma _{E}} \left\{ \begin{matrix} a_2+a_4X+a_6 Y + \frac{1}{2} a_7 X^2 + a_8 X Y + \frac{1}{2} a_9 Y^2 \\ a_3+a_5Y+a_6X + \frac{1}{2} a_8 X^2 +a_9 X Y + \frac{1}{2} a_{10} Y^2 \end{matrix} \right\} \,\ \ \mathrm{d}\Sigma _{E} \end{aligned}$$
(66)

which can be simply integrated over the boundary using relations (45). The right hand side of (51) has the same form as (54)

$$\begin{aligned} \int _{\Gamma _{e}} w_h \varvec{N}\,\ \mathrm{d}\Gamma = \sum _{k=1}^{n_E} \left[ \frac{1}{2}(w_1+w_2) + \frac{L_k}{12} (\theta _{1n}-\theta _{2n}) \right] _k \, L_k\, \varvec{N}_k \end{aligned}$$
(67)

and equalising (66) and (67) determines \(a_2\) and \(a_3\) of (59) as a linear combination of the the element unknowns. The explicit form for the coefficients \(a_2\) and \(a_3\) is equivalent to (55).

Finally the coefficient \(a_1\) can be computed as in (56) the only difference is that now on the left side the ansatz function (59) has to be inserted.

Also for element 2 a mapping can be introduced

$$\begin{aligned} \Pi (w_h) = \mathbb {M}_2(X,Y)\,\mathbf {u}_2 \end{aligned}$$
(68)

where \(\mathbf {u}_2= \{ w_1,\theta _{X1},\theta _{Y1}, \theta _{t1} \,, w_2,\theta _{X2},\theta _{Y2}, \theta _{t2} \,\ldots \,, w_{n_N},\theta _{Xn_N},\theta _{Yn_N}, \theta _{tn_N} \}^T\) is the vector of all nodal unknowns of element 2. Again the local rotations associated with specific edges can be transformed to global rotations using (58).

The generation of the vectors and matrices that appear in the description of both elements can be unified, see Sect. A. This is especially useful when employing the software tool AceGen, see [21, 22] to generate the software code.

5 Construction of the virtual stiffness matrix: different strategies

The basis for the element development is the total energy which can be obtained by assembling all element contributions for the \(n_T\) virtual elements,

(69)

In the following we will first discuss the formulation of the element part that stems from the projection, see last Section. Furthermore, different possibilities for stabilising the virtual plate elements 1 and 2 will be considered.

5.1 Part of the virtual element due to projection

With the strain \(\varvec{\chi }\) of the plate and the loading q we obtain the potential energy of an element

$$\begin{aligned} U_c^e [\Pi (w_h)]= \int \limits _{\Sigma _E}\left[ \frac{1}{2} \varvec{\chi } [\Pi (w_h)] \cdot \mathbb {D} \, \varvec{\chi } [\Pi (w_h] - q\, \Pi (w_h) \right] \,\mathrm{d}\Sigma \end{aligned}$$
(70)

with the constitutive tensor \(\mathbb {D} \).

Note that the strain \(\varvec{\chi }\) is constant for element 1 which leads to a trivial evaluation of the first term. For element 2 the strain \(\varvec{\chi }\) is linear in X and Y, hence the integration involves terms up to second order in the coordinates which again can be performed over the boundary using (45).

The projection \(\Pi (w_h)\) is known in terms of the unknowns \((w\,,\theta _X\,,\theta _Y)_k\) at the vertices for element 1 and 2 and at the unknown rotation \(\theta _t\) at the mid node of element 2, see (57) and (68). These mappings can be inserted into (70) which yields for element \(e=1,2\)

$$\begin{aligned}&U_c^e [\mathbb {M}_e(X,Y)\,\mathbf {u}_e]\nonumber \\&\quad = \int \limits _{\Sigma _E}\left[ \frac{1}{2} \varvec{\chi } [\mathbb {M}_e(X,Y)\,\mathbf {u}_e] \cdot \mathbb {D} \,\varvec{\chi } [\mathbb {M}_e(X,Y)\,\mathbf {u}_e] - q\, \mathbb {M}_e(X,Y)\,\mathbf {u}_e \right] \mathrm{d}\Sigma \,.\nonumber \\ \end{aligned}$$
(71)

Once the integration over the element area is carried out the potential is just a function of the unknowns of the element. Then residual vector \(\mathbf{R}_e\) and stiffness matrix \(\mathbf{K}_e\) follow from

$$\begin{aligned} \mathbf{R}_e = \frac{\partial U_c^e [\mathbf {u}_e]}{\partial \mathbf {u}_e} \quad \text{ and } \,\, \mathbf{K}_e = \frac{\partial \mathbf{R}_e}{\partial \mathbf {u}_e} \,. \end{aligned}$$
(72)

for element e.

5.2 Classical stabilisation

Within the virtual element method the curvature of the projected part of the deflection w is approximated by a constant and linear part, depending on the element type, as discussed in the last Section. A construction of a virtual element which is based purely on this projection leads to a rank deficient element, see Table 1. Thus the formulation has to be stabilised, see [13, 26]. In what follows we use first the stabilisation suggested in these papers. This leads to a stabilisation operator which addresses the error at all element nodes (vertices and midpoints):

$$\begin{aligned}&\widehat{U}_{stab}^e (w_h- \Pi ({w}_h)) = \frac{D}{2\,h_e^2} \sum _{i=1}^{n_V}\nonumber \\&\left[ \widehat{w}(\mathbf {X}_i)^2 + \left\| \frac{L_{i-1}+L_i}{2} \nabla \widehat{w}(\mathbf {X}_i)\right\| ^2 + \left\| L_i \, \widehat{\theta }_t(\mathbf {X}_i)\right\| ^2 \right] \\&\text{ with } \,\, \widehat{w}(\mathbf {X}_i) = w_h(\mathbf {X}_i) - \Pi ({w}_h)(\mathbf {X}_i)\,, \nonumber \\&\nabla \widehat{w}(\mathbf {X}_i) = \nabla w_h(\mathbf {X}_i) - \nabla \Pi ({w}_h)(\mathbf {X}_i) \,\,\, \text { and } \nonumber \\&\widehat{\theta }_t(\mathbf {X}_i) = \left\{ \begin{array}{ll} \theta _{t\,h}(\mathbf {X}_i) - \Pi (\theta _{t\,h})(\mathbf {X}_i) &{} \text { for el 2} \\ 0 &{} \text { for el 1.} \end{array} \right. \nonumber \end{aligned}$$
(73)

Here \(h_e\) is the maximum diameter of the virtual element e thus \(h_e^2\) can be interpreted as the element area \(\Sigma _e\). The function \(w_h\) and the projection \(\Pi ({w}_h)\) have to be evaluated at the vertices \(\mathbf {X}_i\).

The formulation (73) is now extended to an integral describing the total error on the edge instead of discrete values. This new stabilisation takes into account the distribution of each degree of freedom along the edge

$$\begin{aligned}&\text {Stab 2: }\ \widehat{U}_{stab}^e (w_h- \Pi ({w}_h))\nonumber \\&\quad = \frac{D}{2\,\Sigma _e} \sum _{k=1}^{n_E} \frac{1}{L_k} \int \limits _{\Gamma _{k}}\left[ \widehat{w}(\varvec{X_k})^2 + \Vert L_k \nabla \widehat{w}(\varvec{X}_k) \Vert ^2 \mathrm{d}\Gamma \right] \,. \end{aligned}$$
(74)

Again \(h_e^2\) can be used in this equation instead of \(\Sigma _e\). The edge integral in (74) is evaluated numerically using Gauss quadrature

$$\begin{aligned} \int \limits _{\Gamma _{k}} \,f(\varvec{x}_k) \mathrm{d}\Gamma =L_k \sum _{g=1}^{n_g} w_g f(\varvec{x}_g) \end{aligned}$$
(75)

where the Jacobian \(J_\xi \) in the transformation \(\mathrm{d}\Gamma = J_\xi \mathrm{d}\xi \) is the length of the \(k^{\text {th}}\) edge \(J_\xi =\Vert \frac{\partial \varvec{X}}{\partial \xi }^\Gamma \Vert =L_k\) and \(\xi \in \left[ 0,1\right] \) is the local coordinate.

When employing stabilisation (74) the resulting tangent matrix has full rank. Note, that stabilisation (73) is easier to implement than the second one.

5.3 Energy stabilisation

A stabilisation technique based on energy differences was first introduced for virtual solid elements in [38] for virtual elements. It is based on the idea of introducing the following stabilisation energy, see e.g. [23]

$$\begin{aligned} U_{stab}(w_h-\Pi (w_h)) = \widehat{U}(w_h) - \widehat{U}(\Pi (w_h))\,. \end{aligned}$$
(76)

The second term on the right hand side ensures consistency of the total potential energy

$$\begin{aligned} U(w_h) = U_c(\Pi (w_h))+\widehat{U}(w_h) - \widehat{U}(\Pi (w_h)) \end{aligned}$$
(77)

since \(U_{stab}(w_h-\Pi (w_h)) \rightarrow 0\) for \(h \rightarrow 0\) where h relates to the element size.

Often it is convenient to use the same strain energy \(\psi \), see (17), for the consistency part \(U_c (\Pi (w_h))\) and the stabilisation part \(U_{stab}(w_h-\Pi (w_h))\). In that case a stabilisation parameter \(\beta \) is introduced to control the amount of stabilisation. By multiplying \(U_{stab}(w_h-\Pi (w_h))\) by \(\beta \) one obtains with \(U_c(\Pi (w_h))= U [\psi (\Pi (w_h))]\) and \(\widehat{U} (w_h) = U [\psi (w_h)]\)

$$\begin{aligned} U(w_h)= U[\psi (\Pi (w_h))]+ \beta \left[ U[\psi (w_h)] - U[\psi (\Pi (w_h))] \right] \end{aligned}$$
(78)

which can be reformulated as

$$\begin{aligned} U(w_h) = (1-\beta )\, U[\psi (\Pi (w_h))] + \beta \,U[\psi (w_h)] \end{aligned}$$
(79)

In this formulation it remains to compute \( U[\psi (w_h)] \) which on a first glance seems to be impossible since \(w_h\) is not known in the interior of a virtual plate element. The solution is to subdivide the virtual element into triangles as shown in Fig. 4 and to use specific triangular plate elements to evaluate \(U[\psi (w_h)] \).

Fig. 4
figure 4

Internal triangular mesh: a Morley element and b DKT element

The chosen elements should possibly not introduce extra degrees of freedom. Thus two simple choices are considered. These are the Morley element, see [29] and the discrete Kirchhoff plate element (DKT), see [6]. In the following we will describe the main features of these elements.

Morley element It is based on six degrees of freedom and has six nodes with one degree of freedom at each node. The nodal values are related to the deflection \(w_i\) at the vertices and the rotations \(\theta _k\) around the tangent of the element at the mid nodes. Thus the Morley element will match only part of the unknowns of the consistency part of element 1 and 2 and introduces extra degrees of freedom at the mid nodes in the interior of the virtual elements due to the submesh, see Fig. 4a.

The unknown nodal values can be combined in the vector \(\mathbf {p}_{\mathcal T}^M = \{w_1\,,w_2\,,w_3\,,\theta _4\,,\theta _5\,,\theta _6\}^T\) which yields

$$\begin{aligned} w_h= \mathbf {N}\, \mathbf {p}_{\mathcal T} = N_1 w_1 + N_2 w_2+ N_3 w_3 + N_4 \theta _4 + N_5 \theta _5 + N_6\theta _4 \end{aligned}$$
(80)

where \(N_I\) are quadratic shape functions that can be found explicitly in [37]. This ansatz leads to a non-conforming plate bending element with constant curvature and moments. With the ansatz (80) the plate curvatures can be computed from (15) leading to

$$\begin{aligned} \hat{\chi } = \mathbf {B}_M \,\mathbf {p}_{\mathcal T}^M \end{aligned}$$
(81)

where \( \mathbf {B}_M\) includes the derivatives of the ansatz functions \(N_I\). The strain energy of one element \(\Sigma _k^i\) can then be defined following (17) with (16) as:

$$\begin{aligned} U[\psi (w_h)] = \frac{1}{2} \int \limits _{\Sigma _k^i} \hat{\chi } ^T \, \hat{\mathbb {D}}\, \hat{\chi } \,\mathrm{d}A=\frac{1}{2} [\mathbf {p}_{\mathcal T}^M]^T \int \limits _{\Sigma _k^i} \mathbf {B}_M^T\hat{\mathbb {D}}\,\mathbf {B}_M \,\mathrm{d}A \,\mathbf {p}_{\mathcal T}^M \end{aligned}$$
(82)

Note that the integrand is constant. Hence the strain energy can simply be written as

$$\begin{aligned} U[\psi (w_h)] ^M = \frac{{\Sigma _k^i} }{2} [\mathbf {p}_{\mathcal T}^M]^T \, \mathbf {B}_B^T \hat{\mathbb {D}} \,\mathbf {B}_B \,\mathbf {p}_{\mathcal T}^M \end{aligned}$$
(83)

where \({\Sigma _k^i} \) is the area of one of the internal triangles. Since no integration is needed this yields a very efficient code for the stabilisation part \(\widehat{U}(w_h) \).

DKT element This element uses a shear deformable theory, but enforces the Kirchhoff constraint pointwise. It has three nodes with 3 degrees of freedom per node which are the deflection w and two rotations \(\gamma _x\) and \(\gamma _y\) around the X and Y axis, respectively. Hence the element has the same degrees of freedom as the virtual element 1 but misses the rotation at the mid side used in the virtual element 2. The unknowns are at the vertices, see the submesh in Fig. 4b. The DKT stabilisation does not introduce new unknowns compared to the consistency part. The interpolation leads to the vector of unknowns in the element \(\mathbf {p}_{\mathcal T}^D = \{w_1\,,\gamma _{x1}\,,\gamma _{y1}\,,w_2\,,\gamma _{x2}\,,\gamma _{y2}\,,w_3\,,\gamma _{x3}\,,\gamma _{y3}\,\}^T\). Based on the introduced constraints special quadratic shape functions were derived in [6] which yield compatible rotations \(\beta _x\) and \(\beta _y\)

$$\begin{aligned} \varvec{\beta }= \begin{pmatrix} \beta _X \\ \beta _Y \end{pmatrix} = \begin{pmatrix} \mathbf{H}^T_X \\ \mathbf{H}^T_Y \end{pmatrix} \mathbf {p}_{\mathcal T}^D \end{aligned}$$
(84)

in terms of the nodal unknowns \( \mathbf {p}_{\mathcal T}^D\). The derivative of these rotations with respect to X and Y leads to the curvatures within the element

$$\begin{aligned} \hat{\chi } = \begin{pmatrix} \beta _{X,X} \\ \beta _{Y,Y} \\ \beta _{X,Y}+ \beta _{Y,X} \end{pmatrix} = \mathbf {B}_D \,\mathbf {p}_{\mathcal T}^D \end{aligned}$$
(85)

which can be used to formulate the strain energy of one element following (17) and (16)

$$\begin{aligned} U[\psi (w_h)] ^D =\frac{1}{2} [\mathbf {p}_{\mathcal T}^D]^T \int \limits _{\Sigma _k^i} \mathbf {B}_D^T \hat{\mathbb {D}} \,\mathbf {B}_D \,\mathrm{d}A \,\mathbf {p}_{\mathcal T}^D\,. \end{aligned}$$
(86)

Note that the integrand is of quadratic order and thus has to be numerically integrated using an adequate Gauss quadrature.

Both elements used within the energy stabilisation need a local assembly of all triangular elements in the submesh of the virtual element.

6 Comparison of the different stabilisations and numerical examples

In this section we first study and compare the two classical stabilisations and then the energetic ones. This allow us to select one which be used subsequently all along the paper. The performance of the proposed virtual plate elements will be illustrated by means of numerical examples that are related to applications in engineering. Isotropic material behaviour as well as anisotropic materials and composites will be investigated. All numerical solutions are compared with analytical solutions where available.

6.1 Notation used in the examples

In general the following element formulations for plates will be analysed:

  • VE-1: first order VEM formulation. Degrees of freedom per element edge are: \(\lbrace (w_k, \varvec{\theta }_{k}),\) \((w_{k+1}, \varvec{\theta }_{k+1}) \rbrace \), see Sect. 4.3.2,

  • VE-2: second order VEM formulation. DOFs per element edge are: \(\lbrace (w_k, \varvec{\theta }_{k})\), \(({\theta }_{t\,k}),\) \((w_{k+1}, \varvec{\theta }_{k+1}) \rbrace \), see Sect. 4.3.3,

  • FE-M: first order FEM Morley formulation. DOFs per element edge are: \(\lbrace (w_k)\), \(({\theta }_{t\,k}),\) \((w_{k+1}) \rbrace \), see Sect. 5.3

  • FE-DKT: DKT plate element. DOFs per element edge are: \(\lbrace (w_k, \varvec{\theta }_{k}),\) \((w_{k+1},\) \(\varvec{\theta }_{k+1}) \rbrace \), see Sect. 5.3

The following types of stabilisation will be employed for the virtual plate elements:

  • st-1a/b: classical, nodal error stabilisation (73), where ”a” refers to using the element size \(h_e^2\) and ”b” to employing the element area \(\Sigma _e\), both are used in the denominator.

  • st-2a/b: classical, edge-integrated error stabilisation (74) where ”a” and ”b” have the same meaning as above,

  • st-M: Morley stabilisation, see Sect. 5.3 and

  • st-K: Stabilisation with DKT element, see Sect. 5.3.

In general the following types of elements and meshes will be considered

  • Q1: quadrilateral mesh with 4 edges per element,

  • T1: triangle mesh with 3 edges per element,

  • VO-U: Voronoi-type mesh, with uniformly distributed cell seeds,

  • VO-R: Voronoi-type mesh, with randomly distributed cell seeds.

This means that Q1 meshes consist of quadrilateral elements which are virtual elements with four edges and 12 unknowns (element 1) or 16 unknowns (elements 2). In the same way a T1 mesh consists of virtual elements with triangular shape having 9 unknowns (element 1) or 12 unknowns (element 2). The actual number of nodes in a Voronoi type mesh depends on the shape of the Voronoi cells. In our examples the number of edges in a Voronoi-type mesh varies from three to ten.

6.2 Study and comparison of the different stabilisations

The first example is used to compare results related to the different stabilisation techniques. Additionally the general convergence characteristics of element 1 and 2 are reported. A fully clamped square plate of size \(B \times H = 8 \,\mathrm{m} \times 8 \,\mathrm{m}\) is used for this purpose since an analytical solution is available. The plate is subjected to a uniform load \(\bar{q}\) see Fig. 5a. The material parameters are given in Table 2.

Table 2 Material parameters

The analytical results of the clamped plate problem can be found in [34]. Table 3 provides the reference solutions for various quantities for the given data.

Table 3 Analytical solutions for the clamped plate

The study is based on the meshes depicted in Fig. 5b–d for a discretisation with square, elongated rectangular and Voronoi elements, respectively.

Fig. 5
figure 5

Boundary value problem (a), and 3 types of meshes used, square quadrilateral Q1 (b), elongated quadrilateral Q1 (c) and random-seed voronoi type VO-R mesh (d)

6.2.1 Study and comparison of classical stabilisation variants

The convergence study for virtual element 1 (VE-1) and virtual element 2 (VE-2) using the two types of classical stabilisation, is shown for square elements in Fig. 6, for rectangular elongated elements in Fig. 7 and for regular and unstructured Voronoi meshes in Fig. 8. The convergence study is made regarding the deflection at the center of the plate and the energy.

Fig. 6
figure 6

Convergence study of deflection w for elements 1 and 2 for square (\(n_X:n_Y =1:1\)) Q1 meshes

Fig. 7
figure 7

Convergence study of deflection w for elements 1 and 2 for elongated (\(n_X:n_Y =1:8\)) Q1 meshes

Fig. 8
figure 8

Convergence study of energy W and deflection w for elements 1 and 2 for different forms of the elements (structured and unstructured meshes)

One can observe that the choice of stabilisation does not have a big influence for the quadrilateral element VE-1. We will discuss the influence of the stabilisation when using triangular shape elements in Sect. 7. The effect between stabilisation type ”a” and ”b” related to the normalisation with element size \(h_e^2\) (st-\(\square \)a) or the area \(\Sigma _e\) (st-\(\square \)b) is negligible. But generally, using the area yields slightly better results in all cases. There is a slight difference in stabilisations 1 and 2. For Q1 meshes stabilisation 1 is the best, but for Voronoi meshes, stabilisation 2 is better by a small amount. It seems that the best stabilisation depends on the mesh type. As expected the structured meshes perform better than unstructured Voronoi type meshes. It is interesting to note that in this example the Q1 meshes yield the best results which will be explored further in Sect. 7.

Figure 9 depicts contour plots of the deflection w and the bending moment \(M_{XX}\), for the virtual element VE-2:st-1b. but graphically all mesh types produce similar results and demonstrate that the developed virtual plate elements are capable of computing meaningful engineering solutions. The contour plots of the structured meshes as well as the unstructured Voronoi meshes report minimum and maximum bending moments (\(\text{ max } \,M_{XX}=3.285\) and \(\text{ min }\, M_{XX}=-1.466\)) that match exactly the analytical results in Table 3.

Fig. 9
figure 9

Deflection w (ac) and Moments \(M_{XX}\) (df) for structured and unstructured meshes, note that \(M_{YY}\) is same but flipped over the domain diagonal

6.2.2 Study of energetic stabilisation

While studying the energy stabilisation using Morley and DKT element different issues where encountered. We will therefore first discuss the stabilisation of VE-1 using the Morley element before studying the stabilisation of VE-2 using the DKT element.

Energetic stabilisation of VE-1 using the Morley element

Elements VE-1 and Morley are based on ansatz functions that lead to constant curvature within the element. Thus the Morley element was selected for stabilisation. One aspect of the energetic stabilisation is the parameter \(\beta \) which controls the influence of the stabilisation part of the energy. Figure 10 shows convergence curves obtained for the clamped plate under uniform load depending on \(\beta \).

It appears that values of \(\beta \) ranging from 0.4 to 0.8 yield similar results. For smaller values of \(\beta \) the convergence behaviour deteriorates. In total it can be concluded that a stabilisation with the Morley element is not satisfactory since the best results is achieved with the classical stabilisation.

Energetic stabilisation of VE-2 using the DKT element

Figure 11 depicts the convergence of the DKT element and the VE-2 element for a Q1 mesh. We first note that the convergence of DKT is lower than two. The convergence curves for a stabilisation with \(\beta =0.2\) and \(\beta =0.05\) increase the coarse mesh accuracy when compared to the DKT solution. A smaller value for \(\beta \) yields a better convergence. Up to a certain level of mesh refinement both stabilisations even lead to the second order rate of convergence, as is achieved with the classical stabilisation (st-1b). This in fact is not surprising since using a non vanishing value of \(\beta \) for small element sizes will prevent the second order convergence rate expected for VE-2 in the limit \(h_e \rightarrow 0\). This observation led to a recipe in which \(\beta \) is scaled by the size of the element \(\Sigma _e\) in the refined mesh with respect to the element size \(\Sigma _0\) in the initial coarse mesh with 1 element leading to the formula \(\beta _e= \frac{1}{2} \frac{\Sigma _e}{\Sigma _0}\). This scaling allows to recover the expected rate of convergence for VE-2 which is parallel to the curve using the classical stabilisation.

Fig. 10
figure 10

Convergence study related to the parameter \(\beta \) on a Q1 mesh for VE-1

Fig. 11
figure 11

Convergence study related to the parameter \(\beta \) at DKT-stabilisation on a Q1 and Voronoi mesh for VE-2

In conclusion the use of the proposed classical stabilisation is more simple and more efficient than the energetic one and therefore will be used in the rest of the paper. This conclusion could be different in the case of material non-linearities, a case for which it is not obvious to propose an efficient classical stabilisation. The results for stabilisation 1b and 2b are quite similar but stabilisation 1b seems generally to give the best results. In what follows we make use of stabilisation 1b systematically without referring to it anymore.

6.3 Dealing with singularities, the rhombic plate

Another example is the simply supported rhombic plate, see Fig. 12a, which is more complex due to a singularity. The plate is simply supported and loaded by a uniform load with \(H=B= 8\) m. The angle \(\alpha \) in Fig. 12a is chosen as \(\alpha = 30^\mathrm{o}\) which yields an internal, obtuse angle of \(150^\mathrm{o}\). The material parameters were taken from Table 2.

Near the obtuse angles the solution is singular which leads to a solution belonging to \(H^{\gamma -\epsilon }, \, \forall \epsilon >0\) with \(\gamma = 2- \frac{\alpha }{\pi -\alpha }\).

Fig. 12
figure 12

Rhombic plate geometry and meshes

Fig. 13
figure 13

Rhombic plate with \(\alpha = 30^\mathrm{o}\): Convergence study of the deflection w for Elements 1 and 2 st-2b for regular, Fig. 12b, and Voronoi, see Fig. 12d and e, meshes and adaptively refined meshes, Fig. 12c

Therefore the convergence is governed by the singularity for uniform meshes.

One of the advantages of the VEM is that it is easily possible to adaptively refine a mesh, see Fig. 12b, in a non uniform manner, see Fig. 12c allowing to recover a better convergence rate. The refinement is based on bisecting \(h_e\) as shown in Fig. 12c. This can be simply done by adding a new nodes at the middle of the edge of the element since the number of nodes can be arbitrary in the virtual element scheme and avoids the burden of hanging nodes. Five refinement steps were executed towards the obtuse corner. Due to the local refinement one can observe the drastic increase of convergence rate compared to uniformly refining of the mesh by a factor of 2 as shown in Fig. 13. The used refinement however is not sufficient to recover the optimal convergence rate, see [5], but it shows the sensitivity of the solution with respect to the mesh refinement at the singularity. Here the adaptive refinement is performed in a way, that the difference of the energy between element nodes is a criteria for refinement. Thus to keep the difference small, the elements at the obtuse corners are refined, as depicted in Fig. 12c. In total 5 refinement steps were used to obtain the solution in Fig. 13. In this convergence study, additionally, the energy of the previous refinement step is used as an indicator for the refinement in the next step.

An analytical solution can be found in [28] for different plate angles, however it is only provided up to three digits. Using finite element convergence studies convergence results for the rhombic plate were reported in [5, 36] with 3 digit accuracy, thus the obtained results related to the adaptive refined mesh do not converge linearly. We note, that the asymptotic convergence rate of 0.2 (related to the singularity) is recovered for all element formulations with a uniformly refined mesh which is clearly depicted in Fig. 13.

Fig. 14
figure 14

Moment plot for VE-2:Q1 with \(32\times 32\) elements, St-1b

Fig. 15
figure 15

Simply supported plate, deflection and moment plot on deformed configuration

Finally, Fig. 14 shows the distribution of the bending moments \(M_{XX}\) and \(M_{YY}\) for the rhombic plate using a uniform mesh with \(32 \times 32\) Q1 virtual elements.

6.4 Rectangular orthotropic plate

To investigate the convergence behaviour of the new plate elements for orthotropic material behaviour a rectangular plate is considered for which the analytical solution is provided in [35]. The orthotropic directions coincides with the main axis of the plate.

Using the same notation as in [35] the problem is characterised by a simplified material stiffness matrix, see (21),

$$\begin{aligned} \hat{\mathbb {D}}_{G} = \begin{bmatrix} D_x &{} D_1&{} 0 \\ D_1&{} D_y &{} 0 \\ 0 &{}0 &{}D_{xy}\end{bmatrix}= \frac{t^3}{12} \begin{bmatrix} E_x &{} \hat{E}&{} 0 \\ \hat{E} &{} E_y &{} 0 \\ 0 &{}0 &{}G \end{bmatrix} \end{aligned}$$
(87)

where t is the thickness of the plate whose length is denoted by \(a = 2\) mm and its width by \(b = 1\) mm. The plate is simply supported and subjected to a uniform load q. In the example the following geometric data are chosen as shown in Table 4.

Table 4 Material parameters of Timoshenko plate example

By noting that \(H = D_1 + 2 D_{xy}\), the deflection, see Fig. 15, can be expressed by the sum of the series

$$\begin{aligned} w(X,Y)= & {} \frac{16 \,q }{\pi ^6} \sum _{m=1,3,5 ..} \sum _{n=1,3,5 ...}\frac{1 }{m n (\frac{m^4}{a^4} D_x + 2 \frac{m^2n^2}{a^2b^2} H + \frac{n^4}{b^4} D_y)} \nonumber \\&\sin \left[ \frac{m \pi }{a}X\right] \sin \left[ \frac{n \pi }{b}Y\right] \,. \end{aligned}$$
(88)

We consider for the convergence analysis the deflection at the center \((X,Y)=(\frac{a}{2},\frac{b}{2})\) of the plate, denoted by \(w_c\). The value of \(w_c\) is computed for the given data with Mathematica by employing (88) with \(m=n=1,3,\ldots ,31\) which yields the result \(w_{ref}=- 1.5835858431216134\) mm.

Fig. 16
figure 16

Convergence study of the deflection w for Timoshenko type VEM element 2: st-2b for regular (Fig. 12b) and Voronoi (Fig. 5c) meshes

Figure 16 depicts the error in the maximum deflection in the middle of the plate. We observe a quadratic convergence rate for element 2 for Q1 and Voronoi meshes VO-R and VO-U. As in the previous example, Q1 element performs best, however the convergence rate is more erratic. This example underlines that the Kirchhoff-Love virtual elements converge for these more intricate materials with the same order as for isotropic materials.

6.5 Plate with anisotropic material as cantilever beam

Next we deal with double cantilever plate specimens made of composite material. This setup was used in [2] to investigate the value of the critical energy release rate depending of the relative angle of a stack of plies adjacent to the considered interlaminar interface.

Fig. 17
figure 17

Composite DCB plate geometry (mm)

Fig. 18
figure 18

The cantilever beam, moment plot on deformed configuration for one \(22.5^\mathrm{o}\) ply and for a \([22.5^\mathrm{o}, -22.5^\mathrm{o}, -22.5^\mathrm{o}, 22.5^\mathrm{o}, -22.5^\mathrm{o}, 22.5^\mathrm{o}, 22.5^\mathrm{o},-22.5^\mathrm{o} ]_s\) composite plate, scaled displacements

For the test setup shown in Fig. 17 bending solution for three stacking sequences are computed. The plate has dimensions \(B=\) 50 mm and width \(H=\) 20 mm. This plate is assumed to be clamped at the left side while a line load \(\bar{q}\) is applied on the right part. The material under consideration is a made of M18/M55J unidirectional plies. In what follows 1, refers to the direction of the fiber and 2 refers to the orthogonal direction inside the ply within the beam, see Table 5.

Table 5 Material parameters and geometry data for the orthotropic cantilever beam

We first compute the response for a solution with one ply whose orientation is at \(22.5^\mathrm{o}\). In Fig. 18a the distribution of \(M_{XX}\) is plotted with respect to an amplified deformed configuration. Since the orthotropic axis of the plate do not coincide with the global axis of the cantilever plate a coupled bending-torsion type of response is produced, as expected. This is the reason why those test are usually not performed. One prefers testing stacking sequences which avoid this kind of coupling as it is the case for stacking sequences of the type \([\phi , -\phi ,-\phi , \phi ,-\phi ,\phi ,\phi ,-\phi ]_s\). Due to the symmetry of the stacking sequences decoupling between tension occurs with respect to the mid-plane but yields an orthotropic bending response. The total material matrix is computed from (21). For such stacking sequence and for \(\phi = 22.5^\mathrm{o}\) the distribution of \(M_{XX}\) is plotted on an amplified deformed configuration, see Fig. 18b.

7 Use of the \(C^1\)-continuous virtual element in a finite element environment

Since the developed virtual plate element can have arbitrary number of nodes it is possible to construct a triangular or quadrilateral \(C^1\)-continuous plate element using element 1 or 2. Those elements can be implemented easily in conventional finite element codes. The advantage is that the construction of \(C^1\)-continuous finite plate elements need a high ansatz order, like in the TUBA family of triangular elements in [4] or are—as quadrilaterals—a composition of four triangular elements, see [18]. The developed formulation provides the necessary \(C^1\)-continuity for Kirchhoff plates with much simpler elements.

It is interesting to investigate how the above derived virtual plate elements compare as triangular (3-noded) and quadrilateral (4-noded) elements with classical finite elements for Kirchhoff plates. Within two standard benchmark examples, see e.g. [30], we illustrate the performance of the derived virtual plate elements. The results are compared with finite elements that approximate that curvature in the same way as the derived virtual elements 1 and 2. For the virtual element 1 (VE-1) an equivalent Kirchhoff plate element with constant curvature is the nonconforming Morley element, already described in Sect. 5.3. For element 2 (VE-2) we select a non-conforming triangular plate element, developed by [33], and the DKT element, see Sect. 5.3, which rely on a linear curvature approximation.

Fig. 19
figure 19

Convergence study of the deflection w under uniform load for VE-1 and -2, compared with finite elements

Clamped plate under uniform load

As first example we use a clamped plate under uniform load \(\bar{q}\), already discussed in Sect. 6.2. The geometry and material data are the same as in in Sect. 6.2 and the analytical solution is given in Table 3. Results related to the convergence behaviour of a number of conforming and non-conforming plate elements are provided in [30] for the case of a uniform load.

Fig. 20
figure 20

Convergence of the deflection w for Elements 1 and 2, compared to Morley, Specht and DKT finite elements for plate under uniform load

We compared with the solutions obtained with finite elements from Morley and Specht and the DKT formulation which are plotted next to the results of the VE- 1 and VE-2 elements used as standard triangles and quadrilaterals, see 19. For the pointwise stabilisation’ ’st-1”, see (73), Fig. 19a demonstrates that VE-1 has a better coarse mesh accuracy than the Morley element despite the fact that both elements have a constant approximation of the curvature. In the same way, VE-2 outperforms the DKT and Specht elements, although both elements approximate the curvature with a linear polynomial. It is interesting that the triangular element VE-1 has an extremely good coarse mesh accuracy when using the continuous stabilisation ”st-2” in (74) as shown in Fig. 19b. The triangular element VE-1:T1 with stabilisation 2b is simple, efficient and has only three nodes. Thus it qualifies as a \(C^1\)-continuous Kirchhoff plate element for legacy codes.

The rate of convergence is depicted in Fig. 20a for the constant curvature elements and demonstrates for all element formulations the same order of asymptotic convergence. Contrary to that, VE-2 has a higher convergence order when compared to the DKT and Specht elements as demonstrated in Fig. 20b. Thus the conforming virtual element 2 as a triangular well as as a quadrilateral element is performing extremely well.

Fig. 21
figure 21

Distorted meshes for a \(2 \times 2\), \(4 \times 4\) and \(32 \times 32\) density

A distorted mesh, as depicted in Fig. 21 for quadrilateral and triangular element meshes with different densities, is used to investigate the behaviour of the quadrilateral and triangular virtual plate elements.

The convergence results are depicted in Fig. 22 for the continuous stabilisation ”st-2”. They show the same behaviour as the uniform mesh. Again the triangular element has better coarse grid characteristics than the quadrilateral element when using the continuous stabilisation, see Fig. 22a. Also the asymptotic convergence rate is maintained for the distorted mesh which is demonstrated in Fig. 22b.

Fig. 22
figure 22

Convergence study of the deflection w under uniform load for VE-1 and -2 with “st-2b”, compared with finite elements on distorted meshes in Fig. 21

Clamped plate under point load

As a second example we apply the triangular and quadrilateral virtual element to the clamped plate under point load \(F = 64\) kN. The geometrical and the material data are described in Sect. 6.2. The analytical solution is reported in [35] as \(w=-0.0896 \frac{F}{D}\). The plot in Fig. 23 depicts the convergence behaviour of the different element formulations.

As shown in Fig. 23a the pointwise stabilisation”st-1” yield the best results for VE-2 while Fig. 23b depicts the superior coarse mesh accuracy of element VE-1:T1 for the continuous stabilisation ”st-2”, as in the previous example. The asymptotic convergence behaviour can be observed in Fig. 24. Here again the coarse mesh accuracy of the VE-1:T1 element is demonstrated in Fig. 24a. Expectantly the same asymptotic convergence rate is achieved for VE-1: T1 and VE-1:Q1. Due to the point load the rate of convergence is lower for the higher order ansatz which can be seen in Fig. 24b. Here VE-2: Q1 depicts the best performance when using the pointwise stabilisation.

Fig. 23
figure 23

Convergence study of the deflection w under point load for VE-1 and -2, compared with finite elements

Fig. 24
figure 24

Convergence of the deflection w for Elements 1 and 2, compared to Morley and DKT finite elements for plate under point load

It is impressive to see in both examples, that the proposed virtual elements (VE-1:T1 st-2b and VE-2:Q2 st-1b) outperform the DKT element which, in the engineering literature, is known to be an excellent element. This qualifies both virtual plate elements as candidates for engineering software related to the analysis of thin plates. Especially the very simple triangular element VE-1:T1 st-2b is a good candidate since it fits easily in existing software packages, having only three nodes and the same number of unknowns at each node which is actually equivalent to using the Specht or DKT element.

8 Conclusion

The virtual element method is a simple and powerful tool to construct \(C^1\)-continuous discretisations as needed in the case of Kirchhoff-Love theory for plates. This even works for elements with arbitrary shape and number of nodes. In this paper we have developed in a more engineering way of writing the theory presented in [13], extended its range of applications compared to [16] and also introduced and discussed several possible stabilisation techniques. Various examples and convergence studies were provided to demonstrate the ability of the virtual plate elements to solve engineering problems based on two simple element formulations. The second element is very appealing because despite its simple formulation it leads to second order accuracy and has, compared to existing plate elements, a very high coarse mesh accuracy. Moreover, both developed elements behave similarly well for isotropic and anisotropic cases. With its flexibility VEM is also well suited for non uniform mesh refinement which is required to recover the optimal rate of convergence in case of singularities encountered for example in rhombic plates. Finally, it appears that restricting the element shapes to those of classical finite plate elements allows to enrich the set of elements available in legacy codes with simple and accurate \(C^1\)-continuous plate elements that are simpler than the known \(C^1\)-continuous finite plate elements and also much faster. This work could be extended to plate structures in the nonlinear regime, undergoing large deflections and rotations.