Vous êtes sur la page 1sur 22

Numer Algor

https://doi.org/10.1007/s11075-018-0516-0

ORIGINAL PAPER

Implementation of the virtual element method


for coupled thermo-elasticity in Abaqus

V. Dhanush1 · S. Natarajan1

Received: 25 November 2017 / Accepted: 18 March 2018


© Springer Science+Business Media, LLC, part of Springer Nature 2018

Abstract In this paper, we employ the virtual element method for the numerical
solution of linear thermo-elastic problems in two dimensions. The framework is
implemented within the commercial software Abaqus using its user element feature.
The implementation details of the virtual element method in Abaqus-Matlab soft-
ware framework are described. The corresponding details on the input data format,
which forms the core of the analysis, are given. Both linear and quadratic elements
are used within the virtual element framework. A few benchmark problems from
linear thermo-elasticity are solved to validate the implementation.

Keywords Virtual element method · Arbitrary polytopes · Stability and


consistency · Numerical integration · Abaqus implementation · UEL subroutine

1 Introduction

The introduction of finite elements with arbitrary edges/faces in two and three dimen-
sions has relaxed the topology constraint imposed by the conventional finite element
method (FEM). Based on the pioneering work of Wachspress [1], the elements with
arbitrary sides have led to the development of the polygonal finite element method
(PFEM) [2–5]. The relaxation in the mesh topology reduces the meshing burden
especially when modeling polycrystalline materials [6–8], material with complex
interfaces [9], in large deformation problems [10], to name a few. The PFEM has
also found its application in computer graphics, in gaming industry [11], and in

 S. Natarajan
snatarajan@cardiffalumni.org.uk; snatarajan@iitm.ac.in

1 Integrated Modelling and Simulation Lab, Department of Mechanical Engineering, Indian


Institute of Technology Madras, Chennai, 600036, India
Numer Algor

topology optimization, wherein it alleviates the commonly encountered checker-


board pattern [12]. Typically, the polygonal elements are generated through various
meshing algorithms using Voronoi tessellation [7, 13]. Moreover, local refinement
and/or coarsening is feasible as the PFEM framework treats the compatibility of
the elements with different levels of refinements in a natural way. This has led
researchers to develop methods with polygonal discretizations, for example, mimetic
finite differences [14], virtual element method (VEM) [15–19], finite volume method
[20], discontinuous Galerkin method [21], virtual node method [22], and the scaled
boundary finite element method [23–25].
Of particular interest in this paper is the VEM. The VEM has evolved from the
mimetic finite difference methods [14, 15] and was recently developed in [15]. The
salient feature of the VEM is that it does not require an explicit form for the basis
functions to compute the bilinear and linear form within the Galerkin framework.
The approximation space over an element contains certain polynomials that guaran-
tee accuracy and additional functions that ensure stability. As the method does not
require the knowledge of the functional form of the shape functions, the implementa-
tion is computationally less intensive. Since its inception, the VEM has been applied
to variety of problems [26–28], for example, plate bending [29], compressible and
incompressible elasticity [30], flow problems [31], and topology optimization [32].
Owing to its robustness and the popularity that the VEM is enjoying, recent focus has
been towards the implementation of the VEM. Recently, an open source C++ library
has been developed by Ortiz-Bernardin et al. [33]. Sutton [34] developed a 50-line
MATLAB implementation of the lowest order VEM for two-dimensional Poisson’s
problem.
The main objectives of this paper are the following: (a) employ the virtual ele-
ment technique to numerically solve the coupled thermo-elastic equations to estimate
the temperature and displacement profile and (b) implement the VEM within the
commercial software Abaqus [35] using the Abaqus user element subroutine (UEL)
feature. Although, the framework can be extended to three dimensions, the current
implementation is restricted to two dimensions. This facilitates the discussion to
focus on the input data format and the implementation of the VEM using the user
element subroutine. The UEL and the corresponding sample input file for one of the
numerical example are discussed in the paper.
The paper is organized as follows: the governing equations for thermo-elasticity
and the corresponding weak form is presented in the next section. Section 3 presents
the virtual element formulation for the coupled thermo-elastic problem. The Abaqus
implementation and the corresponding input data format is given in Section 4. The
implementation is validated by solving a few benchmark problems in Section 5,
followed by concluding remarks in the last section.

2 Governing equations for two-dimensional thermo-elasticity

Let us consider a linear elastic body  ⊂ R2 be a bounded domain with a boundary


 and subjected to mechanical and thermal loads. The boundary decomposed into
Numer Algor

 = u ∪ t and  = θ ∪ q . The governing equations for the coupled thermo-


elastic problem in the absence of inertia and heat generation are then given by:

