Skip to main content
Log in

Stable Spectral Difference Approach Using Raviart-Thomas Elements for 3D Computations on Tetrahedral Grids

  • Published:
Journal of Scientific Computing Aims and scope Submit manuscript

Abstract

In this paper, the Spectral Difference approach using Raviart-Thomas elements (SDRT) is formulated for the first time on tetrahedral grids. To determine stable formulations, a Fourier analysis is conducted for different SDRT implementations, i.e. different interior flux points locations. This stability analysis demonstrates that using interior flux points located at the Shunn-Ham quadrature rule points leads to linearly stable SDRT schemes up to the third order. For higher orders of accuracy, a significant impact of the position of flux points located on faces is shown. The Fourier analysis is then extended to the coupled time-space discretization and stability limits are determined. Additionally, a comparison between the number of interior FP required for the SDRT scheme and the Flux Reconstruction method is proposed and shows that the two approaches always differ on the tetrahedron. Unsteady validation test cases include a convergence study using the Euler equations and the simulation of the Taylor-Green vortex.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Availability of data and material.

The datasets generated during and/or analyzed during the current study are available from the corresponding author on reasonable request.

References

  1. Hesthaven, J.S., Teng, C.H.: Stable spectral methods on tetrahedral elements. SIAM J. Sci. Comput. 21(6), 2352–2380 (2000). https://doi.org/10.1137/S1064827598343723

    Article  MathSciNet  MATH  Google Scholar 

  2. Hesthaven, J., Warburton, T.: Nodal high-order methods on unstructured grids: I. time-domain solution of Maxwell’s equations. J. Comput. Phys. 181(1), 186–221 (2002). https://doi.org/10.1006/jcph.2002.7118

    Article  MathSciNet  MATH  Google Scholar 

  3. Bettess, P., Laghrouche, O., Perrey-Debain, E., Hesthaven, J.S., Warburton, T.: High-order nodal discontinuous Galerkin methods for the Maxwell eigenvalue problem, Philosophical Transactions of the Royal Society of London. Ser. A Math. Phys. Eng. Sci. 362(1816), 493–524 (2004). https://doi.org/10.1098/rsta.2003.1332

    Article  MathSciNet  Google Scholar 

  4. Hesthaven, J.S., Warburton, T.: Nodal Discontinuous Galerkin Methods. Springer, New York (2008). https://doi.org/10.1007/978-0-387-72067-8

    Book  MATH  Google Scholar 

  5. Dosopoulos, S., Zhao, B., Lee, J.-F.: Non-conformal and parallel discontinuous galerkin time domain method for Maxwell’s equations: EM analysis of IC packages. J. Comput. Phys. 238, 48–70 (2013). https://doi.org/10.1016/j.jcp.2012.11.048

    Article  MathSciNet  MATH  Google Scholar 

  6. Chan, J., Wang, Z., Modave, A., Remacle, J., Warburton, T.: GPU-accelerated discontinuous Galerkin methods on hybrid meshes. J. Comput. Phys. 318, 142–168 (2016). https://doi.org/10.1016/j.jcp.2016.04.003

    Article  MathSciNet  MATH  Google Scholar 

  7. Huynh, H.T.: A Flux Reconstruction Approach to High-Order Schemes Including Discontinuous Galerkin Methods, In: 18th AIAA Computational Fluid Dynamics Conference, (2007). https://doi.org/10.2514/6.2007-4079

  8. Vincent, P.E., Castonguay, P., Jameson, A.: A new class of high-order energy stable flux reconstruction schemes. J. Sci. Comput. 47(1), 50–72 (2011). https://doi.org/10.1007/s10915-010-9420-z

    Article  MathSciNet  MATH  Google Scholar 

  9. Williams, D.M., Jameson, A.: Energy stable flux reconstruction schemes for advection-diffusion problems on Tetrahedra. J. Sci. Comput. 59(3), 721–759 (2014). https://doi.org/10.1007/s10915-013-9780-2

    Article  MathSciNet  MATH  Google Scholar 

  10. Williams, D.M., Jameson, A.: Nodal points and the nonlinear stability of high-order methods for unsteady flow problems on tetrahedral meshes. In 21st AIAA Computational Fluid Dynamics Conference. American Institute of Aeronautics and Astronautics, June (2013)

  11. Witherden, F.D., Park, J.S., Vincent, P.E.: An analysis of solution point coordinates for flux reconstruction schemes on tetrahedral elements. J. Sci. Comput. 69, 905–920 (2016). https://doi.org/10.1007/s10915-016-0204-y

    Article  MathSciNet  MATH  Google Scholar 

  12. Shunn, L., Ham, F.: Symmetric quadrature rules for tetrahedra based on a cubic close-packed lattice arrangement. J. Comput. Appl. Math. 236(17), 4348–4364 (2012). https://doi.org/10.1016/j.cam.2012.03.032

    Article  MathSciNet  MATH  Google Scholar 

  13. Bull, J.R., Jameson, A.: Simulation of the Taylor-Green vortex using high-order flux reconstruction schemes. AIAA J. 53(9), 2750–2761 (2015). https://doi.org/10.2514/1.J053766

    Article  Google Scholar 

  14. Kopriva, D.A.: A Conservative Staggered-Grid Chebyshev multidomain method for compressible flows. ii. a semi-structured method. J. Comput. Phys. 128(2), 475–488 (1996). https://doi.org/10.1006/jcph.1996.0225

    Article  MATH  Google Scholar 

  15. 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

    Article  MathSciNet  MATH  Google Scholar 

  16. Van den Abeele, K., Lacor, C., Wang, Z.J.: On the stability and accuracy of the spectral difference method. J. Sci. Comput. 37(2), 162–188 (2008). https://doi.org/10.1007/s10915-008-9201-0

    Article  MathSciNet  MATH  Google Scholar 

  17. Balan, A., May, G., Schöberl, J.: A stable high-order Spectral Difference method for hyperbolic conservation laws on triangular elements. J. Comput. Phys. 231(5), 2359–2375 (2012). https://doi.org/10.1016/j.jcp.2011.11.041

    Article  MathSciNet  MATH  Google Scholar 

  18. May, G., Schöberl, J.: Analysis of a Spectral Difference Scheme with Flux Interpolation on Raviart-Thomas Elements, Tech. rep., Aachen Institute for Advanced Study in Computational Engineering Science (2010)

  19. Li, M., Qiu, Z., Liang, C., Sprague, M., Xu, M., Garris, C.A.: A new high-order spectral difference method for simulating viscous flows on unstructured grids with mixed-element meshes. Comput. Fluids 184, 187–198 (2019). https://doi.org/10.1016/j.compfluid.2019.03.010

    Article  MathSciNet  MATH  Google Scholar 

  20. Qiu, Z., Zhang, B., Liang, C., Xu, M.: A high-order solver for simulating vortex-induced vibrations using sliding-mesh spectral difference method and hybrid grids. Int. J. Numer. Methods Fluids 90, 171–194 (2019). https://doi.org/10.1002/fld.4717

    Article  MathSciNet  Google Scholar 

  21. Veilleux, A., Puigt, G., Deniau, H., Daviller, G.: A stable Spectral Difference approach for computations with triangular and hybrid grids up to the \(6^{th}\) order of accuracy. J. Comput. Phys. 449, 110774 (2022). https://doi.org/10.1016/j.jcp.2021.110774

    Article  MATH  Google Scholar 

  22. Balan, A., May, G., Schöberl, J.: A Stable and Spectral Difference and Method for Triangles, In: 49th AIAA Aerospace Sciences Meeting including the New Horizons Forum and Aerospace Exposition, (2011). https://doi.org/10.2514/6.2011-47

  23. Proriol, J.: Sur une famille de polynômes à deux variables orthogonaux dans un triangle. Sci. Paris 257, 2459–2461 (1957)

    MathSciNet  MATH  Google Scholar 

  24. Koornwinder, T.: Two-variable analogues of the classical orthogonal polynomials, In: R. Askey (Eds), Theory and Applications of Special Functions, San Diego, (1975)

  25. Dubiner, M.: Spectral methods on triangles and other domains. J. Sci. Comput. 6(4), 345–390 (1991). https://doi.org/10.1007/BF01060030

    Article  MathSciNet  MATH  Google Scholar 

  26. Williams, D., Shunn, L., Jameson, A.: Symmetric quadrature rules for simplexes based on sphere close packed lattice arrangements. J. Comput. Appl. Math. 266, 18–38 (2014). https://doi.org/10.1016/j.cam.2014.01.007

    Article  MathSciNet  MATH  Google Scholar 

  27. Silvester, P.: Symmetric quadrature formulae for simplexes. Math. Comput. 24, 95–100 (1970). https://doi.org/10.1090/S0025-5718-1970-0258283-6

    Article  MathSciNet  MATH  Google Scholar 

  28. Vioreanu, B., Rokhlin, V.: Spectra of multiplication operators as a numerical tool. SIAM J. Sci. Comput. 36, 267–288 (2014). https://doi.org/10.1137/110860082

    Article  MathSciNet  MATH  Google Scholar 

  29. 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

    Article  MathSciNet  MATH  Google Scholar 

  30. Witherden, F., Vincent, P.: On the identification of symmetric quadrature rules for finite element methods. Comput. Math. Appl. 69, 1232–1241 (2015). https://doi.org/10.1016/j.camwa.2015.03.017

    Article  MathSciNet  MATH  Google Scholar 

  31. Jinyun, Y.: Symmetyric Gaussian quadrature formulae for tetrahedronal regions. Comp. Methods Appl. Mech. Eng. 43, 349–353 (1984). https://doi.org/10.1016/0045-7825(84)90072-0

    Article  MATH  Google Scholar 

  32. Hammer, P., Marlowe, O., Stroud, A.: Numerical integration over simplexes and cones. Math. Tables Other Aids Comput. 10(55), 130–137 (1956). https://doi.org/10.1090/S0025-5718-1956-0086389-6

    Article  MathSciNet  MATH  Google Scholar 

  33. Liu, Y., Vinokur, M.: Exact integrations of polynomials and symmetric quadrature formulas over arbitrary polyhedral grids. J. Comput. Phys. 140, 122–147 (1998). https://doi.org/10.1006/jcph.1998.5884

    Article  MathSciNet  MATH  Google Scholar 

  34. Jaśkowiec, J., Sukumar, N.: High-order cubature rules for tetrahedra. Numer. Methods Eng. 121(11), 2418–2436 (2020). https://doi.org/10.1002/nme.6313

    Article  MathSciNet  Google Scholar 

  35. 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). https://doi.org/10.1016/j.camwa.2009.10.027

    Article  MathSciNet  MATH  Google Scholar 

  36. Bogey, C., Bailly, C.: A family of low dispersive and low dissipative explicit schemes for flow and noise computations. J. Comput. Phys. 194, 194–214 (2004). https://doi.org/10.1016/j.jcp.2003.09.003

    Article  MATH  Google Scholar 

  37. Jiang, G.-S., Shu, C.-W.: Efficient implementation of weighted ENO schemes. J. Comput. Phys. 126(1), 202–228 (1996). https://doi.org/10.1006/jcph.1996.0130

    Article  MathSciNet  MATH  Google Scholar 

  38. Pazner, W., Persson, P.-O.: Approximate tensor-product preconditioners for very high order discontinuous Galerkin methods. J. Comput. Phys. 354, 344–369 (2018). https://doi.org/10.1016/j.jcp.2017.10.030

    Article  MathSciNet  MATH  Google Scholar 

  39. https://how5.cenaero.be/. [link]. URL https://how5.cenaero.be/

  40. Sun, Y., Wang, Z.J., Liu, Y.: High-order multidomain spectral difference method for the Navier–Stokes equations on unstructured hexahedral grids. Commun. Comput. Phys. 2(2), 310–333 (2007)

    MathSciNet  MATH  Google Scholar 

  41. Raviart, P., Thomas, J.: A mixed finite element method for 2nd order elliptic problem, In: Lecture Notes in Mathematics 606, p. 292–315 (1977)

  42. Nedelec, J.: Mixed finite elements in R3. Numerische Mathematik 35, 315–341 (1980)

