Skip to main content

Tutorial on Hybridizable Discontinuous Galerkin (HDG) Formulation for Incompressible Flow Problems

  • Chapter
  • First Online:
Modeling in Engineering Using Innovative Numerical Methods for Solids and Fluids

Part of the book series: CISM International Centre for Mechanical Sciences ((CISM,volume 599))

Abstract

A hybridizable discontinuous Galerkin (HDG) formulation of the linearized incompressible Navier-Stokes equations, known as Oseen equations, is presented. The Cauchy stress formulation is considered and the symmetry of the stress tensor and the mixed variable, namely the scaled strain-rate tensor, is enforced pointwise via Voigt notation. Using equal-order polynomial approximations of degree k for all variables, HDG provides a stable discretization. Moreover, owing to Voigt notation, optimal convergence of order \(k+1\) is obtained for velocity, pressure and strain-rate tensor and a local postprocessing strategy is devised to construct an approximation of the velocity superconverging with order \(k+2\), even for low-order polynomial approximations. A tutorial for the numerical solution of incompressible flow problems using HDG is presented, with special emphasis on the technical details required for its implementation.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  • Armaly, B. F., Durst, F., Pereira, J., & Schönung, B. (1983). Experimental and theoretical investigation of backward-facing step flow. Journal of Fluid Mechanics, 127, 473–496.

    Article  Google Scholar 

  • Benzi, M., Golub, G. H., & Liesen, J. (2005). Numerical solution of saddle point problems. Acta Numerica, 14, 1–137.

    Article  MathSciNet  MATH  Google Scholar 

  • Bernstein, D. S. (2009). Scalar, vector, and matrix mathematics. Princeton, NJ: Princeton University Press.

    Book  Google Scholar 

  • Brezzi, F., & Fortin, M. (1991). Mixed and hybrid finite elements methods. Springer series in computational mathematics. Springer.

    Google Scholar 

  • Cesmelioglu, A., Cockburn, B., Nguyen, N. C., & Peraire, J. (2013). Analysis of HDG methods for Oseen equations. Journal of Scientific Computing, 55(2), 392–431.

    Article  MathSciNet  MATH  Google Scholar 

  • Cesmelioglu, A., Cockburn, B., & Qiu, W. (2017). Analysis of a hybridizable discontinuous Galerkin method for the steady-state incompressible Navier-Stokes equations. Mathematics of Computation, 86(306), 1643–1670.

    Article  MathSciNet  MATH  Google Scholar 

  • Ciarlet, P. G. (2002). The finite element method for elliptic problems, volume 40 of Classics in Applied Mathematics. Society for Industrial and Applied Mathematics (SIAM), Philadelphia, PA. (Reprint of the 1978 original [North-Holland, Amsterdam])

    Google Scholar 

  • Cockburn, B. (2017). Discontinuous Galerkin methods for computational fluid dynamics. In E. Stein, R. de Borst, & T. J. R. Hughes (Eds.), Encyclopedia of computational mechanics second edition, volume Part 1 fluids, Chap. 5. Chichester: Wiley Ltd.

    Google Scholar 

  • Cockburn, B., & Fu, G. (2017a). Superconvergence by \(M\)-decompositions. Part III: Construction of three-dimensional finite elements. ESAIM: Mathematical Modelling and Numerical Analysis, 51(1), 365–398.

    Google Scholar 

  • Cockburn, B., & Fu, G. (2017a). Superconvergence by \(M\)-decompositions. Part II: Construction of two-dimensional finite elements. ESAIM: Mathematical Modelling and Numerical Analysis, 51(1), 165–186.

    Google Scholar 

  • Cockburn, B., & Gopalakrishnan, J. (2004). A characterization of hybridized mixed methods for second order elliptic problems. The SIAM Journal on Numerical Analysis, 42(1), 283–301.

    Article  MathSciNet  MATH  Google Scholar 

  • Cockburn, B., & Gopalakrishnan, J. (2005a). Incompressible finite elements via hybridization. I. The Stokes system in two space dimensions. The SIAM Journal on Numerical Analysis, 43(4), 1627–1650.

    Google Scholar 

  • Cockburn, B., & Gopalakrishnan, J. (2005b). New hybridization techniques. GAMM-Mitt, 28(2), 154–182.

    Article  MathSciNet  MATH  Google Scholar 

  • Cockburn, B., & Gopalakrishnan, J. (2009). The derivation of hybridizable discontinuous Galerkin methods for Stokes flow. The SIAM Journal on Numerical Analysis, 47(2), 1092–1125.

    Article  MathSciNet  MATH  Google Scholar 

  • Cockburn, B., & Shi, K. (2014). Devising HDG methods for Stokes flow: An overview. Computers & Fluids, 98, 221–229.

    Article  MathSciNet  MATH  Google Scholar 

  • Cockburn, B., Dong, B., & Guzmán, J. (2008). A superconvergent LDG-hybridizable Galerkin method for second-order elliptic problems. Mathematics of Computation, 77(264), 1887–1916.

    Article  MathSciNet  MATH  Google Scholar 

  • Cockburn, B., Dong, B., Guzmán, J., Restelli, M., & Sacco, R. (2009a). A hybridizable discontinuous Galerkin method for steady-state convection-diffusion-reaction problems. SIAM Journal on Scientific Computing, 31(5), 3827–3846.

    Article  MathSciNet  MATH  Google Scholar 

  • Cockburn, B., Gopalakrishnan, J., & Lazarov, R. (2009b). Unified hybridization of discontinuous Galerkin, mixed, and continuous Galerkin methods for second order elliptic problems. The SIAM Journal on Numerical Analysis, 47(2), 1319–1365.

    Article  MathSciNet  MATH  Google Scholar 

  • Cockburn, B., Nguyen, N. C., & Peraire, J. (2010). A comparison of HDG methods for Stokes flow. Journal of Scientific Computing, 45(1–3), 215–237.

    Article  MathSciNet  MATH  Google Scholar 

  • Cockburn, B., Gopalakrishnan, J., Nguyen, N. C., Peraire, J., & Sayas, F.-J. (2011). Analysis of HDG methods for Stokes flow. Mathematics of Computation, 80(274), 723–760.

    Article  MathSciNet  MATH  Google Scholar 

  • Cockburn, B., Fu, G., & Sayas, F.-J. (2017). Superconvergence by \(M\)-decompositions. Part I: General theory for HDG methods for diffusion. Mathematics of Computation, 86(306), 1609–1641.

    Google Scholar 

  • Di Pietro, D., & Ern, A. (2015). A hybrid high-order locking-free method for linear elasticity on general meshes. Computer Methods in Applied Mechanics and Engineering, 283, 1–21.

    Article  MathSciNet  MATH  Google Scholar 

  • Donea, J., & Huerta, A. (2003). Finite element methods for flow problems. Chichester: Wiley.

    Book  Google Scholar 

  • Egger, H., & Waluga, C. (2012). A hybrid mortar method for incompressible flow. International Journal of Numerical Analysis and Modeling, 9(4), 793–812.

    MathSciNet  MATH  Google Scholar 

  • Erturk, E. (2008). Numerical solutions of 2-D steady incompressible flow over a backward-facing step, Part I: High Reynolds number solutions. Computers & Fluids, 37(6), 633–655.

    Article  MATH  Google Scholar 

  • Fish, J., & Belytschko, T. (2007). A first course in finite elements (p. 0470035803). ISBN: Wiley.

    Book  MATH  Google Scholar 

  • Fraeijs de Veubeke, B. (1965). Displacement and equilibrium models in the finite element method. In O. C. Zienkiewicz & G. S. Holister (Eds.), Stress analysis (pp. 145–197). Wiley.

    Google Scholar 

  • Giacomini, M., & Sevilla, R. (2019). Discontinuous Galerkin approximations in computational mechanics: Hybridization, exact geometry and degree adaptivity. SN Applied Sciences, 1, 1047.

    Article  Google Scholar 

  • Giacomini, M., Karkoulias, A., Sevilla, R., & Huerta, A. (2018). A superconvergent HDG method for Stokes flow with strongly enforced symmetry of the stress tensor. Journal of Scientific Computing, 77(3), 1679–1702.

    Article  MathSciNet  MATH  Google Scholar 

  • Giorgiani, G., Fernández-Méndez, S., & Huerta, A. (2013a). Hybridizable Discontinuous Galerkin p-adaptivity for wave propagation problems. International Journal for Numerical Methods in Fluids, 72(12), 1244–1262.

    Article  MathSciNet  Google Scholar 

  • Giorgiani, G., Modesto, D., Fernández-Méndez, S., & Huerta, A. (2013b). High-order continuous and discontinuous Galerkin methods for wave problems. International Journal for Numerical Methods in Fluids, 73(10), 883–903.

    MathSciNet  Google Scholar 

  • Giorgiani, G., Fernández-Méndez, S., & Huerta, A. (2014). Hybridizable Discontinuous Galerkin with degree adaptivity for the incompressible Navier-Stokes equations. Computers & Fluids, 98, 196–208.

    Article  MathSciNet  MATH  Google Scholar 

  • Guyan, R. (1965). Reduction of stiffness and mass matrices. AIAA Journal, 3(2), 380–380.

    Article  Google Scholar 

  • Hesthaven, J. S. (2019). Numerical methods for conservation laws: From analysis to algorithms, volume 18 of Computational Science and engineering series. Society for Industrial and Applied Mathematics, Philadelphia. ISBN 978-1-611975-09-3.

    Google Scholar 

  • Huerta, A., Angeloski, A., Roca, X., & Peraire, J. (2013). Efficiency of high-order elements for continuous and discontinuous Galerkin methods. International Journal for Numerical Methods in Engineering, 96(9), 529–560.

    Article  MathSciNet  MATH  Google Scholar 

  • Kabaria, H., Lew, A. J., & Cockburn, B. (2015). A hybridizable discontinuous Galerkin formulation for non-linear elasticity. Computer Methods in Applied Mechanics and Engineering, 283, 303–329.

    Article  MathSciNet  MATH  Google Scholar 

  • Kirby, R., Sherwin, S. J., & Cockburn, B. (2011). To CG or to HDG: A comparative study. Journal of Scientific Computing, 51(1), 183–212.

    Article  MathSciNet  MATH  Google Scholar 

  • Kovasznay, L. (1948). Laminar flow behind a two-dimensional grid. Mathematical Proceedings of the Cambridge Philosophical Society, 44(1), 58–62.

    Article  MathSciNet  MATH  Google Scholar 

  • Miao, J.-M. (1991). General expressions for the Moore-Penrose inverse of a 2 \(\times \) 2 block matrix. Linear Algebra and Its Applications, 151, 1–15.

    Article  MathSciNet  MATH  Google Scholar 

  • Montlaur, A., Fernández-Méndez, S., & Huerta, A. (2008). Discontinuous Galerkin methods for the Stokes equations using divergence-free approximations. International Journal for Numerical Methods in Fluids, 57(9), 1071–1092.

    Article  MathSciNet  MATH  Google Scholar 

  • Nguyen, N. C., Peraire, J., & Cockburn, B. (2009a). An implicit high-order hybridizable discontinuous Galerkin method for linear convection-diffusion equations. Journal of Computational Physics, 228(9), 3232–3254.

    Article  MathSciNet  MATH  Google Scholar 

  • Nguyen, N. C., Peraire, J., & Cockburn, B. (2009b). An implicit high-order hybridizable discontinuous Galerkin method for nonlinear convection-diffusion equations. Journal of Computational Physics, 228(23), 8841–8855.

    Article  MathSciNet  MATH  Google Scholar 

  • Nguyen, N. C., Peraire, J., & Cockburn, B. (2010a). A hybridizable discontinuous Galerkin method for the incompressible Navier-Stokes equations. In 48th AIAA Aerospace Sciences meeting including the new horizons forum and aerospace exposition, Orlando, FL. AIAA 2010-362.

    Google Scholar 

  • Nguyen, N. C., Peraire, J., & Cockburn, B. (2010b). A hybridizable discontinuous Galerkin method for Stokes flow. Computer Methods in Applied Mechanics and Engineering, 199(9–12), 582–597.

    Article  MathSciNet  MATH  Google Scholar 

  • Nguyen, N. C., Peraire, J., & Cockburn, B. (2011a). Hybridizable discontinuous Galerkin methods for the time-harmonic Maxwell’s equations. Journal of Computational Physics, 230(19), 7151–7175.

    Article  MathSciNet  MATH  Google Scholar 

  • Nguyen, N. C., Peraire, J., & Cockburn, B. (2011b). An implicit high-order hybridizable discontinuous Galerkin method for the incompressible Navier-Stokes equations. Journal of Computational Physics, 230(4), 1147–1170.

    Article  MathSciNet  MATH  Google Scholar 

  • Nguyen, N. C., Peraire, J., & Cockburn, B. (2011c). High-order implicit hybridizable discontinuous Galerkin methods for acoustics and elastodynamics. Journal of Computational Physics, 230(10), 3695–3718.

    Article  MathSciNet  MATH  Google Scholar 

  • Oikawa, I. (2015). A hybridized discontinuous Galerkin method with reduced stabilization. Journal of Scientific Computing, 65(1), 327–340.

    Article  MathSciNet  MATH  Google Scholar 

  • Peraire, J., Nguyen, N. C., & Cockburn, B. (2010). A hybridizable discontinuous Galerkin method for the compressible Euler and Navier-Stokes equations. In 48th AIAA Aerospace Sciences meeting including the New Horizons forum and aerospace exposition, Orlando, FL. AIAA 2010-363.

    Google Scholar 

  • Qiu, W., & Shi, K. (2016). A superconvergent HDG method for the incompressible Navier-Stokes equations on general polyhedral meshes. IMA Journal of Numerical Analysis, 36(4), 1943–1967. ISSN 0272-4979.

    Google Scholar 

  • Raviart, P.-A., & Thomas, J. M. (1977). A mixed finite element method for 2nd order elliptic problems. In Mathematical aspects of finite element methods (Proc. Conf., Consiglio Naz. delle Ricerche (C.N.R.), Rome, 1975). Lecture notes in Mathematics, (pp. 292–315, Vol. 606). Springer, Berlin.

    Google Scholar 

  • Sevilla, R. (2019). HDG-NEFEM for two dimensional linear elasticity. Computers & Structures, 220, 69–80.

    Article  Google Scholar 

  • Sevilla, R., & Huerta, A. (2016). Tutorial on hybridizable discontinuous Galerkin (HDG) for second-order elliptic problems. In J. Schröder & P. Wriggers (Eds.), Advanced finite element technologies, volume 566 of CISM International Centre for Mechanical Sciences (pp. 105–129). Springer International Publishing.

    Google Scholar 

  • Sevilla, R., & Huerta, A. (2018). HDG-NEFEM with degree adaptivity for Stokes flows. Journal of Scientific Computing, 77(3), 1953–1980.

    Article  MathSciNet  MATH  Google Scholar 

  • Sevilla, R., Giacomini, M., Karkoulias, A., & Huerta, A. (2018). A superconvergent hybridisable discontinuous Galerkin method for linear elasticity. International Journal for Numerical Methods in Engineering, 116(2), 91–116.

    Article  MathSciNet  MATH  Google Scholar 

  • Soon, S.-C., Cockburn, B., & Stolarski, H. K. (2009). A hybridizable discontinuous Galerkin method for linear elasticity. International Journal for Numerical Methods in Engineering, 80(8), 1058–1092.

    Article  MathSciNet  MATH  Google Scholar 

  • Stenberg, R. (1990). Some new families of finite elements for the Stokes equations. Numerische Mathematik, 56(8), 827–838.

    Article  MathSciNet  MATH  Google Scholar 

  • van de Vosse, F., de Hart, J., van Oijen, C., Bessems, D., Gunther, T., Segal, A., et al. (2003). Finite-element-based computational methods for cardiovascular fluid-structure interaction. Journal of Engineering Mathematics, 47(3), 335–368.

    Article  MathSciNet  MATH  Google Scholar 

  • Volker, J. (2002). Slip with friction and penetration with resistance boundary conditions for the Navier-Stokes equations—Numerical tests and aspects of the implementation. Journal of Computational and Applied Mathematics, 147(2), 287–300.

    Article  MathSciNet  MATH  Google Scholar 

  • Wang, C. Y. (1991). Exact solutions of the steady-state Navier-Stokes equations. Annual Review of Fluid Mechanics, 23(1), 159–177.

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgements

This work is partially supported by the European Union’s Horizon 2020 research and innovation programme under the Marie Skłodowska-Curie actions (Grant No. 675919 and 764636) and the Spanish Ministry of Economy and Competitiveness (Grant No. DPI2017-85139-C2-2-R). The first and third author also gratefully acknowledge the financial support provided by Generalitat de Catalunya (Grant No. 2017-SGR-1278).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Antonio Huerta .

Editor information

Editors and Affiliations

Appendices

Appendix: Saddle-Point Structure of the Global Problem

In this Appendix, the symmetry of the global system in (32) is demonstrated. First, rewrite (32) as

$$\begin{aligned} \begin{bmatrix}\widehat{\mathbf {K}} &{} \mathbf {H} \\ \mathbf {G}^T &{} \mathbf {0} \end{bmatrix} \begin{Bmatrix}{\hat{\mathbf {u}}} \\ \varvec{\rho } \end{Bmatrix} = \begin{Bmatrix}{\hat{\mathbf {f}}}_{\hat{u}} \\ {\hat{\mathbf {f}}}_{\rho } \end{Bmatrix}, \end{aligned}$$
(43)

where the block \(\mathbf {H}\) is obtained by the solution of the local problem in (30) and has the following form

(44)

In order for the system in (43) to have a saddle-point structure, it needs to be proved that \(\mathbf {H} = \mathbf {G}\). For the sake of readability, rewrite the matrix of the local problem in (30) using the block structure

