Skip to main content
Log in

A High Order HDG Method for Stokes Flow in Curved Domains

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

Abstract

We propose and analyze a high order hybridizable discontinuous Galerkin (HDG) method for the Stokes equations in a curved domain. It is based on approximating the domain by a polyhedral computational subdomain where an HDG solution is computed. To obtain a high order approximation of the Dirichlet boundary data in the computational domain, we employ a transferring technique based on integrating the approximation of the gradient. In addition, we first seek for a discrete pressure having zero-mean in the computational domain and then the zero-mean condition in the entire domain is recovered by a post-process that involves an extrapolation of the discrete pressure. We prove that the method provides optimal order of convergence for the approximations of the pressure, the velocity and its gradient, that is, order \(h^{k+1}\) if the local discrete spaces are constructed using polynomials of degree k and the meshsize is h. We present numerical experiments validating the method.

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
Fig. 6
Fig. 7

Similar content being viewed by others

References

  1. Araya, R., Solano, M., Vega, P.: Analysis of an adaptive HDG method for the Brinkman problem. IMA J. Numer. Anal. (2018). https://doi.org/10.1093/imanum/dry031

  2. Barrett, J.W., Elliott, C.M.: Fitted and unfitted finite-element methods for elliptic equations with smooth interfaces. IMA J. Numer. Anal. 7, 283–300 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  3. Bramble, J.H., Dupont, T., Thomée, V.: Projection methods for Dirichlet’s problem in approximating polygonal domains with boundary-value corrections. Math. Comput. 26(120), 869–879 (1994)

    MathSciNet  MATH  Google Scholar 

  4. Bramble, J.H., King, J.T.: A robust finite element method for nonhomogeneous Dirichlet problems in domains with curved boundaries. Math. Comput. 63, 1–17 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  5. Bramble, J.H., King, J.T.: A finite element method for interface problems in domains with smooth boundaries and interfaces. Adv. Comput. Math. 6, 109–138 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  6. Cesmelioglu, A., Cockburn, B., Qiu, W.: Analysis of a hybridizable discontinuous Galerkin method for the steady-state incompressible Navier–Stokes equations. Math. Comput. 86, 1643–1670 (2017)

    Article  MathSciNet  MATH  Google Scholar 

  7. Cockburn, B., Gopalakrishnan, J.: The derivation of hybridizable discontinuous Galerkin methods for Stokes flow. SIAM J. Numer. Anal. 47, 1092–1125 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  8. Cockburn, B., Gopalakrishnan, J., Lazarov, R.: Unified hybridization of discontinuous Galerkin, mixed and continuous Galerkin methods for second order elliptic problems. SIAM J. Numer. Anal. 47, 1319–1365 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  9. Cockburn, B., Gopalakrishnan, J., Nguyen, N.C., Peraire, J., Sayas, F.-J.: Analysis of HDG methods for Stokes flow. Math. Comput. 80(274), 723–760 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  10. Cockburn, B., Gopalakrishnan, J., Sayas, F.-J.: A projection-based error analysis of HDG methods. Math. Comput. 79, 1351–1367 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  11. Cockburn, B., Gupta, D., Reitich, F.: Boundary-conforming discontinuous Galerkin methods via extensions from subdomains. J. Sci. Comput. 42, 144–184 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  12. Cockburn, B., Qiu, W., Solano, M.: A priori error analysis for HDG methods using extensions from subdomains to achieve boundary-conformity. Math. Comput. 83, 665–699 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  13. Cockburn, B., Sayas, F.-J.: Divergence-conforming HDG methods for Stokes flows. Math. Comput. 83, 1571–1598 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  14. Cockburn, B., Solano, M.: Solving Dirichlet boundary-value problems on curved domains by extensions from subdomains. SIAM J. Sci. Comput. 34, A497–A519 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  15. Cockburn, B., Solano, M.: Solving convection–diffusion problems on curved domains by extensions from subdomain. J. Sci. Comput. 59(2), 512–543 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  16. Dauge, M.: Stationary Stokes and Navier–Stokes systems on two- or three-dimensional domains with corners. Part I. Linearized equations. SIAM J. Math. Anal. 20(1), 74–97 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  17. Davis, T.A.: Algorithm 832: UMFPACK V4.3—an unsymmetric-pattern multifrontal method. ACM Trans. Math. Softw. 30(2), 196–199 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  18. Deckelnick, K., Günther, A., Hinze, M.: Finite element approximation of Dirichlet boundary control for elliptic PDEs on two- and three-dimensional curved domains. SIAM J. Control Optim. 48(4), 2798–2819 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  19. Dong, H., Wang, B., Xie, Z.: An unfitted hybridizable discontinuous Galerkin method for the Poisson interface problem and its error analysis. IMA J. Numer. Anal. 37(1), 444–476 (2017)

    Article  MathSciNet  MATH  Google Scholar 

  20. Ern, A., Di Pietro, D.A.: Mathematical aspects of discontinuous Galerkin methods. In: Mathématiques et Applications (Berlin), vol. 69. Springer, Heidelberg (2012)

  21. Fu, G., Jin, Y., Qiu, W.: Parameter–free superconvergent \(H\)(div)–conforming HDG methods for the Brinkman equations. IMA J. Numer. Anal. (2018). https://doi.org/10.1093/imanum/dry001

  22. Gatica, G.N., Sequeira, F.A.: Analysis of an augmented HDG method for a class of quasi-Newtonian Stokes flows. J. Sci. Comput. 65, 1270–1308 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  23. Gatica, G.N., Sequeira, F.A.: A priori and a posteriori analyses of an augmented HDG method for a class of quasi-Newtonian Stokes flows. J. Sci. Comput. 69, 1192–1250 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  24. Gatica, G.N., Sequeira, F.A.: Analysis of the HDG method for the Stokes–Darcy coupling. Numer. Methods Partial Differ. Equ. 33, 885–917 (2017)

    Article  MathSciNet  MATH  Google Scholar 

  25. Gatica, L.F., Sequeira, F.A.: A priori and a posteriori error analyses of an HDG method for the Brinkman problem. Comput. Math. Appl. 75, 1191–1212 (2018)

    Article  MathSciNet  MATH  Google Scholar 

  26. Guzman, J., Sanchez, M.A., Sarkis, M.: Higher-order finite element methods for elliptic problems with interfaces. Esaim Math. Model. Numer. Anal. 50(5), 1561–1583 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  27. Kellogg, R.B., Osborn, J.E.: A regularity result for the Stokes problem in a convex polygon. J. Funct. Anal. 21(4), 397–431 (1976)

    Article  MathSciNet  MATH  Google Scholar 

  28. Kirby, R.A.: Singularity-free evaluation of collapsed-coordinate orthogonal polynomials. ACM Trans. Math. Softw. 37(1), 5 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  29. LeVeque, R.J., Li, Z.: Immersed interface methods for Stokes flow with elastic boundaries or surface tension. SIAM J. Sci. Comput. 18(3), 709–735 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  30. Lenoir, M.: Optimal isoparametric finite elements and errors estimates for domains involving curved boundaries. SIAM J. Numer. Anal. 23, 562–580 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  31. Li, J., Melenk, M., Wohlmuth, B., Zou, J.: Optimal convergence of higher order finite element methods for elliptic interface problems. Appl. Numer. Math. 60, 19–37 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  32. Mori, Y.: Convergence proof of the velocity field for a Stokes flow immersed boundary method. Commun. Pure Appl. Math. 160, 1213–1263 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  33. Nguyen, N.C., Peraire, J., Cockburn, B.: A hybridizable discontinuous Galerkin method for Stokes flow. Comput. Methods Appl. Mech. Eng. 199, 582–597 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  34. Nitsche, J.: Über ein Variationsprinzip zur LBsung van Dirichlet–Problemen bei Verwendung van Teilrümen, die keinen Handbedingungen unterworfen sind. In: Abhandlungen aus dem mathematischen Seminar der Universität Hamburg, vol. 36 (1970–1971)

  35. Peskin, C.S.: Flow patterns around heart valves: a numerical method. J. Comput. Phys. 10, 252–271 (1972)

    Article  MATH  Google Scholar 

  36. Peterseim, D., Sauter, S.A.: The composite mini element—coarse mesh computation of Stokes flows on complicated domains. SIAM J. Numer. Anal. 46(6), 3181–3206 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  37. Peterseim, D., Sauter, S.A.: Finite element methods for the Stokes problem on complicated domains. Comput. Methods Appl. Mech. Eng. 200, 2611–2623 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  38. Qiu, W., Shi, K.: A superconvergent HDG method for the incompressible Navier–Stokes equations on general polyhedral meshes. IMA J. Numer. Anal. 36, 1943–1967 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  39. Qiu, W., Solano, M., Vega, P.: A high order HDG method for curved-interface problems via approximations from straight triangulations. J. Sci. Comput. 69(3), 1384–1407 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  40. Rhebergen, S., Wells, G.N.: A hybridizable discontinuous Galerkin method for the Navier–Stokes equations with pointwise divergence-free velocity field. J. Sci. Comput. 76, 1484–1501 (2018)

    Article  MathSciNet  MATH  Google Scholar 

  41. Thomée, V.: Polygonal domain approximation in Dirichlet’s problem. J. Inst. Math. Appl. 11, 33–44 (1973)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Manuel Solano.

