Weighted essentially non-oscillatory schemes

Matthew Emmett
January 14, 2010
1 Introduction
We follow C.W. Shu in “Essentially Non-oscillatory and Weighted Essentially Non-oscillatory Schemes for
Hyperbolic Conservation Laws” (NASA/CR-97-206253, ICASE report no. 97-65).
Weighted esstentially non-oscillatory (WENO) techniques have many applications. We will focus our atten-
tion on one-dimensional hyperbolic conservation law of the form
q
t
+

f(q)

x
= 0. (1.1)
Finite-volume schemes do not solve (1.1) directly. They solve its integrated version instead. Integrating
(1.1) over the interval [a, b] we obtain
d
dt
q(t) +
1
b −a

f

q(b, t)

−f

q(a, t)

= 0
where
q(t) ≡
1
b −a

b
a
q(ξ, t) dξ
is the average value of q over [a, b]. This leads us to one of the central problems in implementing a numerical
scheme to solve (1.1): obtaining the values of q at the boundaries a and b based on the average q of q. This
is the reconsturction problem.
1
2 Grid
We consider a grid over the interval [a, b] with N cells. We denote the N + 1 cell boundaries by
x
i−1/2
for i = 1, . . . , N + 1 (2.1)
so that
a = x
1/2
< x
3/2
< · · · < x
N−1/2
< x
N+1/2
= b. (2.2)
Subsequently, we denote the N cells by
C
i
= [x
i−1/2
, x
i+1/2
] for i = 1, . . . , N; (2.3)
the N cell centres by
x
i
=
x
i−1/2
+ x
i+1/2
2
for i = 1, . . . , N; (2.4)
the N cell sizes by
∆x
i
= x
i+1/2
−x
i−1/2
for i = 1, . . . , N; (2.5)
and the maximum cell size by
∆x = max
i=1,...,N
∆x
i
. (2.6)
We denote the contiguous stencil around the cell C
i
, containing k cells shifted to the left by r cells, by
S
r,k
i
= C
i−r
∪ · · · ∪ C
i−r+k−1
. (2.7)
Note that S
r,k
i
spans k cells and contains k + 1 cell boundaries.
2
3 One dimensional reconstruction for smooth functions
Given the cell averages f
j
of a function f where
f
j
=
1
∆x
j

x
j+1/2
x
j−1/2
f(ξ) dξ (3.1)
we wish to find approximations to the function f at various points within each cell. In particular, we might
be interested in approximating the function at the left cell boundary x
i−1/2
, the right cell boundary x
i+1/2
,
or at any point ξ within the cell C
i
. If the approximations are computed using k cell averages, they should be
k-order accruate. The remainder of this section will be devoted to finding these approximations and showing
that they are k-order accuarate. As it turns out, we will show that there are constants c
j
(hereafter called
reconstruction coefficients) such that the reconstructed values are given by
f(ξ) ≈
k−1
¸
j=0
c
j
f
i−r+j
.
That is, given a stencil S
r,k
i
that spans the k cells C
i−r
, . . . , C
i−r+k−1
, the reconstructed value of the original
function at some point ξ in C
i
can be obtained using the cell averages f
j
over the cells C
j
in the stencil S
r,k
i
.
In general, the reconstruction coefficients c
j
depend on the reconstruction point ξ, order k, left shift r, and
cell C
i
, but not on the function f.
In order to obtain the reconstruction coefficients c
j
and prove accuracy, we will find polynomials p
r
i
of degree
at most k − 1 such that each p
r
i
is a k-order accurate approximation to f inside C
i
. That is, given the cell
averages f
j
, we will find polynomials p
r
i
such that
p
r
i
(x) = v(x) + O(∆x
k
) for x ∈ C
i
.
In order to find these polynomials, we consider the function
V (x) =

x
a
f(ξ) dξ. (3.2)
Using the cell averages f
j
we can compute V at the cell boundaries x
i+1/2
through
V (x
i+1/2
) =

x
i+1/2
a
f(ξ) dξ
=
i
¸
j=1

x
j+1/2
x
j−1/2
f(ξ) dξ
=
i
¸
j=1
f
j
∆x
j
. (3.3)
Focusing on a particular cell C
i
and stencil S
r,k
i
, the unique polynomial P
r
i
of order k which interpolates V
at the k + 1 points
x
i−r−1/2
, . . . , x
i−r+k−1/2
is given by
P
r
i
(x) =
k
¸
l=0

V (x
i−r+l−1/2
)
k
¸
m=0,m=l
(x −x
i−r+m−1/2
)
(x
i−r+l−1/2
−x
i−r+m−1/2
)