$$\begin{aligned} \mathbf {K}_{\! e}:= \begin{bmatrix} \mathbf {B}_{\! e}&{} \mathbf {C}_{\! e}\\ \mathbf {C}_{\! e}^T &{} \mathbf {D}_{\! e}\end{bmatrix} \end{aligned}$$
(45)

where the blocks are defined as

$$\begin{aligned} \mathbf {B}_{\! e}:= \begin{bmatrix} \mathbf {A}_{LL} &{} \mathbf {A}_{Lu} \\ \mathbf {A}_{Lu}^T &{} \mathbf {A}_{uu} \end{bmatrix} , \quad \mathbf {C}_{\! e}:= \begin{bmatrix} \mathbf {0} &{} \mathbf {0} \\ \mathbf {A}_{pu}^T &{} \mathbf {0} \end{bmatrix} , \quad \mathbf {D}_{\! e}:= \begin{bmatrix} \mathbf {0} &{} \mathbf {a}_{\rho p}^T \\ \mathbf {a}_{\rho p}&{} \mathbf {0} \end{bmatrix} . \end{aligned}$$

Proposition 5.1

For each element \(\Omega _e\), it holds

$$\begin{aligned} \mathbf {K}_{\! e}^{-1} \begin{Bmatrix} \mathbf {0} \\ \mathbf {0} \\ \mathbf {0} \\ 1 \end{Bmatrix}_{\! e} = \begin{bmatrix} - \begin{bmatrix} \mathbf {B}_{\! e}^{-1} \end{bmatrix}_{12} \mathbf {A}_{pu}^T \begin{bmatrix} \mathbf {S}_{\! e}^{-1} \end{bmatrix}_{12}\\ - \begin{bmatrix} \mathbf {B}_{\! e}^{-1} \end{bmatrix}_{22} \mathbf {A}_{pu}^T \begin{bmatrix} \mathbf {S}_{\! e}^{-1} \end{bmatrix}_{12}\\ \begin{bmatrix} \mathbf {S}_{\! e}^{-1} \end{bmatrix}_{12}\\ 0 \end{bmatrix}_{\! e} , \end{aligned}$$
(46)

where

$$\begin{aligned} \begin{aligned} \begin{bmatrix} \mathbf {B}_{\! e}^{-1} \end{bmatrix}_{12}&= - \mathbf {A}_{LL}^{-1} \mathbf {A}_{Lu} (\mathbf {A}_{uu} - \mathbf {A}_{Lu}^T \mathbf {A}_{LL}^{-1} \mathbf {A}_{Lu})^{-1} , \\ \begin{bmatrix} \mathbf {B}_{\! e}^{-1} \end{bmatrix}_{22}&= (\mathbf {A}_{uu} - \mathbf {A}_{Lu}^T \mathbf {A}_{LL}^{-1} \mathbf {A}_{Lu})^{-1} , \\ \begin{bmatrix} \mathbf {S}_{\! e}^{-1} \end{bmatrix}_{12}&= \Bigl ( \mathbf {a}_{\rho p} \bigl ( \mathbf {I} - ( \mathbf {A}_{pu} (\mathbf {A}_{uu} - \mathbf {A}_{Lu}^T \mathbf {A}_{LL}^{-1} \mathbf {A}_{Lu})^{-1} \mathbf {A}_{pu}^T )^{\dagger } \\&(\mathbf {A}_{pu} (\mathbf {A}_{uu} - \mathbf {A}_{Lu}^T \mathbf {A}_{LL}^{-1} \mathbf {A}_{Lu})^{-1} \mathbf {A}_{pu}^T ) \bigr ) \Bigr )^{\dagger } . \end{aligned} \end{aligned}$$

Proof

The inverse of the block matrix in (45), written using Schur-Banachiewicz form (see Bernstein 2009, Sect. 2.17), is

$$\begin{aligned} \mathbf {K}_{\! e}^{-1} {:=} \left[ \begin{array}{@{}c@{\;}c@{}} \mathbf {B}_{\! e}^{-1} ( \mathbf {I} + \mathbf {C}_{\! e}(\mathbf {D}_{\! e}-\mathbf {C}_{\! e}^T\mathbf {B}_{\! e}^{-1}\mathbf {C}_{\! e})^{-1}\mathbf {C}_{\! e}^T\mathbf {B}_{\! e}^{-1} ) &{} -\mathbf {B}_{\! e}^{-1}\mathbf {C}_{\! e}(\mathbf {D}_{\! e}-\mathbf {C}_{\! e}^T\mathbf {B}_{\! e}^{-1}\mathbf {C}_{\! e})^{-1} \\ -(\mathbf {D}_{\! e}-\mathbf {C}_{\! e}^T\mathbf {B}_{\! e}^{-1}\mathbf {C}_{\! e})^{-1}\mathbf {C}_{\! e}^T\mathbf {B}_{\! e}^{-1} &{} (\mathbf {D}_{\! e}-\mathbf {C}_{\! e}^T\mathbf {B}_{\! e}^{-1}\mathbf {C}_{\! e})^{-1} \end{array}\right] , \end{aligned}$$

where the block (2, 2) is the inverse of the Schur complement