Additional information

Publisher's Note

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

Work partially supported by Conicyt-Chile through Fondecyt Project No. 1160320, Project AFB170001 of the PIA Program: Concurso Apoyo a Centros Científicos y Tecnológicos de Excelencia con Financiamiento Basal and Becas-Chile Scholarship Program.

Appendices

Appendix

HDG Implementation

The HDG method (6) can be implemented similarly to the standard HDG method for polygonal domains [33]. The boundary data \(\widetilde{{\varvec{g}}}_h\) defined in (3) produces a slight modification in the global system, as we will see. We first construct the local matrices associated to an element \(K\in {\mathsf {T}}_h\) and the boundary data will be imposed after the global matrix is assembled. To fix ideas we briefly describe the two dimensional case. Let \(K\in {\mathsf {T}}_h\) with edges \(e_1\), \(e_2\) and \(e_3\), \(N_{\mathrm {L}}=\dim (\text {P}_k(K))\), \(N_{{\varvec{u}}}=\dim (\varvec{{\mathcal {P}}}_k(K))\), \(N_p=\dim ({\mathcal {P}}_k(K))\) and \(N_{\widehat{{\varvec{u}}}}=\dim (\varvec{{\mathcal {P}}}_k(e_1))= \)\(\dim (\varvec{{\mathcal {P}}}_k(e_2))= \)\(\dim (\varvec{{\mathcal {P}}}_k(e_3))\). Let \(\{\varPsi _j\}_{j=1}^{N_\mathrm {L}}\), \(\{\varvec{\psi }_j\}_{j=1}^{N_{{\varvec{u}}}}\), \(\{\psi _j\}_{j=1}^{N_p}\) and \(\{\varvec{\xi }^{e_l}_j\}_{j=1}^{N_{\widehat{{\varvec{u}}}}}\) (\(l=1\), 2 and 3) the basis function of \(\text {P}_k(K)\), \(\varvec{{\mathcal {P}}}_k(K)\), \({\mathcal {P}}_k(K)\) and \({\mathcal {P}}_k(e_l)\), respectively. In our numerical experiments we considered Dubiner basis [28] for the polynomial spaces in K and Legendre basis for the polynomial space on the edges. We write now the unknowns restricted to K as linear combination of the basis functions, i.e., \(\mathrm {L}_h\vert _K = \sum _{j=1}^{N_{\mathrm {L}}} \alpha _j^K \varPsi _j\), \({\varvec{u}}_h\vert _K = \sum _{j=1}^{N_{{\varvec{u}}}} \beta _j^K \varvec{\psi }_j\), \({\widetilde{p}}_h\vert _K= \sum _{j=1}^{N_p} \gamma _j^K \psi _j\) and \(\widehat{{\varvec{u}}}_h\vert _{e_l}= \sum _{j=1}^{N_{\widehat{{\varvec{u}}}}} \lambda _j^{e_l} \varvec{\xi }^{e_l}_j\). We decompose \({\widetilde{p}}_h\vert _K = \overline{p_h}^{K}+\rho _h\), where \(\overline{p_h}^{K} \in {\mathcal {P}}_0(K)\) and \(\rho _h\in {\mathcal {P}}_k(K)\cap L^2_0(K)\). Since Dubiner basis are orthogonal on K and \(\psi _1\) is a constant, then \(\rho _h = \sum _{j=2}^{N_p} \gamma _j^K \psi _j\). Thus, the system associated to (6a)–(6c) is of the form