Download references

Acknowledgements

Dr. Guillaume Puigt is partially supported by LMA2S (Laboratoire de Mathématiques Appliquées à l’Aéronautique et au Spatial), the Applied Mathematics Lab of ONERA.

Funding

The authors did not receive support from any organization for the submitted work.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Adèle Veilleux.

Ethics declarations

Conflicts of interests.

The authors have no conflicts of interest to declare that are relevant to the content of this article.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix A. Definition of the Raviart-Thomas (RT) Space

The Raviart-Thomas (RT) finite element spaces were originally introduced by Raviart and Thomas [41] to approximate the Sobolev space \(\text {H(div)}\) defined by:

$$\begin{aligned} \text {H(div)} = \{ u \in \left( L^2 (K)\right) ^d, \, \, \nabla \cdot \, u \in L^2(K) \}, \end{aligned}$$
(A.1)

where d is the dimension, K is a bounded open subset of \({\mathbb {R}}^d\) with a Lipshitz continuous boundary, \(L^2 (K)\) is the Hilbert space of square-integrable function defined on K. The extension to the three-dimensional case considering K as a tetrahedron or a cube was proposed by Nedelec [42]. The space \(RT_p\) spanned by the Raviart-Thomas basis functions of degree p is the smallest polynomial space such that the divergence maps \(RT_p\) onto \({\mathbb {P}}_p\), the space of piecewise polynomials of degree \(\le p\). Considering the reference tetrahedron \({\mathcal {T}}_e\), the RT space of order p is defined in 3D by:

$$\begin{aligned} RT_p = ({\mathbb {P}}_p)^3 + \begin{pmatrix} x \\ y \\ z \end{pmatrix} \bar{{\mathbb {P}}}_p, \end{aligned}$$
(A.2)

where \({\mathbb {P}}_p\) is the space of polynomials of degree at most p:

$$\begin{aligned} {\mathbb {P}}_p(x,y,z) = span \{ x^i y^j z^k,\; i, j,k \ge 0, i+j+k \le p\}, \end{aligned}$$
(A.3)

\(\bar{{\mathbb {P}}}_p\) is the space of polynomials of degree p:

$$\begin{aligned} \bar{{\mathbb {P}}}_p(x,y,z) = span \{ x^i y^j z^k,\; i, j, k \ge 0, i+j+k = p\}, \end{aligned}$$
(A.4)

and \(({\mathbb {P}}_p)^3 = ({\mathbb {P}}_p,{\mathbb {P}}_p,{\mathbb {P}}_p)^\top \) is the three dimensional vector space for which each component is a polynomial of degree at most p. The dimension of each space is \(\text {dim}\; {\mathbb {P}}_p = \frac{(p+1)(p+2)(p+3)}{6}\), \(\text {dim}\; {\mathbb {P}}_p^3 = \frac{(p+1)(p+2)(p+3)}{2}\), \(\text {dim}\; \bar{{\mathbb {P}}}_p = \frac{(p+1)(p+2)}{2}\) and thus \(\text {dim} \; RT_p = \frac{(p+1)(p+2)(p+4)}{2}\). We denote \(\varvec{\phi }_n, n \in [\![1, N_{FP} ]\!]\) the monomials which form a basis in the \(RT_p\) space where

