0% found this document useful (0 votes)
151 views16 pages

Roe Riemann

The document discusses numerical methods for solving hyperbolic conservation laws by exploiting information from Riemann problems. It argues existing schemes do not fully utilize this information and proposes constructing matrices with 'Property U' to better represent local conditions and obtain certain desirable solution features. Matrices with Property U are exhibited for gasdynamics equations.

Uploaded by

izyannn8950
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
151 views16 pages

Roe Riemann

The document discusses numerical methods for solving hyperbolic conservation laws by exploiting information from Riemann problems. It argues existing schemes do not fully utilize this information and proposes constructing matrices with 'Property U' to better represent local conditions and obtain certain desirable solution features. Matrices with Property U are exhibited for gasdynamics equations.

Uploaded by

izyannn8950
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

JOURNAL OF COMPUTATIONAL PHYSICS 43, 357-372 (1981)

Approximate Riemann Solvers, Parameter Vectors,


and Difference Schemes

P. L. ROE

Royal Aircraft Establishment, Bedford, United Kingdom


Received August 14, 1980; revised March 30, 1981

Several numerical schemes for the solution of hyperbolic conservation laws are based on
exploiting the information obtained by considering a sequence of Riemann problems. It is
argued that in existing schemes much of this information is degraded, and that only certain
features of the exact solution are worth striving for. It is shown that these features can be
obtained by constructing a matrix with a certain “Property U.” Matrices having this property
are exhibited for the equations of steady and unsteady gasdynamics. In order to construct
them, it is found helpful to introduce “parameter vectors” which notably simplify the structure
of the conservation laws.

We consider the initial-value problem for a hyperbolic system of conservation


laws, i.e., we seek a vector u(x, t) such that