∇ · q = 0 in , (1a)
∇ · σ = 0 in , (1b)
supplemented with the following boundary conditions:
θ = θ̂ onθ ,
q · n = q̂ on q ,
σ · n = t̂ on t ,
u = û on u , (2)
where θ(x) = T (x) − T0 (x) be the relative increase in the temperature with respect
to the strain-free reference configuration, u is the displacement field, σ is the Cauchy
stress tensor, û, θ̂ are the prescribed displacement and thermal boundary conditions,
n is outward unit vector normal to the boundary, and q is the heat flux. The heat flux
and the Cauchy stress tensor are related to the temperature and the displacement by:
q = −κLθ θ
 
σ = D · ε − εth (3)
 T
where Lθ = ∂x ∂ ∂
∂y , εth = αθ [1 1 0]T is the thermal strain, κ is the thermal
conductivity, α is the coefficient of thermal expansion, D is the material constitutive
matrix, and ε is the linearized small strain, related to the displacements by:
ε = Lu u,
where ⎡ ⎤

⎢ 0 ⎥
⎢ ∂x⎥
⎢ ⎥

Lu = ⎢ 0 ∂ ⎥. (4)

⎢ ∂y ⎥
⎣ ⎦
∂ ∂
∂y ∂x
Within the Bubnov-Galerkin framework, we introduce space of scalar valued func-
tion (for heat conduction equation, (1a)) and vector value function (for elasticity
equation, (1b)), as

Vθ = θ ∈ H 1 ()|θ = θ̂ on θ ,

Vu = u ∈ (H 1 ())2 |u = û on u . (5)
Using the divergence theorem and the fact that the test functions vanish on the Dirich-
let boundary θ and u , we obtain the following weak form: find u ∈ Vu and θ ∈ Vθ
such that:
Aθ (ϕ, θ) = Fθ (ϕ)∀ϕ ∈ Wθ ,
Au (u, v) = Fu (v)∀v ∈ Wu , (6)
Numer Algor

where Wu and Wθ are the space of admissible displacement and temperature field,
respectively. The bilinear and the linear forms are given by:

Aθ (ϕ, θ) = ∇ϕ · κ∇θ d, (7a)

Fθ (ϕ) = ϕ q̂d, (7b)
q

Au (u, v) = ε(u)T · D · ε(v)d, (7c)
 

Fu (v) = v · tdt + tr(ε(v))αθd. (7d)
t 

The domain  is partitioned into nel non-overlapping regions, called elements.


In this work, there is no restriction on the size or on the shape of the element, viz,
the elements can have arbitrary number of edges. The shape functions φe and ψe
are used to discretize the unknown displacement and temperature field over polygon.
The displacement and temperature field over polygon uI , θI as:

uI = φe ue ,
e

θI = ψe θe . (8)
e

The shape functions over arbitrary polygons are classified as barycentric coordinates
[36] and there are different ways to represent them. For example, the shape func-
tions could be computed by Wachspress interpolants, Laplace interpolants, maximum
entropy shape functions, mean value coordinates, and harmonic coordinates, to name
a few. A detailed overview on the construction of shape functions can be found in
[2]. The shape functions and its derivatives are substituted into (7a) and the resulting
system is solved for the unknown field. One of the difficulty is that the shape func-
tions are rational polynomials, which requires a lot of integration points to integrate
the terms. Moreover, in case of harmonic coordinates, there is no explicit form of
the shape functions, which increases the computational cost. In the next section, the
virtual element method is introduced for the thermo-elastic problem. The unique fea-
ture of the approach is that it does not require an explicit form for the basis functions
to compute the terms in (7a). Moreover, it also alleviates the numerical integration
difficulty encountered in the conventional polygonal FEM.

3 Virtual element method for thermo-elasticity

Evolved from the mimetic difference methods, the virtual element method was
recently developed in [15–17]. It is a Galerkin approach, which can be employed over
Numer Algor

arbitrary polygons. For the development of the matrix formation of VEM, we need to
introduce some notations and matrices which will help us in the easy implementation
of the VEM. Let the domain  ⊂ R2 be decomposed into finite set of open, simply
connected polygons, E (see Fig. 1a for a representative decomposition) [16, 17, 29].
In a representative element, E (see Fig. 1b), let xc = (xc , yc ), hE and |E| denote
the centroid, the diameter and the measure of E, respectively. Let ei represent the
edge of the polygon connecting vertices vi and vi+1 and n the unit normal vector to
edge ei .

Fig. 1 a Representative polygonal discretization of the region around the airfoil and b a generic polygonal
element where “open” circles denote the vertex nodes, “filled” squares are the edge nodes, and “open”
square represents the centroid of the element. ni is the unit outward normal to the edge ei connecting the
vertex nodes vi and vi+2
Numer Algor

3.1 Local virtual element space

