a moment limiter for the discontinuous galerkin …ag6961/giuliani_moment3d.pdf · 2 andrew...

26
A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN METHOD ON UNSTRUCTURED TETRAHEDRAL MESHES ANDREW GIULIANI AND LILIA KRIVODONOVA Abstract. We propose a moment limiter for the second order discontinuous Galerkin method on unstruc- tured meshes of tetrahedra. We provide a systematic way for reconstructing and limiting the solution moments from the cell averages. Our analysis reveals a restriction on the time step and local intervals in which each moment must belong such that a local maximum principle is satisfied. The time step restriction is based on a new measure of cell size that is approximately twice as large as the radius of the inscribed sphere that is typically used. Finally, we discuss limiting across reflecting boundaries for the Euler equations. The efficacy of our limiting algorithm is demonstrated with a number of test problems. 1. Introduction Slope limiting can be used to stabilize the numerical solutions that exhibit wave steepening and shock formation. A slope limiting procedure modifies the slope of the numerical solution on each element, such that it lies in a locally defined range. For one-dimensional problems, slope limiters that maintain a total variation diminishing (TVD) property have been successful [1]. However, an extension of this approach to two dimensions was shown to yield at most first order accurate schemes [2]. Alternatively, slope limiters that enforce a local maximum principle have been shown to preserve second order accuracy in two dimensions [3, 4]. Limiting in multiple dimensions is more difficult than in one dimension. In one dimension, there is only one limiting direction and clear forward and backward neighboring elements. In multiple dimensions, it is not obvious in which direction the slope must be limited, or how to define neighboring elements. Most work in multidimensional limiting has concerned two-dimensional numerical schemes. Directional derivative limiters reduce the x and y partial derivatives by constant factors such that the value of the numerical solution at the surface quadrature points is contained in a local interval defined by neighboring elements. Barth-Jespersen type limiters multiply both x and y partial derivatives by the same constant factor between 0 and 1 [4, 5]. A less restrictive type of limiter solves a small linear program on each element such that x and y partial derivatives are multiplied by different factors [6]. One way of determining which elements are neighboring is finding all elements that share a geometrical vertex with the limited element. The difficulty with using this type of limiter is that the number of vertex neighbors increases quickly with 1

Upload: others

Post on 17-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN METHOD ONUNSTRUCTURED TETRAHEDRAL MESHES

ANDREW GIULIANI AND LILIA KRIVODONOVA

Abstract. We propose a moment limiter for the second order discontinuous Galerkin method on unstruc-

tured meshes of tetrahedra. We provide a systematic way for reconstructing and limiting the solution

moments from the cell averages. Our analysis reveals a restriction on the time step and local intervals in

which each moment must belong such that a local maximum principle is satisfied. The time step restriction

is based on a new measure of cell size that is approximately twice as large as the radius of the inscribed

sphere that is typically used. Finally, we discuss limiting across reflecting boundaries for the Euler equations.

The efficacy of our limiting algorithm is demonstrated with a number of test problems.

1. Introduction

Slope limiting can be used to stabilize the numerical solutions that exhibit wave steepening and shock

formation. A slope limiting procedure modifies the slope of the numerical solution on each element, such

that it lies in a locally defined range. For one-dimensional problems, slope limiters that maintain a total

variation diminishing (TVD) property have been successful [1]. However, an extension of this approach to

two dimensions was shown to yield at most first order accurate schemes [2]. Alternatively, slope limiters that

enforce a local maximum principle have been shown to preserve second order accuracy in two dimensions

[3, 4].

Limiting in multiple dimensions is more difficult than in one dimension. In one dimension, there is

only one limiting direction and clear forward and backward neighboring elements. In multiple dimensions,

it is not obvious in which direction the slope must be limited, or how to define neighboring elements.

Most work in multidimensional limiting has concerned two-dimensional numerical schemes. Directional

derivative limiters reduce the x and y partial derivatives by constant factors such that the value of the

numerical solution at the surface quadrature points is contained in a local interval defined by neighboring

elements. Barth-Jespersen type limiters multiply both x and y partial derivatives by the same constant

factor between 0 and 1 [4, 5]. A less restrictive type of limiter solves a small linear program on each element

such that x and y partial derivatives are multiplied by different factors [6]. One way of determining which

elements are neighboring is finding all elements that share a geometrical vertex with the limited element.

The difficulty with using this type of limiter is that the number of vertex neighbors increases quickly with1

Page 2: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

2 ANDREW GIULIANI AND LILIA KRIVODONOVA

dimension. In one dimension, there are only two vertex neighbors. On good quality two dimensional

unstructured meshes of triangles, we have observed that each element can have up to 20 vertex neighbors.

On good quality three dimensional unstructured meshes of tetrahedra, this number can reach 120, which

leads to an exorbitant amount of computational work. An attempt at studying the influence of using

a subset of the vertex neighborhood for two dimensional limiting was examined in [4]. Further, the

number of vertex neighbors that compose the limiting stencil varies from element-to-element, unless the

mesh is structured. This can lead to inefficiencies, especially in codes implemented on parallel computing

architectures such as graphics processing units (GPUs) [4]. Another possible approach, called multislope

methods, reconstructs and limits the numerical solution separately on each edge, or face, of the mesh in

two and three dimensions, respectively [7, 8]. Specifically to the Euler equations of gas dynamics, positivity

preserving limiters for density and pressure as well as entropy bounding limiters have been examined in

[9] for high order DG solutions.

Moment limiting is another approach that has been examined for discontinuous Galerkin (DG) methods.

This type of limiting has successfully been applied to high order DG schemes on structured meshes [10,

11]. More recently, a generalization of these limiters was proposed for the second order DG method on

unstructured meshes of triangles in [3]. The limiter that we present in this paper is an extension of

[3] to the second order DG method on tetrahedra. The extension from triangles to tetrahedra is not

straightforward as defining the forward and backward differences is more involved, as is the derivation of

the time step restriction. The limiter works by relating the solution moments for the linear basis functions

to three directional derivatives. Then, the forward and backward differences are defined using a subset of

the vertex neighbors. Finally, these directional derivatives are limited separately of one another using the

reconstructed forward and backward differences. We derive a restriction on the time step in terms of the

cell width along the direction of flow. In the case of three inflow faces and one outflow face, the cell width

is the length of the line segment along the direction of flow connecting the vertex shared by all inflow

faces to the opposing face. The case of one inflow face and three outflow faces is similar. In the case of

two inflow and two outflow faces, the cell width is the length of the line segment along the direction of

flow that connects the edge shared by the two inflow faces to the edge shared by the two outflow faces.

Numerical experiments confirm that the resulting time step restriction is tight. Since this definition of cell

size depends on the number of inflow and outflows faces, we also propose a measure of cell size that is

independent of the direction of flow. This is easier to compute and also is suitable for nonlinear systems,

e.g., the Euler equations.