$$\begin{aligned} \mathbf {S}_{\! e}:= \mathbf {D}_{\! e}-\mathbf {C}_{\! e}^T\mathbf {B}_{\! e}^{-1}\mathbf {C}_{\! e}= \begin{bmatrix} - \mathbf {A}_{pu} \begin{bmatrix} \mathbf {B}_{\! e}^{-1} \end{bmatrix}_{22} \mathbf {A}_{pu}^T &{} \mathbf {a}_{\rho p}^T \\ \mathbf {a}_{\rho p} &{} 0 \end{bmatrix} \end{aligned}$$
(47)

of block \(\mathbf {B}_{\! e}\) of the matrix \(\mathbf {K}_{\! e}\). Moreover, the block (1, 2) of the inverse matrix \(\mathbf {K}_{\! e}^{-1}\) has the form

$$\begin{aligned} \begin{aligned} \begin{bmatrix} \mathbf {K}_{\! e}^{-1} \end{bmatrix}_{12}&= - \mathbf {B}_{\! e}^{-1} \mathbf {C}_{\! e}\mathbf {S}_{\! e}^{-1} \\&= -\begin{bmatrix} \begin{bmatrix} \mathbf {B}_{\! e}^{-1} \end{bmatrix}_{12} \mathbf {A}_{pu}^T \begin{bmatrix} \mathbf {S}_{\! e}^{-1} \end{bmatrix}_{11}&\begin{bmatrix} \mathbf {B}_{\! e}^{-1} \end{bmatrix}_{12} \mathbf {A}_{pu}^T \begin{bmatrix} \mathbf {S}_{\! e}^{-1} \end{bmatrix}_{12} \\ \begin{bmatrix} \mathbf {B}_{\! e}^{-1} \end{bmatrix}_{22} \mathbf {A}_{pu}^T \begin{bmatrix} \mathbf {S}_{\! e}^{-1} \end{bmatrix}_{11}&\begin{bmatrix} \mathbf {B}_{\! e}^{-1} \end{bmatrix}_{22} \mathbf {A}_{pu}^T \begin{bmatrix} \mathbf {S}_{\! e}^{-1} \end{bmatrix}_{12} \end{bmatrix} . \end{aligned} \end{aligned}$$
(48)

To fully determine the inverse matrix \(\mathbf {K}_{\! e}^{-1}\), the blocks of \(\mathbf {B}_{\! e}^{-1}\) and \(\mathbf {S}_{\! e}^{-1}\) need to be computed. Following the Schur-Banachiewicz rationale utilized above, the blocks of \(\mathbf {B}_{\! e}^{-1}\) have the form

$$\begin{aligned} \begin{aligned} \begin{bmatrix} \mathbf {B}_{\! e}^{-1} \end{bmatrix}_{11}&:= \mathbf {A}_{LL}^{-1} ( \mathbf {I} + \mathbf {A}_{Lu} (\mathbf {A}_{uu} - \mathbf {A}_{Lu}^T \mathbf {A}_{LL}^{-1} \mathbf {A}_{Lu})^{-1} \mathbf {A}_{Lu}^T \mathbf {A}_{LL}^{-1} ) , \\ \begin{bmatrix} \mathbf {B}_{\! e}^{-1} \end{bmatrix}_{12}&:= - \mathbf {A}_{LL}^{-1} \mathbf {A}_{Lu} (\mathbf {A}_{uu} - \mathbf {A}_{Lu}^T \mathbf {A}_{LL}^{-1} \mathbf {A}_{Lu})^{-1} , \\ \begin{bmatrix} \mathbf {B}_{\! e}^{-1} \end{bmatrix}_{22}&:= (\mathbf {A}_{uu} - \mathbf {A}_{Lu}^T \mathbf {A}_{LL}^{-1} \mathbf {A}_{Lu})^{-1} , \end{aligned} \end{aligned}$$
(49)

and, from the symmetry of \(\mathbf {B}_{\! e}\), it follows that \(\begin{bmatrix} \mathbf {B}_{\! e}^{-1} \end{bmatrix}_{21} = \begin{bmatrix} \mathbf {B}_{\! e}^{-1} \end{bmatrix}_{12}^T\).

Plugging the expression of \(\begin{bmatrix} \mathbf {B}_{\! e}^{-1} \end{bmatrix}_{22} \), see (49), into the definition of \(\mathbf {S}_{\! e}\) in (47), it follows that the block (1, 1) of such matrix is

$$\begin{aligned} \begin{bmatrix} \mathbf {S}_{\! e}\end{bmatrix}_{11} := - \mathbf {A}_{pu} (\mathbf {A}_{uu} - \mathbf {A}_{Lu}^T \mathbf {A}_{LL}^{-1} \mathbf {A}_{Lu})^{-1} \mathbf {A}_{pu}^T . \end{aligned}$$
(50)

It is straightforward to observe that this matrix is the Schur complement of block

$$ \begin{bmatrix} \mathbf {A}_{LL} &{} \mathbf {A}_{Lu} \\ \mathbf {A}_{Lu}^T &{} \mathbf {A}_{uu} \end{bmatrix} $$

of the matrix

$$ \begin{bmatrix} \mathbf {A}_{LL} &{} \mathbf {A}_{Lu} &{} \mathbf {0} \\ \mathbf {A}_{Lu}^T &{} \mathbf {A}_{uu} &{} \mathbf {A}_{pu}^T \\ \mathbf {0} &{} \mathbf {A}_{pu} &{} \mathbf {0} \end{bmatrix} , $$

which is singular, since it is obtained from the discretization of an incompressible flow problem with purely Dirichlet boundary conditions. Hence, to compute the blocks of \(\mathbf {S}_{\! e}^{-1}\), the framework of the generalized inverse of a partitioned matrix is exploited (see Miao 1991) leading to

$$\begin{aligned} \begin{aligned} \begin{bmatrix} \mathbf {S}_{\! e}^{-1} \end{bmatrix}_{11}&:= \Bigl ( \mathbf {I} - \bigl ( \mathbf {a}_{\rho p} ( \mathbf {I} - \begin{bmatrix} \mathbf {S}_{\! e}\end{bmatrix}_{11}^{\dagger } \begin{bmatrix} \mathbf {S}_{\! e}\end{bmatrix}_{11} ) \bigr ) ^{\dagger } \mathbf {a}_{\rho p} \Bigr ) \\&\begin{bmatrix} \mathbf {S}_{\! e}\end{bmatrix}_{11}^{\dagger } \Bigl ( \mathbf {I} - \mathbf {a}_{\rho p}^T \bigl ( ( \mathbf {I} - \begin{bmatrix} \mathbf {S}_{\! e}\end{bmatrix}_{11} \begin{bmatrix} \mathbf {S}_{\! e}\end{bmatrix}_{11}^{\dagger } ) \mathbf {a}_{\rho p}^T \bigr ) ^{\dagger } \Bigr ) , \\ \begin{bmatrix} \mathbf {S}_{\! e}^{-1} \end{bmatrix}_{12}&:= \bigl ( \mathbf {a}_{\rho p} ( \mathbf {I} - \begin{bmatrix} \mathbf {S}_{\! e}\end{bmatrix}_{11}^{\dagger } \begin{bmatrix} \mathbf {S}_{\! e}\end{bmatrix}_{11} ) \bigr ) ^{\dagger } , \\ \begin{bmatrix} \mathbf {S}_{\! e}^{-1} \end{bmatrix}_{21}&:= \bigl ( ( \mathbf {I} - \begin{bmatrix} \mathbf {S}_{\! e}\end{bmatrix}_{11} \begin{bmatrix} \mathbf {S}_{\! e}\end{bmatrix}_{11}^{\dagger } ) \mathbf {a}_{\rho p}^T \bigr ) ^{\dagger } , \\ \begin{bmatrix} \mathbf {S}_{\! e}^{-1} \end{bmatrix}_{22}&:= 0 \end{aligned} \end{aligned}$$
(51)