For each polygon E, a local virtual element space Vk (E) ⊂ Vθ for heat conduction
and Vk (E) ⊂ Vu for elasticity is defined that contains all polynomials of degree k
augmented with some functions whose restriction on an edge is still polynomial of
degree k. A function vh ∈ Vk (E) and vh ∈ Vk (E) has the following properties:
– vh and vh is a polynomial of degree k on each edge e.
– vh and vh on ∂E is globally continuous.
– vh ∈ Pk−2 (E) and ∇ · σ (vh ) ∈ (Pk−2 (E))2 .
Based on the definition of the functions vh ∈ Vk (E), the degrees of freedom in a
generic polygon E are the following:
– the value of vh at the vertices of E
– on each edge e, the value of vh at k − 1 points
– the internal moments of vh in E up to oder k − 2

1
p vh dE, for pα ∈ Pk−2 (E) α = 1, · · · , nk−2 , nk−2 = dim(Pk−2 (E)).
|E| E α
For heat conduction and for vh ∈ Vk (E), the degrees of freedom in a polygon E for
elasticity are the following:
– the value of vh at the vertices of E
– on each edge e, the value of vh at k − 1 internal points
– the internal moments of vh in E up to order k − 2

1
p · vh dE, forpα ∈ Pk−2 (E)2 α = 1, 2...2nk−2 ,
|E| E α
where Pk (E) is the space of polynomials of degree less than or equal to k. A operator
dofi is defined from Vk (E) to R and Vk (E) to R as:
dof
dofi (vh ) := i th degree of freedom of vh , h = 1, · · · , Nθ
dof
dofi (vh ) := i th degree of freedom of vh , h = 1, · · · , Nu ,
dof dof
where Nθ = dim(Vk (E)) and Nu = dim(Vk (E)) are the total degrees of freedom
for an element for heat conduction and elasticity problem, respectively. The basis
functions ψi ∈ Vk (E) and φi ∈ Vk (E) satisfies Lagrange-type interpolation identity
and the Kronecker delta property.

3.2 Construction of bilinear form

With the local virtual element space defined over each polygon for the heat con-
duction and the elasticity equation, the local bilinear form (see (7a) and (7c)) is
computed next. Consider (7a), to compute the bilinear form, a projection operator
k : Vk (E) → Pk (E) is defined. For every ψi ∈ Vk (E), we can find k (ψi ) ∈
Pk (E) by minimizing the error with respect to the bilinear norm (see (7a)) as:
j j
Aθ (Hθ , ( k (ψi ) − ψi )) = 0, ∀Hθ ∈ Pk (E). (9)
Numer Algor

where (·)j corresponds to the j th column of (·). Since k (ψi ) ∈ Pk (E), we can write
k (ψi ) = Hθ S i , then,

j j
Aθ (Hθ , Hθ S ) =
i
(Bθ )T · κ(Bθ )dES i ,
E
j j
Aθ (Hθ , ψi ) = ∇(Hθ )T · κ∇(ψi )dE,
E

j
= ((κBθ ) ) · nψi d − ((κBθ )∇ )T ψi dE,
j T
(10)
E E

 x − x 
C
where Bθ = Lθ Hθ , (κBθ )∇ = Lθ Bθ , Hθ = 1 x̂ ŷ x̂ 2 x̂ ŷ ŷ 2 and x̂ =
y − y  h E
C
and ŷ = . For evaluating the boundary integral in (10) over an element
hE
E, we make use of the Kronecker delta property of the basis functions ψi and Gauss
Lobatto three-point integration rule, to get (c.f. Figure 1b),
  i  i+2
((κBθ )j )T · n · ψi d = ((κBθ )j )T · ni−1 ) · ψi d + ((κBθ )j )T · ni ) · ψi d.
E i−2 i

The domain integral of (10) is evaluated using the internal DOF of the ψi as:
 
j j dof
− ((κBθ )∇ )T · k−2 (ψi )dE = −|E| ((κBθ )∇ )T · dofβ (ψi ).β = Nθ . (11)
E β

It is observed that for j = 1, (9) results in the identify 0 ≡ 0. To avoid the rank
deficiency, the following projection operators are introduced:
j
Pj (Hθ , Hθ S i − ψi ) = 0,

j 1 j
Pj (Hθ , ψi ) = (H )T · ψi dE, forj = 1, 2 (12)
|E| E θ
dof
For each ψi , (i = 1, 2, 3...Nθ ) the projection k (ψi ) is computable from (12).
The linear system thus obtained can be written in a compact way as [16, 17]:
i
Gθ S i = B̃θ , (13)
where
i  T
B̃θ = P1 (H1θ , ψi ), Aθ (H2θ , ψi ) · · · A(Hnθ k , ψi ) . (14)
Similarly, we can define a projection operator for the elasticity k : Vk (E) →
(Pk (E))2 . For every φi ∈ Vk (E), there is a k (φi ) ∈ Pk (E))2 , such that
j j
Au (Hu , ( k (φi ) − φi )) = 0, ∀Hu ∈ (Pk (E))2 . (15)
j
where {Hu }2n k
j =1 is the basis for the polynomial space (Pk (E))2 , given by:
 