Page 3: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

A MOMENT LIMITER FOR THE DG METHOD ON UNSTRUCTURED TETRAHEDRAL MESHES 3

An additional difficulty common to all limiters is how to appropriately modify the slope on elements

adjacent reflecting boundaries of the domain. One possible approach to this issue that simplifies the

implementation of the limiter is to only enforce positivity of density and pressure on the boundary [6].

Finally, we discuss a straightforward approach to limiting across reflecting boundaries. The key idea is that

elements are locally reflected across the solid wall boundary. This approach does not require significant

modifications of the implementation of the limiter, with the majority of modifications to the code occurring

in the preprocessor.

2. The discontinuous Galerkin method

Three-dimensional hyperbolic conservation laws are partial differential equations (PDEs) of the form

(1) ut +∇ · F(u) = 0,

where F is a problem dependent flux function, u(x, t) is the solution defined on Ω×[0, T ], u = (u1, u2, . . . , uM)ᵀ

with M the number of equations, Ω is the spatial domain, x = (x, y, z) ∈ Ω, and T is the final time. We

also prescribe the initial condition at t = 0

(2) u(x, 0) = u0(x),

along with appropriate boundary conditions. The DG method is derived by dividing the domain into a set

of elements Ωi, i = 1...N , e.g., tetrahedra. The conservation law (1) is then multiplied by a test function

v ∈ H1(Ωi) and integrated over an element Ωi. Applying the divergence theorem gives

(3)

∫Ωi

utvdx−∫

Ωi

F(u) · ∇vdx +

∫∂Ωi

vF(u) · ndl = 0, ∀v ∈ H1(Ωi),

where n is the unit outward facing normal on the element’s boundary ∂Ωi. The weak form (3) is then

mapped to a canonical tetrahedron Ω0 defined by the vertices (0, 0, 0), (1, 0, 0), (0, 1, 0), (0, 0, 1). Each face

is given a face number, q, i.e, we label the face opposite vertex (1, 0, 0) face 1, the face opposite vertex

(0, 1, 0) face 2, the face opposite vertex (0, 0, 1) face 3, and the face opposite the vertex (0, 0, 0) face 4

(Figure 1). This is represented by the transformation

Page 4: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

4 ANDREW GIULIANI AND LILIA KRIVODONOVA

(0, 0, 0) (1, 0, 0)

(0, 0, 1)

r

(0, 1, 0)

s

t

Figure 1. Canonical elements Ω0.

x

y

z

1

=

xi,1 xi,2 xi,3 xi,4

yi,1 yi,2 yi,3 yi,4

zi,1 zi,2 zi,3 zi,4

1 1 1 1

1− r − s− t

r

s

t

,(4)

which has the Jacobian

(5) Ji =

xi,2 − xi,1 xi,3 − xi,1 xi,4 − xi,1

yi,2 − yi,1 yi,3 − yi,1 yi,4 − yi,1

zi,2 − zi,1 zi,3 − zi,1 zi,4 − zi,1

.

The space of linear polynomials on Ω0 is called S(Ω0) and an orthonormal basis of this space in terms of

r = (r, s, t) is

ϕ0 =√

6,

ϕ1 = −√

10 + 4√

10r,

ϕ2 = −2√

5 + 2√

5r + 6√

5s,

ϕ3 = −2√

15 + 2√

15r + 2√

15s+ 4√

15t.

(6)

The exact solution on cell Ωi is approximated by Ui, which is a linear combination of the orthonormal basis

functions, i.e., Ui =∑3

k=0 ci,kϕk, with ci,k = (c1i,k, c

2i,k, . . . , c

Mi,k)

ᵀ. The numerical solution is not continuous

at the interface between two neighboring elements. Therefore, we introduce the numerical flux F∗(Ui,Uj)

that uses the value of the numerical solution on both sides of the face. Using this in the weak form (3),

Page 5: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

A MOMENT LIMITER FOR THE DG METHOD ON UNSTRUCTURED TETRAHEDRAL MESHES 5

we have

(7)d

dtci,k =

∫Ω0

F(Ui) · (∇ϕkJ−1i ) dr− 1

det Ji

∑j∈Nf

i

∫∂Ωi,j

ϕkF∗(Ui,Uj) · ni,j dl, k = 0, . . . , 3,

where N fi is the set of indices of elements sharing a face with Ωi, ∂Ωi,j is the face shared by Ωi and Ωj

and ni,j is the outward pointing unit normal on that face. The formally second order DG method (7) is a

system of ordinary differential equations (ODEs) in the degrees of freedom ci,k, which is advanced in time

using, e.g. Heun’s method. This two stage Runge-Kutta (RK2) time integrator is a convex combination

of two forward Euler time steps.

We now restrict our attention to the case where (1) is the scalar conservation law

ut +∇ · F(u) = 0.

The ODE for the constant basis function (k = 0) in this case is

(8)d

dtci,k = − 1

det Ji

∑j∈Nf

i

∫∂Ωi,j

ϕ0F∗(Ui,Uj) · ni,j dl.

Recognizing that the cell average on Ωi is U i = ci,0ϕ0 and multiplying (8) by ϕ0 =√

6, we have

(9)d

dtU i = − 1

|Ωi|∑j∈Nf

i

∫∂Ωi,j

F∗(Ui, Uj) · ni,j dl,

where |Ωi| is the volume of the tetrahedron Ωi and det Ji = 6|Ωi|. Assuming a linear flux F = au and

computing one forward Euler time step, (9) becomes

(10) Un+1

i = Un

i −∑j∈Nf

i

∆t|∂Ωi,j||Ωi|

F∗(Uni (xi,j), U

nj (xi,j)) · ni,j,

where xi,j is the centroid of the face shared by Ωi and Ωj and |∂Ωi,j| is the area of the face ∂Ωi,j. The

upwind flux for linear advection is given by

F∗(Uni (xi,j), U

nj (xi,j)) · ni,j =

(a · ni,j)Un

j (xi,j) if j ∈ N−i ,

(a · ni,j)Uni (xi,j) if j ∈ N+

i ,

Page 6: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

6 ANDREW GIULIANI AND LILIA KRIVODONOVA

where N−i and N+i are the sets of inflow and outflow neighbors that share a face with Ωi, respectively.

Then (10) becomes

Un+1

i = Un

i + ∆t∑j∈N−

i

|a · ni,j||∂Ωi,j||Ωi|

Unj (xi,j)−∆t

∑j∈N+

i

|a · ni,j||∂Ωi,j||Ωi|

Uni (xi,j).(11)

By the divergence theorem, we have the following relation

(12)∑j∈Nf

i

|∂Ωi,j|a · ni,j = 0.

Using (12) in (11), we have

Un+1

i = Un

i + ∆t∑j∈N−

i

|a · ni,j||∂Ωi,j||Ωi|

(Unj (xi,j)− U

n

i )−∆t∑j∈N+

i

|a · ni,j||∂Ωi,j||Ωi|

(Uni (xi,j)− U

n

i ).(13)

Introducing the coefficients

(14) v−j,i = −∆ta · ni,j|∂Ωi,j||Ωi|

and v+i,j = ∆ta · ni,j

|∂Ωi,j||Ωi|

,

we write the linear scheme as

Un+1

i = Un

i +∑j∈N−

i

v−j,i(Unj (xi,j)− U

n

i )−∑j∈N+

i

v+i,j(U

ni (xi,j)− U

n

i ).(15)

We refer to the first sum on the right-hand-side of (15) as the inflow term and the second sum as the

outflow term. We limit the numerical solution at the time tn and adopt the notation that the limited

solution on Ωi and Ωj are Uni and Un

j , respectively. The solution average at tn+1 is therefore

Un+1

i = Un

i +∑j∈N−

i

v−j,i(Unj (xi,j)− U

n

i )−∑j∈N+

i

v+i,j(U

ni (xi,j)− U

n

i ).(16)

3. The limiting algorithm

Our goal is to limit the moments of the DG solution corresponding to the three linear orthonormal

basis functions such that we guarantee that the solution average at time tn+1 satisfies the local maximum

principle (LMP)

(17) minj∈Ni

Un

j ≤ Un+1

i ≤ maxj∈Ni

Un

j ,

Page 7: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

A MOMENT LIMITER FOR THE DG METHOD ON UNSTRUCTURED TETRAHEDRAL MESHES 7

without affecting the second order convergence rate of the numerical method. Ni is a set of indices of

elements in some neighborhood of Ωi along with the index i itself. A scheme for the solution averages of

the form

(18) Un+1

i = Un

i +∑j

dj(Uj − Un

i ),

will satisfy the LMP (17) if the following two conditions on the dj are satisfied

1. sum property:

(19)∑j

dj ≤ 1,

2. non-negativity property:

(20) dj ≥ 0,

where the Uj are understood to be reconstructed solution values or neighboring solution means in a locally

defined interval and dj are scalar multipliers. Therefore, we attempt to write the DG scheme for the solution

averages (10), (16) in the form (18) and derive using the sum (19) and non-negativity (20) properties the

conditions under which the LMP (17) is satisfied.

The first step is to relate each solution moment to a directional derivative. Differentiating the solution

on element i in a direction w gives

(21) DwUni (r) = cni,1

(4√

10 , 0, 0)·w + cni,2

(2√

5 , 6√

5 , 0)·w + cni,3

(2√

15 , 2√

15 , 4√

15)·w.

In the directions w1 = 3√11

(1,−1

3,−1

3

), w2 = 2√

5

(0, 1,−1

2

), and w3 = (0, 0, 1), the directional derivatives

are

Dw1Uni =

12

11

√10√

11cni,1 , Dw2Uni = 12cni,2, and Dw3U

ni = 4

√15cni,3.

We map w into the physical space and normalize to obtain on Ωi

vi =Jiw

||Jiw||.

In terms of vectors vi,1, vi,2, and vi,3 in the physical space, the directional derivatives are

(22) Dvi,1Uni = cni,1

4√

10√

113||Jiw1||

, Dvi,2Uni = cni,2

6√

5√

52||Jiw2||

, and Dvi,3Uni = cni,3

4√

15

||Jiw3||.

Page 8: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

8 ANDREW GIULIANI AND LILIA KRIVODONOVA

hi,1

hi,2

hi,3

xi,1

xi,2

xi,3

xi,4

Figure 2. hi,1 is the length of the segment connecting xi,2 and the centroid of the facedefined by xi,1, xi,3, and xi,4. hi,2 is the length of the segment connecting xi,3 and themidpoint of the edge defined by xi,1 and xi,4. hi,3 is the length of the edge defined by xi,1and xi,4.

Let hi,1 =√

113||Jiw1||, hi,2 =

√5

2||Jiw2||, and hi,3 = ||Jiw3||. The constants hi,1, hi,2, and hi,3 have the

geometrical interpretation illustrated in Figure 2, which follows from the Jacobian (5) and geometrical

considerations of the tetrahedron. Solving (22) for cni,1, cni,2, and cni,3, we obtain

(23) cni,1 =hi,1

4√

10Dvi,1

Uni , cni,2 =

hi,2

6√

5Dvi,2

Uni , and cni,3 =

hi,3

4√

15Dvi,3

Uni .

Next, we will reconstruct the directional derivatives of the numerical solution from the solution averages

in these directions.

3.1. Forward and backward differences. We aim to reconstruct the directional derivatives in these

three directions using solution averages on neighboring elements. U fi,k and U b

i,k are the forward and backward

interpolated solution values at the interpolation points xfi,k and xbi,k in the directions vi,k and −vi,k,

respectively, k = 1, 2, 3. The interpolation points lie at distances dfi,k and dbi,k from the the centroid xi, i.e.

xfi,k − xi = dfi,kvi,k and xi − xbi,k = dbi,kvi,k (Figure 3). The reconstruction of the directional derivatives is

done using the forward differences

(24) ∆fi,1 =

1

dfi,1(U f

i,1 − Un

i ), ∆fi,2 =

1

dfi,2(U f

i,2 − Un

i ), and ∆fi,3 =

1

dfi,3(U f

i,3 − Un

i ),

and the backward differences

(25) ∆bi,1 =

1

dbi,1(U

n

i − U bi,1), ∆b

i,2 =1

dbi,2(U

n

i − U bi,2), and ∆b

i,3 =1

dbi,3(U

n

i − U bi,3).

Page 9: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

A MOMENT LIMITER FOR THE DG METHOD ON UNSTRUCTURED TETRAHEDRAL MESHES 9

x1

x2x3

x4

X

Y

Z

(a) Triangulation of the convex hull of neighboring cen-troids.

xbi,1

xfi,1

X

Y

Z

(b) Interpolation planes for vi,1.

xbi,2

xfi,2

X

Y

Z

(c) Interpolation planes for vi,2.

xbi,3

xfi,3

X

Y

Z

(d) Interpolation planes for vi,3.

Figure 3. Determining the forward and backward interpolation planes in the three limiting directions.

The reconstructed solution values U fi,k and U b

i,k are linearly interpolated from neighboring solution averages.

The determination of which elements to include in the linear interpolation is completed once for a particular

mesh as a preprocessing stage composed of the following three steps for each element Ωi:

1. Compile the list of vertex neighbors of Ωi. Two elements are considered vertex neighbors if they

share a geometrical vertex.

Page 10: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

10 ANDREW GIULIANI AND LILIA KRIVODONOVA

2. Find the triangular faces of the convex hull defined by the centroids of the vertex neighbors (Figure

3a).

3. Determine the forward and backward interpolation elements for each limiting direction vi,k, k =

1, 2, 3.

After completion of Step 1 for all elements, the quickhull algorithm provided in the Qhull package [12] is

used for Step 2. The algorithm returns the surface triangulation as a list of triangular faces. For each face

in the list, we find the point of intersection between the plane defined by the face and the line defined by

(xi,vi,k), i.e., the centroid of the tetrahedron, and the limiting direction vi,k. If the point of intersection

lies in the face, i.e., can be expressed as a convex combination of the face vertices, then we have found an

interpolation point in the forward or backward reconstruction direction vi,k, k = 1, 2, 3.

An interpolation point (forward or backward) p in the direction vi,k belongs to a face of the hull, where

it satisfies

(26) n · (p− f) = 0,

where n is the normal of the face and f is a vertex of the face. This point can be written in vector form

(27) p = xi + svi,k,

where s is the Euclidean distance between the centroid of Ωi, xi, and the interpolation point, p. Subtracting

f from (27), dotting the difference with n, and using (26), we can solve for s

(28) s =(f − xi) · n

vi,k · n.

If s > 0, then p = xi + svi,k is the forward interpolation point xfi,k and dfi,k = s. Alternatively, if s < 0

then it corresponds to a backward interpolation point xbi,k and dbi,k = −s.

We write the reconstructed solution values as a convex combination of the solution averages associated

with the centroids of the face of the convex hull to which the interpolation points belong, i.e., we express

it in barycentric coordinates. For example, consider the three forward interpolation elements for vi,1, the

centroids of which we refer to as xj, xq, and xm. The area of the triangle formed by these centroids is A,

and Aj, Aq, and Am are the areas of the smaller triangles in Figure 4. The forward reconstructed solution

value is

U fi,1 = wfi,jU j + wfi,qU q + wfi,mUm,

Page 11: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

A MOMENT LIMITER FOR THE DG METHOD ON UNSTRUCTURED TETRAHEDRAL MESHES 11

xfi,1

AjAq

Am

xj

xm

xq

Figure 4. Areas Aj, Aq, and Am used for determining the forward interpolation weights

for limiting direction vi,1. The points xj, xq, xm, and xfi,1 lie in the same plane.

where the interpolation weights are given by

wfi,j =AjA, wfi,q =

AqA, and wfi,m =

AmA.

3.2. The limited numerical solution. We aim to limit the solution moments by comparing them to the

appropriate forward and backward differences. From (23), the limited solution moments can be written in

terms of the forward differences

(29) cni,1 = li,1hi,1

4√

10∆fi,1, cni,2 = li,2

hi,2

6√

5∆fi,2, and cni,3 = li,3

hi,3

4√

15∆fi,3.

where li,1, li,2, and li,3 are the non-negative limiting coefficients that will be specified later. We aim to

express the DG scheme with the limited numerical solution (16) in the form (18) by writing the inflow

terms of (16) as

(30) Unj (xi,j)− U

n

i = fj,i(Un

j − Un

i ) + fj,i,1(U−j,i,1 − Un

i ) + fj,i,2(U−j,i,2 − Un

i ) + fj,i,3(U−j,i,3 − Un

i ) for j ∈ N−i ,

where fj,i, fj,i,1, fj,i,2, and fj,i,3 are non-negative constants and U−j,i,1, U−j,i,2, and U−j,i,3 are reconstructed

solution values in the forward or backward directions ±vi,1, ±vi,2, and ±vi,3, respectively. Similarly, we

will write the outflow terms of (16) as

(31) Uni (xi,j)− U

n

i = −[gi,j,1(U+

i,j,1 − Un

i ) + gi,j,2(U+i,j,2 − U

n

i ) + gi,j,3(U+i,j,3 − U

n

i )]

for j ∈ N+i ,

where gi,j,1, gi,j,2, and gi,j,3 are non-negative constants and U+i,j,1, U+

i,j,2, and U+i,j,3 are reconstructed solution

values in the forward or backward directions ±vi,1, ±vi,2, and ±vi,3, respectively.

Page 12: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

12 ANDREW GIULIANI AND LILIA KRIVODONOVA

3.3. Inflow term. We start with the inflow term of (16). The limited numerical solution on an inflow

neighbor Ωj at xj,i = xi,j = x(rj,i), the centroid of the face shared by Ωj and Ωi, can be written using

(24), (25), and (29) as

(32) Unj (x(rj,i)) =

3∑k=0

cj,kϕk(x(rj,i)) = Un

j + lj,1ϕ1(rj,i)hj,1

4√

10

1

dfj,1(U f

j,1 − Un

j )

+ lj,2ϕ2(rj,i)hj,2

6√

5

1

dfj,2(U f

j,2 − Un

j ) + lj,3ϕ3(rj,i)hj,3

4√

15

1

dfj,3(U f

j,3 − Un

j ).

We relate the forward and backward differences with

(33) ri,k =∆bi,k

∆fi,k

for k = 1, 2, 3,

and introduce the following notation for convenience

(34) α−j,i,1 =

hj,1

4√

10

ϕ1(rj,i)

dfj,1if ϕ1(rj,i) ≥ 0,

hj,14√

10

|ϕ1(rj,i)|rj,1dbj,1

otherwise,

and U−j,i,1 =

U fj,1 if ϕ1(rj,i) ≥ 0,

U bj,1 otherwise.

(35) α−j,i,2 =

hj,26√

5

ϕ2(rj,i)

dfj,2if ϕ2(rj,i) ≥ 0,

hj,26√

5

|ϕ2(rj,i)|rj,2dbj,2

otherwise,

and U−j,i,2 =

U fj,2 if ϕ2(rj,i) ≥ 0,

U bj,2 otherwise.

(36) α−j,i,3 =

hj,3

4√

15

ϕ3(rj,i)

dfj,3if ϕ3(rj,i) ≥ 0,

hj,34√

15

|ϕ3(rj,i)|rj,3dbj,3

otherwise,

and U−j,i,3 =

U fj,3 if ϕ3(rj,i) ≥ 0,

U bj,3 otherwise.

Using (34) - (36) in (32), we obtain

(37) Unj (xi,j) = U

n

j + lj,1α−j,i,1(U−j,i,1 − U

n

j ) + lj,2α−j,i,2(U−j,i,2 − U

n

j ) + lj,3α−j,i,3(U−j,i,3 − U

n

j ).

Subtracting Un

i from both sides of (37), then adding and subtracting Un

i in the last three terms on the

right, we have

Unj (xi,j)− U

n

i = Un

j − Un

i + lj,1α−j,i,1(U−j,i,1 − U

n

i + Un

i − Un

j ) + lj,2α−j,i,2(U−j,i,2 − U

n

i + Un

i − Un

j )

+lj,3α−j,i,3(U−j,i,3 − U

n

i + Un

i − Un

j ),

Page 13: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

A MOMENT LIMITER FOR THE DG METHOD ON UNSTRUCTURED TETRAHEDRAL MESHES 13

which gives

(38) Unj (xi,j)− U

n

i = (1− lj,1α−j,i,1 − lj,2α−j,i,2 − lj,3α−j,i,3)(Un

j − Un

i )

+ lj,1α−j,i,1(U−j,i,1 − U

n

i ) + lj,2α−j,i,2(U−j,i,2 − U

n

i ) + lj,3α−j,i,3(U−j,i,3 − U

n

i ).

With the introduction of coefficients

(39)

fj,i = 1− lj,1α−j,i,1 − lj,2α−j,i,2 − lj,3α−j,i,3,

fj,i,1 = lj,1α−j,i,1,

fj,i,2 = lj,2α−j,i,2,

fj,i,3 = lj,2α−j,i,3,

(38) is now in the form (30).

3.4. Outflow term. Now consider the outflow term of (16). The limited numerical solution on Ωi at

xj,i = xi,j = x(ri,j) can be written using (24), (25), and (29) as

(40)

Uni (x(ri,j)) = U

n

i + li,1ϕ1(ri,j)hi,1

4√

10

1

dfi,1(U f

i,1 − Un

i ) + li,2ϕ2(ri,j)hi,2

6√

5

1

dfi,2(U f

i,2 − Un

i )

+li,3ϕ3(ri,j)hi,3

4√

15

1

dfi,3(U f

i,3 − Un

i ).

As for the inflow term, we introduce the following notation for convenience

(41) α+i,1 =

hi,1

4√

10

|ϕ1(ri,j)|dfi,1

if ϕ1(ri,j) ≤ 0,

hi,14√

10

ϕ1(ri,j)

ri,1dbi,1otherwise,

and U+i,j,1 =

U fi,1 if ϕ1(ri,j) ≤ 0

U bi,1 otherwise,

(42) α+i,2 =

hi,26√

5

|ϕ2(ri,j)|dfi,2

if ϕ2(ri,j) ≤ 0

hi,26√

5

ϕ2(ri,j)

ri,2dbi,2otherwise.

and U+i,j,2 =

U fi,2 if ϕ2(ri,j) ≤ 0

U bi,2 otherwise.

(43) α+i,3 =

hi,3

4√

15

|ϕ3(ri,j)|dfi,3

if ϕ3(ri,j) ≤ 0

hi,34√

15

ϕ3(ri,j)

ri,3dbi,3otherwise.

and U+i,j,3 =

U fi,3 if ϕ3(ri,j) ≤ 0

U bi,3 otherwise.

Page 14: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

14 ANDREW GIULIANI AND LILIA KRIVODONOVA

Therefore, (40) becomes

Uni (xi,j)− U

n

i = −[li,1α

+i,j,1(U+

i,j,1 − Un

i ) + li,2α+i,j,2(U+

i,j,2 − Un

i ) + li,3α+i,j,3(U+

i,j,3 − Un

i )],(44)

with

(45)

gi,j,1 = li,1α+i,j,1

gi,j,2 = li,2α+i,j,2

gi,j,3 = li,3α+i,j,3.

(40) is now in the form (31).

3.5. Putting it all together. Combining (38) and (44), we obtain

Un+1

i = Un

i +∑j∈N−

i

v−j,i[fj,i(U

n

j − Un

i ) + fj,i,1(U−j,i,1 − Un

i ) + fj,i,2(U−j,i,2 − Un

i ) + fj,i,3(U−j,i,3 − Un

i )]

(46)

+∑j∈N+

i

v+i,j

[gi,j,1(U+

i,j,1 − Un

i ) + gi,j,2(U+i,j,2 − U

n

i ) + gi,j,3(U+i,j,3 − U

n

i )].(47)

This is now in the form (18). In order for Un+1

i to satisfy the LMP (17), the sum condition (19) must be

satisfied, i.e., we require

(48)∑j∈N−

i

v−j,i [fj,i + fj,i,1 + fj,i,2 + fj,i,3] +∑j∈N+

i

v+i,j [gi,j,1 + gi,j,2 + gi,j,3] ≤ 1.

Using (39) and (45) in the above, we require

(49)∑j∈N−

i

v−j,i +∑j∈N+

i

v+i,j

(li,1α

+i,j,1 + li,2α

+i,j,2 + li,3α

+i,j,3

)≤ 1.

For (49) to be satisfied, we enforce on each outflow face of Ωi

li,1α+i,j,1 + li,2α

+i,j,2 + li,3α

+i,j,3 ≤ 1, ∀j ∈ N+

i ,(50)

and on all elements

∑j∈N−

i

v−j,i +∑j∈N+

i

v+i,j ≤ 1.(51)

Page 15: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

A MOMENT LIMITER FOR THE DG METHOD ON UNSTRUCTURED TETRAHEDRAL MESHES 15

The non-negativity condition (20) is satisfied if fj,i ≥ 0 by (39), i.e.

lj,1α−j,i,1 + lj,2α

−j,i,2 + lj,3α

−j,i,3 ≤ 1, ∀j ∈ N−i .(52)

The other coefficients fj,i,1, fj,i,2, fj,i,3 and gi,j,1, gi,j,2, gi,j,3 are non-negative by construction.

3.6. Time step restriction. Using the definitions of v−j,i and v+i,j in (14), we have from (51)

(53) ∆t

∑j∈N−

i

|a · ni,j||∂Ωi,j||Ωi|

+∑j∈N+

i

|a · ni,j||∂Ωi,j||Ωi|

≤ 1,

since a · ni,j < 0 for j ∈ N−i and a · ni,j > 0 for j ∈ N+i . From (12), we obtain

−∑j∈N−

i

|∂Ωi,j|a · ni,j =∑j∈N+

i

|∂Ωi,j|a · ni,j.

Because a · ni,j < 0 for j ∈ N−i and a · ni,j > 0 for j ∈ N+i , this becomes

(54)∑j∈N−

i

|∂Ωi,j||a · ni,j| =∑j∈N+

i

|∂Ωi,j||a · ni,j|.

Using the above, we can determine a restriction on the time step size. First, consider the case of one

outflow face and three inflow faces, as illustrated in Figure 5a. From (54), we have

(55)∑j∈N−

i

|∂Ωi,j||a · ni,j| = |∂Ωi,J ||a · ni,J |,

where ∂Ωi,J is the single outflow face (the face opposite vertex xi,1 in Figure 5a). Using (55) in (53), we

obtain

(56) 2∆t|∂Ωi,J ||a · ni,J |

|Ωi|≤ 1.

From Figure 5a, we have

(57)|a · ni,J |||a||

= cos θ =Hi

hi,

where ni,J is the unit outward normal to the outflow face, θ is the angle between a and ni,J , hi is the cell

width in the direction of a shown in Figure 5a, and Hi is the cell width in the direction of ni,J . Finally,

the volume of the tetrahedron is

(58) |Ωi| =1

3|∂Ωi,J |Hi.

Page 16: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

16 ANDREW GIULIANI AND LILIA KRIVODONOVA

Using (57) and (58) in (56) and solving for ∆t, the time step restriction becomes

(59) ∆t ≤ 1

6

hi||a||

.

This result is also valid in the case of three inflow faces and one outflow face.

Consider now the case of two inflow and two outflow faces. We define hi to be the length of the line

segment with direction a that connects the edge defined by xi,2 and xi,4, shared by the two inflow faces

with the edge defined by xi,1 and xi,3, shared by the two outflow faces (Figure 5b). We divide Ωi into two

smaller tetrahedra, as illustrated, using a plane passing through this segment and the edge defined by xi,2

and xi,4. Summing the volume of these two smaller tetrahedra gives the volume of the larger tetrahedron

(60) |Ωi| =1

3|∂Ωi,K |HK +

1

3|∂Ωi,L|HL,

where HK and HL are the heights of the two smaller tetrahedra measured from the two inflow faces, ∂Ωi,K

and ∂Ωi,L, given by vertices (xi,1, xi,2, xi,4) and (xi,2, xi,3, xi,4), respectively. Multiplying and dividing

(60) by hi and using (57), we have

(61) |Ωi| =1

3

hi||a||

(|∂Ωi,K ||a · ni,K |+ |∂Ωi,L||a · ni,L|) .

We express the time step restriction for this case in terms of the areas of the two inflow faces by using (54)

in (53)

(62) 2∆t|∂Ωi,K ||a · ni,K |+ |∂Ωi,L||a · ni,L|

|Ωi|≤ 1.

Substituting (61) into (62), we then obtain the same restriction on the time step as in (59) although with

the hi defined in Figure 5b.

In the case where a is parallel to one or two of the faces, the analysis is similar to the case of one inflow

and three outflow faces, and hi is the one depicted in Figure 5a.

For systems of equations, generally, there is not a single direction of wave propagation. A simple measure

of cell size independent of the direction of propagation is

(63) hi = 3|Ωi|

|∂Ωi,j1|+ |∂Ωi,j2|,

Page 17: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

A MOMENT LIMITER FOR THE DG METHOD ON UNSTRUCTURED TETRAHEDRAL MESHES 17

(a) Three inflow faces (xi,1, xi,2, xi,3), (xi,1, xi,3, xi,4), (xi,1,xi,2, xi,4) and one outflow face (xi,2, xi,3, xi,4).

(b) Two inflow faces (xi,1, xi,2, xi,4), (xi,2, xi,3, xi,4) and twooutflow faces (xi,1, xi,3, xi,4), (xi,1, xi,2, xi,3).

Figure 5. Measure of cell width hi in the direction of flow.

where ∂Ωi,j1 and ∂Ωi,j2 are the faces of Ωi with the largest and second largest areas. This follows from

(61) by solving for hi and minimizing over the choices of K, L, and flow direction a. This measure of cell

size is also valid in the case of three inflow faces and one outflow face.

4. Moment limiter

Analysis in Sections 3.3 - 3.6 shows that each outflow face of an element produces two constraints on

that element’s limiting coefficients li,k, k = 1, 2, 3. The first constraint on Ωi’s limiting coefficients results

from (50) and the second results from (52) via Ωi’s neighbor. By (34) - (36) and (41) - (43), the constraints

depend on the value of the basis function evaluated at the centroid of the outflow face (Table 1). We will

have four sets of possible conditions since a tetrahedron has four faces. The constraints on the limiting

coefficients based on the face number q = 1 . . . 4 are

li,14γbi,1ri,1

≤ 1 andli,1

4γfi,1≤ 1 if q = 1,(64)

li,1

12γfi,1+

li,292γbi,2ri,2

≤ 1 andli,1

12γbi,1ri,1+

li,292γfi,2≤ 1 if q = 2,(65)

li,1

12γfi,1+

li,2

9γfi,2+

li,36γbi,3ri,3

≤ 1 andli,1

12γbi,1ri,1+

li,29γbi,2ri,2

+li,3

6γfi,3≤ 1 if q = 3(66)

li,1

12γfi,1+

li,2

9γfi,2+

li,3

6γfi,3≤ 1 and

li,112γbi,1ri,1

+li,2

9γbi,2ri,2+

li,36γbi,3ri,3

≤ 1 if q = 4,(67)

Page 18: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

18 ANDREW GIULIANI AND LILIA KRIVODONOVA

where γfi,k =dfi,khi,k

, γbi,k =dbi,khi,k

, k = 1, 2, 3, and the face number q is defined in Section 2. The above

inequalities are satisfied if

li,1 ≤ 4 min(γfi,1, γbi,1ri,1) and li,2 ≤ 3 min(γfi,2, γ

bi,2ri,2) and li,3 ≤ 2 min(γfi,3, γ

bi,3ri,3).(68)

We now write the inequalities in terms of the limited solution moments. We assume for simplicity that

all forward differences are non-negative, however the same analysis can be used for negative forward

differences. Multiplying the inequalities in (68) by ∆fi,1

hi,14√

10, ∆f

i,2hi,26√

5, and ∆f

i,3hi,3

4√

15, respectively, gives

li,1∆fi,1

hi,1

4√

10≤ hi,1√

10∆fi,1 min(γfi,1, γ

bi,1ri,1),(69)

li,2∆fi,2

hi,2

6√

5≤ hi,2

2√

5∆fi,2 min(γfi,2, γ

bi,2ri,2),(70)

li,3∆fi,3

hi,3

4√

15≤ hi,3

2√

15∆fi,3 min(γfi,3, γ

bi,3ri,3).(71)

Substituting the expressions of the forward differences (24), γi,k, and ri,k (33), for k = 1, 2, 3 and replacing

the left hand side of the above inequalities with the limited solution moments, we have

cni,1 ≤ min

(U fi,1 − U

n

i√10

,Un

i − U bi,1√

10

),(72)

cni,2 ≤ min

(U fi,2 − U

n

i

2√

5,Un

i − U bi,2

2√

5

),(73)

cni,3 ≤ min

(U fi,3 − U

n

i

2√

15,Un

i − U bi,3

2√

15

).(74)

The limiter must restrict the solution coefficients to the intervals defined by the upper bounds in (72) -

(74), i.e. the limiter becomes

cni,1 = minmod

(U fi,1 − U

n

i√10

, cni,1,Un

i − U bi,1√

10

),(75)

cni,2 = minmod

(U fi,2 − U

n

i

2√

5, cni,2,

Un

i − U bi,2

2√

5

),(76)

cni,3 = minmod

(U fi,3 − U

n

i

2√

15, cni,3,

Un

i − U bi,3

2√

15

).(77)

4.1. Geometrical requirements. The second order accuracy of the numerical solution requires that

linear data is not limited. For linear data, we have that the ratio of forward and backward differences

is 1, i.e., ri,k = 1 for k = 1, 2, 3, ∀i. In order for the slope to not be limited, we must have li,k = 1 for

Page 19: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

A MOMENT LIMITER FOR THE DG METHOD ON UNSTRUCTURED TETRAHEDRAL MESHES 19

s ϕ1 ϕ2 ϕ3

1 −√

10 0 0

2 13

√10 −4

3

√5 0

3 13

√10 2

3

√5 −2

3

√15

4 13

√10 2

3

√5 2

3

√15

Table 1. Values of the basis functions at the centroids of the canonical faces with facenumber s.

k = 1, 2, 3, ∀i by (29). Using (68), this results in the following geometrical requirements on the location of

the interpolation points

1 ≤ 4 min(γfi,1, γbi,1ri,1) and 1 ≤ 3 min(γfi,2, γ

bi,2ri,2) and 1 ≤ 2 min(γfi,3, γ

bi,3ri,3).

In terms of the forward and backward interpolation distances, we have

hi,1 ≤ 4 min(dfi,1, dbi,1) and hi,2 ≤ 3 min(dfi,2, d

bi,2) and hi,3 ≤ 2 min(dfi,3, d

bi,3),

where hi,1, hi,2, and hi,3 are illustrated in Figure 2. We check that the above requirements are satisfied

after determining the forward and backward interpolation points.

5. Limiting on reflecting boundaries

Limiting the solution on mesh elements adjacent the domain boundary is nontrivial and rarely mentioned

in the literature. We present our approach to limiting across planar reflecting boundaries, though we expect

that this methodology extends to curved geometries. A reflecting boundary condition (BC) can model the

influence of a solid wall in a flow and is implemented using ghost elements. The ghost elements take on

a reflected state where the ghost density, energy, and speeds in the two directions tangential to the plane

are taken to be the same as the interior value ρg = ρi, Eg = Ei, ug · t1 = ui · t1, and ug · t2 = ui · t2.

The ghost speed in the direction normal to the plane of symmetry is negative that of the interior value,

ug · n = −ui · n.

The difficulty in limiting in the neighborhood of these boundaries arises in Step 3 of the reconstruction

procedure in Section 3.1. If an element has a vertex on a reflecting boundary, then it may not be possible

to satisfy the second order geometrical requirements in Section 4.1. Our solution to this problem is to

expand the vertex neighborhood by including ghost cells obtained by reflecting neighbors located on the

boundary about the plane of symmetry (Figure 6). Neighbors located at the corner of two solid walls are

reflected about both planes of symmetry (Figures 6d and 6e).

Page 20: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

20 ANDREW GIULIANI AND LILIA KRIVODONOVA

xbi,1

xfi,1

X

Y

Z

(a) A boundary element’s convex hull.

xbi,1

xfi,1

X

Y

Z(b) The convex hull after reflectionof mesh elements about the plane ofsymmetry.

xbi,1

xfi,1

X

Y

Z

(c) The forward and backward inter-polation planes after reflection.

X

Y

Z

(d) A boundary element located atthe corner of two solid walls.

xbi,1

xfi,1

X

Y

Z

(e) The convex hull after reflectionof the mesh elements about the twoplanes of symmetry.

xbi,1

xfi,1

X

Y

Z

(f) The forward and backward inter-polation planes after reflection.

Figure 6. Reflecting neighboring centroids about the planes of symmetry (shaded red).

6. Computed examples

6.1. Verification of the CFL number. In this example, we demonstrate numerically that the time step

restriction (59) is tight. We construct two meshes by first dividing a unit cube into six tetrahedra using

two decompositions (Figures 7, 8). Next, the dimensions of the tetrahedra are scaled by a factor of 130

.

Finally, the scaled tetrahedral decomposition of the cube is tiled on the domain [−1, 1]3, resulting in a

regular mesh of 1,296,000 elements. In the direction [1, 1, 0], the minimum cell width of every tetrahedron

in the unit cube is√

2 for the first decomposition. After scaling, it becomes hi = 130

√2. In the direction

[−1, 1, 1], the minimum cell width on every tetrahedron in the unit cube is√

3 for the second decomposition.

After scaling, it becomes hi = 130

√3. We solve (1) until the final time T = 0.25 with the linear flux

F(u) = [u, u, 0], corresponding to the flow direction [1, 1, 0] on the first mesh. On the second mesh, we use

Page 21: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

A MOMENT LIMITER FOR THE DG METHOD ON UNSTRUCTURED TETRAHEDRAL MESHES 21

xy

z

(a) (b) (c) (d) (e) (f) (g)

Figure 7. First decomposition of the unit cube into six tetrahedra (Figure a). Individualtetrahedra are indicated by dashed red lines (Figures b-g).

xy

z

(a) (b) (c) (d) (e) (f) (g)

Figure 8. Second decomposition of the unit cube into six tetrahedra (Figure a). Individualtetrahedra indicated by dashed red lines (Figures b-g).

1/CFL Minimum Maximum3 -0.8727 2.03774 -0.3134 1.3169

5.5 -0.001642 1.00041696 0 1

(a) Forward Euler.

1/CFL Minimum Maximum3 -0.01077 1.01224 -8.271e-7 1

5.5 0 0.99996 0 0.9999

(b) RK2.

Table 2. Minimum and maximum cell averages for various CFL numbers for the firstdecomposition (Figure 7).

the flux F(u) = [−u, u, u] corresponding to the flow direction [−1, 1, 1]. The initial condition is given by

u0(x, y, z) =

1 if

√x2 + y2 + z2 ≤ 1

4,

0 otherwise.

In Tables 2 and 3, we report the maximum and minimum cell averages at the end of the simulation on

the two meshes for various CFL numbers in (59). As predicted by the analysis in Section 3.6 with forward

Euler time stepping, the scheme is local maximum principle satisfying for a CFL of 16. For RK2 time

stepping, we observe that it is possible to take a larger CFL and still satisfy the local maximum principle

[13].

6.2. Convergence study. In this example, we demonstrate the accuracy of our limiting procedure. We

solve (1) with the linear flux F(u) = [u, u, u], corresponding to the advection direction [1, 1, 1], with a

Page 22: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

22 ANDREW GIULIANI AND LILIA KRIVODONOVA

1/CFL Minimum Maximum3 -0.9426 1.74994 -0.3151 1.3559

5.5 -0.02076 1.021336 0 1

(a) Forward Euler.

1/CFL Minimum Maximum3 -0.25936 1.061604 -1.3463e-4 0.9999

5.5 0 0.99996 0 0.9999

(b) RK2.

Table 3. Minimum and maximum cell averages for various CFL numbers for the seconddecomposition (Figure 8).

101 102 10310−4

10−3

10−2

(Number of elements)13

L1

erro

r

Convergence study

Moment limiterNo limiter

Figure 9. Convergence study in Example 6.2. The slope of the blue triangle’s hypotenuseindicates second order accuracy.

bump as the initial condition given by

u0(x, y, z) =

cos2

(π2r)

if r ≤ 1,

0 elsewhere,

where r = 2√x2 + y2 + z2 until the final time T = 0.25. We solve the problem on a sequence of structured

meshes. The initial mesh in the sequence is obtained by dividing the domain into a grid of 20×20×20 cubes,

then dividing those cubes into tetrahedra using the first decomposition shown in Figure 7. Subsequent

meshes in the sequence are obtained by dividing the volume of the cubes by a factor of eight. The errors

of the limited and unlimited solutions on a sequence of structured meshes are given in Figure 9. Both the

limited and unlimited solutions converge quadratically.

Page 23: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

A MOMENT LIMITER FOR THE DG METHOD ON UNSTRUCTURED TETRAHEDRAL MESHES 23

UQ UB UI

ρ 1.4 0.5 8u 0 0 -8.25v 0 0 0w 0 0 0p 1 1 116.5

Table 4. Initial states for the quiescent, bubble, and incident shock states.

R = 0.55

z

(−0.4, 0, 0)

UQ

UB

UI

x(0, 0, 0)

Figure 10. Initial set-up of the shock-bubble interaction problem. The incident shock isplanar and moves towards the spherical bubble.

6.3. Shock-bubble interaction. In this example, we model the interaction between a Mach 10 shock

and a spherical bubble. The domain is given by [−1, 1]3, where the bubble of radius R = 0.55 is centered

at the point (−0.4, 0, 0) and incident shock is located on the plane x = −0.95. Due to the symmetry of the

problem, we only need to model a quarter of the original domain, i.e. [−1, 1] × [0, 1]2. The unstructured

mesh is composed of 11,530,455 tetrahedra. The initial condition is given by the incident, quiescent, and

bubble states tabulated in Table 4, which are also illustrated in Figure 10. The states inside and outside

the bubble are given by UB and UQ, respectively. The state of the gas to the right of the leftward moving

Mach 10 incident shock is given by UI . On the boundaries defined by the planes y = 0 and z = 0, we

use reflecting boundary conditions. We apply the exact solution of the propagating Mach 10 shock at the

other boundaries since they do not interact with the bubble. A cross section of the density on the plane

y = 0 at different times between t = 0 and the final time T = 0.125 are shown in Figure 11, revealing a

complex interaction where the shock compresses the initial bubble. Isosurfaces of the density at the final

time are provided in Figure 12.

Page 24: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

24 ANDREW GIULIANI AND LILIA KRIVODONOVA

(a) T = 0.0201. (b) T = 0.0398.

(c) T = 0.0595. (d) T = 0.0790.

(e) T = 0.0983. (f) T = 0.125.

Figure 11. Shock-bubble interaction at various times.

7. Conclusion

We have presented an extension of the moment limiter on unstructured triangles [3] to unstructured

tetrahedra. Our analysis has revealed three directions in which the moments of the numerical solution

can be reconstructed. We have determined constraints on the moments and on the time step such that

a local maximum principle is satisfied. This limiting procedure is also extended to limiting across planar

reflecting boundaries.

This limiter has a stencil of constant size and does not require evaluating the numerical solution at the

quadrature points. Additionally, it’s implementation is lightweight since much of the overhead is moved

to the mesh preprocessing stage.

Page 25: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

A MOMENT LIMITER FOR THE DG METHOD ON UNSTRUCTURED TETRAHEDRAL MESHES 25

(a) View 1. (b) View 2.

Figure 12. Isosurfaces of the density at the final time T = 0.125.

Future work includes extending the moment limiter to support higher order basis functions, while keeping

the same limiting stencil. Finally, we expect that our technique for limiting across planar reflecting

boundaries also apply if they are curved.

8. Acknowledgment

This work was supported in part by the Natural Sciences and Engineering Research Council of Canada

grant 341373-07. We gratefully acknowledge the support of the NVIDIA Corporation with the donation

of hardware used for this research.

References

[1] P. K. Sweby, “High resolution schemes using flux limiters for hyperbolic conservation laws,” SIAM Journal on Numerical

Analysis, vol. 21, no. 5, pp. 995–1011, 1984.

[2] J. Goodman and R. LeVeque, “On the accuracy of TVD schemes in two space dimensions,” Math. Comp, vol. 45,

pp. 15–21, 1985.

[3] A. Giuliani and L. Krivodonova, “A moment limiter for the discontinuous Galerkin method on unstructured meshes of

triangles,” to appear in SIAM Journal on Scientific Computing, 2019.

[4] A. Giuliani and L. Krivodonova, “Analysis of slope limiters on unstructured triangular meshes,” Journal of Computa-

tional Physics, vol. 374, pp. 1 – 26, 2018.

[5] T. Barth and D. Jespersen, “The design and application of upwind schemes on unstructured meshes,” AIAA paper,

pp. 89–0366, 1989.

[6] S. May and M. Berger, “Two-dimensional slope limiters for finite volume schemes on non-coordinate-aligned meshes,”

SIAM Journal on Scientific Computing, vol. 35, no. 5, pp. A2163–A2187, 2013.

Page 26: A MOMENT LIMITER FOR THE DISCONTINUOUS GALERKIN …ag6961/GIULIANI_moment3D.pdf · 2 ANDREW GIULIANI AND LILIA KRIVODONOVA dimension. In one dimension, there are only two vertex neighbors

26 ANDREW GIULIANI AND LILIA KRIVODONOVA

[7] T. Buffard and S. Clain, “Monoslope and multislope MUSCL methods for unstructured meshes,” Journal of Computa-

tional Physics, vol. 229, no. 10, pp. 3745–3776, 2010.

[8] C. Le Touze, A. Murrone, and H. Guillard, “Multislope MUSCL method for general unstructured meshes,” Journal of

Computational Physics, vol. 284, pp. 389–418, 2015.

[9] Y. Lv and M. Ihme, “Entropy-bounded discontinuous Galerkin scheme for Euler equations,” Journal of Computational

Physics, vol. 295, pp. 715–739, 2015.

[10] R. Biswas, K. D. Devine, and J. E. Flaherty, “Parallel, adaptive finite element methods for conservation laws,” Applied

Numerical Mathematics, vol. 14, no. 1-3, pp. 255–283, 1994.

[11] L. Krivodonova, “Limiters for high-order discontinuous Galerkin methods,” Journal of Computational Physics, vol. 226,

no. 1, pp. 879–896, 2007.

[12] C. B. Barber, D. P. Dobkin, and H. Huhdanpaa, “The quickhull algorithm for convex hulls,” ACM Transactions on

Mathematical Software (TOMS), vol. 22, no. 4, pp. 469–483, 1996.

[13] A. Giuliani and L. Krivodonova, “On the optimal CFL number of SSP methods for hyperbolic problems,” Applied

Numerical Mathematics, 2018.