Unified HDG
Unified HDG
a r t i c l e i n f o a b s t r a c t
Article history: By revisiting the basic Godunov approach for system of linear hyperbolic Partial Differential
Received 7 July 2014 Equations (PDEs) we show that it is hybridizable. As such, it is a natural recipe for us
Received in revised form 4 April 2015 to constructively and systematically establish a unified hybridized discontinuous Galerkin
Accepted 10 April 2015
(HDG) framework for a large class of PDEs including those of Friedrichs’ type. The
Available online 16 April 2015
unification is fourfold. First, it provides a single constructive procedure to devise HDG
Keywords: schemes for elliptic, parabolic, hyperbolic, and mixed-type PDEs. The key that we exploit is
Discontinuous Galerkin methods the fact that, for many PDEs, irrespective of their type, the first order form is a hyperbolic
Hybridized discontinuous Galerkin methods system. Second, it reveals the nature of the trace unknowns as the upwind states. Third,
Upwind hybridized discontinuous Galerkin it provides a parameter-free HDG framework, and hence eliminating the “usual complaint”
methods that HDG is a parameter-dependent method. Fourth, it allows us to rediscover most existing
Godunov method HDG methods and furthermore discover new ones.
Riemann flux
We apply the proposed unified framework to three different PDEs: the convection–
Lax–Friedrichs flux
diffusion–reaction equation, the Maxwell equation in frequency domain, and the Stokes
Friedrichs’ system
Upwind
equation. The purpose is to present a step-by-step construction of various HDG methods,
Well-posedness including the most economic ones with least trace unknowns, by exploiting the particular
Compressible Euler equation structure of the underlying PDEs. The well-posedness of the resulting HDG schemes, i.e.
Shallow water equation the existence and uniqueness of the HDG solutions, is proved. The well-posedness result is
Newton method also extended and proved for abstract Friedrichs’ systems. We also discuss variants of the
proposed unified framework and extend them to the popular Lax–Friedrichs flux and to
nonlinear PDEs. Numerical results for transport equation, convection–diffusion equation,
compressible Euler equation, and shallow water equation are presented to support the
unification framework.
© 2015 Published by Elsevier Inc.
1. Introduction
The discontinuous Galerkin (DG) method was originally developed by Reed and Hill [1] for the neutron transport equa-
tion, first analyzed in [2,3], and then has been extended to other problems governed by partial differential equations
(PDEs) [4]. Roughly speaking, DG combines advantages of classical finite volume and finite element methods. In particu-
lar, it has the ability to treat solutions with large gradients including shocks, it provides the flexibility to deal with complex
geometries, and it is highly parallelizable due to its compact stencil. As such, it has been adopted to solve large-scale
forward [5,6] and inverse [7] problems. However, for steady state problems or time-dependent ones that require implicit
http://dx.doi.org/10.1016/j.jcp.2015.04.009
0021-9991/© 2015 Published by Elsevier Inc.
T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146 115
time-integrators, DG methods typically have many more (coupled) unknowns compared to the other existing numerical
methods, and hence more expensive in general.
Recently, Cockburn, his coworkers, and others have introduced hybridizable (also known as hybridized) discontinuous
Galerkin (HDG) methods for various types of PDE including Poisson equation [8],1 [9,10], convection–diffusion equation
[11–14], Stokes equation [15–18], Euler and Navier–Stokes equations [19–21], Maxwell equation [22–24], acoustics and
elastodynamics [25], Helmholtz equation [26,27], and eigenvalue problem [28], to name a few. The beauty of the HDG
method is that it reduces the number of coupled unknowns substantially while retaining all other attractive properties of
the DG method. The coupled unknowns are in fact new unknown traces introduced on the mesh skeleton, i.e. the faces, to
hybridize the DG method. Once they are solved for, the usual DG unknowns can be recovered in an element-by-element
fashion, completely independent of each other. Existing HDG constructions however vary from one type of PDE to another,
though they do share some similarities. Moreover, they are parameter-dependent method. Consequently, practitioners may
be wary of deriving/applying the HDG approach to a new PDE.
Our aim is to construct a unified HDG framework that can be applied to a wider class of PDEs and that rediscovers
most, if not all, the existing HDG methods when applied to aforementioned PDEs. More importantly, the unified framework
should be able to provide a constructive approach to discover new HDG methods. It should be pointed out that similar
efforts for constructing a unified DG framework have been done recently in [29–32]. We have also successfully devised
a unified framework for the discontinuous Petrov–Galerkin method [33]. Following this light, this paper is an attempt to
provide a unified framework for the HDG approach.
In the following we summarize the contributions of this article. We start by revisiting the Godunov approach for solving a
general system of linear PDEs in Section 2. This reveals the fact that the Godunov (upwind) flux on a face can be hybridized.
That is, it can be computed using information from either of elements sharing that face and the single-valued upwind state.
This motivates us to replace the upwind state by a trace unknown living on the mesh skeleton and solve for it as part of
the discrete solution. At the first sight, this seems to be more expensive than the standard (upwind) DG. However, by a
Schur complement approach (“static condensation”) we show that the actual coupled unknowns are the traces, and hence
the number of globally coupled unknowns are substantially reduced. In other words, instead of evaluating the upwind state
first and then the Godunov flux as usually done, we propose to treat the upwind state as unknown and compute it. We
essentially suggest to redesign or, equivalently, to hybridize the Godunov flux (in this paper, we use Godunov flux and
upwind flux interchangeably).
The purpose of our systematic construction of the upwind HDG framework is threefold. First, we will show that the basic
Godunov approach can be used as a natural recipe to constructively derive HDG fluxes. Thus, Godunov flux is hybridizable.
Second, we provide a new insight of the trace unknown, that is, it is nothing more than the upwind state. Third, the upwind
HDG framework is parameter-free by construction. Nevertheless, from the upwind HDG framework we will show how one
can naturally and constructively derive most of the existing parameter-dependent HDG methods.
We then apply our abstract upwind HDG framework to convection–diffusion–reaction equation in Section 3, Maxwell’s
equations in frequency domain in Section 4, and Stokes equation in Section 5. The purpose of these sections is to show that
by exploiting the structure of the underlying PDEs, one can systematically construct HDG methods with minimal number of
trace unknowns. In particular, we shall demonstrate the power of the unified framework in rediscovering most, if not all, of
the existing HDG methods and in discovering new ones. In each section (or its subsections) the well-posedness of the HDG
global and local systems will be analyzed.
Section 6 is our attempt to generalize the analysis in Sections 3, 4, and 5 to a large class of PDEs of Friedrichs’ type.
Next, Section 7 shows how to hybridize the popular Lax–Friedrichs flux, whose advantages and disadvantages compared
to the upwind HDG flux are discussed in detail. After that, Section 8 constructs variants of the upwind HDG method,
among which is a popular class of parameter-dependent HDG schemes. Section 9 extends the HDG framework to PDEs
with discontinuous coefficients, and Section 10 presents an extrapolation to nonlinear PDEs. To validate our developments
we presents numerical results in Section 11 for various types of PDE including transport equation, convection–diffusion
equation, compressible Euler equation, and shallow water equation. Finally, Section 12 concludes the paper.
In this section we are interested in constructing a single HDG framework for general system of linear PDEs of the
following form
d
d
∂k Fk (u) + Cu := ∂k (Ak u) + Cu = f, in , (1)
k =1 k =1
where d is the spatial dimension (which, for the clarity of the exposition, is assumed to be d = 3 whenever a particular
value of dimension is of concern), Fk the kth component of the flux vector (or tensor) F, u the unknown solution with
1
This is the paper that invented the HDG method.
116 T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146
values in Rm , and f the forcing term. The matrices Ak and C are assumed to be constant and continuous2 across . Here,
∂k is understood as the kth partial derivative. Since the boundary condition plays no role in the basic construction and
understanding of our unified framework, it is ignored until the well-definedness is concerned. At that point we will provide
the boundary condition, which is then incorporated via the trace unknown.
We are going to solve (1) using the discontinuous Galerkin finite element method. To begin, let us partition the domain
N
into N el non-overlapping elements K j , j = 1, . . . , N el with Lipschitz boundaries such that h := ∪ j =el1 K j and = h .
N
Here, h is defined as h := max j ∈{1,..., N el } diam K j . We denote the skeleton of the mesh by Eh := ∪ j =el1 ∂ K j ; it is the set of
all (uniquely defined) faces e, each of which comes with a normal vector n . We conventionally identify n− as the normal
e
vector on the boundary ∂ K of element K (also denoted as K − ) and n+ = −n− as the normal vector of the boundary of a
neighboring element (also denoted as K + ). Furthermore, we use n to denote either n− or n+ in an expression that is valid
for both cases, and this convention is also used for other quantities (restricted) on a face e ∈ Eh . For the sake of convenience,
we denote by Eh∂ the sets of all boundary faces on ∂, by Eho := Eh \ Eh∂ the set of all interior faces, and ∂h := {∂ K : K ∈ h }.
For simplicity in writing we define (·,·) K as the L 2 -inner product on a domain K ∈ Rd and ·,· K as the L 2 -inner product
on a domain K if K ∈ Rd−1 . We shall use · K := · L 2 ( K ) as the induced norm for both cases and the particular value of K
in a context will√ which inner product the norm is coming from. We also denote the ε -weighted norm of a function
indicate
u as u K ,ε := ε u K for any positive ε . We shall use boldface lowercase letters for vector-valued functions and in that
m m
u, v K := i =1 ui , vi K , where
case the inner product is defined as (u, v) K i =1 (ui , vi ) K , and similarly m is the number
of components (ui , i = 1, . . . , m) of u. Moreover, we define (u, v) := K ∈h (u, v) K and u, vE o := e∈E o u, ve whose
h h
induced (weighted) norms are clear, and hence their definitions are omitted. We also employ boldface uppercase letter, e.g.
L, to denote both matrices and tensors. It is our convention that subscripts are used to denote the components of vector,
matrix, and tensor.
We define P p ( K ) as the space of polynomials of degree at most p on a domain K . Next, we introduce three discontin-
uous piecewise polynomial spaces
m m
Vh (h ) := v ∈ L 2 (h ) : v| K ∈ P p ( K ) , ∀ K ∈ h ,
m m
h (Eh ) := λ ∈ L 2 (Eh ) : λ|e ∈ P p (e ) , ∀e ∈ Eh ,
and similarly for Vh ( K ), and h (e ) by replacing h with K and Eh with e. If m = 1, i.e. scalar-valued functions, we denote
these spaces as
V h (h ) := v ∈ L 2 (h ) : v | K ∈ P p ( K ) , ∀ K ∈ h ,
h (Eh ) := λ ∈ L 2 (Eh ) : λ|e ∈ P p (e ) , ∀e ∈ Eh .
From now on we conventionally use u (v and û) for the numerical solution and ue for the exact solution. We would like to find
a local finite element solution u ∈ Vh ( K ) on each element K ∈ h . To that end, multiplying (1) by v and integrating by parts
we have
− (F (u) , ∇ v) K + F (u) · n, v∂ K + (Cu, v) K = (f, v) K , ∀v ∈ Vh ( K ). (2)
At this point, the flux F (u) · n on e ∈ ∂ K is not well-defined since the traces of both u− of element K − and u+ of element
K + co-exist on e. Godunov-type methods [34] resolve this by first solving, either exactly
or approximately, for the upwind
state at the interface e and then introducing the upwind numerical flux F∗ u− , u+ so that (2) becomes
− (F (u) , ∇ v) K + F∗ u− , u+ · n, v ∂ K + (Cu, v) K = (f, v) K , ∀v ∈ Vh ( K ). (3)
It is this numerical flux that couples local unknowns on elements K + and K − that share a face e∈ ∂ K . Consequently, the
local unknowns on all elements are coupled, and they must be solved together. This leads to the “usual complaint” that
DG has many more coupled unknowns, and hence more expensive in general. The chief goal of this paper is to break this
coupling and this can be accomplished by hybridizing the classical Godunov flux, as we now show.
The upwind numerical flux is typically constructed by solving the Riemann problem [35] locally along the normal n of
∂ K : find u (n, t ) such that
∂ u ∂ (Au)
+ = 0, (4)
∂t ∂n
d
with the initial condition u (n, 0) = u− for n < 0, u (n, 0) = u+ for n ≥ 0, and A = k=1 Ak nk . Here, (artificial) time t
is introduced to help understand the Godunov flux via the Riemann problem, but it is otherwise not necessary in the
2
The assumption will be relaxed later.
T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146 117
following development. Though the detailed solution of Riemann problem can be found, for example, in [35], we review the
main points here for completeness. We begin with the eigenvalue decomposition of A
A := Ak nk = RSR−1 , (5)
where S := diag (θ1 , . . . , θm ) and θi are eigenvalues of A. To the end of this section we assume that A has real eigenvalues
and independent eigenvectors, i.e., the system of linear PDEs (1) is hyperbolic [35].
Since R forms a complete basis of Rm , we can decompose the initial condition as
m
m
u− = αi− Ri , and u+ = αi+ Ri .
i =1 i =1
The solution of the Riemann problem (4) for small time t can be shown to be
I
m
u∗ = αi− Ri + αi+ Ri , (6)
i =1 i = I +1
where I is such that θ I < 0 and θ I +1 ≥ 0. In terms of the “left” (−) and the “right” (+) states, we have
I
u∗ = u− + αi+ − αi− Ri , (7)
i =1
and
m
u∗ = u+ − αi+ − αi− Ri . (8)
i = I +1
The Godunov, or equivalently upwind, flux F∗ · n− on the boundary of element K − is found by multiplying both sides of (7)
by A, i.e.,
I
F∗ · n− := Au− + A αi+ − αi− Ri . (9)
i =1
Since the positive spectrum of A has no contribution to the second term in (9), we can write
I
F∗ · n− = Au− − |A| αi+ − αi− Ri , (10)
i =1
where |A| := R |S| R−1 . Now substituting (7) into (10) gives
F∗ · n− = F u− · n− + |A| u− − u∗ . (11)
Similarly, the Godunov flux for the neighboring element K + on the same face e is given by
F∗ · n+ := F u+ · n+ + |A| u+ − u∗ . (12)
JF∗ · nK = 0, (13)
− +
where we have defined the “jump” operator J(·)K := (·) + (·) .
Next, combining (11) and (12) we have the usual “symmetric” form of the Godunov flux
1 1
F∗ · n− = F u− + F u+ · n− + |A| u− − u+ , (14)
2 2
which is usually used in upwind numerical methods such as upwind DG. It is this nicely symmetric form that couples the
unknowns of the neighboring elements, and hence the unknowns of all elements.
Can we avoid this “standard” global coupling? The above re-derivation of the Godunov flux with two new expressions in
(11) and (12) in fact provides an answer. We first observe that the upwind fluxes (11) and (12) depend on the DG unknowns
of only one side of a face e ∈ ∂ K and the single-valued solution u∗ of the Riemann problem. The numerical flux is then
completely determined using only information from either side (left or right) of the face e ∈ ∂ K , as long as u∗ is (either
exactly or approximately) provided. More importantly, this in turn shows that we can solve (3) for u element-by-element
independent of each other.
118 T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146
The above discussion suggests that we should treat u∗ as the extra unknown and solve for it on the skeleton of the mesh
instead of using the Riemann/upwind state which couples the local unknown u. To signify this step, let us rename u∗ to û
and F∗ to F̂, i.e.,
F̂ · n = F (u) · n + |A| u − û , (15)
and we refer to this as the hybridized upwind flux or HDG flux. Conventionally, “hatted” quantities are computed using the
trace unknown û while “starred” quantities are associated with the upwind state u∗ . An immediate question that arises is
how to compute û. To answer this question, we note that û is a new unknown that is introduced on ∂ K so that (3) can be
solved in an element-by-element fashion. To ensure the well-posedness of our formulation, we need to introduce an extra
equation on ∂ K . Clearly, at this point û is not the upwind state and hence the identity (13) is in general no longer satisfied
for F̂. It is therefore natural to use (13) as the extra equation. This additional algebraic equation ensures that what is coming
out from element K through its boundary ∂ K must enter the neighboring elements that share (part of) the boundary ∂ K .
This is the statement of conservation and it is exactly conveyed by (13).
In summary, for each element K , the DG local unknown u and the extra “trace” unknown û need to satisfy
− (F (u) , ∇ v) K + F̂ u, û · n, v + (Cu, v) K = (f, v) K , ∀v ∈ Vh ( K ), (16a)
∂K
JF̂ u, û · nK, μ = 0, ∀μ ∈ h , (16b)
∂K
where we have enforced the uniqueness of the HDG flux weakly which is sufficient for local conservation. We have con-
structively devised an upwind HDG framework which consists of (16a), (16b), and the HDG flux (15).
By revisiting the Godunov method we have constructively derived the HDG method for a general system of linear hy-
perbolic PDEs. The procedure for computing HDG solution requires three steps. We first solve (16a) for the local solution u
as a function of û. It is then substituted into the conservative algebraic equation (16b) on the mesh skeleton to solve for
the unknown û. Finally, the local unknown u is computed, as in the first step, using û from the second step. To signify the
nature of each step, we conventionally name the element-by-element elimination in the first and the third step as the local
solver, and the process for computing the trace on the mesh skeleton in the second step as the global solver.
Let us emphasize some other crucial points. First, we have shown that the Godunov method is hybridizable. Second,
the trace unknown in our upwind HDG, once computed, is nothing more than the upwind state; we will verify this fact
for various linear PDEs in the following. Third, the appearance of |A|, and hence |A| u − û , is to ensure the upwinding
mechanism, and hence stability. In the HDG literature |A| is a free stabilization parameter/matrix that must be appropriately
chosen for stability, whereas in our upwind HDG framework |A| arises naturally from the hybridization of the Godunov
method. Thus, it automatically ensures the stability of the upwind HDG method if the original Godunov method is stable.
At this level of generality, it appears that we have m trace unknowns ûi , i = 1, . . . , m to solve for on the mesh skeleton.
However, when we apply our upwind HDG methodology to a particular PDE—including convection–diffusion–reaction equa-
tion in Section 3, Maxwell equation in Section 4, and Stokes equation in Section 5—we can eliminate most of them so that
there are in fact only a few trace unknowns that need to be solved for. For all examples considered, we will assume that
all the boundary conditions are homogeneous for the clarity of the exposition. The extension to non-homogeneous cases is
straightforward and hence omitted.
In this section we will apply the upwind HDG methodology in Section 2 to convection–diffusion–reaction equation and
its subsets. As shall be shown, we recover several existing HDG methods and discover new ones.
The problem of interest in this section is the convection–diffusion–reaction equation written in the first order form
ε −1 σ + ∇ u = 0 in , (17a)
∇ · σ + β · ∇u + νu = f in (17b)
where we assume β ∈ [L ∞ ()]d , ∇ · β ∈ L ∞ () (again d = 3). Simple algebraic manipulation shows that
⎡ ⎤
2n21 2n1 n2 2n1 n3 β · nn1
1⎢ 2n n 2n22 2n2 n3 β · nn2 ⎥
|A| = ⎢⎣
1 2 ⎥,
α 2n1 n3 2n2 n3 2n23 β · nn3 ⎦
β · nn1 β · nn2 β · nn3 γ
with α := |β · n|2 + 4 and γ = |β · n|2 + 2. It is important to point out that though the original PDE is of mixed
hyperbolic–elliptic type, the system (17) is hyperbolic (A is symmetric, and hence having real eigenvalues and independent
eigvenvectors) in the group variable u := (u , σ ). As such, it falls under our unified treatment. In particular, the Godunov flux
(15) becomes
T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146 119
⎡ ⎤
α un1 + 2 (σ − σ ∗ ) · nn1 + β · n (u − u ∗ ) n1
1⎢ α un2 + 2 (σ − σ ∗ ) · nn2 + β · n (u − u ∗ ) n2 ⎥
F∗ · n = ⎢ ⎥, (18)
α⎣ α un3 + 2 (σ − σ ∗ ) · nn3 + β · n (u − u ∗ ) n3 ⎦
α β · ν + ασ · n + β · n (σ − σ ∗ ) · n + γ (u − u ∗ )
where the upwind state in (6) is defined as u∗ := u ∗ , σ1∗ , σ2∗ , σ3∗ = (u ∗ , σ ∗ ).
If we stop here and construct an HDG method by replacing starred quantities by hatted ones as in the abstract setting
presented in Section 2, we see that there are four trace unknowns: three from σ ∗ and one from u ∗ . However, as can be
seen from (18), there are only two independent quantities, namely, the traces |σ ∗ · n| and u ∗ that are needed to compute
the upwind flux. In fact, even these two quantities are not independent of each other, as will be shown, and hence either
of them can be eliminated. This observation is the key leading to the most economic HDG methods: first removing all the
dependencies, and then constructing HDG methods.
We first show that the Godunov flux can be written as a function of only u ∗ .
β ·n 1
u ∗ = {{u }} + JunK · n + Jσ · nK, (19a)
2α α
1 β ·n
σ ∗ · n = {{σ }} · n + JunK · n − Jσ · nK. (19b)
α 2α
ii) The Godunov flux is given by
⎡ ⎤
u ∗ n1
⎢ u ∗ n2 ⎥
F∗ · n = ⎢
⎣
⎥, (20)
u ∗ n3 ⎦
β · ν + σ · n + (α − β 1
2
· n) (u − u ∗ )
where
2 β ·n
u∗ = u + σ − σ∗ · n + u − u∗ . (21)
α α
Proof. To prove the first assertion we can use popular techniques such as those in [35]. Here, we take a different approach
using the conservation equation (similar to that of Proposition 3.4 of [8]). Specifically, we note that for the convection–
diffusion–reaction problem, the conservation (13) gives us four equations for the upwind state u∗ . Solving for u ∗ and σ ∗ · n
in terms of u and σ we obtain the desired result. The second assertion immediately follows by substituting (19) into (18)
and inspecting that (21) is true. 2
Up to this point, we have used the exact Riemann solution and the Godunov flux to derive identities in Lemma 3.1.
These simple results pave the way for constructing an HDG method with single trace unknown. In particular, we start by
replacing the starred quantities in (20) with hatted ones, i.e.,
⎡ ⎤
ûn1
⎢ ûn2 ⎥
F̂ · n = ⎢
⎣
⎥.
⎦ (22)
ûn3
β · ν + σ · n + 12 (α − β · n) u − û
and then declaring that û is unknown, that is, û is not assumed to satisfy (19) and (21). Clearly, the first three components
of the HDG flux (22) automatically satisfy the conservation condition (16b), and thus we need to weakly enforce only the
fourth one, i.e.,
1
Jβ · ν + σ · n + (α − β · n) u − û K, μ = 0, ∀μ ∈ h (e ) , ∀e ∈ Eho . (23)
2 e
Taking v = (κ , v ) ∈ Vh ( K ) ⊗ V h ( K ) as the test function, the local equation (16a), when applied to (17), becomes: find
(σ , u ) ∈ Vh ( K ) ⊗ V h ( K ) such that
120 T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146
ε −1 σ i , κ i − (u , ∂i κi ) K + F̂ · n , κi = 0 i = 1, 2, 3, (24a)
K i ∂K
− (σ , ∇ v ) K − (u , ∇ · (β v )) K + (ν u , v ) K + F̂ · n ,v = ( f , v )K , (24b)
4 ∂K
with F̂ · n , i = 1, . . . , 4 denoting the ith component of numerical flux (22).
i
In summary, we have proposed an HDG scheme consisting of local equations (24), HDG flux (22), and conservation
condition (23). A question immediately arises is whether the trace solution û is identical to the upwind state (19a) and
whether the HDG flux (22) is in fact the Godunov one. The answer is, not surprisingly, affirmative.
Lemma 3.2. The trace solution û of the HDG scheme (24), (22), and (23) coincides with the upwind state. Furthermore, the HDG flux
(22) is identical to the Godunov upwind flux (18).
Proof. We proceed with the conservation condition (23) which shows that
β ·n
α û , μ e = α {{u }} + JunK · n + Jσ · nK, μ = αu∗ , μ e , ∀μ ∈ h (e ) ,
2 e
where we have used (19a) to obtain the second equality. Now, taking μ = û − u ∗ yields
û − u ∗ 2 = 0,
e ,α
which in turn shows that û is exactly the same as u ∗ since α is constant and u ∗ ∈ h (Eh ) by our assumption. The second
assertion is clear by defining σ̂ · n in place of σ ∗ · n in (19b) and substituting û from (19a) into (22). 2
One way to achieve the goal of eliminating u ∗ is to define the unique flux θ ∗
β ·n γ
θ ∗ sgn (n) := β · ν + σ · n + σ − σ∗ · n + u − u∗ , (25)
α α
so that the fourth component of the Godunov flux (18) can be written simply as
F∗ · n 4
= θ ∗ sgn (n) .
Here, we have defined, ∀e ∈ Eh ,
1 if n = ne
sgn (n) :=
−1 if n = −ne
Then, we have a result parallel to Lemma 3.1.
Proposition 3.3 shows that the upwind flux (18) can be written as a function of only θ ∗ instead of u ∗ and σ ∗ . This
suggests that we can construct a new HDG scheme consisting of local solver (24), and with F∗ · n and θ ∗ in (26) replaced
T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146 121
by F̂ · n and θ̂ . Here, θ̂ is now the single trace unknown. As can be seen, the fourth equation in the conservation condition
(16b) is automatically satisfied since θ̂ is single-valued. We need to weakly enforce the conservation for the first three
components, but they are the same up to a constant ni . Consequently, only one conservation condition on the skeleton is
necessary and this ensures that the number of equations is the same as the number of unknowns, i.e.,
Jũ sgn (n)K, μ e = 0, ∀μ ∈ h (e ) , ∀e ∈ Eho . (29)
Similar to Lemma 3.2, one can show that the new HDG scheme with θ̂ as the trace unknown is equivalent to the standard
upwind DG scheme.
This is a special case of (17) in which the diffusion coefficient is zero, i.e. ε = 0. The construction of the HDG method
following the general procedure in Section 2 is substantially simplified. In particular, we have
|A| = |β · n| ,
and the HDG flux (14) turns out to be
F̂ · n = β · ν + |β · n| u − û . (30)
The local HDG equation (16a) now becomes: find u ∈ V h ( K ) such that
− (u , ∇ · (β v )) K + (ν u , v ) K + F̂ · n, v = ( f , v )K , ∀v ∈ V h (K ) (31)
∂K
with the HDG flux given in (30), and with the conservation equation given as
Jβ · ν + |β · n| u − û K, μ e = 0, ∀μ ∈ h (e ) , ∀e ∈ Eho . (32)
Lemma 3.4. The trace solution û of the HDG scheme (31), (30), and (32) coincides with the upwind state. Furthermore, the HDG flux
F̂ · n (30) is identical to the standard Godunov upwind flux for convection–reaction problem.
Proof. To begin, we note that, similar to Lemma 3.1, we can use the conservation equation to deduce that
1
û = Ju sgn (β · n)K + {{u }} , (33)
2
which is exactly the upwind state [1,35]. Next, û can be substituted into the HDG flux (30) to give
1
F̂ · n = β · n {{u }} + sgn (β · n) Jβ · ν K, (34)
2
which is exactly the usual upwind flux [1,35] for the convection equation. Clearly, we can also bypass the computation of û
to compute the upwind flux directly by
The next result shows that our upwind HDG method is the same as the standard upwind scheme [3,1,2]. This is not
surprising since the former is constructed from the latter by hybridizing the upwind flux.
Corollary 3.5. The HDG scheme (31), (30), and (32) is equivalent to the standard upwind DG scheme.
Proof. We first show that the HDG solution u is a solution of the DG scheme. But this is clear from the proof of Lemma 3.4.
In particular, by substituting (34) into (31), the latter becomes the standard upwind DG [3,1,2].
Conversely, let u be the solution of the upwind DG method, i.e., u satisfies (31) with the upwind flux (34). Now, first
defining û as in (33), then expressing the upwind flux (34) as a function of û we recover (31). We also observe that the
upwind flux satisfies the conservation equation (32), and this concludes the proof. 2
This is a special case of the HDG scheme in Section 3.1 in which the velocity field β is zero, i.e. β = 0. We again
emphasize that though the original Poisson equation is of elliptic type, its first order form with group variable u = (u , σ ) is
hyperbolic, and hence our unified theory is applicable. In particular, the HDG flux (22) now simplifies to
122 T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146
⎡ ⎤
ûn1
⎢ ûn2 ⎥
F̂ · n = ⎢
⎣
⎥.
⎦
ûn3
σ · n + u − û
As shown above, û is identical to the upwind state and hence approximating the trace of the exact solution on the mesh
skeleton. This implies that the discrepancy/error u − û converges to zero as the mesh (or solution order) is refined for PDE
with smooth solution. This observation suggests that one can control this discrepancy by penalizing u − û using a penalty
parameter τ , i.e.,
⎡ ⎤
ûn1
⎢ ûn2 ⎥
F̂ · n = ⎢
⎣
⎥,
⎦ (35)
ûn3
σ · n + τ u − û
which recovers our upwind HDG when τ = 1. On the other hand, if τ approaches infinity the trace unknown û is forced
to match the trace of the DG solution u. One can realize that, by hybridizing the Godunov flux, we have constructively and
intuitively recovered the HDG methods for elliptic equations proposed in [36].
Remark 3.6. It is important to point out that since the differential part of the Helmholtz equation is the same as that of the
Poisson equation, the upwind HDG flux, or its penalized variant, for the Helmholtz equation is identical to (35). That is, we
have also recovered the HDG scheme for Helmholtz equation in [26,27].
3.5. Analysis
In this section, we discuss the relation of the our proposed HDG schemes to the existing ones. Since the upwind HDG
scheme with (24), (26), and (29) is equivalent to that with (24), (22), and (23), we study only the latter. We will also discuss
the HDG schemes for transport and Poisson equations.
It is important to point out that our upwind HDG scheme for convection–diffusion–reaction problem (17) is different
NPC
from that proposed in [11]. In particular, their HDG flux σ̂ · n is
σ̂ NPC · n := β · nû + σ · n + τ u − û ,
where τ is the so-called stabilization parameter. On the other hand, by hybridizing the Godunov upwind method, ours is
1
σ̂ · n := β · ν + σ · n + (α − β · n) u − û .
2
Nevertheless, we can rewrite our upwind HDG flux as
1
σ̂ · n := β · nû + σ · n + (α + β · n) u − û ,
2
and if we take τ = 12 (α + β · n) the two fluxes are identical. Moreover, in this case τ − β · n/2 = α > 0, and therefore all
results in [11] hold for our upwind HDG method as well. Let us summarize some important points for mixed Dirichlet–
Neumann boundary condition (enforcing boundary condition via the trace unknown is straightforward and can be found
in [11]).
Theorem 3.7. Assume ν − 12 ∇ · β ≥ 0. Then, there exists a unique solution u , σ , û for the upwind HDG scheme (24), (22), and (23).
When β = 0 the HDG scheme is much simplified as shown in Section 3.4. Consequently, more results can be obtained for
this case. Indeed, the work in [9] presents a complete analysis, including optimal convergent rate, of the HDG method for
the Poisson equation with Dirichlet boundary condition. Thus our upwind HDG method also converges optimally. A question
that immediately arises is whether it is consistent with the local discontinuous Galerkin (LDG) approach [37] in which the
upwinding is done in the opposite direction, i.e. upwinding for (24a) and downwinding for (24b) or the other way around.
For clarity in the exposition, we present the answer for the Poisson equation.
Due to Lemma 3.2, we see that since û = u ∗ , and hence σ̂ = σ ∗ , they also satisfy (21), i.e.,
û − u = − σ̂ · n − σ · n , (36)
which says that the unbalanced (or mismatched) components of the flux due to our upwind HDG discretization are opposite.
More specifically, û − u and σ̂ · n − σ · n are the flux mismatch of quantities u and σ , respectively, per unit area/length.
T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146 123
Identity (36) implies that the mismatches are opposite. In particular, if û = u ∓ then from (19a)–(19b) one can see that
σ̂ · n = σ ± · n, i.e., they are upwind fluxes in opposite directions. Thus, we have rediscovered the LDG upwinding mechanism.
We next discuss the upwind HDG scheme for transport equation in Section 3.3. From Corollary 3.5, the upwind HDG
scheme is equivalent to the standard upwind DG method, and hence all the results in [3] hold for the former as well. Let us
present some results that are special for our HDG scheme. These are simpler versions of the results in Section 6, and hence
we postpone the boundary condition enforcement until then.
Lemma 3.8. If ν − 12 ∇ · β > 0, there exists a unique solution for the local solver (31).
Proof. Since the local problem is in finite dimensional space, it is sufficient to show that u = 0 when f = 0 and û = 0.
Indeed, testing (31) with v = u we have
− (u , ∇ · (β u )) K + (ν u , u ) K + (|β · n| + β · n) u , u ∂ K = 0,
which, after integrating the first term by parts gives
(u , β · ∇ u ) K + (ν u , u ) K + |β · n| u , u ∂ K = 0.
Finally adding the above two equations gives
((2ν − ∇ · β) u , u ) K + (2 |β · n| + β · n) u , u ∂ K = 0.
Since ν − 12 ∇ · β > 0 and 2 |β · n| + β · n ≥ 0, we conclude that u = 0. 2
Lemma 3.9. If ν − 12 ∇ · β > 0, there exists a unique solution u , û for the upwind HDG scheme.
Proof. Similar to the proof of Lemma 3.8, it is sufficient to show that f = 0 and g = 0 imply u = 0 and û = 0. Indeed,
eliminating û as in the proof of Lemma 3.4 we recover the standard upwind DG scheme [3] which shows that u = 0 since
f = 0 and g = 0. This in turn implies that û = 0. 2
We have used the equivalence (Corollary 3.5) between our upwind HDG method and the standard upwind HDG to obtain
the uniqueness of û with no effort. We can also obtain the convergence rate of our upwind HDG method.
Theorem 3.10. Suppose the exact solution u e is sufficiently smooth, i.e. u e | K ∈ H p +1 ( K ), then the HDG solution u , û satisfies the
following error bounds
e
u − u e 2 1
≤ ch p + 2 u k +1 ,
L (h ) H (h )
e
û − u e 2 o ≤ ch p + 12 u k +1 ,
L E h
H (h )
Proof. Since the upwind HDG is equivalent to the upwind DG scheme, the first assertion is immediate by the existing
convergence theory of the latter (see, e.g., [3,38]). For the second assertion, subtracting u e from both sides of (33) yields
1
û − u e ≤ J u − u e
K sgn (β · n) + {u − u e } L 2 (e)
L 2 (e ) 2
L 2 (e )
e
≤ c u − u e L 2 (e )
≤ ch p + 12 u
H k +1 ( K )
,
where the last inequality is from the upwind DG (see [3,38] and the references therein). Summing over all faces e, and
hence elements, ends the proof. 2
In this section, we apply the single abstract HDG framework in Section 2 to the Maxwell equation in frequency3 (time
harmonic) domain. We will show that by hybridizing the upwind DG for the first order Maxwell equation we can derive
families of HDG schemes from which we recover many existing methods and discover new ones.
Similar to [22] we consider the following time-harmonic equations
ν E − ∇ × H = 0 in , (37a)
2
∇ × E − εω H + ε ∇ q = f in , (37b)
∇ · (ε H) = 0 in . (37c)
3
Construction of upwind HDG schemes for the time domain Maxwell equation is simpler and hence omitted here.
124 T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146
(ε − 1) n1 n3 (ε − 1) n2 n3 (ε − 1) n23 + 1
Consequently, the Godunov fluxes (11)–(12) in this case read
⎡ ⎤
−n × H + n × n × (E∗ − E)
F∗ · n = ⎣ n × E + n × n × (H∗ − H) + εqn + ε [(H − H∗ ) · n] n ⎦ , (38)
εH · n + ε (q − q∗ )
where E∗ , H∗ , and q∗ (two vectors and one scalar) are the upwind states.
Similar to previous sections, we seek the relationships between the upwind states to motivate the construction of HDG
methods. Proposition 4.1 collects some important identities.
Proposition 4.1. The following hold for the upwind states E∗ , H∗ and q∗ :
n × n × E ∗ − E = n × H − H∗ ,
H − H∗ · n = q ∗ − q .
and
1
n × n × E∗ = n × n × {{E}} + Jn × HK,
2
∗
n × n × H = − {{n × E}} + n × n × {{H}} ,
Ĥ · n = {{qn + H}} · n,
1
q∗ = {{q}} + JH · nK
2
Using the results in Proposition 4.1, the upwind flux (38) can be written either as
⎡ ⎤
−n × H + n × n × (E∗ − E)
F∗ · n = ⎣ n × E∗ + ε q ∗ n ⎦, (39)
εH · n + ε (q − q )∗
or
⎡ ⎤
−n × H∗
F∗ · n = ⎣ n × E + n × n × (H∗ − H) + εq∗ n ⎦ , (40)
εH · n + ε (q − q∗ )
or
⎡ ⎤
−n × H∗
F · n = ⎣ n × E + εqn + n × n × (H − H) + ε [(H − H ) · n] n ⎦ .
∗ ∗ ∗ (41)
ε H∗ · n
∗ t as∗ E = −n × n× ∗Et and H =∗−n × n × H.
t t
Let us also define the tangent component of the electric and magnetic fields
∗
It can be observed from (39)–(41) that we in fact need only either the pair E , q or the pair H , q or H to compute
the upwind flux. This motivates us to define the following two4 (families of) HDG schemes based on two different, but
equivalent, Godunov fluxes (39)–(40).
4
Our analysis shows that the HDG local solver using the HDG flux (41) does not have a unique solution for q for the interior elements. A remedy similar
to Section 5 can be done but we skip its discussion in this paper to keep the length of the paper reasonable.
T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146 125
4.1. HDG scheme based on Êt , q̂
The starting point of the first HDG scheme is to define the HDG flux based on (39), i.e.,
⎡ ⎤
−n × H + Et − Êt
⎢ ⎥
F̂ · n = ⎣ n × Êt +εq̂n ⎦ . (42)
εH · n + ε q − q̂
Thus, the actual single-valued trace unknowns in our first HDG scheme are the tangentvector Êt and the scalar q̂. Now,
since n × Êt + εq̂n automatically fulfills the conservation property and −n × H + Et − Êt lives in the tangent plane, (16b)
reduces to
J−n × H + Et − Êt K, μt = 0, ∀μt ∈ th (e ) , ∀e ∈ Eho , (43a)
e
Jε H · n + ε q − q̂ K, λ e = 0, λ ∈ h (e ) , ∀e ∈ Eho , (43b)
Similar to Section 3.4, one can control the mismatches Et − Êt and q − q̂ by introducing two penalty parameters τ t and
τ n to form a penalized family of HDG fluxes as
⎡ ⎤
−n × H + τ t Et − Êt
⎢ ⎥
F̂ · n = ⎣ n × Êt + εq̂n ⎦ . (44)
εH · n + τ n ε q − q̂
The conservation algebraic constraints in this case read
J−n × H + τ t Et − Êt K, μt = 0, ∀μt ∈ th (e ) , ∀e ∈ Eho , (45a)
e
Jε H · n + τ n ε q − q̂ K, λ e = 0, ∀e ∈ Eho , ∀λ ∈ h . (45b)
In the second HDG method, we define the HDG flux based on (40), i.e.,
⎡ ⎤
−n × Ĥt
⎢ ⎥
F̂ · n = ⎣ n × E + Ht − Ĥt + εq̂n ⎦ . (47)
εH · n + ε q − q̂
As can be seen, this HDG flux (47) is the same as that in [22] with unity stabilization parameters. On the one hand,
unlike [22], our upwind HDG flux is constructed by hybridizing the Godunov flux, and hence (stabilization) parameter-free.
On the other hand, one can view our approach as a constructive way to devise the family of parameter-dependent HDG
126 T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146
fluxes in [22]. In particular, introducing two parameters τ t and τ n to penalize the deviation of Ĥt and q̂ from Ht and q,
respectively, gives
⎡ ⎤
−n × Ĥt
⎢ ⎥
F̂ · n = ⎣ n × E + τ t Ht − Ĥt + εq̂n ⎦ . (48)
εH · n + τ n ε q − q̂
Clearly, when τ t = τ n = 1 the upwind HDG flux (47) is recovered.
It is obvious that the first three components of the HDG flux
(48) automatically satisfy the conservation constraint (16b).
For the next three components, note that n × E + τ t Ht − Ĥt is a vector in the tangent plane while εq̂n is a vector along
the normal vector. The latter automatically satisfies the conservation condition. Thus, (16b) when applied to the HDG flux
(48) reduces to the following algebraic constraints
Jn × E + τ t Ht − Ĥt K, μt = 0, ∀μt ∈ th (e ) , ∀e ∈ Eho , (49a)
e
Jε H · n + τ n ε q − q̂ K, μ e = 0, ∀e ∈ Eho , ∀μ ∈ h . (49b)
The second HDG scheme consists of the local solver (46), the global solver (49), and the HDG flux (48).
Remark 4.2. Given the understanding on the nature of HDG schemes established in this paper, one can introduce a new
HDG scheme based on the HDG flux (40) by defining
εq̂˜ sgn (n) := εH · n + τ n ε q − q̂ ,
which transforms the HDG flux (40) into
⎡ ⎤
−n × Ĥt
⎢ ⎥
F̂ · n = ⎣ n × E + τ t Ht − Ĥt + ε (H · n) n + τ n ε q − q̂˜ sgn (n) n ⎦ . (50)
εq̂˜ sgn (n)
For this HDG flux, the first three and the seventh conservation conditions are automatically satisfied. We are left with three
algebraic constraints, i.e. ∀μ ∈ h (e ) , e ∈ Eho ,
Jn × E + τ t Ht − Ĥt + ε (H · n) n + τ n ε q − q̂˜ sgn (n) nK, μ = 0. (51)
e
By construction, the HDG fluxes (40) and (50) are equivalent. The number of algebraic constraints in (49) is also the same
as that in (51) since the tangent trace space th has two components while it is three for h .
Parallel to Lemma 3.4 and Corollary 3.5, the following results hold the proposed HDG families.
i) The tangent component of the trace solutions Ĥt and Êt of the two proposed HDG schemes coincides with that of the upwind states
in Proposition 4.1. Furthermore, the HDG fluxes are identical to the Godunov upwind flux (38).
ii) The two proposed HDG schemes are equivalent to the standard upwind DG scheme.
Proof. The proofs of these assertions are similar to those of Lemma 3.4 and Corollary 3.5, so we leave out the details. 2
4.3. Analysis
For simplicity in the exposition we will analyze our HDG scheme for the fully upwind case, i.e. τ t = τ n = 1. For the
general case with τ t , τ n > 0, all the proofs will go through except that some terms will carry τ t and τ n . Since our second
HDG scheme is the same as that proposed in [22], its analysis is ignored and the readers are referred to [22]. Thus, the
analysis of our first HDG scheme, a new HDG scheme for time harmonic Maxwell equation, is the main focus of this
section. By construction, it is automatically locally conservative and consistent since it is equivalent to the upwind DG
method (Lemma 4.3).
In order to study the well-posedness of the local solver (solving for E, H, q as a function of Ê and q̂) and global solver
(solving for Ê and q̂ on the mesh skeleton), we need to supply boundary conditions. For simplicity, perfect electric conduc-
tion (PEC) boundary condition is considered, i.e.,
n × E = 0, and q = 0 on ∂,
T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146 127
Similar to [22] we also assume that εω2 is not an eigenvalue for an eigenvalue problem defined by local solver (52) or
by our HDG scheme with f = 0. This assumption is implicitly understood from now on. We are now in the position to study
the well-posedness of the proposed upwind HDG method.
Theorem 4.4. Suppose ε , ν > 0. There is a unique solution Êt , q̂ for the local solver and a unique solution (E, H, q) for the global
solver.
Proof. First, we exploit the finite dimensionality and linearity of the square system determining Êt and q̂. Proving the
well-posedness of global solver is equivalent to show that Êt = 0 and q̂ = 0 on Eho are the only solution if f = 0. We proceed
by taking e = E, h = H and v = q in the local solver (52). Next, integrating by parts the second term in (52a) and the first
term in (52c), and adding the resulting equations, all together, we obtain
E2h , v + Et − 1∂ K \∂ Êt , Et + 1∂ K \∂ n × Êt , H
∂K ∂K
K
+ 1∂ K \∂ εq̂n, H ∂ K + ε q − 1∂ K \∂ q̂ , q ∂ K = Hh ,εω2 . (53)
K
On the other hand, taking μt = Êt and λ = q̂ in (43) and then adding the resulting equations lead to
−1∂ K \∂ n × H, Êt + 1∂ K \∂ Et − Êt , Êt
∂K ∂K
K
+ 1∂ K \∂ ε H · n, q̂ ∂ K + 1∂ K \∂ ε q − q̂ , q̂ ∂ K = 0. (54)
K
Since εω is not an eigenvalue of the eigenvalue problem defined by the HDG scheme with f = 0, H must vanish. As a result,
2
from (55), we infer that E = 0 on h , Êt = Et = 0 on Eho , q̂ = q on Eho , and q = 0 on ∂. It follows that q is continuous and
has zero trace on ∂.
Now taking v = q in (52c), using the fact that H = 0, q̂ = q on Eho , and q = 0 on ∂, and then summing the resulting
equations all together we have
(ε H, ∇ q)h = 0, ∀H ∈ Vh (h ) ,
which implies that q is piecewise constant. However, q is continuous and vanishes on ∂. This can only be true if q is
identically zero. Consequently, q̂ = 0 on Eho as well. 2
We have explicitly imposed the divergent free condition for the magnetic field in (37c), and hence it is necessary to
introduce the Lagrange multiplier q in (37b) [22]. Though this formulation is more stable, especially when ω is small, we
have one extra PDE with one extra unknown. If this is not desirable one can study the vector wave equation directly, i.e.,
ν E − ∇ × H = 0 in , (56a)
2
∇ × E − εω H = f in , (56b)
which is a simplified version of (37). Indeed, one can show that the Godunov flux in this case reads
128 T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146
! "
∗ −n × H + n × n × (E∗ − E)
F ·n= ,
n × E + n × n × (H∗ − H)
which is, as expected, a simplified version of (38) by removing the last component and all the terms associated with the
normal direction. This observation immediately gives us two HDG fluxes without further effort, i.e.,
# $
−n × H + τ t Et − Êt
F̂ · n = , (57a)
n × Ê
and
# $
−n ×
Ĥ .
F̂ · n = (57b)
n × E + τ t Ht − Ĥ t
We can construct two HDG schemes corresponding to these two HDG fluxes, the former of which is a new HDG scheme
for vector wave equation (56) while the latter coincides with that proposed in [22]. Clearly, the analysis for time harmonic
Maxwell equation in previous sections still holds by removing appropriate terms, and for that reason we leave out the
unnecessary details here.
Let us consider the Stokes equation in the following first order velocity-pressure-gradient form (see, e.g, [17,15,18]):
ν −1 L − ∇ u = 0, in (58a)
−∇ · L + ∇ q = f, in (58b)
∇ · u = 0, in , (58c)
%
q d = 0. (58d)
Though we leave out the detailed derivations here, one can show that, as a system of first order linear PDEs, (58) is of
hyperbolic type since the corresponding matrix A has real eigenvalues and independent eigenvectors. Indeed, the upwind
Godunov flux in this case reads
⎡ ⎤
−n ⊗ u +
F̂ · n = ⎣ −L · n + qn + γ ⎦ (59)
u·n+α
where we have defined
√
2−2
√
∗
∗
2
:= n ⊗ L − L · n + n· L−L ·n n⊗n− n ⊗ n q − q∗ ,
2 2
√
γ := 2 u − u∗ · n n − n × n × u − u∗ ,
√ √
2 2
α := − n · L − L∗ · n + q − q∗ ,
2 2
with (u∗ , L∗ , q∗ ) as the upwind state. By inspection, the following results are straightforward.
As for other PDEs discussed in this paper, we start the construction of HDG method by using (61) to define the HDG
flux, i.e.,
⎡ ⎤
√ −n ⊗ û
F̂ · n = ⎣ −L · n + qn + 2 u − û · n n − n × n × u − û ⎦ , (62)
û · n
with û as the trace unknown that needs to be solved for.
Unlike the other PDEs for which we have started defining first the conservation condition and then the local solver, for
Stokes case it is useful to discuss the local solver first as we will see. The reason is that additional condition has to be
introduced to make the HDG method for Stokes equation well-defined, and this is best motivated through the local solver.
To that end, taking v = (G, v, r ) as the test function, the local equation (16a) when applied to (58) becomes: find (L, u, q)
such that
(ν L, G) K + (u, ∇ · G) K − 1∂ K \∂ n ⊗ û, G ∂ K = 0, (63a)
(L, ∇ v) K − (q, ∇ · v) K + −L · n + qn, v∂ K
√
+ 2 u − 1∂ K \∂ û · n n − n × n × u − 1∂ K \∂ û , v = (f, v) K , (63b)
∂ K
− (u, ∇ r ) + 1∂ K \∂ û · n, r ∂ K = 0, (63c)
where we have imposed the homogeneous Dirichlet boundary condition, u = 0 on ∂, through the trace unknown û. Next,
we use the energy method to study the well-posedness of the local solver. Since it is linear and finite dimensional, it is
sufficient to show that L = 0, u = 0 and q = 0 are the only solution if f = 0 and û = 0. To begin, taking G = L, v = u and
r = q in (63), integrating by parts the second term of (63a) and (63b), and then adding the resulting equations of (63) all
together yield
Lemma 5.2. Suppose ν > 0. Given û and ρ , there exists a unique solution (L, u, q) for the local solver (63)–(64).
Proof. It is enough to show that û = 0 and ρ = 0 implies L = 0, u = 0 and q = 0. Using the above motivation for the
augmented local solver (63)–(64) we need to only show q = 0, but it is clear since q is constant and have zero average on
∂ K according to (64). 2
We next construct the global system of equations on the mesh skeleton to solve for û and ρ . To this end, it is important
to realize that the well-posedness of the augmented local solver (63)–(64) comes at an expense of introducing a new
unknown ρ constant on each element boundary in addition to û. Since the HDG flux components corresponding to (58a)
and (58c) automatically satisfy the conservation constraint (16b), we are left with three algebraic constraints for the trace
unknown û, i.e., ∀μ ∈ h (e ) , ∀e ∈ Eho ,
√
J−L · n + qn + 2 u − û · n n − n × n × u − û K, μ = 0. (65)
e
We still need one extra equation for ρ . To seek this equation we note that if we take r as a constant function so that
r |∂ K = r |∂ K ∈ h (∂ K ), then (63c) reduces to
130 T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146
1∂ K \∂ û · n, r ∂ K = 0,
which implies
1∂ K \∂ û · n, ξ ∂ K = 0, ∀ξ ∈ h (∂ K ) , (66)
since the trace operator from the space of constant functions on K to h (∂ K ) is surjective. Since û is viewed as one of the
inputs (the forcing) for the local solver, (66) is the compatibility condition for û and this is exactly the extra equation we
are looking for. Thus, not only the usual conservation condition (65) but also the compatibility condition (66) constitutes
the HDG global solver whose well-posedness is now discussed.
Theorem 5.3. Assume ν > 0. The HDGscheme consists of the local solver (63)–(64), the global solver (65)–(66), and the HDG flux
(59) has a unique solution L, u, q, û, ρ .
Proof. We again employ the energy method as in previous sections. The task at hand is to show that f = 0 implies L = 0,
u = 0, q = 0, û = 0 and ρ = 0. Integrating by parts the second term of (63a) and (63b), adding the resulting equations of
(63) all together, then summing over all elements give
√
L2h ,ν − 1∂ K \∂ n ⊗ û, L ∂ K − 2 u − 1∂ K \∂ û · n , u · n
∂K
K
− n × n × u − 1∂ K \∂ û , u ∂ K − 1∂ K \∂ û · n, q ∂ K = 0. (67)
K
On the other hand, taking μ = û in (65) and subtracting the resulting equation from (67) we arrive at
L2h ,ν + u − 1∂ K \∂ û · n2 √ + n × n × u − 1∂ K \∂ û 2 = 0,
∂K, 2 ∂K
K K
which shows that L must vanish, i.e. L = 0, on K . It also implies that u · n = 1∂ K \∂ û · n and n × n × u = 1∂ K \∂ n × n × û
on ∂ K . Thus, u = 1∂ K \∂ û on ∂ K . In other words, L = 0 on h , u = û on Eho , and u = 0 on Eh∂ . Since û is single-valued on
Eho , u must be continuous across h .
Now integrating the second term of (63a) by parts we obtain
(∇ u, G)h = 0, ∀G ∈ Vh (h ) ,
and hence u must be a constant. But u is continuous and vanishes on Eh∂ , it must vanish over h . As a result, û = 0 on Eho .
Next, integrating the second term of (63b) by parts and using the results L = 0 and u = 0 we obtain
(∇ q, v) K = 0, ∀v ∈ Vh ( K ),
which shows that q must be piecewise constant. On the other hand, if v is taken as a constant vector, it is clear from (63b)
that q = 0. Thus, q = 0 on K . It follows that ρ also vanishes on ∂h due to (64) and this ends the proof. 2
Remark 5.4. As can be observed, though (64) is introduced to enforce the uniqueness of q locally on each element, and
hence the local solver, it automatically enforces the uniqueness of q globally. This is the reason why we do not need to
explicitly enforce (58d) in our HDG scheme.
Though there are other HDG schemes such as those in [16], let us discuss only the similarity and difference between
ours and that proposed in [17,15] since they are related.
√ Indeed,
let
us derive the HDG family in [17,15] from ours. To that
end, we first simplify our HDG flux (62) by removing 2 u − û · n n. Next, let us introduce a stabilization matrix T to
penalize the deviation of the tangent velocity n × n × u − û so that the HDG flux (62) now becomes
⎡ ⎤
−n ⊗ û
F̂ · n = ⎣ −L · n + qn − T n × n × u − û ⎦ .
û · n
This is exactly the penalized HDG flux proposed in [17,15] for the velocity-pressure-gradient form of the √
Stokes
flow.
Clearly,
by taking T as the identity we obtain a simplified version of our upwind HDG flux (62) in which 2 u − û · n n is
omitted.
Remark 5.5. We note that there are other forms of the Stokes equations, see [15] for example. Following our HDG construc-
tion, we can similarly derive HDG methods for these forms as well. Since not much more benefit can be gained, we omit
the details.
T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146 131
We have used our unified HDG framework to constructively derive HDG schemes/families for three special PDEs in Sec-
tions 3, 4, and 5. Our intention has been to show that by employing our single abstract framework, namely hybridizing the
upwind Godunov flux, one could derive different classes of HDG methods by exploiting the special structure of the underly-
ing PDEs. This is then followed by the well-posedness analysis. Though there are differences in the detailed manipulations,
the construction and analysis are similar for all PDEs that we have considered. A natural question is whether we can unify
not only the construction, as we have done, but also the analysis for a large family of PDEs. The answer to this question is
inspired by our previous work on a unified discontinuous Petrov–Galerkin framework for Friedrichs’ systems [33].
It is the purpose of this section that we generalize the analysis of our proposed upwind HDG framework to a large class
of linear differential operators of Friedrichs’ type. We are interested in Friedrichs’ systems since they embrace a large class
of elliptic, parabolic, hyperbolic, and mixed-type PDEs. We start with the standard assumptions (see, e.g., [39,30,29]):
C ∈ L ∞ ()
m,m
, (68a)
d
Ak ∈ L ∞ () ∂k Ak ∈ L ∞ ()
m,m m,m
, k = 1, . . . , d , and , (68b)
k =1
where α0 > 0 is some coercivity constant. In this paper, we restrict our analysis to the boundary condition defined by
(A − |A|) u = 0 on ∂, (68e)
and we assume that
N (A − |A|) + N (A + |A|) = Rm , (68f)
with N denoting the nullspace of its argument.
With the simple setting given by (68), one can show that the abstract PDE (1) is well-posed, i.e., the exact solution5 ue
exists and it is unique [40]. The well-posedness for more general settings with other boundary conditions can be found in
[41–44].
The abstract HDG framework in Section 2 is still applicable for the Friedrichs’ setting. In particular, the upwind HDG
method for PDEs of Friedrichs’ type consists of the local solver (16a), the conservation condition (16b) and the HDG flux
(15). In particular: find u ∈ Vh ( K ) and û ∈ h (Eh ) such that for all v ∈ Vh ( K ) we have
d
− (Ak u, ∂k v) K + (Cu, v) K + Au + |A| u − û , v ∂ K = (f, v) K , (69)
k =1
and
JAu + |A| u − û K, μ e = 0, ∀μ ∈ h (e ) , e ∈ Eho . (70)
We next describe how to enforce the boundary condition (68e) in our abstract HDG setting. In previous sections, we have
first reduced the number of trace unknowns by exploiting exact relationships of the upwind states and the structure of the
PDE under consideration, and then enforced the boundary condition directly on the reduced trace unknowns. However, for
the abstract HDG flux (15), it is not clear how to do so and we have to resort to the full trace unknown û. In particular, we
still enforce the boundary condition (68e) through the trace unknown, i.e.,
In other words, the HDG flux must be the same as the flux determined by the trace û on the boundary ∂. We can rewrite
(72) as
5
The exact solution ue belongs to a subset of the graph space that satisfies the boundary condition (68e).
132 T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146
(A + |A|) u − û , μ e = 0, ∀μ ∈ h (e ) , e ∈ Eh∂ ,
which is equivalent to
(A + |A|) u − û = 0 on Eh∂ , (73)
or
T
R+ u − û = 0 on Eh∂ .
That is, the outflow components of û must be the same as those of u on the boundary.
We first analyze the local solver.
Proof. Since the local solver is linear and u belongs to finite dimensional space Vh ( K ), it is sufficient to prove that f = 0
and û = 0 implies u = 0. To begin, taking v = u in (69) and integrating the first term by parts we obtain
*# $ +
1
d
1
C + CT + ∂k Ak u, u + A + |A| u, u =0
2 2 ∂K
k =1 K
1
which yields u = 0 in K since the left hand side is non-negative owing to the coercivity condition (68d), and 2
A +
|A| ≥ 0. 2
Theorem 6.2. Suppose N (A) = {0}. There exists a unique trace solution û for the HDG method defined by the local solver (69), the
global solver (70), and the boundary conditions (71) and (73).
Proof. Due to the finiteness and linearity of the global system, it is sufficient to prove that û = 0 is the only solution if
f = 0. To that end, we again employ the energy approach by taking v = u in (69), integrating the first term by parts, and
summing over all elements to arrive at
*# $ +
1
d 1
T
C+C + ∂k Ak u, u + Au + |A| u − û , u = 0. (74)
2 2 ∂K
k =1 h K
On the other hand, taking μ = û in (70), summing over all e ∈ Eho , and then subtracting the resulting equation from (74) we
obtain
*# $ +
1
d 1
T
C+C + ∂k Ak u, u + Au + A u − û , u
2 2 e
k =1 h e ∈Eh∂
1
+ Au, u + |A| u − û , u − û e + A û − u , û e = 0. (75)
2 e
K e ∈∂ K ∩E o
h
For boundary faces, i.e. e ∈ ∂ K ∩ Eh∂ , using (71) and (73) one can show that
1 1
Au + A u − û , u = |A| u, ue , ∀e ∈ Eh∂ .
2 e 2
T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146 133
whose left hand side is non-negative due to the coercivity condition (68d), |A| ≥ 0, and |A| + 12 A ≥ 0. Consequently, we
conclude that u = 0 on h and |A| û, û e = 0 for all e ∈ Eh∂ . Since N (A) = {0}, we conclude that û = 0. 2
Remark 6.3. Note that N (A) = {0}, a sufficient condition, implies condition (68f), and therefore the exact solution ue
is a priori unique. Thus, it is (not surprisingly) the key to ensure the uniqueness of û though it is not needed for the
uniqueness of u. It should be also pointed out that we have analyzed our upwind HDG framework for Friedrichs’ systems
with full coercivity condition (68d). The analysis for multifield systems with partial coercivity [32] is more delicate and we
leave the details for future work.
Following the previous sections one can define a penalized HDG flux as
F∗ · n = Au + T u − û ,
where T is some positive definite stabilization matrix. Clearly, when T = |A|, we recover our upwind HDG scheme.
Remark 6.4. The aim of this section is to show that an abstract upwind HDG framework and its analysis are possible for a
large class of PDEs. In practice one typically deals with a concrete PDE, and in that case we suggest to follow our systematic
construction of HDG schemes in Sections 3–5 to exploit the structure of the problem. This most likely minimizes the number
of trace unknowns, and hence yielding HDG methods with least number of trace unknowns.
Perhaps the most popular numerical flux is that of Godunov with exact Riemann solutions, and we have used it to
motivate a constructive derivation of the upwind HDG framework. At the heart of our construction is the exploration of
various identities satisfied by the upwind states to devise HDG methods with least number of trace unknowns. A question
that immediately arises is whether we can construct HDG method for other existing numerical fluxes, for example, those
documented in [35,45].
In this section, we restrict our derivation of HDG method for the Lax–Friedrichs (LF) numerical flux whose standard form
is given by
1 1
F∗ · n = F u− + F u+ · n− + max |θi | u− − u+ . (76)
2 2 i
Clearly, for scalar problem, i.e. m = 1, LF flux is identical to the Godunov one. This suggests we hybridize the former in a
similar manner as we have done for the latter. A natural idea is to consider the following hybridized version of the LF flux
F∗ · n = Au + max |θi | u − u∗ . (77)
i
Clearly, the hybridized LF flux (77) coincides with the upwind HDG flux for scalar problem. Moreover, it is equivalent to the
original LF flux (76).
Let us now apply the hybridized LF flux (77) to the convection–diffusion–reaction PDE and compare it with the hy-
bridized Godunov counterpart. (The construction for the Maxwell and Stokes equations is similar, and hence omitted.) For
this case, it is easy to see that
|β · n| + |β · n|2 + 4
θ max := max |θi | = ,
i 2
and (77) becomes
! "
un + θ max (σ − σ ∗ )
F∗ · n = . (78)
β · ν + σ · n + θ max (u − u ∗ )
Here, u ∗ , σ ∗ are no longer the exact upwind states. Indeed, conservation equation (13) allows us to obtain the following
identities
θ max 1
θ max σ ∗ − σ = − Jσ K + JunK,
2 2
max
∗ β · n − θ max 1
θ u −u = Ju K + Jσ · nK.
2 2
134 T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146
As can be seen, unlike the hybridized Godunov flux, it is not clear how to eliminate σ ∗ − σ in terms of u ∗ − u and vice
versa. Thus, the hybridized LF flux (78), though being much simpler than the Godunov counterpart (18), yields more trace
unknowns, and hence more expensive. Nevertheless, for nonlinear PDEs, it may be a better choice since we, in general,
cannot reduce the number of trace unknowns for the Godunov flux either.
In this section, we will construct a variant of our HDG framework that can be used to recover many existing HDG
methods. To that end, notice that we can write
Au + |A| u − û = Aû + (A + |A|) u − û .
which becomes the upwind HDG flux when T = (A + |A|). Clearly, we can revisit all examples in this paper with this HDG
flux form to derive variants of HDG schemes for various type of PDEs. For example, we can rewrite the HDG flux (22) for
the convection–diffusion–reaction PDE as
⎡ ⎤
ûn1
⎢ ûn2 ⎥
F̂ · n = ⎢
⎣
⎥,
⎦
ûn3
β · nû + σ · n + 12 (α + β · n) u − û
and deduce its penalized family as follows
⎡ ⎤
ûn1
⎢ ûn2 ⎥
F̂ · n = ⎢
⎣
⎥.
⎦ (79)
ûn3
β · nû + σ · n + τ u − û
A careful look at (79) shows that we have rediscovered the HDG family proposed in [11]. One can follow the same exercise
to derive families of HDG methods of this type for other PDEs in a straightforward manner, so let us skip the details here.
In this section we present an extension of our HDG framework for linear PDEs with discontinuous material, that is, Ak ’s
are possibly discontinuous across e ∈ Eho . In this case, the Godunov flux still has exactly the same form as (11) or (12), but
A is computed using information from the appropriate element under consideration. For example,
, ,
F∗ · n− = F u− · n− + ,A− , u− − u∗ . (80)
One can then go through all the steps presented in this paper to derive the corresponding HDG family for each PDE of
interest since the idea remains the same. For example, one first seeks various relations between components of the upwind
state u∗ to eliminate their dependencies. One then defines the HDG flux based on the final form (e.g. with least number of
trace unknowns) of the Godunov flux. Together with the local solver (16a) and conservation constraint (16b), one obtains
desirable HDG schemes. However, the arithmetic is more involved since we need to distinguish materials between neighbor
elements. We omit the details here to avoid unnecessarily lengthy paper.
It is important to realize that most of the theory for Friedrichs also holds for this case. In particular, the well-posedness
of the local solver remains true, and the global solver is well-posed if we additionally assume that A− + A+ ≤ 0 on e ∈ Eho .
At this point, this assumption is merely mathematically convenient since using it allows us to conclude
1
− Aû, û ≥ 0, (81)
2 ∂ K ∩Eho
K
and hence the proof of Theorem 6.2 goes through. Whether this assumption is practical is out of the scope of the paper.
Clearly, one may find a proof that does not require (81) and in that case the assumption A− + A+ ≤ 0 can be completely
discarded.
One can similarly define a penalized family of HDG fluxes with double-valued stabilization matrix T , e.g.,
F̂ · n− = F u− · n− + T − u− − û .
HDG methods with double-valued stabilization parameters can be found, for example, in [16,11].
T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146 135
In this section we extrapolate our upwind HDG schemes to nonlinear PDEs. Specifically, we define HDG flux for nonlinear
PDEs as
F̂ · n = F (u) · n + |A| u − û ,
where A is now a function of u given by
d
A := ∂k Fk (u) nk .
k =1
Alternatively, one can define HDG flux following the spirit of Roe flux [46], i.e.,
, ,
F̂ · n = F (u) · n + ,A û , u − û , (82)
in which A û is computed using the trace unknown û, i.e.,
d
A û = ∂k Fk û nk . (83)
k =1
On the other hand, based on (77) and (82), we can define a hybridized LF flux as
, ,
F̂ · n = F (u) · n + max ,θi A û , u − û , (84)
i
where we denote by θi A û the ith eigenvalue of A û .
Finally, HDG fluxes can be extrapolated from results in Section 8, i.e.,
, ,
F̂ · n = F û · n + max ,θi A û , u − û , (85)
i
or
, ,
F̂ · n = F û · n + ,A û , u − û ,
and these are exactly those proposed in [20,47] for compressible Euler and Navier–Stokes equations.
We start this section by pointing out that there are vast existing numerical results for HDG methods on Laplace/Poisson
equation [10], convection–diffusion equation [11–14], Stokes equation [15–17], Euler and Navier–Stokes equations [19–21],
Maxwell equation [22–24], acoustics and elastodynamics [25], Helmholtz equation [26,27], eigenvalue problem [28], etc.
Instead of reproducing these results, let us present numerical results comparing our upwind HDG framework with some
existing HDG schemes on transport equation, convection–diffusion equation, compressible Euler equation, and shallow water
equation.
In this section, we apply our upwind HDG method to convection equation of the form
∇ · (β u ) + ν u = f , in ,
and compare its solutions with those of the upwind DG scheme. As a numerical demonstration, we take an example from
[48] in which = (0, 2) × (0, 1), β = (1 + sin (π y /2) , 2), ν = 0, f = 0, and the inflow boundary condition
-
1 x = 0, 0 ≤ y ≤ 1
g= sin6 (π x) 0 < x ≤ 1, y = 0
0 1 ≤ x ≤ 2 , y = 0.
This problem admits an exact solution using the method of characteristics.
Fig. 1(a) shows the mesh that we use for both HDG and DG schemes. To verify the theoretical result in Corollary 3.5, we
compute the L 2 -norm of the difference between the HDG trace solution û and the upwind state u ∗ , and of the difference
between the HDG solution u HDG and the DG solution u DG . Table 1 shows these differences for various solution orders
p = {1, 2, 3, 4, 5}. As can be seen, the differences are (machine) zeros for all solution orders as predicted by the theory.
We also show the HDG solution u with p = 3 in Fig. 1(b) and its convergence to the exact solution at the outflow
boundary y = 1 in Fig. 1(c). As expected, as the solution order increases the HDG solution is more accurate in the smooth
regions, but oscillates in regions with high gradient since we do not employ any limiter or artificial diffusion.
136 T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146
Fig. 1. Transport problem: the mesh with = 0.2 is in (a), the HDG solution u with solution order p = 3 in (b), HDG solution u restricted on the outflow
boundary y = 1 in (c), and the savings in time and number of coupled of unknowns of HDG relative to DG in (d).
Table 1
Transport equation: û − u ∗ L 2 E o and u HDG − u DG L 2 () for various solution orders p = {1, 2, 3, 4, 5}.
h
p 1 2 3 4 5
û − u ∗ 5.7 × 10−15 1.6 × 10−14 3.4 × 10−14 4.1 × 10−14 4.8 × 10−14
L 2 Eho
u HDG − u DG L 2 () 8.5 × 10−16 3.1 × 10−15 9.2 × 10−15 1.1 × 10−14 3.1 × 10−14
Recall that we have constructed HDG method by hybridizing the DG method (in fact the Godunov flux). This procedure
could be understood as a redesign of the DG method. The beauty of this redesign is that the number of coupled unknowns
is substantially reduced and the usual DG unknowns can be computed element-by-element independent of each other.
It is therefore useful to compare the number of coupled unknowns and the execution time for both methods. We do so
for the above two dimensional transport equation on triangular meshes. The result is shown in Fig. 1(d) which plots the
ratios of DG/HDG coupled unknowns and DG/HDG execution time. As can be seen, as the solution order increases these
ratios increase as well. For the mesh (h = 0.2) in Fig. 1(a) and its one level of refinement (h = 0.1), we gain (almost)
an order of magnitude in solution time and in number of coupled unknowns for p = 15; also the finer the mesh is, the
more savings the HDG method provides. Note that, we have computed solution u in our HDG scheme in a serial manner,
element-after-element. The time gain would be even more if we did it in parallel. These gains are expected to be more
substantial for three dimensional problems.
In this section we compare our upwind HDG scheme against both upwind and centered trace HDG methods proposed in
[11, Section 3.6.3] for convection–diffusion equation, i.e. (17) with ν = 0. We take β = (1, 2) and = [0, 1]2 . The right hand
side f is chosen so that the exact solution is given by
u e = exp (x + y ) sin (π x) sin (π y ) ,
and Dirichlet boundary condition on ∂ is imposed using the exact solution. In Fig. 2(a) we show a plot of ∇ · β inside
elements and β on element boundaries with h = 0.2, accompanied by third order (p = 3) upwind HDG solution u in
Fig. 2(b), σ x in Fig. 2(c), and σ y in Fig. 2(d).
What we are interested in this example is the behavior of the aforementioned HDG methods for varying diffusion
coefficients ε as the mesh is refined. Let us first study the convergence rate as ε decreases. In Figs. 3(a), 3(c), and 3(e) we
present the observed convergence order with p = 3 as the diffusion coefficient ε changes. As can be seen, the convergence
for both u and û is optimal, with rate 4 and 3.5, respectively, for all methods when ε > 10−2 . When the equation is in
convection-dominated regime, the behavior of these methods is different. In particular, both upwind trace and centered
T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146 137
Fig. 2. Solution of the upwind HDG method for convection diffusion problem: (a) is a plot of ∇ · β inside elements and β on element boundaries with
h = 0.2, (b) is u with p = 3, (c) is σ x with p = 3, and (d) is σ y with p = 3.
trace HDG methods are unstable for ε < 10−2 , while it is for the upwind HDG. This behavior is expected for the upwind
HDG since it is equivalent to the standard upwind DG by construction.
To gain some understanding on why the unstability may happen for the others let us recall that the stabilization for the
upwind trace HDG scheme is given by
|β · n| + β · n 1 + sgn (β · n)
τ = (ε + |β · n|) = (ε + |β · n|)
2 |β · n| 2
and
τ = (ε + |β · n|)
for the centered trace HDG scheme. In Fig. 2(a), for edge e with β · n 0 (negative but machine zero), then τ ≈ 0. On the
other hand, though ∇ · β is identically zero analytically, it is not in our nodal implementation [49], but in fact machine zero
with positive and negative signs, as shown in Fig. 2(a). Now recall from [11, Lemma 3.1 and Theorem 3.1] that a sufficient
condition for the well-posedness is that ∇ · β ≥ 0 and τ > 12 β · n. It follows that the well-posedness is not guaranteed in
our implementation of the upwind and centered trace HDG methods. Nevertheless, when ε is sufficiently large, it does not
seem to be a problem.
Next, let us examine the dependence of L 2 -errors on ε , especially when ε is large. As an example, we take p = 3 and
h = 0.05 (two levels of refinement of the mesh in Fig. 2(a)). In Figs. 3(b), 3(d), and 3(f) are the L 2 -errors for u and û of the
three methods as ε increases. As can be observed, the error in the trace unknown û for all methods is robust in ε , i.e., it is
independent of ε , and so is the error in u for the upwind and centered trace HDG methods. The error in u for the upwind
HDG increases though maintaining the optimal convergence order.
In summary, our numerical results seem to suggest that either upwind or centered trace HDG method is preferred if
the robustness with large ε (diffusion-dominated) is of importance. On the other hand, if stability for a wide range of ε is
desired, the upwind HDG is likely to be a better choice.
The purpose of this section is to compare our proposed HDG flux (84) and Nguyen et al. flux (85) for nonlinear PDEs. To
that end, we next consider the unsteady Euler equation in the conservative form
∂u
+ ∇ · F (u) = f, (86)
∂t
138 T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146
Fig. 3. Convection–diffusion equation: (a) and (b) are the convergence order and L 2 -errors for the upwind HDG method with p = 3, for the upwind trace
HDG method in (c) and (d), and for the centered trace HDG method in (e) and (f).
where the conservative state u, and the x- and y-components of the flux F are given by
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
ρ ρu ρv
⎢ ρu ⎥ ⎢ ρ u2 + P ⎥ ⎢ ρ uv ⎥
⎢
u := ⎣ ⎥ ⎢
, Fx := ⎣ ⎥ ⎢
, F y := ⎣ ⎥.
ρv ⎦ ρ uv ⎦ ρ v2 + P ⎦
E u (E + P ) v (E + P )
P 1
E= + (ρ u )2 + (ρ v )2 ,
γ −1 2ρ
T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146 139
Fig. 4. Compressible Euler equation: plotted are the HDG solutions for conservative variables (ρ , ρ u , ρ v , E ) with Crank–Nicholson temporal discretization
with time stepsize of 10−6 and 100 time steps.
Fig. 5. Compressible Euler equation: one-dimensional cuts along the x-axis to show the evolution of (ρ , ρ u , ρ v ) in time. Red-dash are HDG results and
solid-black are the exact ones. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)
Fig. 6. Compressible Euler equation: convergence rate for HDG methods with our HDG flux (84) and Nguyen et al. flux (85).
140 T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146
Fig. 7. Shallow water equation: convergence rate for HDG methods with our HDG flux (84) and Nguyen et al. flux (85).
with γ = 1.4 for monoatomic gas. Here, ρ is the density, u and v are the x- and y-components of velocity, and E denotes
the total energy. The domain under consideration is = [3.5, 5.5] × [−1, 1].
For numerical example, we choose the forcing function f so that the exact solution is the following vortex [49]
!
" 1
γ −1
(γ − 1) 1− R 2 2 ( y − y0)
ρ = 1− 2
β 2 e2 , u = 1 − β e 1− R ,
16γ π 2π
1− R 2 (x − x0 )
v = βe , P = ργ ,
2π
with R 2 = (x − t − x0 )2 + ( y − y 0 )2 , x0 = 0.5, y 0 = 0, and β = 5. For simplicity, the exact solution is used to enforce the
boundary condition.
Since the Euler equation is nonlinear, both the local solver (16a) and the conservative constraints are nonlinear too.
For time discretization, we use the simple Crank–Nicholson method and it is enough for our purpose of testing the HDG
spatial discretization. Similar to [12,47] we use Newton method to solve the resulting nonlinear algebraic equations. To
see the structure of the flow fields, in Fig. 4 we plot the conservative variables (ρ , ρ u , ρ v , E ) after 100 time steps with
stepsize 10−6 using our HDG method with (84). To compare the HDG solutions and the exact ones as the vortex moving
out of the domain, we also present the evolution of the flow fields on a one-dimensional cut along the x-axis in Fig. 5 at
t = {0.2, 0.6, 1.0, 1.4}; as can be seen the HDG and exact solutions are on top of each other. Note that the small step size is
T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146 141
deliberately chosen so that the error is dominated by the spatial discretization using HDG methods. Also, 100 time steps is
sufficient for convergence test that is discussed next.
In Fig. 6 are the convergence rates for HDG methods using fluxes (84) and (85) when the mesh is refined with h =
{0.125, 0.25, 0.5}. It can be seen that both methods give almost identical results. Moreover, the convergence is p + 1 for all
p = {2, 3, 4}, and hence optimal. We conclude that the two methods are numerically the same for problems with smooth
solutions.
It should be pointed out that our test case is by no means exclusive, but rather simple to demonstrate the convergence
rate and to compare with existing methods [19–21]. More extensive test cases such as those in [50,51] are left for future
work. Clearly, for cases with shocks our HDG method may need to be equipped with some kind of limiter or artificial
diffusion. Some successful attempts have been done in this direction and we refer the readers to the work in [19–21].
The last PDE considered in this paper is the shallow water equation written in the conservative form similar to (86), but
now the flux F and the forcing function f are given by
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
Hu Hv 0
Fx := ⎝ H u 2 + 12 g H 2 ⎠ , F y := ⎝ Huv ⎠ , and f := ⎝ − gb x ⎠ ,
Huv H v 2 + 12 g H 2 − gb y
142 T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146
Fig. 10. Evolution of the water depth H for non-flat bathymetry case.
Fig. 11. Evolution of depth average velocities u for non-flat bathymetry case.
Next we consider the case with non-flat bathymetry proposed in [54] with
b (x, y ) := 0.5 exp −10 (x − 0.75)2 − 10 ( y − 0.5)2 .
The initial condition, boundary conditions, and time stepping scheme are the same, but the gravity constant is now g =
9.812. We show the evolution of the water depth H after 600 time steps (t = 0.3) in Fig. 10, while the velocities u and v
are shown in Figs. 11 and 12, respectively. As can be seen, due to the bathymetry, the x- and y-components of the velocity
vector are completely different and very complex.
Again, the examples that we chose are by no means representative but rather simple to demonstrate the convergence
rate and to introduce the HDG method as a new numerical method to solve shallow water equations. Clearly, the simple
HDG method, a product of our unified framework, is not sufficient to tackle many issues posed by shallow water equations
including positivity-preservation, well-balancedness, etc. (see, e.g., [55–61]). Designing HDG methods to address these issues
constitutes one of our main future research directions.
12. Conclusions
We have presented a unified framework for the emerging hybridized discontinuous Galerkin (HDG) methods. At the heart
of our construction is the hybridization of the Godunov flux. In fact, we have shown that it is a natural recipe to construc-
tively and systematically establish a unified HDG framework for a large class of PDEs including those of Friedrichs’ type.
144 T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146
Fig. 12. Evolution of depth average velocities v for non-flat bathymetry case.
The unification is fourfold. First, it provides a single constructive procedure to devise HDG schemes for elliptic, parabolic,
hyperbolic, and mixed-type PDEs. The key that we exploit is the fact that, for many PDEs, irrespective of their type, the
first order form is a hyperbolic system. Second, it reveals the nature of the trace unknowns as the upwind states. Third, it
provides a parameter-free HDG framework, and hence eliminating the “usual complaint” that HDG is a parameter-dependent
method. Fourth, it allows us to construct many existing HDG methods in a natural manner. In particular, using the unified
framework we can rediscover most existing HDG methods and furthermore discover new ones.
We apply the proposed unified framework to three different PDEs: the convection–diffusion–reaction equation, the
Maxwell equation in frequency domain, and the Stokes equation. The goal is to present a step-by-step construction of
various HDG methods, including the most economic ones with least trace unknowns, by exploiting the particular structure
of the underlying PDEs. The well-posedness of the resulting HDG schemes, i.e. the existence and uniqueness of the HDG
solutions, is proved. The well-posedness results are also extended and proved for an abstract Friedrichs’ system. We also
discuss variants of the proposed unified framework and extend them to the popular Lax–Friedrichs flux and to nonlinear
PDEs. Numerical results for transport equation, convection–diffusion equation, compressible Euler equation, and shallow
water equation are presented to support the proposed unified HDG framework.
T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146 145
Acknowledgements
We are indebted to the anonymous referees for their critical and useful comments that improved the paper substantially.
This research is supported by Department of Energy grants DE-SC0010518 and DE-SC0011118, and we are grateful for the
support.
References
[1] W.H. Reed, T.R. Hill, Triangular mesh methods for the neutron transport equation, Tech. Rep. LA-UR-73-479, Los Alamos Scientific Laboratory, 1973.
[2] P. LeSaint, P.A. Raviart, On a finite element method for solving the neutron transport equation, in: C. de Boor (Ed.), Mathematical Aspects of Finite
Element Methods in Partial Differential Equations, Academic Press, 1974, pp. 89–145.
[3] C. Johnson, J. Pitkäranta, An analysis of the discontinuous Galerkin method for a scalar hyperbolic equation, Math. Comput. 46 (173) (1986) 1–26.
[4] B. Cockburn, G.E. Karniadakis, C.-W. Shu, Discontinuous Galerkin Methods: Theory, Computation and Applications, Lect. Notes Comput. Sci. Eng., vol. 11,
Springer Verlag, Berlin, Heidelberg, New York, 2000.
[5] A. Breuer, A. Heinecke, S. Rettenberger, M.B.A. Gabriel, C. Pelties, Sustained petascale performance of seismic simulations with SeisSol on SuperMUC,
in: Supercomputing, Springer, 2013, pp. 1–18.
[6] L.C. Wilcox, G. Stadler, C. Burstedde, O. Ghattas, A high-order discontinuous Galerkin method for wave propagation through coupled elastic–acoustic
media, J. Comput. Phys. 229 (24) (2010) 9373–9396.
[7] T. Bui-Thanh, C. Burstedde, O. Ghattas, J. Martin, G. Stadler, L.C. Wilcox, Extreme-scale UQ for Bayesian inverse problems governed by PDEs, in: SC12:
Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, 2012, Gordon Bell Prize finalist.
[8] B. Cockburn, J. Gopalakrishnan, R. Lazarov, Unified hybridization of discontinuous Galerkin, mixed, and continuous Galerkin methods for second order
elliptic problems, SIAM J. Numer. Anal. 47 (2009) 1319–1365.
[9] B. Cockburn, J. Gopalakrishnan, F.-J. Sayas, A projection-based error analysis of HDG methods, Math. Comput. 79 (271) (2010) 1351–1367.
[10] R.M. Kirby, S.J. Sherwin, B. Cockburn, To CG or to HDG: a comparative study, J. Sci. Comput. 51 (2012) 183–212.
[11] N.C. Nguyen, J. Peraire, B. Cockburn, An implicit high-order hybridizable discontinuous Galerkin method for linear convection–diffusion equations, J.
Comput. Phys. 228 (2009) 3232–3254.
[12] N.C. Nguyen, J. Peraire, B. Cockburn, An implicit high-order hybridizable discontinuous Galerkin method for nonlinear convection–diffusion equations,
J. Comput. Phys. 228 (2009) 8841–8855.
[13] B. Cockburn, B. Dong, J. Guzman, M. Restelli, R. Sacco, A hybridizable discontinuous Galerkin method for steady state convection–diffusion–reaction
problems, SIAM J. Sci. Comput. 31 (2009) 3827–3846.
[14] H. Egger, J. Schoberl, A hybrid mixed discontinuous Galerkin finite element method for convection–diffusion problems, IMA J. Numer. Anal. 30 (2010)
1206–1234.
[15] B. Cockburn, N.C. Nguyen, J. Peraire, A comparison of HDG methods for Stokes flow, J. Sci. Comput. 45 (2010) 215–237.
[16] B. Cockburn, J. Gopalakrishnan, The derivation of hybridizable discontinuous Galerkin methods for Stokes flow, SIAM J. Numer. Anal. 47 (2) (2009)
1092–1125.
[17] N.C. Nguyen, J. Peraire, B. Cockburn, A hybridizable discontinous Galerkin method for Stokes flow, Comput. Methods Appl. Mech. Eng. 199 (2010)
582–597.
[18] B. Cockburn, J. Gopalakrishnan, N. Nguyen, J. Peraire, F.-J. Sayas, Analysis of hdg methods for Stokes flow, Math. Comput. 80 (2011) 723–760.
[19] N.C. Nguyen, J. Peraire, B. Cockburn, An implicit high-order hybridizable discontinuous Galerkin method for the incompressible Navier–Stokes equations,
J. Comput. Phys. 230 (2011) 1147–1170.
[20] J. Peraire, N.C. Nguyen, B. Cockburn, A hybridizable discontinuous Galerkin for compressible Euler and Navier–Stokes equations, American Institute of
Aeronautics and Astronautics 2010-363.
[21] D. Moro, N.C. Nguyen, J. Peraire, Navier–Stokes solution using hybridizable discontinuous Galerkin methods, American Institute of Aeronautics and
Astronautics 2011-3407.
[22] N.C. Nguyen, J. Peraire, B. Cockburn, Hybridizable discontinuous Galerkin method for the time harmonic Maxwell’s equations, J. Comput. Phys. 230
(2011) 7151–7175.
[23] L. Li, S. Lanteri, R. Perrrussel, A hybridizable discontinuous Galerkin method for solving 3D time harmonic Maxwell’s equations, in: Numerical Mathe-
matics and Advanced Applications, 2011, Springer, 2013, pp. 119–128.
[24] L. Li, S. Lanteri, R. Perrrussel, A hybridizable discontinuous Galerkin method combined to a Schwarz algorithm for the solution of 3D time harmonic
Maxwell’s equations, J. Comput. Phys. 256 (2014) 563–581.
[25] N.C. Nguyen, J. Peraire, B. Cockburn, High-order implicit hybridizable discontinuous Galerkin method for acoustics and elastodynamics, J. Comput. Phys.
230 (2011) 3695–3718.
[26] R. Griesmaier, P. Monk, Error analysis for a hybridizable discontinous Galerkin method for the Helmholtz equation, J. Sci. Comput. 49 (2011) 291–310.
[27] J. Cui, W. Zhang, An analysis of HDG methods for the Helmholtz equation, IMA J. Numer. Anal. 34 (1) (2014) 279–295.
[28] B. Cockburn, F. Li, N.C. Nguyen, J. Peraire, Hybridization and postprocessing techniques for mixed eigenfunctions, SIAM J. Numer. Anal. 48 (2010)
857–881.
[29] M. Jensen, Discontinuous Galerkin methods for Friedrichs’ systems with irregular solutions, Ph.D. thesis, University of Oxford, 2004.
[30] A. Ern, J.-L. Guermond, Discontinuous Galerkin methods for Friedrichs’ systems. Part I. General theory, SIAM J. Numer. Anal. 44 (2) (2006) 753–778.
[31] A. Ern, J.-L. Guermond, Discontinuous Galerkin methods for Friedrichs’ systems. Part II. Second-order elliptic PDEs, SIAM J. Numer. Anal. 44 (2006)
2363–2388.
[32] A. Ern, J.-L. Guermond, Discontinuous Galerkin methods for Friedrichs’ systems. Part III. Multifield theories with partial coercivity, SIAM J. Numer. Anal.
46 (2) (2008) 776–804.
[33] T. Bui-Thanh, L. Demkowicz, O. Ghattas, A unified discontinuous Petrov-Galerkin method and its analysis for Friedrichs’ systems, SIAM J. Numer. Anal.
51 (4) (2013) 1933–1958.
[34] S.K. Godunov, A finite difference method for the computation of discontinuous solutions of the equations of fluid dynamics, Mat. Sb. 44 (1959)
357–393.
[35] E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics, Springer, 1999.
[36] B. Cockburn, J. Gopalakrishnan, R. Lazarov, Unified hybridization of discontinuous Galerkin, mixed, and continuous Galerkin methods for second order
elliptic problems, SIAM J. Numer. Anal. 47 (2) (2009) 1319–1365.
[37] B. Cockburn, C.-W. Shu, The local discontinuous Galerkin finite element method for convection–diffusion systems, SIAM J. Numer. Anal. 35 (1998)
2440–2463.
[38] D.A.D. Pietro, A. Ern, Mathematical Aspects of Discontinuous Galerkin Methods, Springer, 2012.
[39] K.O. Friedrichs, Symmetric positive linear differential equations, Commun. Pure Appl. Math. XI (1958) 333–418.
146 T. Bui-Thanh / Journal of Computational Physics 295 (2015) 114–146
[40] A. Ern, J.-L. Guermond, Theory and Practice of Finite Elements, Appl. Math. Sci., vol. 159, Springer-Verlag, 2004.
[41] A. Ern, J.-L. Guermond, G. Caplain, An intrinsic criterion for the bijectivity of Hilbert operators related to Friedrichs’ systems, Commun. Partial Differ.
Equ. 32 (2) (2007) 317–341.
[42] N. Antonić, K. Burazin, Graph spaces of first-order linear partial differential operators, Math. Commun. 14 (1) (2009) 135–155.
[43] N. Antonić, K. Burazin, Intrinsic boundary conditions for Friedrichs’ systems, Commun. Partial Differ. Equ. 35 (9) (2010) 1690–1715.
[44] N. Antonić, K. Burazin, Boundary operator from matrix field formulation of boundary conditions for Friedrichs’ systems, J. Differ. Equ. 250 (2011)
2630–3651.
[45] R.J. LeVeque, Finite Volume Methods for Hyperbolic Problems, Cambridge University Press, 2002.
[46] P.L. Roe, Approximate Riemann solvers, parametric vectors, and difference schemes, J. Comput. Phys. 43 (2) (1981) 357–372.
[47] N.C. Nguyen, J. Peraire, Hybridizable discontinuous Galerkin methods for partial differential equations in continuum mechanics, J. Comput. Phys. 231
(2012) 5955–5988.
[48] P. Houston, M. Jensen, E. Süli, hp-Discontinuous Galerkin finite element methods with least-squares stabilization, J. Sci. Comput. 17 (1–4) (2002) 3–25.
[49] J. Hesthaven, T. Warburton, High-order accurate methods for time-domain electromagnetics, Comput. Model. Eng. Sci. 5 (2004) 395–408.
[50] P. Woodward, P. Colella, The numerical simulation of two-dimensional fluid flow with strong shocks, J. Comput. Phys. 54 (1984) 115–173.
[51] A. Kurganov, E. Tadmo, Solution of two-dimensional Riemann problems for gas dynamics without Riemann problem solvers, Numer. Methods Partial
Differ. Equ. 18 (2015) 584–608.
[52] R. Gandham, D. Medina, T. Warburton, GPU accelerated discontinuous Galerkin methods for shallow water equations, arXiv:1403.1661, 2014.
[53] O. San, K. Kara, High-order accurate spectral difference method for shallow water equations, Int. J. Res. Rev. Appl. Sci. 6 (2011) 41–54.
[54] Y. Xing, X. Zhang, Positivity-preserving well-balanced discontinuous Galerkin methods for the shallow water equations on unstructured triangular
meshes, J. Sci. Comput. 57 (2013) 19–41.
[55] S. Rhebergen, O. Bokhove, J. van der Vegt, Discontinuous Galerkin finite element methods for hyperbolic nonconservative partial differential equations,
J. Comput. Phys. 227 (2008) 1887–1922.
[56] M. Castro, J. Gallardo, C. Parés, High-order finite volume schemes based on reconstruction of states for solving hyperbolic systems with nonconservative
products: applications to shallow-water systems, Math. Comput. 75 (2006) 1103–1134.
[57] M. Castro, A. Pardo, C. Parés, E. Toro, On some fast well-balanced first order solvers for nonconservative systems, Math. Comput. 79 (2010) 1427–1472.
[58] C. Parés, Numerical methods for nonconservative hyperbolic systems: a theoretical framework, SIAM J. Numer. Anal. 44 (2006) 300–321.
[59] E. Audusse, F. Bouchut, M. Bristeau, R. Klein, B. Perthame, A fast and stable well-balanced scheme with hydrostatic reconstruction for shallow water
flows, SIAM J. Sci. Comput. 25 (2004) 2050–2065.
[60] M. Dumbser, V. Casulli, A staggered semi-implicit spectral discontinuous Galerkin scheme for the shallow water equations, Appl. Math. Comput. 219
(2013) 8057–8077.
[61] M. Tavelli, M. Dumbser, A high order semi-implicit discontinuous Galerkin method for the two dimensional shallow water equations on staggered
unstructured meshes, Appl. Math. Comput. 234 (2014) 623–644.