EFFICIENT ENTROPY STABLE GAUSS COLLOCATION METHODS
arXiv:1809.01178v2 [math.NA] 3 Aug 2019
JESSE CHAN, DAVID C. DEL REY FERNANDEZ, MARK H. CARPENTER
Abstract. The construction of high order entropy stable collocation schemes on quadrilateral
and hexahedral elements has relied on the use of Gauss-Legendre-Lobatto collocation points [1, 2, 3]
and their equivalence with summation-by-parts (SBP) finite difference operators [4]. In this work,
we show how to efficiently generalize the construction of semi-discretely entropy stable schemes on
tensor product elements to Gauss points and generalized SBP operators. Numerical experiments
suggest that the use of Gauss points significantly improves accuracy on curved meshes.
1. Introduction. Time dependent nonlinear conservation laws are ubiquitous in
computational fluid dynamics, for which high order methods are increasingly of interest. Such methods are more accurate per degree of freedom than low order methods,
while also possessing much smaller numerical dispersion and dissipation errors. This
makes high order methods especially well suited to time-dependent simulations. In
this work, we focus specifically on discontinuous Galerkin methods on unstructured
quadrilateral and hexahedral meshes. These methods combine properties of high order
approximations with the geometric flexibility of unstructured meshing.
However, high order methods are notorious for being more prone to instability
compared to low order methods [5]. This instability is addressed through various
stabilization techniques (e.g. artificial viscosity, filtering, slope limiting). However,
these techniques often reduce accuracy to first or second order, and can prevent solvers
from realizing the advantages of high order approximations. Moreover, it is often not
possible to prove that a high order scheme does not blow up even in the presence of
stabilization. This ambiguity can necessitate the re-tuning of stabilization parameters,
as parameters which are both stable and accurate for one problem or discretization
setting may provide either too little or too much numerical dissipation for another.
The instability of high order methods is rooted in the fact that discretizations
of nonlinear conservation laws do not typically satisfy a discrete analogue of the
conservation or dissipation of energy (entropy). For low order methods, the lack of
discrete stability can be offset by the presence of numerical dissipation, which serves
as a stabilization mechanism. Because high order methods possess low numerical
dissipation, the absence of a discrete stability property becomes more noticeable,
manifesting itself through increased sensitivity and instability.
The dissipation of entropy serves as an energetic principle for nonlinear conservation laws [6], and requires the use of the chain rule in its proof. Discrete instability is
typically tied to the fact that, when discretizing systems of nonlinear PDEs, the chain
rule does not typically hold at the discrete level. The lack of a chain rule was circumvented by using a non-standard “flux differencing” formulation [1, 2, 3, 7], which is
key to constructing semi-discretely entropy stable high order schemes on unstructured
quadrilateral and hexahedral meshes. Flux differencing replaces the derivative of the
nonlinear flux with the discrete differentiation of an auxiliary quantity. This auxiliary
quantity is computed through the evaluation of a two-point entropy conservative flux
[8] using pairs of solution values at quadrature points. These entropy stable schemes
were later extended to non-tensor product elements using GLL-like quadrature points
on triangles and tetrahedra [9, 10]. More recently, the construction of efficient entropy stable schemes was extended to more arbitrary choices of basis and quadrature
[11, 12].
While entropy stable collocation schemes have been constructed on Gauss-like
1
quadrature points without boundary nodes [13], the inter-element coupling terms for
such schemes introduce an “all-to-all” coupling between degrees of freedom on two
neighboring elements in one dimension (on tensor product elements in higher dimensions, these coupling terms couple together lines of nodes). These coupling terms
require evaluating two-point fluxes between solution states at all collocation nodes
on two neighboring elements, resulting in significantly more communication and computation compared to collocation schemes based on point sets containing boundary
nodes. This work introduces efficient and entropy stable inter-element coupling terms
for Gauss collocation schemes which require only communication of face values between neighboring elements. The construction of these terms follows the framework
introduced in [11, 12] for triangles and tetrahedra.
The main motivation for exploring tensor product (quadrilateral and hexahedral)
elements is the significant reduction in the number of operations required compared
to high order entropy stable schemes on simplicial meshes [11, 12]. Entropy stability
schemes on simplicial elements require evaluating two-point fluxes between solution
states at all quadrature points on an element. For a degree N approximation, the
number of quadrature points on a simplex scales as O(N d ) in d dimensions, and results
in O(N 2d ) two-point flux evaluations per element. In contrast, entropy stable schemes
on quadrilateral and hexahedral elements require only the evaluation of two-point
fluxes along lines of nodes due to a tensor product structure, resulting in O(N d+1 )
evaluations in d dimensions.
In Section 2, we briefly review the derivation of continuous entropy inequalities
for systems of nonlinear conservation laws. In Section 3, we describe how to construct entropy stable discretizations of nonlinear conservation laws using different
quadrature points on affine tensor product elements. In Section 4, we describe how to
extend this construction to curvilinear elements, and Section 5 presents numerical results which confirm the high order accuracy and stability of the proposed method for
smooth, discontinuous, and under-resolved (turbulent) solutions of the compressible
Euler equations in two and three dimensions.
2. A brief review of entropy stability theory. We are interested in methods
for the numerical solution of systems of conservation laws in d dimensions
d
∂u X ∂fi (u)
= 0,
+
∂t
∂xi
i=1
(1)
where u denotes the conservative variables, fi (u) are nonlinear fluxes, and xi denotes
the ith coordinate. Many physically motivated conservation laws admit a statement of
stability involving a convex scalar entropy S(u). We first define the entropy variables
v(u) to be the gradient of the entropy S(u) with respect to the conservative variables
∂S(u)
.
∂u
For a convex entropy, v(u) defines an invertible mapping from conservative to entropy variables. We denote the inverse of this mapping (from entropy to conservative
variables) by u(v).
At the continuous level, it can be shown (for example, in [6]) that vanishing
viscosity solutions to (1) satisfy the strong form of an entropy inequality
def
v=
d
(2)
∂S(u) X ∂Fi (u)
≤ 0,
+
∂t
∂xi
i=1
2
Fi (u) = v T
∂fi
,
∂u
where Fi denotes the ith scalar entropy flux function. Integrating (2) over a domain
Ω and applying the divergence theorem yields an integrated entropy inequality
(3)
Z
Ω
∂S(u)
+
∂t
Z
d
X
∂Ω i=1
ni v T fi (u) − ψi (u) ≤ 0,
where ψi (u) = v T fi (u) − Fi (u) denotes the ith entropy potential, ∂Ω denotes the
boundary of Ω and ni denotes the ith component of the outward normal on ∂Ω.
Roughly speaking, this implies that the time rate of change of entropy is less than or
equal to the flux of entropy through the boundary.
3. Entropy stable Gauss and Gauss-Legendre-Lobatto collocation methods. The focus of this paper is on entropy stable high order collocation methods which
satisfy a semi-discrete version of the entropy inequality (3). These methods collocate
the solution at some choice of collocation nodes, and are applicable to tensor product
meshes consisting of quadrilateral and hexahedral elements.
Entropy stable collocation methods have largely utilized Gauss-Legendre-Lobatto
(GLL) nodes [1, 2, 3, 7], which contain points on the boundary. The popularity of
GLL nodes can be attributed in part to a connection made in [4], where it was
shown by Gassner that collocation DG discretizations based on GLL nodes could
be recast in terms of summation-by-parts (SBP) operators. This equivalence allowed
Gassner to leverage existing finite difference formulations to produce stable high order
discretizations of the nonlinear Burgers’ equation.
GLL quadratures contain boundary points, which greatly simplifies the construction of inter-element coupling terms for entropy stable collocation schemes. However,
it is also known that the use of GLL quadrature within DG methods under-integrates
the mass matrix, which can lead to solution “aliasing” and lower accuracy [14]. In
this work, we explore entropy stable collocation schemes based on Gauss quadrature
points instead of GLL points.
This comparison is motivated by the accuracy of each respective quadrature rule.
While (N + 1)-point GLL quadrature rules are exact for polynomial integrands of
degree (2N − 1), (N + 1)-point Gauss quadrature rules are exact for polynomials
of degree (2N + 1). This higher accuracy of Gauss quadrature has been shown to
translate to lower errors and slightly improved rates of convergence in simulations of
wave propagation and fluid flow [15, 16, 17]. However, Gauss points have not been
widely used to construct entropy stable discretizations due to the lack of efficient,
stable, and high order accurate inter-element coupling terms, known as simultaneous
approximation terms (SAT) in the finite difference literature [18, 13, 19]. SATs for
Gauss points are non-compact, in the sense that they introduce all-to-all coupling
between degrees of freedom on neighboring elements in one dimension. This results
in greater communication between elements, as well as a significantly larger number
of two-point flux evaluations and floating point operations.
It is possible to realize the improved accuracy of Gauss points while avoiding
non-compact SATs through a staggered grid formulation, where the solution is stored
at Gauss nodes but interpolated to a set of higher degree (N + 2) GLL “flux” points
for computation [14]. Because GLL nodes include boundary points, compact and high
order accurate SAT terms can be constructed for the flux points. After performing
computations on the flux points, the results are interpolated back to Gauss points
and used to evolve the solution forward in time. Figure 1 shows an illustration of
GLL, staggered grid, and Gauss point sets for a 2D quadrilateral element.
3
(a) GLL nodes
(b) Staggered grid nodes
(c) Gauss nodes
Fig. 1: Examples of nodal sets under which efficient entropy stable schemes can be
constructed. This work focuses on the construction of efficient and accurate SAT
terms for Gauss nodal sets.
The following sections will describe how to construct efficient high order entropy
stable schemes using Gauss points. These schemes are based on “decoupled” SBP
operators introduced in [11, 12], which are applicable to general choices of basis and
quadrature. By choosing a tensor product Lagrange polynomial basis and (N + 1)
point Gauss quadrature rules, we recover a Gauss collocation scheme. The high order
accuracy and entropy stability of this scheme are direct results of theorems presented
in [11, 12]. However, we will also present a different proof of entropy stability in one
dimension for completeness.
3.1. Gauss nodes and generalized summation by parts operators. We
assume the solution is collocated at (N + 1) quadrature points xi with associated
quadrature weights wi . We do not make any assumptions on the points, in order
to accommodate both GLL and Gauss nodes using this notation. The collocation
assumption is equivalent to approximating the solution using a degree N Lagrange
basis ℓj (x) defined over the (N + 1) quadrature points.
Let D denote the nodal differentiation matrix, and let Vf denote the 2 × (N + 1)
matrix which interpolates polynomials at Gauss nodes to values at endpoints. These
two matrices are defined entrywise as
Dij =
∂ℓj
∂x
,
x=xi
(Vf )1i = ℓi (−1),
(Vf )2i = ℓi (1).
We also introduce the diagonal matrix of quadrature weights Wij = δij wi , as well
as the one-dimensional mass matrix M whose entries are L2 inner products of basis
functions. We assume that these inner products are computed using the quadrature
rule (xi , wi ) at which the solution is collocated. Under such an assumption, the mass
matrix is diagonal with entries equal to the quadrature weights
Mij =
Z
1
−1
ℓi (x)ℓj (x) ≈
N
+1
X
ℓi (xk )ℓj (xk )wk = δij wi = Wij .
k=1
Since M = W under a collocation assumption, we utilize W for the remainder of this
work to emphasize that the mass matrix is diagonal and related to the quadrature
weights wi . The treatment of non-diagonal mass matrices is covered in [11, 12].
4
It can be shown that the mass and differentiation matrices for Gauss nodes fall
under the class of generalized SBP (GSBP) operators [20].
Lemma 1. Q = W D satisfies the generalized summation by parts property
−1
T
T
Q = Vf BVf − Q ,
B=
.
1
The proof is a direct restatement of integration by parts, and can be found in [20, 21,
22, 23]. Lemma 1 holds for both GLL and Gauss nodes, and switching between these
two nodal sets simply results in a redefinition of the matrices D, Vf . For example,
because GLL nodes include boundary points, the interpolation matrix Vf reduces to
a generalized permutation matrix which extracts the nodal values associated with the
left and right endpoints.
3.2. Existing entropy stable SATs for generalized SBP operators. In
this section, we will review the construction of semi-discretely entropy stable discretizations. Entropy stable discretizations can be constructed by first introducing an
entropy conservative scheme, then adding appropriate interface dissipation to produce
an entropy inequality. The construction of entropy conservative schemes relies on the
existence of an two-point (dyadic) entropy conservative flux [8].
Definition 2. Let fS (uL , uR ) be a bivariate function which is symmetric and
consistent with the flux function f (u)
fS (uL , uR ) = fS (uR , uL ),
fS (u, u) = f (u)
The numerical flux fS (uL , uR ) is entropy conservative if, for entropy variables vL =
v(uL ), vR = v(uR ), the Tadmor “shuffle” condition is satisfied
T
(vL − vR ) fS (uL , uR ) = (ψL − ψR ),
ψL = ψ(v(uL )),
ψR = ψ(v(uR )).
For illustrative purposes, we will prove a semi-discrete entropy inequality on a onedimensional mesh consisting of two elements of degree N . We assume both meshes
are translations of a reference element [−1, 1], such that derivatives with respect to
physical coordinates are identical to derivatives with respect to reference coordinates.
The extension to multiple elements and variable mesh sizes is straightforward.
The construction of entropy conservative schemes relies on appropriate SATs for
Gauss collocation schemes [18, 13, 19]. Let the rows of Vf be denoted by column
vectors tL , tR
(tL )1 , . . . , (tL )N +1
Vf =
,
(tL )j = ℓj (−1),
(tR )j = ℓj (1).
(tR )1 , . . . , (tR )N +1
The inter-element coupling terms in [18, 13, 19] utilize a decomposition of the surface
matrix VfT BVf as
(4)
VfT BVf = tR tTR − tL tTL .
The construction of entropy conservative schemes on multiple elements requires appropriate inter-element coupling terms (SATs) involving tL , tR . We consider a two
element mesh, and show how when coupled with SATs, the resulting discretization
matrices can be interpreted as constructing a global SBP operator.
Let u1N , u2N denote nodal degrees of freedom of the vector valued solution u(x)
on the first and second element, respectively. To simplify notation, we assume that
5
all following operators are defined in terms of Kronecker products [9], such that they
are applied to each component of u1N , u2N . We first define the matrix
1
def
S = Q − VfT BVf .
2
(5)
It is straightforward to show (using Lemma 1) that S is skew-symmetric. We can
now define an SBP operator Dh = Wh−1 Qh over two elements
1
1
T
T
S
def
def W
2 tR tL + − 2 tL tL
(6)
Qh =
=
,
W
.
h
1
T
W
S
− 12 tL tTR
2 t R tR
|
{z
} |
{z
}
Sh
1
2 Bh
It can be shown that Dh is high order accurate such that, if uh is a polynomial of
degree N , it is differentiated exactly. Straightforward computations show that Qh
also satisfies an SBP property Qh + QTh = Bh .
Ignoring boundary conditions, an entropy conservative scheme for (1) on two
elements can then be given as
1
d
u
Wh uh + 2 (Qh ◦ FS ) 1 = 0,
uh = N
(7)
u2N
dt
(FS )ij = fS (uh )i , (uh )j ,
1 ≤ i, j ≤ 2(N + 1),
where ◦ denotes the Hadamard product [24]. It should be emphasized that here,
(uh )i , (uh )j denote vectors containing solution components at nodes i, j, and that
(because fS is a vector-valued flux) the term (FS )ij should be interpreted as a diagonal
matrix whose diagonal entries consist of the components of fS ((uh )i , (uh )j ).
T
Multiplying (7) by vhT = v (uh ) will yield a semi-discrete version of the conservation of entropy (mimicking (3) with the inequality replaced by an equality)
(8)
d
Wh S(uh ) + vhT (Bh ◦ FS ) 1 − 1T Bh ψ (uh ) = 0.
dt
We refer to [13, 10] for the proof of (8).
The drawback of the SATs introduced in this section lies in the nature of the offdiagonal matrices tR tL and −tL tR . For Gauss nodes, these blocks are dense, which
implies that inter-element coupling terms produce a non-compact stencil. Evaluating (7) requires computing two-point fluxes fS between all nodes on two neighboring
elements, which significantly increases both the computational work, as well as communication between neighboring elements. This leads to all-to-all coupling between
degrees of freedom in 1D, and to coupling along one-dimensional lines of nodes in
higher dimensions due to the tensor product structure.
The main goal of this work is to circumvent this tighter coupling of degrees of
freedom introduced by the SATs described in this section, which can be done through
the use of “decoupled” SBP operators.
3.3. Decoupled SBP operators. Decoupled SBP operators were first introduced in [11] and used to construct entropy stable schemes on simplicial elements.
These operators (and simplifications under a collocation assumption) are presented
in a more general setting in [11, 12] and in Appendix A. In this section, decoupled
SBP operators are introduced in one dimension for GLL and Gauss nodal sets.
6
Decoupled SBP operators build upon the GSBP matrices W , Q, interpolation
matrix Vf , and boundary matrix B introduced in Section 3.1. The decoupled SBP
operator QN is defined as the block matrix
1
1
T
T
def Q −
2 Vf BVf
2 Vf B .
(9)
QN =
1
− 12 BVf
2B
Lemma 1 and straightforward computations show that QN also satisfies the following
SBP property
Lemma 3. Let QN be defined through (9). Then,
0
T
QN + QN =
.
B
We note that the matrix QN acts not only on volume nodes, but on both volume
and surface nodes. Thus, it is not immediately clear how to apply this operator to
GSBP discretizations of nonlinear conservation laws. It is straightforward to evaluate
the nonlinear flux at volume nodes since the solution is collocated at these points;
however, evaluating the nonlinear flux at surface nodes is less straightforward. Moreover, QN does not directly define a difference operator, and must be combined with
another operation to produce an approximation to the derivative. We will discuss
how to apply QN in two steps. First, we will show how to approximate the derivative
of an arbitrary function using QN given function values at both volume and surface
nodes. Then, we will describe how to apply this approximation to compute derivatives
of nonlinear flux functions given collocated solution values at volume nodes.
Let f (x), g(x) denote two functions, and let f , g denote the values of f, g at
interior nodal points. We also define vectors fN , gN denoting the values of f, g at
both interior and boundary points
g (x1 )
f (x1 )
..
..
.
.
f
g
,
gN = g (xN +1 ) =
(10)
fN = f (xN +1 ) =
.
f
g
f
f
g(−1)
f (−1)
g(1)
f (1)
∂g
can be computed using QN . Let u denote
Then, a polynomial approximation to f ∂x
∂g
the nodal values of the polynomial u(x) ≈ f ∂x
. These coefficients are computed via
T
I
(11)
Wu =
diag (fN ) QN gN .
Vf
The approximation (11) can be rewritten in “strong” form as follows
T
I
u = W −1
diag (fN ) QN gN
Vf
1
= diag (f ) Dg + diag (f ) W −1 VfT B (gf − Vf g)
2
1 −1 T
+ W Vf Bdiag (ff ) (gf − Vf g) ,
2
where we have used the fact that diagonal matrices commute to simplify expressions.
The decoupled SBP operator QN can thus be interpreted as adding boundary corrections to the GSBP operator D in a skew-symmetric fashion. More specifically, the
7
GSBP
GSBP
2
100
Decoupled
Decoupled SBP
L2 errors
Exact
0
10−1
10−2
10−3
10−4
−2
−1
0
−0.5
0.5
0
1
5
x coordinate
10
Degree N
15
(b) L2 errors
(a) N = 5 approximation
2
Fig. 2: Approximations of derivatives of a Gaussian e−4x using the generalized SBP
operator D and the decoupled SBP operator QN via (11). In Figure 2a, the colored
circles and squares denote values at Gauss points for a degree N = 5 approximation.
Figure 2b shows the convergence of L2 errors as N increases.
expression (11) corresponds to a quadrature approximation of the following variational
approximation of the derivative [11]: find u ∈ P N ([−1, 1]) such that,
Z
1
u(x)v(x) =
−1
Z
1
IN f
−1
(f v + IN (f v))
∂IN g
v + (g − IN g)
∂x
2
1
,
−1
∀v ∈ P N ([−1, 1]),
where IN denotes the degree N polynomial approximation at the (N + 1) Gauss
points.
The approximation (11) can also be applied to Gauss collocation schemes for
nonlinear conservation laws. Let u ∈ P N be represented by the vector u of values at
Gauss points, and let f (x), g(x) denote two nonlinear functions. The operator QN
can be used to approximate the quantity f (u) ∂g(u)
∂x using (11) if f , g are defined as
f (u1 )
g (u1 )
..
..
.
.
f (u)
g(u)
,
gN = g (uN +1 ) =
fN = f (uN +1 ) =
,
uf = Vf u.
f (uf )
g(uf )
f tT u
g tT u
L
L
f tTR u
g tTR u
It was shown in [11] that u is a high order accurate approximation to the quantity
∂g
. Both the generalized SBP operator D and the expression in (11) involving the
f ∂x
decoupled SBP operator recover exact derivatives of high order polynomials. However, when applied to non-polynomial functions, the decoupled SBP operator QN
improves accuracy near the boundaries. Figure 2 illustrates this by using both oper2
ators to approximate the derivative of a Gaussian e−4x on [−1, 1]. The decoupled
SBP operator results in an improved approximation at all orders of approximation.
3.4. An entropy stable Gauss collocation scheme based on decoupled
SBP operators. We can now construct an entropy conservative Gauss collocation
8
scheme with compact SATs using decoupled SBP operators. As in Section 3.2, we
will construct a Gauss collocation scheme and provide a proof of semi-discrete entropy
conservation for a two-element mesh.
We first note that B can be trivially decomposed into the sum of two outer
products as in (4)
−1 0
1
0
T
T
= eR eR − eL eL ,
eL =
,
eR =
.
(12)
B=
0 1
0
1
The vectors eL , eR are related to tL , tR through the interpolation matrix Vf . Because
tL , tR are rows of Vf , tL 1 = tR 1 = 1. This can be used to show, for example, that
(13)
BVf 1 = eR eTR − eL eTL 1 = eR − eL .
We can define a decoupled SBP matrix Qh over two
1
T
S
2 Vf B
− 1 BVf − 1 eL eT
def
L
2
Qh = 2
(14)
S
− 21 eL eTR − 12 BVf
elements as follows
1
T
2 eR eL
1
T
2 Vf B
1
T
2 eR eR
,
where we have abused notation and redefined Qh . We can also show that Qh 1 = 0.
Using (13), we have that
Q − 12 VfT BVf + 21 VfT BVf 1
S + 21 VfT B 1
1
1
− BVf 1 + 1 (eR − eL )
2
2
2 B (−1 + 1)
=
= 0.
(15) Qh 1 =
S + 21 VfT B 1
Q − 21 VfT BVf + 21 VfT BVf 1
1
− 12 BVf 1 + 12 (eR − eL )
2 B (−1 + 1)
Here, we have used the definition of B in (12), the fact that Vf 1 = 1 and
[20], and the definition of S in (5). This property (15) will be used in the
entropy conservation.
It can be helpful to split up Qh into two matrices
1
T
S
2 Vf B
1
1
T
− BVf
1
def
2 eR eL
Sh = 2
Qh = S h + Bh ,
1
T
2
S
2 Vf B
1
1
T
− 2 eL eR − 2 BVf
def
Bh =
−eL eTL
eR eTR
.
Q1 = 0
proof of
The matrix Sh is skew-symmetric, while the matrix Bh functions as a boundary operator which extracts boundary values over the two-element domain (i.e. Bh extracts
a left boundary value from element 1 and a right boundary value from element 2).
Note that here, Bh is diagonal, unlike the boundary operator defined in Section 3.2.
It should also be noted that the two-element decoupled SBP operator Qh in (14) is
related to the GSBP operator in (6) through a block interpolation matrix
I
1
1
T
T
Vf
S
def
T
2 tR tL + − 2 tL tL
,
I
Q
I
=
Ih =
h h
1
T .
h
I
S
− 21 tL tTR
2 tR tR
Vf
9
We will now utilize the two-element operators described in this section to construct an entropy stable Gauss collocation scheme on two elements. This scheme will
differ from that of Section 3.2 in that neighboring elements will only be coupled together through face values. Let u1N , u2N denote the values of the conservative variables
at Gauss points on elements 1 and 2, respectively, and let uh denote their concatenation as defined in (7). Let v(uiN ) denote the evaluation of entropy variables at
Gauss points on element i, and define the “entropy-projected conservative variables”
e 1f , u
e 2f by evaluating the conservative variables in terms of the interpolated values of
u
the entropy variables at element boundaries
e if = u(vfi ),
u
def
vfi = Vf v(uiN ),
def
i = 1, 2.
T
We now introduce uh = u1N u2N as the concatenated vector of solution values at
e, and u
e as follows:
Gauss points, and define vh , v
1
uN
1
u
e 1f
uN
def
def
def
e = Ih v h ,
e = u (e
vh = v (uh ) = v
,
v
u
v) =
2
u2N .
uN
e 2f
u
e corresponds
The term vh corresponds to the vector of entropy variables at uh , while v
to the concatenated vector of Gauss point values and interpolated boundary values
e denotes the evaluation of the conservative
vfi of the entropy variables. The term u
e.
variables in terms of v
Finally, we define FS as the matrix of evaluations of the two-point flux fS at
e
combinations of values of u
def
ej ) ,
(FS )ij = fS (e
ui , u
1 ≤ i, j ≤ 2(N + 3).
Note that, due to the consistency of fS , the diagonal of FS reduces to flux evaluations
e i ) = f (e
(FS )ii = fS (e
ui , u
ui ) .
(16)
We can now construct a semi-discretely entropy conservative formulation based on
decoupled SBP operators:
Theorem 4. Let Qh be defined by (14), and let uh denote the two-element solution of the following formulation:
(17)
Wh
d
uh + 2IhT (Qh ◦ FS ) 1 = 0.
dt
Then, uh satisfies a semi-discrete conservation of entropy
dS(uh )
+ 1T B vfT f (e
uf ) − ψ (e
uf ) = 0
dt
tT v u1N
def
def
e f = u(vf ).
,
u
vf = TL
tR v u2N
1T Wh
Proof. The proof results from testing with vhT . Since v(u) =
diagonal, the time term yields
vhT
∂S(u)
∂u
d
d
d
Wh uh = 1T Wh diag (vh ) uh = 1T Wh S(uh ).
dt
dt
dt
10
and Wh is
The spatial term can be manipulated as follows
1
T
2vhT IhT (Qh ◦ FS ) 1 = 2 (Ih vh )
(Sh ◦ FS ) 1 + (Bh ◦ FS ) 1
2
eT (Bh ◦ FS ) 1 + v
eT (Sh ◦ FS ) 1 − 1T (Sh ◦ FS ) v
e,
=v
where we have used the skew-symmetry of Sh in the last step. The boundary term
reduces to
eT (Bh ◦ FS ) 1 = 1T Bh v
eT f (e
efT f (u
ff ) ,
v
u) = 1T B v
eT f (e
efT f (e
u), v
uf )
where we have used (16) and the fact that Bh is diagonal. Here, v
e and
denote vectors whose entries are the vector inner products of components of v
f (e
u) at volume and face points, respectively.
The volume terms can be manipulated using the definition of FS and the Tadmor
shuffle condition in Definition 2
X
eT (Sh ◦ FS ) 1 − 1T (Sh ◦ FS ) v
e=
ej )T fS (e
ej )
v
(Sh )ij (e
vi − v
ui , u
ij
=
X
ij
(Sh )ij (ψ (e
ui ) − ψ (e
uj ))
T
T
= ψ (e
u) Sh 1 − 1T Sh ψ (e
u) = 2 ψ (e
u) S h 1 ,
where we have again used the skew-symmetry of Sh in the last step. Substituting
Sh = Qh − 21 Bh and using (15) yields
T
T
2 ψ (e
u) Sh 1 = ψ (e
u) (2Qh − Bh ) 1
T
= −ψ (e
u) Bh 1 = −1T Bh ψ (e
u) = −1T Bψ (e
uf ) ,
where we have used the symmetry of Bh in the second to last step.
Remark. The proof of Theorem 4 follows directly from choosing either GLL or
Gauss quadratures in Theorem 4 of [11]. The proof is reproduced here for clarity,
as the two-element case illuminates the skew-symmetric nature and structure of the
inter-element coupling more explicitly.
Extending the two-element case to multiple elements can be done by defining analogous “global” differentiation matrices. Suppose that there are now three elements.
Then, the matrices Sh , Bh can be defined as
1
T
S
2 Vf B
1
T
− 1 BVf
2 eR eL
2
1
T
def
V
B
S
2 f
Sh =
1
T
− 12 eL eTR − 12 BVf
e
e
R
L
2
1
T
S
2 Vf B
1
1
T
− 2 eL eR − 2 BVf
I
Vf
−eL eTL
I
def
.
,
0
I
=
Bh =
h
Vf
I
eR eTR
Vf
11
These global operators again satisfy Qh 1 = 0 and the SBP property Qh + QTh = Bh ,
where Qh = Sh + 21 Bh . Moreover, Qh can be used to produce high order accurate
approximations of derivatives, and can be used to construct entropy conservative
schemes as in Theorem 4. The extension to a general number of elements is done in
a similar fashion.
It is possible to convert the semi-discrete entropy equality in Theorem 4 to a
semi-discrete entropy inequality by adding appropriate interface dissipation terms,
such as Lax-Friedrichs or matrix dissipation [25]. We note that these terms must be
e f in order to ensure a discrete dissipation of entropy [9, 11].
computed in terms of u
Boundary conditions can also be incorporated into the formulation (17) in a weak
fashion. Let uL , uR denote the values of the solution at the left and right domain
boundaries of a 1D domain. Using the SBP property, we can modify (17) to
0
f (uL )
duh
T
T
Wh
+ 2Ih (Sh ◦ FS ) 1 + Ih Bh ... = 0,
dt
0
f (uR )
where we have used the fact that Bh is diagonal and the consistency of fS (implying that the diagonal of FS reduces to the evaluation of the flux f (u)) to simplify
the boundary term (Bh ◦ FS ) 1. Boundary conditions are incorporated by replacing
f (uL ), f (uR ) with numerical fluxes fL∗ , fR∗ as follows:
0
fL∗
duh
(18)
Wh
+ 2IhT (Sh ◦ FS ) 1 + IhT Bh ... = 0.
dt
0
fR∗
If the boundary numerical flux satisfies the entropy stability conditions
T ∗
ψL − v L
fL ≤ 0,
T ∗
ψR − vR
fR ≤ 0
then the resulting scheme satisfies a global entropy inequality [9].
Assuming that the ODE system (17) exactly integrated in time and that entropy
dissipative numerical fluxes and boundary conditions are used, the solution will satisfy
a discrete entropy inequality (3). In practice, the system (17) is solved using an ODE
time-stepper. For an explicit time-stepper, then all that is necessary is to invert the
diagonal matrix Wh and evaluate the spatial terms in (18).
We note that the conservation or dissipation of entropy is guaranteed up to timestepper accuracy. In practice, we observe that entropy is dissipated for all problems
considered, despite the fact that the proof does not hold at the fully discrete level.
A fully discrete entropy inequality can be guaranteed using implicit or space-time
discretizations [26, 27].
4. Extension to higher dimensions and non-affine meshes. The formulation in Theorem 4 can be naturally extended to Cartesian meshes in higher dimensions
through a tensor product construction. We first consider the construction of higher
b asdimensional differentiation matrices on a two-dimensional reference element Ω,
suming a two dimensional tensor product grid of quadrature nodes (the construction
12
of decoupled SBP operators in three dimensions is straightforward and similar to the
two-dimensional case). We then construct physical differentiation matrices on mapped
elements Ωk , through which we construct an entropy conservative scheme.
Let D1D , W1D denote the 1D differentiation and mass matrices, respectively, on
the reference interval [−1, 1]. Let W denote the 2D reference mass matrix, and let
D i denote the differentiation matrices with respect to the ith reference coordinate.
These matrices can be expressed in terms of Kronecker products
D 1 = D1D ⊗ IN +1 ,
D 2 = IN +1 ⊗ D1D ,
def
def
def
W = W1D ⊗ W1D ,
where IN +1 denotes the (N + 1) × (N + 1) identity matrix.
We also construct higher dimensional face interpolation matrices. Let Vf,1D denote the one-dimensional interpolation matrix, and let B1D denote the boundary
matrix defined in Lemma 1. For an appropriate ordering of face quadrature points,
the two-dimensional face interpolation matrix Vf and reference boundary matrices
B 1 , B 2 can be expressed as the concatenation of Kronecker product matrices
def Vf,1D ⊗ I2
2 def 0
1 def B1D ⊗ I2
.
,
B =
,
B =
Vf =
0
I2 ⊗ Vf,1D
I2 ⊗ B1D
In three dimensions, the face interpolation matrix would be expressed as the concatenation of three Kronecker products involving Vf,1D . The higher dimensional differentiation and interpolation matrices D i , Vf can now be used to construct higher
dimensional decoupled SBP operators. Let QiN denote the decoupled SBP operator
for the ith coordinate on the reference element, where QiN is defined as
i 1 T i
1
T
i
def
def Q −
2 Vf B Vf
2 Vf B
,
Qi = W D i .
QiN =
1 i
B
− 12 B i Vf
2
Let the domain now be decomposed into non-overlapping elements Ωk , such that
b under a degree N polynomial mapping Φk . We define geometric
Ω is the image of Ω
xj
k ∂b
k
b with respect to
terms Gij = J ∂xi as scaled derivatives of reference coordinates x
physical coordinates x. We also introduce the scaled normals ni Jfk , which can be
computed on quadrilateral and tensor product elements via
k
ni Jfk = ±
d
X
j=1
Gkij = ±
d
X
j=1
Jk
∂b
xj
,
∂xi
where the sign of ni Jfk is negative for a “left” face and positive for a “right” face.
These geometric terms introduce scalings J k , Jfk , where J k is the determinant of the
Jacobian of Φk and Jfk denotes the determinant of the Jacobian of the mapping from
a physical face to a reference face. The quantities Gkij , ni Jfk can now be used to define
matrices over each physical element Ωk
def
def
Bki = B i diag nki ,
Wk = W diag J k ,
d
(19)
Qik =
def
1X
diag Gkij QiN + QiN diag Gkij ,
2 j=1
where we have discretized the curved differentiation matrix in split form [28, 29].
Here, J k denotes the vector of values of J k at volume quadrature points, Gkij denotes
13
the vector of values of Gkij at volume and face quadrature points, and nki denotes the
ith scaled outward normal ni Jfk at face quadrature points.
A 2D Gauss collocation scheme can now be given in terms of Wk , Qik , Bki . Let
k
uN denote the vector of solution values on Ωk , and define the quantities
FSi
en ) ,
= fSi (e
um , u
1 ≤ m, n ≤ (N + 1)2 + 4(N + 1)
k
def u
def
def
e= N
e kf = u vfk ,
u
vfk = Vf v ukN ,
,
u
k
ef
u
def
mn
where (N + 1)2 + 4(N + 1) is the total number of volume and face points. We then
have the following theorem on the semi-discrete conservation of entropy:
Theorem 5. Assume that Qk 1 = 0, and that Ωk are mapped curvilinear elements. Let ukN satisfy the local formulation on Ωk
dukN X
e+
e kf − f i (e
+
uf ) = 0,
2 Qik ◦ FSi 1 + VfT Bki fSi u
f ,u
dt
i=1
d
(20)
Wk
e + denotes boundary values of the entropy-projected conservative variables on
where u
neighboring elements. Then, ukN satisfies the discrete conservation of entropy
!
d
X
X
dS ukN
T
k T i
k
k
T
i
ef
1 Wk
+
= 0.
uf ) − ψ u
1 Bk vf f (e
dt
i=1
k
The proof is a special case of the proof of Theorem 1 in [12], with the quadrature
rule taken to be a tensor product rule with (N + 1) Gauss (or GLL) points in each
coordinate direction.
Remark. The operator Qik in (19) can be applied without needing to explicitly
store geometric terms Gkij at face quadrature points. By using the structure of the
boundary matrix B i , expressions involving geometric terms on faces can be replaced
by expressions involving components of scaled outward normals ni Jfk on Ωk .
4.1. Discrete geometric conservation law. We note that Theorem 5 relies on
the assumption that Qk 1 = 0. This condition is equivalent to ensuring that the scaled
geometric terms Gkij satisfy a discrete geometric conservation law (GCL) [2, 7, 10, 12].
For two-dimensional degree N (isoparametric) mappings, the GCL is automatically
satisfied. However, in three dimensions, the GCL is not guaranteed to be satisfied at
the discrete level, due to the fact that geometric terms for isoparametric mappings
are polynomials of degree higher than N .
It is possible to ensure the satisfaction of a discrete GCL by using a sub-parametric
polynomial geometric mapping. Let Ngeo denote the degree of a polynomial geometric
mapping. In three dimensions, the exact geometric terms for a degree Ngeo polynomial
mapping are polynomials of degree 2Ngeo [30, 16, 10]. If 2Ngeo ≤ N , or if Ngeo ≤ N2 ,
1
then the discrete
NGCL
is automatically satisfied.
For Ngeo ≥ 2 , modifications to the computation of geometric terms are required
to ensure that the GCL is satisfied at the discrete level. For general SBP operators, the
discrete GCL can be enforced through the solution of a local least squares problem [10].
1 We note that this condition is specific to three-dimensional hexahedral elements, and does not
necessarily hold for other element types. For example, the discrete GCL is satisfied if 2Ngeo − 2 ≤ N
for isoparametric tetrahedral elements [12].
14
We take an alternative approach and construct geometric terms using the approach
of Kopriva [30]. This construction takes advantage of the fact that GLL and Gauss
collocation methods correspond to polynomial discretizations. Kopriva’s construction
is based on rewriting the geometric terms as the reference curl of an interpolated
auxiliary quantity
b × IN z ∇y
b
−∇
k
G1j
j
b × IN z ∇x
b
,
Gk2j = ∇
(21)
j = 1, 2, 3.
j
Gk3j
b × IN x∇y
b
∇
j
Here, IN denotes the polynomial interpolation operator using GLL nodes. By interpolating the auxiliary quantity in (21) using polynomial interpolation prior to applying
the curl, the geometric terms are approximated by degree N polynomials which satisfy
the discrete GCL by construction. These GCL-satisfying geometric terms can then
be used to compute normal vectors. For a watertight mesh, the constructed normal
vectors are guaranteed to be continuous across faces [12].
To summarize, extending higher dimensional entropy stable Gauss collocation
schemes to curved meshes requires the following steps:
1. Construct polynomial approximations of the geometric terms using equation
(21) and interpolation at GLL nodes [30].
2. Evaluate approximate geometric terms at volume and surface points, and
compute normal vectors in terms of the approximate geometric terms.
3. Compute physical derivatives using the split form (19).
Apart from evaluating the GCL-satisfying geometric terms at separate volume and
surface points, entropy stable Gauss collocation schemes are extended to curved
meshes in the same manner as GLL and staggered-grid collocation schemes [2, 14, 12].
5. Numerical results. In this section, we present numerical examples for the
compressible Euler equations, which are given in d dimensions as follows:
d
∂ρ X ∂ (ρuj )
= 0,
+
∂t j=1 ∂xj
d
∂ρui X ∂ (ρui uj + pδij )
= 0,
+
∂t
∂xj
j=1
i = 1, . . . , d
d
∂E X ∂ (uj (E + p))
= 0.
+
∂t
∂xj
j=1
Here, ρ is density, ui denotes the ith component of velocity, and E is the total energy.
The pressure p and specific internal energy ρe are given by
d
d
X
X
1
1
p = (γ − 1) E − ρ
ρe = E − ρ
u2j ,
u2j .
2
2
j=1
j=1
There exists an infinite family of suitable convex entropies for the compressible
Euler equations [31]. However, there is only a single unique entropy which appropriately treats the viscous heat conduction term in the compressible Navier-Stokes
15
equations [32]. This entropy S(u) is given by
S(u) = −
ρs
,
γ−1
where s = log ρpγ is the physical specific entropy, and the dimension d = 1, 2, 3.
The entropy variables in d dimensions are given by
ρe(γ + 1 − s) − E
,
ρe
ρui
=
,
i = 1, . . . , d,
ρe
ρ
=− ,
ρe
v1 =
v1+i
vd+2
while the conservation variables in terms of the entropy variables are given by
ρ = −(ρe)vd+2 ,
ρui = (ρe)v1+i ,
i = 1, . . . , d
!
Pd
2
j=1 v1+j
,
E = (ρe) 1 −
2vd+2
where the quantities ρe and s in terms of the entropy variables are
ρe =
(γ − 1)
γ
(−vd+2 )
1/(γ−1)
e
−s
γ−1
,
s = γ − v1 +
Pd
j=1
2
v1+j
2vd+2
.
Let f denote some piecewise polynomial function, and let f + denote the exterior
value of f across an element face. We define the average and logarithmic averages as
follows:
f+ + f
f+ − f
log
{{f }} =
,
{{f }} =
.
2
log (f + ) − log (f )
The average and logarithmic average are assumed to act component-wise on vectorvalued functions. We evaluate the logarithmic average using the numerically stable
algorithm of [33]. Explicit expressions for entropy conservative numerical fluxes in
two dimensions are given by Chandrashekar [34]
1
f1,S
(uL , uR ) = {{ρ}}
2
f1,S
(uL , uR )
3
f1,S (uL , uR )
4
f1,S
(uL , uR )
=
=
log
{{u1 }} ,
1
f1,S
{{u1 }}
2
f2,S ,
+ pavg ,
= (Eavg + pavg ) {{u1 }} ,
1
f2,S
(uL , uR ) = {{ρ}}
2
f2,S
(uL , uR )
3
f2,S (uL , uR )
4
f2,S
(uL , uR )
=
=
1
f2,S
1
f2,S
log
{{u2 }} ,
{{u1 }} ,
{{u2 }} + pavg ,
= (Eavg + pavg ) {{u2 }} ,
where we have introduced the auxiliary quantities
(22)
β=
ρ
,
2p
pavg =
u2avg
{{ρ}}
,
2 {{β}}
Eavg =
{{ρ}}
log
log
2 {{β}} (γ − 1)
2
= 2({{u1 }} + {{u1 }} ) − {u1 } + {u22 } .
2
2
16
+
u2avg
,
2
Expressions for entropy conservative numerical fluxes for the three-dimensional compressible Euler equations can also be explicitly written as
f1,S
=
log
{{ρ}} {{u1 }}
log
2
{{ρ}} {{u1 }} + pavg
log
{{ρ}} {{u1 }} {{u2 }}
log
{{ρ}} {{u1 }} {{u3 }}
(Eavg + pavg ) {{u1 }}
f3,S
,
f2,S
log
log
{{ρ}} {{u2 }}
log
{{ρ}} {{u1 }} {{u2 }}
log
2
{{ρ}} {{u2 }} + pavg
log
{{ρ}} {{u2 }} {{u3 }}
(Eavg + pavg ) {{u2 }}
=
{{ρ}} {{u3 }}
log
{{ρ}}
{{u1 }} {{u3 }}
= {{ρ}}log {{u2 }} {{u3 }}
{{ρ}}log {{u3 }}2 + pavg
(Eavg + pavg ) {{u3 }}
,
,
where the auxiliary quantities are defined as
β=
ρ
,
2p
u2avg
log
1
log
{{ρ}} u2avg ,
2
2(γ − 1) {{β}}
2
2
2
= 2({{u1 }} + {{u2 }} + {{u3 }} ) − {u21 } + {u22 } + {u23 } .
pavg =
{{ρ}}
,
2 {{β}}
Eavg =
{{ρ}}
log
+
In all problems, we use an explicit low storage RK-45 time-stepper [35] and estimate the timestep size dt using J, Jfk , and degree-dependent L2 trace constants CN
dt = CCFL
h
,
aCN
h=
1
kJ −1 kL∞
Jfk
,
L∞
where a is an estimate of the maximum wave speed, h estimates the mesh size, and
CCFL is some user-defined CFL constant. For isotropic elements, the ratio of J k to Jfk
scales as the mesh size h, while CN captures the dependence of the maximum stable
timestep on the polynomial degree N . For hexahedral elements, CN varies depending
on the choice of quadrature. It was shown in [17] that
CN =
(
d N (N2+1)
+2)
d (N +1)(N
2
for GLL nodes
.
for Gauss nodes
Thus, based on this rough estimate of the maximum stable timestep, GLL collocation
schemes should be able to take a timestep which is roughly (1+2/N ) times larger than
the maximum stable timestep for Gauss collocation schemes. We do not account for
this discrepancy in this work, and instead set the timestep for both GLL and Gauss
collocation schemes based on the more conservative Gauss collocation estimate of dt.
Numerical results in 1D are similar to those presented in [11]. Thus, we focus
on two and three dimensional problems and comparisons of entropy stable GLL and
Gauss collocation schemes.
5.1. 2D isentropic vortex problem. We begin by examining high order convergence of the proposed methods in two dimensions using the isentropic vortex prob17
(a) Lightly warped mesh
(b) Moderately warped mesh
(c) Heavily warped mesh
Fig. 3: Lightly, moderately, and heavily warped meshes for N = 4, K = 16.
lem [36, 13]. The analytical solution is
(23)
ρ(x, t) =
1−
u1 (x, t) = 1 −
1
2 (γ
2
− 1)(βe1−r(x,t) )2
8γπ 2
β 1−r(x,t)2
e
(y − y0 ),
2π
1
! γ−1
,
p = ργ ,
u2 (x, t) =
β 1−r(x,t)2
e
(x − x0 − t),
2π
p
where u1 , u2 are the x and y velocity and r(x, t) = (x − x0 − t)2 + (y − y0 )2 . Here,
we take x0 = 5, y0 = 0 and β = 5.
We solve on a periodic rectangular domain [0, 20] × [−5, 5] until final time T =
5, and compute errors over all all solution fields. For a degree N approximation,
we approximate the L2 error using an (N + 2) point Gauss quadrature rule. We
also examine the influence of element curvature for both GLL and Gauss collocation
schemes by examining L2 errors on a sequence of moderately and heavily warped
curvilinear meshes (see Figure 3). These warpings are constructed by modifying
nodal positions according to the following mapping
3π
Lx
π
cos
y ,
x−
x
e = x + Lx α cos
Lx
2
Ly
4π
π
Lx
ye = y + Ly α sin
cos
y ,
x
e−
Lx
2
Ly
where Lx = 20, Ly = 10 denote the lengths of the domain in the x and y directions,
respectively. The lightly warped mesh corresponds to α = 1/64, the moderately
warped mesh corresponds to α = 1/16, and the heavily warped mesh corresponds to
α = 1/8. All results are computed using CCFL = 1/2 and Lax-Friedrichs interface
dissipation.
18
L2 errors
10−1
10−1
10−4
10−4
10−7
10−7
GLL
10
GLL
Gauss
10
−10
10−1.5
Mesh size h
Gauss
−10
10−1
10−1.5
Mesh size h
L2 errors
(a) Affine mesh
(b) Lightly warped mesh
10−1
10−1
10−4
10−4
10−7
10−7
GLL
10
GLL
Gauss
10
−10
10−1.5
Mesh size h
10−1
10−1
Gauss
−10
10−1.5
Mesh size h
(c) Moderately warped mesh
10−1
(d) Heavily warped mesh
Fig. 4: L2 errors for the 2D isentropic vortex at time T = 5 for degree N = 2, . . . , 7
GLL and Gauss collocation schemes.
Figure 4 shows the L2 errors for affine, moderately warped, and heavily warped
meshes. For affine meshes, Gauss collocation results in a lower errors than GLL
collocation at all orders. However, the difference between both schemes decreases as
N increases. This is not too surprising: on a Cartesian domain, the discrete L2 inner
product resulting from GLL quadrature converges to exact L2 inner product over
the space of polynomials as N increases [37]. However, GLL and Gauss collocation
differ more significantly on curved meshes. For both moderately and heavily warped
meshes, the errors for a degree N Gauss collocation scheme are nearly identical to
errors for a higher order GLL collocation scheme of degree (N + 1). These results are
in line with numerical experiments in [14], which show that GLL collocation schemes
lose one order of convergence in the L2 norm on unstructured non-uniform meshes.
Both results show that increasing quadrature accuracy significantly reduces the effect
of polynomial aliasing due to curved meshes and spatially varying geometric terms.
We note that L2 approximation estimates on curved meshes [38, 39] assume that
the mesh size is small enough to be in the asymptotic regime (such that asymptotic
error estimates hold). On curved meshes, this requires that the mesh is sufficiently
19
fine to resolve both the solution and geometric mapping. The results in Figure 4 suggest that, compared to Gauss collocation schemes, under-integrated GLL collocation
schemes require a finer mesh resolution to reach the asymptotic regime.
5.2. 3D isentropic vortex problem. As in two dimensions, we test the accuracy of the proposed scheme using an isentropic vortex solution adapted to three
dimensions. The solution is the extruded 2D vortex propagating in the y direction,
with an analytic expression given in [40]
ρ(x, t) =
(γ − 1) 2
1−
Π
2
ui (x, t) = Πri ,
p0
E(x, t) =
γ−1
1
γ−1
γ−1 2
1−
Π
2
γ
γ−1
d
+
ρX 2
u .
2 i=1 i
where (u1 , u2 , u3 )T is the three-dimensional velocity vector and
P
−(x2 − c2 − t)
r1
2
r
1− d
i=1 i
.
r2 =
2
x1 − c 1
Π = Πmax e
,
0
r3
We take c1 = c2 = 7.5, p0 = 1/γ, and Πmax = 0.4, and solve on the domain
[0, 15] × [0, 20] × [0, 5] until final time T = 5. We decompose the domain into uniform hexahedral elements with edge length h. As in the 2D case, we also examine
the effect of curvilinear mesh warping. We construct a curved warping of the initial
Cartesian mesh by mapping nodes on each hexahedron to warped nodal positions
(e
x, ye, ze) through the transformation
1
(y − 10)
(z − 2.5)
(x − 7.5)
cos π
cos π
ye = y + Ly cos 3π
8
15
20
5
(e
y − 10)
(z − 2.5)
(x − 7.5)
1
sin 4π
cos π
x
e = x + Lx cos π
8
15
20
5
(e
y − 10)
(z − 2.5)
(e
x − 7.5)
1
cos 2π
cos π
.
ze = z + Lz cos π
8
15
20
5
where Lx = 15, Ly = 20, Lz = 5. On curved meshes, the geometric terms are constructed using the approach of Kopriva described in Section 4. A CCFL = .75 is used
for all experiments.
Figure 5 shows the L2 errors for degrees N = 2, . . . , 5.2 As in the 2D case, Gauss
collocation schemes produce smaller errors than GLL collocation. The difference
between the two schemes on affine meshes is slightly more pronounced than in 2D,
while the difference between the two schemes on curved meshes is less significant than
observed in 2D experiments. We expect that this difference is due to the specific
curved mapping. The warped 2D mesh used in Figure 4 was generated to mimic a
severe “vorticular” warping. The 3D mapping is less severely warped, due to different
domain dimensions and difficulties ensuring invertibility of the map from the reference
to physical element.
2 For
the N = 2 GLL collocation scheme on the coarsest 3D mesh, the error is not shown because
the solution diverged.
20
100
10−2
10−2
L2 errors
L2 errors
100
10−4
GLL
10−6
GLL
10−6
Gauss
10−0.5
10−4
100
Mesh size h
Gauss
10−0.5
(a) Affine mesh
100
Mesh size h
(b) Curved mesh
Fig. 5: L2 errors for the 3D isentropic vortex for N = 2, . . . , 5 on sequences of Cartesian and curved meshes.
We also compared L2 errors for both isoparametric and sub-parametric geometric
mappings. In both cases, the discrete GCL is satisfied. For sub-parametric
mappings,
we chose the degree of approximation of geometry Ngeo = N2 + 1, such that the
geometric terms are computed exactly and the GCL is satisfied by default. This
test is intended to address the fact that the GCL-preserving interpolation of Kopriva
introduces a small approximation error, as the geometric terms are no longer exact.
For these sub-parametric mappings, the gap between GLL and Gauss collocation
widens slightly at N = 2. However, the results for sub-parametric mappings are
nearly identical to the results in the isoparametric case for higher polynomial degrees.
5.3. Shock-vortex interaction. The next problem considered is the shockvortex interaction described in [36]. The domain is taken to be [0, 2] × [0, 1], and
is triangulated with uniform quadrilateral elements. Wall boundary conditions are
imposed on the top and bottom boundaries, and inflow boundary conditions are typically imposed on the left and right boundaries. We modify the problem setup such
that periodic boundary conditions are imposed at the left and right boundaries. Wall
boundary conditions are imposed using a mirror state for the normal velocity, which
was shown to be entropy stable in [41, 9].
The initial condition is taken to be the superposition of a stationary shock and a
vortex propagating towards the right. The stationary Mach Ms = 1.1 shock is posi
√
tioned at x = .5 normal to the x axis, with left state (ρL , uL , vL , pL ) = 1, γ, 0, 1 ,
where uL , vL denote x, y components of the left-state velocity. The right state is a
scaling of the left state computed using the Rankine-Hugoniot conditions, such that
the ratio of upstream and downstream states is
ρL
uL
2 + (γ − 1)Ms2
=
=
,
ρR
uR
(γ + 1)Ms2
2γ
pL
=1+
Ms2 − 1 ,
pR
γ+1
vR = 0.
The isentropic vortex is centered at (xc , yc ) = (.25, .5) and given in terms of velocity
fluctuations δu and δv, which are functions of the tangential velocity vθ
δu = vθ sin(θ),
δv = −vθ cos(θ),
21
2
vθ = ǫτ eα(1−τ ) ,
(a) Entropy conservative flux, T = .3
(b) Entropy conservative flux, T = .7
(c) Lax-Friedrichs flux, T = .3
(d) Lax-Friedrichs flux, T = .7
(e) Matrix dissipation flux, T = .3
(f) Matrix dissipation flux, T = .7
Fig. 6: Shock vortex solution at time T = .7 using entropy stable Gauss collocation
schemes with N = 4, h = 1/100.
p
where r = (x −xc )2 + (y − yc )2 is the radius from the vortex center, τ = r/rc , and
y−yc
. We follow [36] and take ǫ = .3, α = .204, and rc = .05. The vortex
θ = tan−1 x−x
c
temperature is computed as a fluctuation δT of the upstream state TL = pL /ρL
2
(γ − 1)ǫ2 e2α(1−τ )
δT = −
.
4αγ
The vortex density and pressure are computed using an isentropic assumption. To
summarize, the initial condition for the shock-vortex interaction problem is
ρ = ρs
Tvor
TL
1
γ−1
,
u1 = us + δu,
u2 = vs + δv,
p = ps
Tvor
TL
1
γ−1
,
where (ρs , us , vs , ps ) denote the discontinuous stationary shock solution given by the
left and right states (ρL , uL , vL , pL ) , (ρR , uR , vR , pR ).
We compare three different entropy stable Gauss collocation schemes. All three
utilize the entropy conservative flux of Chandrashekar [34]. For the first scheme,
22
we do not introduce any additional interface dissipation, which produces an entropy
conservative scheme. The second scheme introduces an entropy-dissipative interface
term using Lax-Friedrichs penalization, while the third scheme utilizes the matrix dissipation flux introduced in [25]. This flux adds a dissipation of the form RDRT Jvfk K,
where Jvfk K denotes the jump in the entropy variables. In two dimensions, the matrices
R, D are
1
1
0
1
{{u1 }} − ānx {{u1 }}
ny
{{u1 }} + ānx
R=
{{u2 }} − āny {{u2 }}
−nx
{{u2 }} + āny
1 2
h − āūn
ūn ny − {{u2 }} nx
h + āūn
2 uavg
log
log
{{ρ}} (γ−1)
{{ρ}}log
D = diag |ūn − a| {{ρ}}
,
,
|ū
|
,
|ū
|
p
,
|ū
+
a|
n
n
avg
n
2γ
γ
2γ
where ā, ūn are defined in 2D as
ūn = {{u1 }} nx + {{u2 }} ny ,
ā =
s
γpavg
{{ρ}}
log
,
h=
γ
2(γ − 1) {{β}}
log
1
+ ū,
2
and pavg , u2avg are defined as in (22).
Figure 6 shows density solutions for N = 4 and h = 1/100 Gauss collocation
schemes using a non-dissipative entropy conservative flux, a dissipative Lax-Friedrichs
flux, and a matrix dissipation flux. In all cases, the vortex passes through the shock
stably without the use of additional slope limiting, filtering, or artificial viscosity.
However, the entropy conservative scheme produces a large number of spurious oscillations in the solution. These are reduced away from the shock under Lax-Friedrichs
dissipation, though oscillations still persist around a large neighborhood of the discontinuity. The Gibbs-type oscillations are most localized under the matrix dissipation
flux.
We note that this experiment also verifies that entropy stable decoupled SBP
schemes (including the over-integrated case [11]) are compatible with entropy stable
wall boundary conditions. As far as the authors know, the stable and high order accurate imposition of such boundary conditions for existing GSBP couplings described
in [13] and Section 3.2 remains an open problem.
5.4. Inviscid Taylor-Green vortex. We conclude by investigating the behavior of entropy stable Gauss collocation schemes for the inviscid Taylor–Green vortex
[42, 3, 10]. This problem is posed on the periodic box [−π, π]3 , with initial conditions
100
1
+
(cos(2x1 ) + cos(2x2 )) (2 + cos(2x3 )) ,
γ
16
u1 = sin(x1 ) cos(x2 ) cos(x3 ),
u2 = − cos(x1 ) sin(x2 ) cos(x3 ),
u3 = 0.
ρ = 1,
p=
The Taylor–Green vortex is used to study the transition and decay of turbulence. In
the absence of viscosity, the Taylor–Green vortex develops successively smaller scales
as time increases. As a result, the solution is guaranteed to contain under-resolved
features after a sufficiently large time. We study the evolution of kinetic energy κ(t)
1
κ(t) =
|Ω|
Z
ρ
Ω
d
X
i=1
23
u2i
!
dx,
·10−2
·10−2
1.5
1.5
Affine
Affine
Curved
Curved
1
0.5
0.5
0
0
− ∂κ
∂t
1
0
5
10
Time t
15
20
(a) GLL collocation
0
5
10
Time t
15
20
(b) Gauss collocation
Fig. 7: Kinetic energy dissipation rate for entropy stable GLL and Gauss collocation
schemes with N = 7 and h = π/8.
as well as the kinetic energy dissipation rate − ∂κ
∂t , which is approximated by differencing κ(t). For both GLL and Gauss collocation schemes, integrals in the kinetic
energy formulaare evaluated using an (N + 1)-point Gauss quadrature rule.
Figure 7 shows the evolution of the kinetic energy dissipation rate from t ∈ [0, 20]
for Gauss and GLL collocation schemes on affine and curved meshes. The curved
meshes used here are constructed by modifying nodal positions through the mapping
e =x+
x
1
sin(x) sin(y) sin(z).
2
All cases utilize N = 7 and h = π/8 (corresponding to 8 elements per side), as well
as a CFL of .25. Lax-Friedrichs dissipation is used for all simulations. For both affine
and curved meshes, the presented Gauss collocation schemes remain stable in the
presence of highly under-resolved solution features. Kinetic energy dissipation rates
for both GLL and Gauss collocation are qualitatively similar and are consistent with
existing results in the literature for the inviscid Taylor-Green vortex [3, 12].
6. A theoretical cost comparison. While the numerical experiments presented in previous sections demonstrate several advantages of Gauss collocation methods over GLL collocation schemes, these do not account for additional costs associated
with Gauss collocation schemes. While a detailed time-to-solution comparison is outside of the scope of this work, we can compare computational costs associated with
Gauss, staggered-grid, and GLL collocation schemes.
The main computational costs associated with entropy stable schemes are volume operations, which include evaluations of two-point fluxes and applications of
one-dimensional differentiation and interpolation matrices. We do not count interelement communication or flux computations, as these are typically less expensive
than volume operations (especially for higher polynomial degrees). The total number of flux computations for each scheme can also be reduced using the symmetry of
fS ; however, this does not affect relative differences in the number of two-point flux
evaluations between GLL, Gauss, and staggered grid schemes. However, exploiting
24
·104
·104
2
GLL
Staggered
Gauss
GLL
Staggered
Gauss
4
1
2
0
0
1
2
3
4
5
Degree N
6
7
1
(a) Two-point flux evaluations per dimension
2
3
4
5
Degree N
6
7
(b) Est. matrix computation operations
Fig. 8: Comparison of GLL, staggered grid, and Gauss collocation schemes in terms
of number of two-point flux evaluations and operations associated with matrix computations in three dimensions.
symmetry in the Gauss scheme is slightly more straightforward (compared to GLL
and staggered grid schemes) due to the block structure of the decoupled SBP operator.
In 3D, a degree N GLL collocation scheme contains (N + 1)3 nodes. Two-point
fluxes are computed between states at one node and states at (N + 1) additional
nodes, resulting in a total of 3(N + 1)4 two-point flux evaluations. For a staggered
grid scheme, two-point fluxes are computed on a degree (N + 1) GLL grid consisting
of (N + 2)3 nodes, resulting in 3(N + 2)4 evaluations.
Gauss collocation schemes compute two-point fluxes on a grid of Gauss nodes,
resulting in 3(N + 1)4 flux evaluations in 3D. One must also evaluate two-point fluxes
between face nodes and volume nodes, and vice versa. As a result, Gauss schemes
evaluate two-point fluxes twice between each face node and the line of (N + 1) volume
nodes normal to that face, resulting in an extra 12(N + 1)3 flux evaluations in 3D.
We also consider costs associated with applying operator matrices. GLL and
Gauss collocation schemes require applying a one-dimensional
differentiation matrix
4
to each line of nodes, resulting
in
O
3(N
+
1)
operations
in
3D. Staggered-grid
schemes require O 3(N + 2)4 operations (corresponding to differentiation
in each
3
coordinate on a degree (N + 1) GLL grid) as well as O 6(N + 2)(N + 1) operations
required for interpolation to and from a (N + 1) point Gauss grid to a (N + 2) point
GLL grid in three dimensions. Gauss collocation schemes require only interpolation
to and from points on 6 faces, resulting in an additional O 12(N + 1)3 operations
per dimension per element.
Figure 8 shows the estimated number of two-point flux evaluations and matrix
operations for GLL, staggered grid, and Gauss collocation schemes in three dimensions. We observe that a straightforward implementation of Gauss collocation does
not significantly reduce the number of flux evaluations compared to staggered grid
schemes, though Gauss collocation schemes result in a significantly smaller number
of operations from matrix computations.
25
We note that the number of two-point flux evaluations and matrix operations
will impact runtime differently depending on the implementation and computational
architecture. For example, while flux evaluations typically dominate runtimes for
serial CPU implementations at all orders of approximation, they do not contribute
significantly to runtimes at polynomial degrees N = 1, . . . , 8 for implementations on
Graphics Processing Units (GPUs) [43].
7. Conclusion. This work shows how to construct efficient entropy stable high
order Gauss collocation DG schemes on quadrilateral and hexahedral meshes. Key
to the construction of efficient methods are decoupled SBP operators, which deliver
entropy stability and high order accuracy while maintaining compact inter-element
coupling terms. These operators are also compatible with existing entropy stable
methods for applying interface dissipation [25] or imposing boundary conditions. Numerical experiments demonstrate both the stability and high order accuracy of the
proposed Gauss collocation schemes on both affine and curvilinear meshes. We note
that, while the numerical experiments presented here consider only mapped Cartesian
domains, the method is also applicable to complex geometries, and future work will
focus on studying the performance of such methods on curvilinear quadrilateral and
hexahedral unstructured meshes.
We note that results for Gauss collocation are similar to those attained by entropy stable staggered-grid schemes [14], and require a similar number of two-point
flux evaluations. However, Gauss collocation schemes result in a lower number floating point operations from matrix computations compared to staggered-grid methods.
Finally, while a rigorous computational comparison between GLL and Gauss collocation schemes remains to be done, Gauss collocation schemes show significant improvements in accuracy compared to GLL collocation schemes on non-Cartesian meshes. In
particular, for sufficiently warped curvilinear mappings, degree N Gauss collocation
schemes achieve an accuracy comparable to degree (N + 1) GLL collocation schemes
in two and three dimensions.
8. Acknowledgments. Jesse Chan is supported by NSF DMS-1719818 and
DMS-1712639. The authors thank Florian Hindenlang and Jeremy Kozdon for helpful
discussions and suggestions.
Appendix A. Decoupled SBP operators for general choices of quadrature and basis.
For general choices of quadrature and basis, decoupled projection operators involve a volume quadrature interpolation matrix Vq , a face quadrature interpolation
Np
matrix Vf , and a quadrature-based L2 projection matrix Pq . Let {φj }j=1
denote
N
q
a set of Np basis functions, and let {xi , wi }i=1
denote a set of Nq volume quadrature points and weights in d dimensions. We also introduce the set of Nqf surface
n
oNqf
quadrature points and weights xfi , wif
. Then, Vq , Vf are given as
i=1
(Vq )ij = φj (xi ),
(Vf )ij = φj xfi ,
1 ≤ i ≤ Nq ,
1 ≤ i ≤ Nqf ,
1 ≤ j ≤ Np ,
1 ≤ j ≤ Np .
These matrices can be used to define the quadrature-based L2 projection matrix Pq .
Let W , Wf denote the diagonal matrix of volume and surface quadrature weights,
respectively. Then,
M = VqT W Vq ,
Pq = M −1 VqT W .
26
Let D i now denote a modal differentiation matrix with respect to the ith coordinate,
which maps coefficients in the basis φj to coefficients of the ith derivative. By composing this matrix with interpolation and projection matrices, one can define differencing
operators Dqi = Vq D i Pq which map values at quadrature points to values of approximate derivatives at quadrature points. Moreover, Qi = W Dqi satisfies a generalized
SBP property involving the face interpolation and projection matrices Vf , Pq [11].
The decoupled SBP operator QiN is then given as
(24)
QiN
=
Qi −
1
2
T
(Vf Pq ) Wf diag (ni ) Vf Pq
− 12 Wf diag (ni ) Vf Pq
1
2
T
(Vf Pq ) Wf diag (ni )
.
1
2 Wf diag (ni )
A straightforward computation shows that QiN satisfies an SBP property [11]. It is
worth noting that the form of QiN does not depend on the choice of basis. So long as
the approximation space spanned by the basis φj does not change, the domain and
range of QiN depend solely on the choice of volume and surface quadrature points.
A collocation scheme assumes that the number of quadrature points is identical to
the number of basis functions. If the solution is represented using degree N Lagrange
polynomials at quadrature points, the matrices Vq , Pq simplify to
(Vq )ij = δij ,
M = W,
Pq = M −1 VqT W = I.
Plugging these simplifications into (24) and restricting to one spatial dimension recovers the decoupled SBP operator (9).
REFERENCES
[1] Travis C Fisher and Mark H Carpenter. High-order entropy stable finite difference schemes for
nonlinear conservation laws: Finite domains. Journal of Computational Physics, 252:518–
557, 2013.
[2] Mark H Carpenter, Travis C Fisher, Eric J Nielsen, and Steven H Frankel. Entropy Stable
Spectral Collocation Schemes for the Navier–Stokes Equations: Discontinuous Interfaces.
SIAM Journal on Scientific Computing, 36(5):B835–B867, 2014.
[3] Gregor J Gassner, Andrew R Winters, and David A Kopriva. Split form nodal discontinuous
Galerkin schemes with summation-by-parts property for the compressible Euler equations.
Journal of Computational Physics, 327:39–66, 2016.
[4] Gregor J Gassner. A skew-symmetric discontinuous Galerkin spectral element discretization and
its relation to SBP-SAT finite difference methods. SIAM Journal on Scientific Computing,
35(3):A1233–A1253, 2013.
[5] Zhijian J Wang, Krzysztof Fidkowski, Rémi Abgrall, Francesco Bassi, Doru Caraeni, Andrew
Cary, Herman Deconinck, Ralf Hartmann, Koen Hillewaert, Hung T Huynh, et al. Highorder CFD methods: current status and perspective. International Journal for Numerical
Methods in Fluids, 72(8):811–845, 2013.
[6] Constantine M Dafermos. Hyperbolic conservation laws in continuum physics. Springer, 2005.
[7] Gregor J Gassner, Andrew R Winters, Florian J Hindenlang, and David A Kopriva. The
BR1 scheme is stable for the compressible Navier–Stokes equations. Journal of Scientific
Computing, pages 1–47, 2017.
[8] Eitan Tadmor. The numerical viscosity of entropy stable schemes for systems of conservation
laws. I. Mathematics of Computation, 49(179):91–103, 1987.
[9] Tianheng Chen and Chi-Wang Shu. Entropy stable high order discontinuous Galerkin methods
with suitable quadrature rules for hyperbolic conservation laws. Journal of Computational
Physics, 345:427–461, 2017.
[10] Jared Crean, Jason E Hicken, David C Del Rey Fernández, David W Zingg, and Mark H
Carpenter. Entropy-stable summation-by-parts discretization of the Euler equations on
general curved elements. Journal of Computational Physics, 356:410–438, 2018.
[11] Jesse Chan. On discretely entropy conservative and entropy stable discontinuous Galerkin
methods. Journal of Computational Physics, 362:346 – 374, 2018.
27
[12] Jesse Chan and Lucas C Wilcox. Discretely entropy stable weight-adjusted discontinuous
Galerkin methods on curvilinear meshes. Journal of Computational Physics, 378:366 –
393, 2019.
[13] Jared Crean, Jason E Hicken, David C Del Rey Fernández, David W Zingg, and Mark H
Carpenter. High-Order, Entropy-Stable Discretizations of the Euler Equations for Complex
Geometries. In 23rd AIAA Computational Fluid Dynamics Conference. American Institute
of Aeronautics and Astronautics, 2017.
[14] Matteo Parsani, Mark H Carpenter, Travis C Fisher, and Eric J Nielsen. Entropy Stable Staggered Grid Discontinuous Spectral Collocation Methods of any Order for the Compressible
Navier–Stokes Equations. SIAM Journal on Scientific Computing, 38(5):A3129–A3162,
2016.
[15] David A Kopriva and Gregor Gassner. On the quadrature and weak form choices in collocation
type discontinuous Galerkin spectral element methods. Journal of Scientific Computing,
44(2):136–155, 2010.
[16] Florian Hindenlang, Gregor J Gassner, Christoph Altmann, Andrea Beck, Marc Staudenmaier,
and Claus-Dieter Munz. Explicit discontinuous Galerkin methods for unsteady problems.
Computers & Fluids, 61:86–93, 2012.
[17] Jesse Chan, Zheng Wang, Axel Modave, Jean-Francois Remacle, and T Warburton. GPUaccelerated discontinuous Galerkin methods on hybrid meshes. Journal of Computational
Physics, 318:142–168, 2016.
[18] David C Del Rey Fernández, Jason E Hicken, and David W Zingg. Review of summationby-parts operators with simultaneous approximation terms for the numerical solution of
partial differential equations. Computers & Fluids, 95:171–196, 2014.
[19] David C Del Rey Fernández, Jason E Hicken, and David W Zingg. Simultaneous approximation terms for multi-dimensional summation-by-parts operators. Journal of Scientific
Computing, 75(1):83–110, 2018.
[20] David C Del Rey Fernández, Pieter D Boom, and David W Zingg. A generalized framework for
nodal first derivative summation-by-parts operators. Journal of Computational Physics,
266:214–239, 2014.
[21] Sigrun Ortleb. Kinetic energy preserving DG schemes based on summation-by-parts operators
on interior node distributions. PAMM, 16(1):857–858, 2016.
[22] Sigrun Ortleb. A Kinetic Energy Preserving DG Scheme Based on Gauss–Legendre Points.
Journal of Scientific Computing, 71(3):1135–1168, 2017.
[23] Hendrik Ranocha. Generalised summation-by-parts operators and variable coefficients. Journal
of Computational Physics, 362:20 – 48, 2018.
[24] Roger A Horn and Charles R Johnson. Matrix analysis. Cambridge university press, 2012.
[25] Andrew R Winters, Dominik Derigs, Gregor J Gassner, and Stefanie Walch. A uniquely defined entropy stable matrix dissipation operator for high Mach number ideal MHD and
compressible Euler simulations. Journal of Computational Physics, 332:274–289, 2017.
[26] Eitan Tadmor. Entropy stability theory for difference approximations of nonlinear conservation
laws and related time-dependent problems. Acta Numerica, 12:451–512, 2003.
[27] Lucas Friedrich, Gero Schnücke, Andrew R Winters, David C Fernández, Gregor J Gassner,
and Mark H Carpenter. Entropy Stable Space-Time Discontinuous Galerkin Schemes
with Summation-by-Parts Property for Hyperbolic Conservation Laws. arXiv preprint
arXiv:1808.08218, 2018.
[28] Jan Nordström. Conservative finite difference formulations, variable coefficients, energy estimates and artificial dissipation. Journal of Scientific Computing, 29(3):375–404, 2006.
[29] David A Kopriva and Gregor J Gassner. Geometry effects in nodal discontinuous Galerkin
methods on curved elements that are provably stable. Applied Mathematics and Computation, 272:274–290, 2016.
[30] David A Kopriva. Metric identities and the discontinuous spectral element method on curvilinear meshes. Journal of Scientific Computing, 26(3):301–327, 2006.
[31] Amiram Harten. On the symmetric form of systems of conservation laws with entropy. Journal
of computational physics, 49(1):151–164, 1983.
[32] Thomas JR Hughes, LP Franca, and M Mallet. A new finite element formulation for computational fluid dynamics: I. Symmetric forms of the compressible Euler and Navier-Stokes
equations and the second law of thermodynamics. Computer Methods in Applied Mechanics
and Engineering, 54(2):223–234, 1986.
[33] Farzad Ismail and Philip L Roe. Affordable, entropy-consistent Euler flux functions II: Entropy
production at shocks. Journal of Computational Physics, 228(15):5410–5436, 2009.
[34] Praveen Chandrashekar. Kinetic energy preserving and entropy stable finite volume schemes
for compressible Euler and Navier-Stokes equations. Communications in Computational
28
Physics, 14(5):1252–1286, 2013.
[35] Mark H Carpenter and Christopher A Kennedy. Fourth-order 2n-storage Runge-Kutta schemes.
Technical Report NASA-TM-109112, NAS 1.15:109112, NASA Langley Research Center,
1994.
[36] Chi-Wang Shu. Essentially non-oscillatory and weighted essentially non-oscillatory schemes for
hyperbolic conservation laws. In Advanced numerical approximation of nonlinear hyperbolic
equations, pages 325–432. Springer, 1998.
[37] Alfio Quarteroni and Alberto Valli. Numerical Approximation of Partial Differential Equations.
Springer, 1994.
[38] Mo Lenoir. Optimal isoparametric finite elements and error estimates for domains involving
curved boundaries. SIAM Journal on Numerical Analysis, 23(3):562–580, 1986.
[39] T Warburton. A low-storage curvilinear discontinuous Galerkin method for wave problems.
SIAM Journal on Scientific Computing, 35(4):A1987–A2012, 2013.
[40] David M Williams and Antony Jameson. Nodal points and the nonlinear stability of high-order
methods for unsteady flow problems on tetrahedral meshes. In 21st AIAA Computational
Fluid Dynamics Conference. American Institute of Aeronautics and Astronautics, June
2013.
[41] Magnus Svärd and Hatice Özcan. Entropy-stable schemes for the Euler equations with far-field
and wall boundary conditions. Journal of Scientific Computing, 58(1):61–89, 2014.
[42] Geoffrey I Taylor and Albert E Green. Mechanism of the production of small eddies from
large ones. Proceedings of the Royal Society A: Mathematical, Physical and Engineering
Sciences, 158(895):499–521, February 1937.
[43] Niklas Wintermeyer, Andrew R Winters, Gregor J Gassner, and Timothy Warburton. An
entropy stable discontinuous Galerkin method for the shallow water equations on curvilinear meshes with wet/dry fronts accelerated by GPUs. Journal of Computational Physics,
375:447–480, 2018.
29