Fast Numerical Integration on Polytopic Meshes with Applications to Discontinuous Galerkin Finite Element Methods
 437 Downloads
Abstract
In this paper we present efficient quadrature rules for the numerical approximation of integrals of polynomial functions over general polygonal/polyhedral elements that do not require an explicit construction of a subtessellation into triangular/tetrahedral elements. The method is based on successive application of Stokes’ theorem; thereby, the underlying integral may be evaluated using only the values of the integrand and its derivatives at the vertices of the polytopic domain, and hence leads to an exact cubature rule whose quadrature points are the vertices of the polytope. We demonstrate the capabilities of the proposed approach by efficiently computing the stiffness and mass matrices arising from hpversion symmetric interior penalty discontinuous Galerkin discretizations of secondorder elliptic partial differential equations.
Keywords
Numerical integration Polygonal/polyhedral meshes hpdiscontinuous Galerkin methodMathematics Subject Classification
65D30 65D32 65L601 Introduction
In recent years the exploitation of computational meshes composed of polygonal and polyhedral elements has become very popular in the field of numerical methods for partial differential equations. Indeed, the flexibility offered by polygonal/polyhedral elements allows for the design of efficient computational grids when the underlying problem is characterized by a strong complexity of the physical domain, such as, for example, in geophysical applications, fluidstructure interaction, or crack propagation problems. Moreover, the possibility to adopt computational meshes with hanging nodes is included in this framework by observing that, for example, a classical quadrilateral element with a hanging node on one of its edges can be treated as a pentagon with two aligned edges. Several conforming numerical discretization methods which admit polygonal/polyhedral meshes have been proposed within the current literature; here, we mention, for example, the Composite Finite Element Method [5, 41, 42], the Mimetic Finite Difference (MFD) method [4, 18, 19, 20, 21, 44], the Polygonal Finite Element Method [63], the Extended Finite Element Method [37, 64], the Virtual Element Method (VEM) [10, 11, 15, 16, 17] and the Hybrid HighOrder (HHO) method [33, 34, 35]. In the nonconforming setting, we mention Discontinuous Galerkin (DG) methods [1, 2, 3, 6, 9, 14, 22, 23, 24, 25, 25], Hybridizable DG methods [29, 30, 31, 32], nonconforming VEM [8, 13, 26], and the Gradient Schemes [36]; here the possibility of defining local polynomial discrete spaces follows naturally with the flexibility provided by polytopic meshes.
One of the key aspects concerning the development of efficient finite element discretizations with polygonal/polyhedral grids is the construction of quadrature formulae for the approximate computation of the terms appearing in the underlying weak formulation. Indeed, the design of efficient quadrature rules for the numerical computation of integrals over general shaped polytopes is far from being a trivial task. The classical and most widely employed technique for the integration over polytopes is the SubTessellation method, cf. [38, 51, 62]; here, the domain of integration is subdivided into standardshaped elements, such as triangular/quadrilateral elements in 2D or tetrahedral/hexahedral elements in 3D, whereby standard efficient quadrature rules are employed, cf. [50, 60, 70], and also [71] and [48], for an interpolation technique based on the same idea. On the one hand this technique is easy to implement, however, it is generally computationally expensive, particularly for high order polynomials, since the number of function evaluations may be very large.
For this reason, the development of quadrature rules that avoid subtessellation is an active research field. Several approaches have been proposed; in particular, we mention [43, 54, 67, 68], for example. One interesting method in this direction is represented by the Moment Fitting Equation technique, firstly proposed by Lyness and Monegato in [49], for the construction of quadrature rules on polygons featuring the same symmetry as the regular hexagon. Generalizations to convex and nonconvex polygons and polyhedra were proposed by Mousavi et al. in [53]. Here, starting from an initial quadrature rule, given, for example, by the subtessellation method described above, an iterative node elimination algorithm is performed based on employing the leastsquares Newton method [69] in order to minimise the number of quadrature points while retaining exact integration. Further improvements of the moment fitting equation algorithm can also be found in [52] and [61]. While this method is optimal with respect to the number of function evaluations, the nodes and weights must be stored for every polygon, thus affecting memory efficiency. An alternative approach designed to overcome the limitations of the subtessellation approach is based on employing the generalized version of Stokes’ theorem; here, the exploitation of Stokes’ theorem reduces the integral over a polytope to an integration over its boundary; see [66] for details. For the twodimensional case, in [59], Sommariva and Vianello proposed a quadrature rule based on employing Green’s theorem. In particular, if an x or yprimitive of the integrand is available (as for bivariate polynomial functions), the integral over the polygon is reduced to a sum of line integrations over its edges. When the primitive is not known, this method does not directly require a subtessellation of the polygon, but a careful choice of the parameters in the proposed formula leads to a cubature rule that can be viewed as a particular subtessellation of the polygon itself. However, it is not possible to guarantee that all of the quadrature points lie inside the domain of integration. An alternative and very efficient formula has been proposed by Lasserre in [47] for the integration of homogeneous functions over convex polytopes. This technique has been recently extended to general convex and nonconvex polytopes in [27]. The essential idea here is to exploit the generalized Stokes’ theorem together with Euler’s homogeneous function theorem, cf. [58], in order to reduce the integration over a polytope only to boundary evaluations. The main difference with respect to the work presented in [59] is the possibility to apply the same idea recursively, leading to a quadrature formula which exactly evaluates integrals over a polygon/polyhedron by employing only pointevaluations of the integrand and its derivatives at the vertices of the polytope.
In this article we extend the approach of [27] to the efficient computation of the volume/face integral terms appearing in the discrete weak formulation of secondorder elliptic problems, discretized by means of highorder DG methods. We point out that our approach is completely general and can be directly applied to other discretization schemes, such as VEM, HHO, Hybridisable DG, and MFD, for example. We focus on the DG approach presented in [25], where the local polynomial discrete spaces are defined based on employing the bounded box technique [39]. We show that our integration approach leads to a considerable improvement in the performance compared to classical quadrature algorithms based on subtessellation, in both two and threedimensions. The outline of this article is as follows: in Sect. 2 we recall the work introduced in [27], and outline how this approach can be utilized to efficiently compute the integral of dvariate polynomial functions over general polytopes. In Sect. 3 we introduce the interior penalty DG formulation for the numerical approximation of a secondorder diffusion–reaction equation on general polytopic meshes. In Sect. 4 we outline the exploitation of the method presented in Sect. 2 for the assembly of the mass and stiffness matrices appearing in the DG formulation. Several two and threedimensional numerical results are presented in Sect. 5 in order to show the efficiency of the proposed approach. Finally, in Sect. 6 we summarise the work undertaken in this article and discuss future extensions.
2 Integrating Polynomials over General Polygons/Polyhedra
 \({\mathscr {P}} \subset \mathbb {R}^d \textit{, }d=2,3\), is a closed polytope, whose boundary \(\partial {\mathscr {P}} \) is defined by m\((d1)\)dimensional faces\({\mathcal {F}}_i,\ i=1,\ldots ,m\). Each face\({\mathcal {F}}_i\) lies in a hyperplane \({\mathcal {H}}_i\) identified by a vector \({\mathbf {a}}_i \in \mathbb {R}^d \) and a scalar number \(b_i\), such thatWe observe that \({\mathbf {a}}_i\), \(i=1,\ldots ,m\), can be chosen as the unit outward normal vector to \({\mathcal {F}}_i\), \(i=1,\ldots ,m\), respectively, relative to \({\mathscr {P}} \), cf. Figs. 1 and 2.$$\begin{aligned} {\mathbf {x}} \in {\mathcal {H}}_i \iff {\mathbf {a}}_i \cdot {\mathbf {x}} = b_i, \quad i=1,\ldots ,m. \end{aligned}$$(1)