. (3.4)
This is the interpolating polynomial of V in Lagrange form. It can be shown (see Appendix A) that
P
r
i
(x) = V (x) + O(∆x
k+1
) for x ∈ S
r,k
i
.
3
Therefore, the derivative p
r
i
of P
r
i
satisfies
p
r
i
(x) =
d
dx
P
r
i
(x) = f(x) + O(∆x
k
) for x ∈ S
r,k
i
and p
r
i
is of order k −1.
Furthermore, the cell averages of p
r
i
over the cells C
j
that comprise the stencil S
r,k
i
satisfy
1
∆x
j

x
j+1/2
x
j−1/2
p
r
i
(ξ) dξ =
1
∆x
j

x
j+1/2
x
j−1/2
P

i
(ξ) dξ
=
1
∆x
j

P
r
i
(x
j+1/2
) −P
r
i
(x
j−1/2
)

=
1
∆x
j

V (x
j+1/2
) −V (x
j−1/2
)

=
1
∆x
j

x
j+1/2
a
f(ξ) dξ −

x
j−1/2
a
f(ξ) dξ

=
1
∆x
j

x
j+1/2
x
j−1/2
f(ξ) dξ

= f
j
for j = i −r, . . . , i −r + k −1.
That is, the cell averages of the approximating polynomials p
r
i
match the cell averages the original function
in each of the cells C
j
which comprise the stencil S
r,k
i
.
So far we have constructed polynomials p
r
i
that approximate the original function f on the stencils S
r,k
i
to
k-order using only the cell averages f
j
for j = i −r, . . . , i −r + k −1.
Now we consider the practical problem of finding the constants c
j
. Subtracting V (x
i−r−1/2
) from P
r
i
(x) and
using
k
¸
l=0
k
¸
m=0,m=l
(x −x
i−r+m−1/2
)
(x
i−r+l−1/2
−x
i−r+m−1/2
)
= 1 and V (x
i−r+l−1/2
) −V (x
i−r−1/2
) ≡ 0 for l = 0
we obtain
P
r
i
(x) −V (x
i−r−1/2
) =
k
¸
l=1

V (x
i−r+l−1/2
) −V (x
i−r−1/2
)

k
¸
m=0,m=l
(x −x
i−r+m−1/2
)
(x
i−r+l−1/2
−x
i−r+m−1/2
)

.
Taking the derivative of the above, we obtain
d
dx
P
r
i
(x) =
d
dx
¸
k
¸
l=1

V (x
i−r+l−1/2
) −V (x
i−r−1/2
)

k
¸
m=0,m=l
(x −x
i−r+m−1/2
)
(x
i−r+l−1/2
−x
i−r+m−1/2
)
¸
and hence
p
r
i
(x) =
k
¸
l=1

V (x
i−r+l−1/2
) −V (x
i−r−1/2
)

¸
k
m=0,m=l
¸
k
n=0,n=l,m
(x −x
i−r+n−1/2
)
¸
k
m=0,m=l
(x
i−r+l−1/2
−x
i−r+m−1/2
)

. (3.5)
Employing (3.3), we obtain
p
r
i
(x) =
k
¸
l=1

l−1
¸
j=0
f
i−r+j
∆x
i−r+j

¸
k
m=0,m=l
¸
k
n=0,n=l,m
(x −x
i−r+n−1/2
)
¸
k
m=0,m=l
(x
i−r+l−1/2
−x
i−r+m−1/2
)

. (3.6)
4
Rearranging, we obtain
p
r
i
(x
i+1/2
) =
k−1
¸
j=0
k
¸
l=j+1
¸
k
m=0,m=l
¸
k
n=0,n=l,m
(x −x
i−r+n−1/2
)
¸
k
m=0,m=l
(x
i−r+l−1/2
−x
i−r+m−1/2
)
∆x
i−r+j
v
i−r+j
.
Therefore, the reconstruction coefficients c
j
used to reconstruct the function f at the point ξ are given by
c
j
=
k
¸
l=j+1
¸
k
m=0,m=l
¸
k
n=0,n=l,m
(ξ −x
i−r+n−1/2
)
¸
k
m=0,m=l
(x
i−r+l−1/2
−x
i−r+m−1/2
)
∆x
i−r+j
. (3.7)
Note that the the reconstruction coefficients c
j
depend on ξ, i, r, and k.
3.1 Further derivatives
In order to approximate the first derivative of the original function f we consider the first derivative of p
r
i
(x).
We obtain
d
dx
p
r
i
(x) =
d
dx
¸
k
¸
l=1

V (x
i−r+l−1/2
) −V (x
i−r−1/2
)

¸
k
m=0,m=l
¸
k
n=0,n=l,m
(x −x
i−r+n−1/2
)
¸
k
m=0,m=l
(x
i−r+l−1/2
−x
i−r+m−1/2
)
¸
=
k
¸
l=1

V (x
i−r+l−1/2
) −V (x
i−r−1/2
)