1 0 −ŷ x̂ ŷ x̂ x̂ ŷ 0 x̂ 2 0 ŷ 2 0
Hu = . (16)
0 1 x̂ −ŷ x̂ ŷ 0 x̂ ŷ 0 x̂ 2 0 ŷ 2
Numer Algor

Since k (φi ) ∈ (Pk ())2 , we can write k (φi ) = Hu Ai , where Ai =


 T
a1i a2i . . . a2n
i
k
. We can re-write the (15) as:
j j
A(Hu , Hu Ai ) = A(Hu , φi ), (17)
where

j j
Au (Hu , Hu Ai ) = (Bu )T D · (Bu )dEAi ,
 E
j j
Au (Hu , φi ) = ε(Hu )T D · ε(φi )dE,
E 
j
= ((DBu )j )T · n · φi d − ((DBu )∇ )T · φi dE. (18)
E E

where
⎡ ⎤
0 0 0 1
hE 0 1
hE ( y−y2 C ) 0 ( 2(x−x
2
C)
) 0 0 0
hE hE
⎢ ⎥
Bu = ⎢ − h1E ( (x−x2 C ) ) ( 2(y−y C) ⎥
1
0 0 0 0 0 0 0 0 ) .
⎣ hE hE h2E ⎦
0 0 0 0 2
hE 0 ( (x−x2 C ) ) ( (y−y2 C ) ) 0 ( 2(x−x
2
C)
) ( 2(y−y
2
C)
) 0
hE hE hE hE

and (DBu )∇ = Lu (DBu ). As before, the boundary integral of (18) over an element
E is computed by employing the Kronecker delta property of the basis φi and Gauss
Lobatto three-point integration rule (c.f. Figure 1b):
  i  i+2
((DBu )j )T · n · φi d = ((DBu )j )T · ni−1 ) · φi d + ((DBu )j )T · ni ) · φi d.
E i−2 i

And the domain integral of the (18) is evaluated using the internal DOF of the φ i ,
 
j j dof dof
− ((DBu )∇ )T · k−2 (φi )dE = −|E| ((DBu )∇ )T ·dofβ (φi ).β = Nu −1, Nu .
E β
(19)
As in the heat conduction equation, the above equation is supplemented with the
following operators to alleviate rank deficiency:
j
Pj (Hu , Hu Ai − φi ) = 0,

j 1 j
Pj (Hu , φi ) = (Hu )T · φi , forj = 1, 2,
|E| E
1 
nv
j j
Pj (Hu , φi ) = (dofβ Hu )T · dofβ (φi ), forj = 3. (20)
nv
β=1

dof
For each φi , (i = 1, 2, 3...Nu ) the projection k (φi ) is computable from (20). The
resultant linear system of equations is written in a compact form as:
i
Gu Ai = B̃u , (21)
Numer Algor

where
i
 T
B̃u = P1 (H1u , φi ) P2 (H2u , φi ) P3 (H3u , φi ) A(H4u , φi ) · · · A(H2nk
u , φi ) . (22)

Since we do not have the explicit form of the φi , we need to project φi on to the
(Pk (E))2 space. By using the projection operator k , we can write the function φi as:
φi = k (φi ) + (1 − k )φi . (23)
From the bilinear nature of the operator Au (·, ·), we can write
Au (φi , φj ) = Au ( k φi , k φj ) + Au ((1 − k )φi , (1 − k )φj ). (24)
The first term ensures consistency and the second term ensures stability. The
consistency part is computed by

Au ( k (φi ), k (φj )) = (A )
i T
BTu DBu dEAj , (25)
E
= (AT G̃A)i,j . (26)

where G̃u = E BTu DBu dE. The stability part can be evaluated as
dof

Nu
Au ((1 − k )φi , (1 − k )φj ) ≈ dofr ((1 − k )φi )dofr ((1 − k )φj ).φi (27)
r=1

From (26) and (27), we can express the bilinear form as


Au = AT G̃u A + (I − Du A)T (I − Du A), (28)
     
consistency part stability part

j
where (Du )i,j = dofi (Hu ) and Gu = B̃u Du . Similarly, we can get the local stiffness
matrix for the heat conduction as:

Aθ = φ̂ T (Lθ ψ)T κ(Lθ ψ)dE θ̂. (29)
E

Aθ = S T G̃θ S + (I − Dθ S)T (I − Dθ S) . (30)


     
consistency part stability part