\(g:{\mathscr {P}} \rightarrow \mathbb {R}\) is a homogeneous function of degree \(q \in \mathbb {R}\), i.e., for all \(\lambda > 0\), \(g(\lambda {\mathbf {x}}) = \lambda ^q g({\mathbf {x}})\) for all \({\mathbf {x}} \in {\mathscr {P}} \).
Lemma 1
Proof
Given identity (5) and Lemma 1, we can prove the following result.
Proposition 1
Proof
Remark 1
Polytopic domains of integration Open image in new window considered in Algorithm 1 as a function of the dimension d
\(N = 3\)  \(N=2\)  \(N=1\)  \(N=0\)  

\(d=3\)  Open image in new window is a polyhedron  Open image in new window is a polygon  Open image in new window is an edge  Open image in new window is a point 
\(d=2\)  Open image in new window is a polygon  Open image in new window is an edge  Open image in new window is a point  
\(d=1\)  Open image in new window is an interval  Open image in new window is a point 
Remark 2
With a slight abuse of notation, when \(1 \le N \le d1\), in Algorithm 1 (and for the purposes of the following discussion), the point \({\mathbf {x}} _{0} = (x_{0,1},\ldots ,x_{0,d})^\top \) denotes an arbitrarily chosen origin for the coordinate system which defines the Npolytope Open image in new window and \(d_i\) represents the Euclidean distance between the \((N1)\)polytopes Open image in new window , which form the boundary of Open image in new window , and \({\mathbf {x}} _{0},\ i=1,\ldots ,m\). Furthermore, in Algorithm 1, \(b_i,\ i=1,\ldots ,m,\) is the same constant appearing in (1). Here it can be evaluated as \(b_i = {\mathbf {n}}_i \cdot {\mathbf {v}},\) where \({\mathbf {v}}\) is a vertex of Open image in new window and \({\mathbf {n}}_i\) is the unit outward normal vector, \(i=1,\ldots ,m\).
Remark 3
We point out that in (12), cf. also (13), the shape of the underlying polytope can be general: indeed, nonconvex simplyconnected domains Open image in new window are admissable.
2.1 Integration of Bivariate Polynomials over Polygonal Domains
 A.1

Recursive algorithm described in Sect. 2, based on the formula (13): Open image in new window cf. Algorithm 1.
 A.2

Use of the formula (4) together with numerical integration employed for the evaluation of the edge integrals with known onedimensional Gaussian quadrature rules, as recently proposed in [28];
 A.3

Subtessellation technique: the domain of integration \({\mathscr {P}} \) is firstly decomposed into triangles where standard efficient quadrature rules are then employed.
Vertex  xcordinates  ycordinates  

\({\mathscr {P}} _1\)  1  \(\) 1.000000000000000  \(\) 1.000000000000000 
2  1.000000000000000  0.000000000000000  
3  \(\) 1.000000000000000  1.000000000000000  
\({\mathscr {P}} _2\)  1  \(\) 0.666666666666667  \(\) 0.789473684210526 
2  0.555555555555556  \(\) 1.000000000000000  
3  1.000000000000000  \(\) 0.052631578947368  
4  \(\) 0.555555555555556  1.000000000000000  
5  \(\) 1.000000000000000  \(\) 0.157894736842105  
\({\mathscr {P}} _3\)  1  0.413048522141662  0.781696234443715 
2  0.024879797655533  0.415324992429711  
3  \(\) 0.082799691823524  0.688810136531751  
4  \(\) 0.533191422779328  1.000000000000000  
5  \(\) 0.553573605852999  0.580958514816226  
6  \(\) 0.972432940212767  0.734117068746903  
7  \(\) 1.000000000000000  0.238078507228890  
8  \(\) 0.789986179147920  0.012425068086110  
9  \(\) 0.627452906935866  \(\) 0.636532897516109  
10  \(\) 0.452662174765764  \(\) 1.000000000000000  
11  \(\) 0.069106265580153  \(\) 0.289054989277619  
12  0.141448047807069  \(\) 0.464417038155806  
13  1.000000000000000  \(\) 0.245698820584615  
14  0.363704451489016  \(\) 0.134079689960635  
15  0.627086024018283  \(\) 0.110940423607648 
\({\mathscr {P}} _1\)  \({\mathscr {P}} _2\)  \({\mathscr {P}} _3\)  