¸
k
m=0,m=l
¸
k
n=0,n=l,m
¸
p=0,p=l,m,n
(x −x
i−r+p−1/2
)
¸
k
m=0,m=l
(x
i−r+l−1/2
−x
i−r+m−1/2
)

.
Employing (3.3), we obtain
d
dx
p
r
i
(x) =
k
¸
l=1

l−1
¸
j=0
v
i−r+j
∆x
i−r+j

¸
k
m=0,m=l
¸
k
n=0,n=l,m
¸
p=0,p=l,m,n
(x −x
i−r+p−1/2
)
¸
k
m=0,m=l
(x
i−r+l−1/2
−x
i−r+m−1/2
)

.
Rearranging, we obtain
d
dx
p
r
i
(x) =
k−1
¸
j=0
k
¸
l=j+1
¸
k
m=0,m=l
¸
k
n=0,n=l,m
¸
p=0,p=l,m,n
(x −x
i−r+p−1/2
)
¸
k
m=0,m=l
(x
i−r+l−1/2
−x
i−r+m−1/2
)
∆x
i−r+j
v
i−r+j
.
Therefore, the reconstruction coefficients for the first derivative are
c
j
=
k
¸
l=j+1
¸
k
m=0,m=l
¸
k
n=0,n=l,m
¸
p=0,p=l,m,n
(ξ −x
i−r+p−1/2
)
¸
k
m=0,m=l
(x
i−r+l−1/2
−x
i−r+m−1/2
)
∆x
i−r+j
3.2 Summary
In summary, given a stencil S
r,k
i
and the cell averages f
j
of a function f, we can reconstruct f at any point
ξ in the cell C
i
according to
f(ξ) ≈
k−1
¸
j=0
c
j
f
i−r+j
(3.8)
where
c
j
=
k
¸
l=j+1
¸
k
m=0,m=l
¸
k
n=0,n=l,m
(ξ −x
i−r+n−1/2
)
¸
k
m=0,m=l
(x
i−r+l−1/2
−x
i−r+m−1/2
)
∆x
i−r+j
. (3.9)
5
Furthermore, the approximation is accurate to order k so that
k−1
¸
j=0
c
j
f
i−r+j
= f(ξ) + O(∆x
k
)
where
∆x = max
j=i−r,...,i−r+k−1
∆x
j
.
The permissable values of left shift parameter r in (3.8) are −1, . . . , k −1 so that the results of Appendix A
hold.
6
4 One dimensional reconstruction for piece-wise smooth functions
The solutions of hyperbolic conservation laws may contain discontinuities, and therefore we are interested in
reconstructing piecewise smooth functions. A piecewise smooth function f is smooth except at finitely many
isolated points. At these points, f and its derivatives (at least up to the order of the scheme) are assumed
to have finite left and right limits.
For such piecewise smooth functions, the order of accuracy herein referred to is formal. That is, it is defined
as the accuracy determined by the local error in the smooth regions of the function.
The basic idea of WENO is to use a convex combination of several stencils to form the reconstruction of f,
and, if a stencil contains a discontinuity, its weight should be close to zero. In smooth regions, using several
stencils will also serve to increase the order of accuracy.
Consider the k stencils
S
r,k
i
for r = 0, . . . , k −1
that can be used to reconstruct the value of f at some point ξ in the cell C
i
. These stencils span 2k − 1
cells. We denote the k different reconstructions by
f(ξ) ≈ f
r
=
k−1
¸
j=0
c
r
j
¯ v
i−r+j
for r = 0, . . . , k −1 (4.1)
where we have added the superscript r to the function f and the reconstruction coefficients c
j
to make their
dependance on the left shift r explicit.
A WENO reconstruction takes a convex combination of all f
r
defined in (4.1) as a new approximation
according to
f(ξ) ≈
k−1
¸
r=0
ω
r
i
f
r
(4.2)
where we require
ω
r
i
≥ 0 and
k−1
¸
r=0
ω
r
i
= 1. (4.3)
In smooth regions where all k stencils that can be used to reconstruct f(ξ) in (4.1) do not contain disconti-
nuities, we could reconstruct f(ξ) to order 2k −1 using the stencil S
k−1,2k−1
i
to obtain
f(ξ) =
2k−2
¸
j=0
c

j
¯
f
i−(k−1)+j
(4.4)
where we have added the superscript ∗ to the reconstruction coefficients c
j
to highlight that they are optimal
(ie, higher order). Combining (4.1), (4.2), and (4.4), we obtain
2k−2
¸
j=0
c

j
¯
f
i−(k−1)+j
=
k−1
¸
r=0
ω
r
i

k−1
¸
l=0
c
r
l
¯
f
i−r+l

. (4.5)
Rearranging, we obtain
2k−2
¸
j=0
c

j
¯
f
i−(k−1)+j
=
2k−2
¸
j=0