$$\begin{aligned} {\mathbf {A}}^K \begin{bmatrix} \varvec{\alpha }^K\\ \varvec{\beta }^K\\ \varvec{\gamma }^K \end{bmatrix} ={\mathbf {E}}^K \begin{bmatrix} \varvec{\lambda }^{e_1}\\ \varvec{\lambda }^{e_2}\\ \varvec{\lambda }^{e_3} \end{bmatrix} + {\mathbf {F}}^K, \quad \text {where}\, {\mathbf {A}}^K\in {\mathbb {R}}^{N_T\times N_T}, {\mathbf {E}}^K\in {\mathbb {R}}^{N_T \times 3N_{\widehat{{\varvec{u}}}}}, \end{aligned}$$
(39)

\({\mathbf {F}}^K\in {\mathbb {R}}^{N_T}\) and \(N_T:=N_{\mathrm {L}}+N_{{\varvec{u}}}+N_p\). On the other hand, the local contribution of the global equation (6g) can be written in the following matrix form

$$\begin{aligned} {\mathbf {B}}^{K} \begin{bmatrix} \varvec{\alpha }^K\\ \varvec{\beta }^K\\\ \varvec{\gamma }^K \end{bmatrix} -{\mathbf {H}}^{K}\overline{p_h}^K = \varvec{\Lambda }^{K} \begin{bmatrix} \varvec{\lambda }^{e_1}\\ \varvec{\lambda }^{e_2}\\ \varvec{\lambda }^{e_3} \end{bmatrix}, \, \text {where}\,{\mathbf {B}}^{K}\in {\mathbb {R}}^{3N_{\widehat{{\varvec{u}}}}\times N_T}, {\mathbf {H}}^{K}\in {\mathbb {R}}^{3N_{\widehat{{\varvec{u}}}}} \end{aligned}$$
(40)