where the Moore-Penrose pseudoinverse \(\begin{bmatrix} \mathbf {S}_{\! e}\end{bmatrix}_{11}^{\dagger }\) of the singular matrix \(\begin{bmatrix} \mathbf {S}_{\! e}\end{bmatrix}_{11}\) has the form

$$\begin{aligned} \begin{bmatrix} \mathbf {S}_{\! e}\end{bmatrix}_{11} ^{\dagger } := - \bigl ( \mathbf {A}_{pu} (\mathbf {A}_{uu} - \mathbf {A}_{Lu}^T \mathbf {A}_{LL}^{-1} \mathbf {A}_{Lu})^{-1} \mathbf {A}_{pu}^T \bigr ) ^{\dagger }. \end{aligned}$$
(52)

From (44), it is straightforward to observe that only the blocks in the last column of the inverse matrix are involved in the definition of the product in (46). The result (46) follows directly from (48), (51) and (52). \(\square \)

Proposition 5.2

Given \(\mathbf {H}\) and \(\mathbf {G}^T\) from (44) and (33b) respectively, it holds that \(\mathbf {H} = \mathbf {G}\).

Proof

From (44) and (46), it follows that

$$\begin{aligned} \mathbf {H}_e = - \bigl (\mathbf {A}_{L \hat{u}}^T \begin{bmatrix} \mathbf {B}_{\! e}^{-1} \end{bmatrix}_{12} + \mathbf {A}_{\hat{u}u} \begin{bmatrix} \mathbf {B}_{\! e}^{-1} \end{bmatrix}_{22} \bigr ) \mathbf {A}_{pu}^T \begin{bmatrix} \mathbf {S}_{\! e}^{-1} \end{bmatrix}_{12} + \mathbf {A}_{p\hat{u}}^T \begin{bmatrix} \mathbf {S}_{\! e}^{-1} \end{bmatrix}_{12} , \end{aligned}$$
(53)

for each element \(\Omega _e\).

First, recall that the matrix \(\mathbf {I} - \begin{bmatrix} \mathbf {S}_{\! e}\end{bmatrix}_{11}^{\dagger } \begin{bmatrix} \mathbf {S}_{\! e}\end{bmatrix}_{11}\) defines an orthogonal projector onto the kernel of \(\begin{bmatrix} \mathbf {S}_{\! e}\end{bmatrix}_{11}\) (see Bernstein 2009, Sect. 6.1). As observed in the previous proposition, see (50), \(\begin{bmatrix} \mathbf {S}_{\! e}\end{bmatrix}_{11}\) is the Schur complement of the velocity block of the matrix obtained from the discretization of an incompressible flow problem with purely Dirichlet boundary conditions. Thus, the kernel of \(\begin{bmatrix} \mathbf {S}_{\! e}\end{bmatrix}_{11}\) contains all constant vectors representing the mean value of pressure. It follows that

$$\begin{aligned} \mathbf {a}_{\rho p} \bigl ( \mathbf {I} - \begin{bmatrix} \mathbf {S}_{\! e}\end{bmatrix}_{11}^{\dagger } \begin{bmatrix} \mathbf {S}_{\! e}\end{bmatrix}_{11} \bigr ) = \frac{1}{\texttt {n}_{\texttt {en}}} \mathbf {1}^T \end{aligned}$$

is the constant vector obtained as the average of 1 over the \(\texttt {n}_{\texttt {en}}\) element nodes of \(\Omega _e\) and, consequently, \(\begin{bmatrix} \mathbf {S}_{\! e}^{-1} \end{bmatrix}_{12} = \mathbf {1}\). Moreover, since the kernel of the matrix \(\mathbf {A}_{pu}^T\) also includes all constant vectors, \(\mathbf {A}_{pu}^T \begin{bmatrix} \mathbf {S}_{\! e}^{-1} \end{bmatrix}_{12} = \mathbf {0}\). Hence, from (53), it follows that

$$\begin{aligned} \mathbf {H} = \begin{bmatrix} [\mathbf {H}_1]&[\mathbf {H}_2]&\ldots&[\mathbf {H}_{\texttt {n}_{\texttt {el}}}] \end{bmatrix} = \begin{bmatrix} [\mathbf {A}_{p\hat{u}}^T]_1 \mathbf {1}&[\mathbf {A}_{p\hat{u}}^T]_2 \mathbf {1}&\ldots&[\mathbf {A}_{p\hat{u}}^T]_{\texttt {n}_{\texttt {el}}} \mathbf {1} \end{bmatrix} \end{aligned}$$

which proves the statement. \(\square \)

When convection phenomena are neglected (Stokes flow), \(\mathbf {A}_{\hat{u}u} = \mathbf {A}_{u \hat{u}}^T\) and the symmetry of \(\widehat{\mathbf {K}}\) and the global matrix in (32) follows straightforwardly. For general incompressible flow problems, the matrix \(\widehat{\mathbf {K}}\) is not symmetric but the off-diagonal blocks \(\mathbf {G}\) and \(\mathbf {G}^T\) are one the transpose of the other and the resulting global matrix maintains the above displayed saddle-point structure (Benzi et al. 2005).

Appendix: Implementation Details

In this Appendix, the matrices and vectors appearing in the discrete form of the HDG-Voigt approximation of the Oseen equations are detailed. The elemental variables \(\varvec{u}\), p and \(\varvec{L}\) are defined in a reference element \(\widetilde{\Omega }(\varvec{\xi }), \ \varvec{\xi }= (\xi _1, \ldots , \xi _{\texttt {n}_{\texttt {sd}}})\) whereas the face variable \(\varvec{\hat{u}}\), is defined on a reference face \(\widetilde{\Gamma }(\varvec{\eta }), \ \varvec{\eta }= (\eta _1, \ldots , \eta _{\texttt {n}_{\texttt {sd}}-1})\) as

$$\begin{aligned} \varvec{u}(\varvec{\xi })&\simeq \sum _{j=1}^{\texttt {n}_{\texttt {en}}} \mathbf {u}_j N_j(\varvec{\xi }),&p(\varvec{\xi })&\simeq \sum _{j=1}^{\texttt {n}_{\texttt {en}}} {\mathrm {p}}_j N_j(\varvec{\xi }), \\ \varvec{L}(\varvec{\xi })&\simeq \sum _{j=1}^{\texttt {n}_{\texttt {en}}} \mathbf {L}_j N_j(\varvec{\xi }),&\varvec{\hat{u}}(\varvec{\eta })&\simeq \sum _{j=1}^{\texttt {n}_{\texttt {fn}}} \hat{\mathbf {u}}_j \hat{N}_j(\varvec{\eta }), \end{aligned}$$

where \(\mathbf {u}_j, {\mathrm {p}}_j, \mathbf {L}_j\) and \(\hat{\mathbf {u}}_j \) are the nodal values of the approximation, \(\texttt {n}_{\texttt {en}}\) and \(\texttt {n}_{\texttt {fn}}\) the number of nodes in the element and face, respectively and \(N_j\) and \(\hat{N}_j\) the polynomial shape functions in the reference element and face, respectively.

An isoparametric formulation is considered and the following transformation is used to map reference and local coordinates

$$\begin{aligned} \varvec{x}(\varvec{\xi }) = \sum _{k=1}^{\texttt {n}_{\texttt {en}}} \varvec{x}_k N_k(\varvec{\xi }), \end{aligned}$$

where the vector \(\{\varvec{x}_k\}_{k=1,\ldots ,\texttt {n}_{\texttt {en}}}\) denotes the elemental nodal coordinates.