¸
min(k−1,j)
¸
l=max(0,j−k+1)
ω
k−(j+1)+l
i
c
k−(j+1)+l
l
¸
¯
f
i−(k−1)+j
.
7
Therefore, we have 2k −1 equations
min(k−1,j)
¸
l=max(0,j−k+1)
ω
k−(j+1)+l
i
c
k−(j+1)+l
l
= c

j
for j = 0, . . . , 2k −2 (4.6)
at each i (and ξ) for the weights ω
r
i
. For unstructured grids the systems (4.6) are over-determined, and
therefore we must use some kind of optimisation algorithm in order to find the weights ω
r
i
. For structured
grids the systems (4.6) are no longer over-determined, and the weights ω
r
i
can be found explicity (and are
independent of i).
The weights ω
r
i
defined by (4.5) and determined by (4.6) are called optimal weights since they can be used
to reconstruct a function to order 2k −1 in regions where the function is smooth. We will henceforth denote
the optimal weights by
r
i
.
We now consider the practical problem of choosing the weights ω
r
i
. If we choose the weights ω
r
i
sufficiently
close to the optimal weights
r
i
in regions where the function is smooth, then we can achieve 2k − 1 order
accuracy. In order to determine how close to the optimal weights
r
i
the weights ω
r
i
must be choosen we
consider the reconstruction
f(ξ) ≈
k−1
¸
r=0
ω
r
i
f
r
=
k−1
¸
r=0

r
i
f
r
+
k−1
¸
r=0

ω
r
i

r
i

f
r
. (4.7)
If we choose
ω
r
i
=
r
i
+ O(∆x
k−1
) (4.8)
then each term in the last summation of (4.8) becomes O(∆x
2k−1
) and therefore 2k − 1 order accuracy is
preserved by the reconstruction.
If we define
ω
r
i
=
α
r
i
α
0
i
+· · · + α
k−1
i
(4.9)
where
α
r
i
=

r
i
( + σ
r
i
)
p
for r = 0, . . . , k −1; (4.10)
and is a positive real number used to avoid dividing by zero (usually = 10
−6
), p is some power (usually
2), and σ
r
i
is a measure of the smoothness of the function v in the stencil S
r,k
i
; with the smoothnesses σ
r
i
chosen appropriately, then (4.8) is satisfied.
Typically, the smoothness measurement presented by Jiang and Shu is used. They define the smoothness
according to
σ
r
i
=
k−1
¸
l=1

x
j+1/2
x
j−1/2
(∆x
j
)
2l−1

d
l
dx
l
p
r
i
(x)

2
dx (4.11)
which is the sum of the L
2
norms of the derivatives of the approximating polynomial.
8
4.1 One-sided (up/down wind) reconstructions
In some situations we may need to impose that some cells be excluded from the reconstruction process. For
example, at the front of a dam-break flow with a positive front velocity there is a wet-dry interface and the
dry cells to the right of the front should be avoided.
A left-biased WENO reconstruction is one in which the weights
ω
r
i
= 0 for r < s
where s > 0 is some parameter that controls how many cells are excluded from the reconstruction (4.2).
Intuitively, s is also the number of cells to exlude from the right.
A right-biased WENO reconstruction is one in which the weights
ω
r
i
= 0 for r > k −|s| −1
where s < 0 is some parameter that controls how many cells are excluded from the reconstruction (4.2).
Intuitively, |s| is also the number of cell to exclude from the left.
That is, if s > 0 the WENO reconstruction will be left-biased and reconstructions with r < s will be ignored;
if s < 0 the WENO reconstruction will be right-biased and reconstructions with r > k − |s| − 1 will be
ignored. Once again, we need to determine optimal weights for both left- and right-biased reconstructions.
For left-biased reconstructions (s > 0), we reconstruct f(ξ) to order 2k −s −1 using the stencil S
k−1, 2k−s−1
i
to obtain the optimal reconstruction coefficients c

j
(similar to (4.4)). Therefore, similar to (4.6), we have
2k −s −1 equations
min(k−1,j)
¸
l=max(0,j−k+s+1)
ω
k−(j+1)+l
i
c
k−(j+1)+l
l
= c

j
for j = 0, . . . , 2k −s −2. (4.12)
For right-biased reconstructions (s < 0), we reconstruct f(ξ) to order 2k − |s| − 1 using the stencil
S
k−|s|−1, 2k−|s|−1
i
to obtain the optimal reconstruction coefficients c

j
(similar to (4.4)). Therefore, simi-
lar to (4.6), we have 2k −|s| −1 equations
min(k−1,j)
¸
l=max(0,j−k+|s|+1)
ω
k−(j+1)+l
i
c
k+s−(j+1)+l
l
= c