0  \(\,0.0020324991\)  \(\,0.002589861\)  
0.0111339078  \(7.4274779926\times 10^{5}\)  \(1.5738050178\times 10^{4}\)  
0.0030396808  \(6.0738145408\times 10^{8}\)  \(1.3793481020\times 10^{6}\)  
\(7.9534562047 \times 10^{4}\)  \(2.2238524572\times 10^{12}\)  \(4.2588831784\times 10^{10}\)  
0  \(\,2.0911953867\times 10^{4}\)  0.0014996521  
0  \(\,1.3797380205\times 10^{5}\)  \(7.0356275077\times 10^{4}\)  
0  \(\,7.9203571311\times 10^{7}\)  \(2.5065856538\times 10^{4}\)  
\(\,0.005890191\)  \(8.08469022058\times 10^{5}\)  \(\,1.330384913\times 10^{4}\)  
\(\,0.001868889\)  \(4.37593748009\times 10^{5}\)  \(\,3.963064075\times 10^{5}\) 
CPU times as a function of the integrand and the integration domain \({\mathscr {P}} \) for the three approaches A.1, A.2 and A.3
\({\mathscr {P}} _1\)  \({\mathscr {P}} _2\)  \({\mathscr {P}} _3\)  

A.1  A.2  A.3  A.1  A.2  A.3  A.1  A.2  A.3  
\(x^5y^5\)  0.054  0.159  0.616  0.083  0.244  0.973  0.227  0.678  2.856 
\(x^{10}y^{10}\)  0.078  0.221  1.359  0.123  0.328  2.321  0.351  0.939  7.301 
\(x^{20}y^{20}\)  0.124  0.344  4.060  0.207  0.540  7.399  0.580  1.498  22.70 
\(x^{40}y^{40}\)  0.208  0.578  14.79  0.377  0.934  27.24  1.073  2.671  86.63 
\(x^{10}y^5\)  0.064  0.191  0.999  0.081  0.296  1.699  0.237  0.833  5.125 
\(x^{20}y^5\)  0.078  0.240  1.955  0.089  0.412  3.690  0.274  1.093  10.99 
\(x^{40}y^5\)  0.107  0.363  4.975  0.085  0.616  9.504  0.332  1.680  29.40 
\(x^5y^{20}\)  0.052  0.244  1.971  0.085  0.412  3.662  0.243  1.117  11.07 
\(x^5y^{40}\)  0.051  0.365  5.009  0.082  0.597  9.295  0.272  1.673  29.17 
We test the three different approaches for integrating bivariate polynomials of different polynomial degrees on the triangle depicted in Fig. 3 and the two irregular polygons shown in Figs. 4 and 5, cf. Table 2 for the list of coordinates for each domain; the actual values of the integrals are given in Table 3. In Table 4 we show the average CPUtime taken to evaluate the underlying integral using each method. We point out that, for each integrand and each integration domain \({\mathscr {P}} \), the relative errors between the output of the three different approaches are of the order of machine precision; that is, all three algorithms return the exact integral up to roundoff error. For completeness, we note that the times for A.1 include the computation of \(b_i,\ {\mathbf {n}}_i\), and \(d_{ij}\), \(j=1,\ldots ,m_i\), \(i=1,\ldots ,m\). For A.2 we take into account the evaluation of \(b_i,\ {\mathbf {n}}_i\), \(i=1,\ldots ,m\), and the onetime computation of the onedimensional quadrature defined on \((1,1)\), consisting of Open image in new window nodes and weights, employed for the line integrations. Here, we select Open image in new window , in order to guarantee the exact integration of \(x^k y^l\). The times for A.3 include the onetime computation of the Open image in new window nodes and weights on the reference triangle, where Open image in new window is selected as in A.2, the time required for subtessellation, as well as the time needed for numerical integration on each subtriangle. The results shown in Table 4 illustrate that the subtessellation approach A.3 is the slowest while the proposed method A.1 is the fastest for all of the considered cases; in particular, we highlight that, even for just a single domain of integration, the former method is between one to twoorders of magnitude slower than the latter approach proposed in this article. Moreover, when the integration domain consists of a triangle, our algorithm A.1 still outperforms classical quadrature rules, cf. A.3, even though in this case no subtessellation is undertaken. When comparing A.1 and A.2, we observe that the former algorithm is again superior in terms of CPU time in comparison with the latter approach; this difference seems to grow when the exponents k and l of the integrand function \(x^ky^l\) are very different. This is because in A.1 we have made an optimal selection of the points \({\mathbf {x}} _{0,i} = (x_{0i,1},x_{0i,2})^\top \), \(i=1,\ldots ,m\), appearing in (12). Indeed, performing the geometric reduction of the edges of the domain of integration, we then choose \(x_{0i,1} = 0\) or \(x_{0i,2}=0\), \(i=1,\ldots ,m\), if the exponents of the integrand function \(x^ky^l\) are \(k \ge l\) or \(k<l\), respectively. The choice \(x_{0i,1} = 0\) or \(x_{0i,2}=0\), \(i=1,\ldots ,m\), allows us to avoid the recursive calls to the function Open image in new window related to the x or ypartial derivatives, respectively. In this way the approach A.1 is able to exploit the form of the integrand in order to optimize the evaluation of the corresponding integral. To explore this issue further, in the following section we consider the computational complexity of A.1 in both the cases when an optimal and nonoptimal selection of the points \({\mathbf {x}} _{0,i}\), \(i=1,\ldots ,m\), is made.
2.2 Computational Complexity of Algorithm 1
The computational complexity of Algorithm 1, which is employed in A.1, depends in general on the number of recursive calls of the function Open image in new window . In particular, using the shorthand notation introduced in Remark 2, the selection of the points \({\mathbf {x}} _{0} = (x_{0,1},\ldots ,x_{0,d})^\top \), which are used to define the origin of the coordinate system of each Npolytope Open image in new window which defines the facets of \({\mathscr {P}} \) is crucial. In general, any \((d1)\)dimensional hyperplane in \(\mathbb {R}^d\) possesses a nonempty intersection with some axis of the Cartesian reference system, which means that it is always possible to choose \((d1)\) components of \({\mathbf {x}} _{0}\) as zero. Without loss of generality we select \(x_{0,r} = \nicefrac {b_i}{n_{i,r}}\) and \(x_{0,s} = 0\) for \(s \ne r\), where \(b_i\) and \({\mathbf {n}}_i\) are as defined in Remark 2, and \(r \in \{ 1,\ldots ,d\}\) is chosen so that \( k_r = \min \{ k_1,\ldots ,k_d\}.\)
Remark 4
In general, if Open image in new window is a Npolytopic domain in \(\mathbb {R}^d\), then at most N components of Open image in new window can be selected to be zero.
 Set \(d=2\) and assume \(k_1 \le k_2\), so that we can choose \(x_{0,1}\ne 0\) and \(x_{0,2} = 0\) on each of the edges of \({\mathscr {P}} \). Then, according to Algorithm 1 we have and where we have denoted the vertices of the edge Open image in new window as \({\mathbf {v}}_{i1}\) and \({\mathbf {v}}_{i2}\). Hence, In general, for \(d=2\) we deduce that
 Set \(d=3\) and assume \(k_1 = \min \{k_1,k_2,k_3\}\), so that we may select \(x_{0,1} \ne 0\) and \(x_{0,2} = x_{0,3} = 0\) on each of the faces of \({\mathscr {P}} \). Thereby, employing Algorithm 1 we deduce that where, for each \(i=1,\ldots ,m\), Here, the computational complexity of Open image in new window depends on the choice of \({\mathbf {x}} _{0} \equiv {\mathbf {x}} _{0,ij}\) which defines the origin of the coordinate system for Open image in new window , \(j=1,\ldots ,m_i\), \(i=1,\ldots ,m\). According to Remark 4, two components of \({\mathbf {x}} _{0,ij}\) can possibly be different from zero, which implies that the complexity of Algorithm 1 increases exponentially when \(d=3\). However, it is possible to modify Algorithm 1 in order to avoid the double recursive calls which cause this exponential complexity. In particular, in Sect. 2.3 we propose an alternative algorithm which exploits the same idea of Algorithm 1 and allows us to overcome this issue.