j
where (Dθ )i,j = dofi (Hθ ) and Gθ = B̃θ Dθ . The linear form in (7d) over each
element E is computed by approximating the load tr(ε(δu)) onto the space of poly-
nomials of degree k, where k := max{k − 2, 0}. The associated loading term is
computed by
 
tr(ε(v)) · DαθdE ≈ vT AT (Lu Hu )T aDα(Hθ )SdE θ̂ (31)
E 

where a = (1, 1, 0)T . The other boundary terms in the linear form in (2) are computed
by using the Kronecker delta property of the basis functions ψ and φi .
Numer Algor

Fig. 2 Schematic of virtual element method and post-processing with UEL framework interfaced with
MATLAB scripts

4 Abaqus implementation

In this section, we describe the major steps in the implementation of UEL for the
VEM in Abaqus. We focus on the subroutines along with the input file. The system
of equations resulting from the above formulations is implemented in the Abaqus
UEL. The overall process is depicted in Fig. 2. A stand-alone MATLAB script is
written to generate an input file in Abaqus readable format. For post-processing and
for visualization, Abaqus2Matlab [37] is employed.
The UEL subroutine performs necessary element computations, such as the calcu-
lation of the element stiffness matrix AMATRX and the right-hand side vector RHS by
accessing the geometrical and material data form the input file through Abaqus vari-
ables COORDS and PROPS. Through the UEL, it is essential to provide the stiffness

Fig. 3 Example problem


Numer Algor

and the residual contributions of an element to the system as stated in the Abaqus
manual [35]. The Abaqus solver can be invoked by the command:
abaqus job=<inp file name >user=<fortran file name>
The user element subroutine implementation and the corresponding input file are
discussed with an example of a simple elastic problem shown in the Fig. 3. Listing 4
shows the basic format of the UEL subroutine with the argument list used by Abaqus
to compute the element stiffness matrix, AMATRX, and the residual vector, RHS.

4.1 Structure of the input file

The Abaqus input file contains the geometrical information such as nodal coordi-
nates, the element connectivity, and the information about the boundary. Also, the
input file can include multiple groups of elements and prescribed sets of nodes for
specific input/output purposes such as applying boundary conditions or for post-
processing the results. The Abaqus keywords, *user element and *uel property are
used to invoke user-defined elements and user-defined properties. The first one
describes the nodes, variables, and the coordinates, while the second one describes
the material property associated with a particular element.
Let us consider a simple elastic problem shown in Fig. 3. For illustration, let us
assume that the domain is discretized with three elements with two quadrilateral and
one pentagonal element. The shape functions on the boundary of the element are
assumed to vary quadratically. Listing 1 describes the procedure to define the various
element types. As mentioned before, elements with similar attributes, such as number
of nodes and material properties, are grouped together. The pentagonal element is
listed under the user element with a tag U5, that has 10 nodes, numbered 1 to 10.
The two quadrilateral elements are grouped with a tag *U4 and the corresponding
element connectivity is provided under the keyword *Element.
The details of the other variables are the following:
1. Type=U ∗ : “U ∗ ” is the user-defined tag to identify the element type. Here, “∗ ” is
replaced with a number for identification.
2. Nodes: defines the number of nodes the element has. For example, for the pen-
tagonal element, the number of nodes is 10. This is used by Abaqus to initialize
appropriate size of the global element or local matrices.
3. Properties: takes a numerical value that specifies the total number of properties
needed to define this user element. In the current implementation of the UEL,

Listing 1 Input file


Numer Algor

Listing 2 Boundary conditions and external load specification

two properties, viz., Young’s modulus and Poisson’s ratio in case of elasticity,
and one property, namely, thermal conductivity in case of heat conduction.
4. Coordinates: Takes a numerical value that specifies the spatial dimension of the
problem.
Next in the input file is the specification of the boundary conditions, viz., Neumann
and Dirichlet type boundary conditions (Listings 2 and 3). The keyword *boundary
is used to specify the Dirichlet boundary conditions and the keyword *cload for
the Neumann type boundary conditions. For specifying the boundary conditions, the
node number is specified first, followed by the degree of freedom to constrain and the
last index is for the value to be specified. In this example, the displacements in the
x− direction for the node numbers 1, 5, and 10 are restrained and the displacement
in the y− direction for node number 1 is restrained. A similar procedure is followed
to specify the concentrated load.
The following options are used to provide tabular printed output of element in the
data file.

4.2 User element details

The UEL for implementing the VEM is written in FORTRAN. The UEL starts by
the name of the subroutine with list of arguments in the parentheses (see Listing
4). For the current implementation, which focuses on linear problems, the two most
important variables to be provided through the UEL are the RHS and AMATRX. The
local stiffness matrices for the heat conduction and the elasticity are computed using
(24) and (29). The RHS is computed from (31). The Abaqus solver constructs the

