Abstract
When solving the wave equation with finite elements, mass lumping allows for explicit time stepping, avoiding the cost of a lower-upper decomposition of the large sparse mass matrix. Mass lumping on the reference element amounts to numerical quadrature. The weights should be positive for stable time stepping and preserve numerical accuracy. The standard triangular polynomial elements, except for the linear element, do not have these properties. Accuracy can be preserved by augmenting them with higher-degree polynomials in the interior. This leaves the search for elements with positive weights, which were found up to degree 9 by various authors. The classic accuracy condition, however, is too restrictive. A sharper, less restrictive condition recently led to new mass-lumped tetrahedral elements up to degree 4. Compared to the known ones up to degree 3, they have less nodes and are computationally more efficient. The same criterion is applied here to the construction of triangular elements. For degrees 2 to 4, these turn out to be identical to the known ones. For degree 5, the number of nodes is the same as for the known element, but now there are infinitely many solutions. Some of these have a considerably larger stability limit for time stepping. For degree 6, two elements are found with less nodes than the known ones. For degree 7, one element with less nodes was found but with a negative weight, making it useless for time stepping with the wave equation. If the number of nodes is the same as for the classic element, there are now infinitely many solutions. Numerical tests for a homogeneous wave-propagation problem with a point source confirm the expected accuracy of the new elements. Some of them require less compute time than those obtained with the more restrictive accuracy criterion.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
The numerical solution of the wave equation in time involves a large sparse mass matrix. Mass lumping avoids the cost of its lower-upper decomposition, leaving a diagonal matrix that can be readily inverted. On the reference element, its entries are proportional to numerical quadrature weights. If applied to the regular higher-order polynomial elements, there is a zero weight for degree 2, or a negative one for degree 3. For higher degrees, the resulting spatial accuracy is too low for a second-order partial differential equation. The linear degree-1 element is the exception. For higher degrees, positive weights and sufficient spatial accuracy can be obtained by choosing the degree of the polynomials in the interior higher than on the element boundary. In this way, elements of degree 2 [1,2,3], 3 [4, 5], 4 [6], 5 [7], 6 [8], 7 and 8 [9, 10], and 9 [9] were found. The results for degrees 7 and 8 in [9] and [10] are identical, but for degree 9, the one in [10] has more nodes and degree 10 on the edges.
The generalization of this approach to tetrahedra led to an element of degree 2 [6] and two elements of degree 3 [6]. The number of additional nodes in 3D is rather large, compared to the standard tetrahedral element.
Recently, it was found that a sharper, less restrictive condition can be imposed to preserve spatial accuracy after mass lumping [11]. The resulting tetrahedral elements for degree 2 and 3 have less nodes and are more efficient than the older ones. A number of degree-4 elements were found as well.
Here, the same accuracy condition is used in 2D for the construction of triangular mass-lumped elements. In addition, the moment equations for exact quadrature are based on symmetric polynomials instead of bi-variate monomials modulo symmetry to ensure that the number of independent equations is the same as the number of polynomials. With the old accuracy criterion, this could be accomplished by choosing a suitable subset [7, 12]. This enables quicker scanning through potential nodes patterns and elements that result in a number equations that does not exceed the number of unknowns. Though not strictly necessary, the last condition increases the chance of finding a solution.
The approach comprises the following steps. Given the polynomial degree of the element and a higher interior degree, one or more symmetric node patterns have to be found to support the polynomials. Next, a set of moment equations is formed by requiring numerical quadrature to be exact for elements of the Cartesian product of the basis polynomials and polynomials of the element degree minus two. This condition is less restrictive than the classic one that requires exactness for the element degree plus interior degree minus two. The resulting system is linear in the quadrature weights with coefficients that are symmetric polynomials in the node parameters. To increase the chance of finding a solution, the number of unknowns, consisting in weights and node parameters, is required to not exceed the number of independent equations. Among the solutions of the system, if any, only the real ones with strictly positive weights and node parameters that do not move nodes outside their symmetry class or the triangle are acceptable. From multiple solutions that correspond to the same set of nodes and weights modulo symmetry, only one is selected. Because the number of solutions grows quickly with the degree and system size, numerical root finding is required for the higher degrees.
When multiple acceptable solutions are found, which one is the best? The answer depends on the problem. When the wave equation is solved, the performance is affected by the number of nodes, the maximum allowable size of the time step and the resulting error. For elements of a given degree, on a rectangular domain with a decent mesh and material properties piecewise constant per element, the error behaves as element size to a power that is one higher than the degree, but the error constant varies among the multiple solutions, as does the Courant-Friedrichs-Lewy (CFL) number [13] that determines the maximum size of the time step.
To assess the performance of the various element, the numerical errors for a homogeneous problem with a point source were measured as a function of element size as well as run time. A comparison in terms of efficiency to other higher-order discretisation schemes on triangles, such as discontinuous Galerkin methods [14,15,16], the spectral difference method [17] and summation-by-parts operators [18], has not been considered. The last method avoids problems with the unisolvency condition, which will be encountered here for some choices of nodes patterns.
2 Construction Method
2.1 Node Sets and Basis Functions
A point on the triangle with vertices \({\mathbf {x}}_A\), \({\mathbf {x}}_B\) and \({\mathbf {x}}_C\) is represented by \({\mathbf {x}}= x_0 {\mathbf {x}}_A + x_1 {\mathbf {x}}_B+x_2 {\mathbf {x}}_C\) with \(x_0=1-x_1-x_2\) and \(x_k\in [0,1]\) for \(k=0,1,2\). Given a single node with natural coordinates \((x_1,x_2)\), its symmetric counterparts on the triangle and itself are elements of the set \(\Pi (x_1,x_2)\), which can be obtained by taking the first two of each of the 6 permutations of \((x_0,x_1,x_2)\) and removing duplicates. Table 1 lists the 6 equivalence classes for symmetric sets of nodes on the triangle. The second column contains the symmetry class, following definition 2.3 of [19], which will be referred to by the index j of the first column in what follows. The third column describes the node position on the triangle in natural coordinates modulo symmetry, and the fourth column their number \(v_j\) based on symmetry.
A node pattern or rule set is given by \(K=\{K_1,K_2,\ldots ,K_6\}\). The total number of nodes per triangle is \(n_\mathrm {p}=\sum _{j=1}^6 K_j v_j\). The number of node parameters is \(n_\mathrm {xpar}=K_3 + K_5 + 2 K_6\). Together with the quadrature weights, of which there are \(n_\mathrm {weight}=\sum _{j=1}^6 K_j\), the total number of parameters becomes \(n_\mathrm {par}=n_\mathrm {xpar}+n_\mathrm {weight}\).
The polynomial set of basis function of degree \(p\) is \(P_p=\{ x_1^i x_2^j \, \vert \, i \ge 0, \, j\ge 0, \, i+j\le p; \, i,j\in {\mathbb {Z}} \}\). Since this choice leads to non-positive quadrature weights already for degree 2, it can be augmented by higher-degree polynomials in the interior that vanish on the edges: \({\overline{P}}_{{p'}}=\{\eta \}\otimes P_{{p'}-3}=\{ \eta \,x_1^i x_2^j \,\vert \, i\ge 0,\, j\ge 0,\, i+j\le {p'}-3;\, i,j\in {\mathbb {Z}} \}\) with a bubble function \(\eta =x_0 x_1 x_2=(1-x_1-x_2)x_1 x_2\) that vanishes on the edges. Here, \({p'}\ge 3\) and \({p'}\ge p\).
Instead of \({\overline{P}}_{{p'}}=\{\eta \}\otimes P_{{p'}-3}\), the product of the bubble function \(\eta \) and some subset \({{{\tilde{P}}}}_{{p'}-3}\) of \(P_{{p'}-3}\) can be chosen, with \(P_{p-3}\subseteq {{{\tilde{P}}}}_{{p'}-3} \subseteq P_{{p'}-3}\), similar to the tetrahedral elements of degree 4 in [11]. This option will not be considered here, because it is less obvious how to automate the search for new elements, and is left for further research.
Conformity between elements is obtained if the restriction to the edges has degree \(p\). A necessary condition for unisolvence is that there are as many nodes as polynomial basis functions \(n_\mathrm {pol}\). Together, they define the node pattern for given degrees \(p\) and \({p'}\), as described by Theorem 1 in Appendix C.
Conjecture 3.1 in [10] states another requirement for unisolvence: the node pattern in the interior should be the same as that of the regular element of degree \({p'}\) with equidistant nodes in the natural coordinates. Lemma 1 in Appendix C proves its consistency with Theorem 1.
2.2 Quadrature
Lumping of the mass matrix amounts to numerical quadrature. The usual requirement is that polynomials up to degree \(q=p+{p'}-2\) should be integrated exactly for accuracy to be preserved [5, 20, e.g.]. The elements up to degree 9 mentioned in the introduction are all based on this criterion. A less restrictive condition was introduced in [11] and enabled the construction of tetrahedral elements with less nodes. Quadrature should be exact for polynomials in \(Q_{p,{p'}}=P_{p-2}\otimes U\), where \(U=P_{p}\oplus {\overline{P}}_{{p'}}\) contains the basis functions. If \(\psi (x_1,x_2)\) is an element of \(Q_{p,{p'}}\), the condition becomes
Here k runs over the nodes \(({{{\tilde{x}}}}_{k,1},{{{\tilde{x}}}}_{k,2})\) modulo symmetry. Since U is a subset of \(P_{{p'}}\), this potentially leads to elements with less nodes.
The requirement of exact quadrature results in a polynomial system of equations, linear in the weights \(w_k\), with coefficients that are rational numbers for the polynomials used here. It has a subsystem that corresponds to polynomials of \({\overline{P}}_{{p'}}\) and the interior nodes.
To avoid inconsistent systems, it is natural to require the number of equations \(n_\mathrm {eq}\) not to exceed the number of parameters \(n_\mathrm {par}\), although it may still happen that the overdetermined system has one or more solutions. Among the solutions, only the real ones with strictly positive weights \(w_k\) and nodes not outside the triangle are useful. In addition, degeneracies where a node moves out of its class into another should be avoided. A class 3 node should therefore have \(0<a<\tfrac{1}{2}\), a class 5 node \(0<a<\tfrac{1}{2}\) and \(a\ne \frac{1}{3}\), and a class 6 node \(a\ne b\), \(a>0\), \(b>0\), \(1-a-b>0\).
The number of equations \(n_\mathrm {eq}\) tends to be less than the number of bivariate monomials modulo symmetry in \(Q_{p,{p'}}=P_{p-2}\otimes U\), because some of them are integrated to zero. In the earlier approach, which required exactness up to degree \(q=p+{p'}-2\), only the monomials \(x_0^{i_0} x_1^{i_1} x_2^{i_2} \) with \(i_2=i_1\ge i_0\ge 0\) and \(\sum _{j=0}^2 i_j = i_0+2 i_1\le q\) had to be considered [7, 12]. In the current setting, it is more convenient to work with symmetric polynomials, c.f. [21].
A polynomial \(\Psi _k\) in equation (1) can be expressed in the elementary symmetric polynomials \(\{1,x_0+x_1+x_2,\xi ,\eta \}\), with \(\xi (x_1,x_2)=x_0 x_1 + x_0 x_2 + x_1 x_2\) and bubble function \(\eta (x_1,x_2)=x_0 x_1 x_2\). Because \(x_0+x_1+x_2=1\), the second polynomial drops out. The set of symmetric polynomials up to degree \(p\) is \(P^\mathrm {sym}_{p}= \{\xi ^i \eta ^j \,\vert \, i\ge 0,\, j\ge 0,\, 2i+3j\le p;\,\) \(i,j\in {\mathbb {Z}} \}\). For quadrature, the set \(Q_{p,{p'}}\) can be replaced by
Equation (1) for an element \({{\overline{\psi }}}\) of \({{{\overline{Q}}}}_{p,{p'}}\) can be replaced by
where j(k) is the class of node number k modulo symmetry, i.e., for each symmetric set of nodes, only one is included. The number of independent polynomials in \(P^\mathrm {sym}_{p}\) is \(n^\mathrm {sym}_{p}=1+\mathrm {floor}\left( {p}({p}+6)/12\right) \) [21]. Their number in \({{{\overline{Q}}}}_{p,{p'}}\) is the same as the resulting number of equations: \(n_\mathrm {eq}=n^\mathrm {sym}_{2p-2}+n^\mathrm {sym}_{p+{p'}-5}-n^\mathrm {sym}_{2p-5}\), assuming \({p'}>p\ge 2\).
The use of symmetric polynomials suggests that (a, 0) be better replaced by \(a=\tfrac{1}{2}(1-\sqrt{1-\alpha })\) and \(0\le \alpha \le 1\), as in [8]. A similar substitution for a class 6 node (a, b) is \({\alpha }=3\xi (a,b) =3[a(1-a)+b(1-b)-a b]\), \({\beta }=27\eta (a,b)=27 a b (1-a-b) \). Appendix D describes this parametrization and its inverse, which proved to be useful for the element of degree 5. It lowers the degrees in the system of polynomial equations but may be less attractive for numerical root finding with bounds.
2.3 Polynomial System
Given a polynomial degree \(p\), the values of \(K_{1,2,3}\) of the node pattern are prescribed by Theorem 1 in Appendix C. Because the vertices are always included, \(K_1=1\). Then, a loop over the interior degree \({p'}\) is started, defining the remaining \(K_{4,5,6}\) by Theorem 1, to find combinations with a number of free parameters \(n_\mathrm {par}\) not exceeding the number of independent equations \(n_\mathrm {eq}\). The search is limited to values of the total number of nodes \(n_\mathrm {p}\) not much larger than that for the known elements, constructed with the more restrictive accuracy criterion.
For each candidate node pattern and degrees \(p\), \({p'}\), equation (3) provides a system of equations of the form
where the vector \({\mathbf {w}}\) contains the \(n_\mathrm {weight}\) integration weights and the vector \({\mathbf {a}}\) the \(n_\mathrm {xpar}\) node parameters. The matrix \({\mathbf {A}}({\mathbf {a}})\) with \(n_\mathrm {eq}\) rows and \(n_\mathrm {weight}+1\) columns contains polynomials in the node parameters up to degree \(p+{p'}-2\) and rational coefficients. A subsystem corresponding to the product of the bubble function and polynomials only contains the interior weights and node parameters.
The system may have no solution, which typically but not necessarily happens for \(n_\mathrm {eq}>n_\mathrm {xpar}\). It may be underdetermined and then either has no solution, if inconsistent, or infinitely many. This happens typically but not necessarily if \(n_\mathrm {eq}<n_\mathrm {xpar}\). If the number of complex solutions is finite, the system is called zero-dimensional. In that case, the number of solutions does not exceed the Bézout bound [22, e.g.], which grows rapidly with the degree and size of the system. Among those solutions, only the real ones with positive weights and node parameters within the given bounds are useful, if they exist at all.
There are several packages for solving polynomial systems of equations but their unfavourable computational complexity limits their usefulness to small systems. For the results presented later on, the function Gröbnerbasis in Mathematica [23], an implementation of the Buchberger’s algorithm [24], was nevertheless used with a time limit because it returns relatively quickly if the system is inconsistent. For small systems, the function Reduce provided solution sets, from which the real-valued ones within the parameter bounds were selected, if present, and only one for each set of symmetric solutions was retained. For larger systems with \(p\ge 5\), an empirical approach was adopted with a hand-coded damped Newton-type algorithm using extended numerical precision in Mathematica, starting from randomly chosen initial values. Better results were obtained with starting values obtained with lsqnonlin in Matlab [25], a nonlinear least-squares algorithm with bounds using a trust-region method [26], and refining them with the Newton-type algorithm in Mathematica. The authors of [27, 28] take a similar approach with additional refinements. In some cases, this provided convergence with an extended precision of 64 or even 128 digits. In other cases, the Matlab solution proved to be false, due to its insufficient precision.
3 New Elements
Table 2 lists candidate node patterns for a small number of nodes \(n_\mathrm {p}\) and a number of parameters \(n_\mathrm {par}\) not too much larger than the number of equations \(n_\mathrm {eq}\).
For degrees 2 to 4, the elements obtained with the less restrictive accuracy criterion are the same as the known ones. New elements are found for degree 5 to 7.
The degree-5 element has the same node pattern and number of nodes as the known element but, with the less restrictive accuracy criterion, the number of equations is now one less than the number of parameters and infinitely many solutions exist. Some of the elements listed in Table 3 have a much better CFL number than the old element.
The value the CFL number in the table is a crude estimate computed on a single reference element with natural boundary conditions, as in [8]. Note that for the performance comparison later on, the power method is used.
Figure 1 depicts the node distributions. Versions ‘A’ to ‘E’ were found by numerical root finding. As it turns out, the node parameters and weights could actually be obtained as functions of a single parameter related to the class-6 node. The other parameter for that node is given by a root of a quartic equation. Two of the four roots provide acceptable solutions, each for a certain range of the one parameter. From the two parameters, the other unknowns follow. Appendix E describes the details. With this approach, the elements ‘F’ and ‘G’ in Table 3 were found.
For degree 6, Table 4 lists two new elements for \({p'}=8\) and \(K=\{1,1,2,0,3,2\}\), one with a much larger estimated CFL than the other. Figure 2 displays their node patterns. They have 39 nodes, significantly less than the 46 for the elements found in [8]. Note that the related polynomial system of equations may have more acceptable solutions than the two found so far.
Table 5 contains a new degree-7 element with less nodes than the known element, but with a negative weight, making it unsuited for explicit time stepping with the wave equation. Figure 3 shows the distribution of nodes. Table 6 lists a new element for degree 7 with version name ‘old,2’, obtained with the old accuracy criterion. It has an unfavourable estimated CFL number compared to the 0.0288 for the degree-7 element in [9, 10], not included in the table.
For the same node pattern, the new accuracy criterion provided the elements ‘new,A’, ‘new,B’ and ‘new,C’, among others. Note that the elements obtained with the old accuracy criterion also obey the new criterion if the same node pattern is used, but with the latter the number of equations is less than the number of parameters. There are infinitely many solutions, similar to the elements of degree 5. Figure 4 displays the node distributions for various degree-7 elements.
The node pattern for these elements results in a polynomial system that has one equation less than the number of unknowns. Once an element is found with a Newton-type method, the Jacobian of the polynomial system has a nullspace characterized by a single vector. A small perturbation in its direction followed by a few Newton iterations will provide a new element. With this continuation approach, one can, for instance, minimize or maximize a parameter. Note that a larger value of the smallest weight, typically the first one that corresponds to the vertices, as suggested by [10], does not necessarily imply a larger CFL number, as can be seen in Table 3 when comparing versions ‘A’ and ‘B’, for instance.
4 Numerical Tests
Accuracy and performance tests were carried out for the wave equation
with solution \(p(t,{\mathbf {x}})\), wave speed \(c({\mathbf {x}})\), density \(\rho ({\mathbf {x}})\) and forcing function \(f(t,{\mathbf {x}})=w(t)\delta ({\mathbf {x}}-{\mathbf {x}}_s)\), representing a point source located at \({\mathbf {x}}_s\) with signature w(t). The same homogeneous test problem as in [8] is used, on the unit square for constant \(c({\mathbf {x}})=1\) and \(\rho ({\mathbf {x}})=1\) and with zero Dirichlet boundary conditions (not Neumann as erroneously mentioned in [8]). The source is located at the centre and has a signature \(w(t)=\left[ 4(t/T)\{1-(t/T)\}\right] ^{16}\) for \(0\le t\le T\) and zero otherwise, with a duration \(T=0.2\).
The spatial discretisation is reviewed in Appendix A. Geompack [30] was used to construct unstructured meshes. Assembly is performed on the fly in each time step, as in [6, 11, 31,32,33], although on modern hardware, a pre-assembled matrix might be more efficient in 2D, in particular for lower orders.
Higher-order time stepping [34,35,36,37] is applied instead of Stork’s dispersion correction [38,39,40,41], which would be more efficient in practice. The time-stepping order is taken to be \(M_t=2\,\mathrm {ceil}((p+1)/2)\). Details, such as the increase of the CFL number for higher orders, can be found in [8, e.g.]. If the signature is not smooth enough at the endpoints, at time 0 or T, the numerical error for high-order time stepping may become too large because a higher derivative of the source signature ceases to exist. A higher power will avoid that problem and is chosen here as 16 instead of the power 8 used [8].
For second-order times stepping, the time step is limited by \({\Delta t}_{\max }=\sqrt{2/\sigma _{\max }}\), where \(\sigma _{\max }\) is the largest eigenvalue of the spatial operator, the product of the inverse lumped mass matrix and the stiffness operator. The power method [42] was used to find an estimate for each run. The results turned out be slightly larger than the crude estimates listed in the tables.
The numerical solution at time \(t=1.25\) is compared to the exact solution on all the nodes. Their number equals the number of degrees of freedom N, which includes the zero Dirichlet boundary values. The relative L\(_2\) error is defined as \(\Vert u-u_{\mathrm {exact}}\Vert _2 /\Vert u_{\mathrm {exact}}\Vert _2\), with a norm given by
where j runs over all triangle and k over all nodes in each triangle with area \(a_j\), quadrature weights \(w_k\) and solution values \(u_{j,k}\). With a number of degrees of freedom \(N\), the expected convergence behaviour is \(N^{-(p+1)/2}\) for the current problem. Note that the use of these weights in equation (6) results in an additional error, which should be neglegible for \({p+{p'}-2}>p\) or \({p'}>2\).
The computational efficiency of an element is not only determined by the number of nodes, but also by its CFL number and the error constant. A crude indication of the efficiency is obtained by performing tests on the given problem and recording its run time. The single-threaded code was written in C and dates back to 1995. The wall clock time for the time stepping part of the code is by no means representative for what can be obtained on modern architectures, but is nevertheless used as a measure for the performance comparison.
Figure 5a shows the measured relative L\(_2\) error on a sequence of unstructured grids for three versions of the scheme, including the old one, as a function of the square root of number of degrees of freedom. The trend follows the expected behaviour, \(N^{-(p+1)/2}\), indicated by the grey line. Of the three version in this comparison, ‘B’ has the smallest error. Figure 5b plots the error against the elapsed time and provides a rough indication of the relative performance. Versions ‘B’ and ‘G’ appear to be slightly more efficient than the other, and both do better than the old scheme. Although version ‘G’ has a smaller CFL number than ‘F’, its better accuracy make its more efficient. Figure 5(c) and (d) show similar results measured for the maximum error, relative to the maximum absolute value of the solution. The maximum error tends to be less smooth than the L\(_2\) norm [43, e.g.]. The performance for the new elements is similar, whereas the gain over the old element is small.
Figure 6a confirms the expected convergence behaviour for degree 6. Both new elements ‘A’ and ‘B’ have a smaller error than the known scheme with 46 nodes, version ‘D’, in [8]. In terms of efficiency, Fig. 6b shows that version ‘A’ outperforms the others. Version ‘B’ is less efficient than the old one. Although it has less nodes per element, its smaller CFL number make it less attractive. The results in the relative maximum norm, displayed in Fig. 6(c) and (d), show a similar behaviour.
Figure 7 display errors for two degree-7 elements, version ‘1’ of [9, 10] and ‘2’ obtained with the old, more restrictive accuracy criterion. Elements ‘A’,‘B’ and ‘C’ were found with the new criterion. Their errors are similar, but ‘C’ is more efficient.
5 Conclusions
The search for continuous mass-lumped triangular finite elements with a less restrictive accuracy criterion than the classic one has led to a number of new elements of degree 5, 6 and 7. These elements are enriched with polynomials of a higher degree in their interior to preserve accuracy after mass lumping. Given the polynomial degrees on the boundary of the triangle and in its interior, it is proven that the requirements of conformity and unisolvence define a unique node pattern.
The elements for lower degrees turned out to be same as the known ones. For degree 5 and 7, there are infinitely many elements with the same number of nodes as the known element. For degree 6, two new elements with less nodes were found.
Numerical tests on a homogeneous wave-equation problem with a point source at the centre show that some of the degree-5 elements have a somewhat better accuracy at a given cost than the classic element. The same is true for one of the new elements of degree 7. The gain is most pronounced for one of the two degree-6 elements.
Data Availability
Data sharing not applicable to this article as no datasets were generated or analysed during the current study.
References
Zienkiewicz, O.C.: La Méthode des éléments Finis Appliquée à L’art de L’ingénieur. Ediscience, Paris (1973)
Hillion, P.: Numerical integration on a triangle. Int. J. Numer. Meth. Eng. 11(5), 797–815 (1977). https://doi.org/10.1002/nme.1620110504
Akin, J.E.: Finite Element Analysis for Undergraduates. Academic Press, London (1986)
Cohen, G., Joly, P., Tordjman, N.: Higher order triangular finite elements with mass lumping for the wave equation. In: Cohen, G., Bécache, E., Joly, P., Roberts, J.E. (eds.) Proceedings of the Third International Conference on Mathematical and Numerical Aspects of Wave Propagation, pp. 270–279. SIAM, Philadelphia, PA, USA (1995)
Cohen, G., Joly, P., Roberts, J.E., Tordjman, N.: Higher order triangular finite elements with mass lumping for the wave equation. SIAM J. Numer. Anal. 38(6), 2047–2078 (2001). https://doi.org/10.1137/S0036142997329554
Mulder, W.A.: A comparison between higher-order finite elements and finite differences for solving the wave equation. In: Désidéri, J.-A., LeTallec, P., Oñate, E., Périaux, J., Stein, E. (eds.) Proceedings of the Second ECCOMAS Conference on Numerical Methods in Engineering, pp. 344–350. John Wiley & Sons, Chichester (1996)
Chin-Joe-Kong, M.J.S., Mulder, W.A., van Veldhuizen, M.: Higher-order triangular and tetrahedral finite elements with mass lumping for solving the wave equation. J. Eng. Math. 35, 405–426 (1999). https://doi.org/10.1023/A:1004420829610
Mulder, W.A.: New triangular mass-lumped finite elements of degree six for wave propagation. Progress In Electromagnetics Research 141, 671–692 (2013). https://doi.org/10.2528/PIER13051308
Liu, Y., Teng, J., Xu, T., Badal, J.: Higher-order triangular spectral element method with optimized cubature points for seismic wavefield modeling. J. Comput. Phys. 336, 458–480 (2017). https://doi.org/10.1016/j.jcp.2017.01.069
Cui, T., Leng, W., Lin, D., Ma, S., Zhang, L.: High order mass-lumping finite elements on simplexes. Numerical Mathematics: Theory, Methods and Applications 10(2), 331–350 (2017). https://doi.org/10.4208/nmtma.2017.s07
Geevers, S., Mulder, W.A., van der Vegt, J.J.W.: New higher-order mass-lumped tetrahedral elements for wave propagation modelling. SIAM J. Sci. Comput. 40(5), 2830–2857 (2018). https://doi.org/10.1137/18M1175549
Keast, P.: Moderate-degree tetrahedral quadrature formulas. Comput. Methods Appl. Mech. Eng. 55(3), 339–348 (1986). https://doi.org/10.1016/0045-7825(86)90059-9
Courant, R., Friedrichs, K., Lewy, H.: Über die partiellen Differenzengleichungen der mathematischen Physik. Math. Ann. 100(1), 32–74 (1928). https://doi.org/10.1007/BF01448839
Rivière, B.: Discontinuous Galerkin Methods for Solving Elliptic and Parabolic Equations. Frontiers in Applied Mathematics, 35. Society for Industrial and Applied Mathematics, Philadelphia (2008). https://doi.org/10.1137/1.9780898717440
Hesthaven, J.S., Warburton, T.: Nodal Discontinuous Galerkin Methods: Algorithms, Analysis, and Applications. Springer, New York (2008) https://doi.org/10.1007/978-0-387-72067-8
Minisini, S., Zhebel, E., Kononov, A., Mulder, W.A.: Local time stepping with the discontinuous Galerkin method for wave propagation in 3D heterogeneous media. Geophysics 78(3), 67–77 (2013). https://doi.org/10.1190/geo2012-0252.1
Liu, Y., Vinokur, M., Wang, Z.J.: Spectral difference method for unstructured grids I: Basic formulation. J. Comput. Phys. 216(2), 780–801 (2006). https://doi.org/10.1016/j.jcp.2006.01.024
Hicken, J.E., Fernández, D.C.D.R., Zingg, D.W.: Multidimensional summation-by-parts operators: General theory and application to simplex elements. SIAM J. Sci. Comput. 38(4), 1935–1958 (2016). https://doi.org/10.1137/15M1038360
Keast, P.: Cubature formulas on the sphere. J. Comput. Appl. Math. 17(1–2), 151–172 (1987). https://doi.org/10.1016/0377-0427(87)90044-6
Ciarlet, P.G.: The Finite Element Method for Elliptic Problems. Studies in mathematics and its applications, vol. 4. North-Holland, Amsterdam (1978)
Papanicolopulos, S.-A.: Computation of moderate-degree fully-symmetric cubature rules on the triangle using symmetric polynomials and algebraic solving. Computers & Mathematics with Applications 69(7), 650–666 (2015). https://doi.org/10.1016/j.camwa.2015.02.014
Li, T.Y.: Numerical solution of polynomial systems by homotopy continuation methods. In: Handbook of Numerical Analysis. Handbook of Numerical Analysis, vol. 11, pp. 209–304. Elsevier, Amsterdam (2003). https://doi.org/10.1016/S1570-8659(02)11004-0
Wolfram Research, Inc.: Mathematica, Version 10.4. Champaign, IL (2016)
Buchberger, B.: A theoretical basis for the reduction of polynomials to canonical forms. SIGSAM Bulletin 10(3), 19–29 (1976). https://doi.org/10.1145/1088216.1088219
MATLAB: version 9.6.0 (R2019a). The MathWorks Inc., Natick, Massachusetts (2019)
Coleman, T.F., Li, Y.: An interior trust region approach for nonlinear minimization subject to bounds. SIAM J. Optim. 6(2), 418–445 (1996). https://doi.org/10.1137/0806023
Jaskowiec, J., Sukumar, N.: High-order cubature rules for tetrahedra. Int. J. Numer. Meth. Eng. 121(11), 2418–2436 (2020). https://doi.org/10.1002/nme.6313
Jaskowiec, J., Sukumar, N.: High-order symmetric cubature rules for tetrahedra and pyramids. Int. J. Numer. Meth. Eng. 122(1), 148–171 (2021). https://doi.org/10.1002/nme.6528
Fried, I., Malkus, D.S.: Finite element mass matrix lumping by numerical integration with no convergence rate loss. Int. J. Solids Struct. 11(4), 461–466 (1975). https://doi.org/10.1016/0020-7683(75)90081-5
Joe, B.: GEOMPACK–a software package for the generation of meshes using geometric algorithms. Advances in Engineering Software and Workstations 13(5), 325–331 (1991). https://doi.org/10.1016/0961-3552(91)90036-4
Zhebel, E., Minisini, S., Kononov, A., Mulder, W.A.: A comparison of continuous mass-lumped finite elements with finite differences for 3-D wave propagation. Geophys. Prospect. 62(5), 1111–1125 (2014). https://doi.org/10.1111/1365-2478.12138
Mulder, W.A., Shamasundar, R.: Performance of continuous mass-lumped tetrahedral elements for elastic wave propagation with and without global assembly. Geophys. J. Int. 207(1), 414–421 (2016). https://doi.org/10.1093/gji/ggw273
Geevers, S., Mulder, W.A., van der Vegt, J.J.W.: Efficient quadrature rules for computing the stiffness matrices of mass-lumped tetrahedral elements for linear wave problems. SIAM J. Sci. Comput. 41(2), 1041–1065 (2019). https://doi.org/10.1137/18M1198557
von Kowalevsky, S.: Zur Theorie der partiellen Differentialgleichung. Journal für die reine und angewandte Mathematik 80, 1–32 (1875). https://doi.org/10.1515/crll.1875.80.1
Lax, P., Wendroff, B.: Systems of conservation laws. Commun. Pure Appl. Math. 31(2), 217–237 (1960). https://doi.org/10.1002/cpa.3160130205
Dablain, M.A.: The application of high-order differencing to the scalar wave equation. Geophysics 51(1), 54–66 (1986). https://doi.org/10.1190/1.1442040
Shubin, G.R., Bell, J.B.: A modified equation approach to constructing fourth order methods for acoustic wave propagation. SIAM J. Sci. Stat. Comput. 8(2), 135–151 (1987). https://doi.org/10.1137/0908026
Stork, C.: Eliminating nearly all dispersion error from FD modeling and RTM with minimal cost increase. In: 75th EAGE Conference & Exhibition Incorporating SPE EUROPEC, Extended Abstract (2013). https://doi.org/10.3997/2214-4609.20130478
Wang, M., Xu, S.: Time dispersion transforms in finite difference of wave propagation. In: 77th EAGE Conference & Exhibition, Extended Abstract (2015). https://doi.org/10.3997/2214-4609.201412619
Anderson, J.E., Brytik, V., Ayeni, G.: Numerical temporal dispersion corrections for broadband temporal simulation, RTM and FWI. In: SEG Technical Program Expanded Abstracts, pp. 1096–1100 (2015). Chap. 213. https://doi.org/10.1190/segam2015-5817144.1
Koene, E.F.M., Robertsson, J.O.A., Broggini, F., Andersson, F.: Eliminating time dispersion from seismic wave modeling. Geophys. J. Int. 213(1), 169–180 (2017). https://doi.org/10.1093/gji/ggx563
von Mises, R., Pollaczek-Geiringer, H.: Praktische Verfahren der Gleichungsauflösung. Z. Angew. Math. Mech. 9(2), 152–164 (1929). https://doi.org/10.1002/zamm.19290090206
Mulder, W.A.: Research note: On the error behaviour of force and moment sources in simplicial spectral finite elements. Geophys. Prospect. 68(8), 2598–2603 (2020). https://doi.org/10.1111/1365-2478.13013
Brenner, S.C., Scott, L.R.: The Mathematical Theory of Finite Element Methods, 3rd Edition. Texts in Applied Mathematics, 15. Springer, New York, NY (2008). https://doi.org/10.1007/978-0-387-75934-0
Funding
No additional funds, grants, or other support were received.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Competing interests
None
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Supplementary Information
Below is the link to the electronic supplementary material.
Appendices
Appendix A Finite-Element Discretisation on the Triangle
The sound speed c and density \(\rho \) are assumed to be piecewise constant per element. Given a triangle with vertices \({\mathbf {x}}_A\), \({\mathbf {x}}_B\) and \({\mathbf {x}}_C\), define \({\mathbf {x}}_{BA}={\mathbf {x}}_B-{\mathbf {x}}_A\) and \({\mathbf {x}}_{CA}={\mathbf {x}}_C-{\mathbf {x}}_A\). Its area is \(a=\tfrac{1}{2}(x_{BA}y_{CA}-y_{BA}x_{CA})\). The contribution to the mass matrix is \({\mathbf {A}}a/(\rho c^2)\), with \({\mathbf {A}}_{ij}=\int _{x_1=0}^1 \int _{x_2=0}^{1-x_1} \phi _i \phi _j \,{\mathrm {d}}x_1\,{\mathrm {d}}x_2\), where \(\phi _i(x_1,x_2)\) denotes the basis functions on the reference triangle and the material properties are assumed to be constant per element. The stiffness matrix contributes
where \(b^{k\ell }_{ij}=\int _{x_1=0}^1 \int _{x_2=0}^{1-x_1} (\partial _{x_k}\phi _i)(\partial _{x_\ell }\phi _j)\,{\mathrm {d}}x_1\,{\mathrm {d}}x_2\). The geometric factors are
Appendix B Exact Solution
The exact solution of the homogeneous problem, apart from a factor \(\rho \), is given by
with \(r=\sqrt{(x-x_s)^2+(y-y_s)^2}\), \(s=\mathrm {arccosh}(\tau c/r)\) and time \(t>T_{\max }\), assuming that the source signature is only nonzero between times \(T_{\min }\) and \(T_{\max }\). Here, \(\tau _{\min }=\max (r/c,t-T_{\max })\), \(\tau _{\max }=t-T_{\min }\), \(s_{\min }=\mathrm {arccosh}(\max (1,(t-T_{\max })c/r))\) and \(s_{\max }=\mathrm {arccosh}((t-T_{\min })c/r)\).
If \(r=0\) and \(t>T_{\max }\), let \(\tau =\exp (s)\). Then,
The integrals can be evaluated by numerical quadrature. Alternatively, the solution in the Fourier domain with a Hankel function can be convolved with the source signature.
Appendix C Node Pattern for Given Degrees
For a degree \(p\ge 1\) on the edges of the triangle and a degree \({p'}\ge p\) in its interior, a node pattern \(K=\{K_1,K_2,\ldots ,K_6\}\) should be chosen that uniquely determines the associated polynomials.
Theorem 1
Given a degree \(p\ge 1\) on the edges of a triangle and a degree \({p'}\ge p\) in its interior. Assume that the vertices are always involved: \(K_1=1\). A necessary condition for conformity and unisolvence is a node pattern with \(K_2=1\) and \(K_3=(p-2)/2\) if \(p\) is even, or \(K_2=0\) and \(K_3=(p-1)/2\) if \(p\) is odd. The centroid is involved, i.e., \(K_4=1\), if \({\mathrm {mod}}_{3}\,{{p'}}=0\); otherwise, \(K_4=0\). The remaining two classes have \(K_5=\mathrm {floor}(({p'}-1)/2)-K_4\) and \(K_6=(n_\mathrm {int}-K_4-3 K_5)/6\), where \(n_\mathrm {int}=({p'}-2)({p'}-1)/2\).
Proof
Conformity is obtained if the restriction to the edges has degree \(p\). This implies that \(K_1=1\), \(K_2=1\) and \(K_3=(p-2)/2\) if \(p\) is even, or \(K_1=1\), \(K_2=0\) and \(K_3=(p-1)/2\) if \(p\) is odd. The number of points on the boundary thereby becomes \(n_\mathrm {edge}= 3p\). The number of remaining interior points is \(\tfrac{1}{2}(p+1)(p+2)-3p=\tfrac{1}{2}(p-2)(p-1)\), constituting a subset of the \(n_\mathrm {int}\) points for the degree \({p'}\ge p\).
A necessary condition for unisolvence is that the number of polynomial basis functions \(n_\mathrm {pol}\) equals the number of nodes \(n_\mathrm {p}=n_\mathrm {edge}+n_\mathrm {int}\). The first three entries of the node pattern have already been discussed. For the interior, the remaining three should obey
where \(K_4\) is 0 or 1.
The Lagrange basis functions are 1 on one node and 0 on all the other. For a reference node in an equivalence class j with barycentric coordinates \((x_0,x_1,x_2)\), where \(x_0=1-x_1-x_2\), its symmetric counterparts can be obtained by taking the unique permutations of the three coordinates, providing a total of \(v_j\) nodes. The corresponding Lagrange basis functions \(\phi (x_0,x_1,x_2)\) for these nodes follow the same permutation pattern, that is, if the one for the reference nodes is know, the other can be obtained by the permuting its arguments, discarding duplicates that occur if the same permutation on the reference node produces a duplicate.
For the interior nodes, Lemma 3.1.10 of [44] implies that they can be written as \(\phi (x_1,x_2)=\eta \psi (x_1,x_2)\) with \(\psi (x_1,x_2)\) of degree \({{p'}-3}\) and bubble function \(\eta \). Consider the class-5 nodes on the line \(x_2=x_1\), with \(x_0=1-2 x_1\). A Lagrange basis function \(\phi ^{[5]}(x_0,x_1,x_2)\) that is 1 on a node on this line and 0 on all the other nodes should be invariant under the permutation that interchanges \(x_1\) and \(x_2\). With the transformation \(\xi _1=(x_1+x_2)/2\) and \(\xi _2=(x_2-x_1)/2\), it therefore should be of the form
where \({k_{\max }}=\mathrm {floor}(({p'}-3)/2)\). Because of the mirror symmetry with respect to the line \(x_2=x_1\) or \(\xi _2=0\), odd powers of \(\xi _2\) do not appear. The number of coefficients \(a_{j,k}\) is \(n_\mathrm {coef}^{[5]}=({k_{\max }}+1)[{p'}-1-({k_{\max }}+1)]\).
The number of nodes that can uniquely define \(\phi ^{[5]}(\xi _1,\xi _2)\) is \(n_\mathrm {p}^{[5]}=K_4+2 K_5+3 K_6\), less than the number of interior points \(n_\mathrm {int}\) because of symmetry. Here, only half the triangle is involved, with interior nodes that either have \(\xi _2\ge 0\) or \(\xi _2\le 0\). Therefore, a necessary condition for unisolvence is \(n_\mathrm {coef}^{[5]}=n_\mathrm {p}^{[5]}\) or
This condition and the one in equation (C5) are satisfied if \(K_5=(2n_\mathrm {coef}^{[5]}-n_\mathrm {int})-K_4\) and \(K_6=(2n_\mathrm {int}+K_4)/3 -n_\mathrm {coef}^{[5]}=(n_\mathrm {int}-K_4-3 K_5)/6\). The expression for \(K_5\) can be simplified by noting that
which can be readily verified by substituting \({p'}=m_0+2 m_1\) and evaluating the result for \(m_0=0\) or \(m_0=1\).
To obtain an integer value of \(K_6\), \(2n_\mathrm {int}+K_4\) should be a multiple of 3. With \({p'}=m_0+3 m_1\), the requirement becomes \({\mathrm {mod}}_{3}{(2n_\mathrm {int}+K_4)} = {\mathrm {mod}}_{3}{(2+m_0^2+K_4)}=0\). Recall that \(K_4=0\) or \(K_4=1\). For \(m_0=0\), this implies \(K_4=1\), whereas \(K_4=0\) for \(m_0=1\) or \(m_0=2\). In short, if \({\mathrm {mod}}_{3}\,{{p'}}=0\), then \(K_4=1\), otherwise \(K_4=0\).
In this way, the degrees \(p\) and \({p'}\) define a unique node pattern K. \(\square \)
According to Conjecture 3.1 in [10], unisolvence requires the node pattern in the interior to be the same as that of the regular element of degree \({p'}\), having equidistant nodes in the natural coordinates. The authors employ orbit patterns of the form \((K_4)\!:\!(K_1+K_2+K_5)\!:\!(K_3+K_6)\).
Lemma 1
Theorem 1 is consistent with Conjecture 3.1 in [10].
Proof
The interior points for a regular element of degree \({p'}\) are given by \((k_1/{p'},k_2/{p'})\) with \(k_2=1,\ldots ,{p'}-1\) and \(k_1=1,\ldots ,{p'}-k_2\). The centroid is involved if \((k_1/{p'},k_2/{p'})=(1/3,1/3)\) or \(k_2=k_1={p'}/3\), which is an integer for \({\mathrm {mod}}_{3}\,{{p'}}=0\).
The number of interior nodes on the bisector line \(x_2=x_1\) is \(K_4+K_5\). These nodes are given by \((k_1,k_1)/{p'}\) with \(1\le k_1 < {p'}/2\). Therefore, \(K_4+K_5=\mathrm {floor}(({p'}-1)/2)\), leading to \(K_5\). The other equation, \(n_\mathrm {int}=K_4+3 K_5+6 K_6\), produces \(K_6\).
The resulting node pattern is the same as in Theorem 1. \(\square \)
Appendix D Another Parametrization
For the two-parameter nodes of class 6, a representation in terms of symmetric polynomials will simplify the system of polynomial equations. Define the scaled symmetric polynomials
with \(x_0=1-x_1-x_2\) and bubble function \(\eta \). The inverse modulo symmetry is given by
in the subset \(0< x_1 <\tfrac{1}{2}\), \(0<x_2<\min (x_1,1-2 x_1) < \tfrac{1}{3}\). For the transformed coordinates, we have \((3{\tilde{{\alpha }}}-{\tilde{{\beta }}})^2<4{\tilde{{\alpha }}}^{3}\), \(0<{\tilde{{\alpha }}}<1\), \(0<{\tilde{{\beta }}}<1\). Note that \(({\tilde{{\alpha }}},{\tilde{{\beta }}})=(1,1)\) corresponds to the centroid and must be excluded from class 6.
For the one-parameter nodes of class 3, one choice is \(0<x_1<\tfrac{1}{2}\) and \(x_2=0\) and the other nodes follow by symmetry. Instead of equation (D9), let \(\alpha =4(x_0 x_1 + x_0 x_2 + x_1 x_2)=4 x_1(1-x_1)\) with inverse \(x_1=\tfrac{1}{2}(1-\sqrt{1-\alpha })\) for \(0<\alpha <1\), as used in [8].
Appendix E Degree 5
The infinitely many solutions for the elements of degree \(p=5\) and \({p'}=7\) with node pattern \(K=\{1,0,2,0,3,1\}\) can be expressed as functions of one parameter, for which one of the coordinates of the single class-6 node was chosen, \({\alpha }\) in equation (D9). Then, \({\beta }\) is one of the roots of
Of the 4 roots, 2 provide useful parameters, root numbers 2 and 3 of the Root object in Mathematica or the root function in symbolic Matlab. Acceptable solutions for root number 2 require \({\scriptstyle 0.751946843893807993541066}<{\alpha }<{\scriptstyle 0.791815901607413159560138}\) and \({\scriptstyle 0.669363998400015622998648}<{\alpha }\) for root number 3 with the same upper bound as root number 2.
The other node parameters and weights follow from explicit but lengthy expressions, except for
From the resulting mass and stiffness matrices, the CFL number can be estimated by considering a single reference element with natural boundary conditions. For root number 3, the maximum of 0.0779 is found for \({\alpha }={\scriptstyle 0.789331970591268894545679}\) and other parameters listed in Table 3 as version F. Version G corresponds to the largest CFL estimate of 0.0661 for root number 2, based on \({\alpha }={\scriptstyle 0.789331970591268894545679}\).
A supplemental file degree5.m for Mathematica is provided with a function that generates the node parameters and weights for a given value of \({\alpha }\) and a root number. The solutions listed in Table 3 are included. In the script, the 3 node parameters for class 5 were replaced by a symmetric polynomials to further simplify the system of polynomial equations.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Mulder, W.A. More Continuous Mass-Lumped Triangular Finite Elements. J Sci Comput 92, 38 (2022). https://doi.org/10.1007/s10915-022-01890-z
Received:
Revised:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10915-022-01890-z