1989 - Efficient Implementation of Essentially Non-Oscillatory Shock-Capturing Schemes, II
1989 - Efficient Implementation of Essentially Non-Oscillatory Shock-Capturing Schemes, II
AND
STANLEY OSHERS
In this paper we extend our earlier work on the efficient implementation of EN0 (essen-
tially non-oscillatory) shock-capturing schemes.We provide a new simplified expression for
the EN0 construction procedure based again on numerical fluxes rather than cell-averages.
We also consider two improvements which we label ENO-LLF (local Lax-Friedrichs) and
ENO-Roe, which yield sharper shock transitions, improved overall accuracy, for lower
computational cost than previous implementation of the EN0 schemes. Two methods of
sharpening contact discontinuities-the subcell resolution idea of Harten and the artificial
compression idea of Yang, which those authors originally used in the cell average
framework-are applied to the current EN0 schemes using numerical fluxes and TVD
Runge-Kutta time discretizations. The implementation for nonlinear systems and multi-
dimensions is given. Finally, many numerical examples, including a compressible shock
turbulence interaction flow calculation, are presented. 0 1989 Academic Press, Inc.
I. INTRODUCTION
where u = (ur, ... u,)=, x = (xl, x2, .... xd), and, for real 5 = (<r, .... &,), the combina-
tion Cf=‘=,<r(af,/au) always has m real eigenvalues and a complete set of eigen-
vectors. We use the notations xJ = J. Ax, t, =nAt, and use u; to denote the
computed approximation to the exact solution u(x,, t) of (1.1). We use bold face
letters for vectors and plain letters for scalars.
EN0 schemes, constructed by Harten, Osher, Engquist, and Chakravarthy
[2-51, use a local adaptive stencil to obtain information automatically from regions
of smoothness when the solution develops discontinuities. As a result, approxima-
tions using these methods can obtain uniformly high-order accuracy right up to
discontinuities, while keeping a sharp, essentially non-oscillatory shock transition.
The original EN0 schemesin [2-51 used a cell-average framework which involved
a reconstruction procedure to recover accurate point values from cell averages and
a Lax-Wendroff procedure (replacing time derivatives by space derivatives, using
the PDE) for the time discretization. This can become a bit complicated for multi-
dimensional problems [2]. Harten is currently investigating efficient and more local
methods [7]. For ease of implementation we constructed [12] EN0 schemes
applying the adaptive stencil idea to the numerical fluxes and using TVD
Runge-Kutta type time discretizations. The EN0 schemes in [12] skip the
reconstruction step and the Lax-Wendroff time discretization procedure, hence they
are simpler to program, especially for multi-space-dimensional problems. We hope
that [12] and this paper will encourage potential users to apply these high-order
methods to real physical computations for systems of conservation laws in several
space dimensions.
We shall use the same notation as in [12]: A, are the usual difference operators
A++= +(aj+l -ai); Eq. (l.la) is sometimes written in an abstract form:
u, = A?(u). (l-2)
The EN0 spatial operator L(u) is supposed to approximate Y(u) to rth order:
L(u) = Y(u) + O(W) (1.3)
for smooth u, where h is the maximum mesh size, and the Euler forward version
w = T(u) = (I + AtL)(u) (1.4)
is assumedto be total variation stable, for scalar, 1D nonlinear problems, under a
suitable CFL restriction
(1.5)
where & is usually inversely proportional to max If’(u)!. At present this stability
cannot be proven for unmodified third-order or higher EN0 schemes.There is,
however, strong theorical and numerical evidence to indicate that the methods are
indeed TV stable [3-5, 123.
34 SHU AND OSHER
“(0) = “n
>
U(r)=“n+l
(1.6b)
with
TV(u”+‘)<TV(T(u”)) (1.7a)
under the CFL restriction:
i=$+,.n,. (1.7b)
TABLE I
TVD Runge-Kutta Schemes(1.6)
2 1 1 1
; ; 0 4
IMPLEMENTATION OFENOSCHEMES,II 35
We proved in [ 123 the existence of constants a*, ad, ... such that
C(r- 1)Pl
A+ l/2 =fi+1j2 + 1 a2kAx2k + O(Ax’+ ‘) (1.9)
k=l ii l/2
guarantees rth order accuracy (1.3). For example, a, = - &, a4 = &, ... .
The use of the a2k may seem a bit unnatural. We need to evaluate all the even
derivatives of the interpolating polynomials (except the last one if r is even), which
increases the computational cost for large r. In Section 2 of this paper we provide
a simplified (but equivalent) version of (1.9). We also consider in Section 2 two
improvements labelled ENO-LLF (local Lax-Friedrichs) and ENO-Roe, which
yield sharper shock transitions, better overall accuracy, and lower computational
costs than the methods discribed in [12].
Shocks have a self-sharpening mechanism due to converging characteristics. This
is not true for contact discontinuities, which are usually smeared in shock capturing
calculations. Recently, Harten [6] introduced the notion of subcell resolution in
order to sharpen contact discontinuities. He did this in the context of cell average
based EN0 schemes.Although in [6] the fact that cell averages contain informa-
tion leading to the location of the shock is strongly used, this information is
actually contained in any conservative scheme (1.8). In Section 3 we translate
Harten’s subcell resolution idea to the EN0 schemesusing fluxes and Runge-Kutta
techniques. The result is simpler than [6] but less accurate in theoretical resolution.
However, the numerical results (in Section 5) are quite close to those presented
in [6]. The main drawback of our extension of Harten’s approach is that it is not
clear how to generalize it effectively to several spacedimensions. A naive generaliza-
tion gave unsatisfactory results in our 2D numerical tests. Currently Harten is
considering truly 2D subcell resolution methods [7]. Also recently Yang [ 151
introduced a simple artificial compression technique applied to cell average based
EN0 schemes.He demonstrated that the technique preserves the TVD (or ENO)
properties when applied to a TVD (or ENO) scheme.We translate his result to our
present framework in Section 3. The numerical results presented in Section 5
indicate that this adaptation works well both for 1D and 2D problems.
In Section 4 we extend the present implementation to nonlinear systems and to
multi-space dimensions. Section 5 contains numerical experiments, including scalar,
1D nonconvex Riemann problems; examples of sharpening contact discontinuities;
2D Riemann problems for Burger’s equation; 1D and 2D Euler equations of gas
dynamics including a compressible shock-turbulence interaction problem.
Concluding remarks are presented in Section 6.
(2.1)
then
f(u,x,,,=(h(x+$)-h(x-$)),/Ax
fW=j- -cc
x h(5)& (2.2)
at xj+ 112 by
Noticed that the lower limit -cc is irrelevant. It can be changed to any fixed
grid point xjO+,,2.
Given the values of H(x~+~,~), we can construct interpolating polynomials in an
EN0 fashion, i.e., by obtaining a locally “smoothest” stencil starting from one or
two points, then adding one point to the stencil at each stage by comparing two
divided differences and choosing the one which is smaller in absolute value
(see [4]), and then using its derivative at xj+ 1,2as the numerical flux fj+ 1,2.We
remark here that by (2.3), we have (H(x~+~,~) - H(xj- ,12))/dx = f(uj), hence the
(k + l)th-order divided differences of H can be easily obtained from the kth divided
differences off: Since we shall never need the Oth-order divided differences, we do
not perform the summation in (2.3). We simply use the divided difference tables
forf:
Lemma 2.1 also explains why the EN0 schemesconstructed here and in [ 123 are
equivalent (for linear equations in one space dimension only) to the cell-average
EN0 schemesconstructed in [4] via the primitive function for u.
The starting point in the choice of stencil process is very important. “Upwinding”
is achieved by this initial choice, and this also is crucial for the evident stability of
these methods. We have experimented with using xj+r as the starting point in the
choice of stencil process for evaluating A+ ,,2, to solve Burgers’ equation (i.e.,
upwinding in the wrong direction initially) with positive f’(u). We observed
instability even if the stencil is chosen in an EN0 fashion up to third order.
In [12], f is decomposed into f = f + + f - with (f + )’ 2 0, (f - )’ < 0, then different
IMPLEMENTATIONOFENOSCHEMES,II 31
starting points are assigned to f * according to the direction of the wind. This
simple procedure may smear shocks and affect the overall accuracy (although the
smearing is very mild comparing with lower order non-EN0 schemes). It was
also pointed out in [ 121, that instead of decomposing f into f + and f - we could
also use any E-flux hi+ I,2 [lo], with dfjj”+1,2=fi+ I- hj+ 1,2, dfjT 1,2= hj+ 1,2-fi
replacing the first (undivided) differences fj5 i - fj’ ; we shall later refer to this
procedure as EN0 schemeswith hj+l,2 building blocks. However, that procedure
requires smoothness of hi+ 1,2 at sonic points to keep the high accuracy there. It is
known that most E-fluxes are not smooth at sonic points, they are typically only
Lipschitz continuous or perhaps C’ there. Numerical results do indeed indicate a
loss of accuracy at sonic points when such building blocks are used. Although we
may modify any E-flux to make it smooth at sonic points, this procedure is too
complicated to be computationally pleasing.
We now use a different approach to overcome this difficulty. We choose the first
point in the stencil according to the local sign off’(u) at xi+ ,,z. We may use, e.g.,
the “Roe” speed
(2.4)
to determine the sign off ‘(uj+ 1,2).We then have the following algorithm:
otherwise
&l) = ($” 3 k(l)
mm= kc’-
mm1) (2.8b)
(ii) form
/$‘.-‘)+I-,
Q(‘)(x)=Q”-‘)(x)+c(‘) m’“n (x-xx,_,,,). (2.9)
k=k(f.-ll
DX”
(5) Qj+ 112
(XI = Q”+ “(XI.
(6) We then take
f,,1,2=;
Qj+1/2(X)Ix=x,+,;,. (2.10)
Remark 2.1. (a) Notice that unlike the EN0 schemewhich uses the Roe flux as
a building block, Algorithm 2.1 gives a uniformly high-order flux A+ 1,2, even at
sonic points. The scheme described above will be (r + l)th-order accurate except
perhaps at isolated zeros of derivatives of the fluxf(u(x)), where it may degenerate
to rth order.
(b) Since x=x~+~,~ is a node of Qj+r,, in (2.10), the evaluation of the
derivative in (2.10) costs very little.
Algorithm 2.1 yields a schemeadmitting a stationary entropy-violating expansion
shock since it is based on the first-order Roe scheme. However, the “entropy fix”
in this framework turns out to be very simple. Before stating this remedy, let us
present another algorithm:
H’ CXIL1,2>
x/+ I,21
= i(fC”(xl)l f aj+ I/Z”Cxll)~
I=j-r,...,j+rforH+, 1= j-r+ 1, .... j+r+lforH-; (2.1la)
H*b-1/23 X/+1/2, ...Y x,+k+i,21
where
c(i+ l/2= max If’(u)l. (2.12)
U,$USU,+l
(2) For H+, k$,, = j, then repeat steps (3)-(4) in Algorithm 2.1 to get
Q(:’ l)(x). Let Qi’; 1,2(~)= Q$’ ‘j(x);
(3) For H-, kg/” = j+ 1, then repeat steps (3)-(4) in Algorithm 2.1 to get
Q?+ l)(x). Let Q,; 1,2= Q(:+ l)(x);
(4) We then take
h,L,L~,2=~Cf(Uj)$f(Uj+1)-aj+1/2(Uj+1-Uj)l, (2.15)
where aj + 1,2is defined by (2.12), is a monotone flux (see [1] for definitions). We
omit the details. However, Algorithm 2.2 is not equivalent to the EN0 scheme
obtained by using hi”+“Z2 as a building block [ 123. The advantage of Algorithm 2.2
is again its uniformly high order of accuracy.
(c) In terms of cost, Algorithm 2.2 is equivalent to EN0 schemesusing f’
in [12] (we shall denote it by ENO-LF), i.e., evaluating two divided difference
tables, while Algorithm 2.1 is half as expensive because it only needs one divided
difference table.
(d) Roughly speaking the viscosity of ENO-LF is larger than that of ENO-
LLF, which is in turn larger than that of ENO-Roe. Hence in going from ENO-LF
to ENO-LLF to ENO-Roe we can expect increasingly less shock smearing and
better overall accuracy; this is verified by the numerical experiments of Section 5.
(e) As was true for the schemesdescribed in [12], when r= 1, Algorithm 2.1
yields a familiar TVD second-order accurate scheme [9], when the minimum of the
absolute value function is changed to the minmod function:
s. min (a,[, ifs = sign(a,) = ... = sign(a,)
l<i<fl
m(al, .... a,) = (2.16)
10, otherwise.
We omit the details of the derivation here.
We now describe the “entropy fix” version of Algorithm 2.1.
40 SHU AND OSHER
ALGORITHM 2.3 (ENO-RF). Let A+ ,,2 be defined by (2.10) if f’(u) does not
change sign between uj and uj+ , ; otherwise, let J?,+,,2 be defined by (2.13).
Remark 2.3. If f is convex, f”(u) 2 0, we can use (2.10) unless f’(u,) -CC 0<
f’(u,+ , ); i.e., we use (2.13) only in the cells which contain “expansion shocks.” This
is the case for, e.g., the Euler equations of fluid gas dynamics. See Section 5.
Notice that the cost of Algorithm 2.3 is very close to that of Algorithm 2.1
because sonic points are isolated and the divided differences of u need only be
computed locally near sonic points.
We may associate Algorithm 2.3 with the following E-flux.
We first consider the lD, scalar, linear version of (1.1), i.e., d = m = 1, f(u) = au.
Discontinuous solutions to this problem (called contact discontinuities) are usually
smeared more severely than shocks, when computed by shock capturing schemes.
Recently Harten [6] introduced the concept of subcell resolution which he used
to sharpen contact discontinuities. This notion uses the observation that the cell
averages carry information about shock locations. In fact, this information is also
contained in any conservative scheme (1.8), whether cell average or numerical flux
based. We can thus translate Harten’s subcell resolution techniques to our EN0
schemeswhich use fluxes and Runge-Kutta time discretizations. Notice that for a
linear, constant coefficient problem f(u) = au, ENO-LF, ENO-LLF, and ENO-Roe
are identical. We write out the following algorithm for the case a > 0.
ALGORITHM 3.1. For a > 0, at the beginning of every Runge-Kutta cycle:
(1) Let sj= [m(A+uj”, A-$‘)[, where m is the minmod function (2.16). Define
the “critical intervals” (intervals containing discontinuities) Z,= (Xj- i12, Xi+ ij2) by
sj>sj+,,sj>sjp,;
(2) For any “critical interval” Zj, let 8,= (u,- uj-,)/(uj+, -uj-i) or more
accurately let 0, be the solution in [0, l] of the quadratic equation
where @,,2 and jj(+Rii2are again computed by Algorithm 2.1 with the modification
on step (2) only, i.e., the first step in the choice of stencil. We use kg,!, =j- 1 for
JYl,2 and kEl= j + 1 for J!$)1,2.To be safe, for the second, third, etc. steps in the
Runge-Kutta cycle, we may choose kg/,, = j + 2 for fi+R),2 if tj < 1, and, when Zj- ,
is a “critical interval” and cj-, < 1, we should choose kg,i = j + 1 to evaluate fj+ 1,2.
‘=‘O ( )Uj+1-2”j+Uj-,(
lUj+1-Ujl++Ij-Uj-11 >
’
(3.3)
in (3.2), where a0 > 0 and /I = integer 2 0 are two parameters. The heuristic reason
to use (3.3) is that a is then very small (-0(/z”)) except near a discontinuity in
either u or its derivative, hence over-compression in smooth regions should be
avoided. Computationally this improves the performance, especially with some
tuning of /I. We have not yet been able to find a general rule in choosing the
optimal /I.
(d) Again, the modification (3.2) does not affect the accuracy in smooth
regions.
Both algorithms in this section are easily generalizable to variable coefficient or
nonlinear problems. However special caution is needed when one tries to sharpen
a (nonlinear) shock, to avoid obtaining a nonphysical, entropy condition violating
solution. In the computation for the Euler equations of compressible gas dynamics
(Section 5), we only use the compression in the linearly degenerate fields.
1, ifp=q
Zj$)1,2. ry+)1,2= a,, = o,
i ifp #q.
a= f u(p)rJ(p+)l,2. (4.2)
p=l
ALGORITHM 4.1.
(1) Same as step (1) in Algorithm 2.1, changing vectors to bold face letters.
(2) For eachj, compute H’P)[~,_,,2 ,..., ~/+~+r,~] for I=j-y ,..., j+l and
k = 1.2. .... r, by using the divided difference tables of H (derived from those off)
and (4.1). Here 1 <p<m.
(3) Apply steps (2)-(6) of Algorithm 2.1 to H(p), using Zj+ 1,2= Ajp+)1,2, to get
&Y/2 *
where L(uj, uj+ ,) is some curve (e.g., a straight line) in phase space connecting uj
and uj+,. For Euler equations of gas dynamics, the fields are either genuinely
nonlinear or linearly degenerate, hence we may use
(4.4)
V. NUMERICAL RESULTS
We use the notation EN0 - X- (Y) - r, where X= Roe, LLF, RF, or LF refers
to Algorithms 2.1, 2.2, 2.3 or the f * version in [ 111; Y = S or A refers to
Algorithms 3.1 or 3.2; r is the order of the scheme. For the TVD Runge-Kutta
methods used please seeTable I. We have run most examples using second-, third-,
and fourth-order schemes,but here we usually include only third-order results as
representatives.
FIG. 1. ENO-RF-3, non-convex fluxes (solid lines are exact solutions; circles are numerical
solutions): (a) (5.1) with ~,,~,=2, I+~= -2; (b) (5.1) with ulcn= -3, u,&,,=3; (c) (5.2) with
u”(x) = - 1 in [ - f, 01; u’(x) = 0 elsewhere.
IMPLEMENTATION OF EN0 SCHEMES, II 45
cl
-1
1.0 I ’ 1 ’
0.8
0.6
0.4
0.2
Fig. 1. (Conrimed)
46 SHU AND OSHER
EXAMPLE 1. This is the Example 4 in [12, Section IV] revisited. We solve the
scalar 1D Riemann problems of (1.1) with two nonconvex functions h
f(u)=4242+(1-24)2
4u2 (5.2)
FIG. 2. (5.3k(5.4a) (solid lines are exact solutions; diamonds are numerical solutions): (a) ENO-
Roe-3; (b) ENO-Roe-S-3; (c) ENO-Roe-A-3.
IMPLEMENTATION OF EN0 SCHEMES, II 47
1.00
1
t
0.75
k
0.50 -
0.25
b
0.00
b
0.75
k
0.50
k
0.25
0.00 L
t,,,,l,,,,I,,,,I,,,,I,,,i
-2 -1.5 -1 -0.5 0
Fig. 2. (Continued)
81/83/l-4
48 SHU AND OSHER
Notice that in this linear case all the three algorithms ENO-Roe, ENO-LLF, and
ENO-RF in Section 2 are identical.
Four initial conditions u”(x) are used. The first three are used by Zalesak [16],
using 100 equally spaced grid points in [ - 1, 1) with
(since u’(x) is periodic we only give the definitions in [ - 1, 1)). The last is used by
Harten et al. [4, 61:
-x sin($x2), -16x<-’ 39
u”(x + 0.5) = )sin(2nx)(, 1x1<), t=8 (5.4d)
2x = 1 - sin(3nx)/6, i<x<l,
The results are displayed in Fig. 2-5. We observe apparent improvements of both
algorithms in all cases.For comparisons we refer the readers to [6, 161.
L i
4
0.75 i
I
0.50 r L
-I
r
;
0.25 Y;
0.00 4
I
FIG. 3. (5.3H5.4b) (solid lines are exact solutions; diamonds are numerical solutions): (a) ENO-
Roe-3; (b) ENO-Roe-S-3; (c) ENO-Roe-A-3.
IMPLEMENTATION OF EN0 SCHEMES, II 49
1.00
0.75 i
t
0.50 I-
t
1.00
0.75
I-
0.25
tt I / IlI/1 #I,,,,l,,,,l,,,j
2 -1.5 -1 -0.5 0
Fig. 3. (Continued)
50 SHU AND OSHER
(5.5a)
of the type:
(u,, x>o,y>o
x<o,y>o
4x9 y, 0) = “u:: (5.5b)
x<o,y<o
l u4- x > 0, y < 0.
Depending on the orders of the u:s, there are eight essentially different solution
types. See [13] for details. We used ENO-RF and observed convergence to the
correct entropy solution with good resolution for all cases.The results are displayed
in Fig. 67. For one case (Fig. 6) we present the results of ENO-RF-3 for 20 x 20
and 80 x 80 grid points, and the result using first-order Engquist-Osher scheme for
80 x 80 grid points. We observe that ENO-RF-3 using 20 x 20 points has roughly
the same resolution as does the first-order montone schemewith 80 x 80 points. For
the remaining seven cases (Fig. 7) we only show the results of ENO-RF-3 with
80 x 80 points.
0.50
0.25
1
1
0.00
-I
-2 -1.5 -1 -0.5 0
FIG. 4. (5.3t(5.4c) (solid lines are exact solutions; diamonds are numerical solutions): (a) ENO-
Roe-3; (b) ENO-Roe-S-3; (c) ENO-Roe-A-3.
IMPLEMENTATION OF EN0 SCHEMES, II 51
0.75 -
0.50 - j
0.25 - ]
0.00 -
III I 11,//,1/,,,1,,,-
-2 -1.5 -1 -0.5 0
I1 I I II”! lI1”v’t’_
_ c
1.00 -
0.75 -
0.50
1
i- ?
0.25
1
-2
III, I ,,,I
-1.5
I ,,,I
-1 -0.5
I ,,I, I,,,]
0
Fig. 4. (Continued)
52 SHU AND OSHER
We also remark here that Yang’s artificial compression Algorithm 3.2 improves
the resolution in this example according to our numerical experiments. Since we are
mainly interested in applying Algorithm 3.1 and 3.2 to linear problems, we omit the
details here.
u2
u,+ - + uy = 0, o<x<271, O<yQl (5.6a)
02 x
FIG. 5. (5.3E(5.4d) (solid lines are exact solutions; diamonds are numerical solutions): (a) ENO-
Roe-3; (b) ENO-Roe-S-3; (c) ENO-Roe-A-3.
IMPLEMENTATION OF EN0 SCHEMES, II 53
1.0
0.5
0.0
-0.5
-1.0
54 SHU AND OSHER
with Ay = 2Ax = $, and ran it for t = 2 (two periods). In Fig. 9 the “+” signs are
for the cross section y = 4, and the “*” signs are for the cross section x = f. We
observe that ENO-Roe-3 does smear differently in the x and y directions with
Ax # Ay, but ENO-Roe-A-3 does a much better job. On the other hand, ENO-
1.0
0.5
0.0
-0.5
-1.0
FIG. 6. (5.5 with (ulr u2, u,, u4) = (- 1, -0.2,0.5,0.8), I = 1 (surfaces of numerical solutions):
(a) ENO-RF-3, 20 x 20 points; (b) ENO-RF-3, 80 x 80 points; (c) First-order Engquist-Osher scheme,
80 x 80 points.
IMPLEMENTATION OF EN0 SCHEMES, II 55
1.0
cl.5
0.0
-0.5
-1.0
Fig. 6. (Continued)
56 SHUANDOSHER
Roe-S-2 (naive generalization to 2D) does not work well. It seemsthat some truly
2D subcell resolution techniques are needed.
EXAMPLE 6. We consider the Riemann problems for the Euler equations of gas
dynamics for a polytropic gas, i.e., (1.1) with d= 1, m = 3, and
0.5
0.0
-0.5
FIG. 7. ENO-RF-3, (5.5), t = 1, 80 x 80 points (surfacesof numerical solutions): (a) (u,, u2, uj, uq) =
(-0.2, - 1,0.5,0.8); (b) (~1, ~2, uj, uq) = (- 40.5, -0.2,0.8); (c) (ul, I+, u3, uq) = (- 1,0.5, -0.2,0.8);
(d) (u,,uz,u~,u~)=(-~, -0.2,0.8,0.5); (e) (u,, u2,u,,uq)=(O.8, -1,0.2, -0.5); (f) (u,,u2,u,,u4)=
(0.8, -1,0.5, -0.2); (g) (uI, u2, u3, uq)=(0.8, -0.2, -1,0.5).
IMPLEMENTATION OF EN0 SCHEMES, II 57
0.5
0.0
-0.5
-1.0
t
I I, I, I,, , I,, , I,, , I L
0.5
0.0
-0.5
Fig. 7. (Continued)
58 SHU AND OSHER
1.0
0.5
0.0
-0.5
-1.0
I r “‘I I ” 1 ” 1” I ‘1
e
1.0 -
0.5
0.0
-0.5
Fig. 7. (Continued)
IMPLEMENTATION OF EN0 SCHEMES, II 59
0.5
0.0
-0.5
-1.0 I-
0.5
0.0
-0.5
Fig. 7. (Continued)
60 SHU AND OSHER
0.758
0.517
0.275
0.033
1.728 3.246 4.765 I5.283
0.517
0.275
0.033
0.209 1.728 3.246 4.765 6.283
FIG. 8. ENO-RF-3, (5.6), 30x 30 points (level curves of numerical solutions): (a) a =
(b) a = 2, p=s.
IMPLEMENTATION OF EN0 SCHEMES, II 61
y = 1.4 is used. F or details of the Jacobian, its eigenvalues, and eigenvectors, see
[4, 1l] or Example 9 below.
We use the same two sets of initial conditions as in [4]:
The results are in Fig. 10-11. Notice the improved treatment of contact discon-
tinuities after using the two contact sharpening agorithms of Section 3. Also notice
that the corners of rarefaction waves (discontinuities in derivatives) are not resolved
as well. Currently this phenomenon is still under investigation.
“L, O<x<O.l
u(x, O) = UM, 0.1~x<0.9 (5.10a)
uR, 0.96x< 1,
a
1.00
I ’)(
,.:
+
7:
,,.
+
0.75
>:
+ “’
0.50 i::
1
0.25
3,,I
::g+
o.oo 2
FIG. 9. (X7), “+” for y = f, “*” for x = 4; f = 2 (solid lines are exact solutions; crossesare numerical
solutions): (a) ENO-Roe-3; (b) ENO-Roe-A-3; (c) ENO-Roe-S-2.
62 SHU AND OSHER
b ’
1.00
r
i
t
0.75
1
0.50
L-
0.25
t-
::
o.oo t.,...,.,.,.,....,..,......:.& bj
Fig. 9. (Continued)
IMPLEMENTATIONOFENOSCHEMES,II 63
where
A solid wall boundary condition is applied to both ends. See [4, 141 for details;
The results at the final time t = 0.038 are in Fig. 12-13. The solid lines are the
numerical solutions using ENO-RF-S-3 with 800 points. It can be regarded as an
exact solution. Notice that ENO-RF-3 has essentially converged for the velocity
and the pressure, but not for the density, due to the smearing of contact discon-
tinuities (Fig. 12). Also notice that ENO-RF-S-3 and ENO-RF-A-3 with 200 points
have better resolution for the density than does ENO-RF-3 with 400 points
(Fig. 13).
1.0
0.8
0.6
0.4
0.2
0.0
-4 -2 0 2 4
FIG. 10. ENO-RF-3, (5.8)-(5.9a), 100 points, 1=2 (solid lines are exact solutions; diamonds are
numerical solutions): (a) density; (b) velocity; (c) pressure.
%1/83/1-s
64 SHU AND OSHER
-4 -2 0 2 4
1.0
0.8
0.6
0.4
0.4
0.2
0.0
-4
-4 -2 0 2 4
Example 6 with a moving Mach = 3 shock interacting with sine waves in density,
i.e., initially
u = (P, M,, My, E)=, f(u) = 9,u + (0, p, 0,4,P), g(u) = 9yu + K40, p, qyP),
(5.12a)
1.4
1.2
1.2
1.0
1.0
0.8
0.8
0.6
0.4
-4 -2 0 2 4
FIG. 11. (5.8)-(5.9b), 100 points, 1= 1.3, density (solid lines are exact solutions; diamonds are
numerical solutions): (a) ENO-RF-3; (b) ENO-RF-S-3; (c) ENO-RF-A-3.
66 SHU AND OSHER
1.4
1.2
1.0
0.0
0.6
1.4
I1
1.2
1.0
0.8
i I 4
0.6
0.4
where
Also
La ’ ’ ’ 1
FIG. 12. ENO-RF-3, (5.8ab(5.10), 400 points, t=0.038 (solid lines are the numerical solution of
ENO-RF-3, 800 points): (a) density (diamonds); (b) velocity (diamonds); (c) pressure (diamonds).
68 SHU AND OSHER
0
0 0.2 0.4 0.6 0.8 1
0
0 0.2 0.4 0.6 0.8 1
b,-f$,;-b,q,,
where
b,=(y-1)/c’ (5.13d)
b,=$q2b,. (5.13e)
FIG. 13. (5.8aH5.10), 200 points, r = 0.038, density (solid lines are the numerical solution of ENO-
RF-S-3, 800 points): (a) ENO-RF-3 (diamonds); (b) ENO-RF-S-3 (diamonds); (c) ENO-RF-A-3
(diamonds).
70 SHU AND OSHER
0
0 0.2 0.4 0.6 0.8 1
0
0 0.2 0.4 0.6 0.8 1
This problem is difficult for shock capturing methods because both properties:
high-order accuracy (to resolve the fine structure) and an oscillation-free shock
transition, are needed. A small-spurious oscillation will be enough to kill any
resolution of the specified small fluctuations. This example shows that EN0
schemeshave excellent possibilities for shock-turbulence computations.
FIG. 14. (5.8ab(5.11), r= 1.8, density (solid lines are the numerical solution of ENO-RF-3, 1600
points): (a) ENO-RF-3, 200 points (diamonds); (b) ENO-RF-3, 400 points (diamonds); (c) Second-
order MUSCL-type TVD scheme, 800 points (diamonds).
72 SHU AND OSHER
2 -I
i
1
01 -4 -2 0 2 4
l-
J
i
]
O- ,
I I I I I I , I I I I I , , I I /
-4 -2 0 2 4
O4 -4 -2 0 2 4
FIG. 15. (5.8aH5.11), 200 points, t = 1.8 (solid lines are the numerical solution of ENO-RF-3, 1600
points): (a) ENO-RF-3, velocity (diamonds); (b) Second-order MUSCL-type TVD scheme, velocity
(diamonds); (c) ENO-RF-? pressure (diamonds); (d) Second-order MUSCL-type TVD schemes,
pressure (diamonds).
74 SHU AND OSHJZR
12
10
12
10
6
I-
o.us
0.00 -
-0. UP, -
-0.97 T
1 .
z 0.9
9 -_____- *i:s ___-- - - 6.99
, l$.
----- g.; ----- sg.p ----- $6.;
-- ;g;i -- ;ace -- y&z
-
----
U8.9
56.9
----- 52.9
60.9 -
----
5u.s
62.9
1: p&:8 I= y:9” I= :g:9”
-- 80.9
0.9:
b
z -___-___ -0.70
-0.10 -_- - ____ -0.56 -- ___- - - -O.YO _- _____- -0.85
----- --_-_ . 0.20 0.36
0.60 8.82
FIG. 16. ENO-RF-3, Example 9, I = 0.2 (level curves of numerical solutions): (a) 60 x 40 points,
pressure; (b) 60 x40 points, vorticity; (c) 60 x 40 points, entropy; (d) 120x 80 points, pressure;
(e) 120x 80 points, vorticity; (f) 120x 80 points, entropy.
75
0.9:
c
o.us
0.00
-o.us
-0.97
-L.U7 -0i7U 0.00
x
z - 0.9 - 1.2 - 1.5 - L.6 _ - --_ _- 2. ,
------- 2.u - _- - - - - 2. 7
----- 5”.$ ----- 4.2 -L-I= 1.: -----
--- U.6
3.3 L-=-z 8.7
-- G:O -- 6.3 -- 6:6
- 6.9 E 5:;
O.!d,
o.u9
0.00
-0.us
-0.99 l-
-1 L.1 L9 -0:7rl 0:oo
x
z - -0.70 - -0.58 - -0.UG - -0.3u
_------ -0.22 __---_- -0.10 _- - - ___ 0.02 - - - - - - _ O.lU
----- 0.213 ----- 0.38 ----_ 0.50 ----_ 0.62
0.9:
o.u9
0.00
-0. u9
-0.99-
-l.US -0.7u 0.00
x
2 - 0.9 - 1.2 - 1.5 - 1.G _ --_-_- 2. ,
ACKNOWLEDGMENTS
We thank David Gottlieb, Ami Harten, Lawrence Sirovich, Bjorn Sjogreen, Huanan Yang, and
Thomas Zang for helpful discussions and/or for suggesting numerical examples. We also thank the
refereesfor some constructive comments on the first draft of this paper.
REFERENCES