Listing 3 Output request


Numer Algor

Listing 4 User element subroutine

global stiffness matrix by calling the UEL for each element based on the connectivity
information provided in the input file.

5 Numerical examples

In this section, few benchmark problems in linear elastostatics are solved to val-
idate the Abaqus implementation of the VEM. To demonstrate and to study the
convergence properties, four problems are considered. The first two problems are
subjected to pure mechanical load and the last two examples are subjected to com-
bined thermo-mechanical loads. The problems considered are (a) two-dimensional
cantilever beam with parabolic edge shear traction, (b) Cook’s membrane, (c) con-
centric disk subjected to thermo-mechanical load, and (d) square plate subjected to
thermo-mechanical load. The accuracy and the convergence rates are analyzed for
different methods using relative error in the displacement given by:
 
(u − uh ), (u − uh )
||u − uh || =   , u, uh ∈ (Rd , || · ||), (32)
u, u

where ·, · denotes the usual inner product and d represents the global degrees of
freedom, u is the nodal values of the analytical or reference solution, and uh is the
corresponding numerical solution. In all the numerical examples, consistent units are
employed unless mentioned otherwise.

5.1 Cantilever beam

Consider a cantilever beam with rectangular cross section subjected to point load
P at the free end. The region away from the fixed support and point load can be
Numer Algor

model as a two-dimensional cantilever beam subjected to a parabolic shear load


of magnitude, P = 250 at the right end as shown in Fig. 4. The geometry of the
beam is considered to be of length L = 8 and height D = 4. The material prop-
erties are Young’s modulus, E = 3 ×107 , and Poisson’s ratio ν = 0.3, and a
state of plane stress condition is assumed. The exact solution for displacements are
given by:
 
Py D2
ux = (6L − 3x)x + (2 + ν)(y −
2
) ,
6EI 4
 
Py b2 x
uy = − 3νy (L − x) + (4 + 5ν)
2
+ (3L − x)x .2
(33)
6EI 4

The domain is discretized with arbitrary polygonal elements. Figure 4b shows a


representative discretization. Exact displacements given by (33) are prescribed on the
left end, while the right end is subjected to traction boundary condition. The rela-
tive error in the displacement is computed for various discretization and the same is
depicted in Fig. 5. In this example, both linear and quadratic elements are employed.
It can be inferred that the VEM yields optimal convergence rate and asymptotically
converges to analytical solution.

Fig. 4 Thick cantilever beam. a Geometry and boundary conditions and b a representative polygonal
mesh
Numer Algor

Fig. 5 Cantilever beam subjected to shear load. Convergence of the relative error in the a displacement
and b energy

5.2 Cook’s membrane

In this example, consider a cantilever beam with varying flexural rigidity as shown
in Fig. 6a. The varying flexural rigidity leads to large moment on the cross section
which was taken by the shear developed, which makes the domain a shear dominant.

Fig. 6 Cook’s membrane. a Geometry and boundary conditions and b representative polygonal
discretization
Numer Algor

The domain is modeled as linear elastic homogeneous material with the following
material properties: Young’s modulus, E = 1, and Poisson’s ratio, ν = 0.25. The
displacements on the left end is restrained in all the directions and a uniform shear
force P = 1 is applied at the right end. As this problem does not have an analytical

Fig. 7 Cook’s membrane subjected to uniform load. a Convergence of the tip displacement (point A) for
linear and quadratic VEM with mesh refinement, h denotes the element size, and b convergence of the
relative error in energy for linear and quadratic VEM
Numer Algor

Fig. 8 Concentric disk:.a Geometry and boundary conditions and b representative polygonal mesh

solution, the reference solution is computed by using a very refined finite element
mesh. The convergence of the tip (point A, see Fig. 6a) is monitored with mesh refine-
ment. The relative error in the tip displacement is shown in Fig. 7 for k = 1 and k =
2. It is opined that the method yields accurate results and converges asymptotically.

5.3 Concentric disk subjected to thermo-mechanical loading



¯ = (r, ξ ) :
In this example, consider a two-dimensional concentric disk occupying 
ri ≤ r ≤ ro , 0 ≤ ξ ≤ 2π . The disk is assumed to be homogeneous isotropic mate-

Fig. 9 Variation of displacement along the edge AB for a concentric disk subjected to thermo-mechanical load
Numer Algor

rial with Young’s modulus E = 1, Poisson’s ratio ν = 0, thermal conductivity κ =


1, and the coefficient of thermal expansion α = 1. A state of plane stress condition is
assumed. The domain is subjected to following boundary conditions at the inner and
the outer radii (see Fig. 8a), for 0 ≤ ξ ≤ 2π :