j
for j = 0, . . . , 2k −|s| −2. (4.13)
9
A Error of Lagrange interpolating polynomials
Let f(x) ∈ C
n
([a, b]), and p(x) be the interpolating polynomial of degree n −1 such that
p(x
i
) = f(x
i
) for i = 1, . . . , n (A.1)
where
a = x
1
< x
2
< · · · < x
n−1
< x
n
= b. (A.2)
Then
p(x) = f(x) + O(∆x
n
) for x ∈ [a, b] (A.3)
where
∆x = max
i=2,...,n
x
i
−x
i−1
. (A.4)
Proof. Let x ∈ [a, b]. If x = x
i
for some i = 1, . . . , n then f(x) − p(x) = 0 since p(x) is the interpolating
polynomial. Otherwise, let
Φ(x) =
f(x) −p(x)
¸
n
i=1
(x −x
i
)
(A.5)
and
g(x, ξ) = f(ξ) −p(ξ) −Φ(x)
n
¸
i=1
(ξ −x
i
). (A.6)
Then g(x, ξ) is n times differentiable with respect to ξ, g(x, x
i
) = 0 for i = 1, . . . , n, and g(x, x) = 0.
Applying Rolle’s theorem successively across all interpolation points x
i
and x we obtain

n
∂ξ
n
g(x, ξ)

ξ=ξ

= 0 (A.7)
for some ξ

∈ (a, b). Futhermore

n
∂ξ
n
g(x, ξ) = f
n
(ξ) −n! Φ(x) (A.8)
so that, combininig (A.7) and (A.8), we obtain
Φ(x) =
f
n


)
n!
(A.9)
and therefore
f(x) −p(x) =
f
n


)
n!
n
¸
i=1
(x −x
i
). (A.10)
Finally, we conclude that
p(x) = f(x) + O(∆x
n
). (A.11)
That is, if p(x) interpolates f(x) at n points, then it is accurate to O(∆x
n
) where ∆x is the maximum space
between the interpolating points.
10