$$\begin{aligned} N_{FP} = \frac{(p+1)(p+2)(p+4)}{2}. \end{aligned}$$
(A.5)

Determination of \(\varvec{\phi }_n\) for \(RT_1\), \(N_{FP} = 15\)

(A.6)

Appendix B. Matrices Formulation for the Fourier Analysis

The matrices \({\mathbf {M}}^{0,0,0}\), \({\mathbf {M}}^{-1,0,0}\), \(\mathbf {M}^{+1,0,0}\), \({\mathbf {M}}^{0,-1,0}\), \({\mathbf {M}}^{0,+1,0}\), \({\mathbf {M}}^{0,0,-1}\) and \({\mathbf {M}}^{0,0,+1}\) involved in the SDRT spatial discretization for the Fourier analysis on tetrahedral elements (Eq. (28)) are detailed in this appendix. Those matrices are given as:

$$\begin{aligned} {\mathbf {M}}^{0,0,0} = \begin{bmatrix} {\mathbf {D}}_{jk} &{} \cdots &{} O_{N_{SP}, N_{FP}} \\ \vdots &{} \ddots &{} \vdots \\ O_{N_{SP}, N_{FP}} &{} \cdots &{} {\mathbf {D}}_{jk} \\ \end{bmatrix} {\mathbf {C}}^{0,0,0} \begin{bmatrix} {\mathbf {T}}_{kj} &{} \cdots &{} O_{N_{FP}, N_{SP}} \\ \vdots &{} \ddots &{} \vdots \\ O_{N_{FP}, N_{SP}} &{} \cdots &{} {\mathbf {T}}_{kj} \\ \end{bmatrix}, \end{aligned}$$
(B.1)