In order to confirm (14), we use the tool [56] to measure the number of FLOPs required to exactly compute \(\int _{{\mathscr {P}}} x^{k_1} y^{k_2} \mathrm {d} \mathbf{x}\); moreover, comparisons will also be made with A.3. To simplify the presentation, the polygon \({\mathscr {P}} \) is selected to be the triangle with vertices \((1,0.3)\), \((1,1)\), and (0.3, 1); thereby, A.3 does not require the computation of a subtessellation. In Fig. 6, we plot the number of FLOPs needed to evaluate \(\int _{{\mathscr {P}}} x^{k_1} y^{k_2}\mathrm {d} \mathbf{x}\) by fixing \(k_1\) and varying \(k_2 \in \{0,\ldots ,50\}\) employing both A.1 and A.3. In particular, Fig. 6a shows that the number of FLOPs required by the quadrature free method A.1 growths linearly with respect to \(k_2\) when \(k_1>k_2\) and becomes constant as \(k_2\) increases when \(k_1 \le k_2\). Figure 7 confirms the asymptotic behaviour of the two algorithms in the case when \(k_1=k_2\); here, the number of FLOPs required by the subtessellation method is reported in both the case when the cost of the evaluation of the quadrature nodes and weights employing the function gauleg, cf. [55], for example, is included/excluded. In particular, we show results both in the case when the cost of the function evaluations is excluded, cf. Fig. 7a, as well as the total number of FLOPs required by each algorithm to exactly evaluate \(\int _{{\mathscr {P}}} x^{k} y^{k}\mathrm {d} \mathbf{x}\), cf. Fig. 7b. As expected, the computational complexity of A.3 grows as \({\mathcal O}(k^2)\) and \({\mathcal O}(k^3)\) in these two latter cases, respectively, while the cost of the quadrature free method is always \({\mathcal O}(k)\) as k increases.
2.3 Integration of Families of Monomial Functions
3 Application to hpVersion DG Methods
In order to discretize problem (16), we introduce a partition Open image in new window of the domain \(\varOmega \), which consists of disjoint (possibly nonconvex) open polygonal/polyhedral elements \(\kappa \) of diameter \(h_{\kappa }\), such that Open image in new window . We denote the mesh size of Open image in new window by Open image in new window . Furthermore, we define the faces of the mesh Open image in new window as the planar/straight intersections of the \((d1)\)dimensional facets of neighbouring elements. This implies that, for \(d=2\), a face consists of a line segment, while for \(d=3\), the faces of Open image in new window are general shaped polygons; without loss of generality, for the definition of the proceeding DG method we assume that the faces are \((d1)\)dimensional simplices, cf. [24, 25] for a discussion of this issue. In order to introduce the DG formulation, it is helpful to distinguish between boundary and interior element faces, denoted by \({\mathcal {F}}_h^B\) and \({\mathcal {F}}_h^I\), respectively. In particular, we observe that \(F \subset \partial \varOmega \) for \(F \in {\mathcal {F}}_h^B\), while for any \(F \in {\mathcal {F}}_h^I\) we assume that \(F \subset \partial \kappa ^{\pm }\), where \(\kappa ^{\pm }\) are two adjacent elements in Open image in new window . Furthermore, we write \({\mathcal {F}}_h = {\mathcal {F}}_h^I \cup {\mathcal {F}}_h^B\) to denote the set of all mesh faces of Open image in new window . For simplicity of presentation we assume that each element Open image in new window possesses a uniformly bounded number of faces under mesh refinement, cf. [24, 25].
We associate to Open image in new window the corresponding discontinuous finite element space \(V_h\), defined by Open image in new window where Open image in new window denotes the space of polynomials of total degree at most \(p_{\kappa } \ge 1\) on Open image in new window , cf. [24, 25].
Definition 1
Given Definition 1, we recall the following inverse inequality, cf. [24, 25].
Lemma 2
Based on Lemma 2, together with the analysis presented in [24, 25], the parameter \(\alpha _h\) can be defined as follows.
Definition 2
4 Elemental Stiffness and Mass Matrices
In this section, we outline the application of Algorithm 2 for the efficient computation of the mass and stiffness matrices appearing in (20).
4.1 Shape Functions for the Discrete Space \(V_h\)
To construct the discrete space \(V_h\) we exploit the approach presented in [25], based on employing polynomial spaces defined over the bounding box of each element. More precisely, given an element Open image in new window , we first construct the Cartesian bounding box \(B_{\kappa }\), such that \(\overline{\kappa } \subset \overline{B_{\kappa }}\). Given Open image in new window , it is easy to define a linear map between \(B_{\kappa }\) and the reference element \(\hat{B} = (1,1)^d\) as follow: \({\mathbf {F}}_{\kappa }: \hat{B} \rightarrow B_{\kappa } \text { such that } {\mathbf {F}}_{\kappa }: \hat{{\mathbf {x}}} \in \hat{B} \longmapsto {\mathbf {F}}_{\kappa }(\hat{{\mathbf {x}}}) = {\mathbf {J}}_{\kappa } \hat{{\mathbf {x}}} + {\mathbf {t}}_{\kappa },\) where \( {\mathbf {J}}_{\kappa } \in \mathbb {R}^{d \times d}\) is the Jacobi matrix of the transformation which describes the stretching in each direction, and \({\mathbf {t}}_{\kappa } \in \mathbb {R}^d \) is the translation between the point \({\mathbf {0}} \in \hat{B}\) and the baricenter of the bounded box \(B_{\kappa }\), see Fig. 10. We note that since \({\mathbf {F}}_{\kappa }\) affinely maps one bounding box to another (without rotation), the Jacobi matrix \({\mathbf {J}}_{\kappa }\) is diagonal.
4.2 Volume Integrals Over Polytopic Mesh Elements
4.3 Interface Integrals over Polytopic Mesh Elements
Remark 5
The coefficients \(\tilde{X}\) and \(\tilde{Y}\) depend on the maps \({\mathbf {F}}_{\kappa ^+}\) and \({\mathbf {F}}_{\kappa ^}\), as well as Open image in new window and Open image in new window ; thereby, they must be computed for each element \(\kappa \) in the mesh Open image in new window .
Remark 6
5 Numerical Experiments
We present some two and threedimensional numerical experiments to test the practical performance of the proposed approach. Here, the results are compared with standard assembly algorithms based on employing efficient quadrature rules on a subtessellation.
5.1 TwoDimensional Test Case
We have repeated the same set of numerical experiments measuring the CPU times needed to assemble the face terms appearing in the matrices \({\mathbf {S}}\) and \({\mathbf {I}}\); these results are reported in Fig. 14. Here, the domains of integration of the integrals involved are the edges of the polygonal elements, which are simply line segments in the plane \({\mathbf {R}}^2\). Here, we compare the quadrature free method described in Sect. 4.3 with classical Gaussian line integration, where the integrating function is pointwise evaluated on the physical numerical nodes lying on each face. The graphs in Fig. 14a, b show the comparison between the CPU time taken for the two different approaches. Here, we again observe that significant computational savings are made when the proposed quadrature free method is employed, though the increase in efficiency is less than that attained for the computation of the volume integrals. In Fig. 15b we plot the logarithmicscaled CPU time with respect to the number of mesh elements; again the CPU time grows as \(\mathcal{O}(N_e)\) as \(N_e\) increases.
Referring to Figs. 13 and 14, we observe that the cost of assembly of the matrices \({\mathbf {M}}\) and \({\mathbf {V}}\), which involve volume integrals over each element \(\kappa \) in the computational mesh Open image in new window , is more expensive than the time it takes to assemble the facebased matrices \({\mathbf {S}}\) and \({\mathbf {I}}\), when the classical Gaussian line integration method is employed. This is, of course, due to the greater number of function evaluations required to compute \({\mathbf {M}}\) and \({\mathbf {V}}\) on the underlying subtessellation; note that in twodimensions, a subtesellation of the faces is not necessary, since they simply consist of line segments. However, the opposite behaviour is observed when the quadrature free method is employed; in this case, the volume integrals can be very efficiently computed since the coefficients \(\mathcal{C}_{i,j,k}\) and \(\mathcal{C}'_{i,j,k}\) only need to be computed once, cf. Sect. 4.2. On the other hand, computing the face integrals present in \({\mathbf {S}}\) and \({\mathbf {I}}\) requires the evaluation of the coefficients Open image in new window , and Open image in new window , cf. Sect. 4.3, which must be computed for each face Open image in new window .
5.2 ThreeDimensional Test Case
We perform a similar set of experiments as the ones outlined in Sect. 5.2 for the twodimensional case. Again, we compare the CPU time required by the proposed quadrature free method with the quadrature integration/subtessellation approach to assemble the stiffness and mass matrices resulting from the DG discretization of problem (19). Numerical integration over a polyhedral domain is required to assemble the matrices \({\mathbf {M}}\) and \({\mathbf {V}}\), cf. (21), whereas for the computation of \({\mathbf {S}}\) and \({\mathbf {I}}\), cf. (22), a cubature rule over polygonal faces (here triangular shaped) is needed. In general, for threedimensional problems the quadrature integration approach consists in the application of the subtessellation method both for volume and face integrals, although in this particular case no subtessellation is required for the face integrals, since they simply consist of triangular domains. Moreover, as in this case a subtessellation into tetrahedral domains is already given by the definition of the polyhedral mesh, the quadrature integration for volume integrals on a general agglomerated polyhedral element \(\kappa = \cup _{\kappa _{f}' \in {\mathscr {S}}_{\kappa }} \kappa _{f}'\) is realized by applying an exact quadrature rule on each tetrahedron \(\kappa _{f}' \in {\mathscr {S}}_{\kappa }\). The comparison of the CPU times for the two methods outlined here are presented for a set of agglomerated polyhedral grids where we vary the number of elements \(N_e \in \{ 5, 40, 320, 2560, 20480\}\), and the polynomial degree \(p \in \{ 1,2,3,4,5,6\}\). For each agglomerated polyhedral grid Open image in new window we have chosen the corresponding fine tetrahedral grid Open image in new window such that the cardinality of the set \({\mathscr {S}}_{\kappa }\) appearing in (33) is Open image in new window . The results are shown in Fig. 17 for the computation of the matrices \({\mathbf {M}}\) and \({\mathbf {V}}\), and in Fig. 18 for the computation of matrices \({\mathbf {S}}\) and \({\mathbf {I}}\). Here, we observe analogous behaviour to the twodimensional case: the quadrature free method substantially outperforms quadrature integration both for the computation of the volume and face integrals. We also have reported in Fig. 19 the logarithmicscaled graphs of each computation, showing that, as expected, the gain in terms of CPU time attained by exploiting the proposed method is more evident here, with respect to the twodimensional case, also for the face integrals.
6 Conclusions
In this article we have proposed a new approach for the numerical evaluation of the integrals required to assemble the mass and stiffness matrices arising from the DG discretization of diffusion–reaction problems, where the underlying mesh is composed of polygonal/polyhedral elements. Starting from the idea proposed in [27] for the integration of homogeneous functions, we have developed a cubature method which does not require the definition of a set of nodes and weights on the domain of integration, and allows for the exact integration of polynomial functions based on evaluating the integrand and its derivatives only at the vertices of the polytopal integration domain. This approach shows a remarkable gain in terms of CPU time with respect to classical quadrature rules, maintaining the same degree of accuracy. On the one hand, the number of computations is optimized, with respect to the polynomial degree of the integrand, and moreover less memory storage is required as no subtessellation and quadrature nodes and weights are required. With regards the threedimensional tests presented in Sect. 5.2, we note that more substantial gains in terms of CPU time, with respect to classical approaches, can be obtained if the underlying grid is composed of pure (not agglomerated) polyhedral elements: firstly, this is because a subpartition should be defined on the fly for each element, and secondly, as faces are not only triangles but possibly polygons of arbitrary shape, a subtessellation is needed also for surface integrals. The proposed technique is completely general and can be extended to several numerical methods based on discrete spaces defined on polygonal/polyhedral meshes, such as Virtual Element Methods, Mimetic Finite Differences, Hybrid HighOrder Methods, Hybridizable Discontinuous Galerkin Schemes, and Polygonal Finite Element Methods, for example. We stress that for moderate polynomial degrees, the proposed integration technique, which involves exact integration of bivariate and trivariate functions in two and threedimensions, respectively, has been observed to be numerically stable.
References
 1.Antonietti, P.F., Brezzi, F., Marini, L.D.: Bubble stabilization of discontinuous Galerkin methods. Comput. Methods Appl. Mech. Eng. 198(21–26), 1651–1659 (2009)MathSciNetCrossRefGoogle Scholar
 2.Antonietti, P.F., Cangiani, A., Collis, J., Dong, Z., Georgoulis, E.H., Giani, S., Houston, P.: Review of discontinuous Galerkin Finite Element Methods for partial differential equations on complicated domains, Lecture Notes in Computational Science and Engineering, vol. 114, 1st edn., chap. 8, pp. 281–310. Springer (2016)Google Scholar
 3.Antonietti, P.F., Facciolà, C., Russo, A., Verani, M.: Discontinuous Galerkin approximation of flows in fractured porous media. Technical Report 22/2016, MOX Report (2016)Google Scholar
 4.Antonietti, P.F., Formaggia, L., Scotti, A., Verani, M., Verzott, N.: Mimetic Finite Difference approximation of flows in fractured porous media. ESAIM Math. Model. Numer. Anal. 50(3), 809–832 (2016)MathSciNetCrossRefGoogle Scholar
 5.Antonietti, P.F., Giani, S., Houston, P.: \(hp\)version Composite Discontinuous Galerkin methods for elliptic problems on complicated domains. SIAM J. Sci. Comput. 35(3), A1417–A1439 (2013)MathSciNetCrossRefGoogle Scholar
 6.Antonietti, P.F., Giani, S., Houston, P.: Domain decomposition preconditioners for discontinuous Galerkin methods for elliptic problems on complicated domains. J. Sci. Comput. 60(1), 203–227 (2014)MathSciNetCrossRefGoogle Scholar
 7.Antonietti, P.F., Houston, P., Pennesi, G.: Fast numerical integration on polytopic meshes with applications to discontinuous Galerkin finite element methods. MOX Report No. 03/2018 (2018)Google Scholar
 8.Antonietti, P.F., Manzini, G., Verani, M.: The fully nonconforming Virtual Element Method for biharmonic problems. Math. Mod. Methods Appl. Sci. (Accepted: 16 October 2017)Google Scholar
 9.Antonietti, P.F., Pennesi, G.: Vcycle multigrid algorithms for discontinuous Galerkin methods on nonnested polytopic meshes. MOX Report No. 49/2017 (submitted 2017)Google Scholar
 10.Antonietti, P.F., da Veiga, L.B., Mora, D., Verani, M.: A stream Virtual Element formulation of the Stokes problem on polygonal meshes. SIAM J. Numer. Anal. 52(1), 386–404 (2014)MathSciNetCrossRefGoogle Scholar
 11.Antonietti, P.F., da Veiga, L.B., Scacchi, S., Verani, M.: A C1 Virtual Element Method for the Cahn–Hilliard equation with polygonal meshes. SIAM J. Numer. Anal. 54(1), 34–56 (2016)MathSciNetCrossRefGoogle Scholar
 12.Arnold, N.D., Brezzi, F., Cockburn, B., Marini, L.D.: Unified analysis of discontinuous Galerkin methods for elliptic problems. SIAM J. Numer. Anal. 39(5), 1749–1779 (2001/2002)MathSciNetCrossRefGoogle Scholar
 13.Ayuso de Dios, B., Lipnikov, K., Manzini, G.: The nonconforming Virtual Element Method. ESAIM Math. Model. Numer. Anal. 50(3), 879–904 (2016)MathSciNetCrossRefGoogle Scholar
 14.Bassi, F., Botti, L., Colombo, A.: Agglomerationbased physical frame dG discretizations: an attempt to be mesh free. Math. Mod. Methods Appl. Sci. 24(8), 1495–1539 (2014)MathSciNetCrossRefGoogle Scholar
 15.Beirão da Veiga, L., Brezzi, F., Cangiani, A., Manzini, G., Marini, L.D., Russo, A.: Basic principles of Virtual Element Methods. Math. Models Methods Appl. Sci. 23(1), 199–214 (2013)MathSciNetCrossRefGoogle Scholar
 16.Beirão da Veiga, L., Brezzi, F., Marini, L.D., Russo, A.: Mixed Virtual Element Methods for general second order elliptic problems on polygonal meshes. ESAIM Math. Model. Numer. Anal. 50(3), 727–747 (2016)MathSciNetCrossRefGoogle Scholar
 17.Beirão da Veiga, L., Brezzi, F., Marini, L.D., Russo, A.: Virtual Element Method for general secondorder elliptic problems on polygonal meshes. Math. Models Methods Appl. Sci. 26(4), 729–750 (2016)MathSciNetCrossRefGoogle Scholar
 18.Beirão da Veiga, L., Lipnikov, K., Manzini, G.: The Mimetic Finite Difference Method for Elliptic Problems, vol. 11. Springer, Cham (2014)zbMATHGoogle Scholar
 19.Brezzi, F., Lipnikov, K., Shashkov, M.: Convergence of the Mimetic Finite Difference method for diffusion problems on polyhedral meshes. SIAM J. Numer. Anal. 43(5), 1872–1896 (electronic) (2005)MathSciNetCrossRefGoogle Scholar
 20.Brezzi, F., Lipnikov, K., Shashkov, M.: Convergence of Mimetic Finite Difference method for diffusion problems on polyhedral meshes with curved faces. Math. Mod. Methods Appl. Sci. 16(2), 275–297 (2006)MathSciNetCrossRefGoogle Scholar
 21.Brezzi, F., Lipnikov, K., Simoncini, V.: A family of Mimetic Finite Difference methods on polygonal and polyhedral meshes. Math. Mod. Methods Appl. S. 15(10), 1533–1551 (2005)MathSciNetCrossRefGoogle Scholar
 22.Cangiani, A., Dong, Z., Georgoulis, E.H.: \(hp\)Version space–time discontinuous Galerkin methods for parabolic problems on prismatic meshes. SIAM J. Sci. Comput. 39(4), A1251–A1279 (2017)MathSciNetCrossRefGoogle Scholar
 23.Cangiani, A., Dong, Z., Georgoulis, E.H., Houston, P.: \(hp\)Version discontinuous Galerkin methods for advectiondiffusionreaction problems on polytopic meshes. ESAIM Math. Model. Numer. Anal. 50, 699–725 (2016)MathSciNetCrossRefGoogle Scholar
 24.Cangiani, A., Dong, Z., Georgoulis, E.H., Houston, P.: \(hp\)Version discontinuous Galerkin methods on polygonal and polyhedral meshes. Springer International Publishing, SpringerBriefs in Mathematics, Berlin (2017)CrossRefGoogle Scholar
 25.Cangiani, A., Georgoulis, E.H., Houston, P.: \(hp\)Version discontinuous Galerkin methods on polygonal and polyhedral meshes. Math. Models Methods Appl. Sci. 24(10), 2009–2041 (2014)MathSciNetCrossRefGoogle Scholar
 26.Cangiani, A., Manzini, G., Sutton, O.J.: Conforming and nonconforming Virtual Element Methods for elliptic problems. IMA J. Numer. Anal. 37(3), 1317–1354 (2017)MathSciNetzbMATHGoogle Scholar
 27.Chin, E.B., Lasserre, J.B., Sukumar, N.: Numerical integration of homogeneous functions on convex and nonconvex polygons and polyhedra. Comput. Mech. 56(6), 967–981 (2015)MathSciNetCrossRefGoogle Scholar
 28.Chin, E.B., Lasserre, J.B., Sukumar, N.: Modeling crack discontinuities without elementpartitioning in the extended finite element method. Int. J. Numer. Methods Eng. 110(11), 1021–1048 (2017)MathSciNetCrossRefGoogle Scholar
 29.Cockburn, B., Dond, B., Guzmán, J.: A superconvergent LDGhybridizable Galerkin method for secondorder elliptic problems. Math. Comput. 77(264), 1887–1916 (2008)MathSciNetCrossRefGoogle Scholar
 30.Cockburn, B., Gopalakrishnan, J., Lazarov, R.: Unified hybridization of discontinuous Galerkin, mixed, and continuous Galerkin methods for second order elliptic problems. SIAM J. Numer. Anal. 47(2), 1319–1365 (2009)MathSciNetCrossRefGoogle Scholar
 31.Cockburn, B., Gopalakrishnan, J., Sayas, F.J.: A projectionbased error analysis of HDG methods. Math. Comput. 79(271), 1351–1367 (2010)MathSciNetCrossRefGoogle Scholar
 32.Cockburn, B., Guzmán, J., Wang, H.: Superconvergent discontinuous Galerkin methods for secondorder elliptic problems. Math. Comput. 78(265), 1–24 (2009)MathSciNetCrossRefGoogle Scholar
 33.Di Pietro, D.A., Ern, A.: A hybrid highorder lockingfree method for linear elasticity on general meshes. Comput. Methods Appl. Mech. Eng. 283(1), 1–21 (2015)MathSciNetCrossRefGoogle Scholar
 34.Di Pietro, D.A., Ern, A.: Hybrid HighOrder methods for variablediffusion problems on general meshes. C. R. Math. Acad. Sci. Soc. R. Can. 353(1), 31–34 (2015)MathSciNetzbMATHGoogle Scholar
 35.Di Pietro, D.A., Ern, A., Lemaire, S.: An arbitraryorder and compactstencil discretization of diffusion on general meshes based on local reconstruction operators. Comput. Method Appl. Math. 14(4), 461–472 (2014)MathSciNetCrossRefGoogle Scholar
 36.Droniou, J., Eymard, R., Herbin, R.: Gradient schemes: generic tools for the numerical analysis of diffusion equations. ESAIM Math. Model. Numer. Anal. 50(3), 749–781 (2016)MathSciNetCrossRefGoogle Scholar
 37.Fries, T.P., Belytschko, T.: The extended/generalized finite element method: an overview of the method and its applications. Int. J. Numer. Methods Eng. 84(3), 253–304 (2010)MathSciNetzbMATHGoogle Scholar
 38.Gerstenberger, A., Wall, A.W.: An Extended Finite Element Method/Lagrange multiplier based approach for fluidstructure interaction. Comput. Methods Appl. Mech. Eng. 197(19–20), 1699–1714 (2008)MathSciNetCrossRefGoogle Scholar
 39.Giani, S., Houston, P.: Domain decomposition preconditioners for discontinuous Galerkin discretizations of compressible fluid flows. Numer. Math. Theory Methods Appl. 7(2), 123–148 (2014)MathSciNetzbMATHGoogle Scholar
 40.Griffiths, D.J.: Introduction to Quantum Mechanics. Pearson Education, London (2005)Google Scholar
 41.Hackbusch, W., Sauter, S.A.: Composite Finite Elements for problems containing small geometric details. Part II: Implementation and numerical results. Comput. Visual Sci. 1(4), 15–25 (1997)CrossRefGoogle Scholar
 42.Hackbusch, W., Sauter, S.A.: Composite Finite Elements for the approximation of PDEs on domains with complicated microstructures. Numer. Math. 75(4), 447–472 (1997)MathSciNetCrossRefGoogle Scholar
 43.Holdych, D.J., Noble, D.R., Secor, R.B.: Quadrature rules for triangular and tetrahedral elements with generalized functions. Int. J. Numer. Methods Eng. 73(9), 1310–1327 (2015)MathSciNetCrossRefGoogle Scholar
 44.Hyman, J., Shashkov, M., Steinberg, S.: The numerical solution of diffusion problems in strongly heterogeneous nonisotropic materials. J. Comput. Phys. 132(1), 130–148 (1997)MathSciNetCrossRefGoogle Scholar
 45.Karypis, G., Kumar, V.: A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM J. Sci. Comput. 20(1), 359–392 (1998)MathSciNetCrossRefGoogle Scholar
 46.Karypis, G., Kumar, V.: Metis: Unstructured graph partitioning and sparse matrix ordering system, version 4.0. http://www.cs.umn.edu/~metis (2009)
 47.Lasserre, J.B.: Integration on a convex polytope. Proc. Am. Math. Soc. 126(8), 2433–2441 (1998)MathSciNetCrossRefGoogle Scholar
 48.Li, C.J., Lambertu, P., Dagnino, C.: Numerical integration over polygons using an eightnode quadrilateral spline finite element. J. Comput. Appl. Math. 233(2), 279–292 (2009)MathSciNetCrossRefGoogle Scholar
 49.Lyness, J.N., Monegato, G.: Quadrature rules for regions having regular hexagonal symmetry. SIAM J. Numer. Anal. 14(2), 283–295 (1977)MathSciNetCrossRefGoogle Scholar
 50.Ma, J., Rokhlin, V., Wandzura, S.: Generalized Gaussian quadrature of systems of arbitrary functions. SIAM J. Numer. Anal. 33(3), 971–996 (1996)MathSciNetCrossRefGoogle Scholar
 51.Moës, N., Dolbow, J., Belytschko, T.: A finite element method for crack growth without remeshing. Int. J. Numer. Methods Eng. 46(1), 131–150 (1999)CrossRefGoogle Scholar
 52.Mousavi, S.E., Sukumar, N.: Numerical integration of polynomials and discontinuous functions on irregular convex polygons and polyhedrons. Comput. Mech. 47(5), 535–554 (2011)MathSciNetCrossRefGoogle Scholar
 53.Mousavi, S.E., Xiao, H., Sukumar, N.: Generalized Gaussian quadrature rules on arbitrary polygons. Internat. J. Numer. Methods Eng. 82(1), 99–113 (2010)MathSciNetzbMATHGoogle Scholar
 54.Natarajan, S., Bordas, S., Mahapatra, D.R.: Numerical integration over arbitrary polygonal domains based on Schwarz–Christoffel conformal mapping. Int. J. Numer. Methods Eng. 80(1), 103–134 (2009)MathSciNetCrossRefGoogle Scholar
 55.Press, W.H., Teukolsky, S.A., Vetterling, W.T., Flannery, B.P.: Numerical Recipes 3rd Edition: The Art of Scientific Computing, 3rd edn. Cambridge University Press, New York (2007)zbMATHGoogle Scholar
 56.Qian, H.: Counting the floating point operations (flops). https://it.mathworks.com/matlabcentral/fileexchange/50608countingthefloatingpointoperationsflops (2015)
 57.Quarteroni, A., Sacco, R., Saleri, F.: Numerical Mathematics. Springer, Berlin (2007)zbMATHGoogle Scholar
 58.Simon, C.P., Blume, L.E.: Mathematics for Economists. W. W. Norton and Company, New York (1996)Google Scholar
 59.Sommariva, A., Vianello, M.: Product Gauss cubature over polygons based on Green’s integration formula. BIT 47(2), 441–453 (2007)MathSciNetCrossRefGoogle Scholar
 60.Stroud, A.H., Secrest, D.: Gaussiam quadrature formulas. ZAMM Z. Angew. Math. Mech. 47(2), 138–139 (1967)Google Scholar
 61.Sudhakar, Y., Wall, W.A.: Quadrature schemes for arbitrary convex/concave volumes and integration of weak form in enriched partition of unity methods. Comput. Methods Appl. Mech. Eng. 258(1), 39–54 (2013)MathSciNetCrossRefGoogle Scholar
 62.Sukumar, N., Moës, N., Belytschko, T.: Extended Finite Element Method for threedimensional crack modelling. Int. J. Numer. Methods Eng. 48(11), 1549–1570 (2000)CrossRefGoogle Scholar
 63.Sukumar, N., Tabarraei, A.: Conforming polygonal finite elements. Int. J. Numer. Methods Eng. 61(12), 2045–2066 (2004)MathSciNetCrossRefGoogle Scholar
 64.Tabarraei, A., Sukumar, N.: Extended Finite Element Method on polygonal and quadtree meshes. Comput. Methods Appl. Mech. Eng. 197(5), 425–438 (2008)MathSciNetCrossRefGoogle Scholar
 65.Talischi, C., Paulino, G.H., Pereira, A., Menezes, I.F.M.: Polymesher: a generalpurpose mesh generator for polygonal elements written in matlab. Struct. Multidiscip. Optim. 45(3), 309–328 (2012)MathSciNetCrossRefGoogle Scholar
 66.Taylor, M.E.: Partial Differential Equations: Basic Theory. Springer, New York (1996)CrossRefGoogle Scholar
 67.Ventura, G.: On the elimination of quadrature subcells for discontinuous functions in the extended finiteelement method. Int. J. Numer. Methods Eng. 66(5), 761–795 (2006)MathSciNetCrossRefGoogle Scholar
 68.Ventura, G., Benvenuti, E.: Equivalent polynomials for quadrature in Heaviside function enriched elements. Int. J. Numer. Methods Eng. 102(3–4), 688–710 (2015)MathSciNetCrossRefGoogle Scholar
 69.Xiao, H., Gimbutas, Z.: A numerical algorithm for the construction of efficient quadrature rules in two and higher dimensions. Comput. Math. Appl. 59(2), 663–676 (2010)MathSciNetCrossRefGoogle Scholar
 70.Yarvin, N., Rokhlin, V.: Generalized Gaussian quadratures and singular value decompositions of integral operators. SIAM J. Sci. Comput. 20(2), 669–718 (1998)MathSciNetCrossRefGoogle Scholar
 71.Yogitha, A.M., Shivaram, K.T.: Numerical integration of arbitrary functions over a convex and non convex polygonal domain by eight noded linear quadrilateral finite element method. Aust. J. Basic Appl. Sci. 10(16), 104–110 (2016)Google Scholar
Copyright information
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.