and \(\varvec{\Lambda }^{K}\in {\mathbb {R}}^{3N_{\widehat{{\varvec{u}}}}\times 3N_{\widehat{{\varvec{u}}}}} \). Since the matrix on the left hand side of (39) is invertible, we express the unknowns \(\varvec{\alpha }^K\), \(\varvec{\beta }^K\) and \(\varvec{\gamma }^K\) in terms of \(\varvec{\lambda }^{e_l}\) and substitute them in (40) to obtain a local system of the form

$$\begin{aligned} {\mathbf {M}}^{K} \begin{bmatrix} \varvec{\lambda }^{e_1}\\ \varvec{\lambda }^{e_2}\\ \varvec{\lambda }^{e_3} \end{bmatrix} + {\mathbf {H}}^K\overline{p_h}^K ={\mathbf {b}}^{K}, \quad \hbox {where }{\mathbf {M}}^K\in {\mathbb {R}}^{N_{\widehat{{\varvec{u}}}} \times N_{\widehat{{\varvec{u}}}}}\hbox { and }{\mathbf {b}}^K\in {\mathbb {R}}^{N_{\widehat{{\varvec{u}}}}}. \end{aligned}$$
(41)

Now, let \(N_e\) and \(N_K\) be the number of edges and elements of the triangulation. We denote by \(\varvec{\lambda }^l\) (\(l=1\), ..., \(N_e\)) the global unknowns associated to the lth edge. We define the global vectors \(\varvec{\lambda }=[(\varvec{\lambda }^1)^t, \ldots , (\varvec{\lambda }^{N_e})^t]^t\) and \(\varvec{\sigma }=[{\overline{p}}_h^{K_1},\ldots ,{\overline{p}}_h^{K_{N_K}}]^t\). Thus, once the above local matrices are computed, we assembly on the edges of the triangulation and obtain the global system of the form

$$\begin{aligned} \begin{bmatrix} {\mathbf {M}}&{\mathbf {H}} \end{bmatrix} \begin{bmatrix} \varvec{\lambda }\\ \varvec{\sigma } \end{bmatrix}= {\mathbf {b}}, \quad \text {where} \quad {\mathbf {M}}\in {\mathbb {R}}^{(N_eN_{\widehat{{\varvec{u}}}})\times (N_eN_{\widehat{{\varvec{u}}}})}, {\mathbf {H}}\in {\mathbb {R}}^{(N_eN_{\widehat{{\varvec{u}}}})\times N_K} \end{aligned}$$
(42)

and \({\mathbf {b}}\in {\mathbb {R}}^{(N_eN_{\widehat{{\varvec{u}}}})}\). In addition, equation (6f) can be written as \([|K_1| \quad \ldots \quad |K_{N_K}|] \varvec{\sigma }=0\), which, together with (42) and the boundary condition, fully determines \(\varvec{\lambda }\) and \(\varvec{\sigma }\).

We proceed now to impose the boundary condition. Let \(e\in {\mathcal {E}}_h^\partial \) and \(K^e\) the triangle where it belongs. We assume that the only boundary edge of K is e and denote by \(e_1\) and \(e_2\) the other two edges. If K had two boundary edges the procedure is analogous. From (6c) and (38) we have that

$$\begin{aligned} \varvec{\Lambda }^e \varvec{\lambda }^e = {\mathbf {b}}^{{\varvec{g}}} - {\mathbf {J}}^e \varvec{\alpha }^{K^e}, \end{aligned}$$

where