where \(O_{m, n}\) is the zero matrix of size \(m \times n\). The same goes for \({\mathbf {M}}^{-1,0,0}\), \({\mathbf {M}}^{+1,0,0}\), \(\mathbf {M}^{0,-1,0}\), \({\mathbf {M}}^{0,+1,0}\), \({\mathbf {M}}^{0,0,-1}\) and \({\mathbf {M}}^{0,0,+1}\), associated respectively to the velocity matrices \({\mathbf {C}}^{-1,0,0}\), \({\mathbf {C}}^{+1,0,0}\), \(\mathbf {C}^{0,-1,0}\), \({\mathbf {C}}^{0,+1,0}\), \({\mathbf {C}}^{0,0,-1}\) and \({\mathbf {C}}^{0,0,+1}\). The transfer matrix is given by Eq. (16):

$$\begin{aligned} {\mathbf {T}}_{kj} = \sum _{m=1}^{N^{tet}_{SP}} \left( \Phi _m(\varvec{\xi }_j) \right) ^{-1} \, \Phi _m(\varvec{\xi }_k), \end{aligned}$$
(B.2)

and the differentiation matrix by Eq. (21):

$$\begin{aligned} {\mathbf {D}}_{jk} = \sum _{n=1}^{N^{tet}_{FP}} \left( \varvec{\phi }_n (\varvec{\xi }_k) \cdot \hat{{\mathbf {n}}}_k\right) ^{-1}\;{\hat{\nabla }} \cdot \varvec{\phi }_n (\varvec{\xi }_j ). \end{aligned}$$
(B.3)

The velocity matrices are given as:

$$\begin{aligned} {\mathbf {C}}^{0,0,0}= & {} \begin{bmatrix} {\mathbf {C}}^{L} &{} {\mathbf {C}}^{T_1, T_2} &{} O_{N_{FP}, N_{FP}}&{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} {\mathbf {C}}^{T_1, T_6}\\ {\mathbf {C}}^{T_2, T_1} &{} {\mathbf {C}}^{L} &{} {\mathbf {C}}^{T_2, T_3} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{}O_{N_{FP}, N_{FP}}\\ O_{N_{FP}, N_{FP}} &{} {\mathbf {C}}^{T_3, T_2} &{} {\mathbf {C}}^{L} &{} {\mathbf {C}}^{T_3, T_4} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}}\\ O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} {\mathbf {C}}^{T_4, T_3} &{} {\mathbf {C}}^{L}&{} {\mathbf {C}}^{T_4, T_5} &{} O_{N_{FP}, N_{FP}} \\ O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} {\mathbf {C}}^{T_5, T_4} &{}{\mathbf {C}}^{L}&{} {\mathbf {C}}^{T_5, T_6} \\ {\mathbf {C}}^{T_6, T_1} &{} O_{N_{FP}, N_{FP}} &{}O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} {\mathbf {C}}^{T_6, T_5} &{}{\mathbf {C}}^{L} \\ \end{bmatrix}, \end{aligned}$$
(B.4)
$$\begin{aligned} {\mathbf {C}}^{-1,0,0}= & {} \begin{bmatrix} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} {\mathbf {C}}^{T_1, T_5} &{} O_{N_{FP}, N_{FP}}\\ O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} {\mathbf {C}}^{T_2, T_4} &{} O_{N_{FP}, N_{FP}} &{}O_{N_{FP}, N_{FP}}\\ &{} &{} \begin{bmatrix} O_{4N_{FP}, 6N_{FP}} \end{bmatrix} \\ \end{bmatrix}, \end{aligned}$$
(B.5)
$$\begin{aligned} {\mathbf {C}}^{+1,0,0}= & {} \begin{bmatrix}&\,&\begin{bmatrix} O_{3N_{FP}, 6N_{FP}} \end{bmatrix} \\ O_{N_{FP}, N_{FP}} &{} {\mathbf {C}}^{T_4, T_2} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}}\\ {\mathbf {C}}^{T_5, T_1}&{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{}O_{N_{FP}, N_{FP}}\\ &{} &{} \begin{bmatrix} O_{N_{FP}, 6N_{FP}} \end{bmatrix} \\ \end{bmatrix}, \end{aligned}$$
(B.6)
$$\begin{aligned} {\mathbf {C}}^{0,-1,0}= & {} \begin{bmatrix}&\,&\begin{bmatrix} O_{2N_{FP}, 6N_{FP}} \end{bmatrix} \\ {\mathbf {C}}^{T_3, T_1} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}}\\ O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}}&{} O_{N_{FP}, N_{FP}}&{} {\mathbf {C}}^{T_4, T_6} \\ &{} &{} \begin{bmatrix} O_{2N_{FP}, 6N_{FP}} \end{bmatrix} \\ \end{bmatrix}, \end{aligned}$$
(B.7)
$$\begin{aligned} {\mathbf {C}}^{0,+1,0}= & {} \begin{bmatrix} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{}{\mathbf {C}}^{T_1, T_3} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{}O_{N_{FP}, N_{FP}}\\ &{} &{} \begin{bmatrix} O_{4N_{FP}, 6N_{FP}} \end{bmatrix} \\ O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} {\mathbf {C}}^{T_6, T_4} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}}\\ \end{bmatrix}, \end{aligned}$$
(B.8)
$$\begin{aligned} {\mathbf {C}}^{0,0,-1}= & {} \begin{bmatrix}&\,&\begin{bmatrix} O_{N_{FP}, 6N_{FP}} \end{bmatrix} \\ O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{}{\mathbf {C}}^{T_2, T_6}\\ O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} {\mathbf {C}}^{T_3, T_5} &{} O_{N_{FP}, N_{FP}}\\ &{} &{} \begin{bmatrix} O_{3N_{FP}, 6N_{FP}} \end{bmatrix} \\ \end{bmatrix}, \end{aligned}$$
(B.9)
$$\begin{aligned} {\mathbf {C}}^{0,0,+1}= & {} \begin{bmatrix}&\,&\begin{bmatrix} O_{4N_{FP}, 6N_{FP}} \end{bmatrix} \\ O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} {\mathbf {C}}^{T_5, T_3} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}}\\ O_{N_{FP}, N_{FP}} &{} {\mathbf {C}}^{T_6, T_2} &{} O_{N_{FP}, N_{FP}}&{} O_{N_{FP}, N_{FP}} &{} O_{N_{FP}, N_{FP}} &{}O_{N_{FP}, N_{FP}}\\ \end{bmatrix},\qquad \qquad \end{aligned}$$
(B.10)

where \({\mathbf {C}}^{L}\) is defined by:

$$\begin{aligned} {\mathbf {C}}^{L} = \begin{bmatrix} \begin{bmatrix} \left( {\mathbf {c}} \cdot {\mathbf {n}} \right) \frac{1+{{\,\mathrm{sign}\,}}({\mathbf {c}} \cdot {\mathbf {n}})}{2} &{} \cdots &{} 0 \\ \vdots &{}\ddots &{}\vdots \\ 0&{} \cdots &{} \left( {\mathbf {c}} \cdot {\mathbf {n}} \right) \frac{1+{{\,\mathrm{sign}\,}}({\mathbf {c}} \cdot {\mathbf {n}})}{2} \\ \end{bmatrix}_{4N_f, 4N_f} &{} O_{4N_f, N_i} \\ O_{N_i, 4N_f} &{} \begin{bmatrix} |J| J^{-1} ({\mathbf {c}} \cdot \hat{{\mathbf {n}}}) &{} \cdots &{} 0 \\ \vdots &{}\ddots &{}\vdots \\ 0&{} \cdots &{} |J| J^{-1} ({\mathbf {c}} \cdot \hat{{\mathbf {n}}}) \\ \end{bmatrix}_{N_i, N_i} \end{bmatrix}. \end{aligned}$$
(B.11)