Following Sevilla et al. (2018), the matrices \(\varvec{\nabla }_{\!\!\texttt {\small s}}\) and \(\mathbf {N}\) in (18) and (22), respectively, are expressed in compact form as

$$\begin{aligned} \varvec{\nabla }_{\!\!\texttt {\small s}}= \sum _{k=1}^{\texttt {n}_{\texttt {sd}}} \mathbf {F}_k \frac{\partial }{\partial x_k}, \qquad \mathbf {N}= \sum _{k=1}^{\texttt {n}_{\texttt {sd}}} \mathbf {F}_k n_k , \end{aligned}$$

where the matrices \(\mathbf {F}_k\) are defined as

$$\begin{aligned} \mathbf {F}_1 = \begin{bmatrix} 1 &{} 0 &{} 0 \\ 0 &{} 0 &{} 1 \end{bmatrix}^T , \quad \mathbf {F}_2 = \begin{bmatrix} 0 &{} 0 &{} 1 \\ 0 &{} 1 &{} 0 \end{bmatrix}^T \end{aligned}$$

in two dimensions and

$$\begin{aligned} \mathbf {F}_1 = \left[ \begin{array}{@{}c@{\;}c@{\;}c@{\;}c@{\;}c@{\;}c@{}} 1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 1 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} 0 \end{array}\right] ^T , \; \mathbf {F}_2 = \left[ \begin{array}{@{}c@{\;}c@{\;}c@{\;}c@{\;}c@{\;}c@{}} 0 &{} 0 &{} 0 &{} 1 &{} 0 &{} 0 \\ 0 &{} 1 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1 \end{array}\right] ^T , \; \mathbf {F}_3 = \left[ \begin{array}{@{}c@{\;}c@{\;}c@{\;}c@{\;}c@{\;}c@{}} 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1 \\ 0 &{} 0 &{} 1 &{} 0 &{} 0 &{} 0 \end{array}\right] ^T \end{aligned}$$

in three dimensions. Moreover, from the definition of \(\mathbf {E}\) in (21), it holds \(\mathbf {N}^T \mathbf {E}= \varvec{n}\) and \(\varvec{\nabla }_{\!\!\texttt {\small s}}^T\mathbf {E}= \varvec{\nabla }\) for the gradient operator applied to a scalar function. The following compact forms of the shape functions and their derivatives are introduced

$$\begin{aligned} \varvec{\mathcal {N}}&:= \begin{bmatrix} N_1\mathbf {I}_{\texttt {n}_{\texttt {sd}}\!}&N_2\mathbf {I}_{\texttt {n}_{\texttt {sd}}\!}&\dots&N_{\texttt {n}_{\texttt {en}}}\mathbf {I}_{\texttt {n}_{\texttt {sd}}\!}\end{bmatrix}^T , \\ \varvec{\widehat{\mathcal {N}}}&:= \begin{bmatrix} \hat{N}_1\mathbf {I}_{\texttt {n}_{\texttt {sd}}\!}&\hat{N}_2\mathbf {I}_{\texttt {n}_{\texttt {sd}}\!}&\dots&\hat{N}_{\texttt {n}_{\texttt {fn}}}\mathbf {I}_{\texttt {n}_{\texttt {sd}}\!}\end{bmatrix}^T , \\ \varvec{\mathcal {N}}^{\tau }&:= \begin{bmatrix} N_1\tau \mathbf {I}_{\texttt {n}_{\texttt {sd}}\!}&N_2\tau \mathbf {I}_{\texttt {n}_{\texttt {sd}}\!}&\dots&N_{\texttt {n}_{\texttt {en}}}\tau \mathbf {I}_{\texttt {n}_{\texttt {sd}}\!}\end{bmatrix}^T , \\ \varvec{\widehat{\mathcal {N}}}^{\tau }&:= \begin{bmatrix} \hat{N}_1\tau \mathbf {I}_{\texttt {n}_{\texttt {sd}}\!}&\hat{N}_2 \tau \mathbf {I}_{\texttt {n}_{\texttt {sd}}\!}&\dots&\hat{N}_{\texttt {n}_{\texttt {fn}}} \tau \mathbf {I}_{\texttt {n}_{\texttt {sd}}\!}\end{bmatrix}^T , \\ \varvec{\mathcal {N}}^n&:= \begin{bmatrix} N_1\varvec{n}&N_2\varvec{n}&\dots&N_{\texttt {n}_{\texttt {en}}}\varvec{n}\end{bmatrix}^T , \\ \varvec{\mathcal {M}}&:= \begin{bmatrix} N_1\mathbf {I}_{\texttt {m}_{\texttt {sd}}}&N_2\mathbf {I}_{\texttt {m}_{\texttt {sd}}}&\dots&N_{\texttt {n}_{\texttt {en}}}\mathbf {I}_{\texttt {m}_{\texttt {sd}}}\end{bmatrix}^T , \\ \varvec{\mathcal {N}}^a&:= \begin{bmatrix} N_1(\tau - \varvec{\hat{a}}{\,\cdot \,} \varvec{n}) \mathbf {I}_{\texttt {n}_{\texttt {sd}}\!}&N_2 (\tau - \varvec{\hat{a}}{\,\cdot \,} \varvec{n}) \mathbf {I}_{\texttt {n}_{\texttt {sd}}\!}&\dots&N_{\texttt {n}_{\texttt {en}}} (\tau - \varvec{\hat{a}}{\,\cdot \,} \varvec{n}) \mathbf {I}_{\texttt {n}_{\texttt {sd}}\!}\end{bmatrix}^T , \\ \varvec{\widehat{\mathcal {N}}}^a&:= \begin{bmatrix} \hat{N}_1 (\tau - \varvec{\hat{a}}{\,\cdot \,} \varvec{n}) \mathbf {I}_{\texttt {n}_{\texttt {sd}}\!}&\hat{N}_2 (\tau - \varvec{\hat{a}}{\,\cdot \,} \varvec{n}) \mathbf {I}_{\texttt {n}_{\texttt {sd}}\!}&\dots&\hat{N}_{\texttt {n}_{\texttt {fn}}} (\tau - \varvec{\hat{a}}{\,\cdot \,} \varvec{n}) \mathbf {I}_{\texttt {n}_{\texttt {sd}}\!}\end{bmatrix}^T , \\ \varvec{\mathcal {Q}}&:= \begin{bmatrix} (\mathbf {J}^{-1} \varvec{\nabla }\! N_1)^T&(\mathbf {J}^{-1} \varvec{\nabla }\! N_2)^T&\dots&(\mathbf {J}^{-1} \varvec{\nabla }\! N_{\texttt {n}_{\texttt {en}}})^T\end{bmatrix}^T , \\ \varvec{\mathcal {Q}}^a&:= \begin{bmatrix} \varvec{a} \,\cdot \, (\mathbf {J}^{-1} \varvec{\nabla }\! N_1)&\varvec{a} \,\cdot \, (\mathbf {J}^{-1} \varvec{\nabla }\! N_2)&\dots&\varvec{a} \,\cdot \, (\mathbf {J}^{-1} \varvec{\nabla }\! N_{\texttt {n}_{\texttt {en}}}) \end{bmatrix}^T , \end{aligned}$$

where \(\varvec{n}\) is the outward unit normal vector to a face, \(\varvec{a}\) is the convection field evaluated in the reference element, and \(\varvec{\hat{a}}\) is the convection field evaluated on the reference face. Moreover, for each spatial dimension, that is, for \(k=1,\ldots ,\texttt {n}_{\texttt {sd}}\), define