$$\begin{aligned} \displaystyle {\mathbf {b}}^{{\varvec{g}}}:=\bigg \{\int _e \int _0^{l({\varvec{x}})}{\varvec{g}}(\bar{{\varvec{x}}}({\varvec{x}}))\cdot \varvec{\xi }^e_i({\varvec{x}})\,ds\,d{\varvec{x}}\bigg \}_{i=1}^{N_{\widehat{{\varvec{u}}}}} \end{aligned}$$

and

$$\begin{aligned} \displaystyle {\mathbf {J}}^e:=\bigg \{\int _e \int _0^{l({\varvec{x}})}\varvec{\varPsi }_j({\varvec{x}}+s{\varvec{t}}({\varvec{x}})){\varvec{t}}({\varvec{x}})\cdot \varvec{\xi }^e_i({\varvec{x}})\,ds\,d{\varvec{x}}\bigg \}_{i=1}^{N_{\widehat{{\varvec{u}}}}}. \end{aligned}$$

Here, we see how the basis functions \(\varvec{\varPsi }_j\) (defined in K) are being evaluated (extrapolated) along the path \({\varvec{x}}+s{\varvec{t}}({\varvec{x}}).\) From (39) we write \(\varvec{\alpha }^{K}\) in terms of \(\varvec{\lambda }^{e_1}\), \(\varvec{\lambda }^{e_2}\) and \(\varvec{\lambda }^{e}\), say \(\varvec{\alpha }^{K} = {\mathbf {K}} \begin{bmatrix} \varvec{\lambda }^{e_1}\\ \varvec{\lambda }^{e_2}\\ \varvec{\lambda }^e \end{bmatrix} +{\mathbf {r}}\), and obtain the system

$$\begin{aligned} \begin{bmatrix} \begin{bmatrix} \varvec{\Theta }_{N_{\widehat{{\varvec{u}}}}\times 3N_{\widehat{{\varvec{u}}}}}&\varvec{\Theta }_{N_{\widehat{{\varvec{u}}}}\times 3N_{\widehat{{\varvec{u}}}}}&\varvec{\Lambda }^e \end{bmatrix} + {\mathbf {J}}^e {\mathbf {K}} \end{bmatrix} \begin{bmatrix} \varvec{\lambda }^{e_1}\\ \varvec{\lambda }^{e_2}\\ \varvec{\lambda }^e \end{bmatrix} ={\mathbf {b}}^{{\varvec{g}}}-{\mathbf {J}}^e{\mathbf {r}}. \end{aligned}$$
(43)

Finally, we substitute the rows in (42) associated to the global degrees of freedom of the edge e by the equations in (43). This resulting global system is not symmetric (unless \({\mathbf {J}}^e=\varvec{\Theta }\)). If \(\varOmega \) were polygonal, then \({\mathbf {J}}^e=\varvec{\Theta }\) and the (43) becomes \(\varvec{\Lambda }^e \varvec{\lambda }^e={\mathbf {b}}^{{\varvec{g}}}\) which is one of the ways to impose Dirichlet boundary conditions.

Integration Over Curved Regions

In order to compute the approximation \(\overline{p_h}^{{\mathsf {D}}_h}\) and errors in \({\mathsf {D}}_h^c\), integrals over \({\widetilde{K}}_{ext}^e\) must be calculated. We write \({\widetilde{K}}_{ext}^e\) as a union of three disjoint regions \(T_1\), \(T_2\) and S as Fig. 8 shows. The same quadrature rules considered in the calculation of the local matrices of the method are used now in the triangles \(T_1\) and \(T_2\). Now, let \(e_S\) and \(\varGamma _S\) denote the straight and curved part of the boundary of S, resp. For a point \({\varvec{x}}\) in \(\varGamma _h\), we construct \(\sigma _{{\varvec{n}}_S}({\varvec{x}})\), where \({\varvec{n}}_S\) is the unit normal of \(e_S\) pointing to \(\varGamma _S\). Thus, for a smooth enough function q defined on S, we approximate

$$\begin{aligned} \int _S q({\varvec{x}}) d{\varvec{x}}= \int _{e_S} \int _0^{l({\varvec{x}})} q({\varvec{x}}+t{\varvec{n}}_S) {\varvec{n}}_S \,dt \,d{\varvec{x}} \end{aligned}$$

using one-dimensional quadrature on both integrals.

Fig. 8
figure 8

Examples of \({\widetilde{K}}_{ext}^e\) divided in triangles \(T_1\) and \(T_2\), and a region S (dashed area)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Solano, M., Vargas, F. A High Order HDG Method for Stokes Flow in Curved Domains. J Sci Comput 79, 1505–1533 (2019). https://doi.org/10.1007/s10915-018-00901-2

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10915-018-00901-2

Keywords

Mathematics Subject Classification

Navigation