u, + F, =O, (1)
and
u(x, 0) = uo(x>, (2)

where F is some vector-valued function of u, such that the Jacobian matrix


A = aF/au has only real eigenvalues.
We introduce the discrete representation xi = x0 + i Ax, I,, = t, + n At, and suppose
that I$’ is some approximation to u(xI, t,).
A multitude of strategies have been devised to obtain numerical results for the
discrete problem, and their relative merits are still largely unclear. We shall address
in this paper some questions relating to those methods which attempt to construct the
solution by solving a succession of Riemann problems. Recall that the Riemann
problem is the initial-value problem obtained when the general data, Eq. (2), is
specialised to

u(x, 0) = UL (x < 0); u(x, 0) = UR (x > 0). (3)


357
0021 9991/81/1OO357-16SO2.00/0
Copyright @ 1981 by Academic Press, Inc.
All rights of reproduction in any form reserved.
358 P. L. ROE

That is, we study the break-up of a single discontinuity. Those cases where F(u) is
linear are well-known and essentially trivial (see [I] for a brief discussion). Those
cases where u is scalar and F is non-linear can be surprisingly intricate, but have
been thoroughly investigated [2]. If u is a vector and F is non-linear, then the
problem involves non-linear algebraic equations together with, usually, logical
conditions which express the fact that a given member of the wave system may be
present either as a shockwave or as an expansion fan. A review of results relating to
the general Riemann problem has been given by Lax [3]. In general, the most
efficient way to solve these equations will depend on the system of conservation laws
(1) from which they derive; ingenuity is required to exploit special features of each
individual system. For the special case of the unsteady Euler equations in one space
dimension, an algorithm was devised by Godunov [4], and is available in the books
by Richtmyer and Morton [5], and Holt [6]. A variant which converges more rapidly
was worked out by van Leer [7].
The usual way of incorporating the Riemann problem into the numerical solution
is to take (ul, uy+ i), for each i in turn, as pairs of states defining a sequence of
Riemann problems, which are then thought of as providing information about the
solution within each interval (i, i + 1). Various individual methods are then
distinguished by the way in which this information is put to use. Briefly, we review
these below.
Godunov [4] supposed that the initial data could be replaced by a piecewise
constant set of states with the discontinuities at {xi+,,*}. He then found the exact
solution to this simplified problem. After some time step At (less than Ax divided by
the greatest wavespeed found in the Riemann solutions) he replaced the exact solution
by a new piecewise constant approximation, whilst preserving integral properties of
the conserved variable u. The first major extension to this line of approach was made
by van Leer [7], who approximated the data, and the solution at each subsequent
time level, by piecewise linear segments, allowing discontinuities between the
segments. This required the solution to an interaction problem which was more
general than Riemann’s, but raised the order of accuracy of the method from one to
two.
A parallel line of development was initiated by Glimm [8], who followed Godunov
as far as the exact solution to the simplified problem, but then obtained the new
approximation by a random sampling procedure. The sampling produces solutions
which are conservative only on the average, but has the advantage that near a
moving, isolated, discontinuity, the solution is incremented either by the full amount
of the jump, or not at all. In this way, initially sharp discontinuities remain sharp,
and for some technical problems this property is important. More refined sampling
procedures have been introduced (see, e.g., Chorin [9], but so far the accuracy of the
method approaches unity from below.
It seems to the present author that the expense of producing an accurate solution to
the Riemann problem would only be justified if the abundance of information which
is thereby made available could be put to some rather sophisticated use. Indeed, it
must somehow be true that the accuracy with which it is worthwhile solving the
APPROXIMATE RIEMANN SOLVERS 359

Riemann problem will be limited by the way we intend using the solution. For
example, we may consider the use of less accurate solutions in existing methods.
Harten and Lax [lo] have devised an approximate Riemann solver particularly
designed for incorporation into Godunov-type or Glimm-type difference schemes.The
approximation developed herein could be (and has been) used in the same way, but in
comparison with the Harten and Lax approximation it suffers the theoretical disad-
vantage of not having a naturally constructed entropy condition; this point will be
discussed in more detail later. On the other hand, the present approximation is
designed to provide the information neededto obtain high formal accuracy, following
the strategy set out by Roe ( 11. That paper essentially described a mechanism by
which any algorithm developed for numerical solution of the linear advection
equation
24,+ au, = 0 (4)

can be generalised to the case of non-linear systems. A large body of unpublished


numerical results for Burger’s equation, the non-linear shallow-water equations, and
the steady and unsteady Euler equations, demonstrates that all qualitative features of
each algorithm are faithfully transmitted by the mechanism. The same evidence
suggeststhat accuracy also carries over, at least to third order. An essential stage in
the mechanism is the approximate solution of a non-linear Riemann problem.
In this paper we consider approximate solutions which are exact solutions to an
approximate problem, viz.,

where A” is a constant matrix, and the data (uL, IQ) are of course unaltered. 2 is to be
chosen so that it is representative of local conditions. Candidates which immediately
come to mind are A’= {(A, + AR), or A’= A(f(u, + Q)). We shall, however, only
accept a matrix A”(u,, IQ) which satisfies the following list of properties:

(i) It constitutes a linear mapping from the vector space u to the vector
space F.
(ii) As uL -+ Us -+ u, A”(u, , uR) -+ A(u), where A = aF/ih
(iii) For any uL, uR, x(u,, uR) X (uL - uR) = F, - F, .
(iv) The eigenvectors of 2 are linearly independent.

In general, neither of the candidates mentioned above would satisfy condition (iii).
Once such a matrix has been constructed, then its eigenvalues can be considered as
the wavespeedsof the Riemann problem, and the projections of uR- uL onto its
eigenvectors are the jumps which take place between intermediate states [l]. In [I], it
is shown that (iii) is a sufficient condition for the algorithm produced by the
mechanism to be conservative. It is also shown that (iii) and (iv) are necessary and
360 P. L. ROE

sufficient conditions for the algorithm to “recognize” a shockwave. By this we mean


that if (uL, uR) satisfy the jump condition
(F, - F,d = 0, - 4 (5)
for some scalar S, then, by (iii), S is an eigenvalue of 2. A projection of (uL, uR)
onto the eigenvectors of 2 will (becauseof (iv)) be solely onto the eigenvector which
corresponds to S. In this special case, the solution of the Riemann problem will be
exact.
Evidently (ii) is a necessary condition if we are to recover smoothly the linearized
algorithm from the non-linear version.
Collectively, this list of properties has been christened Property U (since it is
intended to ensure uniform validity across discontinuities). It is thought to specify
desirable properties of a Riemann solver becauseof the following heuristic argument.
Consider a region of the x, t plane containing O(N’) points and traversed by a finite
number of discontinuities. At the majority of points, nothing very special is
happening, and the choice of method is not critical. At a number of points which is
O(N), we are close to a single discontinuity; here Property U will allow us to
recognize the situation, and to deal with it appropriately. At a number of points
which is 0( 1), we are close to two or more discontinuities, and such a situation will
not be resolved on a fixed grid. In accordance with the shock-capturing philosophy,
we must here put our trust in conservation, which is also assured by Property U.
If we have to deal with more space dimensions, say (x, y) as well as t, then
successful shock-capturing involves additional difficulties. One of these is that there is
no obvious “generalized Riemann problem” to serve as a building block. In practice,
it has been found [ 121that if the multidimensional operator is split into a sequenceof
one-dimensional operators, then the present method may be applied to each operator.
This gives good results so long as the shockwaves remain aligned with the computing
grid; such shockwaves are accurately recognized and appropriately treated. Problems
arise when the shockwave lies obliquely across the grid, and are particularly severeas
the solutions attempts to reach a steady state. This is because neither of the split
operators, by itself, recognizes the oblique shock as being in equilibrium. Under these
conditions, the concept of operator splitting becomes rather dubious, but the finding
of a satisfactory alternative is beyond the scope of this paper.

CONSTRUCTION OF A

It is very easy to construct A’ so that it meets conditions (i) and (ii) above.
Condition (iv) is easily checked a posteriori. The difficulty lies entirely with condition
(iii). The existence of an x satisfying condition (iii) follows from the mean value
theorem. Let 0 be a parameter which varies linearly between 0 and 1 along a straight
path connecting uL to uR, so that
u(B) = UL+ B(UR- IQ; du=(u,-u,)dtl.
APPROXIMATE RIEMANN SOLVERS 361

Then

F(uR) - F(u,) = j’ $ d0

=I1A(e)$+9 0

= I ‘A(8)dl3.(UR
-uJ
0

whence

A = j1 A@I)de.
0

However, the integrals involved may not emergein closed form, or the closed form
might be expensive to compute. By a more subtle choice of path, candidates for 2 can
be found which are integrable, and an approach similar to this has been taken by
Osher and Solomon [ 121.
Since computational speed is a major requirement, it is interesting to remark that
in the common case where each component of F is a rational function of the
components of u, an x can be found whose entries are likewise rational functions of
the components of u. The following identities are obviously true for arbitrarily large
jumps of any scalar quantities, where A(.) = (.)L - ( .)R :

A(P+q)-AP+Aq, (64
A (pq) = PAq + 4 AP, (6b)
A(l/q) = -4/q*2, (6~)

where the overbar denotes an arithmetic, and the asterisk a geometric, mean value. In
this way we shall be lead to a formula of the form

Fj(“L) -Fj(uR) = 7 “ij[(uiG. - (“i)R1,

(7)

where each Z, depends on u, and uR. The matrix whose entries are ~7, satisfies
conditions (i) to (iii) of Property U.
Matrices for the unsteady Euler equations were constructed in this way, and are
given in [ 111. However, there are many disadvantages to this construction.
In the first place, it is far from unique, as may easily be seen by applying the
second of the above formulae in an obvious way to A(pqr) and noting that the
outcome depends on the order of doing the multiplications. Secondly, the formulae
obtained tend to be rather cumbersome, especially bearing in mind that we actually

581/43/2-12
362 P. L. ROE

want to obtain analytical expressions for the eigenvalues and eigenvectors of A”. Not
only does the algebra become almost impossible to carry through without error, but
the whole object of creating a neat and efficient approximate solution is being
defeated.We present in the following section a simple device which has so far worked
each time that it has been tried. Indeed, in the case of the Euler equations, it
simplifies the structure so much that it may well have applications outside the present
context.

THE PARAMETER VECTOR

The inspiration for this section is taken from the common experience in analytic
geometry that a plane curve v(x) may in some cases be much more easily described
by a parametric form y = y(t), x =x(t). We may therefore expect that a multidimen-
sional manifold such as F(u) may sometimes be more amenable if represented as
F = F(w), u = u(w) where we may speak of w as a parameter vector. We now exhibit
a very useful parameter vector for the Euler equations, which we write as

where

PV PW

t 1
PUV PUW
G= p +pu2 7 H= PV w
POW P+Pw2
4~ + 4 i W(P + 4

in which p = density, p = static pressure, (u, v, w) = velocity in Cartesian coordinates


(x, y, z), and e is the total energy, related to the other variables by an equation of
state which, for a perfect gas, is

e=& + fp(u2 + v2 + w’). (10)


Various special cases (two dimensional, steady, etc.) follow obviously by striking
out the irrelevant terms. We assert that every component of u, F, G, H is merely
quadratic in the components of
w = p y 1, 24,v, w, H)T, (11)
APPROXIMATE RIEMANN SOLVERS 363

where total enthalpy H is related to previously defined quantities by pH = e t p.


Other choices are possible for this fifth component, but lead to marginally more
complicated algebra.
The truth of this is obvious in most cases.For example, u, = w:, G, = w3w4, etc.
Some of the less obvious ones are

Wl w5
u, =-+ 7 <w: t w; t w:>,
Y

F=Y-l
2 -w, wg f J+ w; -G <w; + w:> Wb)
Y

and G,, H, follow by symmetry.


It is now very easy to represent any jump in the spacesu, F, G, H in terms of its
image in the space w, merely by use of (6b). For example, given any pair of states
(IQ, uR) and their images (wL,wR) we can write
(u, - UR)z B(w, - WR), (13)
where
0 0
0 0
BE 0 0
(14)

and all the overbars denote arithmetic means. Likewise we can write

(F, - F,J = c(w, - wR), (15)


where

i- 0
Y-l y w2 w 5-y-2 ytl :
W4
Wl
$3 - 2ILfi Y-0
w2 3 --y--lw -0
w2
y 47-Y y-l -0 -

- (16)

WS w2 i
Obviously these very simple formulae are closely related to the homogeneous
property of the Euler equations. The vectors u, F, G, H are each homogeneous of
order one with respect to any of the others; also each of them is homogeneous of
order two with respect to w. However, the homogeneousproperty is not essential for
the existence of a parameter vector. The reader may experiment with parameter
vectors for the shallow-water equations, which do not have the homogeneous
property.
364 P. L. ROE

EIGENVECTORS AND EIGENVALUES FOR THE EULER EQUATIONS

Now suppose that we wish to analyse (by operator splitting) some problem of
unsteady three-dimensional flow. We will wish to construct the eigenvalues and eigen-
vectors of some matrix A which maps du onto LIF with Property U. (The matrices
which map Au onto AG, AH, will follow from symmetry.) Evidently we may choose
2 = (C?)(g)-‘. To find the eigenvalues of this mapping we may solve
((e)(B)-’ -AZ) Au = 0,

i.e.,
(&@Aw=O, (17)
i.e.,
det(C - AI?) = 0. (18)

At this stage it is convenient to divide through by “T,, and then to adopt a


convention that for the remainder of this paper u, for example, means

with a similar interpretation for v, w, H, i.e.,

W3
v=y, wzw,, H=$
WI WI

Then (18) reduces to


(A - u)‘[(A - u)’ - (y - l)(H - f(u’ + v2 + w’)}] = 0. (19)
To find the eigenvectors, it is easiest to begin by finding their images in G-space
(by solving (17) with k set equal to a root of (19)), and then mapping into u-space.
The results are
1 0
u-a 0
e, = V 3 e2= v , e3 =
W 0
H-ua i ii V2
(20)
1
u+a
e4 = V

H + ua
APPROXIMATE RIEMANN SOLVERS 365

(where q* = U* + uz + W’ and u* = (y - l)[H - )q*]) corresponding to the eigenvalues

1, =u-a, /I, = u, A3=u, 1, = u, I,=u+a. (21)

To complete the analysis we must show how to project an arbitrary du onto the
eigenvectors as basis, i.e., how to find the coefficients ai in

AU = 1 a,e,.

A routine calculation yields


a2
-a,=(H-q*)Au,+uAu,+vAu,+wAu,-Au,, (224
Y-1
wa,=Au,-wdu,, Pb)
va,=Au,-vdu,, PC)
a, +a,=Au, -ad, (224
a@, - a,) = Au, - u Au,. PW
For computational purposes, it is better to extract factors V, w, from e2, e3, so that
a*, a3 are never indeterminate. If this is done, we carry out the a posteriori check that
the eigenvectors form a linearly independent set by arranging them into a matrix and
finding the determinant; this comes out to be 2a3/(y - l), which is never small unless
the Mach number is very large.
If we wish to solve problems of wholly supersonic flow by marching in the x-
direction, then we need a similar analysis for the mapping AF + AG. This follows an
identical pattern, but the results are slightly more complicated. The equation for the
eigenvalues is

(Au - ?I)‘[ (h - 0)’ - a*( 1 + A’)] = 0 (23)


from which we obtain eigenvectors
1
0
e, = e2 = 0 e3=
0
-H i
(24)
1 t jq’/H
2u
e4 = 22,
2w
H t fq’
366 P. L. ROE

corresponding to the eigenvalues

v - u/R v + u/R
A,= A4=$ A,= (25)
u + v/R ’ u u - v/R ’

where

R==--u2a2+ v2 1. (26)

As before, we complete the solution by expressing

AF = i aiei

and we quote the results, for which it is convenient to introduce


S=a,+a,+2a,. (27)
Then we have
2Ha,=HAF,-AF,, (2W
q2S=uAF,+vAF,, (28b)
2Ha, = AF, - wS, (28~)
(1 -4q2/H)a,=S+a,-AF,, WW
q*(a, - a,) = R(u AF, - v AI;,), (284
a,+a,=S-2a,. (280

The a posteriori check on independenceof the eigenvalues leads to a determinant


value of 8a2H(u2 + v*)IR, confirming our expectation that the only troublesome
conditions in supersonic flow will be those where the local Mach number is very
large, or its x-component close to unity. Notice that this analysis simplifies usefully
for the common special case of isoenergetic flow, defined by H = constant. This
condition replaces the fifth equation in the Euler system, and we may delete the
second eigenvector, since some simple algebra reveals that a2 = 0 in isoenergetic flow.
Also we can shorten the solution for the (ai}.
Strictly, no such simplification is possible in the unsteady case, since even if a flow
originates in an isoenergetic stream, it will not remain isoenergetic unless very special
conditions apply. However, a fictitious flow is a legitimate device for computing
towards the steady state, as discussed by Viviand [ 131. There are several ways to do
this, and it is not easy to seewhich will converge fastest to the steady state. However,
from the viewpoint of the present analysis, some alternatives are much simpler than
APPROXIMATE RIEMANN SOLVERS 361

others. This can be illustrated by means of the one-dimensional unsteady equations.


Consider the momentum equation

@u>,+ (P + PU’), = 0 (2%


where, in order to discuss the differential equations, we have reverted to conventional
notation. We will eliminate p from this equation by making some assumption which
is valid in the steady limit, and the result will combine with the continuity equation to
give a pair of equations which can be solved for @,u).
One strategy is to assumeH = constant, and then differentiate H with respect to x,
so obtaining

p,=a2p,~(Ypupuu,.
Y 1’
The eigenvalues which arise from this approach are the roots of
pi’-(y+ l)u~+z&-2=0 (31)
in which, as previously, a* = (y - l)[H - $‘I. These are not the eigenvalues of the
real time-dependent flow, although it is interesting that in both cases u2 = u2
produces a zero root. This strategy is mentioned by Viviand [ 131.
Alternatively, we assume

px = a%, (32)
with the same definition of a’, and then the eigenvalues are found to be the roots of

12-2uI+u2-a2=0 (33)
just as in the real-time flow. There is no real paradox in reaching the contradictory
conditions (3 1) and (33) from the false assumption H = constant.
To implement the assumption (32), it can be shown that we must delete the fifth
component from the eigenvectors in (20) and delete the fourth eigenvector from the
list, whilst replacing (22a) by a4 = 0. By taking this approach, the present method
leads to a pseudo-time-dependentanalysis of very simple structure.

A NUMERICAL EXPERIMENT

It is doubtful whether the accuracy of an approximate Riemann solution can


profitably be discussed without reference to its intended use, so that numerical
evidence has only a very limited value. However, one particular experiment has lead
to a rather striking result which does seem worth reporting. A variety of a new and
established finite-difference schemeswere compared by Sod [ 141 on the basis of their
performance on a standard shock-tube problem formulated in Eulerian coordinates.
368 P. L. ROE

I I I
O3.0 0 x/t 2.0

FIG. 1. Exact and approximate solutions to a Riemann problem.

The density ratio was taken to be 1:8, and the pressure ratio 1: 10. In Fig. 1 we
compare the exact solution for the density distribution with the present approx-
imation. The comparison is not very close, but it is worth observing that the area
beneath the two curves is identical (and can readily be proved so).
Now consider what happens if the exact Riemann solution is used in conjunction
with Godunov’s [4] finite-difference schemeto solve the same problem by advancing
35 time steps with At/Ax = 0.411 (Sod’s standard comparison). Truncation error in
the finite-difference scheme degrades the results, producing the somewhat smeared
solution shown in Fig. 2. Now, if Godunov’s schemeis applied to the linear advection
equation, it reduces to first-order upwind differencing. First-order upwind differencing
can be passedthrough the mechanism described in [ 1] to produce a new, non-linear,
first-order scheme, in which is embeddedthe present approximation. We can then try
out the new scheme on the same test problem. Now by contrast, matters improve
after the first time step. When compared on the standard basis (35 time steps) the
differences between the two solutions are insignificant everywhere. They are largest
near the progressing shockwave, but even there, Table I shows that they are very
small.
The fact that the differences betweenthe two solutions are so slight, compared with
the truncation errors which exist in both, supports the arguments put forward in the
Introduction. More accurate solutions to the same problem by methods involving the
present analysis, are shown in [ 11.
It may be interesting to insert here some observations concerning run times for the
two methods. An attempt was made to eliminate subjective bias from the comparison
by having rival programmers work on each method and the exercise formed part of a
small project to improve programming technique. The algorithm for the exact
solution was taken from Sod [ 141, but was improved in various small ways. At the
time of the exercise, the version due to van Leer [7] was not available. However, this
would probably not affect the results much since van Leer’s main contribution is to
APPROXIMATE RIEMANN SOLVERS 369

o.“~
20 40 60 60 Index

FIG. 2. Numerical solution to a shock-tube problem, incorporating either the exact or the approx-
imate Riemann solution in a first-order upwind difference scheme.

reduce the number of iterations required to reach convergence, and on average only
1.6 iterations were needed anyway. Each of these iterations was found to take
0.20 msec on a DEC KL-10 computer using its optimised FORTRAN compiler, so
that the total time spent on solving the Riemann problems was 0.20 x 1.6 X 99 grid
intervals X 35 time steps X 10m3= 1.11 sec. The total CPU time, excluding
input/output operations, was 2.02 set, the remaining 0.91 set being accounted for by
the Godunov differencing scheme into which the Riemann solutions were incor-
porated.

TABLE I

Computed density
Index
(I) - Godunov Ref. [I]

12 0.2658 0.2655
73 0.2654 0.2652
14 0.263 1 0.2629
75 0.2460 0.2458
76 0.1878 0.1881
71 0.1368 0.1370
78 0.1260 0.1260
79 0.1251 0.1251
80 0.1250 0.1250
370 P. L. ROE

To find an approximate solution of each Riemann problem by the present method


took 0.27 msec, so that the total time spent solving Riemann problems was 0.94 set,
not in itself a very significant reduction. However, the pay-off comes from the fact
that the information is immediately available in usable form, as time increments of u
due to each wave system. This meant that the total CPU time (again excluding
input/output operations) was only 1.09 sec. Furthermore, this same feature could be
exploited in higher-order algorithms, of the kind described in [ 11. A typical second-
order algorithm took about 1.20 set, and the incorporation of additional logic to
make the results monotone raised the time to 1.78 sec. The third-order monotone
results shown in [l] took 1.90 set to produce.

A NOTE ON ENTROPY CONDITIONS

The main purpose served by introducing a Riemann solver (either exact or approx-
imate) into a finite-difference schemeis presumably that of providing physical realism
by correctly discriminating between information which should propagate with
different speeds. The most basic distinction is simply between information which
should propagate to the left or to the right. When the Riemann problem is solved
exactly for a flux difference Fi+ 1- Fi = dF,+ ,,*, this is accomplished as follows. Let
F, be the state obtained in the exact solution for x = 0, t > 0. Then
&+,,,=F,-F,,
A@i+l/2=Fi+l -FM,

where the arrows denote contributions from left- and right-moving waves. In the
present approximation we have (dropping the i subscript)

AF = c ljajej

and we identify the left- and right-moving components as

AF = c Ajajej (nj < O),

A@= c Ljajej (lj > 0).


j
Now this identification fails, and some of the realism may be lost, if one of the
waves (let us say the kth wave) should in fact be a fan which spans x = 0. In the
exact solution part of the kth wave contributions to Af, and the remainder to AF, but
in the approximate solution all of the kth wave will contribute to one or the other,
depending on the sign of I,. An extreme example of this failure arises if we consider
an interval for which F, = Fi+, , ui # ui+ , , and conditions are such that an expansion
APPROXIMATE RIEMANN SOLVERS 371

should occur, rather than a shockwave. In such a case, although dF is zero, dE and
d@, as determined by the exact Riemann solution, will be equal and opposite. A
differencing scheme which uses this information can break the discontinuity into the
correct fan-like structure.
The present approximate analysis, if applied straightforwardly, would yield
& = A$ = 0 and so provide no motive for breaking up the unrealistic discontinuity.
An empirical cure for the problem is not hard to devise. For each interval which
contains a sonic point one creates artificially an equal and opposite contribution to
AP and AF. Work is in hand to provide a fuller theoretical justification for this
process, and to find its neatest implementation.
It is quite possible that these precautions may sometimesbe dispensed with. When
the present methods have been applied to analyse the transonic flow over aerofoils
[ 11] no special treatment was found necessary near the sonic line. However, it would
be unwise to rely on such computations in any case where the physical correctness of
the solution was less apparent. The prospective user would be advised to employ
either an empirical device of the kind described above, or some form of artificial
viscosity. A general theory which combines approximate Tiemann solvers and
artificial viscosities has been presented by Harten and Lax [lo].

CONCLUDING REMARKS

In [ 1] we described a strategy for obtaining numerical solutions to hyperbolic


initial-value problems. In the present paper we have enlarged the details of one
element in that strategy, but feel that our results may perhaps find wider application.
Our investigations into the Euler equations have revealed some very tidy structures.
Also the existence of a fast approximate Riemann solver may be found more
generally useful. Our programming experience is that the present direct method is
about as time-consuming as one cycle of the iterative procedures mentioned in the
Introduction. In the majority of cases which arise in a finite-difference calculation,
the direct solution is already very accurate and might be used to reduce the number
of iterations needed to obtain any more exact solutions which may be required.
However, this approach has yet to be explored. Finally we remark that a variety of
interesting formulae may be obtained by translating the results of this paper from
conservative variables into physical variables, such as @,U, U,w, p).

REFERENCES

I. P. L. ROE, in “Proceedings, Seventh Int. Conf. Num. Meth. Fluid Dyn.,” Springer-Verlag, New
York/Berlin, 1981.
2. 0. A. OLEINIK, Trans. Amer. Math. Sot. Sect. 2 33 (1963), 285.
3. P. D. LAX, “Hyperbolic Systems of Conservation Laws and the Mathematical Theory of Shock
Waves,” SIAM, Philadelphia, 1972.
372 I’. L. ROE

4. S. K. GODUNOV, Mat. Sb. 47 (1959), 271; also as US JPRS translation 7226 (1960).
5. R. D. RICHTMYER AND K. W. MORTON, “Difference Methods for Initial-Value Problems,”
Interscience, New York, 1967.
6. M. HOLT, “Numerical Methods in Fluid Dynamics,” Springer-Verlag, New York/Berlin, 1977.
7. B. VAN LEER, J. Comput. Phys. 32 (1979), 101.
8. J. GLIMM, Comm. Pure Appl. Math. 18 (1965), 697.
9. A. J CHORIN, J. Comput. Phys. 22 (1976), 517.
10. A. HARTEN AND P. D. LAX, NYU Report 20E/ER/03077-167 (1980) (SIAM J. Numer. Anal. I8
(1981), 289).
Il. C. C. L. SELLS, RAE TR 80065 (1980).
12. S. OSHER AND F. SOLOMON, Math. Comp., in press.
13. H. VIVIAND, in “Proceedings, Seventh Int. Conf. Num. Meth. Fluid Dyn.,” Springer-Verlag, New
York/Berlin, 1981.
14. G. A. SOD, J. Comput. Phys. 27 (1978) 1.

You might also like