$$\begin{aligned} \varvec{\mathcal {N}}^{\mathrm {D}}_k&\,{:=}\, \begin{bmatrix} N_1 n_k \mathbf {F}^T_k \mathbf {D}^{1/2}&N_2 n_k \mathbf {F}^T_k \mathbf {D}^{1/2}&\dots&N_{\texttt {n}_{\texttt {fn}}} n_k \mathbf {F}^T_k \mathbf {D}^{1/2}\end{bmatrix}^T, \\ \varvec{\widehat{\mathcal {N}}}^{\mathrm {D}}_k&\,{:=}\, \begin{bmatrix} \hat{N}_1 n_k \mathbf {F}^T_k \mathbf {D}^{1/2}&\hat{N}_2 n_k \mathbf {F}^T_k \mathbf {D}^{1/2}&\dots&\hat{N}_{\texttt {n}_{\texttt {fn}}} n_k \mathbf {F}^T_k \mathbf {D}^{1/2}\end{bmatrix}^T, \\ \varvec{\mathcal {Q}}^{\mathrm {D}}_k&\,{:=}\, \left[ \begin{array}{@{}c@{\;}c@{\;}c@{\;}c@{}} [ \mathbf {J}^{-1} \varvec{\nabla }\! N_1 ]_{k} \mathbf {F}^T_k \mathbf {D}^{1/2}&[ \mathbf {J}^{-1} \varvec{\nabla }\! N_2 ]_{k} \mathbf {F}^T_k \mathbf {D}^{1/2}&\dots&[ \mathbf {J}^{-1} \varvec{\nabla }\! N_{\texttt {n}_{\texttt {en}}} ]_{k} \mathbf {F}^T_k \mathbf {D}^{1/2}\end{array}\right] ^T , \end{aligned}$$

where \(n_k\) is the k-th components of the outward unit normal vector \(\varvec{n}\) to a face and \(\mathbf {J}\) is the Jacobian of the isoparametric transformation.

The discretization of (28a) leads to the following matrices and vector

$$\begin{aligned}{}[\mathbf {A}_{LL} ]_e&= -\sum _{\texttt {g}=1}^{\texttt {n}_{\texttt {ip}}^{\texttt {e}}}\varvec{\mathcal {M}}(\varvec{\xi }^\texttt {e}_\texttt {g}) \varvec{\mathcal {M}}^T\!(\varvec{\xi }^\texttt {e}_\texttt {g}) |\mathbf {J}(\varvec{\xi }^\texttt {e}_\texttt {g})| w^\texttt {e}_\texttt {g}, \\ [\mathbf {A}_{Lu}]_e&= \sum _{k=1}^{\texttt {n}_{\texttt {sd}}} \sum _{\texttt {g}=1}^{\texttt {n}_{\texttt {ip}}^{\texttt {e}}}\varvec{\mathcal {Q}}^{\mathrm {D}}_k(\varvec{\xi }^\texttt {e}_\texttt {g}) \varvec{\mathcal {N}}^T\!(\varvec{\xi }^\texttt {e}_\texttt {g}) |\mathbf {J}(\varvec{\xi }^\texttt {e}_\texttt {g})| w^\texttt {e}_\texttt {g}, \\ [\mathbf {A}_{L \hat{u}}]_e&= \sum _{f=1}^{\texttt {n}_{\texttt {fa}}^e} \biggl ( \sum _{k=1}^{\texttt {n}_{\texttt {sd}}} \sum _{\texttt {g}=1}^{\texttt {n}_{\texttt {ip}}^{\texttt {f}}}\varvec{\mathcal {N}}^{\mathrm {D}}_k (\varvec{\xi }^\texttt {f}_\texttt {g}) \varvec{\widehat{\mathcal {N}}}^T\!(\varvec{\xi }^\texttt {f}_\texttt {g}) |\mathbf {J}(\varvec{\xi }^\texttt {f}_\texttt {g})| w^\texttt {f}_\texttt {g}\biggr ) \bigl (1 - \chi _{\Gamma _D}(f) \bigr ), \\ [\mathbf {f}_{L}]_e&= \sum _{f=1}^{\texttt {n}_{\texttt {fa}}^e} \biggl ( \sum _{k=1}^{\texttt {n}_{\texttt {sd}}} \sum _{\texttt {g}=1}^{\texttt {n}_{\texttt {ip}}^{\texttt {f}}}\varvec{\mathcal {N}}^{\mathrm {D}}_k(\varvec{\xi }^\texttt {f}_\texttt {g}) \varvec{u}_D \!\bigl (\varvec{x}(\varvec{\xi }^\texttt {f}_\texttt {g}) \bigr ) |\mathbf {J}(\varvec{\xi }^\texttt {f}_\texttt {g})| w^\texttt {f}_\texttt {g}\biggr ) \chi _{\Gamma _D}(f) , \end{aligned}$$

where \(\texttt {n}_{\texttt {fa}}^e\) is the number of faces \(\Gamma _{e,f}, \ f = 1,\dots ,\texttt {n}_{\texttt {fa}}^e\), of the element \(\Omega _e\), \(\varvec{\xi }^\texttt {e}_\texttt {g}\) and \(w^\texttt {e}_\texttt {g}\) (resp., \(\varvec{\xi }^\texttt {f}_\texttt {g}\) and \(w^\texttt {f}_\texttt {g}\) ) are the \(\texttt {n}_{\texttt {ip}}^{\texttt {e}}\) (resp., \(\texttt {n}_{\texttt {ip}}^{\texttt {f}}\)) integration points and weights defined on the reference element (resp., face) and \(\chi _{\Gamma _D}\) is the indicator function of the boundary \(\Gamma _D\), namely

