Introduction of virtual element method (VEM)

VEM is a recently proposed numerical discretization technique in Galerkin framework which is inspired by mimic finite difference (MFD) method, and since the date of birth it has been extensively developed and applied to a wide range of engineering problems. The core of the method is to construct a projector which projects the function in local virtual element space (or say, local shape function space) to a polynomial space with prescribed order. In this way VEM avoids the explicit construction of shape function and its integral over the element domain; and thus VEM is able to handle arbitrary polygonal mesh.

In order to give a simple and general illustration of how VEM works, here I take a linear elasticity boundary value problem in 2-dimensional domain Ω as example. The domain is partitioned into arbitrary polygonal meshes Th, and suppose one of the elements is pentagon as shown in Fig. 1.The weak form of the boundary value problem of this pentagon element K is given as (1)aK(uK,vK)=ΩKσ(uK):ϵ(v)dΩK=fK(vK)=ΩKvKtdΩK, vKV(K)×V(K) where in Eq.(1) aK and fK are the bilinear and linear form defined in the element K; σ and ϵ are the stress and strain tensors, respectively, and v is the test vector-value function which belongs to the local Sobolev space V(K)×V(K) defined within the element K; u is the solution of vector-value function to be found, typically the displacement vector in x- and y-directions; ΩK is the element domain and ΩK is the corresponding Neumann boundary of element K.
FIG.1: DOFs of second-order VEM on pentagon element K

Generally the solution u is approximated by a function in the subspace of Vh(K)×Vh(K)V(K)×V(K) called local virtual element space (or say, local shape function space), and the number of basis functions (shape functions) that span Vh(K)×Vh(K) is equal to the number of degrees of freedom (DOFs) of element K defined in the following. Let the element in Vh(K)×Vh(K) denote as vh, the the vector-value function boldsymbolvh in second-order VEM has the following properties:
  • vh is continuous on the boundary of element K
  • vh is a vector with second-order polynomial components on each edge of element K
  • Δvh is a vector with second-order polynomial components on each edge of element K
where Δ is the Laplace operator. The corresponding DOFs of element K can be classified into the following three types
  1. The values of vh at the 5 vertices of element K
  2. The values of vh at the 5 midpoints of 5 edges of element K
  3. The two moments of vh with respect to the constant vectors p1=[1,0]T and p2=[0,1]T in element K, that is
  4. (2)1|ΩK|ΩKvhp1dΩK;1|ΩK|ΩKvhp2dΩK
where |ΩK| is the area of element K. Based on the DOFs of types (i)-(iii), the total number of DOFs of element K for the second-order VEM is 10+10+2=22. Therefore, the function vh is obtained by a linear combination of the basis functions in Vh(K)×Vh(K) as follow (3)vh=i=122dofi(vh)φi where dofi(vh) represents the ith DOF of vh as given in types (i)-(iii) above, and φi is the ith vector-valued basis function of the local virtual element space Vh(K)×Vh(K) of element K with the following two properties
  • Property 1: φi(1,2,...,22) is a second-order polynomial on the element edge;
  • Property 2: φi(1,2,...,22) satisfies the Kronecker-delta property, that is, for the jth DOF of element K we have dofj(φi)=δij, i,j=1,2,...,22

Similar to classical Galerkin finite element method (FEM), the entry of local stiffness matrix kK of element K is calculated as (4)(kK)ij=aK(φi,φj)=ΩKσ(φi):ϵ(φj)dΩK,for i,j=1,2,...,22 where the subscripts ij indicate the location of entry in kK. Now comes the most important part of VEM: define a projector Π:Vh(K)×Vh(K)P2×P2 which maps the function vh in the space Vh(K)×Vh(K) onto the second-order polynomial space P2×P2 satisfying the following orthogonality condition: (5)aK(pα,Πvhvh)=0,for pαP2×P2 and vhVh×Vh where pα are the polynomial basis functions that span the second-order polynomial space P2×P2. Then Eq.(4) is reformulated by using the projector Π as (6)(kK)ij=aK(Πφi+(φiΠφi),Πφj+(φjΠφj))=aK(Πφi,Πφj)consistency+aK(φiΠφi,φjΠφj)stability=(kcK)ij+(ksK)ij where Πφi=α=112Si,αpα, pαP2×P2 is the image of basis function φi projected on the second-order polynomial space which is a linear combination of polynomial basis functions pα with coefficients Si,α, and (kK)ij can be thus considered as the sum of consistency term (kcK)ij and stability term (ksK)ij as shown in Eq.(6).

Based on the defination of projector Π and linearity of the stain tensor, the component-wise consistency term (kcK) can be obtained explicitly as (7)(kcK)=ΩKσ(Πφi):ϵ(Πφj)dΩK=ΩKσ(α=112Si,αpα):ϵ(β=112Sj,βpβ)dΩK=α=112β=112Si,αSj,βΩKσ(pα):ϵ(pβ)dΩK==α=112β=112Si,αSj,βaK(pα,pβ)=α=112β=112ΠiαΠβjGαβ=(ΠTGΠ)ij,for i,j=1,2,...,12 where Π is the matrix representation of projector Π, and matrix G is defined with entry Gαβ=aK(pα, pβ).

As for the stability term (ksK)ij of element K, fistly define a 22-by-12 matrix D with entry as (8)Diα=dofi(pα)fori=1,2,...,22 and α=1,2,...,12 Next, by decomposing the image of projection Πφi by the vector-valued functions in the local virtual element space Vh×Vh, we can have the following matrix representation of another projection Π:Vh×VhVh×Vh which maps the function in space Vh×Vh onto itself (9)Πij=dofi(Πφj)=dofi(β=112Sj,βpβ)=β=112DiβΠβj=(DΠ)ijfor i,j=1,2,...,22 where Π is the matrix representation of projection Π. Based on Eq.(9), the stability term (ksK)ij is calculated as (10)(ksK)=γτ(IΠiT)(IΠj)for i,j=1,2,...,22 where I is the 22-by-22 identity matrix;γ is the user-defined parameter which can be chosen as 1 for elastic problem, and τ can be calculated by various formulas, such as τ=trace(kcK). Hence, through Eqs.(1) to (10), one can calculate all the entries in local stiffness matrix kK of element K, and the global stiffness matrix can be obtained by assembling all the local stiffness matrices in the same manner as the classical Galerkin FEM.
Wei Shen
Wei Shen
Phd student