Roe Riemann
Roe Riemann
P. L. ROE
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.
u, + F, =O, (1)
and
u(x, 0) = uo(x>, (2)
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)
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
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
(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 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
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 all the overbars denote arithmetic means. Likewise we can write
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
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)
W3
v=y, wzw,, H=$
WI WI
H + ua
APPROXIMATE RIEMANN SOLVERS 365
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,.
v - u/R v + u/R
A,= A4=$ A,= (25)
u + v/R ’ u u - v/R ’
where
R==--u2a2+ v2 1. (26)
AF = i aiei
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
I I I
O3.0 0 x/t 2.0
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
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
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
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.