(2. by r.2) for i = 1. . (2. we denote the N cells by Ci = [xi−1/2 .. N .N for i = 1. . . Subsequently. containing k cells shifted to the left by r cells. . N . xi+1/2 ] the N cell centres by xi = the N cell sizes by ∆xi = xi+1/2 − xi−1/2 and the maximum cell size by ∆x = max ∆xi .7) 2 .4) (2. . r. . (2. .. ..5) (2. N . i=1. . .. . b] with N cells.k Si = Ci−r ∪ · · · ∪ Ci−r+k−1 .k Note that Si spans k cells and contains k + 1 cell boundaries. i = 1. . . .3) xi−1/2 + xi+1/2 2 for for i = 1.1) (2. We denote the N + 1 cell boundaries by xi−1/2 so that a = x1/2 < x3/2 < · · · < xN −1/2 < xN +1/2 = b. . N + 1 (2. .6) We denote the contiguous stencil around the cell Ci .2 Grid We consider a grid over the interval [a.

given the cell i averages f j .k function at some point ξ in Ci can be obtained using the cell averages f j over the cells Cj in the stencil Si . It can be shown (see Appendix A) that Pir (x) = V (x) + O(∆xk+1 ) 3 for r. xi−r+k−1/2 is given by k k Pir (x) = l=0 V (xi−r+l−1/2 ) m=0. we will show that there are constants cj (hereafter called reconstruction coefficients) such that the reconstructed values are given by k−1 f (ξ) ≈ j=0 cj f i−r+j . The remainder of this section will be devoted to finding these approximations and showing that they are k-order accuarate. . order k. . . but not on the function f . r. In order to obtain the reconstruction coefficients cj and prove accuracy.2) Using the cell averages f j we can compute V at the cell boundaries xi+1/2 through xi+1/2 V (xi+1/2 ) = a i f (ξ) dξ xj+1/2 = j=1 i xj−1/2 f (ξ) dξ = j=1 f j ∆xj . the right cell boundary xi+1/2 .4) This is the interpolating polynomial of V in Lagrange form. As it turns out. . If the approximations are computed using k cell averages.3 One dimensional reconstruction for smooth functions Given the cell averages f j of a function f where fj = 1 ∆xj xj+1/2 f (ξ) dξ xj−1/2 (3.k That is. In general. left shift r.1) we wish to find approximations to the function f at various points within each cell.m=l (x − xi−r+m−1/2 ) .k x ∈ Si . That is. In particular. they should be k-order accruate. (xi−r+l−1/2 − xi−r+m−1/2 ) (3. the reconstruction coefficients cj depend on the reconstruction point ξ. .k Focusing on a particular cell Ci and stencil Si . (3. . (3. the unique polynomial Pir of order k which interpolates V at the k + 1 points xi−r−1/2 . . given a stencil Si that spans the k cells Ci−r . . we will find polynomials pr of degree i at most k − 1 such that each pr is a k-order accurate approximation to f inside Ci . we will find polynomials pr such that i pr (x) = v(x) + O(∆xk ) i In order to find these polynomials. we might be interested in approximating the function at the left cell boundary xi−1/2 . V (x) = a f (ξ) dξ.3) r. Ci−r+k−1 . . or at any point ξ within the cell Ci . the reconstructed value of the original r. we consider the function x for x ∈ Ci . and cell Ci .

. i − r + k − 1. r.3). . the cell averages of the approximating polynomials pr match the cell averages the original function i r. . (xi−r+l−1/2 − xi−r+m−1/2 ) Taking the derivative of the above.m=l (xi−r+l−1/2 − xi−r+m−1/2 ) .6) 4 . = fj That is.Therefore. .m=l (x − xi−r+m−1/2 ) (xi−r+l−1/2 − xi−r+m−1/2 ) pr (x) = i l=1 V (xi−r+l−1/2 ) − V (xi−r−1/2 ) k k m=0. (3. . .k x ∈ Si 1 ∆xj xj+1/2 xj−1/2 pr (ξ) dξ = i = 1 ∆xj xj+1/2 Pi (ξ) dξ xj−1/2 1 Pir (xj+1/2 ) − Pir (xj−1/2 ) ∆xj 1 = V (xj+1/2 ) − V (xj−1/2 ) ∆xj xj+1/2 xj−1/2 1 f (ξ) dξ − f (ξ) dξ = ∆xj a a xj+1/2 1 = f (ξ) dξ ∆xj xj−1/2 for j = i − r.m=l (x − xi−r+m−1/2 ) =1 (xi−r+l−1/2 − xi−r+m−1/2 ) and V (xi−r+l−1/2 ) − V (xi−r−1/2 ) ≡ 0 for l = 0 we obtain k k Pir (x) − V (xi−r−1/2 ) = l=1 V (xi−r+l−1/2 ) − V (xi−r−1/2 ) m=0.k So far we have constructed polynomials pr that approximate the original function f on the stencils Si to i k-order using only the cell averages f j for j = i − r. the cell averages of pr over the cells Cj that comprise the stencil Si satisfy i d r P (x) = f (x) + O(∆xk ) dx i for r.k Furthermore. we obtain d r d P (x) = dx i dx and hence k k k V (xi−r+l−1/2 ) − V (xi−r−1/2 ) l=1 m=0.m=l n=0.m=l (x − xi−r+m−1/2 ) . Subtracting V (xi−r−1/2 ) from Pir (x) and using k k l=0 m=0.n=l.m (x − xi−r+n−1/2 ) k m=0.m=l (xi−r+l−1/2 − xi−r+m−1/2 ) . . i − r + k − 1.m=l n=0. we obtain k l−1 pr (x) i = l=1 j=0 f i−r+j ∆xi−r+j k k m=0. i r. Now we consider the practical problem of finding the constants cj . the derivative pr of Pir satisfies i pr (x) = i and pr is of order k − 1. . (3.5) Employing (3.k in each of the cells Cj which comprise the stencil Si .n=l.m (x − xi−r+n−1/2 ) k m=0.

n=l.2 Summary r. Rearranging.m=l (xi−r+l−1/2 − xi−r+m−1/2 ) ∆xi−r+j 3.n (x − xi−r+p−1/2 ) k m=0.m=l n=0.m.m.p=l.n (x − xi−r+p−1/2 ) k m=0.n=l.m p=0. i.3).m=l (xi−r+l−1/2 − xi−r+m−1/2 ) ∆xi−r+j . we obtain d r p (x) = dx i k l−1 v i−r+j ∆xi−r+j l=1 j=0 k k m=0. we obtain k−1 k pr (xi+1/2 ) i = j=0 l=j+1 k k m=0.9) 5 .m (ξ − xi−r+n−1/2 ) k m=0. 3.n=l.p=l. the reconstruction coefficients cj used to reconstruct the function f at the point ξ are given by k cj = l=j+1 k k m=0.m p=0.m=l (xi−r+l−1/2 − xi−r+m−1/2 ) . we obtain d r p (x) = dx i k−1 k k k m=0.n=l.n (x − xi−r+p−1/2 ) k m=0. i We obtain d r d pi (x) = dx dx k k V (xi−r+l−1/2 ) − V (xi−r−1/2 ) l=1 = l=1 V (xi−r+l−1/2 ) − V (xi−r−1/2 ) k k m=0.m p=0. we can reconstruct f at any point ξ in the cell Ci according to k−1 f (ξ) ≈ j=0 cj f i−r+j (3.n=l.m=l n=0.p=l.m=l n=0.m (ξ − xi−r+n−1/2 ) k m=0. Therefore.m. Employing (3.m=l n=0. r.m=l n=0. j=0 l=j+1 Therefore.m=l (xi−r+l−1/2 − xi−r+m−1/2 ) ∆xi−r+j v i−r+j .m p=0.m (x − xi−r+n−1/2 ) k m=0. (3.k In summary. the reconstruction coefficients for the first derivative are k cj = l=j+1 k k m=0.m=l n=0.p=l.Rearranging.m=l (xi−r+l−1/2 − xi−r+m−1/2 ) ∆xi−r+j .m.m=l (xi−r+l−1/2 − xi−r+m−1/2 ) ∆xi−r+j v i−r+j .m=l n=0.m=l (xi−r+l−1/2 − xi−r+m−1/2 ) . (3.n=l.1 Further derivatives In order to approximate the first derivative of the original function f we consider the first derivative of pr (x).8) where k cj = l=j+1 k k m=0.n=l.n=l.m (x − xi−r+n−1/2 ) k m=0.7) Note that the the reconstruction coefficients cj depend on ξ.n (ξ − xi−r+p−1/2 ) k m=0.m=l (xi−r+l−1/2 − xi−r+m−1/2 ) k k m=0.m=l n=0. and k. given a stencil Si and the cell averages f j of a function f .

. . ..8) are −1.i−r+k−1 max ∆xj . The permissable values of left shift parameter r in (3. . k − 1 so that the results of Appendix A hold. . 6 .. the approximation is accurate to order k so that k−1 cj f i−r+j = f (ξ) + O(∆xk ) j=0 where ∆x = j=i−r..Furthermore.

j)  ωi k−(j+1)+l k−(j+1)+l  ¯ cl fi−(k−1)+j . A WENO reconstruction takes a convex combination of all f r defined in (4. . Combining (4. . and. we obtain 2k−2 k−1 k−1 r ωi r=0 l=0 ¯ c∗ fi−(k−1)+j = j j=0 ¯ cr fi−r+l l . it is defined as the accuracy determined by the local error in the smooth regions of the function. . k − 1 (4. using several stencils will also serve to increase the order of accuracy.1) as a new approximation according to k−1 f (ξ) ≈ r=0 r ωi f r (4. if a stencil contains a discontinuity. . . (4. (4. and (4.j−k+1) 7 .4 One dimensional reconstruction for piece-wise smooth functions The solutions of hyperbolic conservation laws may contain discontinuities. .1) where we have added the superscript r to the function f and the reconstruction coefficients cj to make their dependance on the left shift r explicit. The basic idea of WENO is to use a convex combination of several stencils to form the reconstruction of f . (4. and therefore we are interested in reconstructing piecewise smooth functions. These stencils span 2k − 1 cells. f and its derivatives (at least up to the order of the scheme) are assumed to have finite left and right limits. That is. we could reconstruct f (ξ) to order 2k − 1 using the stencil Si to obtain 2k−2 f (ξ) = j=0 ¯ c∗ fi−(k−1)+j j (4.3) In smooth regions where all k stencils that can be used to reconstruct f (ξ) in (4. A piecewise smooth function f is smooth except at finitely many isolated points. higher order).4) where we have added the superscript ∗ to the reconstruction coefficients cj to highlight that they are optimal (ie. its weight should be close to zero. the order of accuracy herein referred to is formal.k Si for r = 0.1) do not contain discontik−1.2) where we require k−1 r ωi ≥0 and r=0 r ωi = 1.5) Rearranging. . ¯ c∗ fi−(k−1)+j = j j=0 j=0 l=max(0.1). We denote the k different reconstructions by k−1 f (ξ) ≈ f r = j=0 cr vi−r+j j¯ for r = 0. k − 1 that can be used to reconstruct the value of f at some point ξ in the cell Ci . At these points. Consider the k stencils r.4). In smooth regions.2k−1 nuities. For such piecewise smooth functions. we obtain 2k−2 2k−2   min(k−1. .2).

Therefore.7) r ωi = r i + O(∆xk−1 ) 2k−1 (4. .j−k+1) k−(j+1)+l k−(j+1)+l cl = c∗ j for j = 0. If we choose the weights ωi sufficiently r close to the optimal weights i in regions where the function is smooth. . . We will henceforth denote r the optimal weights by i . . .k r r 2).11) σi = (∆xj )2l−1 dxl xj−1/2 l=1 which is the sum of the L2 norms of the derivatives of the approximating polynomial.8) ) and therefore 2k − 1 order accuracy is then each term in the last summation of (4. .6) are called optimal weights since they can be used to reconstruct a function to order 2k − 1 in regions where the function is smooth. r r We now consider the practical problem of choosing the weights ωi .8) becomes O(∆x preserved by the reconstruction. In order to determine how close to the optimal weights i the weights ωi must be choosen we consider the reconstruction k−1 k−1 r ωi f r = r=0 r=0 r r if k−1 f (ξ) ≈ If we choose + r=0 r ωi − r i f r.j) ωi l=max(0. Typically. 2k − 2 (4. and σi is a measure of the smoothness of the function v in the stencil Si . and r therefore we must use some kind of optimisation algorithm in order to find the weights ωi . For unstructured grids the systems (4. . the smoothness measurement presented by Jiang and Shu is used.8) is satisfied.6) are no longer over-determined. we have 2k − 1 equations min(k−1. (4. . k − 1. (4. then we can achieve 2k − 1 order r r accuracy. If we define r ωi = r αi k−1 0 αi + · · · + αi (4. and the weights ωi can be found explicity (and are independent of i). They define the smoothness according to 2 k−1 xj+1/2 dl r r pi (x) dx (4. 8 . For structured r grids the systems (4. with the smoothnesses σi chosen appropriately.6) r at each i (and ξ) for the weights ωi .9) where r αi = r i r ( + σi )p for r = 0.6) are over-determined. p is some power (usually r. r The weights ωi defined by (4.10) and is a positive real number used to avoid dividing by zero (usually = 10−6 ). then (4.5) and determined by (4.

similar to (4. if s > 0 the WENO reconstruction will be left-biased and reconstructions with r < s will be ignored. .4)).2). 2k−|s|−1 Si to obtain the optimal reconstruction coefficients c∗ (similar to (4. Therefore.2). |s| is also the number of cell to exclude from the left. That is. we reconstruct f (ξ) to order 2k − s − 1 using the stencil Si ∗ to obtain the optimal reconstruction coefficients cj (similar to (4. Therefore. . at the front of a dam-break flow with a positive front velocity there is a wet-dry interface and the dry cells to the right of the front should be avoided.1 One-sided (up/down wind) reconstructions In some situations we may need to impose that some cells be excluded from the reconstruction process. Intuitively.j−k+s+1) k−(j+1)+l k−(j+1)+l cl = c∗ j for j = 0.12) For right-biased reconstructions (s < 0).and right-biased reconstructions. For example. we have 2k − |s| − 1 equations min(k−1.13) 9 . if s < 0 the WENO reconstruction will be right-biased and reconstructions with r > k − |s| − 1 will be ignored. 2k−s−1 For left-biased reconstructions (s > 0).4. 2k − |s| − 2. .j−k+|s|+1) k−(j+1)+l k+s−(j+1)+l cl = c∗ j for j = 0.6). s is also the number of cells to exlude from the right. 2k − s − 2. A right-biased WENO reconstruction is one in which the weights r ωi = 0 for r > k − |s| − 1 where s < 0 is some parameter that controls how many cells are excluded from the reconstruction (4. . Once again. . . Intuitively. (4.6). . we reconstruct f (ξ) to order 2k − |s| − 1 using the stencil k−|s|−1. simij lar to (4. we need to determine optimal weights for both left.4)).j) ωi l=max(0. . (4. A left-biased WENO reconstruction is one in which the weights r ωi = 0 for r<s where s > 0 is some parameter that controls how many cells are excluded from the reconstruction (4.j) ωi l=max(0. we have 2k − s − 1 equations min(k−1. k−1.

8). combininig (A. Let x ∈ [a. . Then p(x) = f (x) + O(∆xn ) where ∆x = max xi − xi−1 . xi ) = 0 for i = 1.6) Then g(x.8) (A. f (x) − p(x) = n! i=1 p(x) = f (x) + O(∆xn ). . .7) (A. b). . x) = 0. . Applying Rolle’s theorem successively across all interpolation points xi and x we obtain ∂n g(x. . n (A. ξ) ∂ξ n for some ξ ∗ ∈ (a. we conclude that (A. n then f (x) − p(x) = 0 since p(x) is the interpolating polynomial. 10 .7) and (A.. . and p(x) be the interpolating polynomial of degree n − 1 such that p(xi ) = f (xi ) where a = x1 < x2 < · · · < xn−1 < xn = b. and g(x.. Futhermore ∂n g(x. ξ) = f n (ξ) − n! Φ(x) ∂ξ n so that. .3) (A. g(x. . ξ) is n times differentiable with respect to ξ.11) That is. let f (x) − p(x) Φ(x) = n (A. Otherwise. then it is accurate to O(∆xn ) where ∆x is the maximum space between the interpolating points. (A. we obtain Φ(x) = and therefore f n (ξ ∗ ) n! n =0 ξ=ξ ∗ (A.5) i=1 (x − xi ) and g(x. ξ) = f (ξ) − p(ξ) − Φ(x) n (ξ − xi )..10) Finally.2) (A.. .1) (A. b] Proof.A Error of Lagrange interpolating polynomials Let f (x) ∈ C n ([a. b]). n. If x = xi for some i = 1.4) for x ∈ [a. b]. i=2. if p(x) interpolates f (x) at n points. i=1 (A. .n for i = 1.9) f n (ξ ∗ ) (x − xi ). .