@ r = ri , ur (r, ξ ) = 0.25, T (r, ξ ) = 3◦ ,


@ r = ro , ur (r, ξ ) = 0, T (r, ξ ) = 1◦ ,

Fig. 10 Concentric disk. Relative error in the displacement and the temperature for:a linear elements, k =
1, and b quadratic elements, k = 2
Numer Algor

and uξ (ri , ξ ) = uξ (ro , ξ ) = 0, 0 ≤ ξ ≤ 2π . For the above boundary conditions, the


exact solution for the temperature and the displacements are given by:
ln(r)
T (r, ξ ) = 1 − ,
ln(2)
r ln(r)
ur (r, ξ ) = − ,
2 ln(2)
uξ (r, ξ ) = 0. (34)
Owing to the symmetry, only one quarter of the domain is modeled. The domain is
discretized with arbitrary polygons with linear shape functions on the boundary of
the polygon. A typical polygonal mesh is shown in Fig. 8b. The inner and the outer
boundaries are subjected to thermo-mechanical conditions. Figure 9 shows the dis-
placement in the y− direction, uy , along the edge AB. The results from the VEM
with k = 1 is compared with the analytical solution and can be inferred that the
method yields accurate solutions. The convergence of the relative error in the dis-
placement and the temperature with mesh refinement for the VEM with k = 1 and
k = 2 is shown in Fig. 10. It can be seen that the method converges with an optimal
convergence rate.

5.4 Square plate subjected to thermo-mechanical loading



¯
example, consider a square domain,  = (x, y) : 0 ≤ x ≤ 1, −1 ≤
As a last
y ≤ 1 , subjected to thermo-mechanical boundary conditions as shown in Fig. 11.
The length of the domain is assumed to be L = 2. The following tempera-
ture and displacements boundary conditions are enforced: Displacement boundary
conditions:
ux (0, y) = 0, uy (0, 0) = 0,
ux (1, y) = 0, uy (1, 0) = 0.

Fig. 11 Square plate. Geometry


and boundary conditions
Numer Algor

Fig. 12 Square plate subjected to thermo-mechanical loading. Displacement along the edge AB

Temperature boundary conditions:

q̂(x, −1) = 0, q̂(x, 1) = 0,


T (0, y) = 250◦ , T (1, y) = 0◦ .

The material properties are Young’s modulus, E = 7×1010 ; Poisson’s ratio, ν =


0.35; thermal conductivity, κ = 205; and the coefficient of thermal expansion, α =
22×10−6 . A state of plane stress condition is assumed. The domain was discretized
with 200 linear and quadratic polygonal elements. The results from the VEM imple-
mentation are compared with a very refined finite element solution (shown in “solid”
black line in Fig. 12 as the reference solution). Figure 12 shows the resultant dis-
placement along the edge AB for k = 1 and k = 2. It can be inferred that the VEM
yields comparable results.

6 Concluding remarks

In this work, the virtual element method is implemented within the commercial finite
element software Abaqus for a linear thermo-elastic problem. The implementation
was based on the user element subroutine feature of the Abaqus. The polygonal mesh
generation and the input file generation are done using a stand-alone Matlab script.
The work focused on the main procedures to interact with Abaqus, the structure of the
input file and the user element subroutine to compute the stiffness matrices and the
force vector within the framework of the VEM. Both linear and quadratic VEM are
implemented. The implementation is validated by solving a few benchmark problems
in linear thermo-elasticity. Another interesting aspect would be to investigate if the
edges of the polygon could have different order within the VEM framework. This
Numer Algor

could be a topic of future investigation. The developed routines are in the open-source
and a soft copy of the code can be obtained by contacting the corresponding author.
The UELs could be helpful to practicing engineers and academic researchers.

Acknowledgments The second author would like to thank Prof. Lourenco Beirão da Veiga for the
discussions on the VEM.

Appendix

The developed routines are in the open-source and can be downloaded from
https://github.com/nsundar/VEM in Abaqus
along with the user element subroutines, Matlab-Abaqus interface to generate
Abaqus input file.

References

1. Wachspress, E.L.: Springer, New York (1971)


