Riemann Solvers for some Hyperbolic Problems
with a Source Term
AlainYves LEROUX
Resume.
Dans de nombreux modeles de mecanique des uides, le terme source correspond a une interaction de l'ecoulement avec le milieu environnant : la geometrie ou certaines forces internes telles que la friction, la gravite, la force de Coriolis, etc.. Dans les problemes d'environnement, cette interaction est souvent un terme dominant qui determine les equilibres (etats au repos). Lors des simulations numeriques, il est evidemment tres important de reproduire parfaitement ces etats d'equilibre et de les maintenir a l'equilibre au cours du temps. Il est surtout important d'eviter que la perte de l'equilibre au niveau numerique vienne destabiliser et modier de facon signicative la simulation. Dans ce papier, cette question est analysee a partir d'exemples concrets, et des solveurs appropries, dits solveurs equilibres, sont proposesMots cles.
Problemes d'environnement, stabilite de schemas numeriques pour les systemes hy-perboliques, solveurs equilibres, volumes nis (Godunov).
Abstract.
In many problems of uid dynamics, the source term corresponds to the interaction with the surrounding medium, including the geometry and some internal forces (friction, gravity, Coriolis acceleration, etc..) In environmental problems, this interaction is often a very dominant term which characterizes the well balanced states. In a numerical simulation, it is obviously important to be able to reproduce these equilibria and maintain them for a large number of timesteps, or at least, to avoid a stable equilibrium to be disturbed and destabilized by an unsuitable method. This is the matter discussed in the present paper.Keywords.
Problems in environmental science, stability of numerical schemes for hyperbolic systems, well balanced solvers, nite volumes (Godunov)AMS Subject Classication.
65M05, 65M101 Some examples
We rst consider the following one dimension model,
u
t +u
(u
+a
)x = 0where
a
is a given function, for example,a
(x
) = 1 +a
0K x
2(2)
with given constants
a
0> O K >
0. We start with the following initial data, for a givensmall
>
0,u
(x
0) =
0
for x >
0max
(0a
0;a
(x
);)for x <
0(3)
The solution of this problem is obviously the stationary solution since the ux term
u
(u
+a
)x is always zero (eitheru
= 0 oru
+a
=a
0;=constant
).A usual way to solve numerically this problem is to use a splitting technique, that is to cut (1) into two steps which will be run consecutively at each timestep during the computation. These two steps are
Step
1 :u
t + (u
2 )2 x = 0(4)
Step
2 :u
t ;u a
0(
x
) = 0:
(5)
Let us consider a point
x <
0, close to 0. We haveu
x<
0 andu
0, and from(4) the solution
u
will increase and move forwards. This can create a valueu
>
0 on thetop of
a
atx
= 0, which will not be corrected by (5) sincea
0(x
) = 0 on the top. We canexpect that the solution will still move rightwards and become a shock wave. This shock wave will have the following form
u
(xt
) =
u
+a
0;
a
(x
)for
0< x < x
(t
)0
for x > x
(t
)where
x
=x
(t
) corresponds to the shock path whose equation is given by the Rankine Hugoniot relationx
0(
t
) = 12 (u
+a
0;
a
(x
))starting from
x
= 0. For a largex
, we havex
0(t
)a
02 and a jump close to
a
0 (which2 Some physical models
2.1 Hydraulics
We can consider the above function
a
(x
) given in (2) as the prole of a dam with a water reservoir on thex <
0. We consider the following (so-called) Shallow Water one dimension modelh
t + (hu
)x = 0(6)
(
hu
)t + (hu
2)x +gh
(h
+a
)x = 0(7)
where
h
is the heigth of water,u
the velocity, andg
the gravity constant. We can notice that this model is relevant even for deeper ows, as long as the velocity stays homogeneous on the thickness of the water layer otherwise, this model corresponds to a damped model since the velocity is averaged, which means reduced as seen easily by using the Cauchy Schwartz inequality.We start with the following initial data
h
(x
0) =
0
for x >
0max
(0Z
0;a
(x
))for x <
0u
(x
0) = 0where
Z
0 corresponds to the water level. ForZ
0< a
0, we see clearly that the solution isthe stationary one since the water will not climb by itself up to the top of the dam. Now, by using a splitting technique as the following one,
Step 1 :
h
t + (hu
)x = 0(
hu
)t + (hu
2 +g
h22 )x = 0
Step 2 :
h
t = 0(
hu
)t = ;g h a
0(x
):
We can notice that the rst step will move the water rightwards from the left hand side of the dam. If
Z
0 is close toa
0 (withZ
0< a
0), a positive heigth of water will appear onthe top of the dam, will provoke a ux forwards, and a ow dropping down the hill. This ow will be a torrential one, with a Froude number j
u
jp
gh
larger that one (this is to becompared to a supersonic ow in hydrodynamics), characterized by a thin layer of water with a large velocity. In such a situation, a numerical scheme can produce a negative value for
h
, and download the computer. Obviously, this cannot be prevented by the second step, sincea
0(x
) is zero on the top of the dam, and negative rightwards, which will2.2 Atmosphere
We consider the Euler equations with a constant gravity for a one (vertical) dimension. The ground corresponds to
x
= 0. The model reads t + (u
)x = 0(8)
(
u
)t + (u
2 +p
)x = ;g
(9)
(
e
)t + ((e
+p
)u
)x = ;gu
(10)
where
is the density,u
is the velocity,g
the gravity constant,p
the pressure ande
the total energy. The two last parametersp
ande
are linked by the internal energyI
through the formulaee
=I
+u
22p
= (;1)I
(11)
where
is the adiabatic constant of the air. From (8), (9) and (10), we can reduce (10) to the following equation on the pressurep
t +up
x +pu
x = 0(12)
where no source term is present. This shows that the only non homogeneous equation in the system is (9).
We consider now an equilibrium at rest, which means that
u
= 0 and all the time derivatives are zero. The equations (8), (10) or (12) are reduced to "zero
=zero
", and (9) is reduced to the single equation(
;1) (I
)x = ;g
(13)
which involves two parameters. We can construct an innity of solutions. Among them are these two particular ones, for a given state (
0I
0) at the ground level:I
=I
0 =e
; gx(;1)I
0
and
I
=I
0 ;gx
;1=
0:
The rst one corresponds to a strong tornado since the larger part of the air will be pulled up. The second one will produce a negative internal energy at the level
x
= (;1)I
g
03 A well balanced method for the Atmosphere model
We consider the model of atmosphere described in the previous section, that is (8), (9) and (10) or (12). We recall that
g
is a constant. The transport equation (8) expresses that the vector (u
) is divergence free in the (xt
) set. Hence, there exists a potential denoted by'
='
(xt
) such that'
x ='
t = ;u
which leads to the equation
'
t +u '
x = 0:
(14) We set
q
=g '
and by using (8), we get that
q
satises a transport equation of velocityu
. That way, we have got a new formulation of the model,(
q
)t + (qu
)x = 0 t + (u
)x = 0(
u
)t + (u
2 +p
+q
)x = 0(
e
;q
)t + ((u
+p
)u
)x = 0:
(15)
which is a homogeneous system of conservation laws. It is still an hyperbolic problem whose eigenvalues of the ux matrix are
=
u
;c
=u
(double)=
u
+c
withc
= rp
:
Moreover, the eigenspace associated with the double eigenvalue =
u
has two dimensions, so that the system has the same properties as a strictly hyperbolic one. We nd again the same Riemann invariant as for the homogenous version of (8), (9) and (10) and the same shock conditions (derived from the Rankine Hugoniot relations) for the three parameters,u
andp
. On a shock wave we get thatq
is continuous (no jump). The only dierence comes from the contact discontinuities, where the continuous variables are now the velocityu
and the total pressurep
+q
, instead ofu
andp
in the previous model. This allows to relax the pressure and help the preservation of the equilibria.We can now solve this system by using any classical scheme. For exemple the Godunov method works very well and preserve the equilibria even when starting from experimental measured data. More, the numerical tests using the Godunov scheme show that the stability of an initial equilibrium will be recovered after a strong local perturbation ( 3], 4]). The only modications in the Godunov scheme are the following:
- the Riemann solver is modied by including the balance
p
+q
=constant
on the contact discontinuities,- the source term is taken in account together with the ux term, since it becomes a ux term itself in the new model.
4 A well balanced scheme for the scalar model
We try to adapt the previous idea for the scalar equation
u
t +f
(u
)x =g
(u
)a
(x
)(16)
We suppose for convenience that
fg
2C
1(R)f
0
>
0 and thata
is a given function.A rst naive idea is to introduce a function
q
such thatq
x=;g
(u
)a
(x
), in orderto write (16) under the form
u
t + (f
(u
) +q
)x = 0:
However, we get no homogeneous equation for
q
in the general case, and this idea is to be rejected.Another idea is to introduce a primitive function
A
(x
) ofa
(x
), and give (16) the formu
t +g
(u
)
f
0(u
)g
(u
)u
x +A
0(
x
)
= 0
which is
u
t +g
(u
)w
x = 0(17)
by writing successively
'
0(
u
) =f
0(u
)g
(u
) andw
='
(u
) +A
(x
):
(18)We get
w
t ='
0(u
)u
t = ;
f
0(u
)g
(u
)g
(u
)w
x that isw
t +f
0(u
)w
x = 0
:
(19)
Now we have a homogenous system, made of (17) and (19) which presents however some drawbacks: it is not a conservative one and a new eigen value = 0 has been created. On the other hand, we get from (19) that
w
has the behaviour of a Riemann invariant along the characteristics of velocityf
0(u
). We shall use it to solve the Riemann problem,noticing that a wide class of function
A
(x
) may be used, including the class of constant piecewise functions. In the construction of the method, we shall approach the functionA
(x
) by a constant piecewise function which is constant on each cell, and use (19) to build the Riemann solver.Let
x
be the meshsize andt
the timestep. We setx
i =i
x
fori
2 Z, andM
i =]x
ix
i+1. The approximate solution at timet
n =n
t
on the cellM
i will be denotedu
ni. We build a constant piecewise functionA
x dened byA
x(x
) =A
i =Z x i
0
a
()d
forx
2M
i:
and set, for each cell
M
iw
ni ='
(u
ni) +A
i:
(21)
By using (19), one gets that
w
is constant across each interfacex
=x
i, and travellingforwards along the characteristic
x
0(t
) =f
0(u
) withf
0(u
)>
0. The Riemann problem nearthe interface
x
=x
i is made of the equation (19) and the starting dataw
(xt
n) =
w
nifor x > x
iw
ni;1for x < x
i:
We denote by
w
i (resp.
u
i) the trace of
w
(resp.u
) along the right side of the interfacex
=x
i. We havew
i =
w
ni;1, which leads to'
(u
i) =
'
(u
ni;1);(
A
i ;A
i ;1 ):
(22)
Since
'
may be discontinous at the roots ofg
and continous in the inside of the intervals limited by these roots, we take of courseu
i in the interval where
u
ni;1 is lying.The Godunov scheme, which is here close to the decentered scheme, reads
u
n+1i =u
ni ;r
;f
(u
i) ;
f
(u
ni ;1)
(23)
where
r
=x
t
. We get it immediately by integratingu
t +f
(u
)x =g
(u
)A
0x(
x
)on the set
M
i]t
nt
n+1 and noticing thatA
0x is zero in the inside of the cell
M
i.The numerical method is made of (22) and (23) and works under the usual CFL condition for the decentered scheme, that is
r
maxf
0(
u
) 1:
(24)
One can prove
L
1 andBV
estimates, and the convergence towards the entropy condition(see 6], 7], 8]).
This method works obviously in the case
a
(x
) = 1 (and a giveng
(u
)), and we notice that the constanta
= 1 is approached by the Dirac combddxE
(x
x
)x
whereE
states for the integer part. It works obviously in the caseg
(u
) = 1a
=a
(x
) too.5 The Shallow Water model
This section is based on the results obtained in 5].
We consider a water ow over either a river bed, or the surrounding ground when ooding, or the bottom of the ocean for a coastal ow. We rst consider a one dimension model, and denote by
a
=a
(x
) the bottom elevation, byh
the heigth of water (h
= 0 corresponds to a dry ground), byg
the gravity constant and byu
the water velocity whenh >
0. The model is the followingh
t + (hu
)x = 0(25)
(
hu
)t + (hu
2)x +gh
(h
+a
)x = 0(26)
which is known as the Shallow Water model, thought it still works for deep water too, in many cases. This model can be built from the uncompressible Euler equations by integrating over the thickness of the water layer. We take the average velocity
u
(xt
) = 1h
Z a+h
a
u
~(xzt
)dz
(27)
where ~
u
is the velocity in the Euler model. The equation (25) is derived immediately from the uncompressibility hypothesis in the Euler model, and the equation (26) is obtained by using the hydrostatic pressure, that is@p
@z
= ;g
and the averaged velocity given by (27) instead of ~
u
. Note that this last approximation can be seen as the contribution of a friction phenomenon since from the Cauchy Schwartz inequality we haveh
2u
2 = Z a+ha
u
~(xzt
)dz
2
h
Z a+h
a j
u
~(xzt
)j2
dz :
The equations (25), (26) correspond to a hyperbolic system with the characteristics velocities
u
+;
c
, wherec
= pgh
is called the wave celerity. The rate ju
jc
is called theFroude number. For j
u
j=c
we get the critical velocity. A Froude number greater than 1corresponds to a supercritic mode, also called torrential mode, and a Froude number less than 1 corresponds to a subcritic mode, also called uvial mode.
As for the scalar case, the bottom prole
a
(x
) will be approached by a functiona
xwith the usual CFL condition, once the Riemann problem is solved on the two sides of the cell.
The Riemann problem is made of the equations (25), (26) and the initial data (
h
(x
0)u
(x
0)) =
(
h
du
d)for x >
0(
h
gu
g)for x <
0:
(28)
We consider the case of the following bottom prole
a
(x
) =8 <
:
a
gfor x
0a
g+x(a
d;a
g)for
0x
a
dfor x
:
(29)
for a given
>
0 detinated to go to zero. In (28) and (29), the dataa
gh
gu
g anda
dh
du
d are given constants. We shall build the solutionu
e for any>
0 and take thelimit as
goes to zero. This solutionu
is made of rarefaction or shock waves propagatingwith the velocities
u
+;
c
, on the at bottom areas, that is either forx <
0 (this wave isdenoted (
L
)) or forx >
0 (this wave is denoted (R
)). On the slope, the remaining wave will be a stationary wave, denoted by (S
).We get the form of a rarefaction wave by writing locally
u
as a function ofh
, that isu
=u
(h
), in the equations (25), (26). We get, in the case of a at bottom, the linearsystem
1
hu
0+u
hu
0+u u
2+ 2huu
0+gh
h
th
x = 0 0:
(30)Since
h
is expected to be not constant, the matrix is necessarily a singular matrix, which leads to the conditionh u
02;
g
= 0(31)
This can be seen as a dierential equation whose solutions are the so called Riemann invariants
u
+;2 p
gh
=constant :
For a shock wave, we use the Rankine Hugoniot relations and get that any state (
h
0u
0)can be linked only to the states (
hu
) satisfying the jump conditionu
;u
0 =+
;(
h
;h
0)r
gh
2+hh
h
00:
The occurrence of a shock wave or a rarefaction wave is ruled by the entropy condition. We get that a (
L
) wave is characterized byu
=(
u
g ; 2( pgh
; pgh
g)for h
h
gu
g ; (h
;h
g) qg
h+hg2hhg
for h > h
g:
(32)
u
=(
u
d + 2(pgh
; pgh
d)for h
h
du
d + (h
;h
g) qg
h+hd2hhd
for h > h
d:
(33)
It remains to consider the (
S
) wave. We rst look for a regular solution. By writingu
=u
(h
) as before, we get the linear system, wherek
=;ga
d;
a
g , for 0< x <
,
1
hu
0+u
hu
0+u u
2+ 2huu
0+gh
h
th
x
=
0
hk
:
(34)
instead of (30). The condition (31) cannot be satised for
k
6= 0. This means that theusual Riemann invariants play no role here. We introduce a function
(h
) such that 0(h
) =h u
0(h
)2;
g
and solve (34). We get
0(
h
)h
x =k
0(
h
)h
t = ;k
d
dh
(h u
(h
)):
Hence
(h
) has the form (h
) =k
x
+C
(t
)(35)
and since
xt=tx, we get thatd
2dh
2 (h u
(h
)) = 0that is
h u
(h
) =A h
+B
(36)
where
A
andB
are constants. This allows us to have the expression of(h
) and ofC
(t
) in (35). We get (h
)gh
+B
22
h
2 =k
(x
;At
) +C
0(37)
where
C
0 is a constant. This expression means that a regular (S
) wave is a solitary wave,and it is a stationary wave only for
A
= 0, that is for a constant uxhu
. In this case (h
) =gh
+u
2 which reads as a total energy. Since2u
=Bh
, we get that is a convex fonction ofh
, going to innity whenh
;!0 orh
;!1, and minimal forh
=h
B
23g
13that is for
u
=u
p
which is the critical velocity. From (37) we see that a regular stationary (
S
) wave has these two properties:- the mode (uvial or torrential) can never change on the slope, - a critical velocity can be reached only on the top of the slope, - the ux is constant, that is
A
= 0.Let us denote by
h
l the value ofh
atx
= 0. We have,B
=h
lu
land from (37) for
x
=, (h
()) =k
+ (h
l) = ;g
(a
d;a
g) + (h
l)(38)
We see that the state at
x
= does not depends on . Let us denote by (h
ru
r) thisstate and go to the limit as
goes to zero (which changes nothing in (38)). We geth
ru
r =h
lu
l (=B
) (h
r) ; (h
l) = ;g
(a
d;a
g)(39)
where the states (
h
ru
r) and (h
lu
l) are of the same mode. We remark that the inuenceof the prole of the slope on the ow is limited to the value of the denivelation only. We consider now the occurrence of a stationary jump on the slope (29), and denote by
h
2 andh
1 the values ofh
on the right side and the left side of the shock respectively.From the Rankine Hugoniot conditions we get
h
2u
2 =h
1u
1 (=B
) (h
2) = (h
1)(40)
where
(h
) is a function such that0(h
) =h
0(h
), which gives here (h
) =g h
2 +2B
h
22:
We get from (40)
(h
2);(h
1)h
2;h
1<
0:
The function
(h
) is convex, with a minimum at the critical point, as for the function (h
) for the same uxB
. Sinceh
2 =6h
1, we have necessarily that the states (h
1u
1) and(
h
2u
2) are of dierent modes.For
B >
0, the velocity eld is positive and from the entropy conditionh
1< h
2. Thestate (
h
2u
2) is of uvial mode and the state (h
1u
1) is of torrential mode. ForB <
0,the velocity eld is negative and from the entropy condition
h
1> h
2. The state (h
2u
2) isof torrential mode and the state (
h
1u
1) is of uvial mode. The position of the stationary6 The Riemann solver
The solution of the Riemann problem (25), (26), (28) (29) is the concatenation of (
L
), (S
) and (R
) waves and we are concerned with the limit as goes to zero. That way, the (S
) wave will reduce to a jump obtained as the limit of a stationary wave of (25), (26). We propose to work with the variablesu
andc
= pgh
instead ofh
, since the Riemann invariants become linear in this case. The initial data are(
cu
) =
(
c
gu
g)for x <
0(
c
du
d)for x >
0and we set
K
0 = ;g
(a
d;a
g):
We denote
G
= (c
gu
g) andD
= (c
du
d), and we introduce the two curves (GL
) and(
RD
) dened by(
GL
)8 > <
> :
c
= 0for u > u
g+ 2c
gu
=u
g ; 2(c
;c
g)for
0< c < c
gu
=u
g ; (c
;c
g)c+cg
c cg q
c2+c2 g
2
for c
c
g(41)
and
(
RD
)8 <
:
c
= 0for u < u
d;2c
du
=u
d + 2(c
;c
d)for
0< c < c
du
=u
d ; (c
;c
d) c+c dc cd q
c2+c 2 d
2
for c
c
d(42)
Following (
GL
) asu
goes from;1 to +1 makesc
to go from +1 to 0 and following(
RD
) asu
goes from ;1 to +1makesc
to go from 0 to +1. These two curves meetin one point
S
= (c
u
) which is unique foru
d;2
c
du
g+ 2c
g, andc
= 0 and
u
isundetermined in the other case.
We denote by
L
= (c
lu
l) the value of the solution on the left side of the (S
) jump,that is for
x
= 0;, and byR
= (c
r
u
r) the value on the right side, that is forx
= 0+.These two points are linked by two conditions:
L
andR
belong to a constant ux curvec
2u
=g Q
0 (Q
0constant flux
)(43)
and
Q
0is tted by the Bernoulli condition (h
r) ; (h
l) =K
0 ( =;g
(a
d;a
g) )(44)
which is a second linkage between
L
andR
. The condition (44) also reads (c
2r;c
2l) ( 1;g Q
20We rst consider the case
K
0>
0:
We have several cases and we chooze to present these cases according to the posi-tion of
S
.If
S
corresponds to a torrential mode withu
> c
we have the followingCase
1.Case
1: EitherL
=G
ifu
gc
g (G
is torrential), orL
is the critical point (u
l=c
l)of (
GL
) ifu
g< c
g. SinceL
is determined, we can computeQ
0from (43), and the positionof
R
is obtained from (44), withh
r< h
l (R
is torrential). That way, we have builtL
andR
, which is enough for a numerical solver. We get the complete solution by solving a at bottom Riemann problem with (c
ru
r) as the left data and (c
du
d) as the right data, andtaking the restriction to
x >
0 of this solution.If
S
corresponds to a uvial mode, we consider the critical pointM
= (c
Mu
M) of(
GL
) (that isc
M =u
M), and the pointN
= (c
Nu
N) at the intersection of (RD
) and theux curve passing through
M
, that isc
2Nu
N =c
2Mu
M:
Then we compute
K
max = (h
N) ; (h
M):
Now, we have two possible cases.
- either
K
0> K
max, and this case is similar to theCase
1 above,- or 0
K
0K
max, and we have the followingCase
2 : The pointL
will belong to (GL
), and the pointR
will belong to (RD
), both in uvial mode. For a given value of the uxQ
(=c
2lg
u
l =c
2rg
u
r), we can compute the coordinates ofL
andR
, and we can compute the quantityF
(Q
) = (h
r);(h
l),which corresponds to a functiont of
Q
. Thus the problems reduces to a single equation of the formF
(Q
) =K
0(45)
which can be solved by using the dichotomy process for example.
We may remark that for
u
<
0, with a negative ux, theCase
2 still works. Whenthe null ux is reached, we get a ux with
h
+a
=Constant u
= 0, fromL
toR
forh
l>
0. Forh
l = 0, there is a wall reexion on the right side of the discontinuity, andthere is no ux.
If
S
corresponds to a torrential mode withu
<
;c
, we consider the critical point
N
0 = (c
N0
u
N0) on (RD
) and the pointM
0= (c
M0
u
M0) on (GL
) belonging to the sameux curve
c
2N0u
N0 =
c
2M 0u
M0
:
Then we compute
Now we have three possible cases:
- either
K
0> K
max and this case is to be solved as above inCase
1,- or
K
minK
0K
maxand this case is similar to theCase
2 above,- or
K
0< K
min and we computeL
andR
as follows.Case
3: IfG
is torrential,L
andR
are on the same ux curve that isc
2lu
l =c
2ru
r,L
belongs to the critical lineu
l+c
l= 0 andR
belongs to (RD
), such that(h
r) =(h
l)+K
0h
r> h
l. This characterizesL
andR
, and is sucient for a numerical computation.The complete Riemann problem is solved by linking
L
toG
by using the solution of a usual at bottom Riemann problem. IfG
is uvial,L
is the critical point on (GL
) and we proceed as before to obtainR
.If
S
corresponds to a valuec
= 0, then the equation (43) is trivialy satisedfor any
K
0, and (44) is undetermined. The solution is the same as for a at bottomcase since a dry ground appears near the discontinuity of the topography. When the dry ground appears only on one side of the discontinuity, we have a wall reexion.
For
K
0<
0, we get a similar solver, which is the same as above for an observerstanding on the opposite bank of the river. We only have to use the new variables ~
u
g=;u
du
~d =;u
gh
~g =h
dh
~d =h
gK
~0=;K
0:
instead of
u
gu
dh
gh
dK
0, in the solver described above.7 A linearized Riemann solver
The Riemann solver described above works in all cases and is rather dicult to handle. A rst linearized solver can be obtained by using the Roe technique, with the variables
m
=hu
andh
. Such a solver may bring some values near them
-axis, which means a smallh
and consequently a large velocityu
. From theCFL
condition, the time step will severely fall down. The previous analysis clearly shows that a linearization usingc
andu
may be a better choice (see also 2] for the at bottom case).
We propose here an iterative method using the variables
c
andu
, where each step is a linear process. For two states (c
1u
1) and (c
2u
2), we setu
=u
2;u
1c
=c
2;c
1u
= 12 (u
1+u
2)c
= 12(c
1+c
2)h
= c2 1+c2 2
2g
:
(46)
We have
c
22u
2 ;c
21u
1 = 2u c
c
+gh
u
(47) and
gh
2 +u
222 ;gh
1 ;u
21We start with two states (
c
1u
1) and (c
2u
2) , which can be (c
gu
g) and (c
du
d), and wecompute
c u
andh
as above. Then we iterate the following steps, until convergence: -1- computec
andu
solution of the linear system2
c u
c
+g h
u
= 0 2c
c
+u
u
=K
0(49)
-2- compute
c
1u
1c
2u
2 solution of the linear systemu
1 + 2c
1 =u
g + 2c
gu
2 ; 2c
2 =u
d ; 2c
dc
2 ;c
1 =c
u
2 ;u
1 =u
(50)
-3- either restart with
c
1u
1c
2u
2, or setc
l=c
1u
l=u
1c
r=c
2u
r =u
2and stop.To solve (49) we need to have
u
26=gh
(at least forK
0 6= 0) and (50) always hasa solution. In practice, no more than 3 or 4 iterations are needed. And often only one is enough, which corresponds to a really linearized solver.
This solver works on a very wide class of cases, but it is only an approximation, and the error may become large when a strong shock occurs. The property of positiveness of
c
1c
2 may be lost too.8 Conclusion
The Riemann solver including the source term allows to use the Godunov scheme or any nite volume scheme with a CFL condition which does not depend on the source term. It allows to work in a very wide class of values for the variables, even in the linearized version. It can be used in any dimension, since we use it to compute a ux through an interface, which reduces to a one dimension problem. This method has been used for the 2 dimension simulation of a dam break on a random ground, and is particularly ecient near the obstacles or when recovering a dry ground, or also when a dyr ground appears after the ooding. This solver may be extended in order to include non linear friction terms (see 5]). Previous versions of this solver may be found in 9] or 1], with many numerical tests.
References
1] C. Bon. Modelisation et simulations numeriques d'ecoulement hydrauliques et de
ruissellement en topographie quelconque. These de doctorat, Bordeaux, 3/7/1997. 2] Th. Buffard, Th. Gallouet, J.M. Herard. Un sch ema simple pour les
3] P.Cargo, A.Y. LeRoux. Un sch ema equilibre adapt e aux modeles d'atmosphere
avec terme source. C. R. Acad. Sci. Paris, Ser. 1, 318, 1995, 73-76.
4] P.Cargo. Nouveaux modeles numeriques pour l'hydrodynamique atmospherique et
la Magnetohydrodynamique ideale. These de doctorat, Bordeaux, 11/12/1995. 5] A. Chinnayya, G. Godinaud, A.Y. LeRoux. A general Riemann solver for
Shallow Water equations, with friction and topography terms. To appear.
6] L. Gosse, A.Y. LeRoux Un sch ema equilibre adapt e aux lois de conservation
scalaires non homogenes. C. R. Acad. Sci. Paris, Ser. 1,323, 1996, 543-546.
7] J.M. Greenberg, A.Y. LeRoux. A well balanced scheme for the numerical
pro-cessing of source terms in hyperbolic equations SIAM Journal on Numerical Anal-ysis,33-1, 1996, 1-16.
8] J.M. Greenberg, A.Y.LeRoux,R. Baraille, A.Noussair. Analysis and
Ap-proximation of Conservation Laws with Source Terms SIAM Journal on Numerical Analysis,34-5, 1997, 1980-2007.
9] O.LeCoz. Un schema equilibre pour les ecoulements a surface libre instationnaires