The matrix \({\mathbf {C}}^{T_i, T_j}\) links the FP between the triangular faces of \(T_i\) and \(T_j\). Its expression will depend on the local connectivity, i.e. the number and the orientation of the two faces in their respective element. The face number gives the local FP numbering whereas the orientation (how the two faces are facing each other) gives the FP order. An example of its determination is provided below for two arbitrary tetrahedral elements.

Determination of the Matrix \(\mathbf {{C}^{T_i, T_j}}\) —Example for \(\mathbf {p=1}\) Let us consider two tetrahedron \(T_1\) and \(T_2\) defined by their four nodes:

$$\begin{aligned}&T_1: \quad N_1, N_2, N_3, N_4 = A,B,C,D, \end{aligned}$$
(B.12)
$$\begin{aligned}&T_2: \quad N_1, N_2, N_3, N_4 = A,C,E,D. \end{aligned}$$
(B.13)

Following the CGNS notations, their faces are defined by:

  • \(T_1\), Face 1: A, C, B,       \(\bullet \) \(T_2\), Face 1: A, E, C,

  • \(T_1\), Face 2: A, B, D,       \(\bullet \) \(T_2\), Face 2: A, C, D,

  • \(T_1\), Face 3: B, C, D,       \(\bullet \) \(T_2\), Face 3: C, E, D,

  • \(T_1\), Face 4: C, A, D,       \(\bullet \) \(T_2\), Face 4: E, A, D.

They are sharing a face corresponding to Face 4 in \(T_1\) and Face 2 in \(T_2\). In the case of \(p=1\), this indicates that the FP numbers on (\(T_1\), Face 4) are [10, 12] whereas the FP number (Face 2, \(T_2\)) are [4, 6]. Then, the orientation between the faces needs to be determined to know in which order the FP are facing each other. For two arbitrary faces A and B defined respectively by nodes \((A_1, A_2, A_3)\) and \((B_1,B_2,B_3)\), three cases are possible:

  • \(A_1 = B_3\), \(A_2 = B_2\), \(A_3 = B_1\),

  • \(A_1 = B_2\), \(A_2 = B_1\), \(A_3 = B_3\),

  • \(A_1 = B_1\), \(A_2 = B_3\), \(A_3 = B_2\).

Our example is illustrated in Fig. 6 and corresponds to the second case.

Fig. 6
figure 6

Illustration of the orientation determination: \(T_1\) (on the left) and \(T_2\) (on the right)

In this example, the matrix \({\mathbf {C}}^{T_1, T_2}\) will take the following expression:

$$\begin{aligned} {\mathbf {C}}^{T_1, T_2} = \left( {\mathbf {c}} \cdot {\mathbf {n}} \right) \begin{bmatrix} O_{3N_f, N_{FP}} \\ \begin{bmatrix} O_{N_f, N_f} &{} \begin{bmatrix} 0 &{} \frac{1+{{\,\mathrm{sign}\,}}({\mathbf {c}} \cdot {\mathbf {n}})}{2} &{} 0 \\ 0 &{} 0 &{} \frac{1+{{\,\mathrm{sign}\,}}({\mathbf {c}} \cdot {\mathbf {n}})}{2} \\ \frac{1+{{\,\mathrm{sign}\,}}({\mathbf {c}} \cdot {\mathbf {n}})}{2} &{} 0 &{} 0 \\ \end{bmatrix} &{} O_{N_f, 2*N_f+N_i}\\ \end{bmatrix}\\ O_{N_i, N_{FP}} \\ \end{bmatrix}. \end{aligned}$$
(B.14)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Veilleux, A., Puigt, G., Deniau, H. et al. Stable Spectral Difference Approach Using Raviart-Thomas Elements for 3D Computations on Tetrahedral Grids. J Sci Comput 91, 7 (2022). https://doi.org/10.1007/s10915-022-01790-2

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10915-022-01790-2

Keywords

Navigation