$$\begin{aligned} \chi _{\Gamma _D}(f) = {\left\{ \begin{array}{ll} 1 &{} \text { if } \Gamma _{e,f} \cap \Gamma _D \ne \emptyset \\ 0 &{} \text { otherwise} \end{array}\right. } \end{aligned}$$

Similarly, from the discretization of (28b) the following matrices and vectors are obtained

$$\begin{aligned}{}[\mathbf {A}_{uu}]_e&= - \sum _{\texttt {g}=1}^{\texttt {n}_{\texttt {ip}}^{\texttt {e}}}\varvec{\mathcal {Q}}^a(\varvec{\xi }^\texttt {e}_\texttt {g}) \varvec{\mathcal {N}}^T\!(\varvec{\xi }^\texttt {e}_\texttt {g}) |\mathbf {J}(\varvec{\xi }^\texttt {e}_\texttt {g})| w^\texttt {e}_\texttt {g}\\&\quad + \sum _{f=1}^{\texttt {n}_{\texttt {fa}}^e} \sum _{\texttt {g}=1}^{\texttt {n}_{\texttt {ip}}^{\texttt {f}}}\varvec{\mathcal {N}}^{\tau }\!(\varvec{\xi }^\texttt {f}_\texttt {g}) \varvec{\mathcal {N}}^T\!(\varvec{\xi }^\texttt {f}_\texttt {g}) |\mathbf {J}(\varvec{\xi }^\texttt {f}_\texttt {g})| w^\texttt {f}_\texttt {g}, \\ [\mathbf {A}_{u \hat{u}}]_e&= \sum _{f=1}^{\texttt {n}_{\texttt {fa}}^e} \biggl ( \sum _{\texttt {g}=1}^{\texttt {n}_{\texttt {ip}}^{\texttt {f}}}\varvec{\mathcal {N}}^a\!(\varvec{\xi }^\texttt {f}_\texttt {g}) \varvec{\widehat{\mathcal {N}}}^T\!(\varvec{\xi }^\texttt {f}_\texttt {g}) |\mathbf {J}(\varvec{\xi }^\texttt {f}_\texttt {g})| w^\texttt {f}_\texttt {g}\biggr ) \bigl (1 - \chi _{\Gamma _D}(f) \bigr ), \\ [\mathbf {f}_{u}]_e&= \sum _{\texttt {g}=1}^{\texttt {n}_{\texttt {ip}}^{\texttt {e}}}\varvec{\mathcal {N}}(\varvec{\xi }^\texttt {e}_\texttt {g})\varvec{s}\!\bigl (\varvec{x}(\varvec{\xi }^\texttt {e}_\texttt {g}) \bigr ) |\mathbf {J}(\varvec{\xi }^\texttt {e}_\texttt {g})| w^\texttt {e}_\texttt {g}\\&\quad + \sum _{f=1}^{\texttt {n}_{\texttt {fa}}^e} \biggl ( \sum _{\texttt {g}=1}^{\texttt {n}_{\texttt {ip}}^{\texttt {f}}}\varvec{\mathcal {N}}^a\!(\varvec{\xi }^\texttt {f}_\texttt {g}) \varvec{u}_D\!\bigl (\varvec{x}(\varvec{\xi }^\texttt {f}_\texttt {g}) \bigr ) |\mathbf {J}(\varvec{\xi }^\texttt {f}_\texttt {g})| w^\texttt {f}_\texttt {g}\biggr ) \chi _{\Gamma _D}(f) . \end{aligned}$$

The discrete forms of the incompressibility constraint in (28c) and the restriction in (28d) feature the following matrices and vector

$$\begin{aligned}{}[\mathbf {A}_{pu}]_e&= \sum _{\texttt {g}=1}^{\texttt {n}_{\texttt {ip}}^{\texttt {e}}}\varvec{\mathcal {N}}(\varvec{\xi }^\texttt {e}_\texttt {g}) \varvec{\mathcal {Q}}^T\!(\varvec{\xi }^\texttt {e}_\texttt {g}) |\mathbf {J}(\varvec{\xi }^\texttt {e}_\texttt {g})| w^\texttt {e}_\texttt {g}, \\ [\mathbf {A}_{p \hat{u}}]_e&= \sum _{f=1}^{\texttt {n}_{\texttt {fa}}^e} \biggl ( \sum _{\texttt {g}=1}^{\texttt {n}_{\texttt {ip}}^{\texttt {f}}}\varvec{\mathcal {N}}^n(\varvec{\xi }^\texttt {f}_\texttt {g}) \varvec{\widehat{\mathcal {N}}}^T\!(\varvec{\xi }^\texttt {f}_\texttt {g}) |\mathbf {J}(\varvec{\xi }^\texttt {f}_\texttt {g})| w^\texttt {f}_\texttt {g}\biggr ) \bigl (1 - \chi _{\Gamma _D}(f) \bigr ) , \\ [\mathbf {f}_{p}]_e&= \sum _{f=1}^{\texttt {n}_{\texttt {fa}}^e} \biggl ( \sum _{\texttt {g}=1}^{\texttt {n}_{\texttt {ip}}^{\texttt {f}}}\varvec{\mathcal {N}}^n(\varvec{\xi }^\texttt {f}_\texttt {g}) \varvec{u}_D\!\bigl (\varvec{x}(\varvec{\xi }^\texttt {f}_\texttt {g}) \bigr ) |\mathbf {J}(\varvec{\xi }^\texttt {f}_\texttt {g})| w^\texttt {f}_\texttt {g}\biggr ) \chi _{\Gamma _D}(f) , \\ [\mathbf {a}_{\rho p}]_e&= \sum _{f=1}^{\texttt {n}_{\texttt {fa}}^e} \sum _{\texttt {g}=1}^{\texttt {n}_{\texttt {ip}}^{\texttt {f}}}\varvec{\mathcal {N}}(\varvec{\xi }^\texttt {f}_\texttt {g}) \mathbf {1} |\mathbf {J}(\varvec{\xi }^\texttt {f}_\texttt {g})| w^\texttt {f}_\texttt {g}, \end{aligned}$$

Finally, the matrices and vectors resulting from the discretization of the global problem in (29a) are

$$\begin{aligned}{}[\mathbf {A}_{\hat{u} \hat{u}}]_e&= - \sum _{f=1}^{\texttt {n}_{\texttt {fa}}^e} \biggl ( \sum _{\texttt {g}=1}^{\texttt {n}_{\texttt {ip}}^{\texttt {f}}}\varvec{\widehat{\mathcal {N}}}^{\tau }\!(\varvec{\xi }^\texttt {f}_\texttt {g}) \varvec{\widehat{\mathcal {N}}}^T(\varvec{\xi }^\texttt {f}_\texttt {g}) |\mathbf {J}(\varvec{\xi }^\texttt {f}_\texttt {g})| w^\texttt {f}_\texttt {g}\biggr ) \chi _{\Gamma }(f) \\&\quad - \sum _{f=1}^{\texttt {n}_{\texttt {fa}}^e} \biggl ( \sum _{\texttt {g}=1}^{\texttt {n}_{\texttt {ip}}^{\texttt {f}}}\varvec{\widehat{\mathcal {N}}}^a\!(\varvec{\xi }^\texttt {f}_\texttt {g}) \varvec{\widehat{\mathcal {N}}}^T(\varvec{\xi }^\texttt {f}_\texttt {g}) |\mathbf {J}(\varvec{\xi }^\texttt {f}_\texttt {g})| w^\texttt {f}_\texttt {g}\biggr ) \chi _{\Gamma _N}(f) , \\ [\mathbf {A}_{\hat{u} u}]_e&= \sum _{f=1}^{\texttt {n}_{\texttt {fa}}^e} \biggl ( \sum _{\texttt {g}=1}^{\texttt {n}_{\texttt {ip}}^{\texttt {f}}}\varvec{\widehat{\mathcal {N}}}^{\tau }\!(\varvec{\xi }^\texttt {f}_\texttt {g}) \varvec{\mathcal {N}}^T\!(\varvec{\xi }^\texttt {f}_\texttt {g}) |\mathbf {J}(\varvec{\xi }^\texttt {f}_\texttt {g})| w^\texttt {f}_\texttt {g}\biggr ) \bigl (1 - \chi _{\Gamma _D}(f) \bigr ) , \\ [\mathbf {f}_{\hat{u}}]_e&= - \sum _{f=1}^{\texttt {n}_{\texttt {fa}}^e} \biggl ( \sum _{\texttt {g}=1}^{\texttt {n}_{\texttt {ip}}^{\texttt {f}}}\varvec{\widehat{\mathcal {N}}}(\varvec{\xi }^\texttt {f}_\texttt {g}) \varvec{t}\!\bigl (\varvec{x}(\varvec{\xi }^\texttt {f}_\texttt {g}) \bigr ) |\mathbf {J}(\varvec{\xi }^\texttt {f}_\texttt {g})| w^\texttt {f}_\texttt {g}\biggr ) \chi _{\Gamma _N}(f) , \end{aligned}$$

where \(\chi _{\Gamma }\) and \(\chi _{\Gamma _N}\) are the indicator functions of the internal skeleton \(\Gamma \) and the Neumann boundary \(\Gamma _N\), respectively.

Rights and permissions

Reprints and permissions

Copyright information

© 2020 CISM International Centre for Mechanical Sciences, Udine

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Giacomini, M., Sevilla, R., Huerta, A. (2020). Tutorial on Hybridizable Discontinuous Galerkin (HDG) Formulation for Incompressible Flow Problems. In: De Lorenzis, L., Düster, A. (eds) Modeling in Engineering Using Innovative Numerical Methods for Solids and Fluids. CISM International Centre for Mechanical Sciences, vol 599. Springer, Cham. https://doi.org/10.1007/978-3-030-37518-8_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-37518-8_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-37517-1

  • Online ISBN: 978-3-030-37518-8

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics