high order numerical methods for conservation lawschenx/notes/ams565-lecture.pdf · high order...
TRANSCRIPT
HIGH ORDER NUMERICAL METHODS
FOR CONSERVATION LAWS
Instructor: Xiaolei Chen, Prof. Xiaolin LiCourse: AMS 565
WENO scheme and DG method
Department of Applied Mathematics and Statistics
Stony Brook University, Stony Brook, NY 11794-3600
Overview
Brief History
Weighted Essentially Non-Oscillatory Scheme
Reconstruction procedure
ENO reconstruction
WENO reconstruction
Flux approximation
Hyperbolic systems
Time discretization (TVDRK)
1D gas dynamic example
Modifications on WENO scheme
Overview (cont.)
Discontinuous Galerkin Method
Semi-Discretion
Cell Entropy Inequality
Some Limiters
Implementation
Summary
References
Brief History
Traditional FDM: fixed
stencil interpolation
Gibbs phenomenon:
oscillations near discontinuities
Before 1987, two common ways to eliminate or reduce such oscillations:
adding an artificial viscosity (problem-dependent parameter), applying
limiters (first order accuracy near smooth extrema).
Brief History (cont.)
ENO schemes were started with the classic paper of Harten, Engquist,
Osher and Chakravarthy in 1987.
ENO schemes based on point values and TVD Runge-Kutta time
discretizations were developed by Shu and Osher in 1988 and 1989.
The first WENO scheme is constructed by Liu, Chan and Osher in 1994 for
a third order finite volume version in one space dimension.
A new way of measuring the smoothness of a numerical solution, by
emulating the idea of minimizing the total variation of the approximation,
was proposed by Jiang and Shu in 1996.
Brief History (cont.)
• 1973: First discontinuous Galerkin method for steady state linear scalar
conservation laws (Reed and Hill).
• 1974: First error estimate (for tensor product mesh) of the discontinuous
Galerkin method of Reed and Hill (LeSaint and Raviart).
• 1986: Error estimates for discontinuous Galerkin method of Reed and
Hill (Johnson and Pitkaranta).
• 1989-1998: Runge-Kutta discontinuous Galerkin method for nonlinear
conservation laws (Cockburn, Shu, ...).
• 1994: Proof of cell entropy inequality for discontinuous Galerkin
method for nonlinear conservation laws in general multidimensional
triangulations (Jiang and Shu)
WENO Scheme
Weighted Essentially Non-Oscillatory Scheme
Reconstruction procedure
ENO reconstruction
WENO reconstruction
Flux approximation
Hyperbolic systems
Time discretization (TVDRK)
1D gas dynamic example
Modifications on WENO scheme
Reconstruction Procedure
Finite volume based:
𝑢𝑡 + 𝑓(𝑢)𝑥 = 0
𝑥𝑖−1/2
𝑥𝑖+1/2
𝑢𝑡 𝑑𝑥 + 𝑥𝑖−1/2
𝑥𝑖+1/2
𝑓(𝑢)𝑥 𝑑𝑥 = 0
𝑑 𝑢𝑖𝑑𝑡
+𝑓 𝑢 𝑥𝑖+1/2, 𝑡 − 𝑓 𝑢 𝑥𝑖−1/2, 𝑡
∆𝑥𝑖= 0
where 𝑢𝑖 is the cell average on 𝐼𝑖 = (𝑥𝑖−1/2, 𝑥𝑖+1/2).
Goal: approximate 𝑢 𝑥𝑖+1/2, 𝑡 and 𝑢 𝑥𝑖−1/2, 𝑡 by cell averages { 𝑢𝑖}. On
the cell 𝐼𝑖 = (𝑥𝑖−1/2, 𝑥𝑖+1/2), denote
𝑢𝑖+1/2− = 𝑢 𝑥𝑖+1/2, 𝑡 + 𝑂 ∆𝑥𝑘
𝑢𝑖−1/2+ = 𝑢 𝑥𝑖−1/2, 𝑡 + 𝑂(∆𝑥𝑘)
where ∆𝑥 = max{∆𝑥𝑖}.
Reconstruction Procedure (cont.)
Finite difference based:
𝑢𝑡 + 𝑓(𝑢)𝑥 = 0
𝑑𝑢𝑖𝑑𝑡
+ 𝑓𝑖+1/2 − 𝑓𝑖−1/2
∆𝑥≈ 0
where 𝑓𝑖+1/2 and 𝑓𝑖−1/2 are approximations of flux at the cell boundary of
𝐼𝑖 = (𝑥𝑖 − ∆𝑥/2, 𝑥𝑖 + ∆𝑥/2).
Goal: approximate 𝑓 𝑢 𝑥𝑖 + ∆𝑥/2, 𝑡 and 𝑓 𝑢 𝑥𝑖 − ∆𝑥/2, 𝑡 by {𝑓𝑖 =
𝑓(𝑢 𝑥𝑖 , 𝑡 )} and require 𝑓𝑖+1/2 − 𝑓𝑖−1/2
∆𝑥= 𝑓(𝑢)𝑥|𝑥=𝑥𝑖 + 𝑂(∆𝑥𝑘)
On the cell 𝐼𝑖 = (𝑥𝑖 − ∆𝑥/2, 𝑥𝑖 + ∆𝑥/2).denote 𝑓𝑖+1/2− = 𝑓 𝑢 𝑥𝑖 + ∆𝑥/2, 𝑡 + 𝑂(∆𝑥𝑘) 𝑓𝑖−1/2+ = 𝑓 𝑢 𝑥𝑖 − ∆𝑥/2, 𝑡 + 𝑂(∆𝑥𝑘)
Reconstruction Procedure (cont.)
Finite volume based problem does not necessarily require
uniform grid.
However, finite difference based problem must have uniform
grid, otherwise, the accuracy can be no higher than second
order.
Both problems have the goal to do approximation at the cell
boundaries, but different input and output.
approximate 𝑢 𝑥𝑖+1/2, 𝑡 and 𝑢 𝑥𝑖−1/2, 𝑡 by { 𝑢𝑖}.
approximate 𝑓 𝑢 𝑥𝑖 + ∆𝑥/2, 𝑡 and 𝑓 𝑢 𝑥𝑖 − ∆𝑥/2, 𝑡
by {𝑓𝑖 = 𝑓(𝑢 𝑥𝑖 , 𝑡 )}
Reconstruction Procedure (cont.)
Finite volume based:
𝑢𝑖+1/2 = 𝑗=0
𝑘−1
𝑐𝑟𝑗 𝑢𝑖−𝑟+𝑗
𝑐𝑟𝑗 = 𝑚=𝑗+1
𝑘 𝑙=0,𝑙≠𝑚𝑘 𝑞=0,𝑞≠𝑚.𝑙
𝑘 (𝑥𝑖+1/2 − 𝑥𝑖−𝑟+𝑞−1/2)
𝑙=0,𝑙≠𝑚𝑘 (𝑥𝑖−𝑟+𝑚−1/2−𝑥𝑖−𝑟+𝑙−1/2)
∆𝑥𝑖−𝑟+𝑗
Finite difference based:
𝑓𝑖+1/2 = 𝑗=0
𝑘−1
𝑐𝑟𝑗𝑓𝑖−𝑟+𝑗
𝑐𝑟𝑗 = 𝑚=𝑗+1
𝑘 𝑙=0,𝑙≠𝑚𝑘 𝑞=0,𝑞≠𝑚.𝑙
𝑘 (𝑟 − 𝑞 + 1)
𝑙=0,𝑙≠𝑚𝑘 (𝑚 − 𝑙)
Reconstruction Procedure (cont.)
Example: k = 2
𝑢𝑖+1/2 = −1
2 𝑢𝑖−1 +
3
2 𝑢𝑖
𝑢𝑖+1/2 =1
2 𝑢𝑖 +
1
2 𝑢𝑖+1
𝑢𝑖+1/2 =3
2 𝑢𝑖+1 −
1
2 𝑢𝑖+2
Example: k = 3
𝑓𝑖+1/2 =1
3𝑓𝑖−2 −
7
6𝑓𝑖−1 +
11
6𝑓𝑖
𝑓𝑖+1/2 = −1
6𝑓𝑖−1 +
5
6𝑓𝑖 +
1
3𝑓𝑖+1
𝑓𝑖+1/2 =1
3𝑓𝑖 +
5
6𝑓𝑖+1 −
1
6𝑓𝑖+2
𝑓𝑖+1/2 =11
6𝑓𝑖+1 −
7
6𝑓𝑖+2 +
1
3𝑓𝑖+3
For 𝑢𝑖+1/2−
For 𝑢𝑖+1/2+
For 𝑢𝑖+1/2−
For 𝑢𝑖+1/2+
ENO Reconstruction
Instead of using fixed stencil for every cell center 𝑥𝑖 , choose adaptive
stencil at different locations.
Question: How to adaptively choose the stencil?
Answer: Use Newton divided differences.
𝑢 𝑥𝑖 = 𝑢(𝑥𝑖)
𝑢 𝑥𝑖 , … , 𝑥𝑖+𝑗 = 𝑢 𝑥𝑖+1, … , 𝑥𝑖+𝑗 − 𝑢 𝑥𝑖 , … , 𝑥𝑖+𝑗−1
𝑥𝑖+𝑗 − 𝑥𝑖
where 𝑢 𝑥𝑖 is the 0-th degree divided difference of the function 𝑢(𝑥).
Question: Why?
Answer: The absolute values of Newton divided differences are actually
related to the smoothness of the Newton’s interpolation polynomial.
ENO Reconstruction (cont.)
Recall an important property of divided differences:
If a function 𝑉 𝑥 is smooth in the stencil (𝑥𝑖−1/2, 𝑥𝑖+𝑗−1/2),
𝑉 𝑥𝑖−1/2, 𝑥𝑖+𝑗−1/2 =𝑉𝑗(𝜉)
𝑗!, 𝑥𝑖−1/2 < 𝜉 < 𝑥𝑖+𝑗−1/2
If 𝑉 𝑥 is discontinuous at some point inside the stencil,
𝑉 𝑥𝑖−1/2, 𝑥𝑖+𝑗−1/2 = 𝑂1
Δ𝑥𝑗
Thus the divided difference is a measurement of the smoothness of the
function inside the stencil.
ENO Reconstruction (cont.)
Example: k = 3
There are three possible reconstructions for the cell 𝐼𝑖 .
Start with a one cell stencil 𝑆1 𝑖 = 𝐼𝑖 .
Next step, we have two choices to expand the stencil by adding one
neighbor cell: 𝐼𝑖−1 or 𝐼𝑖+1.
If | 𝑢 𝑥𝑖−1, 𝑥𝑖 | < | 𝑢 𝑥𝑖 , 𝑥𝑖+1 |, choose 𝑆2 𝑖 = 𝐼𝑖−1, 𝐼𝑖 ;
If |𝑢 𝑥𝑖−1, 𝑥𝑖 | > | 𝑢 𝑥𝑖 , 𝑥𝑖+1 |, choose 𝑆2 𝑖 = 𝐼𝑖 , 𝐼𝑖+1 ;
Assuming we get 𝑆2 𝑖 = 𝐼𝑖−1, 𝐼𝑖 , next step is to add another neighbor
cell: 𝐼𝑖−2 or 𝐼𝑖+1.
If |𝑢 𝑥𝑖−2, 𝑥𝑖−1, 𝑥𝑖 | < | 𝑢 𝑥𝑖−1, 𝑥𝑖 , 𝑥𝑖+1 |, choose 𝑆3 𝑖 = 𝐼𝑖−2, 𝐼𝑖−1, 𝐼𝑖 ;
If |𝑢 𝑥𝑖−2, 𝑥𝑖−1, 𝑥𝑖 | > | 𝑢 𝑥𝑖−1, 𝑥𝑖 , 𝑥𝑖+1 |, choose 𝑆3 𝑖 = 𝐼𝑖−1, 𝐼𝑖 , 𝐼𝑖+1 ;
Then, the stencil for the cell 𝐼𝑖 is determined. Use the corresponding
reconstruction formula to do the approximation.
ENO Reconstruction (cont.)
ENO reconstruction is uniformly high order accurate right up to the
discontinuity. It achieves this effect by adaptively choosing the stencil based
on the absolute values of divided differences.
However, it still has rooms for improvements.
The stencil might change even by a round-off error perturbation near
zeroes of the solution and its derivatives.
In smooth regions, this “free adaption” of stencil is clearly not necessary.
Moreover, this may cause loss of accuracy.
The resulting numerical flux is not smooth, as the stencil pattern may
change at neighboring points.
k candidate stencils are considered, covering 2k-1 cells, but only one of
the stencils is actually used, resulting in k-th order accuracy.
WENO Reconstruction
WENO is an attempt to improve upon ENO in the points mentioned above.
The basic idea is following: instead of using only one of the candidate
stencils to form the reconstruction, we can use a convex combination of all
of them.
Suppose there are k candidate stencils
𝑆𝑟 𝑖 = 𝐼𝑖−𝑟 , … , 𝐼𝑖−𝑟+𝑘−1 , 𝑟 = 0, … , 𝑘 − 1
producing k different reconstructions to the value 𝑢𝑖+1/2
𝑢𝑖+1/2(𝑟)
= 𝑗=0
𝑘−1
𝑐𝑟𝑗 𝑢𝑖−𝑟+𝑗 , 𝑟 = 0,… , 𝑘 − 1
WENO reconstruction takes a convex combination of all 𝑢𝑖+1/2(𝑟)
as a new
approximation to the cell boundary value.
𝑢𝑖+1/2 = 𝑟=0
𝑘−1
𝑤𝑟𝑢𝑖+1/2(𝑟)
WENO Reconstruction (cont.)
WENO Reconstruction (cont.)
Apparently, the key to the success of WENO would be the choice of the
weights 𝑤𝑟 . We require
𝑤𝑟 ≥ 0, 𝑟=0
𝑘−1
𝑤𝑟 = 1
Let’s first take a look at the linear weights. For k = 2, we have the following
two second order approximations (consider 𝑢𝑖+1/2− )
𝑢𝑖+1/2(0)
=1
2 𝑢𝑖 +
1
2 𝑢𝑖+1
𝑢𝑖+1/2(1)
= −1
2 𝑢𝑖−1 +
3
2 𝑢𝑖
Meanwhile, using the stencil {𝐼𝑖−1, 𝐼𝑖 , 𝐼𝑖+1}, we can achieve a third order
approximation
𝑢𝑖+1/2 = −1
6 𝑢𝑖−1 +
5
6 𝑢𝑖 +
1
3 𝑢𝑖+1
WENO Reconstruction (cont.)
Easy to obtain that the linear weights for k = 2 are
𝑑0 =2
3, 𝑑1 =
1
3
Similarly, for k = 3, the linear weights are
𝑑0 =3
10, 𝑑1 =
3
5, 𝑑2 =
1
10
Some considerations about the weights {𝑤𝑟}
In smooth region, we would like to have
𝑤𝑟 = 𝑑𝑟 + 𝑂(∆𝑥𝑘−1)
When there is a discontinuity on one or more of the candidate stencils,
we would hope the corresponding weight(s) 𝑤𝑟 to be essentially 0.
The weights should be smooth functions of the cell averages involved.
We would like to have weights which are computationally efficient.
WENO Reconstruction (cont.)
All these considerations lead to the following form of weights:
𝑤𝑟 =𝛼𝑟
𝑠=0𝑘−1𝛼𝑠
, 𝛼𝑟 =𝑑𝑟
(𝜖 + 𝛽𝑟)2
where 𝜖 > 0 is introduced to avoid the denominator to become 0, and 𝛽𝑟 is
so-called “smooth indicators” of the stencil 𝑆𝑟(𝑖).
Let the reconstruction polynomial on the stencil 𝑆𝑟(𝑖) be denoted by 𝑝𝑟(𝑥),the smooth indicator are defined as
𝛽𝑟 =
𝑙=1
𝑘−1
𝑥𝑖−1/2
𝑥𝑖+1/2
Δ𝑥2𝑙−1𝜕𝑙𝑝𝑟(𝑥)
𝜕𝑥𝑙
2
𝑑𝑥
In the actual numerical implementation the smoothness indicators 𝛽𝑟 are
written out explicitly as quadratic forms of the cell averages in the stencil.
WENO Reconstruction (cont.)
Example k = 2:
𝛽0 = ( 𝑢𝑖+1 − 𝑢𝑖)2
𝛽1 = ( 𝑢𝑖 − 𝑢𝑖−1)2
This gives a third order WENO scheme.
Example k = 3:
𝛽0 =13
12( 𝑢𝑖 − 2 𝑢𝑖+1 + 𝑢𝑖+2)
2 +1
4(3 𝑢𝑖 − 4 𝑢𝑖+1 + 𝑢𝑖+2)
2
𝛽1 =13
12( 𝑢𝑖−1 − 2 𝑢𝑖 + 𝑢𝑖+1)
2 +1
4( 𝑢𝑖−1 − 𝑢𝑖+1)
2
𝛽2 =13
12( 𝑢𝑖−2 − 2 𝑢𝑖−1 + 𝑢𝑖)
2 +1
4( 𝑢𝑖−2 − 4 𝑢𝑖−1 + 3𝑢𝑖)
2
This gives a fifth order WENO scheme.
WENO Reconstruction (cont.)
1D WENO reconstruction procedure:
Obtain the k reconstructed values 𝑢𝑖+1/2(𝑟)
of k-th order accuracy, based
on the stencils 𝑆𝑟 𝑖 = 𝐼𝑖−𝑟 , … , 𝐼𝑖−𝑟+𝑘−1 , 𝑟 = 0,… , 𝑘 − 1
Find the linear weights 𝑑𝑟 such that
𝑢𝑖+1/2 = 𝑟=0
𝑘−1
𝑑𝑟 𝑢𝑖+1/2(𝑟)
= 𝑢 𝑥𝑖+1/2 + 𝑂(Δ𝑥2𝑘−1)
Find the smooth indicator 𝛽𝑟 for all 𝑟 = 0,… , 𝑘 − 1.
Form the weights 𝑤𝑟 by
𝑤𝑟 =𝛼𝑟
𝑠=0𝑘−1𝛼𝑠
, 𝛼𝑟 =𝑑𝑟
(𝜖 + 𝛽𝑟)2
Find the (2k-1)-th order reconstruction
𝑢𝑖+1/2− =
𝑟=0
𝑘−1
𝑤𝑟𝑢𝑖+1/2(𝑟)
WENO Reconstruction (cont.)
Similar procedure can be applied to reconstruct 𝑢𝑖−1/2+
Obtain the k reconstructed values 𝑢𝑖−1/2(𝑟)
of k-th order accuracy, based
on the stencils 𝑆𝑟 𝑖 = 𝐼𝑖−𝑟 , … , 𝐼𝑖−𝑟+𝑘−1 , 𝑟 = 0,… , 𝑘 − 1
Find the linear weights 𝑑𝑟. Actually, by symmetry, 𝑑𝑟 = 𝑑𝑘−1−𝑟
Find the smooth indicator 𝛽𝑟 for all 𝑟 = 0,… , 𝑘 − 1.
Form the weights 𝑤𝑟 by
𝑤𝑟 = 𝛼𝑟
𝑠=0𝑘−1 𝛼𝑠
, 𝛼𝑟 = 𝑑𝑟
(𝜖 + 𝛽𝑟)2
Find the (2k-1)-th order reconstruction
𝑢𝑖−1/2+ =
𝑟=0
𝑘−1
𝑤𝑟𝑢𝑖−1/2(𝑟)
Flux Approximation
Finite volume based:
𝑑 𝑢𝑖𝑑𝑡
+𝑓 𝑢 𝑥𝑖+1/2, 𝑡 − 𝑓 𝑢 𝑥𝑖−1/2, 𝑡
∆𝑥𝑖= 0
We approximate the above equation by the following conservative scheme
𝑑 𝑢𝑖𝑑𝑡
+ 𝑓𝑖+1/2 − 𝑓𝑖−1/2
∆𝑥𝑖= 0
The numerical flux is defined by 𝑓𝑖+1/2 = ℎ(𝑢𝑖+1/2
− , 𝑢𝑖+1/2+ )
The two argument function is a monotone flux. It satisfies
ℎ(𝑎, 𝑏) is a Lipschitz continuous function in both arguments;
ℎ(𝑎, 𝑏) is a nondecreasing function in 𝑎 and nonincreasing function in 𝑏;
ℎ(𝑎, 𝑏) is consistent with the physical flux 𝑓, that is ℎ 𝑎, 𝑎 = 𝑓(𝑎).
Flux Approximation (cont.)
Examples of monotone flux:
Godunov flux:
ℎ 𝑎, 𝑏 = 𝑚𝑖𝑛𝑎≤𝑢≤𝑏𝑓 𝑢 , 𝑖𝑓 𝑎 ≤ 𝑏
𝑚𝑖𝑛𝑏≤𝑢≤𝑎𝑓 𝑢 , 𝑖𝑓 𝑎 > 𝑏
Enquist-Osher flux:
ℎ 𝑎, 𝑏 = 0
𝑎
max 𝑓′ 𝑢 , 0 𝑑𝑢 + 0
𝑏
m𝑖𝑛 𝑓′ 𝑢 , 0 𝑑𝑢 + 𝑓(0)
Lax-Friedrichs flux:
ℎ 𝑎, 𝑏 =1
2𝑓 𝑎 + 𝑓 𝑏 − 𝛼(𝑏 − 𝑎)
where 𝛼 = 𝑚𝑎𝑥𝑢|𝑓′ 𝑢 | is a constant, and the maximum is taken over the
relevant range of 𝑢.
Flux Approximation (cont.)
The monotone fluxes are listed from the least dissipative (less smearing of
discontinuities) to the most.
For lower order methods (order of reconstruction is 1 or 2), there is a big
difference between results obtained by different monotone fluxes.
However, this difference becomes much smaller for higher order
reconstructions.
Thus, the simple and inexpensive Lax-Friedrichs flux is commonly used in
high order calculations.
Flux Approximation (cont.)
Finite difference based:
𝑑𝑢𝑖𝑑𝑡
+ 𝑓𝑖+1/2 − 𝑓𝑖−1/2
∆𝑥= 0
The numerical flux 𝑓𝑖+1/2 = 𝑓(𝑢𝑖−𝑟 , … , 𝑢𝑖−𝑟+𝑘−1) satisfies the conditions:
𝑓 is a Lipschitz continuous function in all the arguments;
𝑓 is consistent with the physical flux 𝑓, that is 𝑓 𝑢, … , 𝑢 = 𝑓(𝑢).
For the purpose of stability, the WENO reconstruction procedure is applied
to 𝑓+(𝑢) and 𝑓−(𝑢) respectively, where
𝑓 𝑢 = 𝑓+ 𝑢 + 𝑓− 𝑢𝑑
𝑑𝑢𝑓+ 𝑢 > 0,
𝑑
𝑑𝑢𝑓− 𝑢 < 0
The commonly used flux splitting is the Lax–Friedrichs splitting
𝑓± 𝑢 =1
2(𝑓 𝑢 + 𝛼𝑢)
Flux Approximation (cont.)
FD 1D scalar flux splitting WENO
Find a smooth flux splitting.
Identify 𝑢𝑖 = 𝑓+(𝑢𝑖) and use the WENO reconstruction procedure to
obtain the cell boundary values 𝑢𝑖+1/2− for all 𝑖
Take the positive numerical flux as 𝑓𝑖+1/2+ = 𝑢𝑖+1/2
−
Identify 𝑢𝑖 = 𝑓−(𝑢𝑖) and use the WENO reconstruction procedure to
obtain the cell boundary values 𝑢𝑖+1/2+ for all 𝑖
Take the negative numerical flux as 𝑓𝑖+1/2− = 𝑢𝑖+1/2
+
Form the numerical flux as 𝑓𝑖+1/2 = 𝑓𝑖+1/2
+ + 𝑓𝑖+1/2−
Hyperbolic System
Consider a hyperbolic system
𝑈𝑡 + 𝐹(𝑈)𝑥 = 0
Clearly, we can do diagonalization of 𝐹′(𝑈)𝑅−1 𝑈 𝐹′ 𝑈 𝑅 𝑈 = Λ(𝑈)
The main trouble is that 𝑅−1 𝑈 , 𝑅 𝑈 and Λ(𝑈) are dependent upon 𝑈.
We must “freeze” them locally in order to carry out the characteristic-wise
WENO reconstruction procedure. Thus, to compute the flux at the cell
boundary 𝑥𝑖+1/2, we would need an approximation to the Jacobian at the
middle value 𝑈𝑖+1/2.
This can be simply taken as the arithmetic mean
𝑈𝑖+1/2 =1
2(𝑈𝑖 + 𝑈𝑖+1)
Hyperbolic System (cont.)
Characteristic-wise FD system, flux splitting:
Compute the average state 𝑈𝑖+1/2 at each cell boundary.
Compute the right, the left eigenvectors, and the eigenvalues of the
Jacobian 𝐹′ 𝑈𝑖+1/2 , and denote them as 𝑅−1, 𝑅 and Λ.
Transform the physical flux to the characteristic fields by
𝑉𝑖 = 𝑅−1𝑈𝑖, 𝐺𝑖 = 𝑅−1𝐹(𝑈𝑖)
Perform the scalar flux splitting WENO reconstruction procedure for
each component of the characteristics variables, to obtain the
corresponding component of the flux 𝐺𝑖+1/2±
.
Transform the flux back into the physical fields by
𝐹𝑖+1/2± = 𝑅 𝐺𝑖+1/2
±
For the flux by taking 𝐹𝑖+1/2 = 𝐹𝑖+1/2
+ + 𝐹𝑖+1/2−
Time Discretization
Once we finish the reconstruction procedure, we have a ordinary
differential equation in the general form of
𝑢𝑡 = 𝐿(𝑢)
Then, third order TVD Runge-Kutta is commonly used.
𝑢(1) = 𝑢𝑛 + ∆𝑡𝐿 𝑢𝑛
𝑢(2) =3
4𝑢𝑛 +
1
4𝑢(1) +
1
4∆𝑡𝐿 𝑢(1)
𝑢𝑛+1 =1
3𝑢𝑛 +
2
3𝑢(2) +
2
3∆𝑡𝐿 𝑢(2)
There is a general form for TVD Runge-Kutta time discretization. Third order
is the mostly used together with fifth order WENO scheme.
Also, another useful time discretization is the fourth order Runge-Kutta,
although it is not TVD.
1D Gas Dynamic Example
Let’s consider one
well known
Riemann problem,
Sod’s problem,
with the following
initial condition:
𝜌𝐿, 𝑢𝐿, 𝑝𝐿 =1.0, 0.0, 1.0
𝜌𝑅 , 𝑢𝑅 , 𝑝𝑅 =0.125, 0.0, 0.1
Modifications
The JS WENO could loss accuracy at local extrema.
Following the WENO scheme developed by Jiang and Shu, there are some
modified WENO scheme intended to achieve better results. The main goal
is to achieve same order of accuracy at the local extrema.
Mapped WENO scheme
𝑔𝑟 𝑤 =𝑤(𝑑𝑟 + 𝑑𝑟
2 − 3𝑑𝑟𝑤 + 𝑤2)
𝑑𝑟2 + 𝑤(1 − 2𝑑𝑟)
𝛼𝑟∗ = 𝑔𝑟 𝑤𝑟
WENO-Z scheme
𝜏5 = 𝛽2 − 𝛽0
𝛼𝑟𝑧 = 𝑑𝑟 1 +
𝜏5𝜖 + 𝛽𝑟
2
DG Method
Discontinuous Galerkin Method
Semi-Discretion
Cell Entropy Inequality
Some Limiters
Implementation
Semi-Discretization
Some notations:
𝐼𝑗 = 𝑥𝑗−1/2, 𝑥𝑗+1/2 , ∆𝑥𝑗 = 𝑥𝑗+1/2 − 𝑥𝑗−1/2, ∆𝑥 = max{∆𝑥𝑗}
𝑣𝑗+1/2− = lim
𝜖→0−𝑣(𝑥𝑗+1/2 + 𝜖), 𝑣𝑗−1/2
+ = lim𝜖→0+
𝑣(𝑥𝑗−1/2 + 𝜖)
Define a finite-element space consisting of piecewise polynomials
𝑉ℎ𝑘 = 𝑣: 𝑣|𝐼𝑗 ∈ 𝑃𝑘 𝐼𝑗 ; 1 ≤ 𝑗 ≤ 𝑁
where 𝑃𝑘 𝐼𝑗 denotes polynomials of degree up to 𝑘 defined on the cell 𝐼𝑗 .
Semi-Discretization (cont.)
Consider the 1D scalar conservation law
𝑢𝑡 + 𝑓(𝑢)𝑥 = 0
Multiply the whole PDE by some test function 𝑣 from the finite-element
space 𝑉ℎ𝑘 and then integrate along the cell 𝐼𝑗
𝐼𝑗
𝑢𝑡𝑣 + 𝑓(𝑢)𝑥𝑣 𝑑𝑥 = 0
Apply “integral by parts” technique, it can be rewritten as
𝐼𝑗
𝑢𝑡𝑣 𝑑𝑥 − 𝐼𝑗
𝑓 𝑢 𝑣 𝑥𝑑𝑥 +
𝑓 𝑢 𝑥𝑗+1/2− , 𝑡 𝑣𝑗+1/2
− − 𝑓 𝑢 𝑥𝑗−1/2+ , 𝑡 𝑣𝑗−1/2
+ = 0
Semi-Discretization (cont.)
Semi-discret DG is to find the unique function 𝑢ℎ = 𝑢ℎ(𝑡) ∈ 𝑉ℎ𝑘 such that,
for all test function 𝑣ℎ ∈ 𝑉ℎ𝑘 and all 1 ≤ 𝑗 ≤ 𝑁, we have
𝐼𝑗
(𝑢ℎ)𝑡𝑣ℎ 𝑑𝑥 − 𝐼𝑗
𝑓 𝑢ℎ 𝑣ℎ 𝑥𝑑𝑥 +
𝑓𝑗+1/2𝑣ℎ 𝑥𝑗+1/2− − 𝑓𝑗−1/2𝑣ℎ 𝑥𝑗−1/2
+ = 0
where 𝑓𝑗+1/2 again is the numerical flux, which is a single-valued function
defined at the cell boundaries and in general depends on the values of the
numerical solution 𝑢ℎ from both sides if the cell boundary 𝑓𝑗+1/2 = ℎ(𝑢ℎ(𝑥𝑗+1/2
− , 𝑡), 𝑢ℎ(𝑥𝑗−1/2+ , 𝑡))
We use the so-called monotone fluxes from finite-difference and finite-
volume schemes for solving the conservation laws, which satisfies
Continuity, monotonicity, consistency
Semi-Discretization (cont.)
Examples of monotone flux:
Godunov flux:
ℎ 𝑎, 𝑏 = 𝑚𝑖𝑛𝑎≤𝑢≤𝑏𝑓 𝑢 , 𝑖𝑓 𝑎 ≤ 𝑏
𝑚𝑖𝑛𝑏≤𝑢≤𝑎𝑓 𝑢 , 𝑖𝑓 𝑎 > 𝑏
Enquist-Osher flux:
ℎ 𝑎, 𝑏 = 0
𝑎
max 𝑓′ 𝑢 , 0 𝑑𝑢 + 0
𝑏
m𝑖𝑛 𝑓′ 𝑢 , 0 𝑑𝑢 + 𝑓(0)
Lax-Friedrichs flux:
ℎ 𝑎, 𝑏 =1
2𝑓 𝑎 + 𝑓 𝑏 − 𝛼(𝑏 − 𝑎)
where 𝛼 = 𝑚𝑎𝑥𝑢|𝑓′ 𝑢 | is a constant, and the maximum is taken over the
relevant range of 𝑢.
Cell Entropy Inequality
Physically relevant weak solution (the so-called entropy solution) needs to
satisfy the following entropy inequality
𝑈(𝑢)𝑡 + 𝐹(𝑢)𝑥 ≤ 0
in distribution sense, for any convex entropy 𝑈(𝑢) satisfying 𝑈′′(𝑢) ≥ 0 and
the corresponding entropy flux 𝐹 𝑢 = 𝑢𝑈′ 𝑢 𝑓′ 𝑢 𝑑𝑢.
It is usually quite difficult to prove for finite difference scheme or finite
volume schemes. However, it turns out easy for DG scheme.
Property: The solution 𝑢ℎ to the semi-discrete DG scheme satisfies the
following cell entropy inequality
𝑑
𝑑𝑡 𝐼𝑖
𝑈 𝑢ℎ 𝑑𝑥 + 𝐹𝑖+1/2 − 𝐹𝑖−1/2 ≤ 0
for the square entropy 𝑈 𝑢 = 𝑢2/2, for some consistent entropy flux 𝐹𝑖+1/2 = 𝐹(𝑢ℎ(𝑥𝑗+1/2
− , 𝑡), 𝑢ℎ(𝑥𝑗−1/2+ , 𝑡))
Some Limiters
For discontinuous solution, the cell entropy inequality is not enough to control
spurious numerical oscillations near discontinuities.
In practice, we often need to apply nonlinear limiters to control these
oscillations and to obtain provable total variation stability.
Applying a limiter contains two parts:
Identify the “troubled cells”, namely, those cells which might need the
limiting procedure.
Replace the solution polynomials in those troubled cells by reconstructed
polynomials which maintain the original cell averages. This is for the
conservation property of the DG method.
Also, limiters should not affect the accuracy of the scheme in smooth regions.
That is, in the smooth regions this limiter does not change the solution.
Some Limiters (cont.)
TVD limiter:
Denote the cell average of the solution 𝑢ℎ as 𝑢𝑗 = 𝐼𝑗𝑢ℎ 𝑑𝑥
Further denote 𝑢𝑗 = 𝑢ℎ 𝑥𝑗+1/2− − 𝑢𝑗 , 𝑢𝑗 = 𝑢𝑗 − 𝑢ℎ 𝑥𝑗−1/2
+
Changes 𝑢𝑗 and 𝑢𝑗 by the minmod limiter
𝑢𝑗𝑚𝑜𝑑 = 𝑚 𝑢𝑗 , 𝑢𝑗+1 − 𝑢𝑗 , 𝑢𝑗 − 𝑢𝑗−1 𝑢𝑗𝑚𝑜𝑑 = 𝑚( 𝑢𝑗 , 𝑢𝑗+1 − 𝑢𝑗 , 𝑢𝑗 − 𝑢𝑗−1)
The new point values are recovered as
𝑢ℎ𝑚𝑜𝑑 𝑥𝑗+1/2
− = 𝑢𝑗 + 𝑢𝑗𝑚𝑜𝑑 , 𝑢ℎ
𝑚𝑜𝑑 𝑥𝑗−1/2+ = 𝑢𝑗 + 𝑢𝑗
𝑚𝑜𝑑
where the minmod function 𝑚 is defined by
𝑚 𝑎1, … , 𝑎𝑙 = 𝑠min |𝑎1 , … , |𝑎𝑙 , 𝑖𝑓 𝑠 = 𝑠𝑖𝑔𝑛 𝑎1 = ⋯ = 𝑠𝑖𝑔𝑛(𝑎𝑙)
0, 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
Some Limiters (cont.)
The disadvantage of the above TVD limiter is that it does kill accuracy at
smooth extrema. This is a consequence of the general results about TVD
schemes.
Therefore, in practice, a TVB limiter is often used.
𝑚 𝑎1, … , 𝑎𝑙 = 𝑎1, 𝑖𝑓 |𝑎1| ≤ 𝑀ℎ2
𝑚 𝑎1, … , 𝑎𝑙 , 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
However, this introduces a problem dependent constant 𝑀. There is no
automatic switching which works well for various situations.
Tuning 𝑀 requires much experimental research. But once we get the
appropriate value for 𝑀, the TVB limiter will make the solution much
better.
Some Limiters (cont.)
WENO limiter
Assume that we need to reconstruct the solution on cell 𝐼𝑗 . Denote the DG
solution polynomials on cells 𝐼𝑗−1, 𝐼𝑗 , 𝐼𝑗+1 as 𝑝0 𝑥 , 𝑝1 𝑥 , 𝑝2 𝑥 .
𝑝0 𝑥 = 𝑝0 𝑥 − 𝑝0 + 𝑝1, 𝑝2 𝑥 = 𝑝2 𝑥 − 𝑝2 + 𝑝1
First, compute the smoothness indicators
𝛽𝑗 =
𝑙=1
𝑘
𝑥𝑖−1/2
𝑥𝑖+1/2
Δ𝑥2𝑙−1𝜕𝑙𝑝𝑗(𝑥)
𝜕𝑥𝑙
2
𝑑𝑥
For any linear weights 𝑑0, 𝑑1, 𝑑2, we compute the nonlinear weights
𝑤𝑗 =𝛼𝑗
𝑠 𝛼𝑠, 𝛼𝑗 =
𝑑𝑗
(𝜖 + 𝛽𝑗)2
Finally, obtain the WENO reconstruction polynomial
𝑝1𝑊𝐸𝑁𝑂 𝑥 = 𝑤0 𝑝0 x + 𝑤1𝑝1 𝑥 + 𝑤2 𝑝2 x
Some Limiters (cont.)
Other limiters
Moment limiter of Biswas, Devine, and Flaherty (BDF limiter)
A modification of the moment limiter by Burbeau, Sagaut, and Bruneau
(BSB limiter)
A monotonicity-preserving limiter (MP limiter)
A modified MP limiter (MMP limiter)
A shock-detection technique by Krivodonova et al.
Implementation
Choices of the test functions 𝑣ℎ
1, 𝜉𝑗 , 𝜉𝑗2, … , 𝜉𝑗
𝑘, where 𝜉𝑗 =𝑥−𝑥𝑗
Δ𝑥𝑗
Legendre: 1, 𝜉𝑗 ,1
23𝜉𝑗
2 − 1 ,…, where 𝜉𝑗 =𝑥−𝑥𝑗
Δ𝑥𝑗/2
Express the approximate solution 𝑢ℎ as follows
𝑢ℎ 𝑥, 𝑡 |𝐼𝑗 = 𝑙=0
𝑘
𝑢𝑗𝑙
𝑡 𝑣ℎ(𝑙)
(𝑥)
In DG method, we are not directly solving for 𝑢ℎ, but solving for the time
dependent coefficient 𝑢𝑗𝑙
𝑡 of each basis function at each cell.
Implementation (cont.)
Question: What are the initial values for 𝑢𝑗𝑙
𝑡 ?
Answer: use L-2 projection.
𝑢 𝑥, 0 |𝐼𝑗 = 𝑢0 𝑥 |𝐼𝑗 = 𝑙=0𝑘 𝑢𝑗
𝑙0 𝑣ℎ
(𝑙)𝑥 |𝐼𝑗
𝐼𝑗𝑢0 𝑥 𝑣ℎ
(𝑠)𝑥 𝑑𝑥 = 𝑙=0
𝑘 𝑢𝑗𝑙
0 𝐼𝑗𝑣ℎ(𝑙)
(𝑥)𝑣ℎ𝑠
𝑥 𝑑𝑥 ,
𝑠 = 0,… , 𝑘
Substitute 𝑣ℎ(𝑙)
(𝑥) and 𝑣ℎ(𝑠)
(𝑥) and it transform into a linear system
𝐴𝑥 = 𝑏
where 𝐴𝑙𝑠 = 𝐼𝑗𝑣ℎ(𝑙)
(𝑥)𝑣ℎ𝑠
𝑥 𝑑𝑥, and 𝑏𝑠 = 𝐼𝑗𝑢0 𝑥 𝑣ℎ
(𝑠)𝑥 𝑑𝑥.
Since the matrix is symmetric and has small dimension, we can directly
solve it by forward/backward substitution.
Implementation (cont.)
Question: How to handle the integral terms?
Answer: Use Gaussian quadrature.
Summary
ENO scheme follows the idea of using adaptive stencils for different grid
cells instead of the traditional fixed stencils. However, it covers (2k-1)-th
cells while only achieves k-th order or accuracy.
WENO is an improvement of ENO by make use of all the candidate stencils
and applying different weights to them according to the smooth indicator.
The key point is how to distribute weights to each candidate stencil.
DG method is a high order FEM, approximating the solution locally instead
of using the global defined basis functions.
Flux approximation in both FV WENO and DG uses the three traditional
monotone flux approximations. Due to the high order of accuracy, Lax-
Friedichs flux is commonly used because it’s simple and inexpensive.
Flux splitting is used in FD WENO for stability purpose. This is consistent with
the idea of upwinding.
References
B. Cokcburn, C. Johnson, C.-W. Shu, and E. Tadmor, Advanced numerical
approximation of nonlinear hyperbolic equations, Ed. A. Quarteroni, Lecture
Notes in Mathematics, vol. 1697, Springer, 1998.
A. K. Henrick, T. D. Aslam, J. M. Powers, Mapped weighted essentially non-
oscillatory scheme: Achieving optimal order near critical points, Journal of
Computational Physics 207 (2005), pp.542-567.
R. Borges, M. Carmona, B. Costa, W. S. Don, An improved weighted
essentially non-oscillatory scheme for hyperbolic conservation laws, Journal
of Computational Physics, 227, (2008) pp.3191-3211.
Discontinuous Galerkin Method for Conservation Laws, Numerical Solutions
of Partial Differential Equations, 2009.
H. Zhu, Y. Cheng, J. Qiu, A comparison of the performance of Imiters for
Rune-Kutta Discontinuous Garlerkin Methods, Adv. Appl. Math. Mech., Vol.
5, No. 3, pp. 365-390.