2. Sukumar, N.: Int. J. Numer. Methods Eng. 61(12), 2159 (2004)
3. Sukumar, N., Malsch, E.A.: Arch. Comput. Methods Eng. 13(1), 129 (2006)
4. Talischi, C., Paulino, G.H., Pereira, A., Menezes, I.F.: Struct. Multidisc. Optim. 45, 329 (2012)
5. Rand, A., Gillette, A., Bajaj, C.: Math. Comput. 83, 2691 (2014)
6. Sze, K., Sheng, N.: Finite Elem. Anal. Des. 42(2), 107 (2005)
7. Botsch, M., Pauly, M., Kobbelt, L., Alliez, P., Lévy, B., Bischoff, S., Röossl, C.: https://hal.inria.fr/
inria-00186820 (2007)
8. Jayabal, K., Menzel, A., Arockiarajan, A., Srinivasan, S.: Comput. Mech. 48(4), 421 (2011)
9. Jaskowiec, J., Plucinski, P., Stankiewicz, A.: Finite Elem. Anal. Des. 120, 1 (2016)
10. Biabanaki, S.O.R., Khoei, A.R.: Comput. Mech. 50(1), 19 (2012)
11. Kravtsov, D., Fryazinov, O., Adzhiev, V., Pasko, A., Comninos, P.: In: Proceedings of SIGGRAPH,
p. 9. https://doi.org/10.1145/1599301.1599312 (2009)
12. Pereira, A., Talischi, C., Menezes, I.F.M., Paulino, G.H.: Mecánica Computacional 29, 1525 (2010)
13. Talischi, C., Pereira, A., Paulino, G.H., Menezes, I.F.M., Carvalho, M.S.: Int. J. Numer. Methods Eng.
74(2), 134 (2014)
14. Lipnikov, K., Manzini, G.: J. Comput. Phys. 272(1), 360 (2014)
15. Beirão da Veiga, L., Manzini, G.: The Mimetic Finite Difference Method and the Virtual Element
Method for Elliptic Problems with Arbitrary Regularity. Technical Report LA-UR-12-22977 Los
Alamos National Laboratory (2012)
16. Beirão da Veiga, L., Brezzi, F., Cangiani, A., Manzini, G., Marini, L.D., Russo, A.: Math. Model.
Methods Appl. Sci. 23, 199 (2013)
17. Beirão da Veiga, L., Brezzi, F., Marini, L.D., Russo, A.: Math. Models Methods Appl. Sci. 24(08),
1541 (2014)
18. Gain, A.L., Talischi, C., Paulino, G.H.: Comput. Methods Appl. Mech. Eng. 282, 132 (2014)
19. Da Veiga, L.B., Brezzi, F., Dassi, F., Marini, L.D., Russo, A.: Chin. Ann. Math. Ser. B 39(2), 315
(2018)
20. Droniou, J.: Math. Models Methods Appl. Sci. 24, 1575 (2010)
21. Cangiani, A., Georgoulis, E.H., Houston, P.: Math. Models Methods Appl. Sci. 24(10), 2009 (2014)
22. hai Tang, X., Wu, S.C., Zheng, C., hai Zhang, J.: Appl. Math. Mech. 30, 1233 (2009)
23. Natarajan, S., Ooi, E.T., Chiong, I., Song, C.: Finite Elem. Anal. Des. 85, 101 (2014)
24. Ooi, E., Song, C., Natarajan, S.: Int. J. Numer. Methods Eng. 108(9), 1086 (2016)
25. Natarajan, S., Ooi, E.T., Saputra, A., Song, C.: Eng. Anal. Bound. Elem. 80, 218 (2017)
Numer Algor

26. Beirão da Veiga, L., Chernov, A., Mascotto, L., Russo, A.: Numerische Mathematik, pp. 581–613
(2018)
27. Beirão da Veiga, L., Brezzi, F., Marini, L., Russo, A.: Math. Models Methods Appl. Sci. 26(4), 729
(2016)
28. Andersen, O., Nilsen, H.M., Raynaud, X.: arXiv:1606.09508 (2016)
29. Brezzi, F., Marini, L.D.: Comput. Methods Appl. Mech. Eng. 253, 455 (2013)
30. Wriggers, P., Reddy, B.D., Rust, W., Hudobivnik, B.: J. Comput. Mech. 60(2), 253–268 (2017)
31. Berrone, S., Benedetto, M.F., Borio, A., Pieraccini, S., Scialò, S.: PAMM 15(1), 19 (2015)
32. Antonietti, P.F., Bruggi, M., Scacchi, S., Verani, M.: Comput. Math. Appl. 200, 1729 (2011)
33. Ortiz-Bernardin, A., Alvarez, C., Hitschfeld-Kahler, N., Russo, A., Silva-Valenzuela, R., Olate-
Sanzana, E.: arXiv:1708.03438 (2017)
34. Sutton, O.J.: Numer. Algorithm. 75(4), 1141 (2017). https://doi.org/10.1007/s11075-016-0235-3
35. Abaqus, Dassault Systèmes Simulia Corp, Providence (2012)
36. Floater, M.S.: Acta Numerica 24, 161 (2015)
37. Papazafeiropoulos, G., niz Calvente, M.M., neda, E.M.P.: Adv. Eng. Softw. 105, 9 (2017)

Vous aimerez peut-être aussi