Computational Algorithms For Shallow Water Equations Springer Nature
Computational Algorithms For Shallow Water Equations Springer Nature
Toro
Computational
Algorithms for
Shallow Water
Equations
Second Edition
Computational Algorithms for Shallow Water
Equations
Eleuterio F. Toro
Computational Algorithms
for Shallow Water Equations
Second Edition
Eleuterio F. Toro
DICAM
University of Trento
Trento, Italy
New edition of the work originally titled Shock-Capturing Methods for Free-Surface Shallow Flows,
published by Wiley & Sons, New York, 2001
1st edition: © Wiley 2001
2nd edition: © The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer
Nature Switzerland AG 2024
This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether
the whole or part of the material is concerned, specifically the rights of reprinting, reuse of illustrations,
recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or
information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar
methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication
does not imply, even in the absence of a specific statement, that such names are exempt from the relevant
protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this book
are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or
the editors give a warranty, expressed or implied, with respect to the material contained herein or for any
errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional
claims in published maps and institutional affiliations.
This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
This Book
This book deals with computational methods for solving systems of shallow water
equations within the broader field of geophysical fluid dynamics. Such systems,
comprised of hyperbolic partial differential equations, serve as mathematical models
for simulating the dynamics of water flows in open channels, rivers, lakes, and oceans.
Practical applications range from modelling oceanic tides to the breaking of waves on
shallow beaches, roll waves in open channels, flood waves in rivers, dam-break waves,
tsunami wave propagation, and various environmental fluid dynamics scenarios.
Mathematical models of the shallow-water type are also employed for simulating
gas dynamics, such as the dispersion of heavy gases over the Earth’s surface and
atmospheric dynamics. However, the physical complexity of time-dependent, three-
dimensional oceanic and atmospheric flows necessitates more comprehensive math-
ematical models than shallow-water type systems alone. Nevertheless, the basic, one-
layer shallow water equations play a crucial role in providing benchmark solutions
for assessing methodologies intended for more complex models. Significantly, multi-
layer shallow water models are currently undergoing major developments in oceanic
and atmospheric dynamics, where the underlying concepts and methodologies from
the basic one-layer shallow water equations in this book find applicability. This
book offers fundamental concepts and methods essential for constructing advanced
high-order computational algorithms within the frameworks of finite volume and
discontinuous Galerkin finite element methods. The finite volume methodology is
developed in full detail, presenting non-linear, fully discrete high-order upwind and
centred methods for solving the non-linear, time-dependent two-dimensional shallow
water equations.
v
vi Preface
This book departs from the 2001 first edition [1] published by Wiley and Sons
Ltd. This second edition, published by Springer, has benefitted from more recent
developments in numerical methodology and from the experience gained through
its use in teaching contexts over many years. A significant portion of the contents
has been utilised in teaching two master courses at the University of Trento: one
titled Numerical Methods for Environmental Problems, aimed at environmental engi-
neering students, and another titled Computational Haemodynamics, offered to math-
ematics students. Moreover, the material has been employed for many years in the
annual Winter School for Numerical Methods for Hyperbolic Equations, offered to
Ph.D. students and researchers from Europe and beyond. Additionally, the content
has served as the basis for numerous lectures and intensive short courses deliv-
ered in various locations, including Cranfield, Cambridge, Manchester, Barcelona,
Madrid, Santiago de Compostela, Córdoba, Zurich, Oxford Mississippi, Moscow,
and Beijing.
The book begins by deriving the shallow water equations for spatial domains
with variable bathymetry from the physical principles of conservation of mass and
momentum. This derivation is presented in Chap. 1. Chapter 2 follows with funda-
mental notions on the theory of hyperbolic equations, including characteristics,
eigenstructure, hyperbolicity, the Riemann problem, Rankine-Hugoniot conditions,
non-uniqueness, and the Lax entropy condition. In Chap. 3, linearised versions of
the shallow water equations are examined, with analytical solutions for the general
initial-value problem provided alongside a case study. Chapter 4 delves into the
salient mathematical properties of the two-dimensional non-linear shallow water
equations, including rotational invariance, crucial for designing numerical methods
on unstructured meshes. Elementary wave solutions emerging from the Riemann
problem for the augmented one-dimensional and split two-dimensional shallow water
equations are studied in Chap. 5, introducing rarefaction waves, contact discontinu-
ities, shock waves, or bores. Chapter 6 presents a solver for computing the exact
solution through the entire wave structure of the Riemann problem for the non-linear
shallow water equations, specifically for cases with a wet bed (no vacuum). Mathe-
matical tools for solving simple dam-break problems, assessing numerical approx-
imations, constructing numerical methods of the Godunov type, and implementing
boundary conditions are provided. In Chap. 7, the Riemann problem in the presence
of adjacent dry regions (vacuum) is tackled. A suite of test problems with exact solu-
tions is presented in Chap. 8, aiding in understanding the basic physics of shallow
water waves and rigorously assessing the performance of numerical methods. Addi-
tionally, a computer program for solving the Riemann problem under both wet and
Preface vii
Acknowledgements
Much of the material in this book has been influenced by long-standing collabora-
tion with several organisations and individuals. Special thanks are due to Kazuyoshi
viii Preface
Reference
1. E.F. Toro, Shock-Capturing Methods for Free-Surface Shallow Flows (Wiley, 2001)
Contents
ix
x Contents
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Chapter 1
The Shallow Water Equations
1.1 Introduction
found in the books by Stoker [1], Cunge et al. [2], Lighthill [3], Roberson et al. [4],
LéMehauté [5], Henderson [6] and Baines [7]. Numerical aspects of shallow water
type equations are discussed in the textbooks of Abbott [8], Weiyan [9], Vreugdenhil
[10], and Castro-Orgaz and Hager [11].
In this Chapter, after stating two underlying conservation principles, namely con-
servation of mass and conservation of momentum, we proceed to derive the shallow
water equations for domains of variable bathymetry. The equations are expressed
in conservation law form, both in differential form and in integral form. Finally, we
consider the case of one-dimensional models for river flows of variable cross-section,
the Saint Venant equations.
Before introducing the conservation equations in the next section, we first establish
some conventions on the notation used in this Chapter, for the most frequently used
symbols. A Cartesian frame of reference .(x, y, z) is chosen and the time variable
is denoted by .t. Transformation to other coordinate systems is carried out using the
chain rule in the usual way. Any quantity .φ that depends on space and time will be
written as .φ(x, y, z, t). In most situations the governing equations will be partial
differential equations. Naturally, these will involve partial derivatives for which we
use the following notation
∂φ ∂φ ∂φ ∂φ
φ ≡
. t ≡ ∂t φ , φ x ≡ ≡ ∂x φ , φ y ≡ ≡ ∂ y φ , φz ≡ ≡ ∂z φ . (1.1)
∂t ∂x ∂y ∂z
We also recall some basic notation involving scalars and vectors. The dot product of
two vectors .A = (a1 , a2 , a3 ) and .B = (b1 , b2 , b3 ) is the scalar quantity
A · B ≡ a1 b1 + a2 b2 + a3 b3 .
.
Given a scalar quantity .φ that depends on the spatial variables .x, . y, .z, the gradient
operator .∇ as applied to .φ is the vector
( )
∂φ ∂φ ∂φ
grad φ ≡ ∇φ =
. , , .
∂x ∂ y ∂z
The divergence operator applies to vectors and the result is a scalar quantity; for a
vector .A, the divergence of .A is
In the next section we discuss the physical conservation principles that will be
used to derive the basic shallow water equations of interest to us here.
1.2 Conservation Principles 3
The general conservation laws of mass and momentum for a compressible material,
written in differential conservation law form, are
ρ + ∇ · (ρV) = 0
. t (1.2)
and
∂ [ ]
. (ρV) + ∇ · ρV ⊗ V + pI − Π = ρg . (1.3)
∂t
These equations state, respectively, conservation of mass and balance of momentum
ρV. The independent variables are .t for time and .x, . y, .z for space. The dependent
.
variables are .ρ for density, .V = (u, v, w) for velocity, with .u, v, w the .x, . y, .z com-
ponents of velocity, respectively; . p is pressure; the vector .g = (g1 , g2 , g3 ) is a body
force vector; the tensors involved are
⎡ 2 ⎤ ⎫
u uv uw ⎪
⎪
⎪
⎪
V ⊗ V = ⎣ vu v 2 vw ⎦ , ⎪ ⎪
⎪
⎪
wu wv w 2
⎪
⎪
⎪
⎪
⎡ ⎤ ⎪
⎪
⎪
⎪
100 ⎬
. I = ⎣0 1 0⎦ , (1.4)
⎪
⎪
001 ⎪
⎪
⎪
⎪
⎡ xx xy xz ⎤ ⎪ ⎪
⎪
τ τ τ ⎪
⎪
⎪
⎪
∏ = ⎣τ τ τ ⎦ .⎪
yx yy yz
⎪
⎪
⎭
τ τ τ
zx zy zz
Here .∏ is the viscous stress tensor and may be defined through the Newtonian
approximation. The corresponding integral form of the balance laws (1.2), (1.3) is
given respectively by
∫ ∫ ∫ ∫ ∫
∂
. ρ dV = − n · (ρV) dΩ (1.5)
∂t V Ω
and ∫ ∫ ∫ ∫ ∫
∂
(ρV) dV = − [V(n · ρV) + pn − n · Π ] dΩ
∂t V Ω
.
∫ ∫ ∫ (1.6)
+ ρg dV .
V
Recall notation for partial derivatives in (1.1). These are the equations we may use
to define the free-surface problem of interest here.
Consider the flow of water with a free surface under gravity in a three-dimensional
domain, with.x-. y determining a horizontal plane and.z defining the vertical direction,
which we associate with the free-surface elevation. Figure 1.1 illustrates the physical
set up. The region of interest lies above a horizontal datum at .z = 0. The fluid lies
above the channel bottom elevation .b(x) ≥ 0; the slope .b' (x) of the bottom elevation
gives rise to a source term in the equations; .h(x, t) is the flow depth; .u(x, t) is the
particle velocity; the free surface is under the influence of the acceleration due to
gravity .g. We assume variable bathymetry
. z = b(x, y) (1.8)
where .h(x, y, t) is the depth of water, the vertical distance between the bottom and
the free-surface position. Figure 1.1 depicts the geometry for a simplified situation
for a chosen, constant value of . y.
Assuming the density of the fluid to be constant, the governing Eq. (1.7) simplify
to
.u x + v y + wz = 0 , (1.10)
1
u + uu x + vu y + wu z = − px ,
. t (1.11)
ρ
1
v + uvx + vv y + wvz = − p y ,
. t (1.12)
ρ
1
wt + uwx + vw y + wwz = − pz − g .
. (1.13)
ρ
1.3 Water Flow with a Free Surface 5
Fig. 1.1 Side view of the physical set up for the shallow water equations. The water layer lies
between the impermeable bottom.b(x) above a horizontal datum.z = 0 and the free surface.s(x, t) =
b(x) + h(x, t)
Here we have assumed that the body force vector is .g = (0, 0, −g), where .g is the
acceleration due to gravity, taken as .g = 9.81 m/s2 , a constant.
In principle, given initial conditions at time .t = 0 and boundary conditions on the
bottom and the free surface, the solution of the problem is given by the solution of
the four Eqs. (1.10)–(1.13) for the four unknowns . p, u, v, w. As posed, the initial-
boundary value problem for (1.10)–(1.13) remains computationally challenging. The
main difficulty in solving the full problem is associated with the free surface. This
is a boundary and as such, boundary conditions are to be satisfied, but the position
of this boundary itself is unknown and therefore the domain on which the equations
are to be solved is not known a priori.
Approximate theories leading to simpler problems exist. One such approximate
theory assumes that the amplitude of the free-surface disturbance from the rest posi-
tion is small with respect to a characteristic length, such as wave length. This assump-
tion leads to linear initial-boundary value problems and thus to a linear theory.
Another approximation, which is the one we adopt in this book, results from the
assumption that the depth of water is small with respect to wave length or free-
surface curvature, for example. This assumption gives rise to non-linear initial value
problems that are analogous to those associated with wave propagation in compress-
ible materials [12–14]. In this book we are mainly concerned with this non-linear
shallow water theory. For details see Stoker [1] and Cunge [2], for example. We
anticipate that in spite of the strong simplifying assumptions made in deriving the
non-linear shallow water theory, the numerical solution of the equations remains a
computationally challenging task.
6 1 The Shallow Water Equations
Before deriving the shallow-water theory we discuss boundary conditions for the
full problem (1.10)–(1.13). Assume that a boundary is given by the surface
.ψ(x, y, z, t) = 0 . (1.14)
Two boundary conditions are imposed on the free surface .s(x, y, t), with .ψ given by
(1.15), namely the kinematic condition
d
. ψ(x, y, z, t) = ψt + uψx + vψ y + wψz = 0 (1.17)
dt
and the dynamical condition
where . patm is the atmospheric pressure, which for convenience is taken here to be
identically zero. For the bottom boundary .b(x, y), condition (1.17) also applies, with
.ψ given by (1.16).
The first assumption in the derivation of the shallow water equations is that the
vertical component of acceleration, given by
dw
. = wt + uwx + vw y + wwz , (1.19)
dt
is negligible. Insertion of this condition .dw/dt = 0 into Eq. (1.13) gives
. pz = −ρg . (1.20)
Given the dynamical condition (1.18) that the atmospheric pressure . patm is zero on
the free surface, we obtain
. p = ρg(s − z) . (1.21)
1.4 The Shallow Water Equations 7
Note that . px and . p y are both independent of .z and thus the .x and . y components of
the acceleration of water particles .du/dt and .dw/dt are independent of .z. Hence the
. x and . y velocity components .u and .v are also independent of . z, that is .u z = v z = 0.
Therefore, by virtue of the above conditions and by making use of (1.22) in Eqs. (1.11)
and (1.12), we obtain
.u t + uu x + vu y = −gs x (1.23)
and
v + uvx + vv y = −gs y .
. t (1.24)
An important step in deriving the shallow water equations now follows. We integrate
the continuity Eq. (1.10) with respect to .z, the vertical coordinate, between .z =
b(x, y) (bottom) and .z = s(x, y, t) (free surface). That is
∫ s
. (u x + v y + wz ) dz = 0 , (1.25)
b
which leads to ∫ s ∫ s
. w|z=s − w|z=b + u x dz + v y dz = 0 . (1.26)
b b
We now apply boundary conditions in order to determine the first two terms in
Eq. (1.26) above. Expanding (1.17) as applied to the free surface (1.15) gives
|
. (st + usx + vs y − w)|z=s = 0 . (1.27)
and ∫ ∫
s
∂ s
. v y dz = v dz − v|z=s · s y + v|z=b · b y . (1.34)
b ∂y b
Recall that both .u and .v are independent of .z; also .s = b + h and .bt = 0.
Equation (1.35) then simplifies to
h + (hu)x + (hv) y = 0 .
. t (1.36)
to obtain
. (hu)t + (hu 2 + 21 gh 2 )x + (huv) y = −ghbx . (1.38)
All three partial differential Eqs. (1.36), (1.38) and (1.39) can be written in differential
conservation-law form as the single vector equation
with
⎡ ⎤ ⎡ ⎤ ⎫
h hu ⎪
⎪
⎪
⎪
Q = ⎣ hu ⎦ , F(Q) = ⎣ hu 2 + 21 gh 2 ⎦ , ⎪
⎪
⎪
⎪
hv huv ⎬
.
⎡ ⎤ ⎡ ⎤ ⎡ ⎤ (1.41)
⎪
⎪
hv s1 0 ⎪
⎪
⎪
G(Q) = ⎣ hvu ⎦ , S(Q) = ⎣ s2 ⎦ = ⎣ −gh∂x b ⎦ .⎪
⎪
⎪
⎭
hv + 2 gh
2 1 2 s3 −gh∂ y b
In the system of Eq. (1.40) .Q is the vector of conserved variables, .F(Q) and .G(Q)
are flux vectors and .S(Q) is the source term vector. For many applications there will
be additional terms in the vector .S(Q), such as Coriolis forces, wind forces and
bottom friction. Most of this textbook is devoted to the numerical approximation of
the differential part of the equations assuming .S(Q) = 0 -the homogeneous version
of (1.40). For some problems of practical interest, the numerical treatment of the
source terms is a relatively standard procedure and simple numerical methods to
deal with source terms are studied in Chap. 13. We note however that there are many
situations of practical interest that require sophisticated methods to adequately deal
with source terms. Some of these issues are also addressed in Chap. 14.
Equations (1.40) and (1.41) may be recast in integral form as
∫ ∫ ∫ ∫ ∫
∂
. Q dV = − n · H(Q) dΩ , (1.42)
∂t V Ω
where .n · H(Q) is the normal flux component through the surface .Ω and .H(Q) =
(F, G). The integral form (1.42) of the equations admits discontinuous solutions,
such as bores, whereas the differential form (1.40) does not. It is a relatively standard
procedure to show that the differential form is a special case of the integral form
and is obtained from the integral form by assuming that solutions are sufficiently
smooth. See the texbooks of LeVeque [15], Godlewski and Raviart [16], Toro [14]
and Dafermos [17] for detailed discussions on smooth and discontinuous (weak)
solutions of hyperbolic conservation laws.
From a computational viewpoint, most of the ideas for devising basic schemes
can be discussed in terms of the one-dimensional system system of balance laws
written in differential form
∂ Q + ∂x F(Q) = S(Q) ,
. t (1.43)
Equations of the form (1.43) and (1.44) may also be written in integral form, in order
to allow for discontinuous solutions, or generalised solutions or weak solutions. One
integral form is obtained by integration of (1.43) in space and time in the rectangular
control volume .V in the .x-.t plane
. V = [x L , x R ] × [t1 , t2 ] . (1.45)
The reader is encouraged to verify that (1.46) can be obtained from integrating (1.43)
exactly in the control volume (1.45). An alternative integral form is
∫ xR ∫ xR
d
. Q(x, t)d x = F(Q(x L , t)) − F(Q(x R , t)) + S (Q(x, t)) d x . (1.47)
dt xL xL
Equations (1.46) and (1.47) admit discontinuous solutions while Eqs. (1.43), (1.44)
do not. The integral form (1.46) will be used frequently in this book, particularly for
constructing finite volume methods.
. At + (Au)x = 0 (1.48)
and
(Au)t + (Au 2 )x + g Ah x = g A(bx − b f ) ,
. (1.49)
which are used for modelling river flows. The geometry and quantities involved
are illustrated in Fig. 1.2, which depicts a cross-section of the river or channel at a
fixed position .x along the river. Here . A = A(x, t) is the wetted cross-sectional area
defined as
1.5 The Saint Venant Equations for River Flows 11
Fig. 1.2 Cross-section of river and notation for the Saint Venant equations
∫ h(x)
. A= r (x, z) dz , (1.50)
0
where .r (x, z) is the cross-sectional width and .r (x, h) = B(x) is the breadth of
the free surface or free-surface width. The quantity .b f in Eq. (1.49) is called the
friction slope. Note that . B = ∂ A/∂h. The volumetric water discharge is . Q = Au.
Equations (1.48) and (1.49) may be derived from the two-dimensional shallow water
Eqs. (1.40) and (1.41). They can also be derived from first principles; see Cunge et al.
[2] for a detailed derivation and discussion of these equations. An important remark
on the Saint Venant equations (1.48) and (1.49) is that the momentum equation cannot
in general be written in conservation-law form, such as in (1.40) or (1.43). There are
then the theoretical and practical difficulties of defining shocks that obey Rankine-
Hugoniot conditions, discussed in Chaps. 4, 5 and 6. Another difficulty is that, as
they stand, Eqs. (1.48) and (1.49) cannot be solved by a conservative numerical
method. A possible way around this problem is to assume that if discontinuities are
present, these are weak, in the sense that jumps across the discontinuities are in some
sense small. Then, making use of the chain rule to evaluate .(Ah)x , one can rewrite
Eq. (1.49) as
.(Au)t + (Au + g Ah) x = g A(b x − b f ) − gh A x .
2
(1.51)
This device is not strictly justified but allows the use of conservative methods to the
left-hand side of Eq. (1.51). The penalty is that there is a differential term on the right-
hand side of (1.51) that needs to be accounted for, perhaps in a second stage, as part of
the treatment of source terms. We strongly discourage this approach. Alternatively,
one may accept the fact that the equations are not written in conservation-law form
and use non-conservative methods. In the context of non-conservative methods one
may also express the equation in terms of primitive variables, or physical variables.
12 1 The Shallow Water Equations
For instance, we may choose to express the equations in terms of the variables area
A(x, t) and velocity .u(x, t). By expanding derivatives in (1.48) and (1.49), making
.
use of (1.48) into (1.49), followed by algebraic manipulations, one obtains the system
. At + u A x + Au x = 0 , (1.52)
g
u + uu x +
. t A x = g A(bx − b f ) . (1.53)
B
These equations can then be written in quasi-linear form (non-conservative) as
where the vectors .W, .S and the coefficient matrix .A are given by
[ ] [ ] [ ]
A u A 0
. W= , A= , S= . (1.55)
u g/B u g A(bx − b f )
1.6 Conclusions
References
1. J.J. Stoker, Water Waves. The Mathematical Theory with Applications (John Wiley and Sons,
1992)
2. J.A. Cunge, F.M. Holly, A. Verwey, Practical Aspects of Computational River Hydraulics
(Pitman Publishing Ltd., Reprinted by the University of Iowa, 1994)
3. J. Lighthill, Waves in Fluids (Cambridge University Press, 1978)
4. J.A. Roberson, J.J. Cassidy, M.H. Chaudhry, Hydraulic Engineering (Houghton Mifflin Com-
pany, Boston, 1988)
5. B. LéMehauté, An Introduction to Hydrodynamics and Water Waves (Springer-Verlag, New
York, Heidelberg, Berlin, 1976)
6. F.M. Henderson, Open Channel Flow (MacMillan Publishing Co, 1966)
7. P.G. Baines, Topographic Effects in Stratified Flows (Cambridge University Press, 1995)
8. M.B. Abbott, Computational Hydraulics (Ashgate Publishing Company, 1992)
9. T. Weiyan, Shallow Water Hydrodynamics. Elsevier Oceanography Series, vol. 55 (Elsevier,
Amsterdam, 1992)
10. C.B. Vreugdenhil, Numerical Methods for Shallow Water Flow (Kluwer Academic Publishers,
The Netherlands, 1994)
11. O. Castro-Orgaz, W.H. Hager, Shallow Water Hydraulics (Springer, 2019)
12. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics (Springer–Verlag,
1997)
13. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics, 2nd edn. (Springer–
Verlag, 1999)
14. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics. A Practical Intro-
duction, 3rd edn. (Springer-Verlag, 2009)
15. R.J. LeVeque, Finite Volume Methods for Hyperbolic Problems (Cambridge University Press,
2002)
16. E. Godlewski, P.A. Raviart, Numerical Approximation of Hyperbolic Systems of Conservation
Laws, 2nd edn. (Springer, 2021)
17. C.M. Dafermos, Hyperbolic Conservation Laws in Continuum Physics. Grundlehren der Math-
ematischen Wissenschaften, vol. 325 (Springer, 2000)
Chapter 2
Notions on Hyperbolic Equations
Many problems in science and engineering, such as wave propagation and trans-
port phenomena, are governed by advection-diffusion-reaction partial differential
equations (PDEs). In the scalar case, a single equation, we may write
∂ q(x, t) + ∂x f (q(x, t)) = s(x, t, q(x, t)) + ∂x (α(x, t, q(x, t))∂x q(x, t)) ,
. t
(2.1)
where .q(x, t) is the unknown, called the dependent variable; .q(x, t) is a function
of two independent variables .x and .t; . f (q) is a prescribed function of .q called the
flux, or physical flux; .s(x, t, q) is also a prescribed function, called the source term.
The last term is called the diffusion term, for which .α(x, t, q(x, t)) is the diffusion
coefficient. Equation (2.1) is parabolic due to the presence of the viscous term, a
second-order term. A particular example of (2.1) is obtained by choosing
with .λ a constant wave propagation speed. This choice leads to the linear advection
equation (LAE)
We study the simplest case of (2.1), the linear advection equation, in which the spatial
domain is infinite and an initial condition (IC) at the initial time .t = 0 is prescribed,
namely )
PDE: ∂t q + λ∂x q = 0 , −∞ < x < ∞ , t > 0 ,
. (2.4)
IC: q(x, 0) = h(x) , −∞ < x < ∞ ,
where .h(x) is a prescribed function of distance .x. Equation (2.4) defines a pure
initial-value problem (IVP), or Cauchy problem.
. x = x0 + λt . (2.6)
Figure 2.1 illustrates solution (2.6) in the .t-.x plane. In practice it is more common
to represent characteristics in the .x-.t plane. The inclination of the characteristics
depends on the characteristic speed .λ, in fact on .1/λ. In the linear case with constant
coefficients, characteristics are all parallel to each other, as seen in Fig. 2.2.
Consider now the time-rate of change (or total derivative) of .q(x(t), t) along a
characteristic curve .x = x(t)
dq ∂q dt ∂q d x
. = + . (2.7)
dt ∂t dt ∂x dt
But the curve .x(t) satisfies the ODE in (2.5), then (2.7) becomes
dq
. = ∂t q + λ∂x q = 0 . (2.8)
dt
That is, .q(x, t) is constant along .x = x0 + λt. Consequently, the PDE in (2.4)
becomes an ODE, namely
dq
. = 0 along the characteristic x = x0 + λt .
dt
This ODE states that .q(x, t) is constant along the characteristic. From the above
observations, the value of .q(x, t) at a point .(x, t) on the characteristic curve pass-
ing through .(x, t) is equal to the value of .q at the point .x0 called the foot of the
characteristic. That is
.q(x, t) = q(x 0 , 0) = h(x 0 ) . (2.9)
which is the initial condition .h in (2.4) evaluated at the position .x − λt. Figure 2.3
shows the three posible cases that can occur due to the value of the characteristic
speed .λ.
Note that for a given speed .λ and a chosen time .t, the solution is simply a function
of .x, called a profile. See Fig. 2.4. ∎
2.1 The Linear Advection Equation and Basic Concepts 19
Fig. 2.4 Solution (2.12) of initial value problem (2.11). Frame a displays the initial condition
.q(x, 0); frame b displays picture of characteristics in .x-.t space and frame c shows solution profiles
.q(x, tk ) at different times.tk . In frame b, two characteristics split the half-plane. x-.t into three distinct
regions: .R0 , .R1 and .R2 , respectively associated with the three lines in Eq. (2.12)
Remark on notation. The notation .h(x) and .h(x − λt) may cause confusion; .h(x)
means that .h is a function of a single spatial variable named .x, or something else,
like .x − λt, also a spatial quantity.
Riemann problem for the linear advection equation is the special IVP
⎫
PDE: ∂t q + λ∂x q = 0 , (−∞ < x < ∞ , t > 0 , ⎬
. q L (constant) if x < 0 , (2.13)
IC: q(x, 0) = h(x) = ⎭
q R (constant) if x > 0 ,
where .q L (left of .0) and .q R (right of .0) are two constants. From (2.10) it is obvious
that the solution of the Riemann problem is
20 2 Notions on Hyperbolic Equations
(
q L if x − λt < 0 ↔ x
<λ,
.q(x, t) = h(x − λt) = t (2.14)
q R if x − λt > 0 ↔ x
t
>λ.
Figure 2.5 depicts the solution of the Riemann problem (2.13). Frame (a) illustrates
the initial condition. Frame (b) depicts the half-plane .x-.t divided into two regions .R0
and .R1 by the characteristic emerging from the origin; each region .R0 , .R1 assumes
respectively a constant value of the initial condition, .q L and .q R . Frame (c) shows the
time evolution of the solution.
Note that the linear advection Eq. (2.3) is a special case of (2.15).
Definition 2.2 (Eigenvalues) The eigenvalues of the system in (2.15) are the roots
of the characteristic polynomial
If the eigenvalues.λi are real numbers, then they are conventionally written in increas-
ing order
.λ1 ≤ λ2 ≤ . . . ≤ λi ≤ . . . ≤ λ N −1 ≤ λ N , (2.18)
such that
ARi = λi Ri .
. (2.20)
The full set of . N right eigenvectors corresponding to the eigenvalues (2.18) are
R1 , R2 , . . . , Ri , . . . , R N −1 , R N .
. (2.21)
such that
. Li A = λi Li . (2.23)
22 2 Notions on Hyperbolic Equations
L1 , L2 , . . . , Li , . . . , L N −1 , L N .
. (2.24)
Note that for hyperbolicity, the eigenvalues are not required to be all distinct. What
is important is that there is a complete set of linearly independent eigenvectors,
corresponding to the real eigenvalues.
A system may have real but not distinct eigenvalues and still be hyperbolic if a
complete set of linearly independent eigenvectors exists.
Proposition 2.9 If .A is the coefficient matrix of the hyperbolic system in (2.15) then
Characteristic Variables
For calculating the partial derivatives, recall that the coefficient matrix is constant.
Therefore
.∂t Q = R∂t C , ∂x Q = R∂x C
and direct substitution of the these expressions into Eq. (2.15) gives
R∂t C + AR∂x C = S .
.
Multiplication of this equation from the left by .R−1 and use of (2.27) gives
∂ C + Δ∂x C = Ŝ ,
. t Ŝ = R−1 S . (2.29)
This is called the canonical form or characteristic form of system (2.15). Assuming
Ŝ = 0 and writing the equations in full, we have
.
⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤
c1 λ1 ... 0 ... 0 c1 0
⎢...⎥ ⎢... ... ... ... ...⎥ ⎢...⎥ ⎢...⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
.∂t ⎢ ci ⎥ + ⎢ 0 ... λi ... 0 ⎥ ⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥ ∂x ⎢ ci ⎥ = ⎢ 0 ⎥ . (2.30)
⎣...⎦ ⎣... ... ... ... ... ⎦ ⎣...⎦ ⎣...⎦
cN 0 ... 0 ... λN cN 0
∂ c + λi ∂x ci = 0 ,
. t i i = 1, . . . , N (2.31)
and involves the single unknown .ci (x, t), which is decoupled from the remaining
variables. Moreover, this equations is identical to the linear advection Eq. (2.3), with
characteristic speed .λi .
24 2 Notions on Hyperbolic Equations
Fig. 2.6 The solution at a point .(x̂, tˆ) depends on the initial condition at the foot .xi(0) of each
(0)
characteristic .xi (t) = xi + λi t
d xi
. = λi , for i = 1, . . . , N , (2.32)
dt
as depicted in Fig. 2.6.
Remarks:
1. Each characteristic curve .xi (t) = xi(0) + λi t intersects the .x-axis at the point .xi(0) ,
which is the foot of the characteristic passing through the point .(x̂, tˆ). The point
(0)
.xi is given as
(0)
.xi = x̂ − λi tˆ , for i = 1, 2, . . . , N . (2.33)
where .ci(0) (x) is the initial condition, at the initial time. The initial conditions for
the characteristic variables are obtained from the transformation (2.28) applied
to the initial condition .Q(x, 0) in (2.5).
3. Given the assumed order (2.18) of the distinct eigenvalues the following inequal-
ities are satisfied.
(0) (0) (0)
. x N < x N −1 < . . . < x 2 < x1(0) . (2.35)
2.2 Linear Hyperbolic Systems 25
Definition 2.10 (Domain of dependence) The interval .[x N(0) , x1(0) ] is called the
domain of dependence of the point .(x̂, tˆ). The solution at .(x̂, tˆ) depends exclusively
on initial data at points in the interval .[x N(0) , x1(0) ]. See Fig. 2.6.
Proposition 2.11 (The general initial-value problem) The solution of the general
IVP for the . N × N linear homogeneous hyperbolic system
)
PDEs: ∂t Q + A∂x Q = 0 , −∞ < x < ∞ , t > 0 ,
(2.36)
Q(x, 0) = Q(0) (x)
.
IC:
is given by
∑
N
Q(x, t) =
. ci (x, t)Ri . (2.37)
i=1
The coefficient .ci (x, t) of the right eigenvector .Ri is a characteristic variable.
Remarks:
1. The function .ci (x, t) is the coefficient of .Ri in an eigenvector expansion of the
solution vector .Q(x, t).
2. Given a point .(x, t) in the .x-.t plane, the solution .Q(x, t) depends only on the
initial data at the . N points .x0(i) = x − λi t. See Fig. 2.6.
3. These points are the intersections of the characteristics of speed.λi with the.x-axis.
4. Solution (2.37) represents superposition of . N waves of unchanged shape
(0)
.ci (x)Ri propagated with speed .λi .
The Riemann problem is a special case of the IVP (2.36), in which the initial condition
is piece-wise constant.
Fig. 2.7 Structure of the solution of the Riemann problem. There are . N waves that divide the half
plane into . N + 1 regions (wedges) .Ri , with .i = 0, 1, . . . , N
. x-.t
∑
I ∑
N
. Q(x, t) = ci R Ri + ci L Ri , (2.39)
i=1 i=I +1
where
∑
N ∑
N
. ci L Ri = QL , ci R Ri = QR (2.40)
i=1 i=1
and . I = I (x, t) is the maximum value of .i for which .x − λi t > 0. See Fig. 2.8.
Proof The proof is left as an exercise. ∎
Fig. 2.8 The solution of the Riemann problem at a point .(x̂, tˆ) depends on the associated index
.I= I (x̂, tˆ)
Solving the Riemann problem (2.38) means finding constant values for .Q in
regions .Ri , for .= 1, . . . , N − 1.
∑
I ∑
N
.Q(x, t) = QL + δi Ri = QR − δi Ri , (2.42)
i=1 i=I +1
where the coefficients .ΔC = [δ1 , . . . , δi , . . . , δ N ]T are the solution to the linear
algebraic system
∑
N
. δi Ri = ΔQ ≡ Q R − Q L . (2.43)
i=1
Form (2.42) is more convenient. We only need to solve one linear system (2.43).
Note that there are two choices for calculating the solution, one may begin from the
left vector .QL and add . I wave jumps or from the right vector .QR and substract . N − I
wave jumps. Figure 2.8 illustrates the solution at a point .(x̂, tˆ).
Here we study non-linear first-order PDEs, but restrict ourselves to the scalar case.
28 2 Notions on Hyperbolic Equations
∂ q + ∂x f (q) = 0 .
. t (2.44)
d
∂ q + λ(q)∂x q = 0 ,
. t λ(q) = f (q) ≡ f ' (q) . (2.45)
dq
Here .λ(q) is called characteristic speed. Equations of the type (2.44) may be charac-
terised by the behaviour of the flux . f (q) and its derivative, namely the characteristic
speed .λ(q) = f ' (q). There are three cases:
1. Convex flux: .λ(q) is a monotone increasing function of .q, that is
d
. λ(q) = λ' (q) = f '' (q) > 0 , ∀q . (2.46)
dq
d
. λ(q) = λ' (q) = f '' (q) = 0 , for some q . (2.48)
dq
The flux is convex; the monotone increasing behaviour of .λ(q) means that larger
values of .q propagate faster than smaller values of .q. This leads to wave distortion
and shock formation. We note that the true Burgers equation is viscous, namely
1 2
. t ∂ q + ∂x f (q) = α∂x(2) q , f (q) = q ,
2
2.3 Non-linear Scalar Equations 29
Here .u max ≥ 0 and .qmax > 0 are two constants, with .0 < q ≤ qmax . The flux is
concave; larger values of .q will propagate more slowly than smaller values of .q, the
opposite behaviour to that of Burgers’ equation.
can be defined as
q(x, t) = h(x0 ) = h(x − λ(h(x0 ))t) .
. (2.53)
(1) (2)
Fig. 2.10 Crossing characteristics. Characteristics from .x0 and .x0 carry different initial values
(1) (2)
.h(x 0 ) and .h(x 0 ), leading to multi-valued solutions
For non-linear equations, even if the initial data is continuous, discontinuities may
develop in time. This is illustrated in Fig. 2.11, where a sequence of profiles corre-
sponding to an increasing sequence of time values is shown, starting from .t = 0,
the initial condition. The phenomenon of shock formation in non-linear equations
calls for the extension of the definition of solution. To this end the equations are
Fig. 2.11 Shock wave formation from smooth initial condition at time .t = 0. Burgers’ equation
solved numerically with the first-order Godunov method on a very fine mesh
2.3 Non-linear Scalar Equations 31
Fig. 2.12 Control volume.V = [x L , x R ] × [t1 , t2 ] in.x-.t space. Equations will be integrated exactly
on this volume to derive integral forms of the conservation law
This equation includes a source term and is thus called a balance law. If
s(q(x, t)) = 0, then the equation is a conservation law.
.
Here we study integral forms, to accommodate discontinuous solutions. We shall
also derive a condition to be satisfied at discontinuities. To this end we consider a
control volume .V in the .x-.t plane, depicted in Fig. 2.12 and defined as
. V = [x L , x R ] × [t1 , t2 ] . (2.55)
Exact space-time integration gives the integral form of the balance law (2.54), namely
∫ xR ∫ xR [∫ t2 ∫ t2 ]⎫
q(x, t2 )d x = q(x, t1 )d x − f (q(x R , t))dt − f (q(x L , t))dt ⎪
⎪
⎪
⎪
xL xL t1 t1 ⎬
.
∫ xR ∫ t2 ⎪
⎪
⎪
⎪
+ s(q(x, t))d xdt . ⎭
xL t1
(2.58)
In the absence of the source term, the integral form states that the amount of .q(x, t)
in the interval .[x L , x R ] at time .t = t2 is equal to the amount of .q(x, t) in the interval
.[x L , x R ] at time .t = t1 plus a difference of time integrals of the fluxes at the extreme
points. In the presence of a source term this statement is modified appropriately.
Δt [ ]
.q new = q old − fright − fle f t + Δt svol , (2.60)
Δx
which is exact, with the following definitions
2.3 Non-linear Scalar Equations 33
∫ xR ∫ xR ⎫
1 1 ⎪
q new = q(x, t2 )d x , q old = q(x, t1 )d x , ⎪
⎪
Δx Δx ∫x L ⎪
⎪
∫ t2
xL
t2 ⎪
⎬
1 1
. fright = f (q(x R , t))dt , fle f t = f (q(x L , t))dt , (2.61)
Δt ∫ x R ∫ t2 Δt t1 ⎪
⎪
t1
⎪
⎪
1 ⎪
⎪
svol = s(q(x, t))d xdt . ⎭
ΔxΔt x L t1
Numerical methods called finite volume methods, use the finite volume formula (2.60)
to compute approximate solutions in which .q old is a known average of the solution
at the previous time level and the remaining terms on the right hand side of (2.60) are
found by appropriate approximations of the integrals in (2.61). The computational
parameters .Δt and .Δx must be prescribed to complete the scheme to compute .q new .
See Chap. 9.
A generalised (or weak) solution of the conservation law (2.54) is a function .q(x, t)
that satisfies the integral form (2.58). Weak solutions admit discontinuities (shocks),
which satisfy the Rankine-Hugoniot jump condition.
Proposition 2.16 (Rankine-Hugoniot Condition) A discontinuity of a weak solution
of the conservation law (2.54), no source term, satisfies the Rankine-Hugoniot jump
condition across it, namely
where.q(s L , t) and.q(s R , t) are limiting values from left and right of the discontinuity;
.f (q(s R , t)) and . f (q(s L , t)) are the corresponding flux values and .s is the speed of
the discontinuity.
Proof For the proof see [1], for example. ∎
Example 2.17 (Burgers’s equation) Assume a shock wave of speed .s with states .q L
and .q R . The Rankine-Hugoniot condition gives
1 2 1 2
. f (q R ) − f (q L ) = q − q = s(q R − q L ) ,
2 R 2 L
from which the shock speed is given by
1
.s= (q L + q R ) . (2.63)
2
This is a very special case. The shock speed is a simple arithmetic average of the
characteristic speeds either side of the shock.
34 2 Notions on Hyperbolic Equations
2.3.5 Non-uniqueness
The enlarged set of solutions of the integral formulation includes smooth (classical)
and discontinuous solutions. However, now the set is too large, it contains spuri-
ous, non-physical solutions. Hence this requires an admissibility criterion to discard
unphysical shocks.
A Non-uniqueness Example
Solution 1: rarefaction wave. One solution of the problem is the rarefaction wave
(smooth) ⎧
⎨ qL = 0 if x/t < 0 ,
.q(x, t) = x/t if 0 ≤ x/t ≤ 1 , (2.65)
⎩
q R = 1 if x/t > 1 .
Figure 2.13 illustrates the solution and the corresponding picture of characteristics.
Figure 2.14 shows the shock solution to problem (2.64). Note that characteristics
diverge from the shock. So the initial value problem (2.64) has at least two solutions.
The proposed solution (2.66), called rarefaction shock, is not accepted as a physical
solution. Rarefaction shocks are excluded. Admissible discontinuities are those aris-
2.3 Non-linear Scalar Equations 35
Fig. 2.13 Illustration of the rarefaction solution (2.65) to initial-value problem (2.64)
Fig. 2.14 Illustration of the shock solution (2.66) to problem (2.64). Characteristics diverge from
the shock path. This solution is called rarefaction shock
ing from compression. This compressibility condition is ensured by the Lax entropy
condition:
.λ(q L ) > s > λ(q R ) . (2.67)
Here .s is the shock speed, while .λ(q L ) and .λ(q R ) are characteristic speeds. Note
that characteristics run into the shock, which is compressed by the characteristics,
see Fig. 2.15.
36 2 Notions on Hyperbolic Equations
Fig. 2.15 Picture of characteristics for an entropy-satisfying shock. Characteristic curves run into
the shock path
The solution is given by the following two cases: (i) shock if .q L > q R and (ii)
rarefaction otherwise, namely
( ⎫ ⎫
q L if x − st < 0 ⎪
⎪ ⎪
⎪
q(x, t) = ⎬ ⎪
⎪
q R if x − st > 0
if q L > q R , ⎪
⎪
⎪
⎪
⎪
⎪ ⎪
⎪
⎭ ⎪
⎪
s = 2 (q L + q R )
1
⎪
⎬
. ⎧ x ⎫ (2.69)
⎪ ⎪ ⎪
⎪
⎪ q L if ≤ q L
⎪ ⎪
⎪ ⎪
⎪
⎨x t ⎬ ⎪
⎪
x ⎪
q(x, t) = if q L < < q R if q L ≤ q R . ⎪
⎪
⎪
⎪
⎪ t t ⎪
⎪ ⎪
⎪
⎪ x
⎩ q R if ≥ q R ⎪
⎭ ⎪
⎭
t
Figure 2.16 illustrates the solution structure for the two cases. The bottom frame
shows the shock case while the top frame shows the rarefaction case.
2.4 First-Order Non-linear Systems 37
To end this Chapter we point out that the general setting is that of non-linear systems
of . N hyperbolic balance laws in three space dimensions, which written in differential
conservative form read
where
⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤
q1 f1 g1 h1 s1
⎢ q2 ⎥ ⎢ f2 ⎥ ⎢ g2 ⎥ ⎢ h2 ⎥ ⎢ s2 ⎥
.Q = ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣ ... ⎦ ; F = ⎣ ... ⎦ ; G = ⎣ ... ⎦ ; H = ⎣ ... ⎦ ; S = ⎣ ... ⎦ .
qN fN gN hN sN
(2.71)
Here the independent variables are .x, . y, .z and .t. .Q(x, y, z, t) is the vector of depen-
dent variables, called conserved variables; .F(Q) is the flux vector in the .x-direction;
.G(Q) is the flux vector in the. y-direction and.H(Q) is the flux vector in the. z-direction;
38 2 Notions on Hyperbolic Equations
S(Q) is the vector of source terms. Fluxes and sources are prescribed functions of
.
Q(x, y, z, t). For background on non-linear hyperbolic systems see for example
.
[1, 2] and [3].
In Chap. 3 we shall apply directly most of the concepts studied in this chapter
via linearised versions of the shallow water equations. In Chaps. 4 and 5 we shall
utilise some of the studied concepts to analyse some properties of the shallow water
equations. In Chap. 9 we shall use the concepts just studied to construct and interpret
numerical methods for solving hyperbolic equations.
This chapter is largely based on lectures given by the author for a short course
in Levico Terme, Italy, 2016, sponsored by Centro Internazionale per la Ricerca
Matematica. See [4].
References
1. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics. A Practical Introduc-
tion, 3rd edn. (Springer-Verlag, 2009)
2. E. Godlewski, P.A. Raviart, Numerical Approximation of Hyperbolic Systems of Conservation
Laws, 2nd edn. (Springer, 2021)
3. R.J. LeVeque, Finite Volume Methods for Hyperbolic Problems (Cambridge University Press,
2002)
4. A. Farina, A. Mikelić, G. Saccomandi, A. Sequeira, E.F. Toro, Non-Newtonian Fluid Mechanics
and Complex Flows. Lecture Notes in Mathematics, vol. 2212 (Springer, 2018)
Chapter 3
Linear Shallow Water Equations
Abstract This Chapter introduces the reader to linear hyperbolic systems derived
from the non-linear shallow water equations and to basic notions on wave propaga-
tion. The purpose is two fold. First to interpret the physical meaning of linearised
models and second, practice on the application of salient mathematical notions on
hyperbolic partial differential equations, such as eigenvalues, eigenvectors, hyperbol-
icity and the construction of analytical solutions to the general initial-value problem
and its special case, the Riemann problem. The final section is a case study based on
a more physically oriented, alternative approach to linearisation, and on which basic
mathematical concepts on hyperbolic equations are consolidated. All contents are
particularly useful in a teaching/self-studying setting. Useful background is found
in Chaps. 1 and 2.
Here we discuss simple models that result from linearising the basic shallow water
equations presented in Chap. 1. Linearised models do have a practical value. How-
ever, our motivation for studying linearised models here is, in the main, pedagogical.
The equations are simple enough to manipulate so that basic mathematical and phys-
ical notions of wave propagation can be made apparent without the intricacies of
non-linear models. Analytical solutions are also possible; these are useful for the
purpose of assessing the performance of numerical methods against known analyti-
cal solutions. In studying these simple models, use is made of mathematical methods
which the reader can then apply to more complex situations. The important con-
cept of Riemann problem is easily introduced and the exact solution is derived. The
Riemann problem and mathematical techniques to find its solution are also relevant
to subsequent chapters, where the Riemann problem for the non-linear equations is
solved approximately using local linearisations.
We start by considering the full non-linear, time-dependent two-dimensional shal-
low water equations for a rectangular channel of variable bed elevation, written in
non-conservative form, namely
Fig. 3.1 Side view of the physical set up for the shallow water equations. The water layer lies
between the impermeable bottom.b(x) above a horizontal datum.z = 0 and the free surface.s(x, t) =
b(x) + h(x, t)
∂ h + u∂x h + h∂x u + v∂ y h + h∂ y v = 0 ,
. t (3.1)
∂ v + u∂x v + v∂ y v + g∂ y h = −g∂ y b .
. t (3.3)
Here .h(x, y, t), .u(x, y, t) and .v(x, y, t) are depth, .x-velocity component and . y-
velocity component respectively. The bed elevation above a horizontal datum is
given by the function .b(x, y), which is assumed to be prescribed; g denotes the
acceleration due to gravity, taken as .g = 9.81 m/s2 . Figure 3.1 depicts the physical
set up. When written in quasi-linear form, Eqs. (3.1)–(3.3) become
∂ W + A(W)∂x W + B(W)∂ y W = S ,
. t (3.4)
where the vectors .W and .S and the coefficient matrices .A(W) and .B(W) are
given as
⎡ ⎤ ⎡ ⎤ ⎫
h u h 0 ⎪
⎪
⎪
W = ⎣u ⎦ , A(W) = ⎣ g u 0 ⎦ , ⎪ ⎪
⎪
⎪
⎪
v 0 0 u ⎬
.
⎡ ⎤ ⎡ ⎤ (3.5)
⎪
⎪
v 0 h 0 ⎪
⎪
⎪
B(W) = ⎣ 0 v 0 ⎦ , S = ⎣ −g∂x b ⎦ . ⎪ ⎪
⎪
⎭
g 0 v −g∂ y b
3.1 Linearised Models 41
In this chapter we obtain linearised forms of these equations. There are essentially
two ways of obtaining global, as opposed to local, linearised models from non-linear
models. One approach consists of expressing the solution as the sum of a known
solution, the uniform solution say, and a small perturbation to it. Linear equations
are then derived for the perturbation. The second approach is more direct; one obtains
linear models by simply freezing coefficients in all non-linear terms in the equations.
In this chapter we utilise both, beginning with the latter approach.
Consider the one-dimensional version of the non-linear shallow water Eqs. (3.1)–
(3.3) for a rectangular channel with horizontal bed elevation. If we are interested in
momentum alone, we have the equation
∂ u + u∂x u + g∂x h = 0 .
. t (3.6)
∂ u + u∂x u = 0 .
. t (3.7)
This is the inviscid Burgers equation written in quasi-linear form, in which the
coefficient of the non-linear term .uu x is the characteristic speed, .λ(u) ≡ u. By
freezing this coefficient to .λ̂ say, we obtain
∂ u + λ̂∂x u = 0 ,
. t (3.8)
which is the linear advection equation with constant coefficient.λ̂, a wave propagation
speed. See Chap. 2.
Let us now consider one-dimensional flow in a channel of rectangular cross-
section with variable bed elevation .b(x). The relevant equations in non-conservative
form are
.∂t h + u∂ x h + h∂ x u = 0 (3.9)
and
∂ u + u∂x u + g∂x h = −g∂x b .
. t (3.10)
∂ W + A(W)∂x W = S ,
. t (3.11)
where the vectors .W and .S and the coefficient matrix .A(W) are given as
42 3 Linear Shallow Water Equations
[ ] [ ] [ ]
h u h 0
. W= , A(W) = , S= . (3.12)
u g u −g∂x b
. t ∂ W + Â∂x W = S , (3.13)
The particular choice for the entries .û and .ĥ depends on the purpose of the intended
linearisation.
Here we investigate the eigenstructure of the linear system (3.13) and its use in
transforming the given set of equations to a new system in characteristic variables.
The eigenvalues of (3.13) are the eigenvalues of the matrix . given by Eq. (3.14),
which in turn are the roots of the characteristic polynomial
|Â − λI| = 0 ,
. (3.15)
where .|X| denotes determinant of .X, .I is the identity matrix and .λ is a scalar
parameter, the unknown quantity of the problem. Substitution of . and .I into (3.15)
leads to
.(û − λ) − g ĥ = 0 .
2
(3.16)
The roots of this equation are the sought eigenvalues, and in this case they are both
real and given by
.λ1 = û − â , λ2 = û + â . (3.17)
a constant here. System (3.13) is thus striclty hyperbolic for .ĥ > 0. This is the
wet-bed case, .ĥ > 0 and .â > 0; the real eigenvalues are distinct.
The corresponding right eigenvectors are
3.2 Eigenstructure and Characteristic Variables 43
[ ] [ ]
1 1
.R(1) = α1 , R(2) = α2 , (3.19)
−â/ĥ â/ĥ
where .α1 and .α2 are scaling factors. Choosing .α1 = ĥ and .α2 = ĥ gives
[ ] [ ]
ĥ ĥ
R(1) =
. , R(2) = . (3.20)
−â â
Next we diagonalise the system, which is a key step in transforming the dependent
variables .W(x, t) to a new set of dependent variables .Q(x, t), called characteristic
variables. See Logan [1] for related concepts. Now consider the matrix
[ ]
ĥ ĥ
R=
. , (3.21)
−â â
the columns of which are the right eigenvectors (3.20). The inverse of .R is
[ ]
1 â −ĥ
R−1 =
. . (3.22)
2â ĥ â ĥ
where .Δ is a diagonal matrix, the entries of which are the eigenvalues .λi of .Â,
namely [ ]
λ1 0
.Δ = . (3.24)
0 λ2
Note that the diagonalisation (3.23) is only possible if the matrix .R−1 is defined,
which in turn requires the right eigenvectors (3.20) to be linearly independent. For
this reason a hyperbolic system is sometimes defined as a diagonalisable system.
Assuming that the inverse matrix.R−1 exists, we then define a new set of dependent
variables .Q = [q1 , q2 ]T via the transformation
Q = R−1 W or W = RQ .
. (3.25)
The new variables .Q are called characteristic variables. See Logan [1]. The impor-
tance of characteristic variables stems from the fact that in terms of these new vari-
ables the original set of partial differential equations (PDEs) becomes a simpler set of
decoupled equations, as we shall see. Finding the solution to the decoupled system
is then much easier than finding the solution to the original system directly.
We need the partial derivatives .∂t W and .∂x W in Eq. (3.13). From (3.25), since .Â
and thus .R are constant, the sought derivatives are
44 3 Linear Shallow Water Equations
. t∂ W = R∂t Q , ∂x W = R∂x Q .
R∂t Q + ÂR∂x Q = S .
.
Multiplication of this equation from the left by .R−1 and use of (3.25) gives
∂ Q + Δ∂x Q = S̄ ,
. t (3.26)
S̄ = R−1 S .
. (3.27)
The form (3.26) of Eq. (3.13) is called the canonical form or characteristic form.
When written in full this system becomes
[ ] [ ] [ ] [ ]
q1 λ1 0 q s̄
∂
. t + ∂x 1 = 1 . (3.28)
q2 0 λ2 q2 x s̄2
∂ qi + λi ∂x qi = s̄i , for i = 1, 2 .
. t (3.29)
Let us now assume the homogeneous case in which the source term .S̄ in (3.26)
vanishes. Then each decoupled equation is a linear advection equation with constant
coefficient .λi , and involves the single unknown .qi (x, t). The system is therefore
decoupled; the characteristic speeds are.λi and associated with this decoupled system
there are two pairs of decoupled ordinary differential equations (ODEs), namely
dqi dx
. = 0 on curves = λi for i = 1, 2 . (3.30)
dt dt
The meaning of this and its relevance for solving the general IVP for (3.26) will
become more obvious in the next section.
This Section solves the general IVP for system (3.26). Due to the decoupling provided
by transforming to characteristic variables, the problem is reduced to solving the
general IVP for a scalar linear advection equation with constant coefficient.
As is well known, see Chap. 2, the solution of the general IVP for the linear advection
equation )
PDE: ∂t q + λ∂x q = 0 ,
. (3.31)
IC: q(x, 0) = q (0) (x) ,
Here the initial condition .q (0) (x) is an arbitrary function of a single variable .x̂. The
reader can easily verify that (3.32) is the solution of (3.31) by calculating the partial
derivatives .∂t q and .∂x q in (3.32), and substituting them in the PDE in (3.31). A
geometric interpretation of the solution now follows.
Consider curves .x = x(t) in the .x-.t plane and regard .q as a function of .t. Restrict
the curves to satisfy the ODE
dx
. =λ. (3.33)
dt
Then, on such curves the PDE .∂t q + λ∂x q = 0 can be written as an ODE, as we
shall see. The rate of change of .q along .x = x(t) is
dq ∂q dx ∂q
. = + . (3.34)
dt ∂t dt ∂x
In view of the ODE (3.33), which is satisfied by the curves .x = x(t), and in view of
the PDE in (3.31), we have
dq ∂q ∂q
. = +λ =0. (3.35)
dt ∂t ∂x
Therefore .dq/dt = 0, along the characteristic curves .x = x(t) satisfying (3.33), that
is, the the rate of change of .q along the characteristic is zero; in other words, .q is
constant along such curves.x = x(t). The speed.λ in (3.32) is called the characteristic
speed and according to (3.33) it is the slope of the curve .x = x(t) in the .t-.x plane.
46 3 Linear Shallow Water Equations
In practice it is more common to use the .x-.t plane to sketch the characteristics, in
which case the slope of the curves in question is .1/λ.
Figure 3.2 illustrates the family of characteristic curves .x = x(t) given by the
ODE (3.33) for .λ > 0; it is a one-parameter family of curves. A particular member
of this family is determined when an initial condition (IC) at time .t = 0 for the ODE
(3.33) is added, namely
. x(0) = x 0 . (3.36)
Then, the single characteristic curve that passes through the point .(x0 , 0), according
to (3.33) is
. x = x 0 + λt . (3.37)
This particular characteristic is illustrated in Fig. 3.2. Now we may regard the initial
position.x0 as a parameter and in this way we reproduce the full one-parameter family
of characteristics. The fact that the curves are parallel is typical of linear hyperbolic
PDEs with constant coefficients. As .q remains constant along characteristics, given
the initial value.q(x, 0) = q (0) (x) at time.t = 0 on the point.x0 , along the whole of the
characteristic curve .x(t) = x0 + λt that passes through the initial point .x0 on the .x-
axis, the solution is as given in (3.32). That this is so follows from the fact that .q(x, t)
along the characteristic line through the point .x0 is simply .q(x, t) = q (0) (x0 ), but
from (3.37) we have .x0 = x − λt and thus .q(x, t) = q (0) (x0 ) = q (0) (x − λt), which
is (3.32).
The interpretation of the solution is this: given an initial profile .q (0) (x), the PDE
will simply translate this profile with velocity .λ to the right if .λ > 0 and to the left
if .λ < 0. The shape of the initial profile remains unchanged. The model equation in
(3.31) under study contains some of the basic features of wave propagation phenom-
ena, where a wave is understood as some recognisable feature of a disturbance that
travels at a finite speed; further reading on this topic may be found in [2–4]. See also
Chap. 2.
3.3 The General Initial-Value Problem 47
We now study the general IVP for the linearised homogeneous version of the system
of PDEs (3.13), namely
⎫
PDEs: ∂t W + Â∂x W = 0 , ⎪
[ ] ⎬
. w1(0) (x) (3.38)
ICs: W(x, 0) ≡ W (x) = (0)
.⎪
⎭
w2(0) (x)
We find the general solution of the IVP (3.38) by first solving the IVP for the corre-
sponding canonical system in terms of characteristic variables, namely
⎫
PDEs: ∂t Q + Δ∂x Q = 0 ,
[ ] ⎪
⎬
. q1(0) (x) (3.39)
ICs: Q(x, 0) ≡ Q (x) = (0)
,⎪
⎭
q2(0) (x)
As the PDEs in (3.39) are decoupled and each component equation is a linear advec-
tion equation of the same form as that in (3.31), the solution of the IVP (3.39) is
direct. Each of the unknowns .qi (x, t) has initial condition .qi(0) (x) and is given by
(3.32); the sought solution of (3.39) is therefore immediate, namely
[ ] [ ]
q1 (x, t) q1(0) (x − λ1 t)
Q(x, t) =
. = . (3.41)
q2 (x, t) q2(0) (x − λ2 t)
The solution of the general IVP (3.38) in terms of the original variables .W is now
obtained by transforming back according to (3.25), namely .W = RQ, or in full
[ ] [ ][ ]
w1 (x, t) ĥ ĥ q1(0) (x − λ1 t)
.W(x, t) = = . (3.42)
w2 (x, t) −â â q2(0) (x − λ2 t)
First we need to know .q1(0) (x) and .q2(0) (x) in terms of the initial data for the original
variables. From (3.40) we have
[ ] [ ][ ]
q1(0) (x) 1 â −ĥ w1(0) (x)
. = . (3.43)
q2(0) (x) 2â ĥ â ĥ w2(0) (x)
48 3 Linear Shallow Water Equations
That is
1 [ (0) ]
q (0) (x) =
. 1 âw1 (x) − ĥw2(0) (x) (3.44)
2â ĥ
and
1 [ (0) ]
q (0) (x) =
. 2 âw1 (x) + ĥw2(0) (x) . (3.45)
2â ĥ
Therefore
1 [ (0) ]
q (x, t) = q1(0) (x − λ1 t) =
. 1 âw1 (x − λ1 t) − ĥw2(0) (x − λ1 t) (3.46)
2â ĥ
and
1 [ (0) ]
q (x, t) = q2(0) (x − λ2 t) =
. 2 âw1 (x − λ2 t) + ĥw2(0) (x − λ2 t) . (3.47)
2â ĥ
But from (3.42) we have
and
.w2 (x, t) = −âq1 (x, t) + âq2 (x, t) . (3.49)
Substituting (3.46) and (3.47) into (3.48) and (3.49) gives the final solution in terms
of the original variables as
1 [ (0) ] ⎫
w1 (x, t) = w1 (x − λ1 t) + w1(0) (x − λ2 t) ⎪
⎬
2
1 ĥ [ ]⎪
. (3.50)
+ −w2(0) (x − λ1 t) + w2(0) (x − λ2 t) ⎭
2 â
and
1 â [ ] ⎫
w2 (x, t) = −w1(0) (x − λ1 t) + w1(0) (x − λ2 t) ⎪ ⎬
. 2 ĥ [ ] (3.51)
1 ⎪
+ w (0) (x − λ1 t) + w2(0) (x − λ2 t) . ⎭
2 2
The above solution is general in that it is valid for any prescribed initial condition
W(x, 0) = [w1(0) (x), w2(0) (x)]T ; the components .w1(0) (x) and .w2(0) (x) are arbitrary
.
functions of distance .x. In the next section we solve the Riemann problem, an initial
value problem with special initial condition.
3.4 The Riemann Problem 49
The Riemann problem for a set of PDEs is an initial value problem for such PDEs
in which the initial condition has a special form. Conventionally, the initial data for
the Riemann problem is regarded as being piece-wise constant but generalisations of
the Riemann problem are also possible, in which case the initial data is, for instance,
piece-wise linear or piece-wise quadratic [3]. For a one-dimensional time-dependent
PDE the conventional Riemann problem has initial data consisting of two constant
states .W L (Left) and .W R (Right) separated by a discontinuity at a point .x = x0 .
Here we first recall the Riemann problem for the scalar linear advection equation
and then for a .2 × 2 linear system. The main purpose is to introduce the reader to
this important topic via simple equations.
The Riemann problem for the scalar linear advection equation with constant wave
propagation speed .λ is the IVP
⎫
PDE: ∂t q + λ∂x q = 0 , ⎪
( ⎬
. q L if x < 0 , (3.52)
IC: q(x, 0) = q (0)
(x) = ⎪
⎭
q R if x > 0 ,
where .q L (left) and .q R (right) are two constant values, as depicted in Fig. 3.3. The
initial data has a discontinuity at .x = 0. The IVP (3.52) is the simplest initial-value
problem one can pose; the trivial case would result when .q L = q R . From the previous
discussion on the solution (3.32) of the general IVP (3.31) we expect any point on
the initial profile to propagate a distance .d = λt in time .t. In particular, we expect the
initial discontinuity at .x = 0 to propagate a distance .d = λt in time .t. The particular
characteristic curve .x = λt will then separate those characteristic curves to the left,
Fig. 3.4 Solution of the Riemann problem in the .x-.t plane for the linear advection equation with
positive characteristic speed .λ
on which the solution takes the value .q L , from those curves to the right, on which the
solution takes the value .q R ; see Fig. 3.4. Thus the solution of the Riemann problem
(3.52) is simply
(
(0) q L if x − λt < 0 ,
.q(x, t) = q (x − λt) = (3.53)
q R if x − λt > 0 .
Obviously, the solution (3.53) follows directly from the general solution (3.32),
namely .q(x, t) = q (0) (x − λt). Note that from (3.52) .q (0) (x − λt) = q L in the L
region, see Fig. 3.4, because the argument satisfies .x − λt < 0, and .q (0) (x − λt) =
q R in the R region because the argument satisfies .x − λt > 0. The solution of the
Riemann problem can be represented in the .x-.t plane, as shown in Fig. 3.4. Through
any point .x0 on the .x-axis one can draw a characteristic; as .λ is constant these
characteristics are all parallel to each other. For the solution of the Riemann problem
the characteristic that passes through .x = 0 is significant. This is the only one across
which the solution changes discontinuously; it is a singularity.
Here we study the solution of the Riemann problem for the .2 × 2 linear shallow
water system, namely
3.4 The Riemann Problem 51
Fig. 3.5 Structure of the solution of the Riemann problem for the.2 × 2 linear shallow water system.
The solution in the .x-.t half plane involves three regions .R0 , .R1 , .R2 separated by the two waves
determined by the two eigenvalues .λ1 and .λ2
⎫
PDEs: ∂t W + Â∂x W = 0 , ⎪
⎪
⎧ [ ] ⎪
⎪
⎪ w1L ⎪
⎪
⎪
⎪ ⎪
⎪
[ ] ⎪
⎪ WL = if x < 0 , ⎬
⎪
⎨ w2L
. w1 (x) (3.54)
ICs: W(0) (x) = = ⎪
⎪
w2 (x) ⎪ [ ] ⎪
⎪
⎪
⎪ w1R ⎪
⎪
⎪
⎪ ⎪
⎪
⎩ WR = w
⎪ if x > 0 . ⎭
2R
The structure of the solution of this Riemann problem is illustrated in Fig. 3.5
in the .x-.t plane. There are three regions .R0 , .R1 , .R2 separated by the two waves
determined by the two eigenvalues .λ1 and .λ2 . Note that
⎫
Region R0 = {(x, t) such that x − λ1 t < 0} , ⎪
⎬
. Region R1 = {(x, t) such that x − λ1 t > 0 and x − λ2 t < 0} , (3.55)
⎪
⎭
Region R2 = {(x, t) such that x − λ2 t > 0} .
The complete solution to the Riemann problem (3.54) can now be directly obtained
from the solution of the general IVP given by (3.50)–(3.51). Note for example that
in evaluating the solution for .w1 (x, t) given by (3.50) in region .R0 we have
)
w1(0) (x − λ1 t) = w1L , w1(0) (x − λ2 t) = w1L ,
. (3.56)
w2(0) (x − λ1 t) = w2L , w2(0) (x − λ2 t) = w2L ,
and .w2 (x, t) in region .R0 is simply the initial data to the left of the origin .x = 0,
namely .w1 (x, t) = w1L , .w2 (x, t) = w2L . Similarly, the reader can verify that the
solution for .w1 (x, t) and .w2 (x, t) in the region .R2 is simply the initial data to the
right of the origin .x = 0, namely .w1 (x, t) = w1R , .w2 (x, t) = w2R . The interesting
region is .R1 , which lies between the two waves and is usually called the Star Region;
see Fig. 3.5. Here we have
)
w1(0) (x − λ1 t) = w1R because x − λ1 t > 0 ,
. (3.57)
w2(0) (x − λ2 t) = w2L because x − λ2 t < 0 .
Thus the final solution in the Star Region .R1 for .w1 ≡ h (depth) and .w2 ≡ u (veloc-
ity) is ⎫
1 1 ĥ ⎪
h ∗ = (h L + h R ) + (u L − u R ) , ⎪
⎬
.
2 2 â (3.58)
1 1 â ⎪
u ∗ = (u L + u R ) + (h L − h R ) . ⎪
⎭
2 2 ĥ
Note that .h ∗ and .u ∗ for depth and particle velocity in the Star Region involve arith-
metic means of their initial data as the first term.
3.4.3 Example
As an example we solve the Riemann problem for the linearised shallow water
equations for a rectangular horizontal channel, with specific initial data. We assume
the initial discontinuity is placed at the position .x = 0 and we choose the following
initial conditions: to the left of .x = 0 we take .h L = 1 m and .u L = 0 m/s; to the right
of .x = 0 we take .h R = 21 m and .u R = 0 m/s. For the entries of the linearised matrix
we choose .ĥ = 9/g and .û = 1 m/s, with .g = 9.8 m/s2 . The resulting celerity is
.â = 3 m/s and the eigenvalues are .λ1 = −2 and .λ2 = 4. The solution in the Star
Region, from (3.58), is .h ∗ = 43 and .u ∗ = g/12 ≈ 0.8167.
Figure 3.6 shows the solution for free-surface position.h(x, t) and particle velocity
.u(x, t) at time .t = 1 s. Frame (a) shows the initial profile for water depth. The initial
velocity profile is identically zero and is not shown. Frame (b) shows the free-surface
profile at time .t = 1 s. Frame (c) shows the particle velocity profile at the same time.
There are two waves, one propagating to the left at speed .λ1 = −2, and the other
propagating to the right at speed .λ2 = 4.
This problem is analogous to the dam-break problem in which the initial discon-
tinuity comes about by imagining a wall or gate at .x = 0 that is suddenly removed at
very high speed. The initial velocities in the dam-break problem are always .u L = 0
and .u R = 0; the dam-break problem is thus a special case of the Riemann problem.
See Chaps. 4, 6 and 7 for related discussions.
3.5 A Linear Model with Source Terms 53
Fig. 3.6 Solution of a Riemann problem for the linearised shallow water equations: a initial con-
dition for free-surface position; b solution for free-surface position at time .t = 1 s; c solution for
particle velocity at time .t = 1 s
Remark 3.2 For linear hyperbolic systems with constant coefficients, the wave
speeds in the Riemann problem solution are identical to the characteristic speeds
given by the eigenvalues of the system. This is not so for non-linear systems.
Remark 3.3 For linear hyperbolic systems with constant coefficients all waves
present in the Riemann problem solution are discontinuous, or trivial of course.
This is not so for non-linear systems, which allow for continuous waves, such as
rarefaction waves; see Chap. 4.
As an example we study the general IVP for the linearised shallow water equations
for a rectangular channel of variable bed elevation .b(x), namely
⎫
PDEs: ∂t W + Â∂x W = S , ⎪
[ ] ⎬
. w1(0) (x) (3.59)
ICs: W(x, 0) ≡ W (x) =(0)
,⎪
⎭
w2(0) (x)
54 3 Linear Shallow Water Equations
where [ ] [ ]
s1 0
.S= = (3.60)
s2 −gb' (x)
is the vector of source terms due to variable bed elevation. As for the homogeneous
case studied in Sect. 3.3.2, we rely on the solution of the inhomogeneous scalar case,
namely the IVP )
PDE: ∂t q + λ∂x q = s ,
. (3.61)
IC: q(x, 0) = q (0) (x) + r (x) ,
with constant wave propagation speed .λ. We look for solutions to (3.61) that are of
the form
(0)
.q(x, t) = q (x − λt) + r (x) , (3.62)
where .r (x) is an arbitrary function of distance .x. It is trivial to verify that the sought
form of the source term .s in (3.61) must be
which is precisely the form of a source term due to a variable bed elevation. After
transforming the equations in (3.59) to characteristic variables, we obtain the IVP
⎫
PDEs: Qt + ΔQx = S̄ , ⎪
[ ] ⎬
. q1(0) (x) (3.64)
ICs: Q(x, 0) ≡ Q (x) = (0)
,⎪
⎭
q2(0) (x)
where the transformed source term vector satisfies (3.27), for which the case (3.60)
yields
1g ' 1g '
.s̄1 = b (x) , s̄2 = − b (x) . (3.65)
2 â 2 â
The general solution of (3.64) is
1 g
q (x, t) = q1(0) (x − λ1 t) +
. 1 b(x) (3.66)
2 âλ1
and
1 g
q (x, t) = q2(0) (x − λ2 t) −
. 2 b(x) . (3.67)
2 âλ2
and
⎫
1 â [ ]
⎪
⎪
w2 (x, t) = −w1(0) (x − λ1 t) + w1(0) (x − λ2 t) ⎬
2 ĥ
. [ ] (3.69)
1 g û ⎪
+ −w2(0) (x − λ1 t) + w2(0) (x − λ2 t) − b(x) . ⎪
⎭
2 λ1 λ2
at .s(x, t) = b(x) + h(x, t), is under the influence of the acceleration due to gravity
. g.
We are interested in an alternative linearisation approach, as applied to the one-
dimensional non-linear shallow water Eqs. (3.9)–(3.10), recalled here
)
∂t h + u∂x h + h∂x u = 0,
. (3.70)
∂t u + u∂x u + g∂x h = −gb' (x) .
In what follows we neglect the source term, .b' (x) = 0, though strictly speaking, this
is not necessary for deriving the linearisation.
56 3 Linear Shallow Water Equations
.H is the, constant, unperturbed water depth and .0 + v(x, t) means a small perturba-
tion .v(x, t) to stationary fluid. It is assumed that .η is small compared with . H , that .v
is small and that derivatives of the perturbations are also small. Then by substituting
.h and .u from Eq. (3.71) into (3.70) and neglecting second-order terms we obtain a
The reader is invited to verify the above derivation by performing all the steps. In
matrix form, Eq. (3.72) read
∂ Q + A∂x Q = 0 ,
. t (3.73)
where the vector of unknowns .Q(x, t) and the coefficient matrix .A are respectively
given as [ ] [ ]
η 0 H
.Q = , A= . (3.74)
v g 0
We note in passing that Eq. (3.72) reproduce the well known linear second-order
wave equation, for both .η and .v, namely
∂ (2) η = g H ∂x(2)
. t and ∂t(2) v = g H ∂x(2) v . (3.75)
The reader is invited to the verify the above. We remark that the second-order linear
wave equation, either form in (3.75) for .η or .v, is a very popular hyperbolic model
for the study of wave propagation phenomena in classical textbooks. Here we adopt
the first-order form (3.73).
The eigenvalues of the matrix .A in (3.73) are obtained from the characteristic poly-
nomial, as in (3.15). They are
λ = −a ,
. 1 λ2 = a , (3.76)
3.6 Case Study: Alternative Linearisation 57
with √
. a= gH (3.77)
which leads to the following algebraic system for the components .l1 , .l2 ,
l g = λl1 ,
. 2 l1 H = λl2 . (3.79)
These two equations are not independent (verify) and thus we effectively have a
single equation, which has a one-parameter family of solutions. Using the second
equation we may write
H
.l 2 = l1 . (3.80)
λ
Now, we fix the parameter.α1 and set.l1 = α1 . Therefore the eigenvalue.λ = λ1 = −a
in (3.80) gives the two components of the left eigenvector .L1 corresponding to the
eigenvalue .λ1 = −a, as
H
.l 1 = α1 , l2 = − α1 . (3.81)
a
Recall that.α1 is a scaling parameter and is open to choice. To find the left eigenvector
L2 corresponding to .λ = λ2 = a we set .l1 = α2 and .λ = λ2 = a in (3.80) to obtain
.
H
l = α2 ,
. 1 l2 = α2 , (3.82)
a
where .α2 is again a scaling parameter open to choice. Then the two left eigenvectors
corresponding to the eigenvalues .λ1 = −a and .λ2 = a are respectively given by
[ ] [ ]
H H
L1 = α1
. 1, − , L2 = α2 1, . (3.83)
a a
λ
r =
. 2 r1 . (3.85)
H
By fixing a parameter .β1 and setting .r1 = β1 and .λ = λ1 = −a in (3.85) one obtains
a
r = β1 ,
. 1 r2 = − β1 . (3.86)
H
For the eigenvalue .λ = λ2 = a, setting .r1 = β2 and .λ = λ2 = a in (3.85) gives
a
r = β2 ,
. 1 r2 = β2 . (3.87)
H
Then the right eigenvectors corresponding to the eigenvalues .α1 = −a and .α2 = a
are [ ] [ ]
1 1
.R1 = β1 , R2 = β2 . (3.88)
−a/H a/H
If we want the left and right eigenvectors to be orthonormal, then the scaling param-
eters must be chosen to satisfy
α1 β1 = 1/2 ,
. α2 β2 = 1/2 . (3.89)
It is easy to show that .R−1 = L where the matrix .R−1 denotes the inverse matrix of
.R (verify).
. C = LQ . (3.91)
Note that we could also use .C = R−1 Q, but (3.91) is more direct. For our system,
written in full, we have
[ ] [ ][ ]
c1 1 −H/a η
. = , (3.92)
c2 1 H/a v
3.6 Case Study: Alternative Linearisation 59
which gives the characteristic variables as linear functions of the original variables,
namely
H H
.c1 = η − v, c2 = η + v . (3.93)
a a
Now, the governing equations can be expressed in terms of the new variables .C, the
characteristic variables. From (3.91), as .L is constant, we obtain
∂ Q = L−1 ∂t C ,
. t ∂x Q = L−1 ∂x C . (3.94)
L−1 ∂t C + AL−1 ∂x C = 0 .
. (3.95)
∂ C + Δ∂x C = 0 .
. t (3.98)
Here, the initial condition .Q(0) (x) at time .t = 0 is an arbitrary function of .x alone.
This IVP is most easily solved in terms of characteristic variables .C by replacing
the IVP (3.100) by the equivalent IVP given in terms of characteristic variables .C,
namely )
PDEs: ∂t C + Δ∂x C = 0 ,
. (3.101)
ICs: C(x, 0) = C(0) (x) = LQ(0) (x) .
Here the initial conditions .Q L and .Q R are very special, they are constant. Figure 3.5
illustrates the structure of the solution of (3.105) in the .x-.t half plane. There are
three constant regions .R0 , .R1 , .R2 separated by the two waves determined by the
3.6 Case Study: Alternative Linearisation 61
two eigenvalues .λ1 and .λ2 . The vector .Q is known in regions .R0 and .R2 ; it is
given by the initial conditions. The problem is to find the solution .Q∗ (x, t) in the
intermediate region .R1 , called the Star Region. As seen in Chap. 2 the solution at
any point .(x, t) for any . N × N linear system can be written as a linear combination
of the right eigenvectors, namely
∑
I
Q(x, t) = Q L +
. δi Ri , (3.106)
i=1
The coefficients .δi emerge as the solution of the following . N × N linear algebraic
system
∑
N
. δi Ri = Q R − Q L = ΔQ . (3.108)
i=1
That is ⎫
δ1 + δ2 = 2Δη , ⎬
. H (3.110)
−δ1 + δ2 = 2 Δv . ⎭
a
The solution of (3.110) is
H H
. 1 δ = Δη − Δv , δ2 = Δη + Δv . (3.111)
a a
Here we are interested in the solution .Q∗ = [η ∗ , v ∗ ]T in the Star Region .R1 in
Fig. 3.5, which is given by points .(x, t) such that
x
λ = −a <
. 1 < λ2 = a . (3.112)
t
Finally, with . I = 1 in (3.106) the solution is given by
Q∗ = Q L + δ1 R1 .
. (3.113)
62 3 Linear Shallow Water Equations
That is ⎫
1 H
η ∗ = 21 (η L + η R ) − (v R − v L ) , ⎪
⎬
.
2 a (3.114)
1 a ⎪
∗
v = 2 (v L + v R ) −
1
(η R − η L ) . ⎭
2 H
The reader is invited to verify the calculations.
Fig. 3.7 Solution of the Riemann problem for the linearised shallow water Eq. (3.73) with data as
given. Free-surface elevation and velocity at time .Tout = 25 s
References 63
An example of a Riemann problem for the linearised shallow water equations of this
section is defined by the following conditions:
1. Domain: the spatial domain is defined by the interval .x ∈ [0, 1000] m.
2. Parameters: as parameters of the problem we choose . H = 10 m, height of the
undisturbed water level; .g = 9.8 m/s2 , so that the celerity is .a = 9.9 m/s.
3. Initial conditions: .η L = 1.0 m, .η R = 0.1 m, .v L = 0.0 m/s, .v R = 0.0 m/s.
4. Position of the initial discontinuity at time .t = 0 is .x0 = 500 m.
The exact solution in the Star Region between the two waves is .η ∗ = 0.55 m;
∗
.v = 0.4455 m/s. Solution profiles are shown in Fig. 3.7 at time . Tout = 25 s.
References
1. J.D. Logan, An Introduction to Nonlinear Partial Differential Equations (John Wiley and Sons,
1994)
2. R.J. LeVeque, Finite Volume Methods for Hyperbolic Problems (Cambridge University Press,
2002)
3. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics. A Practical Introduc-
tion, 3rd edn. (Springer-Verlag, 2009)
4. E.C. Zachmanoglou, D.W. Thoe, Introduction to Partial Differential Equations (Dover Publi-
cations, Inc., New York, 1986)
Chapter 4
Properties of the Nonlinear Equations
Abstract This Chapter is devoted to the study of mathematical properties of the two-
dimensional non-linear shallow water equations, starting from the eigenstructure of
the equations, which is discussed in terms of both conserved variables and primitive
variables. Hyperbolicity of the equations in one and two space dimensions is proved
and the nature of characteristic fields is established as being either linearly degenerate
or genuinely non-linear. The rotational invariance of the two-dimensional equations
is proved; this property is of much value when designing numerical methods for
unstructured meshes. Finally, the two-dimensional steady shallow water equations
are analysed, proving their hyperbolicity in the supercritical regime. A list of sug-
gested exercises is given at the end of the Chapter. Useful background is found in
Chaps. 1 and 2.
In this Chapter we study some elementary properties of the shallow water equations
and prepare the ground for studying elementary waves in Chap. 5 and for solving the
Riemann problem exactly in Chaps. 6 and 7. Most of this Chapter is devoted to the
time-dependent case but also included is the eigenstructure of the steady supercritical
two-dimensional shallow water equations. Use is made of some basic mathematical
concepts related to the theory of hyperbolic conservation laws.
In order to make the Chapter reasonably self-contained, we recall appropriate
definitions as they are required, with reference to previous chapters and textbooks.
Useful background is found in Chaps. 1 and 2 of this book. For general background
on partial differential equations (PDEs) I recommend the book by Zachmanoglou and
Thoe [1]; Chap. 10 of this contains a very useful introduction to hyperbolic PDEs. See
also Chap. 2 of [2] for a self-contained summary of basic properties of hyperbolic
conservation laws. More comprehensive and rigorous treatments are found in the
books by Jeffrey [3], Logan [4], Chorin and Marsden [5], Smoller [6], LeVeque [7],
Godlewski and Raviart [8], Hörmander [9], Tveito and Winther [10] and Dafermos
[11]. The discretisation techniques studied in this book are strongly based on the
underlying physical and mathematical properties of the equations and thus the need
for a basic understanding of these.
The two-dimensional shallow water equations were derived in Chap. 1. When
written in differential conservation-law form with source terms, the equations read
where .Q, .F(Q) and .G(Q) are the vectors of conserved variables, fluxes in the .x- and
y-directions, and sources, given by
.
⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎫
q1 h f1 hu ⎪
⎪
⎪
⎪
Q = ⎣ q2 ⎦ = ⎣ hu ⎦ , F(Q) = ⎣ f 2 ⎦ = ⎣ hu 2 + 21 gh 2 ⎦ , ⎪
⎪
⎪
⎪
q3 hv f3 huv ⎬
.
⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎪ (4.2)
g1 hv s1 0 ⎪
⎪
⎪
G(Q) = ⎣ g2 ⎦ = ⎣ hvu ⎦ , S(Q) = ⎣ s2 ⎦ = ⎣ −gh∂x b ⎦ . ⎪
⎪
⎪
⎪
⎭
g3 hv + 2 gh
2 1 2 s3 −gh∂ y b
The function .b(x, y) defines the bed profile and for most problems of interest here
it is prescribed and does not depend on time .t; g is the acceleration due to gravity
taken as .g = 9.81 m/s2 , a constant. There are two distinct situations of practical
interest, namely the wet-bed case in which the water depth .h is greater than zero and
the dry-bed case, in which portions of the bed are dry, that is .h = 0. .S(Q) is a source
term vector that accounts for various physical and geometric effects. As given, the
source term is accounting for variable bathymetry. Note that .b(x, y) is a parameter
of the problem, a prescribed function, not an unknown of the problem. For many
practical applications there will be additional terms in the vector .S(Q) to account for
Coriolis forces, wind forces, bottom friction, etc.
In the next Section we study the eigenstructure of these equations, that is we find
the eigenvalues and eigenvectors of the system. These concepts play a key role in
understanding the mathematical character of the governing equations as well as in
studying the physical character of shallow water free-surface waves.
We study the eigenstructure of the governing Eqs. (4.1) and (4.2) in terms of the
conserved variables. To this end one only considers the principal part of the PDEs,
that is the left-hand side in (4.1). By virtue of the chain rule, Eq. (4.1) may be written
in quasi-linear form as
4.2 Eigenstructure in Terms of Conserved Variables 67
∂ Q + A(Q)∂x Q + B(Q)∂ y Q = 0,
. t (4.4)
called the Jacobian matrices corresponding to the fluxes .F(Q) and .G(Q), respec-
tively. The entries of these matrices are the partial derivatives of the components . f i
of .F(Q) and .gi of .G(Q) with respect to the components .q j of the vector of conserved
variables .Q.
It is important to note that the arguments of the flux functions, actually their
components, are the components of the vector of conserved variables. To make this
clear when calculating the entries of the matrices in (4.5), we explicitly express the
flux functions purely in terms of the components .q1 , q2 , q3 of .Q, namely
⎡ ⎤ ⎡ ⎤ ⎫
q1 h ⎪
⎪
⎪
⎪
Q = ⎣ q2 ⎦ = ⎣ hu ⎦ , ⎪
⎪
⎪
⎪
q3 hv ⎪
⎪
⎪
⎪
⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎪
⎪
⎪
f1 hu q2 ⎪
⎬
. F(Q) = ⎣ f 2 ⎦ = ⎣ hu + 2 gh ⎦ = ⎣ q2 /q1 + 2 gq1 ⎦ ,
2 1 2 2 1 2
(4.6)
⎪
⎪
f3 huv q2 q3 /q1 ⎪
⎪
⎪
⎪
⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎪
⎪
⎪
g1 hv q3 ⎪
⎪
⎪
G(Q) = ⎣ g2 ⎦ =⎣ hvu ⎦ = ⎣ q2 q3 /q1 ⎦ . ⎪ ⎪
⎪
⎪
⎭
g3 hv 2 + 21 gh 2 q32 /q1 + 21 gq12
Remark 4.1 (Non-conservative formulation) Note that although the variables in the
quasi-linear form (4.4) are the conserved variables, the formulation of the equations
is not conservative.
Next we calculate the entries of the Jacobian matrices and express them in terms
of the non-conservative (or primitive) variables .u, v, a.
Proposition 4.2 The Jacobian matrices .A and .B for the conservative formulation
(4.4), (4.6) are given by
68 4 Properties of the Nonlinear Equations
⎡ ⎤ ⎡ ⎤
0 1 0 0 0 1
⎢ ⎥ ⎢ ⎥
⎢ 2 ⎥ ⎢ ⎥
⎢ ⎥ ⎢
B(Q) = ⎢ −uv v u ⎥
.A(Q) =
⎢ a − u 2u 0 ⎥ , ⎥.
2
(4.7)
⎣ ⎦ ⎣ ⎦
−uv v u a − v 0 2v
2 2
Proof As pointed out earlier, it should be borne in mind that the components of the
fluxes are to be thought of in terms of the components of the vector of conserved
variables. Clearly, the first row of .A is
∂ f 1 /∂q1 = 0,
. ∂ f 1 /∂q2 = 1, ∂ f 1 /∂q3 = 0.
Also,
∂ f 2 /∂q1 = −q22 /q12 + gq1 = a 2 − u 2 ,
.
where the last equality follows from the definitions for conserved variables and of
celerity √
.a = gh. (4.8)
The calculation of the remaining entries of .A follows in the same way and is left to
the reader as a simple exercise. The entries of .B are found in a similar manner. ∎
λ = u − a,
. 1 λ2 = u, λ3 = u + a, (4.9)
and
. 1 λ = v − a, λ2 = v, λ3 = v + a, (4.10)
Proof By definition the eigenvalues of the matrix .A are given by the roots of the
characteristic polynomial equation
|A − λI| = 0,
. (4.11)
where .|X| denotes the determinant of a matrix .X, .λ is a scalar parameter and .I is the
identity matrix. Expanding (4.11) gives the cubic algebraic equation
[ ]
(u − λ) −λ(2u − λ) − (a 2 − u 2 ) = 0,
.
the roots of which are easily found to be those given in (4.9). Note that the eigenvalues
are all real; they are also distinct under all circumstances, except for the case of dry
bed .h = 0, in which case .a = 0 and .λ1 = λ2 = λ3 = u. Similarly, the eigenvalues
of .B are found by solving the characteristic polynomial equation .|B − λI| = 0. The
details are left to the reader. ∎
4.2 Eigenstructure in Terms of Conserved Variables 69
We next give expressions for the left and right eigenvectors of the Jacobian
matrices.
Proposition 4.4 The right eigenvectors of .A in (4.7) are given by
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
1 0 1
R(1)
. = α1 ⎣ u − a ⎦ , R(2) = α2 ⎣ 0 ⎦ , R(3) = α3 ⎣ u + a ⎦ (4.12)
v 1 v
where the coefficients .α1 , .α2 , .α3 , .α̂1 , .α̂2 and .α̂3 are scaling factors.
AR = λR,
. (4.14)
or in full ⎫
r2 = λr1 , ⎪
⎬
. (a 2 − u 2 )r1 + 2ur2 = λr2 , (4.15)
⎪
⎭
−uvr1 + vr2 + ur3 = λr3 .
r = (u − a)r1 ,
. 2 (4.16)
Note that Eqs. (4.16) and (4.17) are actually equivalent, and thus we only have two
independent equations for the three unknowns .r1 , r2 , r3 . We adopt Eqs. (4.16) and
(4.18), which give a one-parameter family of solutions. Prescribing the parameter as
.α1 and setting .r 1 = α1 it follows that
⎡ ⎤
1
.R(1) = α1 ⎣ u − a ⎦ ,
v
70 4 Properties of the Nonlinear Equations
as claimed. The calculations for .R(2) and .R(3) are left to the reader as an exercise. In
order to compute a left eigenvector .L = [l1 , l2 , l3 ] corresponding to an eigenvalue .λ,
we solve the equations
.LA = λL. (4.19)
where the coefficients .β1 , .β2 , .β3 , .β̂1 , .β̂2 and .β̂3 are scaling factors.
Exercise 4.6 (Bi-orthonormality of left and right eigenvectors of .A) The reader is
encouraged to verify that the left and right eigenvectors (4.12) and (4.13) of the
Jacobian matrix .A are bi-orthonormal, that is they satisfy the relations
(
1 if i = j,
L(i) · R( j) =
. (4.22)
0 otherwise.
Note that for this to be satisfied the scaling factors must be chosen thus:
1 1 1
.α̂1 = , α̂2 = , α̂3 = − . (4.23)
2aα1 α2 2aα 3
Exercise 4.7 (Bi-orthonormality of left and right eigenvectors of .B) Verify that the
left and right eigenvectors of .B are bi-orthonormal and derive the corresponding
relationships between the scaling factors .βi and .β̂i .
In the next Section we analyse the eigenstructure of the shallow water equations
in terms of a different set of variables.
4.3 Eigenstructure in Terms of Primitive Variables 71
One may formulate the governing equations in terms of variables other than the
conserved variables .q1 = h, .q2 = hu and .q3 = hv. Alternative variables are .h, .u and
.v, called primitive variables or physical variables . It can be easily verified that the
∂ h + u∂x h + h∂x u + v∂ y h + h∂ y v = 0,
. t (4.24)
∂ v + u∂x v + v∂ y v + g∂ y h = −g∂ y b.
. t (4.26)
Clearly the non-conservative form (4.24) of the mass equation is obtained from
the first of the vector Eq. (4.1) by simply expanding .x and . y derivatives. The non-
conservative form (4.25) of the .x-momentum equation is obtained by expanding all
partial derivatives in the .x-momentum equation in (4.1), followed by use of (4.24)
and algebraic manipulations. An analogous procedure is followed to obtain the non-
conservative form (4.26) of the . y-momentum equation. When written in quasi-linear
form, Eqs. (4.24)–(4.26) become
∂ W + A(W)∂x W + B(W)∂ y W = S,
. t (4.27)
with appropriate definitions for the vectors .W, .S and the coefficient matrices .A(W)
and .B(W), namely
⎡ ⎤ ⎡ ⎤ ⎫
h u h 0 ⎪
⎪
⎪
W = ⎣u ⎦, A(W) = ⎣ g u 0 ⎦ , ⎪
⎪
⎪
⎪
⎪
v 0 0 u ⎬
.
⎡ ⎤ ⎡ ⎤ ⎪ (4.28)
v 0 h 0 ⎪
⎪
⎪
⎪
B(W) = ⎣ 0 v 0 ⎦ , S = −g∂x b . ⎪
⎣ ⎦ ⎪
⎪
⎭
g 0 v −g∂ y b
λ = u − a,
. 1 λ2 = u, λ3 = u + a (4.29)
and
λ = v − a,
. 1 λ2 = v, λ3 = v + a. (4.30)
Proof The proof follows the same steps as for the conserved variable case studied
in the previous Section and is left to the reader as an exercise. ∎
72 4 Properties of the Nonlinear Equations
where .α1 , .α2 and .α3 are scaling factors. The left eigenvectors of .A in (4.28) are
[ ] ⎫
L(1) = α̂1 a, −h, 0 , ⎪
⎬
[ ]
. L(2) = α̂2 0, 0, 1 , (4.32)
[ ] ⎪ ⎭
L(3) = α̂3 a, h, 0 ,
where .β1 , .β2 and .β3 are scaling factors. The left eigenvectors of .B in (4.28) are
[ ] ⎫
L(1) = β̂1 a, 0, −h , ⎪
⎬
[ ]
. L(2) = β̂2 0, 1, 0 , (4.34)
[ ] ⎪ ⎭
L(3) = β̂3 a, 0, h ,
.C = ω1 A + ω2 B, (4.35)
4.4 Hyperbolic Character of the 2D Equations 73
where the coefficients .ω1 and .ω2 are two real parameters that define a non-zero vector
ω = [ω1 , ω2 ], such that
.
/
|ω| =
. ω12 + ω22 > 0. (4.36)
∂ Q + ∂x F(Q) + ∂ y G(Q) = 0
. t (4.41)
are hyperbolic.
74 4 Properties of the Nonlinear Equations
.C = ω1 A + ω2 B, (4.42)
has . N real eigenvalues for any vector .Q of conserved variables and any vector
.ω = [ω1 , ω2 ], such that .ω /= 0. The system is called strictly hyperbolic if in addition
the eigenvalues are all distinct. The equations are weakly hyperbolic if they are non-
strictly hyperbolic (real eigenvalues but not distinct) and there is no complete set of
. N corresponding linear independent eigenvectors. The equations are elliptic if the
eigenvalues are complex.
Remark 4.14 The above definition extends to systems of conservation laws in any
number of space dimensions and for any number . N of equations. Also, the time
variable may be a time like variable. For instance, the two-dimensional steady super-
critical shallow water equations are also hyperbolic, where the time-like variable is
the direction of flow, and not time. See Sect. 4.7.
Corollary 4.15 The time-dependent two-dimensional shallow water Eqs. (4.1) and
(4.2) are hyperbolic. For a wet bed (.h > 0) they are strictly hyperbolic.
Proof This follows immediately from the fact that the eigenvalues (4.38) are all
real. They are also distinct whenever .a /= 0, that is whenever .h > 0. ∎
By eigenstructure of a hyperbolic system it is meant the eigenvalues and the
corresponding eigenvectors. Eigenvalues are associated with wave speeds and char-
acteristic fields. In the next Section we study the nature of the characteristic fields in
the shallow water equations.
∂ Q + ∂x F(Q) = 0,
. t (4.43)
with real eigenvalues .λi (Q) and corresponding right eigenvectors .R(i) (Q). The char-
acteristic speed .λi (Q) defines a characteristic field, the .λi -field; we also speak of
the .R(i) -field or simply the .i-field. Before introducing some relevant definitions, we
recall that the gradient of an eigenvalue .λi (Q) is given by
[ ]T
∂ ∂ ∂
.∇λi (Q) = λi , λi , . . . , λi . (4.44)
∂q1 ∂q2 ∂q N
4.5 Nature of Characteristic Fields 75
We now apply these definitions to the analysis of the characteristic fields of the
. x-split two-dimensional shallow water equations.
Proposition 4.19 (Nature of the characteristic fields) For the.x-split two-dimensional
shallow water equations
.∂t Q + ∂ x F(Q) = 0, (4.47)
with .Q and .F(Q) as defined in (4.2), the .λ2 (Q)-characteristic field is linearly degen-
erate and the .λ1 (Q) and .λ3 (Q)-characteristic fields are genuinely non-linear.
Proof We first show that the .λ2 (Q)-characteristic field is linearly degenerate, that is
for all vectors .Q. First we express the eigenvalue .λ2 (Q) in terms of the conserved
variables .q1 , q2 , q3 , as defined in (4.6). We have
hu q2
λ =u=
. 2 =
h q1
and thus [ ]T [ ]T
∂ ∂ ∂ u 1
.∇λ2 = λ2 , λ2 , λ2 = − , , 0 .
∂q1 ∂q2 ∂q3 h h
As .R(2) (Q) = β2 [0, 0, 1]T , see (4.12), clearly the dot product .∇λ2 (Q) · R(2) (Q)
vanishes for all vectors .Q; hence the .λ2 (Q)-characteristic field is linearly degenerate
as claimed and the first part of the proposition is thus proved. For the other two
characteristic fields, simple calculations give
76 4 Properties of the Nonlinear Equations
3 3
. ∇λ1 · R(1) (Q) = − /= 0 and ∇λ3 · R(3) = /= 0. (4.48)
2a 2a
Therefore the .λ1 (Q) and .λ3 (Q) characteristic fields are genuinely non-linear and the
proof of the proposition is complete. ∎
with .Q and .F(Q) as defined in (4.1) and (4.2). A corresponding integral form of
these conservation laws is
∫ ∫
∂
. Q dV + [cos θF(Q) + sin θG(Q)] dΩ = 0, (4.50)
∂t V Ω
where .V is any control volume in the .x–. y plane, .Ω is its boundary and
n ≡ [n 1 , n 2 ] ≡ [cos θ, sin θ]
. (4.51)
is the outward unit normal vector to the boundary .Ω. See Chap. 2. Figure 4.1 depicts
the situation. The outward unit normal vector .n is expressed in terms of the angle
.θ between the positive . x-direction (reference direction) and the vector .n. We next
prove an important property, called the rotational invariance of the 2D shallow water
equations. We remark that the property allows the proof of hyperbolicity in time for
the two-dimensional Eqs. (4.1) and (4.2). This is omitted here; for details see [2].
The rotational invariance property can also be used for computational purposes
when dealing with domains whose boundaries are not aligned with the Cartesian
coordinate directions. The finite volume method then allows direct discretisation of
the spatial domain in physical space, without having to explicitly transform coordi-
nates, allowing for both structured and unstructured meshes to be used. See Chaps. 3
and 16 of the textbook by Toro [2, 12, 13]. See also Chaps. 9 and 13 of this book.
We now define the normal flux component through a surface .Ω as
for all vectors .Q and for all real angles .θ, or equivalently, normal directions of
the surface .Ω. Here .T = T(θ) is a rotation matrix and .T−1 (θ) is its inverse, given
respectively as
⎡ ⎤ ⎡ ⎤
1 0 0 1 0 0
.T = ⎣ 0 cos θ sin θ ⎦ , T = ⎣ 0 cos θ − sin θ ⎦ .
−1
(4.54)
0 − sin θ cos θ 0 sin θ cos θ
is easily verified. For the first component the identity is immediate. Elementary
algebraic manipulations involving trigonometric identities verify the result for the
second and third components and the proof of the proposition is thus complete. ∎
In the next Section we study the two-dimensional steady shallow water equations
and show that these are hyperbolic if the flow is supercritical.
∂ W + A(W)∂x W + B(W)∂ y W = 0,
. t (4.55)
with
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
h u h 0 v 0 h
.W = ⎣ u ⎦ , A(W) = ⎣ g u 0 ⎦ , B(W) = ⎣ 0 v 0 ⎦ . (4.56)
v 0 0 u g 0 v
The steady (or time-independent) equations result from (4.55) by neglecting the time
derivative, namely
.A(W)W x + B(W)W y = 0. (4.57)
By premultiplying (4.57) from the left by the inverse .A−1 of matrix .A we obtain
. Wx + C(W)W y = 0, (4.58)
where
⎡ ⎤
u2v −huv u2h
1 ⎣ −guv
.C = A
−1
B= u2v −a 2 u ⎦ . (4.59)
u(u 2 − a 2 ) g(u 2 − a 2 ) 0 v(u 2 − a 2 )
Proof The proof follows the same steps as for the time-dependent case, and is left
to the reader as an exercise. ∎
Remark 4.22 (Steady supercritical flow) The steady, two-dimensional shallow
water equations are hyperbolic if the flow is supercritical, that is if
/
u 2 + v2
F=
. > 1, (4.62)
a2
in which case the eigenvalues (4.61) are all real. Otherwise, the equations are mixed
elliptic-hyperbolic .
We next state a proposition concerning the right and left eigenvectors of .C.
As the steady supercritical equations are hyperbolic in the flow direction .x, one
can use space-marching methods to solve the steady Eqs. (4.57) and (4.58), just
as done for the time-dependent equations using time-marching methods. As the
name suggests, in the space-marching approach one advances the solution in the
direction .s (.x here), in which the relevant system is hyperbolic. For an example
of a space-marching scheme, as applied to the steady 2D supersonic Euler equa-
tions, used in conjunction with a Godunov type method see for instance Toro and
Chakraborty [14].
This Section gives a few problems for the reader to practice in applying basic mathe-
matical concepts to the analysis of hyperbolic conservation laws. As a matter of fact,
the solutions to these problems might be relevant to some applications.
4.1 Homogeneity Property. This exercise concerns the so-called homogeneity
property, as defined below. Consider the .x-split shallow water equations
∂ Q + ∂x F(Q) = 0,
. t (4.65)
where .Q and .F(Q) are the vectors of conserved variables and fluxes, given respec-
tively by ⎡ ⎤ ⎡ ⎤
h hu
. Q = ⎣ hu ⎦ , F(Q) = ⎣ hu + gh ⎦ .
2 1 2
2
(4.66)
hv huv
A system such as (4.65) and (4.66) is said to satisfy the homogeneity property if the
following identity holds:
.F(Q) = A(Q)Q. (4.67)
4.9 Suggested Exercises 81
Note that this property is certainly satisfied for linear systems with constant coeffi-
cients, that is with Jacobian matrix .A constant. It is also well-known that the time-
dependent Euler equations of gas dynamics do satisfy this property for certain equa-
tions of state; see [2] for details. We note that the satisfaction of the homogeneity
property is useful for constructing certain numerical methods of the flux-vector split-
ting type.
1. Show that the shallow water Eqs. (4.65) and (4.66) do not satisfy the homogeneity
property, that is
.F(Q) / = A(Q)Q.
2. Look for an approximation .Â(Q L , Q R ) to the Jacobian matrix .A for the shallow
water equations, given in terms of the data .Q L and .Q R from a Riemann problem,
such that the homogeneity property is satisfied.
1. Verify that system (4.65) and (4.66) satisfies the following evolution equation
∂ F(Q) + A(Q)∂x F = 0.
. t (4.68)
2. Show that (4.68) is valid for any hyperbolic system (4.65). State clearly the
assumptions made for the proof to be valid.
4.3 Saint Venant Equations. The homogeneous (no sources) Saint Venant
equations are
.∂t A + ∂ x (Au) = 0 (4.69)
and
∂ (Au) + ∂x (Au 2 ) + g A∂x h = 0.
. t (4.70)
∂ W + A∂x W = 0
. t
4.4 The Two-Dimensional Steady Supercritical Equations. Recall that the steady
(or time-independent) shallow water equations are
A(Q)∂x Q + B(Q)∂ y Q = 0,
. (4.71)
∂ Q + C(Q)∂ y Q = 0,
. x
References
1. E.C. Zachmanoglou, D.W. Thoe, Introduction to Partial Differential Equations (Dover Publi-
cations, Inc., New York, 1986)
2. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics. A Practical Intro-
duction, 3rd edn. (Springer-Verlag, 2009)
3. A. Jeffrey, Quasilinear Hyperbolic Systems and Waves (Pitman, 1976)
4. J.D. Logan, An Introduction to Nonlinear Partial Differential Equations (John Wiley and Sons,
1994)
5. A.J. Chorin, J.E. Marsden, A Mathematical Introduction to Fluid Mechanics (Springer–Verlag,
1993)
6. J. Smoller, Shock Waves and Reaction–Diffusion Equations (Springer–Verlag, 1994)
7. R.J. LeVeque, Finite Volume Methods for Hyperbolic Problems (Cambridge University Press,
2002)
8. E. Godlewski, P.A. Raviart, Numerical Approximation of Hyperbolic Systems of Conservation
Laws, 2nd edn. (Springer, 2021)
9. L. Hörmander, Lectures on Nonlinear Hyperbolic Differential Equations. Mathématiques et
Applications, vol. 26 (Springer–Verlag, 1997)
10. A. Tveito, R. Winther, Introduction to Partial Differential Equations (Springer–Verlag, 1998)
11. C.M. Dafermos, Hyperbolic Conservation Laws in Continuum Physics. Grundlehren der Math-
ematischen Wissenschaften, vol. 325 (Springer, 2000)
References 83
12. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics (Springer–Verlag,
1997)
13. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics, 2nd edn. (Springer–
Verlag, 1999)
14. E.F. Toro, A. Chakraborty, Development of an approximate Riemann solver for the steady
supersonic Euler equations. Aeronaut. J. 98, 325–339 (1994)
15. J.M. Ghidaglia, G. LeCoq, I. Toumi, Two flux schemes for computing two phases flows throught
multidimensional finite volume methods, in Proceedings of the NURETH–9 Conference (Amer-
ican Nuclear Society, 1999)
Chapter 5
Elementary Waves in Shallow Water
Abstract This Chapter is devoted to the study of elementary waves emerging from
the solution of the Riemann problem for the augmented one-dimensional and for
the split two-dimensional shallow water equations. The dam-break problem is intro-
duced as a physical, motivating example of a special case of a Riemann problem.
Four possible wave patters in the solution of the Riemann problem are identified,
each comprising rarefactions, shocks and contact discontinuities or shear waves.
For each wave type, mathematical relations across the wave structure are estab-
lished. These include generalised Riemann invariants and Rankine-Hugoniot jump
conditions. Useful shock relations are established for left and right shocks, connect-
ing shock speed with shock Froude number. These relations can be readily used to
setup shock test problems with exact solutions, to test numerical methods. Finally we
study shock waves from conservative formulations of the shallow water equations
in terms of physical variables, rather than conserved variables. It is found that such
shocks are slower than those from the conserved formulation using the conserved
variables. The Chapter is concluded with a list of suggested exercises. Useful back-
ground is found in Chaps. 1, 2 and 4. The contents of this Chapter will be used to
solve the complete Riemann problem exactly in Chaps. 6 and 7.
The solution of the Riemann problem for the shallow water equations generates a
wave system comprising a combination of waves, including rarefaction waves and
shock waves. There may also be contact discontinuities or shear waves, depending
on whether the shallow water equations are suitably augmented, as done here in fact.
To facilitate the study of the Riemann problem, here we consider the simpler case
in which the Riemann problem contains just one isolated wave. The full problem is
studied in Chaps. 6 and 7.
Fig. 5.1 Side view of the initial conditions for a dam-break problem. A wall at .x = 0 separates
two uniform levels of water at rest. The collapse of the dam results in a wave system, as illustrated
in Fig. 5.2
5.1 Elementary Waves in the Riemann Problem 87
The Riemann problem for the shallow water equations is a generalisation of the
dam-break problem, and is formally defined as the initial-value problem (IVP)
⎫
PDEs: ∂t Q + ∂x F(Q) = 0 , ⎪
( ⎬
. Q L : constant if x < 0 , (5.1)
ICs: Q(x, 0) = ⎪
⎭
Q R : constant if x > 0 .
and the constant initial states .Q L and .Q R at time .t = 0, to the left of .x = 0 and to
the right of .x = 0, respectively are
⎡ ⎤ ⎡ ⎤
hL hR
. QL = ⎣ h L u L ⎦ , QR = ⎣ h R u R ⎦ . (5.3)
h L ψL h R ψR
88 5 Elementary Waves in Shallow Water
Here we consider the augmented conservation laws (5.1) for two cases, namely
1. The third equation is a transport equation for a passive scalar .ψ(x, t) representing
the concentration of a chemical species.
2. The third equation arises from the split two-dimensional shallow water equations
involving the tangential velocity component .v(x, t).
Mathematically, in both cases either.ψ(x, t) or.v(x, t), behave identically, as a passive
scalar. Therefore in what follows we often use .ψ(x, t) to mean a concentration or
the tangential velocity. The third equation then gives rise to a middle wave, which is
either a contact discontinuity (species transport) or a shear wave (split 2D case). In
the Riemann problem (5.1) the particle velocity components.u L and.u R are allowed to
be distinct from zero, while in the dam-break problem .u L = u R = 0. There are four
possible wave patterns that may occur in the solution of the Riemann problem (5.1).
These are illustrated in Fig. 5.3. Note that in each case there are three wave families;
the left and right wave families correspond to the purely one-dimensional shallow
water equations. The middle wave arises from the presence of the . y-momentum
equation in (5.2) or the inclusion of a chemical species transport equation. Case (a)
in Fig. 5.3 is when both left and right waves are rarefactions; case (b) is when the
left wave is a rarefaction and the right wave is a shock; case (c) is when the left is a
shock and right wave is a rarefaction, and case (d) is when both left and right waves
are shock waves. In general, the left and right waves are shocks or rarefactions,
while the middle wave is always a shear wave, across which the tangential velocity
component .v changes discontinuously or a contact discontinuity across which the
concentration .ψ changes discontinuously.
Hence the structure of the solution of the Riemann problem (5.1) looks as depicted
in Fig. 5.4. There are three wave families, which are associated with the eigenvalues
.λ1 , λ2 , λ3 separating four constant regions .R0 , .R1 ,.R2 and .R3 . The corresponding
four constant states are denoted, from left to right, by .Q L , .Q∗L , .Q∗R , .Q R . The region
between the left and right waves is called the Star Region and is subdivided into two
subregions .R1 and .R2 , in which the solution is unknown. In regions .R0 and .R3
.Q(x, t) is determined by the initial conditions. We note that the solution .Q(x, t) of
the Riemann problem (5.1) is a similarity solution, that is .Q depends on the ratio
. x/t.
Next we study the much simpler case in which the initial data states for the
Riemann problem are connected by a single wave, that is, the solution of the Riemann
problem consists of a single non-trivial wave; the remaining waves are assumed to
have zero strength. This assumption is entirely justified as we can always solve the
Riemann problem with general data and then select the constant states on either
side of a particular wave as the initial data for a Riemann problem. In Chaps. 6–8 we
consider the general case in which all types of waves might simultaneously be present
in the solution of the Riemann problem. First we recall some useful mathematical
wave relations.
5.1 Elementary Waves in the Riemann Problem 89
Fig. 5.3 Four wave patterns arising from the solution of the Riemann problem in the .x–.t plane: a
left rarefaction, shear/contact and right rarefaction; b left rarefaction, shear/contact and right shock;
c left shock, shear/contact and right rarefaction; d left shock, shear/contact and right shock. There
are variations of these basic four patterns, including transcritical and supercritical cases. See Fig. 5.4
Fig. 5.4 Structure of the general solution of the Riemann problem for the augmented shallow water
equations. The left and right waves associated with the eigenvalues .λ1 = u − a and .λ3 = u + a
respectively are either shocks or rarefactions. The middle wave associated with the eigenvalue
.λ2 = u is a shear wave, across which the tangential velocity component .v changes discontinuously,
or a contact discontinuity across which the concentration .ψ changes discontinuously. The solution
is first sought in regions .R1 and .R2 , which comprise the Star Region. See Fig. 5.3
90 5 Elementary Waves in Shallow Water
Here we recall some mathematical relations that are valid across the structure of the
various types of waves arising from the Riemann problem. We consider relations
for rarefactions, contacts/shear waves and shock waves. For background on the
eigenstructure of the shallow water equations see Chap. 4.
Before proceeding to the detailed study of rarefaction waves, we recall the important
notion of generalised Riemann invariants for a general . N × N hyperbolic system,
which we may express in quasi-linear form as
. t ∂ W + A(W)∂x W = 0 . (5.4)
W = [w1 , w2 , . . . , w N ]T
. (5.5)
represents either the conserved variables or some other suitable set of variables.
Recall that any system of conservation laws may always be expressed in quasi-linear
form via the Jacobian matrix.
For the wave associated with the .λi (W)-characteristic field, with eigenvalue
.λi (W), the corresponding right eigenvector is denoted as
[ ]T
R(i) = r1(i) , r2(i) , · · · , r N(i) .
. (5.6)
Definition 5.1 The generalised Riemann invariants are relations that hold true
across the wave structure of simple waves, which lead to the following . N − 1
ordinary differential equations in phase space:
These equations relate ratios of changes .dws of a quantity .ws to the respective
component .rs(i) of the right eigenvector .R(i) corresponding to the .λi (W) wave family.
In Eq. (5.7) we emphasize that the ratios are to be interpreted as meaning propor-
tionality, that is
(i)
.dws ∝ r s . (5.8)
5.1 Elementary Waves in the Riemann Problem 91
If .rs(i) = 0 then .dws = 0 and therefore .ws does not change across the respective
wave. For a detailed discussion on Riemann invariants, see for example the book
by Jeffrey [1]; see also LeVeque [2] and Godlewski and Raviart [3]. We shall apply
wave relations (5.7) to study a particular class of waves.
Rankine-Hugoniot Conditions
∂ Q + ∂x F(Q) = 0 .
. t (5.9)
They apply to a discontinuous wave travelling with speed. S, which is related to jumps
in conserved variables .Q and fluxes .F(Q) across the wave as follows:
Here subscript ahead denotes the state immediately ahead of the discontinuity and
behind denotes the state immediately behind the discontinuity.
A simple illustration of Rankine-Hugoniot conditions is given via the inviscid
Burgers’ equation
See Chap. 2. Assume a shock wave solution with states .qahead , qbehind on either
side of the wave, travelling with speed . S. Application of the Rankine-Hugoniot
conditions (5.10) gives
1 2 1 2
. qahead − qbehind = S(qahead − qbehind ).
2 2
The expression for the shock speed . S is therefore explicit
( 2 )
1 qahead − qbehind
2
1
.S = = (qahead + qbehind ) . (5.12)
2 (qahead − qbehind ) 2
Remark 5.2 Such an explicit solution for the shock speed is only possible for the
scalar conservation law (5.11); the fact that this is elegantly given by an arithmetic
mean of the states ahead and behind is determined entirely by the particular expres-
sion for the flux function . f (q) in (5.11).
Assume a left rarefaction wave associated with the eigenvalue .λ1 = u − a connect-
ing the two constant states .Q L (left) and .Q∗L (right), as depicted in Fig. 5.5. The
rarefaction wave occupies a wedge .R L defined as
{ x }
R L = (x, t)/ u L − a L ≤ ≤ u ∗L − a∗L ,
. (5.13)
t
where the characteristic line .x/t = u L − a L defines the head of the rarefaction
and the characteristic line .x/t = u ∗L − a∗L defines the tail of the rarefaction. The
eigenvalue .λ1 (Q) increases monotonically across the wave from head to tail, as seen
from the inclination of the characteristic lines in Fig. 5.5.
We now apply generalised Riemann invariants (5.7) across the .λ1 -wave. We adopt
the conserved variables .Q = [h, hu, hψ]T . For .λ1 = u − a the right eigenvector,
suitably scaled, is .R(1) = [1, u − a, ψ]T . Therefore
dh d(hu) d(hψ)
. = = . (5.14)
1 u−a ψ
Fig. 5.5 Left rarefaction wave associated with the eigenvalue .λ1 = u − a connecting states .Q L
and .Q∗L . The characteristic line .x/t = u L − a L defines the head and the characteristic line .x/t =
u ∗L − a∗L defines the tail
5.2 Single Rarefaction Wave 93
This means that the passive scalar.ψ, or the tangential velocity component, is constant
across the left rarefaction wave.
Analogously, from equating the first and second ratios in (5.14), followed by
integration in phase space, we obtain
u + 2a = constant .
. (5.16)
u
. ∗L = uL − fL ; f L = 2(a∗L − a L ) . (5.18)
x̂
. = û L − â L . (5.19)
tˆ
The unknowns of√the problem are .û L = u(x̂, tˆ) and .â L = a(x̂, tˆ), noting that .h
follows from .a = gh. Application of the left generalised Riemann invariant (5.16)
to connect the point . P̂ to the left initial condition gives
û + 2â L = u L + 2a L .
. L (5.20)
Equations (5.19) and (5.20) are two equations for the two unknowns .â and .û, whose
solution is
1 x̂ 1 2 x̂
â = a(x̂, tˆ) =
. L (u L + 2a L − ) , û L = u(x̂, tˆ) = (u L + 2a L + ).
3 tˆ 3 tˆ
(5.21)
94 5 Elementary Waves in Shallow Water
Fig. 5.6 Point . P̂ = (x̂, tˆ) inside left rarefaction wave. We seek the solution .â L for the celerity .a
and.û L for the particle velocity.u at the point . P̂ = (x̂, tˆ) in terms of its prescribed coordinates (.x̂, tˆ)
Consider a right rarefaction wave associated with the eigenvalue .λ3 = u + a, con-
necting the constant states .Q∗R (left) and .Q R (right), as depicted in Fig. 5.7. The
wave occupies a wedge .R R defined as
{ x }
.R R = (x, t)/ u ∗R + a∗R ≤ ≤ u R + a R . (5.22)
t
Note that the eigenvalue .λ3 = u + a increases monotonically from left to right, as
seen from the inclination of the characteristic lines. For .λ1 = u + a the right eigen-
vector is .R(3) = [1, u + a, ψ]T . Application of the generalised Riemann invariants
(5.7) across the .λ3 -wave gives
dh d(hu) d(hψ)
. = = . (5.23)
1 u+a ψ
From comparing the first and third ratios we obtain .dψ = 0 and so across the .λ3 -
wave the concentration variable and the tangential velocity component are constant.
That is
.ψ : constant → ψ∗R = ψ R or v : constant → v∗R = v R . (5.24)
5.3 Single Shock Wave 95
Fig. 5.7 Right rarefaction wave connecting states .Q∗R and .Q R . The characteristic line .x/t =
u R + a R defines the head while .x/t = u ∗R + a∗R defines the tail
u − 2a = constant ,
. (5.25)
which gives
u
. ∗R − 2a∗R = u R − 2a R . (5.26)
u
. ∗R = uR + fR ; f R = 2(a∗R − a R ) . (5.27)
As for the left rarefaction wave case, the solution at . P̂ = (x̂, tˆ) ∈ R R inside the right
rarefaction wave is easily found to be
1 x̂ 1 2 x̂
â =
. R (−u R + 2a R + ) , û R = (u R − 2a R + ). (5.28)
3 tˆ 3 tˆ
Next we deal with isolated shock waves.
We seek relations across shock waves in the shallow water equations from applying
Rankine-Hugoniot conditions (5.10), starting with a right-facing shock.
96 5 Elementary Waves in Shallow Water
Fig. 5.8 Right-facing shock wave of speed . S R connecting constant states .Q R (ahead) and .Q∗R
(behind)
û
. ∗R = u ∗R − S R , û R = u R − S R , (5.31)
which is illustrated in Fig. 5.9. In the new frame, Fig. 5.9b, the shock propagation
speed is .0 and the vectors of conserved variables and fluxes ahead of the shock are
⎡ ⎤ ⎡ ⎤
hR h R û R
.Q̂ R = ⎣ h R û R ⎦ , F(Q̂ R ) = ⎣ h R û 2R + 21 gh 2R ⎦ , (5.32)
h R ψR h R û R ψ R
5.3 Single Shock Wave 97
Fig. 5.9 Right shock wave in two frames of reference. Frame a is the original frame of reference
and frame b is the moving frame of references in which the shock is stationary
The Rankine-Hugoniot conditions in the frame Fig. 5.9b moving with the shock are
which give
.F(Q̂∗R ) = F(Q̂ R ) .
The first equation in (5.35) says that the mass flux is constant across the shock, that
is
. − M R ≡ h ∗R û ∗R = h R û R . (5.36)
Using this into the third of Eq. (5.35) reveals that .ψ is constant across the shock
wave. It also says that the tangential velocity component .v is constant across the
shock wave. That is
.ψ∗R = ψ R , v∗R = v R . (5.37)
Compare with (5.24). We only need to work with the first two equations in (5.35);
the second one gives
98 5 Elementary Waves in Shallow Water
1
.(h ∗R û ∗R )û ∗R − (h R û R )û R = g(h 2R − h 2∗R ) . (5.38)
2
Use of (5.36) into (5.38) gives
1
g(h 2R − h 2∗R )
. MR = 2
. (5.39)
û R − û ∗R
MR MR
û
. ∗R =− , û R = − . (5.40)
h ∗R hR
From (5.31)
u
. ∗R = u R + (û ∗R − û R ) . (5.42)
As for previous cases we have introduced a shock wave function . f R that relates
quantities across the wave. This will prove useful when solving the full Riemann
problem in Chap. 6. From (5.31) the speed of the right-facing shock wave is
S = u R − û R .
. R (5.44)
This expression relates the shock speed . S R to the unknown depth .h ∗R behind the
shock. Note that for the limiting case .h ∗R / h R = 1 the shock speed coincides with
the characteristic speed, that is . S R = u + a, as expected.
5.3 Single Shock Wave 99
Fig. 5.10 Left-facing shock wave of speed . SL connecting states .Q L (ahead) and .Q∗L (behind)
For a left-facing shock of speed . SL associated with the eigenvalue .λ1 = u − a the
analysis is similar to that of a right shock. Figure 5.10 depicts a left-facing shock
wave with .λ1 -characteristics .x/t = λ1 = u − a from left and right converging into
the shock path .x/t = SL , consistently with the Lax entropy condition
The analysis for this case is entirely analogous to the right-facing shock case and
therefore the presentation will be succinct. The transformation of frames of reference
is
.û ∗L = u ∗L − S L ; û L = u L − SL . (5.47)
. M L ≡ h ∗L û ∗L = h L û L (5.49)
100 5 Elementary Waves in Shallow Water
is constant across the shock wave. Using this condition into the third of Eq. (5.48)
reveals that .ψ, and hence the tangential velocity component .v, are constant across
the left shock. That is
.ψ∗L = ψ L , v∗L = v L . (5.50)
and /
1 (h ∗L + h L )
u
. ∗L = uL − fL ; f L = (h ∗L − h L ) g . (5.52)
2 h L h ∗L
This relates .u ∗L to .h ∗L via the left shock wave function . f L . Also, from (5.47) the
shock speed is
. S L = u L − û L . (5.53)
Use of (5.49) into (5.53) followed by manipulations gives the shock speed as
/
1 (h L + h ∗L )h ∗L
S = u L − qL aL ;
. L qL = . (5.54)
2 h 2L
This expression relates the shock speed . SL to the water depth .h ∗L behind the
shock. Again, in the limiting case .h ∗L / h L = 1 we have . SL = u L − a L , as would
be expected.
λ (Q∗L ) = u ∗ = λ2 (Q∗R ) .
. 2 (5.55)
Fig. 5.11 Contact wave/shear wave associated with the linearly degenerate field .λ2 , connecting
states .Q∗L and .Q∗R . Characteristics either side of the wave are parallel to the wave, just as in the
linear advection equation
⎫
u ∗L = u ∗R = u ∗ , ⎪
⎬
. h ∗L = h ∗R = h ∗ , (5.56)
⎪
⎭
ψ∗L /= ψ∗R .
Figure 5.12 depicts the full structure of the solution of the Riemann problem in the
x–.t plane. The left and right waves can be shocks or rarefactions. The velocity and
.
depth are constant in the Star Region; .ψ is also constant in .R1 ∪ R0 and in .R2 ∪ R3
but with a discontinuous jump across the contact/shear wave. See (5.56).
102 5 Elementary Waves in Shallow Water
Fig. 5.12 Structure of the full wave system emerging from the Riemann problem for the augmented
shallow water equations. Compare with Figs. 5.3 and 5.4
The main step in solving the Riemann problem is the Star Problem, namely that
of determining the velocity .u ∗ and the depth .h ∗ in the Star Region. Once .u ∗ and .h ∗
are known, the rest of the solution through the wave structure follows.
To find the velocity .u ∗ and the depth .h ∗ we first assemble together all the wave
relations derived for each elementary wave in isolation. Note that the velocity .u ∗ is
connected to .Q L via a function . f L and that the velocity .u ∗ is connected to .Q R via a
function . f R . The functions . f L and . f R are given in (5.18) and (5.27) for rarefactions
and in (5.43) and (5.52) for shocks. The functions . f L and . f R depend on the unknown
depth .h ∗ , the wave type (shock or rarefaction) and, parametrically, on the initial
conditions .Q L and .Q R , that is
f = f L (h ∗ , w L ; Q L ) ;
. L f R = f R (h ∗ , w R ; Q R ) . (5.57)
Here .w L and .w R denote logical variables that identify the wave type; .w K denotes
either a shock or a rarefaction, for . K = L and . K = R. The complete solution pro-
cedure for the Star Problem is then summarised in the following theorem.
Theorem 5.5 The solution .h ∗ for the Riemann problem (5.1) is the root of the non-
linear algebraic equation
with
⎧ √ √
⎪
⎪ 2( gh − gh L ) if h ≤ h L (w L : rarefaction) ,
⎪
⎨
. Lf (h, w L ; h L ) = /
⎪
⎪ 1 (h + h L )
⎪
⎩ (h − h L ) g if h > h L (w L : shock)
2 hh L
(5.59)
and
⎧ √ √
⎪
⎪ 2( gh − gh R ) if h ≤ h R (w R : rarefaction) ,
⎪
⎨
f (h, w R ; h R ) =
. R
/
⎪
⎪ 1 (h + h R )
⎪
⎩ (h − h R ) g if h > h R (w R : shock) .
2 hh R
(5.60)
Once the depth .h ∗ has been found the solution for the velocity .u ∗ follows as
. u ∗ = 21 (u L + u R ) + 21 [ f R (h ∗ , w R ; h R ) − f L (h ∗ , w L ; h L )] . (5.61)
Proof (Sketch of the Proof). First note that the particle velocity .u ∗ and depth .h ∗ are
constant across the contact discontinuity according to (5.56). In fact .u ∗ and .h ∗ are
constant in the entire Star region. Then, the function . f L is used to relate .u ∗ to the left
initial condition .Q L across the left wave. In case the left wave is a shock we have the
relation (5.52) and if it is a rarefaction we use (5.18). Analogously, the function . f R
is used to relate .u ∗ to the right initial condition .Q R across the right wave. If the right
wave is a shock we have the relation (5.43) and if it is a rarefaction we use (5.27).
As .u ∗ = u ∗L = u ∗R , see (5.56), we can eliminate .u ∗ resulting in Eq. (5.58). Then
the particle velocity could be written in terms of the function . f L , for both the shock
and rarefaction cases. See (5.52) and (5.18). So we could compute .u ∗ directly from
. f L once .h ∗ is known. Alternatively, we could compute .u ∗ directly from . f R using
(5.43) or (5.27). Solution (5.61) results from a mean of the two possible solutions.
This concludes the proof. .∎
Useful shock relations may be written in terms of shock speed and shock Froude
number. The relations can be readily used to set up test problems for an isolated
shock, with exact solution, to test numerical methods, for example.
104 5 Elementary Waves in Shallow Water
Consider a left-facing shock wave associated with the eigenvalues .λ1 = u − a. From
(5.54) we may write the left shock speed as
⎫
SL = u L − a L q L , ⎪
⎪
/[ ⎬
]
. 1 (h ∗ + h L )h ∗ ⎪ (5.62)
qL = .⎪
⎭
2 h 2L
We now derive some useful shock relations in terms of the initial data and the shock
Froude number. We introduce the two Froude numbers
uL SL
.FL = , FS = . (5.63)
aL aL
The quantity .F S is called the shock Froude number. Clearly, since for a left shock
we require .h ∗ ≥ h L , then .q L ≥ 1 and thus
q = FL − FS ≥ 1 .
. L (5.64)
The quantity .F L is a function of the initial data state, which is prescribed, and .F S is
an unknown parameter of the problem; in fact .F S is a function of the solution itself.
Thus, for prescribed initial data ahead of the shock and an assumed shock Froude
number .F S , we can completely determine the state behind the shock.
Equation (5.64), along (5.62), may be regarded as a quadratic in .h ∗ , which if
solved in terms of the shock Froude number .F S and the data ahead of the shock
gives [ √ ]
−1 + 1 + 8(F L − F S )2
.h ∗ = h L . (5.65)
2
Then the particle velocity .u ∗ behind the shock follows from (5.52) as
/
1 (h ∗ + h L )
u = u L − (h ∗ − h L )
. ∗ g . (5.66)
2 h L h∗
Summary. For given initial conditions .h L , .u L , .v L ahead of the left shock, and an
assumed shock Froude number .F S , the state behind the shock is completely deter-
mined and is given by (5.65)–(5.66) for .h ∗ and .u ∗ . The speed of the shock is given
by (5.62) or (5.63). Note that this is a one-parameter family of solutions, the free
parameter open to choice is the shock Froude number .F S , or equivalently the shock
speed. SL . The tangential velocity component (or the concentration) is constant across
the shock, as seen in (5.50). This exact shock solution may be very useful when setting
up test problems for the purpose of assessing numerical methods.
5.6 Useful Shock Relations 105
where .F S is the shock Froude number. Then, from Eq. (5.67) we write
q = FS − F R ≥ 1 ,
. R (5.69)
[ √ ]
−1 + 1 + 8(F S − F R )2
h = hR
. ∗ . (5.70)
2
Summary. For given initial conditions .h R , .u R , .v R ahead of the right shock, and
assuming a shock Froude number .F S , the state behind the shock is completely deter-
mined and is given by (5.70) and (5.71) for .h ∗ and .u ∗ . The speed of the shock is given
by (5.67) or (5.68). The tangential velocity component and the concentration variable
are constant across the shock, as seen in (5.37). Note that this is a one-parameter
family of solutions; the free parameter open to choice is the shock Froude number
.F S , or equivalently, the shock speed . S R .
Example 5.6 Assume a right state with data .h R = 1.0 m, .u R = 0 m/s, and accel-
eration due to gravity as .g = 9.81 m/s 2 . Figure 5.13 shows water depth .h ∗ (top) and
particle velocity .u ∗ (bottom) behind the shock wave versus shock Froude number
.F S , for .1 ≤ F S ≤ 10.
106 5 Elementary Waves in Shallow Water
Fig. 5.13 Water depth .h ∗ (top) and particle velocity .u ∗ (bottom) behind the shock wave versus
shock Froude number .F S . Here .h R = 1 m and .u R = 0 m/s
We have studied all possible situations involving a single non-trivial wave arising
as solution of the Riemann problem for the augmented shallow water equations. We
shall apply this knowledge in Chaps. 6 and 7 to study the general Riemann problem
in which all type of waves may be present simultaneously.
But before doing so, in the next Section we address the question of formulation
of the equations in the presence of shock waves.
5.7 Non-conservative Formulation and Shocks 107
This Section illustrates the importance of correctly formulating the equations in the
presence of shock waves.
See Chap. 1. These express the physical laws of conservation of mass and momen-
tum. On the other hand, under the assumption of smooth solutions, we can expand
derivatives so as to write the equations in primitive variable formulation as follows:
∂ h + u∂x h + h∂x u = 0 ,
. t (5.73)
∂ u + u∂x u + g∂x h = 0 .
. t (5.74)
where under the assumption of smoothness we have replaced the term.uu x by.( 21 u 2 )x ,
as for example in the Burgers equation. Now we have an alternative conservative
form of the shallow water equations, namely
[ ] [ ]
h hu
∂
. t + ∂x 1 2 =0. (5.76)
u 2
u + gh
while a right-facing shock wave solution of (5.76) associated with the eigenvalue
λ = u + a has speed
. 2
/
2gh 2∗
. Snonc = u R + , (5.78)
h∗ + h R
where .h ∗ is the water depth behind the shock. These shock speeds satisfy
S
. nonc ≤ Scons , with Snonc = Scons if and only if h ∗ = h R . (5.79)
Proof The derivation of the shock speed for the conservative form (5.72) was carried
out in Sect. 5.3.1. The derivation of the shock speed for the alternative conservative
form (5.76) is carried out using the same methodology as for (5.72). The Rankine-
Hugoniot conditions applied to Eq. (5.76) in the transformed frame of reference
give )
h ∗ û ∗ = h R û R ,
. (5.80)
û + gh ∗ = 21 û 2R + gh R .
1 2
2 ∗
and the shock speed . Snonc corresponding to the physically non-conservative system
(5.76) is then found to be
/
2gh 2∗
S
. nonc = uR + ,
h∗ + h R
as claimed. By comparing the two shock speeds . Snonc and . Scons it is found that
S
. nonc ≤ Scons .
5.7 Non-conservative Formulation and Shocks 109
Fig. 5.14 Shock-wave speeds . Scons (higher) and . Sncon (lower) versus shock strength .h ∗ / h R , for
conservative and non-conservative formulations of the equations. Here.h R = 1 m,.u R = 0 m/s and
.1 ≤ h ∗ / h R ≤ 10
.0 ≤ (h ∗ − h R )2 .
Equality of the shock speeds holds only if the shock is trivial, .h ∗ = h R , that is, if the
solution is smooth. .∎
Figures 5.14 and 5.15 show comparisons between the shock speeds . Scons obtained
from the physically conservative formulation (5.72) and . Snonc obtained from the
physically non-conservative formulation (5.76). Data ahead of the shock are pre-
scribed values for depth .h R and velocity .u R . In Fig. 5.14 the comparison is carried
out for a large range of assumed values of the shock strength .h ∗ / h R . Figure 5.15 is
a zoom of Fig. 5.14 for a small range of the shock strength .h ∗ / h R near the trivial
case of no shock .h ∗ / h R ≈ 1.
Remark 5.9 (Weak shocks). Weak shocks are those with shock strength given as
h / h R = 1 + ∈, where .∈ is a small positive quantity and .h R is the depth ahead of the
. ∗
shock. From the results of Fig. 5.15, for .0 ≤ ∈ ≤ 1, it is seen that for week shocks,
110 5 Elementary Waves in Shallow Water
Fig. 5.15 Shock-wave speeds . Scons (higher) and . Sncon (lower) versus shock strength .h ∗ / h R , for
conservative and non-conservative formulations of the equations. Here.h R = 1 m,.u R = 0 m/s and
.1 ≤ h ∗ / h R ≤ 2. Errors around .h ∗ / h R ≈ 1 are small
the non-conservative error in shock speed is relatively small and one could therefore
contemplate using the non-conservative formulation of the shallow water equations,
if weak shock waves could be anticipated reliably.
In this Chapter we have studied all the necessary properties of the shallow water
equations needed to solve the Riemann problem exactly. A good working knowledge
of these properties is also useful to understand the bases for constructing approximate
Riemann solvers, done in Chap. 11, and for interpreting numerical results correctly.
Having studied all possible isolated-wave configurations emerging from the Riemann
problem, in Chap. 6 we solve exactly the general Riemann problem for the shallow
water equations for the case of positive depth throughout the domain. In Chap. 7 we
solve the Riemann problem exactly for conditions admitting vacuum, or incipient
vacuum, where the water depth .h is allowed to be zero. This Chapter is concluded
with a list of suggested exercises.
5.9 Suggested Exercises 111
5.1 Saint Venant Equations. The homogeneous (no sources) SaintVenant equa-
tions are
.∂t A + ∂ x (Au) = 0 (5.82)
and
∂ (Au) + ∂x (Au 2 ) + g A∂x h = 0 .
. t (5.83)
∂ W + A∂x W = 0
. t
∂ h + u∂x h + h∂x u = 0 ,
. t (5.84)
where .b = b(x) defines the bed elevation above a horizontal datum. See Chap. 1.
Here .b(x) is independent of time and thus it is legitimate to write
∂b=0.
. t (5.86)
1. Regard Eqs. (5.84)–(5.86) as a .3 × 3 system for the three variables .h, u, b. Write
the system in quasi-linear form, with matrix .A.
2. Find the three eigenvalues of the system.
3. Find the corresponding right eigenvectors of .A.
4. Determine the nature of the three characteristic fields corresponding to the eigen-
values.
5. Discuss isolated elementary wave solutions of the Riemann problem for (5.84)–
(5.86).
6. By applying Riemann invariants to each wave family give a detailed discussion
on jumps of the quantities .h, u, b across the three wave families. For instance, a
question to answer is this: does the bed (b) jump across the genuinely non-linear
fields?
112 5 Elementary Waves in Shallow Water
References
Abstract This Chapter presents a solver for computing the exact solution through
the entire wave structure of the Riemann problem for the non-linear shallow water
equations for the case of a wet bed, that is for.h(x, t) > 0 (no vacuum). The computing
algorithm is based on a detailed study of elementary waves in the Riemann problem
performed in Chap. 5. There are two steps in computing the complete solution. First,
the water depth .h ∗ and velocity .u ∗ are found in the Star Region; the solution .h ∗ is the
root of a non-linear algebraic equation . f (h) = 0, which is solved iteratively with a
Newton-Raphson method. A detailed study of the behaviour of the depth function
. f (h) is carried out to determine existence and uniqueness of the solution, and for
selecting the best solution method. The solution .u ∗ for velocity follows directly from
.h ∗ . The second step is concerned with finding the solution through the entire wave
system, which includes identifying the type of waves present and a solution sampling
procedure to determine the vector. Q(x, t) at any point.(x, t) in the.x-.t half plane. The
solution will be used in successive chapters for constructing upwind numerical meth-
ods for the general initial-boundary value problem, for applying boundary conditions
and for assessing the accuracy of numerical approximations. Useful background is
found in Chaps. 1–5. The exact solution for the Riemann problem in the presence
of wet/dry fronts is presented in Chap. 7. The listing of a computer programme for
the exact Riemann solver, including both wet and dry-bed conditions, is given in
Chap. 8.
6.1 Introduction
In this Chapter we pose and solve exactly the Riemann problem for the shallow
water equations for the case of a wet bed. The Riemann problem is a generalisation
of the so-called dam-break problem, the solution of which was given by Stoker [1].
As to the solution of the Riemann problem, it appears as if Marshall and Méndez [2]
were the first to report a general procedure to solve the Riemann problem exactly
for the case of a wet bed. They applied the methodology developed by Godunov [3]
for the Euler equations of gas dynamics, which nowadays is known to be compu-
tationally expensive and thus alternative schemes are desirable. An efficient solver
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 113
E. F. Toro, Computational Algorithms for Shallow Water Equations,
https://doi.org/10.1007/978-3-031-61395-1_6
114 6 Exact Riemann Solver: Wet Bed
was presented by Toro [4], which is based on his earlier work on compressible gas
dynamics [5]; see also [6]. This method reduces the problem to solving a single alge-
braic non-linear equation for the water depth by an iterative technique, such as the
Newton-Raphson method. The remaining flow variables follow directly through the
complete structure of the solution of the Riemann problem. There are several reasons
for studying the exact solution of the Riemann problem. First, it is the simplest initial
value problem for the full set of time-dependent non-linear equations, the solution
of which may include simultaneously both smooth solutions, such as rarefactions,
as well as discontinuous solutions, such as shocks, contact discontinuities and shear
waves. This Chapter builds upon Chap. 5, which gives a detailed characterisation of
elementary waves present in the Riemann problem.
The information provided by the Riemann problem solution is fundamental to the
understanding of basic features of wave propagation in shallow water models and
for the understanding of the more general initial-boundary value problem. The exact
solution can also be used locally in the Random Choice Method (RCM) of Glimm
[7, 8] for solving the general initial-boundary value problem numerically. For the
same purpose the exact solution can be used locally in the Godunov method. The
exact Riemann solver presented in this Chapter is very efficient and leads to Godunov
methods that are only marginally more expensive than those based on approximate
Riemann solvers. Another important reason for wishing to find the exact solution
of the Riemann problem is that it can be used to test numerical methods in the
early stages of development. All too often, workers in the field do not pay suffi-
cient attention to the use of exact solutions for carefully assessing the performance
of their methods intended for more complex applications. A good understanding
of the solution process can be a useful exercise for the understanding of physical
and mathematical concepts associated with the shallow water equations and for the
development of approximate Riemann solvers. Finally, it is worth pointing out the
important role of the Riemann problem in implementing boundary conditions to
solve the general initial-boundary value problem numerically. Even in the case in
which the numerical methodology being used in the interior of the computational
domain is not of the upwind type, at the boundaries one cannot do without using the
Riemann problem, particularly at reflecting, fixed or moving boundaries.
In this Chapter we deal with the case in which the water depth is everywhere
positive (wet bed). In the following Chap. 7 we deal with the case in which the
depth of water is zero, either in one of the initial data states or as a consequence of
the interaction of two wet bed states satisfying a special relationship. The particular
Riemann problem in which portions of the bed are dry plays an important role in
dealing with the so-called wet fronts or dry fronts or wet/dry fronts, which are very
challenging to the numerical modeller. In Chap. 11 we study approximate solutions
to the Riemann problem, which are intended for local use in Godunov-type methods.
The reader is strongly advised to revise Chap. 5 before proceeding with the detailed
study of this Chapter.
6.2 The Riemann Problem and Solution Strategy 115
We are concerned with the exact solution of the Riemann problem for the augmented
shallow water equations for the case of a wet bed, namely
⎫
PDEs: ∂t Q + ∂x F(Q) = 0 , ⎪
( ⎬
. Q L if x < 0 , (6.1)
ICs: Q(x, 0) = ⎪
⎭
Q R if x > 0 .
For the case of the .x-split two-dimensional shallow water equations the vectors .Q
and .F(Q) are ⎡ ⎤ ⎡ ⎤
h h
.Q = ⎣ hu ⎦ , F(Q) = ⎣ hu 2 + 21 gh 2 ⎦ . (6.2)
hv huv
For the case in which the augmented equations include the transport of a passive
scalar .ψ(x, t) the vectors .Q and .F(Q) are
⎡ ⎤ ⎡ ⎤
h h
.Q = ⎣ hu ⎦ , F(Q) = ⎣ hu 2 + 21 gh 2 ⎦ . (6.3)
hψ huψ
)
h ∗ > h L : the left wave is a shock wave ,
. (6.4)
h ∗ ≤ h L : the left wave is a rarefaction wave ,
116 6 Exact Riemann Solver: Wet Bed
Fig. 6.1 Structure of the general solution of the Riemann problem for the augmented shallow water
equations for the case of a wet bed
As anticipated in Chap. 5, the solution in the Star Region is determined by the solution
for the water depth .h ∗ . Once .h ∗ has been computed, all remaining unknowns follow
directly. Therefore, the crucial step is performed by deriving a depth function. f (h) =
f L (h, h L ) + f R (h, h R ) + Δu; see Fig. 6.2. The function . f L (h, h L ) is derived by
connecting the velocity .u ∗ to the left data state .Q L using appropriate wave relations.
Analogously, the function . f R (h, h R ) is derived by connecting the velocity .u ∗ to
the right data state .Q R . See Fig. 6.2. The wave functions . f L and . f R depend on the
unknown depth .h ∗ , the wave type (shock or rarefaction) and, parametrically, on the
initial conditions .Q L and .Q R , so we may write
f = f L (h ∗ , w L ; Q L ) ;
. L f R = f R (h ∗ , w R ; Q R ) . (6.6)
Here .w L and .w R denote logical variables that identify the wave type; .w K denotes
either a shock or a rarefaction, for . K = L and . K = R. In what follows we drop the
arguments .w L , .w R and often also .h L and .h R .
6.3 Solution in the Star Region 117
Fig. 6.2 Connecting .u ∗ to data states .Q L and .Q R via the functions . f L and . f R
As demonstrated in Chap. 5, the complete solution procedure for the water depth .h ∗
in the Star Region is summarised in the following theorem.
Theorem 6.1 The solution .h ∗ for the Riemann problem (6.1) is the root of the non-
linear algebraic equation
with
⎧ √ √
⎪
⎪ 2( gh − gh L ) if h ≤ h L (rarefaction) ,
⎪
⎨
. f L (h; h L ) =
/ (6.8)
⎪
⎪ 1 (h + h L )
⎪
⎩ (h − h L ) g if h > h L (shock) ,
2 hh L
and
⎧ √ √
⎪
⎪ 2( gh − gh R ) if h ≤ h R (rarefaction) ,
⎪
⎨
. f R (h; h R ) =
/ (6.9)
⎪
⎪ 1 (h + h R )
⎪ (h − h R )
⎩ g if h > h R (shock) .
2 hh R
Once the depth .h ∗ has been found the solution for the velocity .u ∗ follows as
. u ∗ = 21 (u L + u R ) + 21 [ f R (h ∗ , w R ; h R ) − f L (h ∗ , w L ; h L )] . (6.10)
Finding the root .h ∗ in the Star Region involves an iterative numerical procedure
applied to non-linear algebraic equation (6.7). The solution for .u ∗ follows directly
from (6.10). There appears to be no general closed-form solution for the non-linear
algebraic equation (6.7) for the depth in the Star Region; exact solutions are possible
for some special cases. Although the solution for.h ∗ must be found iteratively, we still
use the expression exact Riemann solver, which must be understood as an iterative
solution to the accuracy provided by a computer.
Before devising an iterative scheme for solving . f (h) = 0 in (6.7) to find .h ∗ , we anal-
yse the behaviour of the depth function . f (h), depicted in Fig. 6.3 for four situations.
The root is the intersection of the curve . f (h) with the .h-axis. The analysis is useful
in that the behaviour of . f (h) determines three important issues of interest:
1. whether the solution for .h ∗ exists,
2. whether it is unique, and
3. what is the best numerical approach to find the root(s).
To begin with, the first derivative of. f = f L + f R is determined by the first derivatives
of . f L and . f R ; these are found to be given by
⎧ g
⎪
⎨ if h ≤ h K ,
' aK
. f K (h, h K ) = g(h − h ) (6.11)
⎪
⎩ g K (h) −
K
if h > h K ,
4h 2 g K (h)
Fig. 6.3 Behaviour of depth function. f (h) against depth.h;. f (h) is a monotone increasing function
of .h and is concave down. The sought root is the intersection of the curve . f (h) with the .h-axis.
Three .h intervals have physical relevance, in which the solution exists and is unique
6.3 Solution in the Star Region 119
where / ( )
1 h + hK
g (h) =
. K g . (6.12)
2 hh K
Expressions for the second derivatives are also easily found but they are omitted here;
we note, however, that the depth function . f (h) is concave down, that is . f '' < 0, as
illustrated in Fig. 6.3.
For a given function. f K (h, h K ), there are two possible branches, namely the shock
branch . f K sho for .h > h K , and the rarefaction branch . f K rar for .h ≤ h K ; see (6.8) and
(6.9). An interesting observation is that at a given data point .h K , we have
f (l) (h K , h K ) = f K(l)sho (h K , h K ) ,
. K rar (6.13)
for .l = 0, 1, 2 and . K = L , R. That is, the shock and rarefaction branches coincide
at .h = h K and so do their first and second derivatives. As . f ' = f L' + f R' and . f '' =
f L'' + f R'' , it follows that the depth function . f (h) is a monotone increasing function
of .h and concave down, as illustrated in Fig. 6.3. Thus for appropriate combinations
of data, the equation . f (h) = 0 has a unique solution.
For given data .h L , h R , u L , u R the solution is crucially dependent on the data
velocity difference .Δu = u R − u L . The shape of . f (h) is determined by the data
.h L , h R but the height, and thus the root, is determined by .Δu. As seen in Fig. 6.3,
there are three.h intervals of physical interest.(h ∗ > 0). Within each of these intervals
along the .h-axis the complete wave pattern in the Riemann problem solution is also
determined. The intervals are
⎫
I1 = (0, h m ] : two rarefactions , ⎪
⎬
. I2 = (h m , h M ) : one rarefaction and one shock , (6.14)
⎪
⎭
I3 = [h M , ∞) : two shocks .
Here
h = min(h L , h R ) ,
. m h M = max(h L , h R ) . (6.15)
. f (0) = −2(a L + a R ) + u R − u L = 0 .
Thus, in order for the exact Riemann solver for a wet bed to be applicable, the
following depth positivity condition on the data must be fulfilled:
We finally note that if . f (h m ) ≥ 0, that is the two non-linear waves are rarefaction
waves, then the rarefaction branches in (6.8) and (6.9) must be used when evaluating
. f (h) in (6.7). In this case we obtain
2(a − a L ) + 2(a − a R ) + u R − u L = 0,
.
√
where we have replaced . gh by the celerity .a. The solution for .a = a∗ (and thus
for .h ∗ ) is immediate
. a∗ = (a L + a R ) − (u R − u L ).
1 1
2 4
(6.18)
. u ∗ = 21 (u L + u R ) + a L − a R . (6.19)
for the unknown .h in the Star Region. There appears to be no general closed-form
solution available to this equation and we therefore apply an iterative numerical
method. Given the particularly simple behaviour of. f (h), the availability of its deriva-
tive . f ' (h) and the availability of a reliable guess value that can be obtained from the
two-rarefaction approximation (6.18), we suggest the use of a Newton-Raphson
iteration scheme [10]
(k+1) f (h (k) )
.h = h (k) − ' (k) , (6.21)
f (h )
for .k = 0, 1, . . . , K . To start
√ the iteration we use the two-rarefaction approximation
(6.18) to the celerity .a = gh to provide a guess value .h (0) as follows
[ ]2
(0) 1 1 1
. h = (a L + a R ) − (u R − u L ) . (6.22)
g 2 4
The iteration (6.21) is stopped whenever the change in .h is smaller than a prescribed
tolerance .T O L, that is when
|h (k+1) − h (k) |
. Δh = < T OL . (6.23)
(h (k+1) + h (k) )/2
In practice we choose .T O L = 10−6 . For use in the Godunov method, the choice
−4
. T O L = 10 is sufficiently reliable.
Having formulated and solved numerically Eq. (6.20) for .h ∗ , the solution for .u ∗
follows directly from (6.10) in terms of . f L (h ∗ , h L ) and . f R (h ∗ , h R ). The rest of the
solution through the complete wave structure then follows by applying standard wave
relations introduced in Chap. 5. This is the subject of the next section.
So far we have an algorithm for finding .h ∗ and .u ∗ in the Star Region of Figs. 6.1 and
6.2, whenever the depth positivity condition (6.17) holds. The aim here is to find the
solution through the complete wave structure in the .x-.t half plane. To this end it is
convenient to divide the half plane by the contact/shear line .x/t = u ∗ , into the two
subregions .R L = R0 ∪ R1 and .R R = R2 ∪ R3 , as depicted in Fig. 6.4.
122 6 Exact Riemann Solver: Wet Bed
Fig. 6.4 The contact/shear wave line .x/t = u ∗ divides the .x-.t half plane into two subregions
.R L= R0 ∪ R1 and .R R = R2 ∪ R3
We represent the solution in terms of the vector of physical variables .W = [h, u, v]T
for the .x-split two-dimensional shallow water equation, or .W = [h, u, ψ]T for trans-
port of a passive scalar .ψ. In the former case the middle wave is a shear wave and in
the latter case it is a contact discontinuity. As established in Chap. 5 the solution for
the tangential velocity component.v and the passive scalar.ψ in the complete Riemann
problem is particularly simple and essentially decoupled from the rest of the solution.
In Chap. 5 it was established that .v and .ψ are constant across the non-linear waves
but change discontinuously across the middle wave defined by the characteristic line
. x/t∗ = u ∗ . That is, across the full wave structure of Fig. 6.2 we have
( (
v L if x/t∗ < u ∗ ψ( L if x/t∗ < u ∗ ,
v(x/t∗ ) =
. ψ(x/t∗ ) = (6.24)
v R if x/t∗ > u ∗ ψ( R if x/t∗ > u ∗ .
. S = x/t∗ . (6.25)
For a wave to the left of the contact/shear in Fig. 6.4 we need to determine whether
it is a shock or a rarefaction. See Fig. 6.5.
1. Left shock. If .h ∗ > h L , then the left wave is a shock wave. From the detailed
analysis reported in Chap. 5, the shock speed is
⎫
SL = u L − a L q L , ⎪
⎪
/ [ ⎬
]
. 1 (h ∗ + h L )h ∗ ⎪ (6.26)
qL = .⎪
⎭
2 h 2L
See Fig. 6.5a. The complete solution on the left side of the contact/shear wave is
(
W∗L = [h ∗ , u ∗ , v L ]T if SL ≤ x/t∗ ≤ u ∗ ,
W(x, t∗ ) ≡
. (6.27)
W L = [h L , u L , v L ]T if x/t∗ ≤ SL .
S
. HL = u L − aL , ST L = u ∗ − a ∗ . (6.28)
Therefore, for a left rarefaction wave the solution to the left of the contact/ shear
wave is ⎧
⎪ W if x/t∗ ≤ S H L ,
⎨ L
.W(x, t∗ ) = W L f an if S H L ≤ x/t∗ ≤ ST L , (6.30)
⎪
⎩
W∗L if ST L ≤ x/t∗ ≤ u ∗ ,
where the characteristic speeds . S H L and . ST L are given by (6.28) and .W L f an is given
by (6.29); see Fig. 6.5b. See solution (6.24) for passive scalars.
124 6 Exact Riemann Solver: Wet Bed
Fig. 6.5 Wave configurations to the left of the contact shear wave: a left wave is a shock wave, b
left wave is a rarefaction wave
For a wave to the right of the contact/shear in Fig. 6.4 we need to determine whether
it is a shock or a rarefaction. See Fig. 6.6.
1. Right shock. If .h ∗ > h R the right wave is a shock wave of speed
⎫
SR = u R + a R q R , ⎪
⎪
/ [ ⎬
]
. 1 (h ∗ + h R )h ∗ ⎪ (6.31)
qR = .⎪
⎭
2 h 2R
where . S R is the shock speed given by (6.31); see Fig. 6.6a. See solution (6.24)
for passive scalars.
2. Right rarefaction. If .h ∗ ≤ h R the right wave is a rarefaction. The speeds of the
tail and head are
. ST R = u ∗ + a ∗ , SH R = u R + a R . (6.33)
See Fig. 6.6b. The solution for .u, .a and .v inside the right rarefaction fan is
⎧ ( )
⎪
⎪ 1 x̂
⎪a =
⎪ −u R + 2a R + ,
⎪
⎨ 3 tˆ
( )
.W R f an ≡ 1 2 x̂ (6.34)
⎪
⎪ u= u R − 2a R + ,
⎪
⎪ 3 tˆ
⎪
⎩
v = vR .
6.5 Conclusions 125
Fig. 6.6 Wave configurations to the right of the contact/shear wave: a right wave is a shock wave,
b right wave is a rarefaction wave
Therefore, for a right rarefaction wave the solution to the right of the contact/shear
wave is ⎧
⎪ W if u ∗ ≤ x/t∗ ≤ ST R ,
⎨ ∗R
.W(x, t∗ ) = W R f an if ST R ≤ x/t∗ ≤ S H R , (6.35)
⎪
⎩
WR if S H R ≤ x/t∗ .
.v and .ψ change only across the middle wave (discontinuously). See solution (6.24)
for passive scalars.
6.5 Conclusions
We have presented an exact solver for computing the solution through the entire
wave structure of the Riemann problem for the non-linear shallow water equations
for the case of a wet bed. The computing algorithm builds upon the detailed study
of isolated elementary waves in the Riemann problem conducted in Chap. 5. Two
steps are needed for computing the complete solution. In the first, the water depth .h ∗
and particle velocity .u ∗ in the Star Region are determined. The computation of .h ∗
requires the iterative, numerical solution of a non-linear algebraic equation. f (h) = 0;
to this end a detailed study of the behaviour of the depth function . f (h) proved
useful in establishing existence and uniqueness of the solution and for choosing the
best numerical solution method to compute it. The solution .u ∗ for velocity follows
directly from .h ∗ . The second step is concerned with finding the solution for the entire
126 6 Exact Riemann Solver: Wet Bed
wave system, which includes identifying the type of waves present and a solution
sampling procedure to determine the vector . Q(x, t) at any point .(x, t) in the .x-.t
half plane. The solution will be used in Chaps. 9 and 10 for constructing upwind
numerical methods for the general initial-boundary value problem and for assessing
the accuracy of numerical approximations. The Riemann problem is also useful when
applying boundary conditions; even if the numerical solution in the interior of the
domain is found through a centred, non-upwind method, the application of boundary
conditions cannot do without resorting to the notion of Riemann problem, especially
in the case of reflecting solid and moving boundaries. A sound knowledge of the
exact solution is of fundamental value in the designing of approximate Riemann
solvers, as done in Chap. 11, and for judging the correctness of newly proposed
solvers. Useful background is found in Chaps. 2, 4 and 5. The exact solution for
the Riemann problem in the presence of wet/dry fronts is presented in Chap. 7. The
listing of a computer programme for the exact Riemann solver, including both wet
and dry-bed conditions, is given in Chap. 8.
6.6 Exercises
Consider the Riemann problem for the augmented sallow water equations
⎫
PDEs: ∂t Q + ∂x F(Q) = 0 , ⎪
( ⎬
. Q L if x < 0 , (6.36)
ICs: Q(x, 0) = ⎪
⎭
Q R if x > 0 .
For the case of the .x-split two-dimensional shallow water equations the vectors .Q
and .F(Q) are ⎡ ⎤ ⎡ ⎤
h h
.Q = ⎣ hu ⎦ , F(Q) = ⎣ hu 2 + 21 gh 2 ⎦ . (6.37)
hv huv
h = hR ,
. L u L = −u R , vL /= v R . (6.38)
1. Assuming .u L < 0 find the complete solution of the Riemann problem (6.36).
2. Assuming .u L > 0 find the complete solution of the Riemann problem (6.36).
6.2 For initial conditions
h = hR ,
. L u L = −u R + 2Vwall , vL /= v R , (6.39)
1. Assuming .u L < 0 find the complete solution of the Riemann problem (6.36).
2. Assuming .u L > 0 find the complete solution of the Riemann problem (6.36).
References
1. J.J. Stoker, Water Waves: The Mathematical Theory with Applications (Wiley, 1992)
2. E. Marshall, R. Méndez, Computational aspects of the random choice method for shallow water
equations. J. Comput. Phys. 39, 1–21 (1981)
3. S.K. Godunov, Finite difference methods for the computation of discontinuous solutions of the
equations of fluid dynamics. Mat. Sb. 47, 271–306 (1959)
4. E.F. Toro, Riemann problems and the WAF method for solving two-dimensional shallow water
equations. Phil. Trans. Roy. Soc. London A338, 43–68 (1992)
5. E.F. Toro, A fast Riemann solver with constant covolume applied to the random choice method.
Int. J. Numer. Meth. Fluids 9, 1145–1164 (1989)
6. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics. A Practical Intro-
duction, 3rd ed. (Springer, 2009)
7. J. Glimm, Solution in the large for nonlinear hyperbolic systems of equations. Comm. Pure.
Appl. Math. 18, 697–715 (1965)
8. A.J. Chorin, Random choice solutions of hyperbolic systems. J. Comput. Phys. 22, 517–533
(1976)
9. E.F. Toro, L.O. Müller, A. Siviglia, Bounds for wave speeds in the Riemann problem: direct
theoretical estimates. Comput. Fluids 209(104640) (2020)
10. J.H. Mathews, Numerical Methods (Prentice–Hall International, Inc., 1987)
Chapter 7
Exact Riemann Solver: Dry Bed
Abstract In this Chapter we solve the Riemann problem for the split
one-dimensional shallow water equations for the case in which the solution is adja-
cent to dry regions, or vacuum regions, that is when .h(x, y, t) = 0. The boundary
separating regions of water and no water, called the wet/dry front, emerges from the
exact solution of the Riemann problem as the edge (tail) of a strong rarefaction wave,
which is the only wave present in the solution structure. This wet/dry front is a very
fast wave of speed . S = u L + 2a L , for the case of a dry right data state, and is the
source of considerable challenges in computational practice. We solve the Riemann
problem exactly under two conditions: (i) vacuum is present in one of the initial
states at time .t = 0 and (ii) vacuum appears from the interaction of two non-vacuum
states, generating two wet/dry fronts. The solution strategy is then extended to the
split two-dimensional shallow water equations and for the case of pollutant trans-
port models. A computer-programme listing is given in Chap. 8, for the complete
exact Riemann solver that can deal with both wet and dry bed conditions. Useful
background is found in Chaps. 1–6.
7.1 Introduction
In the previous Chap. 6 we solved the Riemann problem exactly for the case in
which the water depth is strictly positive everywhere. In dry regions the water depth
is obviously zero, a perfectly acceptable physical situation, in which the shallow water
equations or any other equations based on the continuum assumption are obviously
not applicable. Now we consider wet regions that are adjacent to dry regions, which
effectively means solving the shallow water equations in the wet regions, right up to
the boundary between wet and dry regions. The simplest case is a horizontal dam
adjacent to a dry horizontal region, see Fig. 7.1. This is indeed a special case of the
Riemann problem.
In this Chapter we solve the Riemann problem for cases in which a dry-bed region
is either present at the initial time or appears as the result of the interaction of two
wet-bed states; see Toro [1]. Formally, the Riemann problem for the one-dimensional
shallow water equations is the initial value problem (IVP)
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 129
E. F. Toro, Computational Algorithms for Shallow Water Equations,
https://doi.org/10.1007/978-3-031-61395-1_7
130 7 Exact Riemann Solver: Dry Bed
Fig. 7.1 The Riemann problem for which one data state has no water (dry bed)
⎫
PDEs: ∂t Q + ∂x F(Q) = 0 , ⎪
⎪
( ⎬
. Q L if x < 0 , (7.1)
ICs: Q(x, 0) = ⎪
⎪
Q R if x > 0 , ⎭
The structure of the solution of Riemann problems in which dry-bed regions are
present is distinct from that of the wet-bed Riemann problem studied in Chap. 6.
In the wet-bed case, for the purely one-dimensional equations, there are always two
wave families and four possible wave patterns. Any attempts at using the wet-bed
Riemann problem structure will naturally fail, simply because the structure of the
solution is different. For instance, in the wet-bed Riemann problem one first finds the
value of the depth .h ∗ in the Star Region. In the dry-bed Riemann problem the star
region does not exist. When using approximate Riemann solvers in methods of the
Godunov type, it is tempting to deal with dry-bed Riemann problems by replacing
the dry states by wet states with very shallow water. But then the solution is different
to that of the original problem. This issue is discussed at some length at the end of
Chap. 11.
In this section we prove an important result concerning the admissible waves con-
necting a wet-bed region with a dry-bed region [1].
Proposition 7.1 A shock wave (bore) cannot be adjacent to a region of dry bed.
Proof Consider the Riemann problem (7.1) for the one-dimensional shallow water
equations with data expressed in terms of physical variables
7.3 Dry Bed: Three Possible Cases 131
[ ] [ ]
hL h0
WL =
. , W R ≡ W0 = , (7.3)
uL u0
such that .W L is the data for a wet-bed portion (.h L > 0) and .W0 is the data for the
dry-bed portion; .h 0 = 0 and .u 0 is arbitrary.
Let us now suppose that .W L and .W0 are connected by a shock wave of speed
. S. Then, application of the Rankine-Hugoniot conditions, in terms of conserved
variables, gives
)
h L u L = h 0 u 0 + S(h L − h 0 ) ,
. (7.4)
h L u 2L + 1
2
gh 2L = h 0 u 20 + 1
2
gh 20 + S(h L u L − h 0 u 0 ) .
As.h 0 = 0, the first equation gives. S = u L , which means that the speed of the assumed
shock wave is identical to the particle velocity behind the shock. Substitution of
. S = u L in the second equation gives .h L = 0, which contradicts our assumption that
the left state is wet (.h L > 0) and the proposition is thus proved. ∎
Remark 7.2 From the result of the previous proposition it follows that a contact
discontinuity can be adjacent to a region of dry bed; this makes perfect physical
sense, as the wave separates a region of water from a region of no water, or vacuum.
Remark 7.3 The particle velocity in the dry bed region .u 0 is arbitrary and can be
set to .u 0 = S. In practice, however, one sets .u 0 = 0 in the understanding that the
particle velocity of nothing should be zero. This choice causes a discontinuity jump
in particle velocity right at the wet/dry front, which might contribute to numerical
difficulties in capturing this feature by numerical means.
There are three cases involving a dry bed, or vacuum. These are illustrated in Fig. 7.2.
Case (a) is where the dry bed is on the initial right-hand side. The solution consists
of a single left rarefaction wave, that is a rarefaction wave associated with the left
eigenvalue .λ1 = u − a. Case (b) is that where the dry bed is on the initial left-hand
side and the solution consists of a single right rarefaction wave associated with the
right eigenvalue .λ2 = u + a. Case (c) is where a dry bed is not present at .t = 0 but
is generated in the interaction of the data states .W L and .W R , if these do not satisfy
the depth-positivity condition
The structure of the general solution is shown in Fig. 7.2a. The expected right shock
is missing from the wave pattern. The absence of a wave corresponding to the wave
family.λ2 = u + a is physically correct as there is no medium (water) for any wave of
this family to propagate through. The solution contains a left rarefaction wave asso-
ciated with .λ1 = u − a, and a contact discontinuity of speed . S∗L ; see the dashed line
on the right-hand side of Fig. 7.2a that coincides with the tail of the rarefaction. The
exact solution follows from the methods developed in Chaps. 4, 5 and 6. Consider
a point . P0 along the wet/dry front (contact discontinuity) and denote respectively by
.ac and .u c the celerity and the particle velocity along the characteristic of speed . S∗L
that coincides with the front
dx
. = S∗L = u c − ac . (7.7)
dt
By connecting.ac and.u c to the data on the left-hand side via the left Riemann invariant
we obtain
.u c + 2ac = u L + 2a L . (7.8)
7.3 Dry Bed: Three Possible Cases 133
See Chap. 5. But along the contact discontinuity .h c = 0, and thus .ac = 0. Hence the
speed of the contact discontinuity is
S
. ∗L = u c = u L + 2a L . (7.9)
Example
Figure 7.3 shows the typical solution profile for depth and particle velocity at a
specified time. Note that the solution for depth is continuous, with a discontinuity in
the .x derivative right at the front, where the particle velocity jumps discontinuously
from the maximum value at the peak to.u 0 = 0 in the dry region. As discussed earlier,
.u 0 could be given a different value, such as .u 0 = u c . Numerically, it is very difficult
Fig. 7.3 Exact solution for a dry-bed Riemann problem, with initial conditions .h L = 1, .h R = 0,
= 0, .u R = 0. The spatial domain is the interval .[0, 10] in meters; the initial discontinuity is
.u L
positioned at .x0 = 5.0 m and the solution is displayed at time .Tout = 0.6 s
134 7 Exact Riemann Solver: Dry Bed
to compute correctly the position of the wet/dry front, which is most evident when
the velocity profile is plotted.
The structure of the exact solution is shown in Fig. 6.2b. The wave associated with
the family .λ1 = u − a is missing. The solution consists of a right rarefaction wave
associated with .λ2 = u + a, whose tail coincides with the wet/dry front, the speed
of which is given by
. S∗R = u R − 2a R . (7.13)
Fig. 7.4 Exact solution for a Riemann problem in which a dry-bed region between two rarefaction
waves results from the interaction of two wet-bed states satisfying condition (7.17). Initial conditions
are.h L = 0.1 m,.h R = 0.1 m,.u L = −3 m/s,.u R = 3 m/s. The spatial domain is the interval.[0, 10]
in meters; the initial discontinuity is positioned at .x0 = 5.0 m and the solution is displayed at time
. Tout = 1 s. This example corresponds to the wave structure shown in Fig. 7.2c
their tails and a new region of dry bed between the rarefaction waves. The complete
solution can be written in terms of the previous two cases as
⎧
⎪ W (x, t) if x/t ≤ S∗L ,
⎨ L0
.W(x, t) = W0 (dry bed) if S∗L ≤ x/t ≤ S∗R , (7.16)
⎪
⎩
W R0 (x, t) if S∗R ≤ x/t ,
(Δu)crit ≡ 2(a L + a R ) ≤ u R − u L .
. (7.17)
Here, the depth positivity condition (7.5) is violated. The reader is encouraged to
verify the above calculations.
Example. Figure 7.4 shows typical solution profiles for depth and particle velocity
for a Riemann problem in which a dry-bed region results from the interaction of
two wet-bed states satisfying the condition (7.17). Note the discontinuity in particle
velocity at the two wet/dry fronts. See Fig. 7.2c.
represent either the tangential velocity component, say.v(x, y, t), or the concentration
of a chemical species. It is also possible to have more advection equations to include
both the tangential velocity and concentrations for species equations. Here we assume
a single advection equation for .ψ(x, t)
∂ ψ + u∂x ψ = 0 .
. t (7.18)
When (7.18) is used in conjunction with the continuity equation in (7.1), it can be
re-written in conservation-law form as follows
∂ (hψ) + ∂x (uhψ) = 0 .
. t (7.19)
For a Riemann problem with dry right-hand side the initial data for the passive scalar
is (
ψL if x < 0 ,
.ψ(x, 0) = (7.20)
ψ R = 0 if x > 0 .
where. S∗L is the speed of the right-facing wet/dry front. See Fig. 7.2a. The distribution
of .ψ(x/t) consists of two uniform states .ψ L and .ψ R = 0, joined by a travelling dis-
continuity of speed . S∗L . When .ψ(x, t) represents the tangential velocity component
.v(x, y, t) this wave is strictly speaking a shear wave. When .ψ(x, t) is the concentra-
tion of a chemical species, then this wave is a contact discontinuity travelling with
the wet/dry front speed . S∗L .
For a Riemann problem with dry left-hand side, the initial data for the passive
scalar is (
ψ L = 0 if x < 0 ,
.ψ(x, 0) = (7.22)
ψR if x > 0 ,
Remark 7.4 A general Riemann solver must include a check on the initial data
to verify the depth positivity condition (7.5) in order to deal with either the wet-
bed Riemann problem of Chap. 6 or with the dry-bed Riemann problem of this
Chapter. Approximate Riemann solvers used in Godunov-type methods should also
include a check on a depth positivity condition, which in all probability will be solver
dependent. For example, in the field of gas dynamics, linearised Riemann solvers will
predict incipient cavitation well before it is predicted by the exact pressure positivity
condition. To my knowledge this problem has not yet been studied in sufficient detail,
for both gas dynamics and shallow water flows.
Remark 7.5 The speed of a wet/dry front is of the form . S∗R = u R − 2a R for a left
dry state and . S∗L = u L + 2a L for a right dry state. These speeds can be larger than
those associated with the eigenvalues.λ1 = u − a and.λ2 = u + a. This has a bearing
on the stability condition implemented in numerical methods. One usually chooses
the time step based on the possible maximum of the eigenvalues in absolute value.
In [2] it is argued that this practice is not entirely correct. In the presence of wet/dry
fronts this practice will most certainly lead to numerical instabilities and for which
the numerical method itself may not be wholly responsible.
7.5 Conclusions
The complete solution to the dry-bed Riemann problem has been presented, which
includes three cases. These exact solutions can be used to assess the performance
of numerical methods to solve problems including wet/dry fronts and also to assist
the construction of Godunov-type methods, in which Riemann problem solutions are
used locally. Useful background is found in Chaps. 2, 4, 5 and 6. Chapter 8 gives the
programme listing for a complete exact Riemann solver that can deal with both wet
and dry bed conditions.
138 7 Exact Riemann Solver: Dry Bed
References
1. E.F. Toro, The dry-bed problem in shallow-water flows. Technical report, College of Aeronautics,
Cranfield Institute of Technology, UK. CoA 9007 (1990)
2. E.F. Toro, L.O. Müller, A. Siviglia, Bounds for wave speeds in the Riemann problem: direct
theoretical estimates. Comput. Fluids 209(104640) (2020)
Chapter 8
Tests with Exact Solution
Abstract In this Chapter we present a suite of carefully selected test problems with
exact solution for the non-linear shallow water equations on a horizontal bottom,
admitting both wet-bed and dry-bed conditions. The purpose of these test problems
is to rigorously assess numerical methods for the general initial-boundary value
problem, against exact solutions for the kind of physical situations that are bound
to be challenging to the numerical modeller. Each of the test problems has been
carefully designed and offers a specific challenge to numerical methods. The exact
solutions will be used to asses the suitability of approximate Riemann solvers and
the accuracy of approximate numerical solutions in successive chapters. A computer
programme listing for the Riemann solvers is given at the end of the chapter, for both
wet and dry-bed conditions. Useful background is found in Chaps. 6 and 7, as well
as in Refs. [1, 2] for the wet-bed case and [3] for the dry-bed case.
8.1 Introduction
This chapter presents a suite of carefully selected test problems for the shallow
water equations with exact solution in the hope that they will be of use to numerical
practitioners involved in the testing of numerical methods or developing code from
scratch, or both. Exact solutions do not abound but when available they should be
used to systematically assess methods and codes. Tests similar to the ones presented
here are chosen by practitioners but often the exact solution is excluded from the
comparisons. Each of the test problems has been carefully designed and offers a
specific challenge to numerical methods. They have not been chosen to show off the
power of particular methods but to challenge the suitability of numerical methods
intended for application to the shallow water equations.
Five test problems for a straight channel of constant rectangular cross-section and
horizontal bed elevation are presented in Table 8.1. In all cases we take a channel of
length .50 m. The initial data in Table 8.1 is given for water depth .h, water particle
velocity .u; .x0 is the position of the initial discontinuity, which simulates a gate
withdrawn at high speed, and .Tout is the output time, at which the solution is to be
displayed.
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 139
E. F. Toro, Computational Algorithms for Shallow Water Equations,
https://doi.org/10.1007/978-3-031-61395-1_8
140 8 Tests with Exact Solution
Table 8.1 Data for five test problems with exact solution. The length of the channel is .50 m, .x0 is
the position of the initial discontinuity and .Tout is the output time in seconds
Test .h L (m) .u L (m/s) .h R (m) .u R (m/s) . x 0 (m) . Tout (s)
Table 8.2 Exact solution in the Start Region for Tests 1 and 2. For Test 1 the guess value for.h ∗ comes
from the two-shock approximation and for Test 2 comes from the two-rarefaction approximation,
which is exact in this case
Test .h ∗ .u ∗ Approximation .h guess Iterations
.1 .0.611753 .3.86398 Two-shock .0.7357571 .2
All five test problems are solved exactly using the exact Riemann solvers presented
in Chap. 6 for the wet-bed case and in Chap. 7 for the dry-bed case, and embodied in
the computer programme given in Sect. 8.9. The exact solutions are obtained from
the following values for the computational parameters:
1. The acceleration due to gravity is .g = 9.8 m/s2 ,
2. The tolerance .T O L in the solver is .T O L = 10−6 ,
3. The maximum number of iterations allowed in the exact solver is . N I T E R = 50,
4. The solution is plotted with . MC E L L S = 500 points.
Table 8.2 shows the values of the exact solution in the Star Region for Tests 1 and
2 for the water depth .h ∗ and the particle velocity .u ∗ , see Chap. 6. These numbers
can also be useful to test numerical methods. Also displayed are the approximations
used as the initial guess for the depth .h in the iterative procedure and the number
of iterations required for convergence. For Test 1 the program uses the two-shock
approximation, see Chap. 11, to provide a guess value for .h ∗ and the solver takes
two iterations for convergence. For Test 2 the guess value is taken from the two-
rarefaction approximation, which for this test is actually the exact solution and thus
the solver goes through the iteration procedure just once.
In Sect. 8.7 we give details of a transformation whereby the inhomogeneous
equations resulting from the inclusion of variable bed elevation with constant slope
become homogeneous, and thus exact solutions are again possible. In Sect. 8.9 we
give the listing of a FORTRAN program to solve the general Riemann problem for
the shallow water equations for both wet and dry bed conditions.
8.3 Test 2: Two Rarefactions and Nearly Dry Bed 141
Fig. 8.1 Exact solution to Test 1 at time .Tout = 7.0 s; initial discontinuity is at .x0 = 10.0 m. See
Table 8.1
The initial data for this test have been chosen so as to produce a strong right prop-
agating shock wave and a critical or transcritical left rarefaction wave. Figure 8.1
shows profiles of water depth and particle velocity at the output time .Tout = 7.0 s.
When using this test problem to assess a numerical method one expects the correct
numerical resolution of the shock wave. Items to watch include (i) correct speed of
propagation, (ii) correct strength of the jump, (iii) width of the shock layer and (iv)
absence (or otherwise) of spurious oscillations in the vicinity of the shock. The other
important feature of this test is the critical, or transcritical left rarefaction wave;
that is the left eigenvalue .λ1 = u − a changes from a negative to a positive value
as the wave is crossed from left to right. Then, obviously .λ1 goes through the value
.λ1 = u − a = 0, that is .u = a, hence the particle velocity equals the celerity. This
Test 2 has chosen initial data such that the solution consists of two strong rarefaction
waves travelling in opposite directions. The water in the Star Region between these
waves is very shallow, small .h. There are good numerical reasons for choosing this
142 8 Tests with Exact Solution
Fig. 8.2 Exact solution to Test 2 at at time .Tout = 2.5 s; initial discontinuity is at .x0 = 25.0 m. See
Table 8.1
test. It is well known that a large class of methods will compute a negative depth .h
in the vicinity of very shallow water produced by strong rarefactions; such situation
may lead codes to crash when attempting to compute the celerity. Figure 8.2 shows
solution profiles for water depth and particle velocity at the output time .Tout = 2.5 s.
See Table 8.2 for solution values .h ∗ and .u ∗ in the Star Region.
This test problem has data containing a dry-bed right state. As seen in Chap. 7, the
solution consists of a single left rarefaction wave, associated with the left eigen-
value .λ1 = u − a, with the wet/dry front attached to the tail of the rarefaction wave.
Numerical methods will experience difficulties in capturing the wet/dry front. One
major difficulty is to propagate the front at the correct speed. My experience is that
the resulting position error grows with time. Thus in a real application in which such
fronts are to be propagated by .10–.20 km, say, the propagation speed and thus the
predicted wave arrival time will suffer from considerable errors, rendering the predic-
tions unreliable or even useless. Methods based on Riemann problems have another
difficulty; strictly speaking, they require a special modification of the appropriate
Riemann solvers in order to account correctly for the wave structure that emerges;
see Chap. 7. Riemann solvers derived on the assumption that the bed is wet through-
out are incorrect for this problem. As the velocity experiences a jump at the front,
numerical methods tend to produce spurious oscillations in the vicinity of the front,
even some good high-resolution non-linear methods. Figure 8.3 shows exact profiles
of depth and particle velocity at time .Tout = 4.0 s. Numerical practitioners occasion-
ally display results for momentum .hu, rather than velocity .u. In this case, numerical
results, as compared with the exact solution, may look quite satisfactory [1].
8.6 Test 5: Generation of a Dry-Bed Region 143
Fig. 8.3 Exact solution to Test 3 at at time .Tout = 4.0 s; initial discontinuity is at .x0 = 20.0 m. See
Table 8.1
Fig. 8.4 Exact solution to Test 4 at at time .Tout = 4.0 s; initial discontinuity is at .x0 = 30.0 m. See
Table 8.1
This test problem is the mirror image of Test 3 above, see Table 8.1. It is sometimes
advisable to run codes on problems with mirror-image data to see if the expected
symmetries are reproduced. Figure 8.4 shows profiles of depth and particle velocity
at time .Tout = 4.0 s.
The data states for this test have been chosen in such a way as to produce a solution
consisting of two rarefaction waves with a portion of dry bed between them; see
Table 8.1. The data does not satisfy the depth-positivity condition
2(a L + a R ) > u R − u L ,
. (8.1)
144 8 Tests with Exact Solution
Fig. 8.5 Exact solution to Test 5 at at time .Tout = 5.0 s; initial discontinuity is at .x0 = 25.0 m. See
Table 8.1
discussed in Chaps. 6 and 7. For this example .2(a L + a R ) < u R − u L , as the reader
can easily verify from Table 8.1. Figure 8.5 shows profiles of depth and particle
velocity at time .Tout = 5.0 s. Based on the discussion for Tests 3 and 4, numerical
methods are bound to experience serious difficulties in resolving the flow, particularly
the two wet/dry fronts travelling in opposite directions.
This section devises test problems with exact solution for the case in which a rect-
angular channel of constant cross-sectional area has variable bed elevation but with
constant slope. To this end, we follow the work of Watson, Peregrine and Toro [4].
Adopting subscripts for partial derivatives, the governing equations are
h + (hu)x = 0,
. t (8.2)
α = −bx .
. (8.4)
h + uh x + hu x = 0
. t (8.5)
and
u + uu x + gh x = gα.
. t (8.6)
8.7 Test Problems with Constant Slope 145
See Chap. 4. Following Watson et al. [4] we make the change of variables
⎫
χ= x − 21 gαt 2 , ⎪
⎪
τ = t, ⎬
. (8.7)
û = u − αgt, ⎪ ⎪
⎭
ĥ = h.
Assuming that the slope .α = constant, it is easy to check that for any quantity .ψ
one has )
ψt = ψτ − gαtψχ ,
. (8.8)
ψ x = ψχ .
ĥ + û ĥ χ + ĥ û χ = 0
. τ (8.12)
and
. τ û + û û χ + g ĥ χ = 0. (8.13)
This new system (8.12)–(8.13) is exactly as the original shallow water equations
(8.6)–(8.7), but now without explicit presence of the source term.
One can now design test problems with exact solutions, including rarefactions,
shocks and a constant slope, by utilising the exact Riemann solvers of Chaps. 6 and
7 for the homogenous equations and then reinterpret the solution according to (8.7)
to account for the effect of the slope.
146 8 Tests with Exact Solution
A suite of carefully selected test problems with exact solution, admitting both wet-
bed and dry-bed conditions, has been presented. The purpose of these test problems
is to rigorously assess numerical methods for the general initial-boundary value
problem, against exact solutions for the kind of physical situations that are bound
to be challenging to the numerical modeller. Each of the test problems has been
carefully designed and offers a specific challenge to numerical methods. The exact
solutions will be used to asses the suitability of approximate Riemann solvers and
the accuracy of approximate numerical solutions in successive chapters.
Not included in these test problems is the case that contains linearly degenerate
characteristic fields. These are associated with intermediate contact discontinuity
waves in the transport of chemical species in one or two-dimensional shallow water
models. These characteristic fields are also associated with vortical flows, in which
the tangential velocity component jumps discontinuously across the shear wave.
In both cases numerical methods experience serious difficulties in resolving these
slowly moving discontinuous features. Two difficulties may be present: excessive
numerical dissipation and spurious oscillations. In Chap. 12 we add an intermediate
characteristic field to Tests 1 and 2 of Table 8.1.
A computer programme listing for the Riemann solvers is given in the Sect. 8.9,
for both wet and dry-bed conditions. Useful background for this chapter is found in
Chaps. 6 and 7, as well as in Refs. [1, 2] for the wet-bed case and [3] for the dry-bed
case.
The listing of computer program to compute the exact solution of the Riemann
problem for the non-linear one-dimensional time-dependent shallow water equations
is now given. The input data file is called datain.ini and the output is written
to result.out. Figure 8.6 shows a flow chart of the complete program. The main
program calls either the routine: DRYBED or WETBED, depending on whether dry
bed conditions are present in the solution or not. In the case of a dry bed portion
being present, DRYBED will call DRYLEF if the left state is dry at time .t = 0, or
DRYMID if the middle state is dry at time .t > 0 when the initial data does not obey
the depth-positivity condition, or DRYRIG if the right state is dry at time .t = 0. If
the bed is wet throughout in space and time then the subroutine WETBED is called.
This will in turn call STARTE, which provides a starting value for the depth .h ∗ in
the Star Region. Then the solution for .h ∗ is computed iteratively, after which the
solution for .u ∗ is evaluated. The complete solution is then sampled by calling the
routine SAMWET. This last routine can also be used to sample the solution when
using the exact Riemann solver locally in the Random Choice Method (RCM) of
Glimm [5, 6], or the Godunov method [7]. For Glimm’s method one calls SAMWET
8.9 Computer Program for the Exact Riemann Solver 147
with . S = θx/t, where .θ is a random number. See Chaps. 9 and 10 for details on these
numerical methods.
C----------------------------------------------------------C
C C
C EXACT RIEMANN SOLVER FOR C
C THE SHALLOW WATER EQUATIONS C
C C
C Name of program: HW-SWRPEXACT C
C Purpose: to solve exactly the general Riemann C
C problem for the one-dimensional shallow C
C water equations for wet and dry bed C
C conditions C
C Programer: E. F. Toro C
C Last revision: May 21st 2000 C
C C
C Theory is found in Chapters 6 and 7 C
C C
C This program is part of HYPER-WAT, C
C a sub-library of C
C C
C NUMERICA C
C A Library of Source Codes for C
C Teaching, Research and Applications C
C by E. F. Toro C
C C
C----------------------------------------------------------C
148 8 Tests with Exact Solution
*
IMPLICIT NONE
*
C Declaration of variables
*
REAL CHALEN,CL,CR,DCRIT,DL,DR,GATE,GRAVIT,TIMOUT,
& TOL,UL,UR
*
INTEGER MCELLS, NITER
*
COMMON /STATES/ CL, DL, UL, CR, DR, UR
COMMON /ACCELE/ GRAVIT
COMMON /TOLERA/ NITER, TOL
COMMON /DOMAIN/ CHALEN, GATE, MCELLS, TIMOUT
*
C Initial data and computational parameters are read in
*
OPEN(UNIT=1,FILE=’datain.ini’,STATUS=’UNKNOWN’)
*
READ(1,*)CHALEN ! length of channel
READ(1,*)GATE ! position of gate
READ(1,*)GRAVIT ! acceleration due to gravity
READ(1,*)MCELLS ! number of cells in profile
READ(1,*)TOL ! tolerance for convergence test
READ(1,*)NITER ! iterations in exact solver
READ(1,*)TIMOUT ! output time
READ(1,*)DL ! depth on left reservoir
READ(1,*)UL ! velocity in left reservoir
READ(1,*)DR ! depth in right reservoir
READ(1,*)UR ! velocity in right reservoir
*
CLOSE(1)
*
C Compute celerity on left and right states
*
CL = SQRT(GRAVIT*DL)
CR = SQRT(GRAVIT*DR)
*
C Use the "depth positivity condition" to identify
C type of data and thus of solution and to call
C appropriate exact solver
*
DCRIT = (UR-UL) - 2.0*(CL+CR)
*
IF(DL.LE.0.0.OR.DR.LE.0.0.OR.DCRIT.GE.0.0)THEN
8.9 Computer Program for the Exact Riemann Solver 149
*
C Dry bed cases
*
CALL DRYBED
*
ELSE
*
C Wet bed case
*
CALL WETBED
*
ENDIF
*
C Results are printed out
*
CALL OUTPUT
*
END
*
*----------------------------------------------------------*
*
SUBROUTINE OUTPUT
*
C Purpose: to output exact solution at chosen
C output time TIMOUT
*
IMPLICIT NONE
*
C Declaration of variables
*
INTEGER MX, I, MCELLS
*
REAL D, U,CHALEN,GATE,TIMOUT,XCOORD
*
PARAMETER (MX = 3000)
*
DIMENSION D(MX), U(MX)
*
COMMON /SOLUTI/ D, U
COMMON /DOMAIN/ CHALEN, GATE, MCELLS, TIMOUT
*
OPEN(UNIT=1,FILE=’result.out’,STATUS=’UNKNOWN’)
*
DO 10 I = 1, MCELLS
XCOORD = REAL(I)*CHALEN/REAL(MCELLS)
150 8 Tests with Exact Solution
*
C Store starting value in D0
*
D0 = DS
*
C Start iteration
*
WRITE(6,*)’ IT ’,’ DS ’, ’ CHA ’
WRITE(6,*)
DO 10 IT = 1, NITER
*
CALL GEOFUN(FL,FLD,DS,DL,CL)
CALL GEOFUN(FR,FRD,DS,DR,CR)
DS = DS - (FL + FR + UR-UL)/(FLD + FRD)
CHA = ABS(DS-D0)/(0.5*(DS+D0))
WRITE(6,30)IT,DS,CHA
IF(CHA.LE.TOL)GOTO 20
IF(DS.LT.0.0)DS = TOL
D0 = DS
*
10 CONTINUE
*
WRITE(6,*)’Number of NITER iterations exceeded,
& STOP’
*
STOP
*
20 CONTINUE
30 FORMAT(I6,2X,2(F12.7,2X))
*
C Converged solution for depth DS in Star Region.
C Compute velocity US in Star Region
*
US = 0.5*(UL + UR) + 0.5*(FR - FL)
*
WRITE(6,*)
WRITE(6,*)’Depth in Star Region h* =’,DS
WRITE(6,*)’Velocity in Star Region u* =’,US
WRITE(6,*)
*
CS = SQRT(GRAVIT*DS)
*
C Evaluate exact solution at time TIMOUT
*
DO 40 I = 1, MCELLS
152 8 Tests with Exact Solution
*
XCOORD = REAL(I)*CHALEN/REAL(MCELLS) - GATE
S = XCOORD/TIMOUT
*
C Sample solution throughout wave structure at
C time TIMOUT
*
CALL SAMWET(DSAM,USAM,S)
*
C Store solution
*
D(I) = DSAM
U(I) = USAM
*
40 CONTINUE
*
END
*
*----------------------------------------------------------*
*
SUBROUTINE GEOFUN(F,FD,D,DK,CK)
*
C Purpose: to evaluate functions FL, FR and their
C derivatives in iterative Riemann solver,
C for wet-bed case.
*
IMPLICIT NONE
*
C Declaration of variables
*
REAL C,CK,D,DK,F,FD,GES,GRAVIT
*
COMMON /ACCELE/ GRAVIT
*
IF(D.LE.DK)THEN
*
C Wave is rarefaction wave (or depression)
*
C = SQRT(GRAVIT*D)
F = 2.0*(C-CK)
FD = GRAVIT/C
ELSE
*
C Wave is shock wave (or bore)
*
8.9 Computer Program for the Exact Riemann Solver 153
GES = SQRT(0.5*GRAVIT*(D+DK)/(D*DK))
F = (D-DK)*GES
FD = GES - 0.25*GRAVIT*(D-DK)/(GES*D*D)
ENDIF
*
END
*
*----------------------------------------------------------*
*
SUBROUTINE STARTE
*
C Purpose: to provide starting value for Newton-Raphson
C iteration. The Two-Rarefaction Riemann
C Solver (TRRS) and Two-Shock Riemann Solver
C (TSRS) are used adaptively
*
IMPLICIT NONE
*
C Declaration of variables
*
REAL CL,CR,CS,DL,DMIN,DR,DS,GEL,GER, GRAVIT,
& UL,UR,US
*
COMMON /STATES/ CL, DL, UL, CR, DR, UR
COMMON /STARSO/ CS, DS, US
COMMON /ACCELE/ GRAVIT
*
DMIN = MIN(DL,DR)
*
C Use Two-Rarefaction (TRRS) solution as starting value
*
DS = (1.0/GRAVIT)*(0.5*(CL+CR)-0.25*(UR-UL))**2
*
IF(DS.LE.DMIN)THEN
*
C Use Two-Rarefaction (TSRS) approximation as
C starting value
*
WRITE(6,*)’TR approximation, h* =’,DS
ELSE
*
C Use two-shock (TSRS) solution as starting value
C with DS as computed from TRRS as estimate
*
WRITE(6,*)’TS approximation, h* =’,DS
154 8 Tests with Exact Solution
*
GEL = SQRT(0.5*GRAVIT*(DS+DL)/(DS*DL))
GER = SQRT(0.5*GRAVIT*(DS+DR)/(DS*DR))
DS = (GEL*DL + GER*DR - (UR-UL))/(GEL + GER)
*
ENDIF
WRITE(6,*)
*
END
*
*----------------------------------------------------------*
*
SUBROUTINE SAMWET(D,U,S)
*
C Purpose: to sample solution through wave structure at
C TIMOUT for wet-bed case
*
IMPLICIT NONE
*
C Declaration of variables
*
REAL C,CL,CR,CS,D,DL,DR,DS,GRAVIT,QL,QR,S,SHL,
& SHR,SL,SR,STL,STR,U,UL,UR,US
*
COMMON /STATES/ CL, DL, UL, CR, DR, UR
COMMON /STARSO/ CS, DS, US
COMMON /ACCELE/ GRAVIT
*
IF(S.LE.US)THEN
********************************************
C Sample left wave
********************************************
IF(DS.GE.DL)THEN
*
C Left shock
*
QL = SQRT((DS + DL)*DS/(2.0*DL*DL))
SL = UL - CL*QL
*
IF(S.LE.SL)THEN
*
C Sample point lies to the left of the shock
*
D = DL
U = UL
8.9 Computer Program for the Exact Riemann Solver 155
ELSE
*
C Sample point lies to the right of the shock
*
D = DS
U = US
ENDIF
ELSE
*
C Left rarefaction
*
SHL = UL - CL
*
IF(S.LE.SHL)THEN
*
C Sample point lies to the right of the
C rarefaction
*
D = DL
U = UL
ELSE
*
STL = US - CS
*
IF(S.LE.STL)THEN
*
C Sample point lies inside the rarefaction
*
U = (UL + 2.0*CL + 2.0*S)/3.0
C = (UL + 2.0*CL - S)/3.0
D = C*C/GRAVIT
ELSE
*
C Sample point lies in the STAR region
*
D = DS
U = US
ENDIF
ENDIF
ENDIF
*
ELSE
********************************************
C Sample right wave
********************************************
156 8 Tests with Exact Solution
*
IF(DS.GE.DR)THEN
*
C Right shock
*
QR = SQRT((DS + DR)*DS/(2.0*DR*DR))
SR = UR + CR*QR
*
IF(S.GE.SR)THEN
*
C Sample point lies to the right of the shock
*
D = DR
U = UR
ELSE
*
C Sample point lies to the left of the shock
*
D = DS
U = US
ENDIF
*
ELSE
*
C Right rarefaction
*
SHR = UR + CR
*
IF(S.GE.SHR)THEN
*
C Sample point lies to the right of the
C rarefaction
*
D = DR
U = UR
ELSE
*
STR = US + CS
*
IF(S.GE.STR)THEN
*
C Sample point lies inside the rarefaction
*
U = (UR - 2.0*CR + 2.0*S)/3.0
C = (-UR + 2.0*CR + S)/3.0
8.9 Computer Program for the Exact Riemann Solver 157
D = C*C/GRAVIT
ELSE
*
C Sample point lies in the STAR region
*
D = DS
U = US
ENDIF
ENDIF
ENDIF
ENDIF
*
END
*
*----------------------------------------------------------*
*
SUBROUTINE DRYBED
*
C Pupose: to compute the exact solution in the case
C in which a portion of dry bed is present
*
IMPLICIT NONE
*
C Declaration of variables
*
INTEGER I,MCELLS,MX
*
REAL CHALEN,CL,CR,D,DL,DR,DSAM,GATE,S,TIMOUT,
& U,UL,UR,USAM,XCOORD
*
PARAMETER (MX = 3000)
*
DIMENSION D(MX), U(MX)
*
COMMON /SOLUTI/ D, U
COMMON /STATES/ CL, DL, UL, CR, DR, UR
COMMON /DOMAIN/ CHALEN, GATE, MCELLS, TIMOUT
*
DO 10 I = 1, MCELLS
*
XCOORD = REAL(I)*CHALEN/REAL(MCELLS) - GATE
S = XCOORD/TIMOUT
C
IF(DL.LE.0.0)THEN
*
158 8 Tests with Exact Solution
*
C Sampling point lies to the right of the
C rarefaction
*
D = DR
U = UR
ELSE
*
STR = UR-2.0*CR
*
IF(S.GE.STR)THEN
*
C Sampling point lies inside the rarefaction
*
U = ( UR - 2.0*CR + 2.0*S)/3.0
C = (-UR + 2.0*CR + S)/3.0
D = C*C/GRAVIT
ELSE
*
C Sampling point lies in dry-bed state
*
D = DL
U = UL
ENDIF
ENDIF
*
END
*
*----------------------------------------------------------*
*
SUBROUTINE SAMMID(D,U,S)
*
C Purpose: to sample the solution through the wave
C structure at time TIMOUT, for the case in
C which the middle state is dry. Solution
C consists of a left and a right rarefaction
C with a dry portion in the the middle
*
IMPLICIT NONE
*
C Declaration of variables
*
REAL C,CL,CR,D,DL,DR,GRAVIT,S,SHL,SHR,SSL,SSR,
& U,UL,UR
*
160 8 Tests with Exact Solution
IF(S.GT.SHR)THEN
*
C Sampling point lies to the right of the right
C rarefaction
*
D = DR
U = UR
ENDIF
*
END
*
*----------------------------------------------------------*
*
SUBROUTINE SAMRIG(D,U,S)
*
C Purpose: to sample the solution through the wave
C structure at time TIMOUT, for the case in
C which the right state is dry. Solution
C consists of single left rarefaction
*
IMPLICIT NONE
*
C Declaration of variables
*
REAL C,CL,CR,D,DL,DR,GRAVIT,S,SHL,STL,U,UL,UR
*
COMMON /STATES/ CL, DL, UL, CR, DR, UR
COMMON /ACCELE/ GRAVIT
*
SHL = UL - CL
*
IF(S.LE.SHL)THEN
*
C Sampling point lies to the left of the rarefaction
*
D = DL
U = UL
ELSE
*
STL = UL + 2.0*CL
*
IF(S.LE.STL)THEN
*
C Sampling point lies inside the rarefaction
*
162 8 Tests with Exact Solution
References
1. E.F. Toro, A fast Riemann solver with constant covolume applied to the random choice method.
Int. J. Numer. Meth. Fluids 9, 1145–1164 (1989)
2. E.F. Toro, Riemann problems and the WAF method for solving two-dimensional shallow water
equations. Phil. Trans. Roy. Soc. London A338, 43–68 (1992)
3. E.F. Toro, The dry-bed problem in shallow-water flows. Technical report, College of Aeronautics,
Cranfield Institute of Technology, UK. CoA 9007 (1990)
4. G. Watson, D. H. Peregrine, and E. F. Toro. Numerical solution of the shallow water equations
on a beach using the weighted average flux method, in Computational Fluid Dynamics, vol. 1
(Elsevier, 1992), pp. 495–502
5. J. Glimm, Solution in the large for nonlinear hyperbolic systems of equations. Comm. Pure.
Appl. Math. 18, 697–715 (1965)
6. A.J. Chorin, Random choice solutions of hyperbolic systems. J. Comput. Phys. 22, 517–533
(1976)
7. S.K. Godunov, Finite difference methods for the computation of discontinuous solutions of the
equations of fluid dynamics. Mat. Sb. 47, 271–306 (1959)
Chapter 9
Notions on Numerical Methods
This chapter is concerned with some fundamentals on numerical methods for partial
differential equations of hyperbolic type, such as the shallow water equations, the
system of specific interest in this book. Here we introduce some basic concepts on
numerical discretisation methods for hyperbolic equations, all based on the simplest
equation, namely the linear advection equation (LAE). To this end we first consider
the initial-boundary value problem (IBVP) for LAE
⎫
PDE: ∂t q + λ∂x q = 0 , x ∈ [a, b] , t > 0 , ⎪
⎬
. IC: q(x, 0) = h(x) , x ∈ [a, b] , t = 0 , (9.1)
⎪
⎭
BCs: q(a, t) = b L (t) ; q(b, t) = b R (t) , t ≥ 0 .
Here .[a, b] defines the spatial domain; .h(x) is the initial condition (IC) at the initial
time .t = 0, a prescribed function of .x; .b L (t) and .b R (t) are prescribed functions of
time and define boundary conditions (BCs) at .x = a (left) and at .x = b (right).
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 163
E. F. Toro, Computational Algorithms for Shallow Water Equations,
https://doi.org/10.1007/978-3-031-61395-1_9
164 9 Notions on Numerical Methods
One approach to solve problem (9.1) is by the method of finite differences, which
requires the following steps:
1. Partition of the spatial domain .[a, b] into . M + 2 equidistant points
b−a
x = a + iΔx , i = 0, . . . , M + 1 , Δx =
. i . (9.2)
M +1
M is a chosen positive integer and .Δx is the mesh spacing. Figure 9.1 illustrates
.
a finite difference mesh. There are . M interior points: .x1 , x2 , . . . , x M ; and two
boundary points: .x0 = a and .x M+1 = b.
2. Partition of the temporal domain .[0, Tout ] into a set of time points, or time levels,
See Fig. 9.1. Here .t0 = 0: initial time; .Tout = Δt Nout ; .Δt: time step. We assume
a fixed relationship between .Δt and .Δx of the form
Δx = Δt × K , K > 0 : constant .
. (9.4)
The spatial mesh parameter .Δx is chosen through the choice of . M, that is, the
number of interior points. There are no particular constraints in choosing . M. The
choice of the time step .Δt is constrained by accuracy or stability considerations
[1–3].
Fig. 9.1 Finite difference mesh defining a set of discrete points .(xi , tn ) resulting from partitions
of the spatial .x and temporal .t domains
9.1 Numerical Approximation of Hyperbolic Equations 165
The continuous domain .[a, b] × [0, ∞) has been replaced by a mesh made up of
a finite number of points .(xi , tn ). We now need to replace the continuous distribution
of the function .q(x, t) by a finite number of discrete values .q(xi , tn ) associated with
these points. Then in order to solve the differential equation in this discrete setting we
also need to represent in discrete form the partial derivatives .∂t q(x, t) and .∂x q(x, t)
in (9.1). Here we do so by finite difference approximations. In this manner the partial
differential equation is represented by difference equations, expressions that relate
approximate discrete values of the solution at neighbouring points. The differential
operator is replaced by a numerical operator, as we shall see.
Consider the generic point .(xi , tn ) of the mesh, as shown in Fig. 9.1. We seek an
approximation to .q(xi , tn ) and this will be denoted by .qin , that is
q n ≈ q(xi , tn ) .
. i (9.5)
The temporal partial derivative .∂t q(x, t) can be approximated in a variety of ways,
such as
⎧
⎪
⎪ q(xi , tn+1 ) − q(xi , tn )
⎪
⎪ + O(Δt) , Forward ,
⎪
⎪ Δt
⎨
q(xi , tn ) − q(xi , tn−1 )
.∂t q(x i , tn ) = + O(Δt) , Backward , (9.6)
⎪
⎪ Δt
⎪
⎪
⎪
⎪ q(xi , tn+1 ) − q(xi , tn−1 )
⎩ + O(Δt 2 ) , Centred .
2Δt
Analogously, for the spatial partial derivative .∂x q(x, t) in (9.1) at the point .(xi , tn )
we write
⎧
⎪
⎪ q(xi+1 , tn ) − q(xi , tn )
⎪
⎪ + O(Δx) , Forward ,
⎪
⎪ Δx
⎨
q(xi , tn ) − q(xi−1 , tn )
.∂ x q(x i , tn ) = + O(Δx) , Backward , (9.7)
⎪
⎪ Δx
⎪
⎪
⎪
⎪ q(xi+1 , tn ) − q(xi−1 , tn )
⎩ + O(Δx 2 ) , Centred .
2Δx
which when applied to the function.q(x, t) at the point.(xi , tn ) of the mesh, for.λ > 0,
becomes
⎫
L e (q(xi , tn )) = ∂t q(xi , tn ) + λ∂x q(xi , tn ) ⎪
⎪
⎪
q(xi , tn+1 ) − q(xi , tn ) ⎪
⎪
⎪
⎬
= + O(Δt)
. Δt (9.10)
q(xi , tn ) − q(xi−1 , tn ) ⎪
⎪
+λ[ ⎪
] + O(Δx) ⎪
Δx ⎪
⎪
⎭
=0.
λΔt ( n )
q n+1 = qin −
. i qi − qi−1
n
. (9.12)
Δx
In this explicit method the unknown at the new time level n+1 is .qin+1 , on the left
hand side. All terms on the right-hand side at time level .n are known.
It is convenient to introduce the Courant-Friedrichs-Lewy number, or CFL
number, or simply Courant number, defined as
λΔt λ
c=
. = . (9.13)
Δx Δx/Δt
This is a dimensionless quantity, it is the ratio of two speeds, the speed .λ in the PDE
in (9.1) and the mesh speed .Δx/Δt. Then the Godunov upwind scheme (9.12) for
.λ > 0 becomes
( )
n+1
.qi = qin − c qin − qi−1 n
. (9.14)
Figure 9.2 displays the stencil of scheme (9.14), which is the set of points of the
mesh that contribute to the scheme. The reader can easily verify that for .λ < 0 the
Godunov upwind scheme reads
( n )
q n+1 = qin − c qi+1
. i − qin , (9.15)
Substitution of these into the PDE, suppressing error terms and replacing exact values
by approximate values, yields
( n n )
qin+1 − qi−1
n
q − qi−1
. + λ i+1 =0. (9.17)
Δt 2Δx
By solving for .qin+1 and using the CFL number we obtain the FTCS numerical
scheme
1
n+1
.qi = qin − c(qi+1
n
− qi−1
n
). (9.18)
2
Figure 9.3 shows the stencil for the FTCS numerical scheme. Unfortunately, FTCS
is useless; it is unconditionally unstable. For the definition of stability of a scheme we
recommend any book on numerical methods for evolutionary PDEs; see for example
[1–3].
FTCS uses the same approximation to the time derivative as the Godunov method,
but the spatial derivative is approximated via a centred, second-order accurate, dis-
cretization. Naively, one would have expected a better method than Godunov’s
upwind method. There are two ways to rescue FTCS. One modification results in the
explicit Lax-Friedrichs scheme. The other way is to resort to an implicit version.
The Lax-Friedrichs method results from replacing .qin in the approximation to the
time derivative of FTCS in (9.18) by a mean value of its closest neighbours, that is
1 n
q n −→
. i (q + qi+1
n
).
2 i−1
Then
( n n )
qin+1 − 21 (qi−1
n
+ qi+1
n
) q − qi−1
. + λ i+1 =0, (9.19)
Δt 2Δx
9.1 Numerical Approximation of Hyperbolic Equations 169
1 1
q n+1 =
. i (1 + c)qi−1
n
+ (1 − c)qi+1
n
. (9.20)
2 2
The Lax-Wendroff method [6] is constructed through a different approach, via the
following steps:
1
q(xi , tn+1 ) = q(xi , tn ) + Δt∂t q(xi , tn ) + Δt 2 ∂t(2) q(xi , tn ) + O(Δt 3 ) .
.
2
(9.21)
2. By means of the Cauchy-Kovalevskaya procedure (or Lax-Wendroff procedure,
as is sometimes called) one uses the PDE in (9.1) to replace time derivatives by
space derivatives
1
q(xi , tn+1 ) = q(xi , tn ) − Δtλ∂x q(xi , tn ) + Δt 2 λ2 ∂x(2) q(xi , tn ) + O(Δt 3 )
.
2
(9.24)
170 9 Notions on Numerical Methods
5. Finally, by substituting (9.25) into (9.24), neglecting truncation errors and replac-
ing exact values .q(xi , tn ) by approximate values .qin one obtains the Lax-Wendroff
scheme
1 1
n+1
.qi = c(1 + c)qi−1 n
+ (1 − c2 )qin − c(1 − c)qi+1 n
. (9.26)
2 2
Here we briefly review some basic properties of numerical methods in the terms of
the model linear advection equation.
General form of a scheme and examples. All explicit schemes studied so far can
be written in the general form
q n+1 = H (qi−l
. i
n
, . . . , qin , . . . , qi+r
n
), (9.27)
is a point-wise value that approximates the true solution .q(x, t) at the mesh point
(xi , tn ), with .xi = iΔx, .tn = nΔt.
.
Example 9.1 The Godunov upwind method in finite difference form. When the
Godunov scheme (9.14)–(9.15) is written as in (9.27), the function . H takes the
following forms: )
For λ > 0 : H = cqi−1
n
+ (1 − c)qin ,
. (9.29)
For λ < 0 : H = (1 + c)qin − cqi+1
n
.
Linear Schemes
Linear schemes are a special class of schemes (9.27) for the linear advection equation
in (9.1), defined by the form
∑
k=r
q n+1 =
. i
n
bk qi+k , (9.30)
k=−l
in which the coefficients .bk are constant, that is, they do not depend on the solution.
For example, for the Godunov finite difference method we have two cases:
1. For .λ > 0: .l = 1, .r = 0, .b−1 = c and .b0 = 1 − c.
2. For .λ < 0: we have .l = 0, .r = 1, .b0 = 1 + c, .b1 = −c.
A special class of schemes are three-point schemes of the form
Table 9.1 lists a selection of well-known three-point schemes, their coefficients and
some of their properties. For more details on these see [2].
Table 9.1 Three-point schemes. Coefficients.bk , monotonicity and linear stability limit.Clim . Sym-
bol * denotes unconditional instability. For background on all the methods listed see [2]
Scheme .b−1 .b0 .b1 Monotone .Clim
. (1 + c)
2 (1 − c)
1 1
Lax- 2 0 . Yes 1
Friedrichs
Lax-Wendroff . 21 (1 + c)c .1 − c2 .−
2 (1 − c)c
1
No 1
. (1 + c) . (1 + c ) . (1 − c)
1 2 1 2 1 2
FORCE 4 2 4 Yes 1
Godunov .c .1 −c .0 Yes 1
upwind
√
. (1 + 2c)c − 2c2 .−
2 (1 − 2c)c
1 1 1
Godunov 2 .1 No .
2 2
centred
.−
1 1
FTCS .
2 .1
2 No *
172 9 Notions on Numerical Methods
Definition 9.2 (Monotone scheme) A numerical scheme of the form (9.27) is called
monotone if . H satisfies
∂
. H (qi−l
n
, qi−l+1
n
, . . . , qin , . . . , qi+r
n
) ≥ 0 , i −l ≤ k ≤ i +r . (9.32)
∂qkn
Remark a linear scheme is monotone if and only if all its coefficients are non-
negative. This follows from the definitions of linear schemes and monotonicity.
Theorem 9.3 (A shortcut to accuracy) A linear scheme of the form (9.30) is . p-th
order accurate in space and time (. p ≥ 0) in the sense of local truncation error, if
and only if
∑
r
. k η bk = (−c)η , η = 0, 1, . . . , p , (9.33)
k=−l
Proof For the proof and extensions to two and three dimensions see [2, 7]. ∎
Example 9.4 (The Godunov upwind finite difference method) For .λ > 0 the scheme
is
n+1
.qi = H (qi−l
n
, qin ) = cqi−l
n
+ (1 − c)qin . (9.34)
This merely says that the sum of the coefficients of the scheme is unity.
η=1 :
. (−1)1 × c + 01 × (1 − c) = −c = (−c)1 .
Therefore the Godunov upwind scheme is first-order accurate. But just for curiosity
let us try:
.η = 2 : (−1)2 × c + 02 × (1 − c) = c /= (−c)2 .
Hence the Godunov scheme is not second-order accurate, except for the trivial cases
c = 0 and .c = 1.
.
Theorem 9.5 (Godunov’s Theorem [5]) There are no monotone, linear schemes
(9.30) for the linear advection equation in (9.1) with constant .λ, of accuracy two or
higher.
9.2 Basic Properties of Numerical Methods 173
Proof It is sufficient to prove that there is no second order, linear, monotone method
for LAE. Proceed by contradiction and assume there is a second order, linear, mono-
tone method for LAE. From the accuracy theorem (9.33) we must have:
⎧
∑
r ⎨ s0 = 1 , η = 0 ,
.sη = k η bk = s1 = −c , η = 1 , (9.35)
⎩
k=−l s2 = c 2 , η = 2 .
But, in particular, from (9.35) plus some algebraic manipulations one obtains
⎫
∑
r
⎪
s2 = 2 ⎪
⎪
k bk ⎪
⎪
⎪
⎪
k=−l ⎪
⎪
∑ r ∑ r ∑ r ⎬
. = (k + c)2 bk − 2c kbk − c2 bk (9.36)
⎪
⎪
[ r
k=−l ] k=−l k=−l ⎪
⎪
∑ ⎪
⎪
⎪
⎪
= (k + c) bk − 2cs1 − c s0 .
2 2
⎪
⎭
k=−l
This implies a contradiction; for a monotone scheme all coefficients .bk are non-
negative but not simultaneously zero. Thus Godunov’s theorem has been
proved. ∎
From the theorem, linear monotone schemes are at most first-order accurate. But
first-order methods are too inaccurate to be of practical use and therefore one must
search for other classes of schemes. This is down to finding ways of circumventing
Godunov’s theorem.The key to this lies on the assumption of linear schemes. Thus
a necessary condition for a numerical scheme to be oscillation-free (without new
extrema) and of high-order of accuracy (for smooth solutions) is to be non-linear. In
simple terms: Schemes must be non-linear, even when applied to linear equations.
Recall that schemes can be expressed in the general form (9.27). In what follows
we introduce other forms.
174 9 Notions on Numerical Methods
1 Δt 1
q n+1 = qin −
. i [ f (qi+1
n
) − f (qi−1
n
)] + (di+ 21 Δqi+ 21 − di− 21 Δqi− 21 ) , (9.38)
2 Δx 2
where .di+ 21 is a function of .2k variables
d
. i+ 1
2
= di+ 21 (qi−k+1
n
, qi−k+1
n
, . . . , qin , . . . , qi+k
n
). (9.39)
The coefficients .b−1 , .b0 and .b1 are constant. Assume the scheme to be at least first-
order. Then from the accuracy theorem, see (9.33), we have
b
. −1 + b0 + b1 = 1 , b−1 − b1 = c . (9.41)
System (9.41) gives a one-parameter family of solutions. From the first equation we
introduce .d = b−1 + b1 = 1 − b0 and thus
1 1
b
. −1 = (d + c) , b0 = 1 − d , b1 = (d − c) . (9.42)
2 2
Now in terms of .d scheme (9.40) becomes
1 1
q n+1 = qin − c(qi+1
. i
n
− qi−1
n
) + d(qi+1
n
− 2qin + qi−1
n
). (9.43)
2 2
This is the viscous form of scheme (9.40) and.d is the coefficient of numerical viscosity
of the scheme.
c2 ≤ d ≤ 1 .
. (9.44)
4. A truncation error analysis gives the coefficient of numerical viscosity, in the sense
of truncation error ( )
1 d − c2
.αvisc = Δxλ . (9.46)
2 c
Thus effectively the coefficient.d measures the truncation error of the scheme. Further
use of the viscous form (9.43) reveals that well-known schemes are obtained by an
appropriate choice of the coefficient of numerical viscosity .d. In particular, we can
reproduce the Lax-Friedrichs, FORCE, Godunov upwind, Godunov centred and Lax-
Wendroff schemes by appropriately choosing .d, namely
⎧
⎪
⎪ dL F =1 → Lax-Friedrichs ,
⎪
⎪
⎪
⎪ = 1
(1+ c ) → FORCE ,
2
⎨ d F O RC E 2
.d = dGodU = |c| → Godunov upwind , (9.47)
⎪
⎪
⎪
⎪ dGodC = 2c 2
→ Godunov centred ,
⎪
⎪
⎩
dL W = c2 → Lax-Wendroff .
Figure 9.6 shows a .d-.c plot of the coefficient of numerical viscosity .d against the
Courant number .c, for the five schemes in (9.47) derived from the viscous form.
For all linearly stable methods .d is bounded below by .d L W = c2 (Lax-Wendroff)
and bounded above by .d L F = 1 (Lax-Friedrichs). For all monotone schemes the
coefficient of numerical viscosity.d = d(c) lies inside the triangle formed by the thick
lines, with the Lax-Friedrichs scheme (.d L F = 1) above and the Godunov upwind
method (.dGodU = |c|) below. The Lax-Friedrichs scheme is the least accurate of all
linearly stable schemes, is has the largest .d, the maximum value of the coefficient
of numerical viscosity for stability. The Lax-Wendroff scheme is the most accurate
linearly stable scheme, it has the smallest .d L W = c2 for a fixed .c, with second-
order viscosity equal to zero. The Lax-Wendroff is not monotone for any value
√ for .c = 0 and .c = 1. The Godunov centred
of .c, except scheme is monotone for
. ≤ c ≤ = .0 ≤ c ≤ . The most accurate scheme
1 1 1
2 2
2 C lim and non-monotone for 2
in the class of monotone methods is the Godunov upwind method, as stated below.
176 9 Notions on Numerical Methods
Fig. 9.6 Numerical schemes represented in terms of their coefficient of numerical viscosity .d =
d(c) in (9.47), as function of Courant number .c. Monotone schemes lie within the triangle defined
by the thick lines
Theorem 9.7 The Godunov upwind scheme for the linear advection equation is the
monotone scheme with the smallest truncation error.
Proof The proof is left as an exercise. ∎
∂ q + ∂x f (q) = 0 .
. t (9.48)
Definition 9.8 (Conservative form of a scheme) A numerical method for solving the
scalar PDE (9.48) is said to be in conservative form if expressed as
Δt ( )
q n+1 = qin −
. i f i+ 21 − f i− 21 , (9.49)
Δx
where . f i+ 21 is the numerical flux.
Most well-known finite difference methods can be expressed in conservative form
(9.49), with an appropriate numerical flux. In what follows we give the expression
for the numerical flux for most well-known finite difference methods. In doing so,
for some cases we assume the linear advection equation, with . f (q) = λq in (9.48).
9.2 Basic Properties of Numerical Methods 177
For other schemes we shall keep . f (q) as the flux for a general scalar conservation
law (9.48).
1. The Godunov upwind method [5]. For LAE the Godunov upwind flux is
1 1
.
GodU
f i+ 1 = [1 + sign(c)] (λqin ) + [1 − sign(c)] (λqi+1
n
). (9.50)
2 2 2
This formula is only valid for the linear advection equation; it contains both the
λ > 0 and .λ < 0 cases. For .λ > 0 . f i+ 21 = λqin and . f i− 21 = λqi−1
.
n
.
Verify that by inserting these fluxes into the conservative formula (9.49), the
Godunov upwind method in finite difference form is reproduced, for both positive
and negative wave speeds.
2. The Godunov centred method [8]. For the conservation law (9.48) with flux
function . f (q), the numerical flux for the Godunov centred method is
1 n Δt [ ]
.
GodC
f i+ = f (qi+
GodC
) ; qi+
GodC
= (qi + qi+1
n
)− f (qi+1
n
) − f (qin ) .
Δx
1 1 1
2 2 2 2
(9.51)
Here. f is the flux function in (9.48) evaluated at various mesh points. This method,
also due to Godunov [8], is a centred method, not upwind; it does not depend on
a wave speed. Here the scheme is written in a way that is applicable to any
conservation law (9.48), or in fact, any system of conservation laws.
3. The Lax-Friedrichs method (or Lax method) [9]. For the conservation law
(9.48) with flux function . f (q), the numerical flux is
1[ ] 1 Δx n
1 = f (qin ) + f (qi+1 ) − (q − qin ) .
LF n
. f i+ (9.52)
2 2 2 Δt i+1
This is also a centred flux (not upwind) and is easily implemented for solving any
conservation law or system of conservation laws.
4. The Lax-Wendroff method [6]. For the conservation law (9.48) with flux func-
tion . f (q), the numerical flux for the Lax-Wendroff method is
1 n 1 Δt [ ]
1 = f (q ); (q + qi+1 )−1 = f (qi+1 ) − f (qin ) .
LW LW n LW n
. f i+ qi+
2 i+ 1 2 2 i 2 2 Δx
(9.53)
This is also a centred flux which is easily implemented for solving any conser-
vation law or system of conservation laws, leading to a method of second-order
accuracy.
5. The FORCE method [10, 11]. For the conservation law (9.48) with flux function
. f (q), the numerical flux for the FORCE method is
1 [ LF ]
.
F O RC E
f i+ 1 = f i+ 1 + f i+
LW
1 . (9.54)
2 2 2 2
178 9 Notions on Numerical Methods
Table 9.2 Properties of seven finite difference methods, written as conservative schemes. Note that
not all linearly stable methods have Courant number stability limit .Clim = 1 and not all schemes
are monotone
Scheme Type Accuracy Monotonicity Stability
condition
Godunov upwind Upwind 1st order Monotone .|c| ≤ Clim =1
Godunov centred Centred 1st order Non-monotone .|c|
ò Clim =
1
2 2
Lax-Friedrichs Centred 1st order Monotone .|c| ≤ Clim =1
FORCE Centred 1st order Monotone .|c| ≤ Clim =1
Lax-Wendroff Centred 2nd order Non-monotone .|c| ≤ Clim =1
Warming-Beam Upwind 2nd order Non-monotone .|c| ≤ Clim =2
Fromm Centred 2nd order Non-monotone .|c| ≤ Clim =1
The FORCE flux is precisely an arithmetic average of the Lax-Friedrichs flux and
Lax-Wendroff flux. FORCE is also a centred method, which is easily implemented
for solving any conservation law or system of conservation laws.
6. The Warming-Beam method [12]. For LAE the numerical flux for the Warming-
Beam method is
( 1
− 2 (1 − c)(λqi−1
n
) + 21 (3 − c)(λqin ) if λ > 0 ,
1 =
WB
.f (9.55)
i+ 2 1
2
(3 + c)(λqi+1
n
) − 21 (1 + c)(λqi+2
n
) if λ < 0 .
This is an upwind flux, written here specifically for the linear advection equation.
7. The Fromm method [13]. For LAE the numerical flux for the Fromm method is
(
− 41 (1 − c)(λqi−1
n
) + (λqin ) + 14 (1 − c)(λqi+1
n
) if λ > 0 ,
.f
FR
i+ 21
= (9.56)
1
4
(1 + c)(λqin ) + (λqi+1
n
) − 41 (1 + c)(λqi+2
n
) if λ < 0 .
This is a centred method, written here specifically for the linear advection equa-
tion.
Table 9.2 summarises the main properties of the listed numerical methods (9.50)-
(9.56). The reader is encouraged to verify these properties by using previous defi-
nitions given in this chaper. In Chap. 10 we shall extend some of these methods to
non-linear systems, such as the shallow water equations.
9.3 Computational Results 179
In this section we show computational results for the linear advection equation from
six methods, as applied to two test problems, one with smooth solution and another
with discontinuous solution. Numerical results are compared with the exact solution.
We solve the following initial-boundary value problem for the linear advection equa-
tion ⎫
PDE: ∂t q + λ∂x q = 0 , x ∈ [a, b] , t > 0 , ⎪ ⎬
. IC: q(x, 0) = h(x) , x ∈ [a, b] , t = 0 , (9.57)
⎪
⎭
BCs (periodic): q(a, t) = q(b, t) , ∀t > 0 ,
In this test problem the initial condition .h(x) is given by a smooth Gaussian profile
In this test problem the initial condition .h(x) is a (discontinuous) square wave given
as ⎧
⎨ 0 if a = −5 ≤ x < −2 ,
⎪
.q(x, 0) = h(x) = 1 if −2 ≤ x ≤ 2 , (9.59)
⎪
⎩
0 if 2 < x ≤ b = 5 .
Computational Parameters
We use two meshes: . M = 25 cells and . M = 200 cells. The time step .Δt results
from choosing the CFL coefficient set to .Cc f l = 0.9. The output time .Tout = 100
180 9 Notions on Numerical Methods
is chosen so as to complete .10 cycles within the domain, at which time the exact
solution coincides with the initial condition. In both test problems we impose periodic
boundary conditions.
Results are displayed in the following four figures. Figure 9.7 shows results for Test 1
for three first-order methods; Fig. 9.8 shows results for Test 1 for three second-order
methods; Fig. 9.9 shows results for Test 2 for three first-order methods; Fig. 9.10
shows results for Test 2 for three second-order methods.
Results are shown in Fig. 9.7. The exact solution is a very smooth function but has
large derivatives and a pronounced peak .qmax = 1 located at .x = 0 at the initial time
and at the output time of .Tout = 100 units. Subject to periodic boundary conditions,
the initial profile has travelled towards the right, has left the domain through the
right boundary and has re-entered the domain through the left boundary, completing
a total of .10 cycles in .100 time units.
Results from the Lax-Friedrichs method (top) are shown for two meshes: .25 cells
(left) and .200 cells (right). The coarser mesh result is too inaccurate; this is more
evident at .x = 0; the numerical error is very large. The finer mesh on the right, has
improved the results, but not very appreciably, even after a mesh refinement by a
factor .8. In theory, if the mesh continues to be refined the solution should get closer
and closer to the exact solution, but clearly convergence is very slow. The slow
convergence is to do with the first-order of accuracy of the scheme.
The results from the FORCE scheme (middle) have improved upon those of Lax-
Friedrichs, but not significantly. Again we see an improvement with the finer mesh
but convergence is slow too. The results from Godunov upwind (bottom) are again
a little better than the previous two schemes, but not by an appreciable margin.
In summary, the results from the three first-order methods are rather disappointing
for this problem with smooth solution. Their main feature is excessive numerical
diffusion that clips extrema. Mesh refinement helps but convergence is very slow.
This means that getting accurate results from first-order methods may prove very
expensive, as extremely fine meshes will be necessary to attain expected, prescribed
small errors.
Results are shown in Fig. 9.8. Starting from the Lax-Wendroff method (top), we
observe that the coarse mesh result on the left is very inaccurate (. M = 25 cells).
9.3 Computational Results 181
Fig. 9.7 Test 1 solved with three first-order methods: Lax-Friedrichs (top), FORCE (middle)
and Godunov upwind (bottom). Results are shown at output time .Tout = 100 and for two meshes:
. M = 25 cells (left column) and . M = 200 cells (right column); the CFL coefficient is .C c f l = 0.9.
The exact solution is shown by full line and the numerical solution is shown by symbols
182 9 Notions on Numerical Methods
Fig. 9.8 Test 1 solved with three second-order methods: Lax-Wendroff (top), Warming-Beam
(middle) and Fromm (bottom). Results are shown at output time .Tout = 100 and for two meshes:
. M = 25 cells (left column) and . M = 200 cells (right column); the CFL coefficient is .C c f l = 0.9.
The exact solution is shown by full line and the numerical solution is shown by symbols
9.3 Computational Results 183
Fig. 9.9 Test 2 solved with three first-order methods: Lax-Friedrichs (top), FORCE (middle)
and Godunov upwind (bottom). Results are shown at output time .Tout = 100 and for two meshes:
. M = 25 cells (left column) and . M = 200 cells (right column); the CFL coefficient is .C c f l = 0.9.
The exact solution is shown by full line and the numerical solution is shown by symbols
184 9 Notions on Numerical Methods
Fig. 9.10 Test 2 solved with three second-order methods: Lax-Wendroff (top), Warming-Beam
(middle) and Fromm (bottom). Results are shown at output time .Tout = 100 and for two meshes:
. M = 25 cells (left column) and . M = 200 cells (right column); the CFL coefficient is .C c f l = 0.9.
The exact solution is shown by full line and the numerical solution is shown by symbols
9.3 Computational Results 185
Results are shown in Fig. 9.9. The exact solution is a square wave with two discon-
tinuities. Subject to periodic boundary conditions, the initial profile has travelled
towards the right, has left the domain through the right boundary and has re-entered
the domain through the left boundary, completing a total of .10 cycles in .100 time
units.
The two top profiles of Fig. 9.9 correspond to the Lax-Friedrichs method. Results
are very inaccurate. The numerical method cannot represent the correct shape of
the square wave with two discontinuities, even though the finer mesh results look
better. A dominant feature of the numerical solution is numerical diffusion, linked to
the diffusive character of the modified equation of the scheme. Each discontinuity is
represented by virtually .100 cells (right frame), instead of none, in the exact solution.
A very puzzling observation is the following: the solution from the Lax-Friedrichs
method on the coarser mesh (left frame) exhibits visible spurious oscillations. This is
in apparent contradiction with the fact that the method is monotone, strictly speaking.
186 9 Notions on Numerical Methods
Note however that the oscillations are internal to the interval containing the initial
conditions. This is not a very well known feature of the Lax-Friedrichs method.
The FORCE method (middle) gives improved results relative to those of Lax-
Friedrichs, but in general the quality of the numerical solution is still unsatisfactory,
dominated by numerical diffusion. FORCE has eliminated the oscillations of the
Lax-Friedrichs method. Refining the mesh by a factor of .8 has improved the result
but this is still far from satisfactory. Again, convergence is very slow.
The Godunov upwind scheme (bottom pictures) shows again a slight improve-
ment over the FORCE results, and a visibly improvement over the Lax-Friedrichs
results. Again, numerical diffusion dominates the numerical solution. In summary,
first order monotone methods for discontinuous problems have the unique feature of
absence of spurious overshoots and undershoots, unlike second-order linear meth-
ods. The worst method is the Lax-Friedrichs method. Consistent with the theory, the
best first-order method is the Godunov upwind method.
Results from second-order methods for this problem with discontinuous solution are
shown in Fig. 9.10. One statement that applies to all six results is that second-order
(linear) schemes are wholly inadequate for problems with discontinuous solutions.
While for the smooth solution case, mesh refinement made the difference, in the
present case, mesh refinement does not help visibly. The spurious oscillations will
not vanish under mesh refinement. Better methods for problems with discontinu-
ities, or even large gradients, are needed, and these, according to Godunov’s theorem,
must be non-linear methods. In Chaps. 12 and 14 we construct non-linear high-order
methods that to a large extent overcome these difficulties.
This chapter has presented some very basic notions on numerical methods for solving
hyperbolic equations, utilising the simplest partial differential equation, namely the
linear advection equation with constant wave propagation speed. The finite difference
method has been introduced and examples of the most well-known finite difference
methods have been given, including the Lax-Friedrichs method, the Lax-Wendroff
method, the FORCE method, the Godunov centred method and the Godunov upwind
method. Some of the main properties of these schemes have also been studied, includ-
ing accuracy, monotonicity and linear stability. The finite difference schemes have
References 187
been written in conservative form with a corresponding numerical flux. Some the-
oretical notions have also been included, notably the Godunov theorem, which is
stated and proved. Godunov’s theorem sets the theoretical bases for the construction
of non-linear methods for hyperbolic equations. Some numerical results have been
presented and discussed, noting the difference between problems with smooth solu-
tion and problems with discontinuous solution. The need for constructing non-linear
methods has been highlighted. Non-linear methods of the TVD type (Total Variation
Diminishing) are studied in Chap. 12 and higher-order, non-linear reconstruction-
based fully discrete methods of the ADER type are studied in Chap. 14.
Usefull mathematical background is given in Chap. 2. As general references for
further study I suggest the following: Smith [14], Anderson et al. [15], Mitchell and
Griffiths [16], Roache [17], Richtmyer and Morton [18], Hoffmann [19] and Fletcher
[20]. I particularly recommend the book by Morton and Mayers [21]. Very relevant
textbooks to the main themes of this book are Sod [22], Holt [23], Hirsch [24, 25],
LeVeque [1], Godlewski and Raviart [3], Kröner [26], Laney [27], Thomas [28] and
Toro [2, 29, 30]. For those who are absolute beginners in the field I recommend
the following self-study programme as a way of obtaining more benefit from this
textbook: (a) read Chaps. 2–4 of the book by Hoffmann [19] and do the exercises
therein, (b) read Chaps. 7–10 of the book by Hirsch [24] and do exercises therein.
See also Chap. 5 of [2, 29] and various chapters in [31].
References
1. R.J. LeVeque. Finite Volume Methods for Hyperbolic Problems. (Cambridge University Press,
2002)
2. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics, A Practical Intro-
duction, 3rd edn. (Springer, 2009)
3. E. Godlewski, P.A. Raviart. Numerical Approximation of Hyperbolic Systems of Conservation
Laws, 2nd edn. (Springer, 2021)
4. R. Courant, E. Isaacson, M. Rees, On the solution of nonlinear hyperbolic differential equa-
tions by finite differences. Comm. Pure. Appl. Math. 5, 243–255 (1952)
5. S.K. Godunov, Finite difference methods for the computation of discontinuous solutions of
the equations of fluid dynamics. Mat. Sb. 47, 271–306 (1959)
6. P.D. Lax, B. Wendroff, Systems of Conservation Laws. Commun. Pure Appl. Math. 13, 217–
237 (1960)
7. S.J. Billett, E.F. Toro, On the accuracy and stability of explicit schemes for multidimensional
linear homogeneous advection equations. J. Comput. Phys. 131, 247–250 (1997)
8. S.K. Godunov, A.V. Zabrodin, G.P. Prokopov, A difference scheme for two-dimensional
unsteady aerodynamics. J. Comput. Math. Math. Phys. USSR 2(6), 1020–1050 (1961)
9. P.D. Lax, Weak solutions of nonlinear hyperbolic equations and their numerical computation.
Commun. Pure. Appl. Math. VII, 159–193 (1954)
10. E.F. Toro, S.J. Billett, Centred TVD Schemes for Hyperbolic Conservation Laws. Techni-
cal Report MMU–9603, Department of Mathematics and Physics, Manchester Metropolitan
University, UK (1996)
11. E.F. Toro, S.J. Billett, Centred TVD schemes for hyperbolic conservation laws. IMA J. Numer.
Anal. 20, 47–79 (2000)
188 9 Notions on Numerical Methods
12. R.F. Warming, R.W. Beam, Upwind second order difference schemes with applications in
aerodynamic flows. AIAA J. 24, 1241–1249 (1976)
13. J.E. Fromm, A method for reducing dispersion in convective difference schemes. J. Comput.
Phys. 3, 176–189 (1968)
14. G.D. Smith, Numerical Solution of Partial Differential Equations (Clarendon Press, Oxford,
1978)
15. D.A. Anderson, J.C. Tannehill, R.H. Pletcher, Computational Fluid Mechanics and Heat
Transfer (Hemisphere Publishing Corporation, 1984)
16. A.R. Mitchell, D.F. Griffiths, The Finite Difference Method in Partial Differential Equations.
(Wiley, 1980)
17. P.J. Roache, Computational Fluid Dynamics. (Hermosa Publishers, 1982)
18. R.D. Richtmyer, K.W. Morton, Difference Methods for Initial Value Problems (Interscience-
Wiley, New York, 1967)
19. K.A. Hoffmann, Computational Fluid Dynamics for Engineers Engineering Education Sys-
tems. (Austin, Texas, USA, 1989)
20. C.A.J. Fletcher. Computational Techniques for Fluid Dynamics, Vols. I and II. (Springer,
1988)
21. K.W. Morton, D.F. Mayers. Numerical Solution of Partial Differential Equations. (Cambridge
University Press, 1994)
22. G.A. Sod. Numerical Methods in Fluid Dynamics. (Cambridge University Press, 1985)
23. M. Holt, Numerical Methods in Fluid Dynamics. (Springer, 1984)
24. C. Hirsch, Numerical Computation of Internal and External Flows, Vol. I: Fundamentals of
Numerical Discretization. (Wiley, 1988)
25. C. Hirsch, Numerical Computation of Internal and External Flows, Computational Methods
for Inviscid and Viscous Flows, Vol. II (Wiley, 1990)
26. D. Kröner, Numerical Schemes for Conservation Laws. (Wiley Teubner, 1997)
27. C.B. Laney, Computational Gasdynamics. (Cambridge University Press, 1998)
28. J.W. Thomas, Numerical Partial Differential Equations, Texts in Applied Mathematics 22.
(Springer, 1998)
29. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics. A Practical Intro-
duction. (Springer, 1997)
30. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics. A Practical Intro-
duction, 2nd edn. (Springer, 1999)
31. E.F. Toro, Müller LO. Computational Bodily Fluid Dynamics. Models and Algorithms (to
appear) (Springer, 2024)
Chapter 10
First-Order Methods for Systems
In this section we set the finite volume framework for one-dimensional non-linear
systems of hyperbolic balance laws, starting from the integral forms of the PDEs.
Here .q(x, t) is the unknown, . f (q(x, t)) is the flux function and .s(q(x, t)) is the
source term. Equation (10.1) is called a balance law and when the source term
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 189
E. F. Toro, Computational Algorithms for Shallow Water Equations,
https://doi.org/10.1007/978-3-031-61395-1_10
190 10 First-Order Methods for Systems
s(q(x, t)) = 0 is called a conservation law. From the mathematical and numerical
.
points of view it is convenient to express the PDE (10.1) in integral form, as done
in Chap. 2 on control volume .V in the .x-.t plane
. V = [x L , x R ] × [t1 , t2 ] , (10.2)
Δt [ ]
.q new = q old − fright − fle f t + Δt svol . (10.4)
Δx
This expression is exact, with the following definitions
∫ xR ∫ xR ⎫
1 1 ⎪
q new = q(x, t2 )d x , q old = q(x, t1 )d x , ⎪
⎪
Δx x L Δx x L ⎪
⎪
∫ t2 ∫ t2 ⎪
⎪
1 1 ⎬
. fright = f (q(x R , t))dt , fle f t = f (q(x L , t))dt , (10.5)
Δt t1 Δt t1 ⎪
⎪
∫ x R ∫ t2 ⎪
⎪
1 ⎪
⎪
svol = s(q(x, t))dtd x . ⎪
⎭
ΔxΔt x L t1
10.1 The Finite Volume Framework 191
Numerical methods, called finite volume methods, use the finite volume formula
(10.4) to compute approximate solutions to the PDE (10.1), in which .q old is a known
average of the solution at the old time level and the remaining terms on the right hand
side of (10.4) are found by appropriate approximations to the integrals in (10.5). The
computational parameters .Δt and .Δx must be prescribed in order to complete the
scheme to compute .q new . See Chap. 2 for details.
Consider the initial-boundary value problem (IBVP) for a generic system of . N non-
linear hyperbolic balance laws
⎫
PDEs: ∂t Q + ∂x F(Q) = S(Q) , x ∈ [a, b] , t > 0 , ⎬
. ICs: Q(x, 0) = Q(0) (x) , x ∈ [a, b] , (10.6)
⎭
BCs: Q(a, t) = B L (t) , Q(b, t) = B R (t) , t ≥ 0 .
Q(x, t) is the vector of conserved variables; .F(Q) is the flux vector, or physical flux;
.
S(Q) is the source term vector;.Q(0) (x) is the initial condition;.B L (t) and.B R (t) are the
boundary conditions on the left and right boundaries, respectively, two prescribed
functions of time. The vectors .Q, .F(Q) and .S(Q) are as follows
(10.7)
The integral form of the conservation laws in (10.6) is written as
∫ xR ∫ xR ⎫
Q(x, t2 )d x = Q(x, t1 )d x ⎪
⎪
⎪
⎪
xL xL ⎪
⎪
∫ ∫ ⎪
⎪
t2 t2 ⎬
. + F(Q(x L , t))dt − F(Q(x R , t))dt (10.8)
⎪
⎪
∫
t1
∫
t1
⎪
⎪
⎪
⎪
t2 xR
⎪
⎪
+ S (Q(x, t)) d xdt . ⎭
t1 xL
Compare with (10.3) for the scalar case. In the finite volume approach the
computational domain is discretised into finite volumes
with .Δx = xi+ 21 − xi− 21 and .Δt = tn+1 − tn . See finite volume mesh of Fig. 10.2.
Direct application of the integral form (10.8) in averaged form in .Vin gives the
formula
Δt
n+1
.Qi = Qin − (F 1 − Fi− 21 ) + ΔtSi , (10.10)
Δx i+ 2
192 10 First-Order Methods for Systems
Fig. 10.2 Control volume .Vin = [xi− 1 , xi+ 1 ] × [tn , tn+1 ] in a finite volume mesh in .x-.t space
2 2
with definitions
∫ xi+ 1 ⎫
Qin =
1 2
Q(x, tn )d x , ⎪
⎪
⎪
⎪
Δx ⎪
⎪
xi− 1
∫ ⎪
⎪
⎪
2
1 tn+1 ⎬
Fi+ 21 = F(Q(xi+ 21 , t))dt , (10.11)
.
Δt tn ⎪
⎪
∫ ∫ ⎪
⎪
1 tn+1 xi+ 1 ⎪
⎪
Si = S(Q(x, t))d xdt . ⎪
⎪
2
⎪
⎭
ΔtΔx tn xi− 1
2
Formula (10.10) with definitions (10.11) is exact and generalises formula (10.4).
Finite volume numerical methods emerge from (10.10) if integrals in (10.11) are
suitably approximated. In the approximated interpretation of (10.10) .Fi+ 21 is the
numerical flux and .Si is the numerical source. These emerge from the second and
third lines in (10.11) as suitable approximations to the respective integrals. The cell
integral average .Qin is computed explicitly only at the initial time from the initial
conditions; for later times this results automatically from formula (10.10), which
becomes a one-step numerical method. Figure 10.3 depicts the finite volume method
as applied to the system of balance laws in (10.6).
In this section we describe the Godunov upwind method [1] in conservative form
(10.10) to solve the IBVP (10.6). We assume the source term is S(Q).= 0 and therefore
the only item to determine is the numerical flux. Godunov’s method [1] approximates
the flux integral in (10.11) by means of the solution of a Riemann problem, which
furnishes an approximation to the integrand.
Godunov’s method [1] computes the numerical flux.Fi+ 21 from the solution of the local
Riemann problem at the cell interface .x = xi+ 21 given as
⎫
PDEs: ∂t Q + ∂x F(Q)
( =0, ⎪
⎬
. Qin if x < xi+ 21 , (10.12)
ICs: Q(x, 0) = ⎪
n
Qi+1 if x > xi+ 21 . ⎭
We remark that for convenience, the IVP (10.12) in global coordinates centred at
(.xi+ 21 , tn ) is transformed to local coordinates .(x̄, t¯) with origin at (.0, 0), by applying
the coordinate transformation:
⎫
x̄ = x − xi+ 21 , t¯ = t − tn , ⎬
. x ∈ [x i , x i+1 ] , t ∈ [tn , tn+1 ] , (10.13)
⎭
1 1 ¯
x̄ ∈ [− 2 Δx, 2 Δx] , t ∈ [0, Δt] .
See Fig. 10.4. Then in practice we still keep the notation .(x, t) to mean the local
coordinates .(x̄, t¯).
The similarity solution of (10.12) is denoted as.Qi+ 21 (x/t). To compute the numer-
ical flux one first evaluates .Qi+ 21 (x/t) at .x/t = 0, that is along the interface (along
Fig. 10.4 Correspondence between the global (a) and local (b) frames of reference for the solution
of the Riemann problem
194 10 First-Order Methods for Systems
Fig. 10.5 Godunov’s method for a homogeneous hyperbolic system. Frame a: integral averages give
piece-wise constant data at time .tn ; plot represents a generic component .q of .Q. Frame b: structure
of solutions of Riemann problems at the intercell boundaries. Frame c: representation of finite
volume formula (10.10) to update the cell average in cell . Ii using intercell numerical fluxes
the .t-axis), giving .Qi+ 21 (0), called the Godunov state. As seen in Chap. 6 .Qi+ 21 (0)
is constant along the interface. Therefore the flux integral in (10.11) is trivially
computed to obtain the Godunov flux as
∫ Δt
1
Fi+ 21 =
. F(Q(xi+ 21 , t))dt = F(Qi+ 21 (0)) . (10.14)
Δt 0
Godunov’s method was introduced in Chap. 9 for the linear advection equation
as a finite difference method. In this section we derive the method as a finite vol-
ume method via the solution of a local Riemann problem to compute the intercell
numerical flux. We first consider the homogeneous case, .s = 0, namely
10.2 The Godunov Upwind Method 195
Here .λ is a constant wave propagation speed. The finite volume version of the
Godunov method departs from (10.10), with definitions (10.11), which applied to
(10.15) may be written as
Δt ( )
q n+1 = qin −
. i f i+ 21 − f i− 21 . (10.16)
Δx
To compute the numerical flux . f i+ 21 in (10.16) from formula (10.14) one requires
the Godunov state .qi+ 21 (0). This is obtained by solving the local Riemann problem
⎫
PDE: ∂t q + ∂x (λq)
( = 0 , ⎪
⎬
. qin if x < xi+ 21 , (10.17)
ICs: q(x, 0) = ⎪
n
qi+1 if x > xi+ 21 . ⎭
To determine the Godunov state .qi+ 21 (0) we need to perform a solution sampling
procedure to correctly identify the solution value along the .t-axis. See Chap. 6. From
(10.18) we see that for the linear advection equation the sought Godunov state.qi+ 21 (0)
is simply given as ( n
qi if λ > 0 ,
.qi+ 1 (0) = (10.19)
2
n
qi+1 if λ < 0 .
After inserting the numerical fluxes (10.20)–(10.21) into the finite volume scheme
(10.16) we obtain
⎧ Δt ( )
⎪
⎨ λqin − λqi−1
n
if λ > 0 ,
q n+1 = qin − Δx (10.22)
⎩ Δt (λq n − λq n ) if λ < 0 .
. i
⎪
Δx i+1 i
λΔt
By introducing the Courant number .c = Δx
in (10.22) we obtain
( ( n )
c (λqi − λqi−1
n
) if λ > 0 ,
n+1
.qi = qin − (10.23)
c λqi+1
n
− λqin if λ < 0 ,
which is identical in form to the finite difference form of the Godunov method
presented in Chap. 9. The difference lies in the interpretation of the approximate
values .qin . In the finite difference approach they are point values and in the finite
volume approach they are cell integral averages.
The Godunov method for the scalar conservation law (no source term) has been
described just requiring the numerical flux from the exact solution of a local Riemann
problem, to completely determine the conservative scheme (10.16).
∂ q + ∂x f (q) = s(q) ,
. t f (q) = λq , s(q) = βq , (10.24)
with .λ a constant wave propagation speed and .β ≤ 0 a constant reaction rate. The
corresponding finite volume formula (10.10) with the numerical source included
becomes
Δt ( )
n+1
.qi = qin − f i+ 21 − f i− 21 + Δtsi , (10.25)
Δx
where .si is the numerical source, an approximation to the volume integral average
in (10.11).
The simplest approximation assumes that the integrand is given in terms of the initial
data at time .t n , that is .s(q(x, t)) = βqin , a constant. Then, from (10.11) the numerical
source is simply
10.2 The Godunov Upwind Method 197
s = βqin .
. i (10.26)
If we assume that the numerical flux for the inhomogeneous Eq. (10.24) is the same
as that for the homogeneous Eq. (10.15), then the extended Godunov scheme is
( ( n )
c (λqi − λqi−1
n
) + Δtβqin if λ > 0 ,
n
n+1
.qi = qin − (10.27)
c λqi+1 − λqi + Δtβqi if λ < 0 .
n n
The simple numerical source .si in (10.27) is called centred in the literature, in the
sense that it does not depend on the wave propagation speed .λ.
We have used the term extended for Godunov’s scheme (10.27), because source
terms were not included in the original formulation of the Godunov method. The
approximation to the numerical source proposed here is simply for illustrative pur-
poses, it is not recommended for practical use. More sophisticated methods to
determine the numerical source are required in practice.
Recall that in order to evaluate the source term in (10.10), or specifically (10.25),
we need to calculate an approximation to the volume integral in (10.11), namely
∫ xi+ 1 ∫ Δt
1
s = βq(x, t)d xdt .
2
. i (10.28)
ΔxΔt xi− 1 0
2
Let us assume that the integrand is the solution of the two neighbouring Riemann
problems in the control volume .Vin = [xi− 21 , xi+ 21 ] × [tn , tn+1 ] introduced in (10.9).
For .λ > 0 only the left Riemann problem at .xi− 21 propagates the solution inside the
integration volume .Vin ; in the rest of .Vin the solution remains .qin . For .λ < 0 only
n
the right Riemann problem at .xi+ 21 propagates the value .qi+1 inside the integration
n n n
volume .Vi ; in the rest of .Vi the solution remains .qi .
Let us consider the details for the case .λ > 0. Then clearly, the Riemann problem
n
at .xi− 21 with data .qi−1 to the left of .xi− 21 and .qin to the right of .xi− 21 propagates the
value .qi−1 into a triangular portion of the control volume .Vin = Δ t × Δx equal to
n
1 1
s =
. i
n
cβqi−1 + (1 − c)βqin . (10.29)
2 2
Compare with (10.26). Now a contribution to the numerical source .si comes from
n
the upwinded value .qi−1 . As will be seen in Chap. 13 the upwinded numerical source
(10.29) gives a scheme (10.25) with a larger stability region than that with the centred
numerical source (10.26).
198 10 First-Order Methods for Systems
∂ Q + ∂x F(Q) = 0 ,
. t (10.30)
Here .Q and .F(Q) are as for the shallow water Eqs. (10.30)–(10.31). The exact
Riemann solver is given in Chap. 6 for the wet-bed case and in Chap. 7 for the
dry-bed case. Approximate Riemann solvers will be presented in Chap. 11.
2. Depth in the Star Region. From the exact Riemann solver, first find the star value
.h ∗ in the Star Region by solving iteratively the algebraic equation
1 1
u =
. ∗ (u L + u R ) − ( f R (h ∗ ) − f L (h ∗ )) . (10.34)
2 2
4. Solution sampling. Sample the solution as described in Chap. 6 to find the
Godunov state .Qi+ 21 (0), which is the solution right at the intercell boundary.
10.2 The Godunov Upwind Method 199
Fig. 10.6 Ten possible wave patterns in evaluating .Qi+ 1 (0) to compute the Godunov flux for the
2
augmented one-dimensional case. Wave patterns shown are those for a wet bed
Recall that this process involves finding one out of ten possible wave patterns, as
depicted in Fig. 10.6.
5. Numerical flux. Compute the Godunov numerical flux as
6. Conservative update formula. Once all the intercell fluxes .Fi+ 21 have been
computed, these are used in the conservative update formula
Δt
Qin+1 = Qin −
. (F 1 − Fi− 21 ) (10.36)
Δx i+ 2
to advance the solution to the next time level .n + 1.
7. Source terms. Methods to deal with the source terms .S(Q) will be discussed in
Chaps. 13 and 14.
200 10 First-Order Methods for Systems
There are some practical issues to address, before the numerical method (10.36) can
be implemented to solve the initial-boundary value problem (10.6). These are initial
conditions at the initial time, boundary conditions at the domain ends and stability
conditions to select the correct size of the time step .Δt in (10.36).
At the initial time .t = 0, say, initial conditions are to be implemented. Strictly speak-
ing, from the prescribed initial data .Q(x, 0) one must provide discrete cell average
values .Q0k from integral averages of .Q(x, 0) in each computing cell .k, namely
∫ xk+ 1
1
Q0k = Q(x, 0)d x , for k = 1, . . . , M .
2
. (10.37)
Δx xk− 1
2
See finite volume mesh shown in Fig. 10.2. For low-order methods one can also use
point values at the cell centre .xk of each cell. But this is not correct for high-order
methods of order greater than two, see Chap. 14.
Boundary conditions are necessary to determine boundary fluxes in the finite volume
mesh of Fig. 10.2. The update formula is well defined for updating all cells .k, k =
2, . . . , M − 1. The updating of cells .1 and . M requires the application of boundary
conditions at the domain boundaries .x = a and .x = b in order to compute boundary
numerical fluxes .F 21 at .x = a and .F M+ 21 at .x = L. It is worth remarking that the
application of boundary conditions is fundamentally a physical problem. Consider
first the left boundary at .x = a. Numerically, we create a fictitious state .Qn0 in such
a way that the solution of the Riemann problem with data .(Qn0 , Qn1 ) gives a solution
.W 1 (x/t) such that the Godunov state .W 1 (0) fulfils the physical requirements at the
2 2
boundary.x = a. Similar remarks apply to the right boundary.x = b, where a fictitious
state.QnM+1 is required to define a boundary Riemann problem with data.(QnM , QnM+1 ),
the solution of which satisfies the physically desirable boundary condition. Here we
consider only three types of boundary conditions.
10.3 Initial, Boundary and Stability Conditions 201
Transmissive Boundary
Note that the corresponding boundary Riemann problems generate trivial waves at the
boundaries, which hopefully will allow the undisturbed passage of waves through the
boundaries. This type of boundary conditions are usually applied when, for example,
one wants to perform computations on a reduced section of a long channel. In one
space dimension, these boundary conditions work reasonably well, but they are not
perfect.
The reader is encouraged to calculate the solution of the boundary Riemann problems,
to note that the solution in the Godunov state, right at the boundary, has particle
velocity.u ∗ = 0, that is, there is not flow through the boundary. The resulting value for
.h ∗ , consistent with the no flow through condition.u ∗ = 0, emerges automatically from
Moving solid, impermeable reflective boundaries are treated with the boundary
conditions
)
Left boundary x = a : h n0 = h n1 , u n0 = −u n1 + 2u W L ,
. (10.40)
Left boundary x = b : h nM+1 = h nM , u nM+1 = −u nM + 2u W R .
Here .u W L and .u W R are the speeds of the left and right boundaries, assumed to be
known.
Again, the reader is encouraged to calculate the solution of the boundary Riemann
problems, to note that the solution in the Godunov state, right at the boundary, has
particle velocity.u ∗ = u W L for the left boundary and.u ∗ = u W R for the right boundary.
Again, the value for .h ∗ , consistent with the condition of flow with the boundary,
emerges automatically from the solution of the Riemann problem.
202 10 First-Order Methods for Systems
So far we have described the Godunov method as used in conjunction with the
exact Riemann solver. In Chap. 11 we also discuss the implementation of Godunov’s
method with approximate Riemann solvers.
We first consider the linear advection equation with constant wave speed .λ, as
solved by the Godunov upwind method; see Sect. 10.2.2. Recall from Chap. 9 that
the stability condition for the Godunov upwind method applied to LAE is
|λ|Δt
|c| =
. ≤ Clim = 1 . (10.41)
Δx
Here .c is the Courant number and .Clim = 1 is the stability limit for the method.
Note that for the Godunov upwind schemed applied to LAE in one space dimension
.Clim = 1, but.Clim may be different for other methods; see Chap. 9. Then from (10.41)
the time step .Δt must obey
Δx
.Δt ≤ Clim . (10.42)
|λ|
Δx
Δt = Sc × Clim
. , 0 < Sc ≤ 1 . (10.43)
|λ|
The parameter . Sc is a safety coefficient that may take care of (i) round-off errors
and (ii) uncertainties in determining the maximum wave speed emerging from the
equations. For the linear advection equation, the speed .λ is well defined, but not
necessarily so for hyperbolic systems. By defining
Δx
Δt = Cc f l
. . (10.45)
|λ|
10.3 Initial, Boundary and Stability Conditions 203
For the one-dimensional shallow water equations we choose the time step .Δt
according to formula
Δx
.Δt = C cfl × , (10.47)
n
Smax
n n
where. Smax is to be estimated. If the estimate for. Smax in (10.47) is poor and subject to
uncertainties, the scheme may become unstable, leading to crashing of the code, due
to the wrong value for the time step .Δt.
n
A popular way of estimating the maximum wave speed . Smax is by using the
eigenvalues of the equations. But recall that for non-linear systems, wave speeds are
not identical to eigenvalues. Nonetheless the following choice is often made
{ }
Sn
. max = maxi |u in | + ain , Cc f l = Sc × Clim , 0 < Sc ≤ 1 . (10.48)
n
would account for . Smax . But a shock emerging from such boundaries would have
n
speed larger than . Smax and therefore the application of (10.48) would fail.
As a final remark we note that the subject of estimating wave speeds for non-linear
systems has not been exhausted. Theoretical bounds for interface wave speeds for the
shallow water equations, and other hyperbolic systems, were proposed in the recent
paper by Toro et al. [6]; see also the earlier work of Guermond and Popov [7]. The
reader is encouraged to use these new results for choosing the time step .Δt reliably.
n
Chapter 11 will also provide additional information on a reliable choices for . Smax in
(10.47).
The case in which .0 ≤ θn ≤ 21 is illustrated in Fig. 10.8. Here the updated solution
depends on the random sampling procedure applied to the right side of the left Rie-
mann problem solution .Wi− 21 (x/t). The particular randomly chosen state is returned
10.4 The Random Choice Method 205
Fig. 10.7 RCM on non-staggered grid. Solution is updated to time level.n + 1 by random sampling
n ,.Wn ) and. R P(Wn ,.Wn ) within cell. I at time.t
solutions of two Riemann problems. R P(Wi−1 i i i+1 i n+1
Fig. 10.8 RCM sampling of the right-hand side of the left Riemann problem solution, when .0 ≤
θn ≤ 21 . The sampled state is assigned to the centre of cell .i
by the same sampling routine used to evaluate the exact Riemann problem solution;
see Chaps. 6 and 7. Here the sampling routine is called with argument
θn Δx
. S ≡ x/t = . (10.50)
Δt
The resulting state is then assigned to the grid point .i (centre of the cell) and is
regarded as the solution in cell . Ii for the next time level; see Fig. 10.8. A similar
procedure is applied if . 21 ≤ θn ≤ 1. In this case one samples the left side of the right
Riemann problem solution .Wi+ 21 (x/t). When programing the non-staggered grid
206 10 First-Order Methods for Systems
version of the Random Choice Method, there are many ways to organise the tasks:
(I) solving the Riemann problems and (II) random sampling their solutions.
Concerning the use of random numbers in the scheme, Chorin [8] established
that one only requires a single random number .θn for a complete time level .n. In
Glimm’s proof [2] one may take one random number per time step per cell. Full
details are found in Chap. 7 of [9–11], in which Sect. 7.5 discusses generation of
random numbers and their properties.
Finally, we note the relationship between the RCM scheme on a non-staggered
grid to obtain the updated value .Win+1 and the Godunov upwind method. Compare
Fig. 10.7 for RCM with Fig. 10.5 for the Godunov method. Within cell . Ii at time
.tn+1 , on the equivalent to line . AB in Fig. 10.7, the Godunov scheme takes an integral
average of the two relevant Riemann problem solutions; see Fig. 10.5c. Instead, RCM
performs a random sampling procedure in . AB to pick up a single state.
Boundary conditions for RCM are the same as for Godunov’s method described
in Sect. 10.3. The linearised stability condition for RCM is
|λ|Δt 1
.0 ≤ |c| = ≤ Clim = . (10.51)
Δx 2
n
Provided that a reliable choice for . Smax in (10.47) has been made, condition (10.51)
ensures that waves from left and right Riemann problems in Fig. 10.7 do not interact
within the chosen time step .Δt. In practice one implements (10.48) with . Sc = 0.9,
which gives .Cc f l = Sc × Clim = 0.45.
RCM is not conservative. It is important to point out that the Random Choice
Method of Glimm is not conservative. One consequence is the wrong speed of shock
waves, as computed by RCM. On average, however, shock positions tend to be quite
accurate.
The previously described two methods, namely Godunov and Random Choice,
utilise explicitly, the exact solution of the Riemann problem to update the solution
and are thus referred to as upwind methods. Next we describe alternative numerical
approaches.
Here we briefly review two alternative numerical approaches to solve the shallow
water equations, namely the Flux Vector Splitting approach and centred schemes.
The flux vector splitting approach (FVS) for solving hyperbolic systems includes
several schemes [28–32]. Most of these schemes have been applied preferentially to
10.5 Alternative Conservative Schemes 207
the compressible Euler equations of gas dynamics and are reviewed in Chap. 8 of [11].
Application of FVS schemes to the shallow water equations are more rare. Early
works on shallow water applications of FVS include Bermúdez, Vázquez-Cendón
and collaborators [33, 34], and Morel and Fey [35]. More recent works are based on
the splitting method proposed by Toro and Vázquez [32] for the Euler equations,
called the TV splitting. Briefly, in the TV approach as applied to a generic system
∂ Q + ∂x F(Q) = 0
. t (10.52)
the flux is split into an advection flux .A(Q) and a pressure flux .P(Q) as follows
Corresponding numerical fluxes .Ai+ 21 and .Pi+ 21 are sought such that the numerical
flux .Fi+ 21 for the full system (10.52) is split thus
The fluxes .Ai+ 21 and .Pi+ 21 are obtained from corresponding Riemann problems for
the following two systems
)
Advection system: ∂t Q + ∂x A(Q) = 0 → Ai+ 21 ,
. (10.55)
Pressure system: ∂t Q + ∂x P(Q) = 0 → Pi+ 21 .
For the one-dimensional shallow water equations the following splitting is recom-
mended [36] [ ] [ ]
0 hu
. A(Q) = , P(Q) = 1 2 . (10.56)
hu 2 2
gh
Splitting (10.56) differs slightly from the original TV splitting [32]. The evidence so
far indicates that this variation performs well for general systems that do not include
an equation for total energy, such as the shallow water equations and the blood flow
equations [37, 38].
The TV splitting approach is also applicable to systems in non-conservative form,
in which case it becomes an advection-pressure splitting. A distinguishing feature
of this method is that it completely separates all pressure terms from the remain-
ing terms of the flux. In this manner, fast pressure waves are separated from slow
advection waves, a property that may be exploited numerically, see Busto et al. [39]
and Boscheri et al. [40]. Other recent applications of the approach include [41–43].
Extension of the TV splitting to the shallow water equations including sediment
transport is reported in [44].
208 10 First-Order Methods for Systems
The schemes reviewed here do not require the (explicit) solution of the Riemann
problem, as is the case for the Godunov upwind method of Sect. 10.2.4, or some
other forms of upwinding, such as the Flux Vector Splitting Schemes of Sect. 10.5.1.
Therefore, centred schemes are not biased by the wave propagation direction, which
distinguishes upwind methods, and they are called centred or symmetric schemes.
Centred schemes were introduced in Chap. 9 in the context of the linear advection
equation. Here we review the most well-known centred schemes for general systems,
including the shallow water equations.
1[ ] 1 Δx n
.Fi+ 21 = F(Qin ) + F(Qi+1
n
) − (Q − Qin ) . (10.57)
2 2 Δt i+1
As seen in Chap. 9, this method is first-order accurate, monotone and has linear
stability condition .0 ≤ |c| ≤ Clim = 1.
The Godunov centred scheme [45] has numerical flux (not the upwind Godunov flux)
defined in a two-step procedure as follows
⎫
GodC
Fi+ 1 = F(Qi+ 1 ) ,
GodC
⎬
2 2
. ( ) Δt (10.58)
GodC
Qi+ = 21 Qin + Qi+1
n
− [F(Qi+1
n
) − F(Qin )] . ⎭
Δx
1
2
This method is first order accurate and has linear stability condition
1√
.0 ≤ |c| ≤ Clim = 2. (10.59)
2
Regarding monotonicity, for LAE the scheme exhibits the following behaviour
)
Non-monotone in the range: 0 ≤ |c| ≤ 1
2
,
. √ (10.60)
Monotone in the range: 1
2
≤ |c| ≤ 1
2
2.
One version of the Lax–Wendroff flux is analogous to the Godunov centred flux,
namely
⎫
1 = F(Q 1 ) , ⎬
LWa LWa
Fi+ i+
( )
2 2
. 1 Δt (10.61)
LWa
Qi+ = 21 Qin + Qi+1
n
− [F(Qi+1
n
) − F(Qin )] . ⎭
2 Δx
1
2
Δt
Note that the only difference between (10.58) and (10.61) is the coefficient of . Δx ,
1
which is .1 in the former and . 2 the latter. This is the most well-known version of the
Lax–Wendroff flux, sometimes known as the two-step Lax–Wendroff flux. A second
version of the Lax–Wendroff flux is
1 1 Δt
1 = [F(Qin ) + F(Qi+1 )] − A 1 [F(Qi+1 ) − F(Qin )] .
LWb n n
Fi+
. (10.62)
2 2 2 Δx i+ 2
There are two choices to compute the interface matrix .Ai+ 21 in (10.62), namely
( )
1( n ) 1
.Ai+ 21 = A Qi + Qi+1
n
and Ai+ 21 = [A(Qin ) + A(Qi+1
n
)] . (10.63)
2 2
Here .A(Q) is the Jacobian matrix of system (10.52). Note that flux (10.62) can also
be written as
( ) ( )
1 Δt 1 Δt
1 = + ) + − ),
LWb n n
.F I A 1 F(Q I A 1 F(Qi+1 (10.64)
i+ 2 2 Δx i+ 2 i
2 Δx i+ 2
1 1 Δt 2 ( n )
1 = [F(Qin ) + F(Qi+1 )] − A 1 Qi+1 − Qin .
LWc n
Fi+
. (10.65)
2 2 2 Δx i+ 2
As to the interface matrix .Ai+ 21 , the two choices (10.63) are available for use in
(10.65). The Lax–Wendroff scheme is second-order accurate in space and time. The
scheme is non-monotone and has linear stability condition .0 ≤ |c| ≤ Clim = 1.
The FORCE scheme (First-Order Centred) proposed by Toro [4, 5] has numerical flux
1 LF
1 = (F 1 + Fi+ 1 ) ,
FO LW x
Fi+
. (10.66)
2 2 i+ 2 2
210 10 First-Order Methods for Systems
LF LW x
where .Fi+ 1 is the Lax–Friedrichs flux and .F
i+ 21
is any of three versions of the Lax–
2
Wendroff method. The FORCE scheme is monotone and has linearised stability
condition .0 ≤ |c| ≤ Clim = 1. See Chap. 9. Originally [4, 5], the FORCE flux was
derived from replacing random values in the staggered-grid version of the Random
Choice Method of Glimm by integral averages. Unexpectedly, it turned out to be
a simple mean value of the Lax–Friedrichs and the two-step Lax–Wendroff fluxes.
Convergence of the FORCE scheme for the one-dimensional shallow water equations
and the equations of isentropic gas dynamics was proved by Chen and Toro [46, 47].
The FORCE scheme, as described, may be extended to two and three space
dimensions on structured meshes through dimensional splitting, see Chap. 13. The
scheme is unstable if directly applied through a simultaneous update formula in mul-
tiple space dimensions. A general, stable multidimensional extension of FORCE on
structured and unstructured meshes was reported in [48, 49]. See [50] for an ambi-
tious application of the mutidimensional FORCE method to geophysical flows. The
recently communicated FORCE-.α scheme [51] emerges as a simplification of the
mutidimensional FORCE method [48, 49]. The scheme is stable in multiple space
dimensions and is particularly accurate for slowly moving waves.
Other centred schemes, not studied here, are those advocated by Tadmor and
collaborators [52–54] and the composite schemes advocated by Liska and Wendroff
[55, 56].
In Chap. 9 we showed some numerical results from the centred methods studied
in this chapter, as applied to the linear advection equation. The reader is encour-
aged to view these numerical results, as they graphically represent the schemes’s
properties, also valid for non-linear systems.
Here we study the finite volume approach to hyperbolic balance laws in multiple
space dimensions on unstructured meshes and specialise the schemes to the two-
dimensional shallow water equations. The Cartesian mesh case is obtained as a
particular example of the general finite volume approach.
where .|Vk | is the volume of .Vk (or area in the 2D case). Then, an integral form of the
governing equations, see Chap. 4, leads to a semidiscrete scheme
1 ∑
Nfv
d
. Qk = − Fs , (10.68)
dt |Vk | s=1
where . N f v is the total number of sides, or edges, of cell .Vk and .Fs are the corre-
sponding intercell fluxes. Alternatively, by choosing the appropriate integral form
one derives the fully discrete scheme
Δt ∑
Nfv
Qn+1
. = Qnk − Fs , (10.69)
k
|Vk | s=1
where .Δt is the time step. Compare (10.69) with the corresponding one-dimensional
finite volume scheme (10.10). The fluxes .Fs in (10.68) and (10.69) are
∫ As+1
. Fs = Ts −1 F (Ts (Q)) d A . (10.70)
As
This is an integral on the segment . As As+1 , denoted as .s, of the computational cell;
see Fig. 10.9. In the integrand in (10.70) .Ts is the rotation matrix in the rotational
invariance property of the equations, and .Ts −1 is its inverse. See Chap. 4. .Ts (Q)
denotes the vector of rotated conserved variables by applying the rotation matrix
.Ts to the original vector of variables .Q. This is now aligned with the new rotated
Cartesian frame .(x̂, ŷ) depicted in Fig. 10.10. Here .x̂ is the normal direction (normal
to the intercell boundary), while . ŷ is the tangential direction (parallel to the intercell
boundary). The rotation procedure rests on the choice of an underlying reference
direction; here we have chosen the Cartesian .x-direction as the reference direction,
from which angles .θs are measured, as shown in Fig. 10.10.
212 10 First-Order Methods for Systems
Note that in schemes (10.68) and (10.69) the computational elements, or cells, are
numbered by a single index.k. This is what distinguishes structured from unstructured
meshes. Further details are found in Chap. 16 of [9–11].
To compute a numerical flux across the intercell boundary .s we use the one-
dimensional equations in the rotated frame .(x̂, ŷ), see Fig. 10.10, namely
∂ Q̂ + ∂x̂ F̂ = 0 ,
. t (10.72)
where .F̂ = F(Q̂) is the flux for the augmented equations including the two
components of velocity. Each term in (10.68) and (10.69) is approximated as
∫ As+1
.Fs = T−1 −1
s F(Ts Q) d A ≈ Ls Ts F̂s , (10.73)
As
where .Ls is the length of segment . As As+1 and .F̂s is the intercell flux corresponding
to the augmented one-dimensional system (10.72).
10.6 Finite Volume Schemes in Multidimensions 213
To compute Godunov first-order upwind flux .F̂s we solve exactly the rotated local
Riemann problem in the normal direction to the boundary, at the cell interface .x =
xi+ 21 (locally at .0)
⎫
PDEs: ∂t Q̂ + ∂x̂ F̂(Q̂) = 0 , ⎬
(
. Q̂ L = Ts (Q L ) if x̂ < 0 , (10.74)
ICs: Q̂(x, 0) = ⎭
Q̂ R = Ts (Q R ) if x̂ > 0 .
Here.Q L is the state in the interior of the finite volume.V and.Q R is the state outside.V
separated from .Q L by the intercell boundary . As As+1 . See Fig. 10.10. For the shallow
water equations the exact Riemann solver is given in Chap. 6 for the wet bed case
and in Chap. 7 for the dry-bed case. Approximate Riemann solvers for (10.74) will
be presented in Chap. 11. Alternatively, one can also use centred fluxes for (10.74).
To complete the computation of .Fs in (10.73) we give formulae for the lengths .Ls in
(10.73), for the components of the outward unit normals .ns and for the areas of co-
planar quadrilateral finite volumes, with coordinates .(xs , ys ) for the vertices . As . We
first define
.Δx s ≡ x s+1 − x s , Δys ≡ ys+1 − ys . (10.75)
The components .cosθs and .sinθs of the outward unit normal .ns in (10.71) are
Δys Δxs
.cosθs = , sinθs = − . (10.77)
Δs Δs
Finally, the area of the co-planar quadrilateral .V is given by
1
|V | =
. |(x3 − x1 ) × (y4 − y2 ) − (y3 − y1 ) × (x4 − x2 )| . (10.78)
2
Given a mesh, structured or unstructured, all the necessary items have been spec-
ified and one can proceed to implement the fully discrete scheme (10.69). For the
semi-discrete scheme (10.68) one requires the choice of a solver for the system of
ordinary differential equations, see [38] and references therein. See also Chap. 13
on ODE solvers especially designed for semidiscrete methods.
214 10 First-Order Methods for Systems
Assume Cartesian cells . Ii, j of area .Δx × Δy, as shown in Fig. 10.11. The finite
volume formula (10.69) becomes
Δt Δt
j = Qi, j −
Qi,n+1 [Fi+ 21 , j − Fi− 21 , j ] − [G 1 − Gi, j− 21 ] .
n
. (10.79)
Δx Δy i, j+ 2
To verify this simultaneous update formula note that the outward unit normals for
sides .1 to .4 are
See Fig. 10.11. The fluxes (multiplied by a length) corresponding to each cell side are
∫ ⎫
A2
⎪
F1 = (F, G) · n d A = −Δx × Gi, j− 21 , ⎪
1 ⎪
⎪
⎪
⎪
A1
∫ A3 ⎪
⎪
⎪
⎪
F2 = (F, G) · n d A = Δy × Fi+ 21 , j , ⎪
2 ⎪
⎬
. ∫ A2A4 (10.81)
⎪
F3 = (F, G) · n3 d A = Δx × Gi, j+ 21 , ⎪⎪
⎪
⎪
A3 ⎪
⎪
∫ A1 ⎪
⎪
⎪
F4 = (F, G) · n d A = −Δy × Fi− 21 , j . ⎪
4 ⎪
⎭
A4
Fig. 10.11 Cartesian control volume .V in .x-. y space. The element has four edges, with cor-
responding four intercell numerical fluxes. Outward unit normal vectors for each side are
shown
10.6 Finite Volume Schemes in Multidimensions 215
In most of this book we are concerned with conservative numerical schemes based
on the conservative formula
Δt
Qin+1 = Qin −
. (F 1 − Fi− 21 ) . (10.82)
Δx i+ 2
Such schemes are completely determined once the numerical fluxes .Fi+ 21 have been
specified. In general, the numerical flux has the form
where the non-negative integers .k L and .k R depend on the particular choice of numer-
ical flux. In explicit methods the arguments are evaluated at the data time level .n. In
implicit methods arguments are evaluated at the unknown values at the new time level
.n + 1, but may also include data values at time level .n. We note that an important
Conservative methods (10.82) enjoy the so-called telescopic property. This prop-
erty says that the intercell flux .Fi+ 21 used to update the cell average .Qin must be iden-
n
tical to the intercell flux used to update the cell average .Qi+1 . Hence, on summation
of .Qi and .Qi+1 the flux at the boundary between the cells .i and .i + 1 cancels out.
n n
In other words, at every interface .xi+ 21 there can only be one intercell flux to update
both the left cell and the right cell.
216 10 First-Order Methods for Systems
More generally, assume the discretised domain of interest has leftmost and right-
most cells .i Le f t and .i Right and leftmost and rightmost intercell boundary fluxes .F Le f t
and .F Right . Then, summation applied to formula (10.82), premultiplied by .Δxi , gives
∑
i=i Right
∑
i=i Right
[ ]
. Δxi Qin+1 = Δxi Qin − Δt F Right − F Le f t . (10.85)
i=i Le f t i=i Le f t
That is, the total amount of the conserved variable .Q changes only because of the
fluxes through the end boundaries. The telescopic property of conservative methods
also holds in multiple space dimensions.
Here we present numerical results from some of the methods studied, namely the
Random Choice Method (RCM), the Godunov upwind method, and the FORCE
method. In order to assess the performance of the methods we use the test prob-
lems with exact solution given in Table 7.1 of Chap. 8. For all cases we consider
a channel of length . L = 50 m, discretised with a regular mesh of . M = 100 cells,
and safety coefficient . Sc = 0.9. Recall that .Cc f l = Sc × Clim ; .Clim = 1 for Godunov
and FORCE but .Clim = 21 for the Random Choice Method. Results for Test 1 are
shown at time.Tout = 7 s in Figs. 10.15, 10.16 and 10.17. Results for Test 2 are shown
at time .Tout = 2.5 s in Figs. 10.12, 10.13 and 10.14. Tests 3, 4 and 5 involve dry-bed
portions, for which we only show results from the Random Choice Method. See
Figs. 10.18, 10.19 and 10.20.
For Test 1, all methods used run successfully, see Figs. 10.12, 10.13 and 10.14. The
Godunov upwind method used in conjunction with exact Riemann solver, Fig. 10.12,
performs as expected from a first-order, monotone upwind method. There are no
visible oscillations in the vicinity of the shock wave on the right hand side; note
Fig. 10.12 Test 1: Godunov’s upwind method with exact Riemann solver (symbol) and exact
solution (line). Mesh . M = 100 and .Tout = 7 s
10.7 Numerical Results 217
Fig. 10.13 Test 1: RCM (symbol) and exact solution (line). Mesh . M = 100 and .Tout = 7 s
Fig. 10.14 Test 1: FORCE method (symbol) and exact solution (line). Mesh . M = 100 and .Tout =
7s
also that the shock wave is, on average, in the correct position, a consequence of the
conservative character of the method. The discontinuity is resolved quite sharply,
within two to three cells. The left rarefaction wave is reasonably well resolved,
apart from the so called entropy glitch, which is a small jump whose position coincides
with the occurrence of critical flow (or sonic flow), that is when .u = a. It is known
that the size of the jump in the entropy glitch in the Godunov method with the exact
Riemann solver tends to zero, as the mesh is refined. Linearised Riemann solvers,
in place of the exact Riemann solver used here, will give a very large jump in the
presence of critical flow and will not vanish with mesh refinement. In this case the
solution, locally, looks like a shock wave. But such shock wave is unphysical, as
it does not satisfy the entropy condition, for which it is called rarefaction shock or
entropy-violating shock.
The results from the Random Choice Method shown in Fig. 10.13 are very accu-
rate. The discontinuity is resolved with infinite resolution (true discontinuity), though
the smooth part of the flow exhibits random noise, typical of RCM. Results from the
FORCE method are shown in Fig. 10.14. These are typical of a centred method
(not upwind). There are no signs of spurious oscillations in the vicinity of the
218 10 First-Order Methods for Systems
Fig. 10.15 Test 2: Godunov’s upwind method with exact Riemann solver (symbol) and exact
solution (line). Mesh . M = 100 and .Tout = 2.5 s
Fig. 10.16 Test 2: RCM (symbol) and exact solution (line). Mesh . M = 100 and .Tout = 2.5 s
shock, as expected from a monotone method, though the resolution of the discon-
tinuity is poor, within .8 to .9 cells. Compare with RCM and the Godunov upwind
method. Although the resolution of the left rarefaction wave is inaccurate, there is
no entropy glitch at the critical point. The FORCE method is entropy satisfying,
as is the Godunov upwind method with a suitable Riemann solver. Again, compare
results with Godunov upwind and RCM for the same problem. The performance of
FORCE is inferior to that of the other two methods. The strength of FORCE is its
simplicity and generality. It can be applied to any first-order system in one space
dimension; its multidimensional extension is more involved [48, 49]. See also [51].
The results for Test 2 shown in Figs. 10.15, 10.16 and 10.17 add new elements
to the discussion. The exact solution is continuous and consists of two rarefaction
waves. However, there is a region of nearly zero water depth in the middle, as the
result of the two strong rarefaction waves propagating in opposite directions. Some of
the existing methods in the literature actually crush for this test, as a consequence
√ of
producing negative depths, which in turn results in complex celerity .a = gh. All
three methods tested run successfully for this test problem. We note the inaccuracy
of the Godunov upwind method for the velocity distribution, in the region of zero
10.7 Numerical Results 219
Fig. 10.17 Test 2: FORCE method (symbol) and exact solution (line). Mesh . M = 100 and .Tout =
2.5 s
Fig. 10.18 Test 3: RCM (symbol) and exact solution (line). Mesh . M = 100 and .Tout = 4 s
velocity in the exact solution. The best result is that of RCM, see Fig. 10.16. The
FORCE method of Fig. 10.17, due to its large numerical diffusion, successfully avoids
the problem of near vacuum. However, the velocity profile is very inaccurate in the
region of nearly zero velocity.
Results for Tests 3, 4 and 5 are shown in Figs. 10.18, 10.19 and 10.20. The exact
solution for these test problems involve dry-bed regions. In Test 3, the dry-bed region
is the initial state on the right hand side. In Test 4 the dry-bed region is the initial state
on the left hand side. In Test 5 with non-vacuum initial conditions, vacuum appears
as the result of the interaction of the two initial states, in the middle, creating two
wet/dry fronts. Numerical results are shown only for RCM, as all other methods are
not suitable to run on this kind of test problems.
Currently there is considerable interest in adapting/improving main-stream meth-
ods to deal with these special but practical situations. It is worth remarking that
for one-dimensional problems, such as Tests 3 to 5, RCM gives very good results,
particularly for the wet/dry front; see Figs. 10.18, 10.19 and 10.20. However, RCM
suffers from a major limitation, it does not work for multidimensional non-linear
systems under dimensional splitting [16]. However, Toro and Roe [57, 58] noted
that RCM could potentially work for linearly degenerate fields in multiple space
220 10 First-Order Methods for Systems
Fig. 10.19 Test 4: RCM (symbol) and exact solution (line). Mesh . M = 100 and .Tout = 4 s
Fig. 10.20 Test 5: RCM (symbol) and exact solution (line). Mesh . M = 100 and .Tout = 5 s
10.8 Conclusions
First-order methods for non-linear systems have been presented. Some of such meth-
ods will form the bases for the construction of non-linear higher-order schemes in
successive chapters. Schemes for one-dimensional hyperbolic balance laws were
first presented; these included the Godunov upwind method [1] in conjunction with
exact Riemann solver of Chaps. 6 and 7; the Random Choice Method (RCM) of
Glimm [2]; Flux-Vector Splitting (FVS) methods; and centred methods, such as the
Lax–Friedrichs [3], Lax–Wendroff [3] and FORCE methods [5]. The finite volume
framework for PDEs in multiple space dimensions on unstructured meshes is studied
in some detail, including the definition of semi-discrete and fully discrete schemes;
the rotated Riemann problem resulting from the rotational invariance property of the
two-dimensional shallow water equations; the definition of the intercell numerical
flux and determination of edge lengths, normals and computing cells areas in two
References 221
space dimensions. Some numerical examples are shown, in order to illustrate the
performance of selected schemes studied, as compared with exact solutions for a
suite of test problems.
References
1. S.K. Godunov, Finite difference methods for the computation of discontinuous solutions of the
equations of fluid dynamics. Mat. Sb. 47, 271–306 (1959)
2. J. Glimm, Solution in the large for nonlinear hyperbolic systems of equations. Comm. Pure.
Appl. Math. 18, 697–715 (1965)
3. P.D. Lax, B. Wendroff, Systems of conservation laws. Comm. Pure Appl. Math. 13, 217–237
(1960)
4. E.F. Toro, On Glimm–related schemes for conservation laws. Technical Report MMU–9602,
Department of Mathematics and Physics, Manchester Metropolitan University, UK (1996)
5. E.F. Toro, S.J. Billett, Centred TVD schemes for hyperbolic conservation laws. IMA J. Numer.
Anal. 20, 47–79 (2000)
6. E.F. Toro, L.O. Müller, A. Siviglia, Bounds for wave speeds in the Riemann problem: direct
theoretical estimates. Comput. Fluids 209(104640) (2020)
7. J.L. Guermond, B. Popov, Fast estimation of the maximum wave speed in the Riemann problem
for the Euler equations. J. Comp. Phys. 321, 908–926 (2016)
8. A.J. Chorin, Random choice solutions of hyperbolic systems. J. Comput. Phys. 22, 517–533
(1976)
9. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics. A Practical
Introduction (Springer, 1997)
10. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics. A Practical
Introduction, 2nd edn. (Springer, 1999)
11. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics. A Practical
Introduction, 3rd edn. (Springer, 2009)
12. A.J. Chorin, Random choice methods with applications to reacting gas flow. J. Comput. Phys.
25, 253–272 (1977)
13. G.A. Sod, A numerical study of a converging cylindrical shock. J. Fluid Mech. 83, 785–794
(1977)
14. P. Concus, W. Proskurowski, Numerical solution of a nonlinear hyperbolic equation by the
random choice method. J. Comput. Phys. 30, 153–166 (1979)
15. P. Colella, An analysis of the effect of operator splitting and of the sampling procedure on
the accuracy of Glimm’s method. Ph.D. thesis, Department of Mathematics, University of
California, USA (1978)
16. P. Colella, Glimm’s method for gas dynamics. SIAM J. Sci. Stat. Comput. 3(1), 76–110 (1982)
17. J.J. Gottlieb, Staggered and non-staggered grids with variable node spacing and local
timestepping for random choice method. J. Comput. Phys. 78, 160–177 (1988)
18. Z.C. Shi, J.J. Gottlieb, Random choice method for two dimensional planar and axisymmetric
steady supersonic flows. Technical Report 297, UTIAS, University of Toronto, Canada (1985)
19. E.F. Toro, A fast Riemann solver with constant covolume applied to the random choice method.
Int. J. Numer. Meth. Fluids 9, 1145–1164 (1989)
20. T. Saito, I.I. Glass, Application of random choice to problems in shock and detonation wave
dynamics. Technical Report UTIAS 240, Institute for Aerospace Studies, University of Toronto
(1979)
21. Y. Takano, An application of the random choice method to a reactive gas with many chemical
species. J. Comput. Phys. 67(1), 173–187 (1986)
22. G. Singh, J.F. Clarke, Transient phenomena in the initiation of a mechanically driven plane
detonation. Proc. Roy. Soc. Lond. A 438, 23–46 (1992)
222 10 First-Order Methods for Systems
23. A.S. Dawes, Natural Coordinates and High Speeed Flows. A Numerical Method for Reactive
Gases. Ph.D. thesis, College of Aeronautics, Cranfield Institute of Technology, UK (1992)
24. H. Olivier, H. Grönig, The random choice method applied to two-dimensional shock focusing
and diffraction. J. Comput. Phys. 63, 85–106 (1986)
25. G. Marshall, B. Plohr, A random choice method for two-dimensional steady supersonic shock
wave diffraction problems. J. Comput. Phys. 56, 410–427 (1984)
26. E. Marshall, R. Méndez, Computational aspects of the random choice method for shallow water
equations. J. Comput. Phys. 39, 1–21 (1981)
27. K.M. Li, M. Holt, Numerical solutions to water waves generated by shallow underwater
explosions. Phys. Fluids 24, 816–824 (1981)
28. J.L. Steger, R.F. Warming, Flux vector splitting of the inviscid gasdynamic equations with
applications to finite difference methods. J. Comput. Phys. 40, 263–293 (1981)
29. B. van Leer, Flux–vector splitting for the Euler equations. Technical Report ICASE 82–30,
NASA Langley Research Center, USA (1982)
30. M.S. Liou, C.J. Steffen, A new flux splitting scheme. J. Comput. Phys. 107, 23–39 (1993)
31. G.-C. Zha, E. Bilgen, Numerical solution of Euler equations by a new flux vector splitting
scheme. Int. J. Numer. Meth. Fluids 17, 115–144 (1993)
32. E.F. Toro, M.E. Vázquez-Cendón, Flux splitting schemes for the Euler equations. Comput.
Fluids 70, 1–12 (2012)
33. L. Bermúdez, M.E. Vázquez, Upwind methods for hyperbolic conservation laws with source
terms. Comput. Fluids 23, 1049–1071 (1994)
34. L. Bermúdez, A. Dervieux, J.A. Desideri, M.E. Vázquez, Upwind schemes for the two-
dimensional shallow water equations with variable depth using unstructured meshes. Comput.
Methods Appl. Mech. 155, 49–72 (1998)
35. A.T. Morel, M. Fey, Multi-dimensional method of transport for the shallow water equations.
Priv. Commun. (1994)
36. E.F. Toro, C.E. Castro, D. Vanzo, A. Siviglia, A flux-vector splitting scheme for the shallow
water equations extended to high-order on unstructured meshes. Int. J. Numer. Methods Fluids
(2022) https://doi.org/10.1002/fld.5099
37. E.F. Toro, A. Siviglia, A. Spilimbergo, L.O. Müller, Advection-pressure splitting schemes for
the equations of blood flow in arteries. Conservative and non-conservative forms. East Asian
J. Appl. Math. (2024)
38. E.F. Toro, L.O. Müller, Computational Bodily Fluid Dynamics. Models and Algorithms (to
appear) (Springer, 2024)
39. S. Busto, M. Dumbser, A staggered semi-implicit hybrid finite volume/finite element scheme
for the shallow water equations at all Froude numbers. Appl. Numer. Math. 175, 108–132
(2022)
40. W. Boscheri, M. Tavelli, C.E. Castro, An all Froude high order IMEX scheme for the shallow
water equations on unstructured Voronoi meshes. Appl. Numer. Math. 185, 311–335 (2023)
41. E.F. Toro, A. Hidalgo, S.A. Tokareva, On HLL-type schemes for hyperbolic equations: wave-
speed estimates. Monotonicity and stability. Comput. Fluids (2023)
42. A. Spilimbergo, E.F. Toro, A. Siviglia, L.O. Müller, Flux vector splitting schemes applied to a
conservative 1D blood flow model with transport for arteries and veins. Comput. Fluids 271,
106165 (2024)
43. A. Lucca, S. Busto, L.O. Müller, E.F. Toro, M. Dumbser, A semi-implicit finite volume scheme
for blood flow in elastic and viscoelastic vessels. J. Comput. Phys. 495, 112530 (2023)
44. A. Siviglia, D. Vanzo, E.F. Toro, A splitting scheme for the coupled Saint Venant-Exner model.
Adv. Water Res. 159, 104062 (2022)
45. S.K. Godunov, A.V. Zabrodin, G.P. Prokopov, A difference scheme for two-dimensional
unsteady aerodynamics. J. Comp. Math. Math. Phys. USSR 2(6), 1020–1050 (1961)
46. G.Q. Chen, E.F. Toro, Centred schemes for non-linear hyperbolic equations. Technical report,
Isaac Newton Institute for Mathematical Sciences, University of Cambridge, UK (2003)
47. G.Q. Chen, E.F. Toro, Centred schemes for non-linear hyperbolic equations. J. Hyperb. Diff.
Equ. 1(1), 531–566 (2004)
References 223
48. E.F. Toro, A. Hidalgo, M. Dumbser, FORCE Schemes on unstructured meshes I: conser-
vative hyperbolic systems. Isaac Newton Institute for Mathematical Sciences, University of
Cambridge, UK. Preprint NI09005-NPA, September 2008. Submitted to J. Comput. Phys.
(2008)
49. M. Dumbser, M.J. Castro, C. Parés, E.F. Toro, A. Hidalgo, FORCE schemes on unstructured
meshes II: non-conservative hyperbolic systems. Comput. Methods Appl. Mech. Eng. 199(9–
12), 625–647 (2010)
50. M. Dumbser, M.J. Castro, C. Parés, E.F. Toro, ADER schemes on unstructured meshes for
nonconservative hyperbolic systems: applications to geophysical flows. Comput. Fluids 38(9),
731–1748 (2009)
51. E.F. Toro, B. Saggiorato, S. Tokareva, A. Hidalgo, Low-dissipation centred schemes for hyper-
bolic equations in conservative and non-conservative form. J. Comput. Phys. 416(109545)
(2020)
52. H. Nessyahu, E. Tadmor, Non-oscillatory central differencing for hyperbolic conservation laws.
J. Comput. Phys. 87, 408–463 (1990)
53. G.S. Jiang, E. Tadmor, Non-oscillatory central schemes for multi-dimensional hyperbolic
conservation laws. SIAM J. Sci. Comput. 19(6), 1892–1917 (1998)
54. F. Bianco, G. Puppo, G. Russo, High order central schemes for hyperbolic systems of
conservation laws. SIAM J. Sci. Comput. 21, 294–322 (1999)
55. R. Liska, B. Wendroff, Analysis and computation with stratified fluid models. J. Comput. Phys.
137, 212–244 (1997)
56. R. Liska, B. Wendroff, Two-dimensional shallow water equations by composite schemes. Int.
J. Numer. Methods Fluids 30, 461–479 (1999)
57. E.F. Toro, P.L. Roe, A hybrid scheme for the Euler equations using the random choice and
Roe’s methods, in Numerical Methods for Fluid Dynamics III. The Institute of Mathematics
and its Applications Conference Series, New Series No. 17, ed. by Morton, Baines (Oxford
University Press, New York, 1988), pp. 391–402
58. E.F. Toro, Random choice based hybrid schemes for one and two-dimensional gas dynamics,
in Proceedings of the Second International Conference on Hyperbolic Problems, Aachen,
Germany, March 1988. Non–linear Hyperbolic Equations-Theory, Computation Methods and
Applications. Notes on Numerical Fluid Mechanics, vol. 24, ed. by R. Jeltsch, J. Ballmann, pp.
630–639 (Vieweg, Braunschweig, 1989)
59. M.J. Ivings, E.F. Toro, D.M. Webber, Numerical schemes for 2D shallow water equations
including dry fronts. J. Comput. Fluid Dyn. 12(1), 41–52 (2003)
Chapter 11
Approximate Riemann Solvers
Abstract A full range of .10 approximate Riemann solvers for the shallow water
equations written in conservative and non-conservative forms have been presented,
along with a discussion on criteria to judge their quality in comparison with the exact
solver. A first criterion is whether a solver is linear or non-linear and whether a linear
solver is accompanied with an effective entropy fix to exclude unphysical entropy-
violating shocks. A second criterion is whether a solver is complete, that is whether
or not the number of waves .W in its wave model matches that of the exact solver
. N . For incomplete Riemann solvers . W < N , which is usually associated with the
exclusion of intermediate characteristic fields in the wave model, thus resulting in
excessive numerical dissipation for contact waves and vortical flows. Also included
in this chapter are FORCE-type centred methods especially adapted to systems in
non-conservative form. These methods do not require the explicit solution of the
Riemann problem and may be placed at the bottom of the hierarchy of Riemann
solvers. All the methods studied give directly a first-order accurate method of the
Godunov type and can be extended to construct non-linear high order schemes in the
frameworks of finite volumes and discontinuous Galerkin finite elements.
To compute numerical solutions by Godunov-type methods, one can use the exact
Riemann solvers of Chaps. 6 or 7, or approximate Riemann solvers, which is the
subject of this chapter. Approximate Riemann solvers, if used judiciously, can provide
effective computational tools at a competitive cost. The theoretical bases for each
of the approximate Riemann solvers given here are found in the textbooks [1–3].
Choosing between the exact and approximate Riemann solvers is motivated by (i)
computational cost, (ii) simplicity and ease of implementation, and (iii) correctness.
Correctness should be the overriding criterion. For the shallow water equations, the
argument of computational cost is not as strong as for other fields of application,
compressible fluids with general equations of state, for example.
We are concerned with solving numerically the general initial-boundary value
problem (IBVP) for the augmented one-dimensional shallow water equations
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 225
E. F. Toro, Computational Algorithms for Shallow Water Equations,
https://doi.org/10.1007/978-3-031-61395-1_11
226 11 Approximate Riemann Solvers
⎫
PDEs: ∂t Q + ∂x F(Q) = S(Q) , x ∈ [a, b] , t > 0 , ⎪
⎬
. ICs: Q(x, 0) = Q(0) (x) , x ∈ [a, b] , (11.1)
⎪
⎭
BCs: Q(a, t) = B L (t) , Q(b, t) = B R (t) , t ≥ 0 .
Q(x, t) is the vector of conserved variables; .F(Q) is the flux vector, or physical flux;
.
S(Q) is the source term vector;.Q(0) (x) is the initial condition;.B L (t) and.B R (t) are the
boundary conditions on the left (.x = a) and right (.x = b) boundaries, respectively,
two prescribed functions of time. The aim is to apply Godunov-type methods based
on the explicit conservative formula for the homogenous version of the system in
(11.1), namely
Δt
n+1
.Qi = Qin − [F 1 − Fi− 21 ] . (11.2)
Δx i+ 2
In Chap. 10 we defined the Godunov upwind [4] intercell numerical flux as
in which .Qi+ 21 (0) is the exact similarity solution .Qi+ 21 (x/t) of the Riemann problem
⎫
∂t Q + ∂x F(Q) = 0 , ⎪
⎪
( ⎬
. QL = Qi i f x < xi+ 21 ,
n
(11.4)
Q(x, 0) = ⎪
⎪
QR = Qi+1
n
i f x > xi+ 21 . ⎭
As noted in Chap. 10, the Riemann problem (11.4) is solved in local coordinates,
still denoted by .x and .t, and the Godunov state results from evaluating the solution
.Qi+ 1 (x/t) at . x/t = 0.
2
For the .x-split two-dimensional (2D) shallow water equations or for the one-
dimensional (1D) equations with an extra equation for a passive scalar .ψ(x, t) the
vectors of conserved variables and fluxes are
⎡ ⎤ ⎡ ⎤
h hu
.Q = ⎣ hu ⎦ , F = ⎣ hu 2 + 21 gh 2 ⎦ . (11.5)
hψ huψ
Fig. 11.1 Structure of the exact solution of the Riemann problem for the .x-split two-dimensional
shallow water equations. There are three wave families associated with the eigenvalues.λ1 = u − a,
.λ2 = u and .λ3 = u + a. There are four constant regions separated by three wave families
The quantity .ψ gives rise to the middle eigenvalue .λ2 = u and a corresponding
middle, discontinuous wave. Figure 11.1 displays the structure of the solution of
the Riemann problem (11.4) for the .x-split 2D shallow water equations. There are
four constant regions .Rk separated by three wave families associated with three
eigenvalues .λ1 = u − a, .λ2 = u and .λ3 = u + a. The value of the solution along
. x/t = 0 corresponds to the .t-axis and is the value required for the computation of
the Godunov flux. See Chaps. 6 and 7 for details on the exact solution of the Riemann
problem.
There are essentially two ways of extracting approximate information from the
Riemann problem to be used in the computation of the intercell numerical flux in
(11.2). One way is to look for an approximation to the Godunov state to then use
in the flux evaluation (11.3). Approximations of this type are called approximate-
state Riemann solvers. Another way, perhaps more popular, is to directly look for an
approximation to the flux.
Criteria for Judging Approximate Riemann Solvers
Before entering the subject of approximate Riemann solvers it is relevant to point out
two important criteria to consider when approximating the solution. A first criterion
is whether a solver is linear or non-linear and whether a linear solver is accompanied
with an effective entropy fix to exclude the computation of unphysical entropy-
violating shocks. A second criterion is whether a solver is complete, that is whether
or not the number of waves .W in its wave model matches that of the exact solver . N .
For incomplete Riemann solvers .W < N , which results in neglecting intermediate
characteristic fields, such as those associated with contact waves in the case of species
transport equations added to the one-dimensional shallow water equations and in the
case of vortical flows in the two-dimensional equations. Incomplete Riemann solvers
result in excessive numerical dissipation for the neglected characteristic fields.
In the next section we study approximate-state Riemann solvers.
228 11 Approximate Riemann Solvers
This section is concerned with finding an approximate solution for a state.Wi+ 21 (x/t)
to the Riemann problem (11.4). We fist describe the general framework for doing so.
where .Wi+ 21 (0) is the appropriate value along the .t-axis. The process of finding the
approximate solution .Wi+ 21 (x/t) has two steps. In the first step one computes an
approximate solution for the variables .h, u, ψ in the Star Region, see Fig. 11.1. In
the second step one samples the solution to obtain the correct values along the .t-axis
and evaluate the Godunov flux as in (11.7).
Recall that in the exact Riemann solver, see Chap. 6, the solution for .h ∗ in the
Star Region is iterative; the solution for .u ∗ follows directly from the solution .h ∗ and
so does the solution for .ψ. As a matter of fact, the complete solution for .ψ(x, t) is
simply ⎧ x
⎪
⎨ ψ L if ≤ u∗ ,
t
.ψ(x, t) = x (11.8)
⎪
⎩ ψ R if t > u ∗ .
In fact the problem of finding approximate solutions for.h ∗ and.u ∗ in the Star Region is
decoupled from that of finding the solution to .ψ. The resulting approximate Riemann
solvers will thus provide a solution for .ψ that is in a sense exact; the only approxima-
tion lies in the approximation to the normal velocity component.u ∗ in the Star Region.
The fact that the solution for .ψ is virtually exact has important consequences when it
comes to computing vortical flows in two dimensions,.ψ = v, and contact discontinu-
ities in one-dimensional pollutant transport models. The approximate-state Riemann
solvers provide good resolution of these waves associated with linearly-degenerate
fields. Some of the well known approximate Riemann solvers give the incorrect
solution for these waves, leading to incorrect or inaccurate numerical results.
Having found an approximate solution for the Star Region, one then proceeds to
sample the complete solution .Wi+ 21 (x/t), as done for the exact Riemann problem
solution in Chap. 6. For the wet bed case this requires the identification of one out
of ten wave patterns, see Chap. 10, to find the sought value .Wi+ 21 (0) and thus to
evaluate the Godunov flux as in (11.7). Note that in the presence of a sonic or
critical rarefaction the approximate Godunov method will pick up the solution inside
11.2 Approximate-State Riemann Solvers 229
the rarefaction, along the .t-axis, in which case the solution is exact and is given in
closed form. From results of Chap. 6, for left and right critical or sonic rarefactions
we obtain
)
Left critical rarefaction: a = 13 (u L + 2a L ) , u = 13 (u L + 2a L ) ,
. (11.9)
Right critical rarefaction: a = 13 (−u R + 2a R ) , u = 13 (u R − 2a R ) .
Next we study four ways of finding approximate solutions for .h ∗ and .u ∗ , and
hence for .ψ∗ , in the Star Region.
where ⎡ ⎤ ⎡ ⎤
h u h 0
.W = ⎣ u ⎦ , A(W) = ⎣ g u 0 ⎦ . (11.11)
ψ 0 0 u
. Ŵ = 21 (W L + W R ) , (11.13)
We now solve this approximate system exactly by using any of the techniques studied
in Chaps. 3, 4 and 5. The solution in the Star Region is
⎫
h ∗ = 21 (h L + h R ) + 21 (u L − u R )/C , ⎪
⎪
⎬
. u ∗ = 2 (u L + u R ) + 2 (h L − h R )C ,
1 1
(11.15)
√ ⎪
⎪
⎭
C = 2 g/(h L + h R ) .
230 11 Approximate Riemann Solvers
This Riemann solver is very simple indeed but not sufficiently robust to be used in all
circumstances. This is particularly so for cases involving strong rarefactions leading
to very shallow water; this primitive variable Riemann solver will give negative
depths well before the depth positivity condition in the exact Riemann solver of
Chap. 6 has been reached. A simple correction to the Riemann solver (11.15) produces
a surprisingly robust scheme; this is the subject of the next section.
u R − u L ≤ C(h L + h R ) .
. (11.17)
2(a L + a R )
C=
. ,
hL + hR
which leads to solutions .h ∗ and .u ∗ for depth and particle velocity in the Star Region,
namely
⎫
h ∗ = 21 (h L + h R ) − 41 (u R − u L )(h L + h R )/(a L + a R ) , ⎬
. (11.18)
⎭
u ∗ = 21 (u L + u R ) − (h R − h L )(a L + a R )/(h L + h R ) .
This solver has, by construction, the same depth-positivity condition as the exact
Riemann solver. Our limited experience suggests that this solver is also very robust
for shock waves. The solution for the passive scalar .ψ(x, t) is given by (11.8) and in
the presence of critical flow one uses the exact solution given by (11.9).
11.2 Approximate-State Riemann Solvers 231
This approximate Riemann solver is based on the exact Riemann solver presented
in Chap. 6. If in the depth function . f (h) one assumes the rarefaction branches, then
a closed-form solution .h ∗ for . f (h) = 0 is obtained. Under the same assumption, a
closed-form solution is obtained for .u ∗ . The result is
[ ]2 ⎫
⎪
(a L + a R ) + (u L − u R ) , ⎪
1 1 1
h∗ = ⎬
. g 2 4 (11.19)
1 ⎪
⎪
u ∗ = (u L + u R ) + a L − a R . ⎭
2
The solution for .ψ(x, t) is given by (11.8), and in the presence of critical flow one
uses the exact solution given by (11.9).
This approximate Riemann solver results from evaluating the depth function . f (h)
in the exact Riemann solver of Chap. 6 under the assumption that both non-linear
waves are shocks. We obtain
⎫
g L (h 0 )h L + g R (h 0 )h R + u L − u R ⎬
h∗ = ,
. g L (h 0 ) + g R (h 0 ) (11.20)
⎭
u ∗ = 21 (u L + u R ) + 21 [(h ∗ − h R )g R (h 0 ) − (h ∗ − h L )g L (h 0 )] .
Here /
1 h0 + h K
g (h 0 ) =
. K g , (11.21)
2 h0h K
Solution Sampling
For the approximate-state Riemann solvers studied, once the star values are obtained
approximately, one must then perform a solution sampling procedure to find the
correct approximation to the Godunov state for flux evaluation (11.7). Such sampling
involves the use of the solution for .ψ(x, t) as given by (11.8) and the detection of
232 11 Approximate Riemann Solvers
critical flow, for which one uses the exact solution given by (11.9). To implement the
sampling procedure I suggest to follow Chap. 6.
Next we study approximate Riemann solvers in which an approximation to the
numerical flux is obtained directly.
Harten, Lax and van Leer [5] suggested a way of solving the Riemann problem
approximately by finding directly an approximation to the numerical flux .Fi+ 21 . The
mathematical bases of the approach are given in Chap. 10 of [1–3], where Riemann
solvers for the three-dimensional Euler equations are derived.
The HLL (Harten, Lax and van Leer) approach assumes estimates . SL and . S R for
the smallest and largest signal velocities in the solution of the Riemann problem with
data.U L ≡ Uin , U R ≡ Ui+1
n
and corresponding fluxes.F L ≡ F(U L ),.F R ≡ F(U R ); see
Fig. 11.2. Intermediate waves, such as shear waves and contact discontinuities, arising
when species equations are added to the basic shallow water equations, are ignored in
this approach. By applying the integral form of the conservation laws in appropriate
control volumes, one derives the flux .Fhll for the intermediate region of Fig. 11.2.
Therefore the HLL flux, after sampling, becomes
⎧
⎪ F if SL ≥ 0 ,
⎪ L
⎨
Fi+ 21 = S R F L − SL F R + S R SL (U R − U L ) (11.22)
.
⎪ Fhll ≡ if SL ≤ 0 ≤ S R ,
⎪
⎩ S R − SL
FR if S R ≤ 0 .
Fig. 11.2 HLL two-wave model for the Riemann problem solution. Estimates . SL and . S R for the
left and right waves need to be prescribed
11.4 HLLC Riemann Solvers 233
As to the wave speed estimates. SL and. S R , there are several possible choices available.
The positive experience gained from gas dynamics [6, 7] suggests the following
choice
. SL = u L − a L q L , SR = u R + a R q R , (11.23)
where .q K (. K = L , R) is given by
⎧[ [ ]
⎪ |
⎨|
⎪
√ 1 (ĥ + h K )ĥ if ĥ > h K ,
.q K = 2 h 2K (11.24)
⎪
⎪
⎩
1 if ĥ ≤ h K .
Here .ĥ is an estimate for the exact solution .h ∗ in the Star Region. Various choices for
ĥ suggest themselves from the previously given approximate-state Riemann solvers,
.
but I strongly recommend (11.19). This is theoretically justified in the recent work
of Toro et al. [8], where this choice is proved theoretically to bound the maximal and
minimal wave speeds in the Riemann problem for the shallow water equations. See
also the important, earlier works of Guermond and Popov [9].
The two-wave model (.W = 2) of the HLL Riemann solver is complete for the
purely one-dimensional problem without extra species-like equations. For the aug-
mented system allowing for shear waves or species equations (. N = 3) the HLL solver
is incomplete and is thus inadequate; it ignores the middle wave. This results in exces-
sive smearing of vortices and contact discontinuities; see Chap. 10 of [1–3]. This
unsatisfactory situation motivates the introduction of the HLLC modification, which
is discussed next.
The HLLC approximate Riemann solver [6, 7] is a modification of the basic HLL
scheme to account for the presence of intermediate waves. Full details on the HLLC
approach are given in Chap. 10 of [1–3]. A review of HLLC is presented in [10],
where extension to the shallow water equations is included. Figure 11.3 illustrates
the assumed three-wave model of the HLLC Riemann solver.
There are now two distinct fluxes for the Star Region; compare this with the wave
structure of the HLL solver of Fig. 11.2. In addition to the wave speed estimates . SL
and . S R in the HLL solver, we now need an estimate . S∗ for the speed of the middle
wave. In the exact Riemann solver . S∗ = u ∗ . Assuming all wave speed estimates are
available, we can write the HLLC numerical flux in sampled form as
234 11 Approximate Riemann Solvers
Fig. 11.3 HLLC Riemann solver for .x-split 2D shallow water equations
⎧
⎪ F if 0 ≤ SL ,
⎪ L
⎪
⎨F if SL ≤ 0 ≤ S∗ ,
∗L
hllc
Fi+
. = (11.25)
⎪ F∗R
1
2
⎪ if S∗ ≤ 0 ≤ S R ,
⎪
⎩
FR if 0 ≥ SR .
Here )
F∗L = F L + SL (Q∗L − Q L ) ,
. (11.26)
F∗R = F R + S R (Q∗R − Q R ) ,
These are obtained from manipulating (11.26) and making assumptions consistent
with the exact solution. See [10] for details.
The wave speed estimates for . SL and . S R are as in (11.23)–(11.24) for the HLL
Riemann solver. Estimates for the middle wave speed . S∗ can be provided in a variety
of ways. For instance one can employ the approximate solution values for the particle
speed .u ∗ given by (11.18), (11.19) or (11.20). An attractive choice is furnished by
SL h R (u R − S R ) − S R h L (u L − SL )
S =
. ∗ . (11.28)
h R (u R − S R ) − h L (u L − SL )
This is obtained from manipulations of (11.26). The first component of the first vector
equation gives an expression for .h ∗L ; similarly, the first component of the second
vector equation gives an expression for .h ∗R . Assuming .h ∗L = h ∗R , which is actually
correct in the exact Riemann solver, expression (11.28) for . S∗ follows. This wave
11.5 The Rusanov and Lax-Friedrichs Schemes 235
speed estimate for . S∗ has the remarkable property of being exact when one of the
data states is a dry bed state, in which case . S∗ is the speed of the wet/dry front;
see Chap. 7. In Sect. 11.10 of this chapter we shall discuss the issue of approximate
Riemann solvers for the dry-bed case in more detail.
The HLL approximate Riemann solver studied in Sect. 11.3 provides a useful frame-
work to discuss the relationship between upwind and centred methods. Suppose a
positive wave speed estimate . S + is available. Then we set
S = −S + ,
. L SR = S+ . (11.29)
Wave speed estimates for . SL and . S R were given in Sect. 11.3, from which a very
simple estimate for . S + is
+
.S = max {|SL |, |S R |} . (11.30)
1 1
Rus
Fi+
. 1 = (F L + F R ) − S + (Q R − Q L ) . (11.31)
2 2 2
This upwind scheme has the lowest explicit level of upwinding. The approximate
structure for the corresponding Riemann problem contains a single wave. Rusanov’s
method is based on a one-wave model and is therefore an incomplete Riemann solver
for any system of PDEs.
The choice of . S + for (11.31) is restricted; it must bound all signals present at the
time level .n. For stability one requires
Δx
. S+ ≤ . (11.32)
Δt
Here . Δx
Δt
is the mesh speed and must bound all other wave speeds. Choosing the
largest possible speed consistent with stability, namely
Δx
. S+ = , (11.33)
Δt
results in the Lax-Friedrichs flux
1 1 Δx
1 = (F L + F R ) − (Q R − Q L ) .
LF
.Fi+ (11.34)
2 2 2 Δt
236 11 Approximate Riemann Solvers
The Lax-Friedrichs method, a centred method, can then be seen as the extreme case
of a Godunov method with the lowest possible level of upwinding. See Chap. 10.
Roe’s approximate Riemann solver was first constructed for the Euler equations [11].
Details are given in Chap. 11 of [1–3]. Glaister [12] appears to be the first to have
applied the Roe approach to the shallow water equations. He followed the Roe-Pike
approach [13] to derive the approximate Riemann solver. See also [14].
The Roe Riemann solver begins by approximating the non-linear system in (11.4),
∂ Q + ∂x F(Q) ≡ ∂t Q + A(Q)∂x Q = 0 ,
. t (11.35)
where .A(Q) is the Jacobian matrix, by a linear system with constant coefficients,
namely
.∂t Q + Ã∂ x Q = 0 . (11.36)
The constant coefficient matrix.Ã, the Roe matrix, is an approximation to the Jacobian
matrix.A, and is found in terms of the data states.Q L and.Q R of the Riemann problem.
In practice it is more convenient to work with the primitive variable vectors .W L and
.W R , with .W = [h, u, ψ] , where .ψ is a passive scalar.
T
The basic step in the Roe approximate Riemann solver is to find average values .h̃,
.ã, .ũ and .ψ̃ for the depth .h, the celerity .a, the velocity component .u and the passive
scalar .ψ. The Roe-Pike approach [13] yields the following averages, called the Roe
averages: √ √ ⎫
uL hL + uR hR ⎪
ũ = √ √ ,⎪
⎪
⎪
h + h ⎪
⎪
√ L √L
⎪
ψL h L + ψ R h R ⎪ ⎪
ψ̃ = √ √ ,⎬
. hL + hL (11.37)
√ ⎪
⎪
h̃ = hLhR , ⎪
⎪
⎪
⎪
/ ⎪
⎪
⎪
⎭
ã = (a
1 2
2 L
+ a 2
R ) .
λ̃ = ũ − ã ,
. 1 λ̃2 = ũ , λ̃3 = ũ + ã , (11.38)
11.6 Roe’s Approximate Riemann Solver 237
or ∑
Qi+ 21 (0) = Qi+1
.
n
− α̃ j R̃( j) . (11.42)
λ̃ j ≥0
1∑
3
1 n
.Qi+ 21 (0) = (Qi + Qi+1
n
)− sign(λ̃ j )α̃ j R̃( j) . (11.43)
2 2 j=1
or ∑
Fi+ 21 = F(Qi+1
.
n
)− α̃ j λ̃ j R̃( j) , (11.45)
λ̃ j ≥0
or
1[ ] 1∑ 3
Fi+ 21 =
. F(Qin ) + F(Qi+1
n
) − α̃ j |λ̃ j |R̃( j) . (11.46)
2 2 j=1
238 11 Approximate Riemann Solvers
This numerical flux used in conjunction with the conservative formula (11.2), will
give a Godunov-type method of first-order accuracy. Being a linearised solver, the
Roe solver requires an entropy fix to be used in practice; this is the subject of the next
section.
Here we present the Harten and Hyman entropy fix [15], details of which as applied
to the Euler equations are given in Chap. 11 of [1–3]. See also the book by LeVeque
[16].
Suppose the Roe approximate eigenvalue .λ̃1 = ũ − ã corresponding to the left
non-linear wave is close to zero .(|λ̃1 | ≈ 0). Then the wave can be a slowly moving
shock wave or a sonic or critical rarefaction. It is the rarefactions that require the
entropy fix. An obvious way of discriminating between the two cases is to compare
the characteristic speeds on the left and right of the wave. We compute
λ
. 1L = u L − aL , λ1R = u ∗ − a∗ . (11.47)
We note that finding .λ1R requires an estimate for the state .Q∗ in the Star Region;
details to be given later.
The entropy fix is needed only if the left wave is a rarefaction, that is .λ1L ≤ λ1R ,
and is sonic or critical, namely
λ
. 1L = u L − a L < 0 , λ1R = u ∗ − a∗ > 0 . (11.48)
In order to implement the entropy fix, one splits the total jump across the left wave
propagating at speed .λ̃1 into two smaller jumps propagating with speeds .λ1L and
.λ1R . As a result, the Roe average eigenvalue .λ̃1 appearing in the expression (11.46)
For a right sonic rarefaction of the family .λ3 = u + a, the procedure is entirely
analogous. If .|λ3 | is close to zero, we consider the speeds
λ
. 3L = u ∗ + a∗ , λ3R = u R + a R . (11.50)
If in addition .λ3L < 0 and .λ3R > 0 then a right sonic or critical rarefaction is present
and the entropy fix must be enforced by replacing the Roe average eigenvalue .λ̃3
appearing in the expression (11.46) for the intercell flux by the modified eigenvalue
11.7 The Riemann Solver of Osher and Solomon 239
[ ]
λ3R − λ̃3
λ̄ = λ̃3
. 3 . (11.51)
λ3R − λ3L
The implementation of the entropy fix requires estimates for the state.Q∗ in the Star
Region. In particular, we require .u ∗ and .a∗ in (11.48) and (11.50). There are several
ways of obtaining these values. One obvious possibility is to compute the state .Q∗
arising from the Roe linearisation by using the methods of Chap. 3 for linear systems
with constant coefficients. Alternatively, we may use approximate-state Riemann
solvers from Sect. 11.2.
A final point related to the entropy fix concerns a criterion for deciding when .|λ̃1 |
and .|λ̃3 | are small. The magnitude of a wave speed is best assessed with reference to
the distances and times involved. An obvious possibility is to relate .λ̃k to the mesh
sizes .Δx, Δt by defining a Courant number
|λ̃k |Δt
c̃ =
. k . (11.52)
Δx
c̃ ≤ T O L ,
. k (11.53)
where .T O L is some small positive number. Recall that the Courant number is effec-
tively the proportion of the cell width .Δx covered in time .Δt. Therefore, as a rule of
thumb I would suggest using .T O L = 0.1.
A strong point of the Roe solver is that it is complete, that is the number .W of
waves in its wave model matches. N , the number of waves in the exact Riemann solver.
As it stands, however, the Roe solver cannot strictly handle situations involving dry
bed states. The trick of wetting the bed a little might seem to work but it is incorrect.
This point will be discussed in more detail in Sect. 11.10. See the work of Dodd [17].
The Osher-Solomon approximate Riemann solver [18, 19] was presented for a gen-
eral system of hyperbolic conservation laws in Chap. 12 of [1–3]. Details of the solver
for the Burgers equation, for the isothermal equations and for the time-dependent
Euler equations are also given there. The scheme for the shallow water equations is
given here in a very succinct form.
Let us assume a hyperbolic system of . N equations in (11.1). The Osher-Solomon
Riemann solver begins by splitting the Jacobian matrix .A(Q) as
where.A+ (Q) has non-negative eigenvalues and.A− (Q) has non-positive eigenvalues.
The scheme then assumes that there exist vector-valued functions .F+ (Q) and .F− (Q)
that satisfy
+ −
.F(Q) = F (Q) + F (Q) (11.55)
and
∂F+ ∂F−
. = A+ (Q) , = A− (Q) . (11.56)
∂Q ∂Q
and ∫ Q1
. A+ (Q) dQ = F+ (Q1 ) − F+ (Q0 ) ,
Q0
or ∫ Q1
. Fi+ 21 = F(Q1 ) − A+ (Q) dQ , (11.60)
Q0
or the average
∫ Q1
1 1
Fi+ 21 =
. [F(Q0 ) + F(Q1 )] − |A(Q)| dQ . (11.61)
2 2 Q0
Here we shall adopt (11.59) for the Osher-Solomon flux. The integral requires an
integration path in phase space. For the Osher-Solomon scheme one selects par-
tial integration paths . I1 (Q), . I2 (Q) and . I3 (Q) such that they intersect at a single
intersection point
.Qi/N = Ii (Q) ∩ Ii+1 (Q) (11.62)
11.7 The Riemann Solver of Osher and Solomon 241
Figure 11.4 illustrates the choice of integration paths for the case of the augmented
shallow water equations. The vectors .Q0 , Q1/3 , Q2/3 and .Q1 are vectors in phase
space and can be thought of as being the four constant states arising in the exact solu-
tion to the corresponding Riemann problem represented in .x-.t space, as in Fig. 11.4.
The points .Q S0 and .Q S1 are representations of potential sonic points that may arise
from the non-linear fields associated with the eigenvalues .λ1 (Q) and .λ3 (Q).
The determination of the intersection points .Qi/N and the sonic points .Q S0 and
.Q S1 requires, to some extent, information about the solution of the Riemann problem.
We find these points using Riemann invariants; see Chap. 4. In order to compute the
numerical flux .Fi+ 21 using the Osher-Solomon Riemann solver, there are a total of
.16 cases to take care of. These are given in Table 11.1. We omit the details of the
derivation. The intersection points .Q 21 and .Q 23 are found from applying Riemann
invariants, see Chap. 4. These give the solution for the unknown vectors
⎡ ⎤ ⎡ ⎤
h 31 h2
⎢ ⎥ ⎢ 3⎥
.W 1 = ⎣ u 1 ⎦ , W 2 = ⎣u2 ⎦ . (11.64)
3 3 3 3
ψ 13 ψ 23
as
⎫
h 31 = h 23 = [ 21 (a L + a R ) − 41 (u R − u L )]2 /g , ⎪
⎪
⎪
u 1 = u 2 = 1 (u L + u R ) + a L − a R , ⎬
2
.
3 3
(11.65)
ψ 13 = ψ0 , ⎪
⎪
⎪
⎭
ψ 23 = ψ1 .
242 11 Approximate Riemann Solvers
Table 11.1 The Osher-Solomon flux formulae for the augmented shallow water equations using
P-ordering of integration paths, .Fk ≡ F(Qk )
u 0 − a0 ≥ 0 u 0 − a0 ≥ 0 u 0 − a0 ≤ 0 u 0 − a0 ≤ 0
. . . .
u 1 + a1 ≥ 0 u 1 + a1 ≤ 0 u 1 + a1 ≥ 0 u 1 + a1 ≤ 0
u∗ ≥ 0 F0 + F1 F S0 − F S1
. .F0 . .F S0 .
u∗ − a 1 ≥ 0 −F S1 +F1
3
F0 − F S0
u∗ ≥0 F0 − F S0 F1 + F 1
. . . +F 1 − F S1 .F 1 . 3
u∗ − a1 ≤ 0 +F 1 3 3 −F S1
3 3 +F1
F0 − F S0
u∗ ≤ 0 F0 − F S0 F 2 − F S1
. . . +F 2 − F S1 .F 2 . 3
u∗ + a 2 ≥ 0 +F 2 3 3 +F1
3 3 +F1
u∗ ≤ 0 F0 − F S0 F0 − F S0
. ∗ . . .F S1 .F1
u + a2 ≤ 0 +F S1 +F1
3
and ⎫
u S1 = 13 (u 1 − 2a1 ) , ⎪
⎪
⎪
⎬
a S1 = −u S1 ,
. (11.67)
h S1 = a S1
2
/g , ⎪
⎪
⎪
⎭
ψ S1 = ψ1 .
In order to compute the Godunov flux (11.3) using the Osher-Solomon Riemann
solver, one must form the flux as the summation of all the partial fluxes in the
appropriate entry of Table 11.1. Clearly this is a rather expensive process, as first
one needs to identify the correct case out of .16 possible cases, then compute all
the appropriate partial fluxes and then form the sum. The worst cases have .5 partial
fluxes.
We remark that the Osher-Solomon scheme was originally presented in terms of
a different ordering of the integration paths, the so called O-ordering, or Original
ordering. Computational practice in the field of compressible gas dynamics suggests
that the P-ordering, or Physical ordering, presented here leads to better schemes but
there appears to be little experience in using the Osher-Solomon scheme for the
shallow water equations for any of the two possible ordering of the integration paths.
11.8 The Dumbser-Osher-Toro Riemann Solver: DOT 243
Full details of the original Osher-Solomon Riemann solver are found in Chap. 12
of Toro [1–3]. Applications of the Osher-Solomon approach to the shallow water
equations have been reported by Zhao et al. [20, 21].
We conclude by noting that the Osher-Solomon approximate Riemann solvers is
non-linear and complete. In the next section we present a simplification of the original
Osher-Solomon Riemann solver that is more generally applicable, including systems
of non-linear equations in non-conservative form.
11.8.1 Notation
Consider the Riemann problem for the PDE system in (11.1) of . N equations with
initial condition (
Q0 if x < xi+ 21 ,
.Q(x, 0) = (11.68)
Q1 if x > xi+ 21 .
Recall that hyperbolicity of the system in (11.1) is equivalent to saying that the
Jacobian matrix .A(Q) of the flux .F(Q) is diagonalizable, that is
where .R(Q) is the matrix formed by the right eigenvectors .Ri (Q), .R−1 (Q) is its
inverse and .Λ(Q) is the diagonal matrix whose diagonal entries are the eigenvalues
.λi (Q). We introduce the definitions
and consider the associated diagonal matrices .Λ+ (Q), .Λ− (Q) and .|Λ− (Q)|, whose
diagonal entries are .λi+ (Q), .λi− (Q) and .|λi (Q)| respectively. Note that
and hence
|Λ(Q)| = Λ+ (Q) − Λ− (Q) .
. (11.72)
Then we introduce
.|A(Q)| = R(Q)|Λ(Q)|R−1 (Q) . (11.73)
As seen in (11.61) one choice for the Osher-Solomon [19] numerical flux is the
average
∫
1 1 Q1
.Fi+ 1 = [F(Q0 ) + F(Q1 )] − |A(Q)|dQ . (11.74)
2 2 2 Q0
The flux can also be defined by one-sided expressions, such as (11.59) and (11.60).
As a matter of fact, one-sided implementations are bound to be more efficient.
The flux requires the evaluation of an integral in phase space, which depends on the
chosen integration path joining .Q0 to .Q1 . Originally, Osher and Solomon proposed
two ways of choosing integration paths so as to make the actual integration tractable,
(a) the P-ordering and (b) the O-ordering. However, the analytical calculations to be
performed are still too involved for general hyperbolic systems. See Sect. 11.7. Full
details of the original Osher-Solomon Riemann solver are found in Chap. 12 of Toro
[1–3].
Dumbser and Toro [22, 23] made two simple but effective suggestions: (i) choose
any path, without considerations regarding computational tractability of the scheme;
(ii) evaluate matrices by numerical integration in phase space. The simplest path to
evaluate the integral in (11.74) is the canonical path
φ(s; Q0 , Q1 ) = Q0 + s(Q1 − Q0 ) ,
. s ∈ [0, 1] . (11.75)
Obviously, other choices are available. Then, under a change of variables we obtain
⎛ 1 ⎞
∫
1 1⎝
Fi+ 21
. = (F(Q0 ) + F(Q1 )) − |A(φ(s; Q0 , Q1 ))| ds ⎠ (Q1 − Q0 ) .
2 2
0
(11.76)
Finally, the integral in (11.76) is computed numerically along the path .φ using a
Gauss-type quadrature rule with .G points .s j and associated weights .ω j in the unit
interval . I = [0, 1]. We obtain
11.9 Path-Conservative Methods 245
⎛ ⎞
1 ⎝ ∑ || |
G
1
Fi+ 21
. = (F(Q0 ) + F(Q1 )) − ω j A(φ(s j ; Q0 , Q1 ))|⎠ (Q1 − Q0 ) .
2 2 j=1
| | (11.77)
Note that .|A(φ(s j ; Q0 , Q1 ))| must be decomposed as in (11.73) for each .s j .
For details on the definition of the absolute value matrix are given in the original
references [22, 23]. Recommended choices for the computational parameters in
(11.77) are .G = 3 and
√ √
1 15 1 1 15 5 8 5
.s1 = − , s2 = , s3 = + , ω1 = , ω2 = , ω3 = .
2 10 2 2 10 18 18 18
(11.78)
The upwind DOT method has been applied in several areas of study, including the
global, closed loop model for the human circulation in [24–27].
1. The complete eigenstructure of the system is needed and is used at each integration
point in (11.77).
2. The scheme is non-linear and complete, as it contains all characteristic fields of
the exact problem.
3. The scheme is very general. The original version of Osher and Solomon was
restricted to very simple hyperbolic systems.
4. The new DOT scheme also applies to non-conservative hyperbolic systems [22,
23].
∂ Q + A(Q)∂x Q = S(Q) .
. t (11.79)
246 11 Approximate Riemann Solvers
Here .Q could be the vector of physically conserved variables but the system is still
written in non-conservative form. As a matter of fact, conservative systems via the
chain rule can be expressed as (11.79), where .A(Q) is the Jacobian matrix of a
physical flux function. However there are systems that lack a physical flux function
and these cannot be written in conservation-law form, even if the vector of unknowns
.Q is the vector of physically conserved variables and the equations have been derived
from physical conservation principles. The vector of unknowns .Q in system (11.79)
could be a vector of primitive or physical variables.
It is well known that primitive variable schemes, even in conservative form, and
non-conservative schemes will compute shock waves with the wrong strength and
thus the wrong speed of propagation. See Chap. 5 for a proof of this for the case
of shocks in the shallow water equations. For smooth flows, these schemes may be
adequate, depending on the details of the particular scheme. There is a large body of
work concerned with primitive-variable schemes and their combination with shock-
fitting techniques; see for instance the works of Moretti and co-workers [29–32].
Upwind TVD primitive variable schemes have been constructed by Karni [33], Toro
[34–37] and by Abgrall [38]. See also the PRICE scheme [39].
In what follows we briefly introduce a new class of schemes for solving PDEs in
non-conservative form (11.79). These schemes depend on the choice of a path .φ in
phase space and have been termed path-conservative schemes. For details see [28]
and the many references therein.
Δt + −
Qin+1 = Qin −
. [D 1 + Di+ 1 ] + ΔtSi − ΔtHi .
n
(11.80)
Δx i− 2 2
− +
Here .Di+ 1 and .D
i+ 21
are called fluctuations, or increments [40], and are related to the
2
numerical flux in the case of a conservative system. .Si is the usual numerical source.
The term .Hin is present in schemes (11.80) only if the accuracy is greater than one,
and is defined as
∫ tn+1 ∫ x 1
1 i+ 2
.Hi = A (Pi (x, t)) ∂x Pi (x, t) d xdt .
n
(11.81)
ΔtΔx tn xi− 1
2
Here .Pi (x, t) is a polynomial representation of the solution in cell . Ii , which results
from a spatial reconstruction procedure, see Chap. 14. In the first-order case the
reconstruction reduces to piece-wise constant cell averages; hence .∂x Pi (x, t) = 0
and therefore .Hin = 0 in (11.80). For convenience we also neglect the source term.
11.9 Path-Conservative Methods 247
− +
The fluctuations .Di+ 1 and .D
i+ 21
, accounting for the absence of a flux function,
2
are expected to satisfy the consistency condition
− +
Di+
. 1 (Q, . . . , Q) = 0 , D (Q, . . . , Q) = 0 (11.82)
2 i+ 1 2
Many choices for the path are available. The simplest case is furnished by the canon-
ical path
.φ(s; Qi , Qi+1 ) = Qi + s(Qi+1 − Qi ) .
n n n n n
(11.85)
∫1
± 1 ∂φ
.D = [A(φ(s; Q0 , Q1 )) ± |A(φ(s; Q0 , Q1 ))|] ds . (11.86)
i+ 21 2 ∂s
0
For relevant definitions see Sect. 11.8. The resulting path-conservative method makes
use of the local Riemann problem, the data of which is denoted as .Q0 and .Q1 . The
path function .φ in (11.86) is completely general. However, if the canonical path
(11.85) is chosen, then (11.86) becomes
⎛ 1 ⎞
∫
1⎝
±
Di+
. 1 = [A(φ(s; Q0 , Q1 )) ± |A(φ(s; Q0 , Q1 ))|] ds ⎠ (Q1 − Q0 ) . (11.87)
2 2
0
248 11 Approximate Riemann Solvers
Now the integrals in (11.87) are computed numerically along the path .φ using a
Gauss quadrature rule with .G points .s j and associated weights .ω j in the unit interval
.[0, 1]. We obtain
⎛ ⎞
1⎝∑ [ | |]
G
±
Di+
. 1 = ω j A(φ(s j ; Q0 , Q1 )) ± |A(φ(s j ; Q0 , Q1 ))| ⎠ (Q1 − Q0 ) .
2 2 j=1
(11.88)
More details are given in the original references [22, 23]. Recommended choices
for the computational parameters in (11.88) are given in (11.78). The upwind, path-
conservative method (11.80) with (11.88 has been applied in several areas of study.
Here we emphasise its utilization in what could be regarded as an unusual application,
namely the global, closed loop model for the entire human circulation in [24, 25,
27].
with [ ( )2 ] ⎫
1 1 αΔt Δx ⎪
⎪
−
Ai+ = Âi+ 21 − 2
Âi+ 1 + I ,⎪
⎪
⎪
4 Δx αΔt ⎪
1
2 2 2
⎬
[ (11.90)
) ] ⎪
.
( ⎪
1 1 αΔt Δx 2 ⎪
⎪
+
Ai+ = Âi+ 21 + Âi+ 1 +
2
I .⎪
⎪
⎭
4 Δx αΔt
1
2 2 2
In (11.90) .I is the identity matrix and .Âi+ 21 is a path integral of the coefficient matrix
A in the governing equations, which is approximated numerically as
.
∑
G ∫ 1
Âi+ 21 =
. ω j A(φ(s j ; Qin , Qi+1
n
)) ≈ A(φ(s; Qin , Qi+1
n
))ds . (11.91)
j=1 0
11.9 Path-Conservative Methods 249
The parameter .α in (11.90) is chosen in the range .α ∈ [1, ∞). For .α = 1 one obtains
the scheme of Canestrelli et al. [46]. More sophisticated options admit .α > 1 [45].
Each value of .α gives a scheme with different properties regarding stability and
numerical viscosity. These schemes enhance accuracy, which is particularly evident
for slowly-moving intermediate waves. We recall that these are the most challenging
features for centred methods and for incomplete Riemann solvers. The penalty of the
enhanced accuracy of the FORCE-.α schemes is the reduction of the stability range,
as .α increases. The stability and monotonicity condition is
1√
0 ≤ |c| ≤ Clim =
. 2α − 1 . (11.92)
α
Table 11.2 shows for some selected values of .α, the numerical values of the Courant
number .Clim and the corresponding numerical viscosity function .d0 for stationary
waves (the worse case scenario). The value .α = 1 simply reproduces the classical
FORCE scheme in 1D and the scheme of Canestrelli et al. [46]. Note the remarkable
decrease of .d0 from .d0 = 1 for the Lax-Friedrichs scheme to .d0 = 0.1667 for .α = 3.
Table 11.2 Variation of the Courant number.Clim and numerical viscosity function.d0 for stationary
waves as functions of selected, increasing values of the parameter .α
.α Courant number .Clim Viscosity for stationary waves
.d0
1 .1.0000 .0.5000
2 .0.8660 .0.2500
3 .0.7454 .0.1667
4 .0.6614 .0.1250
5 .0.6000 .0.1000
10 .0.4359 .0.0500
20 .0.3122 .0.0250
25 .0.2800 .0.0200
30 .0.2560 .0.0167
40 .0.2222 .0.0125
50 .0.1990 .0.0100
60 .0.1818 .0.0083
Table 11.3 shows the decreasing behaviour of .Clim as a function of the order of
accuracy, or the degree of the associated polynomial .m. Hence for DG methods the
upper limit of the stability range of most schemes discussed in this chapter will
not be fully exploited. For example, a third-order DG method will only require a
scheme with maximum stable Courant number of .Clim = 0.2, rather than .Clim = 1
for most finite volume methods in one space dimension. Therefore the FORCE-.α
schemes presented here are fully satisfactory for DG methods. In fact for any given
polynomial degree .m we can always find a value .α and the associated FORCE-.α flux
(or fluctuations) that exactly matches the stability requirement of the DG method of
order of accuracy .m + 1; see fourth column of Table 11.3. As a matter of fact the
stability limit .Clim for FORCE-.α in the finite volume framework amply exceeds that
of the DG method. Again for the third-order DG method with .Clim = 0.2, Table 11.2
shows that any .α > 40 will give a sufficient generous stability range for the DG
scheme. As a final remark we note that the stability conditions of the FORCE-.α
schemes are unexpectedly generous in multiple space dimensions. See [45] for full
details.
11.10 Computation of Wet/Dry Fronts 251
Table 11.3 Variation of Courant number stability limit .Clim with order of accuracy .m + 1 for
polynomials of degree .m in the discontinuous Galerkin finite element method. The fourth column
shows the corresponding value for the parameter .α that would match the DG method stability
requirement. The last column shows .d0 for the first-order finite volume scheme corresponding to
the tabulated values of .α in the third column
Degree .m Order .m + 1 .Clim = .α .d0
1/(2m + 1)
0 .1 .1 .1.0 .0.5
To illustrate the problem, we consider a Riemann problem for the shallow water
equations with initial left and right data as follows
[ ] [ ] [ ]
hL hR 0
Wet state: W L =
. , Dry state: W R = = . (11.94)
uL uR 0
In Chap. 7 we studied the exact solution of this type of Riemann problems. Recalll
that the solution in this case consists of a single left rarefaction associated with the
left eigenvalue .λ1 = u − a. The expected right shock associated with the eigenvalue
252 11 Approximate Riemann Solvers
λ = u + a in the case of a wet right state is absent. There is instead a wet/dry front
. 2
corresponding to the tail of the left rarefaction and has exact propagation speed
S
. ∗L = u L + 2a L . (11.95)
Note that this front is very fast. Its speed is larger than the speed associated with any
of the eigenvalues .λ1 = u − a and .λ2 = u + a for the case of a wet bed. This fact
should be taken into account when enforcing the Courant stability condition for the
particular numerical method being used [55, 56].
A popular way of dealing with this kind of problems is by artificially wetting the
dry bed, that is by replacing the zero water depth on the right-hand side in our problem
by some small positive tolerance .∈, namely by setting .h R = ∈ > 0. Having done this,
the solution of the corresponding Riemann problem has a different structure to that
of the exact problem for dry-bed conditions, see Chaps. 6 and 7. Now the solution
contains the expected left rarefaction, if .h L > ∈, and a relatively weak, right-facing
shock wave of speed . S R , which is meant to represent the wet/dry front speed. The
speed . S R of this shock is considerably slower than that of the wet/dry front . S∗L . Of
course, in the limit as .∈ tends to zero, the two speeds coincide. However, for practical
values of the artificial bed-wetting parameter .∈, the errors can be large, significantly
slowing down the wet/dry front, as we now illustrate for a sequence of cases.
Table 11.4 shows computed values for the solution of the artificially wetted
Riemann problem, in which we take .h L = 1 m, .u L = 0 m/s for the initial wet left
state. Column 1 shows the range of chosen values for the artificial bed-wetting param-
Table 11.4 Variation of wet/dry front speed (column 4) . SR with artificial bed-wetting parameter .∈
in m (column 1). The exact front speed is. S∗L = 6.260999. Also shown are corresponding variations
of depth and particle velocity in the Star Region
Wetting parameter .∈ .h ∗ .u ∗ . SR
Fig. 11.5 Variation of wet/dry front speed with artificial bed-wetting parameter.∈ shown by symbols
and full line. Exact value . S = 6.261 is shown by full horizontal line. See Table 11.4
eter .∈ = h R (in m) and column 4 shows the corresponding shock speeds, meant to
approximate the wet/dry front speed, which in this case is . S∗L = 6.260999. Also
shown are the values for depth (column 2) and particle velocity (column 3) in the Star
Region, which in the exact problem does not exist. Figure 11.5 depicts the approxi-
mated front speed, shown by symbols and line, versus the wetting parameter .∈. The
thick line at the top level . S∗L = 6.260999 denotes the exact speed of the wet/dry
front. Note that the variations are very rapid for small .∈. In the larger range of .∈ val-
ues, very small variations of the front speed are seen to take place. This is the region
of large relative errors in the predicted speed of the front, of the order of .50%. For
example, the value .∈ = 0.15 m in water depth gives a front speed of .3.014 m/s, with
a relative error of .51%. For .∈ = 0.01 m in water depth the front speed is .3.898 m/s,
which is in error by .38%. The choice of .∈ = 0.001 m in water depth (one millimetre
of water) gives an error of .25% in propagation speed. And even an artificial water
depth of ten microns, still gives an error close to .10%.
In conclusion, the bed-wetting practice is computationally very convenient but
hides potentially large errors in wet/dry front propagation speed. This has a practical
value when simulating, for example, the propagation of an inundation wave down
a valley of tens of kilometres, resulting from the collapse of a dam. The accurate
prediction of the arrival time of the front has human population safety implications.
254 11 Approximate Riemann Solvers
Near the wet/dry front, both the numerator and the denominator in (11.96) are small.
Moreover, they might also be in error due to the usual discretisation errors in the
numerical method but they might also be in error due to the artificial bed-wetting
referred to above. Therefore the operation (11.96) will give an erroneous result for the
particle velocity at the front. In addition, division by zero in (11.96) must of course
be avoided. The procedure by which this is done can again introduce more errors.
Errors due to the artificial bed-wetting practice can combine with those induced
by the conservative updating. The errors in front propagation speed can thus be
very large and are bound to grow with time. Therefore to predict the evolution of
wet/dry bed fronts for long evolution times, the errors will most certainly be large.
Of course in practice there will be more physics in the problem, such as bed friction
and complicated geometries. In this case the exact solution is unknown and we have
no reliable ways of assessing the errors in computed front propagation speeds.
Finally we remark that the results of Table 11.4 and Fig. 11.5, and associated
discussion, are for a single Riemann problem. In numerical computations the problem
is present in a set of Riemann problems solved along the wet/dry front over many
time steps.
It is not easy to fix the problem discussed above, see Dodd [17]. The HLL and
HLLC approaches presented in Sects. 11.3 and 11.4 offer simple ways of dealing
with wet/dry fronts [56]. Restricting the discussion to the purely one-dimensional
case without additional equations for passive scalars, the HLL Riemann solver has
numerical flux as given by (11.22), which in turn requires wave speed estimates . SL
and . S R . In the presence of a wet/dry front, we propose to set the wave speed estimates
to the exact dry front speed, namely
(
u R − 2a R if h L = 0 ,
S =
. L (11.97)
usual estimate if h L > 0 ,
or
11.11 Concluding Remarks 255
(
u L + 2a L if h R = 0 ,
S =
. R (11.98)
usual estimate if h R > 0 .
In the case of additional equations, for the HLLC Riemann solver the procedure is
analogous. If the wave speed estimate . S∗ is as given in Eq. (11.28), then for a wet/dry
front the estimate . S∗ coincides with the front speed, which is correct. This approach
was first reported by Fraccarollo and Toro [56] and appeared to work well.
Front tracking is probably the best way of dealing with wet/dry fronts. This
approach is, however quite complicated for multidimensional problems. Of the meth-
ods studied in this book the Random Choice Method of Glimm, see Chap. 10, appears
to be the best for dealing with wet/dry fronts. See numerical results in Chap. 10. To
be noted however, RCM does not extend to multiple space dimensions under dimen-
sional splitting or other known forms. On the other hand, a hybrid approach as
suggested by Toro and Roe [57, 58] for gas dynamics, might be productive. RCM
under operator splitting can successfully handle linearly degenerate fields. Prelim-
inary results from an application of RCM to the two-dimensional shallow water
equations with wet/dry fronts were reported by Ivings, Toro and Weber [59].
A full range of .10 approximate Riemann solvers for the shallow water equations
written in conservative and non-conservative forms have been presented. A major
feature that groups Riemann solvers into two categories is whether the number of
waves .W included in their wave model matches the number . N of the exact Riemann
solver. Complete Riemann solvers are those in which .W = N and their wave models
account for all characteristic fields in the the equations. Examples include the exact
solver of course, the Roe solver, the Osher-Solomn solver, the Dumbser-Osher-Toro
solver and some approximate-state solvers. Approximate Riemann solvers in which
. W < N are called incomplete Riemann solvers. Their wave models exclude some of
the wave fields from their structure, thus sacrificing the accuracy of those fields in their
numerical implementations. Linearly degenerate fields are particularly sensitive to
exclusion from the wave models. Examples of incomplete Riemann solvers includes
the Rusanov flux for . N > 1, the bottom of the hierarchy, the HLL solver for . N > 2
and the HLLC solver for . N > 3. We note however that HLLC does capture multiple
linearly degenerate fields with coincident eigenvalues, such as in multiple space
dimensions and systems that include transport of chemical species, or both. For
example, for the two-dimensional shallow water equations with . K species transport
equations added, . N = 3 + K . The three waves of HLLC capture all wave fields,
as the intermediate field with eigenvalue .λ = u has multiplicity . K + 1. Therefore
HLLC is complete for the two-dimensional shallow water equations with . K species
equations added. Another criterion is whether the approximate Riemann solver is
linear or non-linear. Recall that linear solvers require an additional entropy fix in
256 11 Approximate Riemann Solvers
References
1. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics. A Practical Intro-
duction. (Springer, 1997)
2. E.F. Toro. Riemann Solvers and Numerical Methods for Fluid Dynamics. A Practical Intro-
duction, 2nd edn. (Springer, 1999)
3. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics. A Practical Intro-
duction, 3rd edn. (Springer, 2009)
4. S.K. Godunov, Finite difference methods for the computation of discontinuous solutions of the
equations of fluid dynamics. Mat. Sb. 47, 271–306 (1959)
5. A. Harten, P.D. Lax, B. van Leer, On upstream differencing and Godunov-type schemes for
hyperbolic conservation laws. SIAM Rev. 25(1), 35–61 (1983)
6. E.F. Toro, A. Chakraborty, Development of an approximate Riemann solver for the steady
supersonic Euler equations. Aeronaut. J. 98, 325–339 (1994)
7. E.F. Toro, M. Spruce, W. Speares, Restoration of the contact surface in the HLL-Riemann
solver. Shock Waves 4, 25–34 (1994)
8. E.F. Toro, L.O. Müller, A. Siviglia, Bounds for wave speeds in the Riemann problem: direct
theoretical estimates. Comput. Fluids 209(104640) (2020)
9. J.L. Guermond, B. Popov, Fast estimation of the maximum wave speed in the Riemann problem
for the Euler equations. J. Comput. Phys. 321, 908–926 (2016)
10. E.F. Toro, The HLLC Riemann solver. Shock Waves 29, 1065–1082 (2019)
References 257
11. P.L. Roe, Approximate Riemann solvers, parameter vectors, and difference schemes. J. Comput.
Phys. 43, 357–372 (1981)
12. P. Glaister, Difference Schemes for the Shallow Water Equations. Technical Report 9/87,
Department of Mathematics, University of Reading, England (1987)
13. P.L. Roe, J. Pike, Efficient construction and utilisation of approximate Riemann solutions, in
Computing Methods in Applied Science and Engineering. North–Holland (1984)
14. E.F. Toro, Riemann problems and the WAF method for solving two-dimensional shallow water
equations. Philos. Trans. Roy. Soc. Lond. A338, 43–68 (1992)
15. A. Harten, J.M. Hyman, Self adjusting grid methods for one-dimensional hyperbolic conser-
vation laws. J. Comput. Phys. 50, 235–269 (1983)
16. R.J. LeVeque. Numerical Methods for Conservation Laws (Birkhäuser Verlag, 1992)
17. N. Dodd, A numerical model of wave runn–up, overtopping and regeneration. J. Water Port,
Coast and Ocean Eng., ASCE 124(2), 73–81 (1998)
18. B. Engquist, S. Osher, One sided difference approximations for nonlinear conservation laws.
Math. Comput. 36(154), 321–351 (1981)
19. S. Osher, F. Solomon, Upwind difference schemes for hyperbolic conservation laws. Math.
Comput. 38(158), 339–374 (1982)
20. D.H. Zhao, H.W. Shen, G.Q. Tabios III, Finite–volume two–dimensional unsteady–flow model
for rive basins. J. Hydraulic Eng. ASCE 120(7), 863–883 (1994)
21. D.H. Zhao, H.W. Shen, J.S. Lai, G.Q. Tabios III, Approximate Riemann solvers in FVM for
2D hydraulic shock wave modelling. J. Hydraulic Eng. ASCE 122(12), 692–702 (1996)
22. M. Dumbser, E.F. Toro, A simple extension of the Osher Riemann solver to general non-
conservative hyperbolic systems. J. Sci. Comput. 48, 70–88 (2011)
23. M. Dumbser, E.F. Toro, On universal Osher-type schemes for general nonlinear hyperbolic
conservation laws. Commun. Comput. Phys. 10, 635–671 (2011)
24. L.O. Müller, E.F. Toro, A global multi-scale model for the human circulation with emphasis
on the venous system. Int. J. Numer. Methods Biomed. Eng. 30(7), 681–725 (2014)
25. L.O. Müller, Mathematical modelling and simulation of the human circulation with emphasis
on the venous system: application to the CCSVI condition. Ph.D. thesis, Doctoral School in
Environmental Engineering, University of Trento, Italy (2014)
26. L.O. Müller, E.F. Toro, Enhanced global mathematical model for studying cerebral venous
blood flow. J. Biomech. 47(13), 3361–3372 (2014)
27. E.F. Toro, M. Celant, Q Zhang, C. Contarino, N. Agarwal, A.A. Linninger, L.O. Müller, Cere-
brospinal fluid dynamics coupled to the global circulation in holistic setting: Mathematical
models, numerical methods and applications. Int. J. Numer. Methods Biomed. Eng. 26, e3532
(2021). https://doi.org/10.1002/cnm.3532
28. C. Parés, Numerical methods for non-conservative hyperbolic systems. A theoretical frame-
work. SIAM J. Num. Anal. 44(1), 300–321 (2006)
29. G. Moretti, G. Bleich, A time-dependent computational method for blunt-body flows. AIAA
J. 4, 2136–2141 (1966)
30. G. Moretti, The λ-scheme. Comput. Fluids 7, 191–205 (1979)
31. G. Moretti, Computation of flows with strong shocks. Ann. Rev. Fluid Mech. 19, 313–337
(1987)
32. T. DeNeff, G. Moretti, Shock fitting for everyone. Comput. Fluids 8, 327–334 (1980)
33. S. Karni, Multicomponent flow calculations using a consistent primitive algorithm. J. Comput.
Phys. 112(1), 31–43 (1994)
34. E.F. Toro, Defects of Conservative Approaches and Adaptive Primitive–Conservative Schemes
for Computing Solutions to Hyperbolic Conservation Laws. Technical Report MMU 9401,
Department of Mathematics and Physics, Manchester Metropolitan University, UK (1994)
35. E.F. Toro, On Adaptive Primitive–Conservative Schemes for Conservation Laws, in Sixth Inter-
national Symposium on Computational Fluid Dynamics: A Collection of Technical Papers, ed.
by M.M. Hafez, vol. 3, pp. 1288–1293, Lake Tahoe, Nevada, USA, September 4–8 (1995)
36. E.F. Toro, MUSCL–Type Primitive Variable Schemes. Technical Report MMU–9501, Depart-
ment of Mathematics and Physics, Manchester Metropolitan University, UK (1995)
258 11 Approximate Riemann Solvers
37. E.F. Toro, Primitive, conservative and adaptive schemes for hyperbolic conservation laws, in
Numerical Methods for Wave Propagation, ed. by. E.F. Toro, J.F. Clarke (Kluwer Academic
Publishers, 1998), pp. 323–385
38. R. Abgrall, How to prevent pressure oscillations in multicomponent flow calculations: a qua-
siconservative approach. J. Comput. Phys. 125, 150–160 (1996)
39. E.F. Toro, A. Siviglia, PRICE: primitive centred schemes for hyperbolic systems. Int. J. Numer.
Meth. in Fluids 42, 1263–1291 (2003)
40. P.L. Roe, Fluctuation and signals-a framework for numerical evolution problems, in Numerical
Methods for Fluid Dynamics, pp. 219–257 (1982)
41. E.F. Toro, On Glimm–Related Schemes for Conservation Laws. Technical Report MMU–9602,
Department of Mathematics and Physics, Manchester Metropolitan University, UK (1996)
42. E.F. Toro, S.J. Billett, Centred TVD schemes for hyperbolic conservation laws. IMA J. Numer.
Anal. 20, 47–79 (2000)
43. G.Q. Chen, E.F. Toro, Centred schemes for non-linear hyperbolic equations. J. Hyperbolic
Differ. Equ. 1(1), 531–566 (2004)
44. E.F. Toro, A. Hidalgo, ADER finite volume schemes for diffusion-reaction equations. Appl.
Numer. Math. 59, 73–100 (2009)
45. E.F. Toro, B. Saggiorato, S. Tokareva, A. Hidalgo, Low-dissipation centred schemes for hyper-
bolic equations in conservative and non-conservative form. J. Comput. Phys. 416(109545)
(2020)
46. A. Canestrelli, A. Siviglia, M. Dumbser, E.F. Toro, Well-balanced high-order centred schemes
for non-conservative hyperbolic systems. Applications to shallow water equations with fixed
and mobile bed. Adv. Water Res. 32, 834–844 (2009)
47. M. Dumbser, M.J. Castro, C. Parés, E.F. Toro, A. Hidalgo, FORCE schemes on unstructured
meshes II: non-conservative hyperbolic systems. Comput. Methods Appl. Mech. Eng. 199(9–
12), 625–647 (2010)
48. B. Cockburn, C.W. Shu, TVB Runge–Kutta local projection discontinuous Galerkin method
for conservation laws II: general framework. Math. Comput. 52(–), 411– (1989)
49. B. Cockburn, S. Hou, C.W. Shu, The Runge-Kutta local projection discontinuous Galerkin
finite element method for conservation laws IV: the multidimensional case. Math. Comput. 54,
545–581 (1990)
50. B. Cockburn, C.W. Shu, The Runge-Kutta local projection P1-discontinuous Galerkin finite
element method for scalar conservation laws. Math. Model. Numer. Anal. 25, 337–361 (1991)
51. B. Cockburn, C.W. Shu, The Runge–Kutta discontinuous Galerkin method for conservation
laws. J. Comput. Phys. 141(–), 199– (1998)
52. B. Cockburn, G.E. Karniadakis, C.W. Shu, Discontinuous Galerkin Methods. Lecture Notes in
Computational Science and Engineering (Springer, 2000)
53. M. Dumbser, O. Zanotti, R. Loubère, S. Diot, A posteriori subcell limiting of the discontinuous
Galerkin finite element method for hyperbolic conservation laws. J. Comput. Phys. 278, 47–75
(2014)
54. S. Busto, M. Dumbser, C. Escalante, S. Gavrilyuk, N. Favrie, On high order ADER discontinu-
ous Galerkin schemes for first order hyperbolic reformulations of nonlinear dispersive systems.
J. Sci. Comput. 87, 48 (2021)
55. L. Fraccarollo, E.F. Toro, A shock–capturing method for two dimensional dam–break problems,
in Proceedings of the Fifth International Symposium in Computational Fluid Dynamics, Sendai,
Japan (1993)
56. L. Fraccarollo, E.F. Toro, Experimental and numerical assessment of the shallow water model
for two-dimensional dam-break type problems. J. Hydraul. Res. 33, 843–864 (1995)
57. E.F. Toro, P.L. Roe, A hybrid scheme for the Euler equations using the random choice and Roe’s
methods, in Numerical Methods for Fluid Dynamics III. The Institute of Mathematics and its
Applications Conference Series, New Series No. 17, Morton and Baines (Editors) (Oxford
University Press, New York, 1988), pp. 391–402
58. E.F Toro, Random choice based hybrid schemes for one and two–dimensional gas dynamics,
in Proceedings of the Second International Conference on Hyperbolic Problems, Aachen,
References 259
12.1 Introduction
In this chapter we present second-order non-linear methods for solving the time-
dependent non-linear shallow water equations numerically. The schemes are given
for the split two-dimensional equations, so that extension to the two-dimensional
case, as described in Chap. 13, can be easily implemented. For one class of non-
linear methods considered here, called flux limiter methods, the non-linear character
of the schemes results from enforcing total variation diminishing (TVD) criteria. For
background information on TVD methods and their rationale, the reader is referred
to Chap. 13 of the textbooks [1–3] and the many references therein; see also [4]. For
a review on Godunov-type methods for shallow water flows see Toro and García-
Navarro [5]. For a review on numerical fluxes for hyperbolic equations and the
shallow water equations in particular, see Chaps. 6, 10 and 11 of this book.
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 261
E. F. Toro, Computational Algorithms for Shallow Water Equations,
https://doi.org/10.1007/978-3-031-61395-1_12
262 12 Second-Order Non-linear Methods
Q(x, t) is a vector of . N conserved variables; .F(Q) is the flux vector, or physical flux;
.
S(Q) is the source term vector;.Q(0) (x) is the initial condition;.B L (t) and.B R (t) are the
boundary conditions on the left (.x = a) and right (.x = b) boundaries, respectively,
two prescribed functions of time. The computational domain is discretizesd via a
finite volume mesh, in which the spatial domain interval .[a, b] is partitioned into . M
regular computational cells of size .Δ x, namely
⎫
Computational cells: Ii = [xi− 21 , xi+ 21 ] , i = 1, . . . , M , ⎪
⎪
⎪
Cell boundaries: ⎬
x 12 = a , . . . xi+ 21 = a + iΔ x , . . . , x M+ 21 = b ,
. (12.2)
Mesh size: Δ x = (b − a)/M = xi+ 21 − xi− 21 , ⎪
⎪
⎪
⎭
Cell centre: xi = 21 (xi− 21 + xi+ 21 ) .
Strictly speaking, this is a one-dimensional problem but the third equation is for the
tangential component of velocity .v written as conservation law for .hv; see Chap. 1.
The .x-direction is the direction normal to the surface of the relevant control volume;
see Chap. 4. The role of the tangential velocity component is mathematically and
numerically identical to that of a passive scalar .ψ advected with velocity .u. In
pollutant transport models, for instance, the passive scalar .ψ is the concentration of
a chemical species. In any case, the scalar .ψ, or .v, gives rise to an extra eigenvalue
.λ2 = u, associated with a linearly degenerate field, and an extra middle wave in the
Riemann problem solution structure; see Fig. 12.1.
The schemes to solve (12.3) studied here are based on the explicit conservative
formula
Δ t [ ]
.Qi
n+1
= Qin − Fi+ 21 − Fi− 21 . (12.4)
Δ x
12.2 The Weighted Average Flux (WAF) Method 263
x = xi+ 21 between cells .i and .i + 1. Next we study a particular flux limiter second-
.
order method by defining the numerical flux.
The weighted average flux (WAF) method was first put forward for the Euler equa-
tions in [6, 7]. A detailed derivation of the scheme as applied to the three-dimensional
Euler equations is given in Chaps. 14 and 16 of the textbooks [1–3]. The method has
been applied to the two-dimensional shallow water equations by Toro [8], Watson,
Peregrine and Toro [9], Fraccarollo and Toro [10], Siviglia and Toro [11], Ata et al.
[12], and many more.
Here we first present the basic WAF scheme without the non-linear TVD modifica-
tion. As such, the scheme is oscillatory and should not be used in practice. In the
following section we introduce the non-linear TVD modification to deal with shock
waves and other situations involving steep gradients.
For the .x-split shallow water system (12.3) the WAF method defines a numerical
flux via the integral average
∫ ∫
wa f 1 1 t2 x2 ( )
Fi+ 1 =
. F Q∗ (x, t) dx dt , (12.5)
2 t2 − t1 x 2 − x 1 t1 x1
where choices for the integration volume .[x1 , x2 ] × [t1 , t2 ] in the .x-.t plane and the
integrand must be made. This general formulation of the WAF flux is presented in
detail in [13, 14]. For the integration volume the choice
Δ x Δ x
x =−
. 1 , x2 = , t1 = 0 , t2 = Δ t (12.6)
2 2
has led to good numerical methods and is the one we adopt here. Further, we assume
that the vector .Q∗ (x, t) in the integrand is the solution .Qi+ 21 (x/t) of the Riemann
problem with piece-wise constant data (.Qin , .Qi+1
n
). If in addition we approximate the
time integration in (12.5) by the mid-point rule in time we obtain
∫ ( )
2 Δ x
1
wa f 1 1
.F = F Qi+ 2 (x, Δ t) dx .
1 (12.7)
i+ 21 Δ x − 21 Δ x 2
264 12 Second-Order Non-linear Methods
For a wave structure as depicted in Fig. 12.1, the integral (12.7) becomes the
summation
N +1
∑
wa f (k)
.F 1 = wk Fi+ 1 , (12.8)
i+ 2 2
k=1
with
Δ t Sk
c =
. k : Courant number for wave k . (12.10)
Δ x
Here . Sk is the speed of wave .k and . N is the number of conservation laws in system
(12.1) or the number of waves in the solution of the Riemann problem, if the Riemann
(k)
solver is complete; .Fi+ 1 is the value of the flux vector in the interval .k of length .wk .
2
The numerical flux becomes a weighted average of fluxes in the intervals .k. By
inserting the weights (12.9) into (12.8) we obtain the alternative expression
1∑
N
wa f 1 (k)
.F
i+ 21
= (Fi + Fi+1 ) − ck Δ Fi+ 1 , (12.11)
2 2 k=1 2
where
(k) (k+1) (k)
Δ Fi+
. 1 = F
i+ 1
− Fi+ 1 (12.12)
2 2 2
1∑
N
wa f 1 (k)
Qi+ 1 =
. (Qi + Qi+1 ) − ck Δ Qi+ 1 , (12.13)
2 2 2 k=1 2
This expression for the flux resembles Godunov’s method, which evaluates the flux
function at the Godunov state. See Chap. 10. Here we use the WAF state instead of
the Godunov state. See Chap. 14 of the textbooks [1–3] for details on the weighted
average state version of the approach. For application to the two-dimensional shallow
water equations see [8].
For the model linear advection equation, see Chap. 2, the scheme just described
reproduces identically the method of Lax–Wendroff, which is second-order accurate
in space and time. See Chap. 9. According to Godunov’s theorem studied in Chap. 9,
spurious oscillations in the vicinity of large gradients are expected. We therefore
require a non-linear modification of the WAF flux to avoid such unphysical, or
spurious, oscillations. This is carried out by enforcing a total variation diminishing
(TVD) constraint on the scheme. Details are found in Chap. 13 of [1–3]. The resulting
TVD WAF flux is
1∑
N
1 (k)
1 = (Fi + Fi+1 ) − sign (ck )Ak Δ Fi+ 1 .
tvd
.Fi+ (12.15)
2 2 2 k=1 2
This expression looks virtually identical to the non-TVD version (12.11) of the
scheme. In the TVD WAF flux (12.15) . Ak is a WAF limiter function. There are
various choices for the limiter function. Here we give the following possibilities:
⎧
⎪ 1 if r ≤ 0 ,
⎪
⎪
⎪
⎪
⎨ 1 − 2(1 − |c|)r if 0 ≤ r ≤ ,
1
⎪ 2
. A sa (r, |c|) = |c| ≤r ≤1,
1
if (12.16)
⎪
⎪
2
⎪
⎪ 1 − (1 − |c|)r if 1 ≤ r ≤ 2 ,
⎪
⎪
⎩
2|c| − 1 if r ≥ 2 .
⎧
⎨1 if r ≤ 0 ,
. Avl (r, |c|) = (1 − |c|)2r (12.17)
⎩1 − if r ≥ 0 .
1+r
266 12 Second-Order Non-linear Methods
⎧
⎨1 if r ≤ 0 ,
. Ava (r, |c|) = (1 − |c|)r (1 + r ) (12.18)
⎩1 − if r ≥ 0 .
1 + r2
⎧
⎨1 if r ≤ 0 ,
. A ma (r, |c|) = 1 − (1 − |c|)r if 0 ≤ r ≤ 1 , (12.19)
⎩
|c| if r ≥ 1 .
For convenience, subscripts and superscripts have been omitted. The WAF limiter
functions are entirely equivalent to conventional flux limiters . B(r ), and they are
related as follows
. A(r ) = 1 − (1 − |c|)B(r ) . (12.20)
The limiter . Asa is related to superbee, . Avl is related to van Leer’s limiter, . Ava is
related to van Albada’s limiter and . Ama is related to minbee. See Sect. 13.7.1 in [1],
[2, 3] for details on the derivation of limiter functions for the WAF method. The
WAF limiter functions depend on the argument
⎧ (k)
⎪
⎪ Δ qi− qi(k) − qi−1
(k)
⎪
⎪
1
⎪
⎪
2
≡ if ck > 0 ,
⎪ Δ q (k)1
⎪
(k)
qi+1 − qi(k)
⎨ i+ 2
.r (k) = (12.21)
⎪
⎪ (k)
⎪
⎪ Δ qi+ (k) (k)
− qi+1
⎪
⎪
3 qi+2
⎪
⎪
2
≡ if ck < 0 .
⎩ Δ q (k)1 (k)
qi+1 − qi(k)
i+ 2
(k) (k)
This is the ratio of the upwind change .Δ qi− 1 if .ck > 0 or .Δ q
i+ 3
if .ck < 0, to the
2 2
(k)
local change .Δ qi+ 1 in a scalar quantity .q. For background on the theory of flux
2
limiter methods see Sweby [15, 16].
In the limiting procedure for the .x-split two-dimensional shallow water equa-
tions we choose .q = h for the non-linear waves and .q = v, the tangential velocity
component, for the shear wave. For other passive scalars .ψ we choose .q = ψ for
contacts.
The summation (12.11) or (12.15) is exact for a wave configuration such as that of
Fig. 12.1. In the presence of a rarefaction wave the summation is an approximation;
this approximation works well when the rarefaction is non-critical and one chooses
the speed of the head of the wave as the wave speed for that wave family. One
12.2 The Weighted Average Flux (WAF) Method 267
effectively lumps the rarefaction wave together with the closest of the star states .Q∗K
into a single state; see Chap. 6. The flux for that state in the summation is then
(k)
Fi+
. 1 = F(Q∗K ) . (12.22)
2
In the presence of a critical rarefaction, care is required in choosing the state for
(k)
evaluating .Fi+ 1 . Figure 12.2 illustrates the situation in which the right wave is a
2
critical rarefaction. We merge the rarefaction zone with the closest star state, but
the state used for evaluating the flux in that enlarged region is .Qi+ 21 (0); this is the
solution of the Riemann problem along the .t-axis; it is in fact the Godunov state
used for evaluating the Godunov flux; see Chap. 10. Actually, the Godunov flux is
always one term in summations (12.8), (12.11), (12.13) and (12.15) for the WAF
flux. Strictly speaking, in the presence of a critical rarefaction one should evaluate
the integral (12.7) across the rarefaction wave, thus introducing an extra weight in the
WAF flux (12.8). Watson et al. [9] implemented this approach and reported similar
results to those from the simpler version presented here.
The special treatment of critical rarefaction waves is necessary only when using
the exact Riemann solver, see Chaps. 6 and 7, or approximate-state Riemann solvers
Chap. 11. For entropy-satisfying approximate Riemann solvers in which the flux is
provided directly, such as the HLL and HLLC Riemann solvers in Chap. 11, this
special treatment is not required. I particularly recommend the HLLC approximate
Riemann solver; this performs very well at critical points and handles wet/dry fronts
reasonably well if the wave speeds are chosen appropriately [10]. See discussion in
Chap. 11.
268 12 Second-Order Non-linear Methods
We first present the basic linear scheme that results in a second-order linear method,
and thus oscillatory.
As usual we assume a {finite} volume mesh as defined in (12.2). Then consider the set of
cell integral averages . Qin at time .tn , for .i = 1, . . . , M. These cell averages provide
a piece-wise constant distribution in the mesh at time .tn . For the MUSCL-Hancock
method one then reconstructs a piece-wise linear polynomial representation of the
data by defining the set of polynomials
(x − xi )
.Pi (x) = Qin + Δ i , x ∈ Ii , for i = 1, . . . , M . (12.23)
Δ x
Here .Δ i /Δ x is the slope of the first-degree polynomial, yet to be specified.
Figure 12.3 depicts the component . pi (x) of the local polynomial vector .Pi (x) corre-
sponding to cell . Ii .
Fig. 12.3 Illustration of the component . pi (x) of the reconstructed first-degree polynomial .Pi (x)
in cell . Ii = [xi− 1 , xi+ 1 ] centred at .xi . Note the corresponding boundary values .qiL at .xi− 1 and .qiR
2 2 2
at .xi+ 1
2
⎫
∂t Q + ∂x F(Q) = 0 , ⎪
⎪
( ⎬
. Pi (x) if x < xi+ 21 , (12.24)
Q(x, 0) = ⎪
⎪
Pi+1 (x) if x > xi+ 21 . ⎭
In theory, the sought intercell numerical flux should emerge from the solution of this
generalized Riemann problem denoted as .G R P1 , in which the initial data are poly-
nomials of degree .m = 1. See Chap. 14 in which the generalised Riemann problem
. G R Pm is studied, where .m is the degree of the reconstruction polynomials that define
The limiting values of the polynomial .Pi (x) within cell . Ii at the cell boundaries are
1 1
QiL = Pi (xi− 21 ) = Qin − Δ i ,
. QiR = Pi (xi+ 21 ) = Qin + Δ i . (12.25)
2 2
These are often called boundary extrapolated values in the literature, but in fact
there is no extrapolation. See Fig. 12.3. Then, in each cell . Ii one evolves in time
the boundary-extrapolated values .QiL and .QiR by a time .t = 21 Δ t according to the
following formulae:
270 12 Second-Order Non-linear Methods
1 Δ t [ ] ⎫
Q̃iL = QiL − F(QiR ) − F(QiL ) , ⎪
⎬
2 Δ x (12.26)
[ ] ⎪
.
1 Δ t
Q̃i = Qi −
R R
F(QiR ) − F(QiL ) . ⎭
2 Δ x
The flux vector is evaluated at the two boundary extrapolated vector values (12.25)
to provide a flux difference. The above step looks like the updating via a conservative
method but in fact it is not. In Chap. 14 we discuss the meaning of this step, and that
of the entire MUSCL-Hancock scheme.
Now at each intercell position .x = xi+ 21 the evolved boundary extrapolated values
define a pair of constant states, as illustrated in Fig. 12.4 for a single component of the
vector .Q. One therefore defines a conventional Riemann problem .G R P0 as follows:
⎫
∂t Q + ∂x F(Q) = 0 , ⎪
⎪
( R ⎬
. Q̃i if x < xi+ 21 , (12.27)
Q(x, 0) = ⎪
⎪
L
Q̃i+1 if x > xi+ 21 . ⎭
This Riemann problem is called conventional because there are no source terms and
the initial conditions are piece-wise constant (.m = 0), as for the Godunov upwind
method, see Chap. 10.
Numerical Flux
As in the Godunov method, see Chap. 10, one solves the Riemann problem (12.27)
to find the similarity solution .Q̃i+ 21 (x/t). After the usual solution sampling proce-
dure the Godunov state along the .t-axis .Q̃i+ 21 (0), in locall coordinates, is identified.
12.3 The MUSCL-Hancock Scheme 271
Figure 12.5 depicts the similarity solution .Q̃i+ 21 (x/t) in global spatial coordinates,
positioned at the interface .xi+ 21 Then, the intercell numerical flux is
( )
.Fi+ 21 = F Q̃i+ 21 (0) . (12.28)
The complete, linear scheme resulting from applying all the previous steps is
second-order accurate in space and time. Obviously, the Godunov flux (12.28) can
be computed by using the exact Riemann solver for (12.27), or any of the approx-
imate Riemann solvers studied in Chap. 11. Exact Riemann solvers for the shallow
water equations are found in Chaps. 6 and 7, for the wet and dry bed cases respectively.
For some of the subsequent analysis we shall use the weighted average .Δi defined
as
1 1
.Δi = (1 + ω)Δi− 21 + (1 − ω)Δi+ 21 . (12.30)
2 2
The parameter .ω is allowed to lie in the interval .[−1, 1]. For most applications we
take .ω = 0. The application proceeds in a component-by-component fashion. In
what follows we assume .q to be a componet of .Q and .Δ i to be the corresponding
component of .Δi .
Δ i− 21 = qin − qi−1
.
n
, Δ i+ 21 = qi+1
n
− qin . (12.32)
The meaning of the functions .min(a, b) and .max(a, b) is the obvious one. The value
β = 1 reproduces the minbee (or minmod) flux limiter and .β = 2 reproduces the
.
superbee flux limiter. See Sweby [15, 16].
Δ i = ξi Δ i ,
. (12.33)
with .Δ i as given by (12.30), for example. This approach leads to a TVD region for
ξ(r ) defined as follows:
.
where ⎫
2βi− 21 r ⎪
ξ L (r ) = ,⎪⎪
⎪
1 − ω + (1 + ω)r ⎪ ⎪
⎪
⎪
⎬
2βi+ 21
. ξ R (r ) = , (12.35)
1 − ω + (1 + ω)r ⎪ ⎪
⎪
⎪
Δ i− 21 ⎪
⎪
r = , ⎪
⎪
Δ i+ 21 ⎭
and
2 2
β
. i− 1 = , βi+ 21 = . (12.36)
2 1+c 1−c
The coefficients .βi− 21 and .βi+ 21 are derived for the scalar case in Section 13.8.3 of
[1–3] and .c is the Courant number for the single wave present. By considering the
limiting values of .βi− 21 and .βi+ 21 one may eliminate the dependence on .c and simply
set .βi− 21 = βi+ 21 = 1 in (12.35).
A more refined approach would be to adopt the characteristic limiting approach
described in Chap. 14 of [1], [2, 3]. This requires solving extra Riemann problems
to find jumps across each wave and their respective Courant numbers, so that one
(k)
may define coefficients .βi+ 21 as functions of Courant numbers .ci+ 1.
2
Slope Limiters
Slope limiters .ξi for use in (12.33) must now be defined. In Chap. 13 of [1–3] slope
limiters were constructed that are analogous to conventional flux limiters, such as
superbee and minbee. But they are only analogous, not equivalent. In what follows
we list a few possible choices.
A slope limiter that is analogous to the superbee flux limiter is
⎧
⎪ 0 if r ≤ 0 ,
⎪
⎪
⎨ 2r if 0 ≤ r ≤ 1
,
.ξsb (r ) =
2
(12.37)
⎪
⎪ 1 if ≤ r ≤ 1 ,
1
⎪
⎩ 2
min{r, ξ R (r ) , 2} if r ≥ 1 .
The above limiters are distinguished by their inherent numerical diffusion. We have
listed these slope limiters (12.37) to (12.40) in order of increasing numerical diffu-
sion.
Δ i− 21 = qin − qi−1
.
n
and Δ i+ 21 = qi+1
n
− qin (12.41)
The ENO method selects the polynomial with the smallest slope in absolute value.
Some final remarks are in order.
1. Higher-order ENO methods. First we note that higher-order ENO methods exist
[21]. In order to ensure conservation, these higher-order ENO methods require
special procedures, omitted here.
2. The WENO variant. A variant of ENO, called WENO (for Weighted ENO) [22,
23] utilises linear combinations of potential ENO polynomials.
3. Reconstruction in characteristic variables. The reconstruction is usually per-
formed in terms of characteristic variables, rather than conserved or physical vari-
ables. It is important to note that this is an essential ingredient of reconstruction-
based higher-order methods, not studied here. For further details see [21] and the
many references therein.
12.4 FORCE-Based TVD Schemes: The SLIC Method 275
f or ce f or ce 1 LF
Fi+ 1 = Fi+ 1 (Q L , Q R ) =
. [F 1 (Q L , Q R ) + Fi+
LW
1 (Q L , Q R )] . (12.46)
2 2 2 i+ 2 2
Then a second-order TVD centred scheme based on the FORCE flux (12.46) emerges
from the scheme of the slope-limiter type and results from replacing the Godunov
flux (12.28) from solving the Riemann problem (12.27) by the FORCE flux, namely
f or ce f or ce
Fi+ 1 = Fi+ 1 (Q̃iR , Q̃i+1
.
L
). (12.47)
2 2
The two arguments of the FORCE flux function are the evolved boundary extrapo-
lated values (12.26) in the MUSCL-Hancock method, namely
Q L ≡ Q̃iR , Q R ≡ Q̃i+1
.
L
. (12.48)
SLIC and FLIC schemes. The scheme presented was called in SLIC in [1]; it is
exceeding simple, partly due to the fact that there is no need to explicitly solve
the Riemann problem. This, apart from the ease of implementation, broadens the
scope of scheme, as it is applicable to any hyperbolic system. An analogous scheme
276 12 Second-Order Non-linear Methods
called FLIC was also proposed in [1]. The theoretical bases of the TVD versions
of the schemes are given in [25]. In principle, one can also use SLIC or FLIC in
combination with the ENO reconstruction procedure (12.42), rather than with TVD
slope limiters.
We show numerical results obtained from some of the numerical methods studied
in this chapter; we compare the results with exact solutions. Two test problems are
selected; these are Tests 1 and 2 introduced in Chap. 8, modified here to include a
passive scalar here denoted as .c(x, t), as for a one-dimensional model to include
pollutant transport. Thus, in addition to the initial conditions for the variables water
depth .h(x, t) and particle velocity .u(x, t), we include initial conditions for the con-
centration variable .c(x, t). The initial conditions are given in Table 12.1. In addition,
for each test, the position .x0 of the initial discontinuity at time .t = 0 and the output
time .Tout are specified. In all computations shown, the domain length is . L = 50 m
and is discretised by . M = 100 cells; the safety CFL coefficient is . Sc = 0.9. For the
WAF results the flux limiter superbee (12.16) is used and for the MUSCL-Hancock
and SLIC results the slope limiter (12.37) is used.
Figures 12.6, 12.7, 12.8 show numerical results compared with the exact solution.
Figure 12.6 shows results for Test 1. The three challenges of this test for the numeri-
cal methods are (i) the right-propagating shock, (ii) the left critical rarefaction with
a critical point at .x0 = 10, and (iii) the middle contact discontinuity. The left column
of the three profiles at .tout = 7.0 correspond to the first-order Godunov method in
conjunction with the HLLC approximate Riemann solver. These profiles are com-
pared with those from the WAF TVD method, also in conjunction with the HLLC
solver, on the right-hand side column, at the same output time. We note that the first-
order HLLC scheme (left) gives reasonably accurate results, coping very well with
all three challenges. Nonetheless, the improvements provided by the TVD extension
(right) are visible. These are most evident in the resolution of the two discontinuities,
particularly the contact discontinuity.
Figure 12.7 shows results for Test 1 from the FORCE scheme (left column) and
the FORCE-based TVD SLIC scheme (right column). We note that FORCE (left)
copes well with the shock wave and the critical point, but the resolution of the contact
Table 12.1 Data for two test problems with exact solution. The length of the channel is .50 m, .x0
is position of initial discontinuity; .Tout is the output time in seconds
Test .h L .u L .cL .h R .u R .cR .x0 . Tout
Fig. 12.6 Test 1: Numerical results (symbol) and exact solution (line) at time .Tout = 7 s. Left
column: first-order HLLC approximate Riemann solver. Right column: second-order TVD WAF
method in conjunction with HLLC
discontinuity is poor; this is expected from centred methods. The SLIC results on
the right-hand side column show a very clear improvement relative to the first-
order FORCE results on the left column. The improvements are most evident for the
shock wave and for the rarefaction. The contact discontinuity is still rather smeared.
Compare results between those of Figs. 12.6 and 12.7. In general, the upwind-based
278 12 Second-Order Non-linear Methods
Fig. 12.7 Test 1: Numerical results (symbol) and exact solution (line) at time .Tout = 7 s. Left
column: first-order FORCE method. Right column: second-order TVD SLIC method in conjunction
with FORCE
method gives more accurate results than the centred-based method. The advantages
of the FORCE-based method are simplicity and generality.
Results from Test 2 are shown in Fig. 12.8. This test problem contains two chal-
lenges: (i) the near-vacuum zone in the middle of the domain generated by the two
strong rarefaction waves travelling in opposite directions, and (ii) the stationary con-
12.5 Numerical Results 279
Fig. 12.8 Test 2: Numerical results (symbol) and exact solution (line) at time .Tout = 2.5 s. Left
column: first-order HLLC approximate Riemann solver. Right column: second-order TVD WAF
method in conjunction with HLLC
tact discontinuity, the middle wave. We only show results for the upwind-based WAF
method with the HLLC Riemann solver. The left column shows first-order results
from the Godunov method with HLLC. The results are satisfactory, except for the
resolution of the velocity profile in the vicinity of the near-vacuum region. The reso-
lution of the stationary contact discontinuity is perfect, it is exact. The second-order
280 12 Second-Order Non-linear Methods
WAF method on the right-hand side shows some improvements, relative to the first-
order results on the left. These are evident for the rarefactions and for the velocity in
the near-vacuum region. For the contact discontinuity there is nothing to be improved,
relative to the first-order HLLC based method on the left.
12.6 Conclusions
Second-order non-linear methods have been presented; these are extensions of first-
order monotone schemes studied in Chaps. 10 and 11. The schemes have been tested
for two problems that include a species equation for the concentration of a pollutant;
this species equation adds a third wave to the solution, a contact discontinuity in the
Riemann problem structure. It is seen that resolving contact discontinuities accurately
is more difficult than resolving shock waves. It is also seen that upwind methods give
generally more accurate results than centred methods; such advantage of upwind
methods over centred methods is most evident for contact discontinuities. As the
speed of the contact wave tends to zero, centred methods get worse and upwind
methods improve their accuracy further, to the point that a stationary contact is
resolved exactly. Note, however, that if an incomplete Riemann solver is used in the
Godunov-type upwind methods, then this property of exact recognition of stationary
contacts is lost and results from upwind methods are similar to those of centred
methods.
Second-order non-linear methods, both upwind and centred based, show signif-
icant improvements relative to their first-order counterparts, and are thus recom-
mended for practical applications. More sophisticated methods are available today.
As an example, in Chap. 13 we introduce the family of ADER methods; its general
framework allows for the construction of non-linear schemes of arbitrary order of
accuracy in both space and time, on structured and unstructured meshes for multi-
dimensional problems. Moreover, ADER operates in the frameworks of both finite
volumes and discontinuous Galerkin finite elements.
References
1. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics. A Practical Intro-
duction. (Springer, 1997)
2. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics. A Practical Intro-
duction, 2nd edn. (Springer, 1999)
3. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics. A Practical Intro-
duction, 3rd edn. (Springer, 2009)
4. E.F. Toro, The Riemann problem: solvers and numerical fluxes, in Elsevier Handbook of Numer-
ical Methods for Hyperbolic Problems (Chap. 2), ed. by R. Abgrall, C.W. Shu (2016), pp.
17:19–54
5. E.F. Toro, P. García-Navarro, Godunov-type methods for free-surface shallow flows: a review.
J. Hydraulic Res. 45(6), 736–751 (2007)
References 281
6. E.F. Toro, A weighted average flux method for hyperbolic conservation laws. Proc. Roy. Soc.
Lond. A423, 401–418 (1989)
7. E.F. Toro, The weighted average flux method applied to the time-dependent Euler equations.
Phil. Trans. Roy. Soc. Lond. A341, 499–530 (1992)
8. E.F. Toro, Riemann problems and the WAF method for solving two-dimensional shallow water
equations. Phil. Trans. Roy. Soc. Lond. A338, 43–68 (1992)
9. G. Watson, D.H. Peregrine, E.F. Toro, Numerical solution of the shallow water equations on a
beach using the weighted average flux method, in Computational Fluid Dynamics 1992, vol.
1 (Elsevier, 1992), pp. 495–502
10. L. Fraccarollo, E.F. Toro, Experimental and numerical assessment of the shallow water model
for two-dimensional dam-break type problems. J. Hydraul. Res. 33, 843–864 (1995)
11. A. Siviglia, E.F. Toro, The WAF method and splitting procedures for simulating hydro and
thermal peaking waves in open channel flows. J. Hydraul. Eng. 135(8), 651–662 (2009)
12. Sofiane Khelladi, Riadh Ata, Sara Pavan, Eleuterio F. Toro, A Weighted Average Flux (WAF)
scheme applied to shallow water equations for real-life applications. Adv. Water Res. 62, 155–
172 (2013)
13. S.J. Billett, E.F. Toro, Implementing a three-dimensional finite volume WAF-type scheme for
the Euler equations (1996)
14. S.J. Billett, E.F. Toro, WAF-type schemes for multidimensional hyperbolic conservation laws.
J. Comp. Phys. 130, 1–24 (1997)
15. P.K. Sweby, High resolution schemes using flux limiters for hyperbolic conservation laws.
SIAM J. Numer. Anal. 21, 995–1011 (1984)
16. P.K. Sweby, TVD schemes for inhomogeneous conservation laws, in Notes on Numerical
Fluid Mechanics, vol. 24. Non–Linear Hyperbolic Equations-Theory, Computation Methods
and Applications (Vieweg, 1989), pp. 599–607
17. B. van Leer, On the relation between the upwind-differencing schemes of Godunov, Enguist-
Osher and Roe. SIAM J. Sci. Stat. Comput. 5(1), 1–20 (1984)
18. V.P. Kolgan, Application of the principle of minimum derivatives to the construction of differ-
ence schemes for computing discontinuous solutions of gas dynamics (in Russian). Uch. Zap.
TsaGI, Russia 3(6), 68–77 (1972)
19. A. Harten, S. Osher, Uniformly high-order accurate nonoscillatory schemes I. SIAM J. Numer.
Anal. 24(2), 279–309 (1987)
20. A. Harten, B. Engquist, S. Osher, S.R. Chakravarthy, Uniformly high order accuracy essentially
non-oscillatory schemes III. J. Comput. Phys. 71, 231–303 (1987)
21. E.F. Toro, L.O. Müller, Computational Bodily Fluid Dynamics. Models and Algorithms (to
appear) (Springer, 2024)
22. X.D. Liu, S. Osher, T. Chan, Weighted Essentially Non-oscillatory Schemes. J. Comput. Phys.
115, 200–212 (1994)
23. G.S. Jiang, C.W. Shu, Efficient implementation of weigthed ENO schemes. Technical Report
ICASE 95–73, NASA Langley Research Center, Hampton, USA (1995)
24. E.F. Toro, On Glimm-related schemes for conservation laws. Technical Report MMU–9602,
Department of Mathematics and Physics, Manchester Metropolitan University, UK (1996)
25. E.F. Toro, S.J. Billett, Centred TVD schemes for hyperbolic conservation laws. IMA J. Numer.
Anal. 20, 47–79 (2000)
Chapter 13
Sources and Multidimensions
Abstract This chapter addresses two major issues when solving advection-reaction
partial differential equations (PDEs) in general domains, namely the presence of
source terms in the PDEs and the multidimensional character of the computational
domain. We present simple but effective methods to deal with both situations. First,
1D advection-reaction systems are split into an advection system of PDEs and a
reaction part consisting of a system of Ordinary Differential Equations (ODEs).
We call the procedure advection-reaction splitting. For the advection part, there
are several schemes presented in previous chapters that are directly applicable. For
the reaction part, a section on numerical methods for ODEs is included. First and
second-order advection-reaction splitting schemes are formulated. For multidimen-
sional advection systems, we present two approaches. The first one relies on dimen-
sional splitting, whereby 1D schemes applied to augmented 1D advection systems
are solved in succession. First and second-order dimensional splitting schemes are
presented. The second approach rests on unsplit, simultaneous-update finite volume
formulations, whereby the updating includes contributions from all element-edge
fluxes. This approach is suitable for unstructured meshes. A major issue enters the
scene in this second class of methods, namely stability. A section on stability anal-
ysis for multidimensional schemes is included, and examples of stable schemes are
given. Finally, we present a particular class of unsplit second-order finite volume
methods of the WAF type, which exhibit very generous stability regions in 2D and
3D. Moreover, the WAF framework may be extended to other classes of schemes,
including centred schemes.
In this chapter we briefly discuss the potential extension of the numerical methods
presented in Chaps. 10, 11 and 12 to deal with two mayor issues for computing solu-
tions to advection-reaction PDEs in multiple space dimensions, namely source terms
and multiple spatial dimensions. For one-dimensional non-linear advection-reaction
systems we present an advection-reaction splitting approach that splits locally the
processes of advection and reaction. For the advection part all the methods studied
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 283
E. F. Toro, Computational Algorithms for Shallow Water Equations,
https://doi.org/10.1007/978-3-031-61395-1_13
284 13 Sources and Multidimensions
in previous chapters are applicable. For the reaction part we include a section on
numerical methods for solving systems of Ordinary Differential Equations (ODEs),
along with references for further study. Here we note the concept of stiffness, usu-
ally associated with chemical reactions, and its challenge to numerical methods. For
multidimensional systems of PDEs we extend the splitting approach, in which spatial
dimensions are split locally in time. This approach is also known as dimensional
splitting in the literature. Again, all methods for (augmented) one-dimensional sys-
tems studied in previous chapters are directly applicable, maintaining the stability
limit of the one-dimensional components of the overall scheme. The splitting meth-
ods presented, either advection-reaction or dimensional splitting, have an accuracy
barrier; they are at most second-order accurate. More general schemes are introduced
in Chap. 14.
An alternative approach to construct unsplit schemes based on simultaneous
update formulae is presented. The presentation is largely based on structured meshes,
Cartesian meshes in particular, even though some of the schemes are applicable to
unstructured meshes. Schemes in this class exclude the direct application of several
of the one-dimensional methods presented in previous chapters. The overriding issue
here is stability. A section on von Neumann linear stability analysis for multidimen-
sional simultaneous-update finite volume schemes is included, along with examples
on stable schemes and their stability limits.
The schemes described in this chapter are applicable to three-dimensional non-
linear systems including source terms. In most situations the schemes are likely to
be successful. There are however situations is which the methods might need modi-
fications or cautious use. The potential challenges may come from the source terms,
apparently the simplest part of the whole advection-reaction systems. Source terms
are generally algebraic (non differential) functions of the unknowns, the independent
variables, and parameters of the physical problem. The source terms may give rise
to stiffness of the system; this issue is normally resolved by the adoption of implicit
methods. Also challenging are source terms of the geometric type, when the source
term depends on parameters of the problem (not the unknowns of the PDEs) and
more specifically, on gradients of the parameters. In the shallow water equations this
kind of source terms is present via the derivatives of the bathymetry function .b(x, y)
for rives, lakes or oceans. A class of successful schemes to deal with this kind of
source terms are called well-balanced schemes. In the steady or nearly steady state,
the PDEs become balance laws, which perfectly balance the flux gradient with the
source terms. We do not deal with this class of schemes in this book. The reader is
advised to revise the extensive and dynamic literature on the subject.
In Sect. 13.2 we deal with advection-reaction splitting to treat source terms in the
PDEs; in Sect. 13.3 we study numerical methods for solving ODEs; in Sect. 13.4 we
deal with dimensional splitting as applied to multidimensional systems; in Sect. 13.5
we study the von Neumann method for analysing the linear stability of multidimen-
sional schemes; in Sect. 13.6 we introduce unsplit, simultaneous-update schemes.
Finally, concluding remarks are found in Sect. 13.7.
General background on the subjects of this chapter is found in Chaps. 15 and 16
of the textbooks [1–3]. See also LeVeque [4] and Godlewski and Raviart [5].
13.2 Treatment of Source Terms by Splitting 285
Here we deal with splitting methods for solving non-linear systems of hyperbolic
equations with source terms. The term splitting in the field of numerical methods for
PDEs has different meanings in the literature and care is required in interpreting the
term correctly. In this section we split the advection terms in the PDEs from the
source terms (reaction). We call the procedure advection-reaction splitting.
Q(x, t) is the vector of conserved variables; .F(Q) is the flux vector, or physical flux;
.
S(Q) is the source term vector;.Q(0) (x) is the initial condition;.B L (t) and.B R (t) are the
boundary conditions on the left (.x = a) and right (.x = b) boundaries, respectively.
One of the ideal methods to solve (13.1) is the finite volume method based on the
explicit conservative formula
Δt
Qin+1 = Qin −
. (F 1 − Fi− 21 ) + ΔtSi . (13.2)
Δx i+ 2
This formula is derived from the integral form of the conservation laws and accounts
simultaneously for the flux gradient via the numerical flux .Fi+ 21 and the source
terms via the numerical source .Si . The numerical flux is
∫ tn+1
1
Fi+ 21 =
. F(Q(xi+ 21 , t))dt (13.3)
Δt tn
source. To this end we adopt the framework of the initial-value problem for an
advection-reaction system, namely
)
PDEs: ∂t Q + ∂x F(Q) = S(Q), x ∈ [a, b], t > 0,
. { } (13.5)
ICs: Q(x, tn ) = Qn = Qin , x ∈ [a, b].
In Chaps. 9, 10, 11 and 12 we studied methods that are directly applicable to solve
(13.6). Another simplification of (13.5) results from the assumption of no spatial vari-
ations, that is .∂x F(Q) = 0. In this case one obtains a system of Ordinary Differential
Equations (ODEs) in time .t, for fixed .x̂, which we term reaction system
d
. Reaction system: Q(x̂, t) = S(Q(x̂, t)). (13.7)
dt
Section 13.3 gives a brief introduction to numerical methods for solving the reaction
problem (13.7). Having methodologies available for each separate problem, the PDEs
in (13.6) and the ODEs in (13.7), we now combine such methods to solve the full
inhomogeneous problem (13.5), the details of which are explained in Sect. 13.2.2.
But before doing so we consider some very simple examples of hyperbolic con-
servation laws with source terms; these are useful in understanding the basic issues
involved in solving numerically the more general inhomogeneous problem (13.5).
To this end we assume model problems for a quantity .q(x, t) with .−∞ < x < ∞
and .t > 0.
Note in particular that for .α = 0 we recover the exact solution to the homogeneous
equation .∂t q + λ∂x q = 0, namely .q (n) (x − λt). The solution (13.9) represents a
13.2 Treatment of Source Terms by Splitting 287
wave profile .q (n) (x) travelling at constant speed .λ and being attenuated or amplified
in time, depending on whether .α < 0 or .α > 0. For stability of the PDE one chooses
.α ≤ 0 in (13.8); see Chap. 2. From the numerical point of view, this very simple
problem can be rather challenging, particularly in resolving the time evolution accu-
rately; see Chap. 14 and [6], for example.
Note that the source term here is .s(q) = b(x), assumed to be a prescribed function of
x. This is analogous to problems involving bed or breadth variation in shallow water
.
models, in which the bathymetry is a function of .x alone; see Chap. 1. The exact
solution of (13.10) is
∫ x
1
q(x, t) = q (n) (x − λt) +
. b(ξ) dξ. (13.11)
λ x−λt
These simple problems with exact solution may be helpful in assessing and inter-
preting the performance of numerical methods intended for solving more general
inhomogeneous problems.
We want to evolve .Qn from time .t = tn to the new value .Qn+1 at .t = tn+1 by a time
step .Δt = tn+1 − tn . A basic splitting scheme relies on solving in succession the
following two IVPs:
( )
PDEs: ∂t Q + ∂x F(Q) = 0 Δt
Advection IVP:
. =⇒ Q(adv) (13.13)
ICs: Q(x, tn ) = Qn
and
⎧ ⎫
⎨ ODEs: d Q = S(Q) ⎬
Δt
.Reaction IVP: dt =⇒ Qn+1 . (13.14)
⎩ ⎭
ICs: Q(x, tn ) = Q(adv)
288 13 Sources and Multidimensions
In the advection IVP (13.13) the initial condition of the homogeneous pure advec-
tion problem is the initial condition .Qn of the full problem (13.12) and the problem
is solved for a time .Δt, resulting in solution .Q(adv) , which may be regarded as a
predicted solution to the full problem (13.12).
In the reaction IVP (13.14) the initial condition is given by the solution .Q(adv) of
the advection IVP, and the problem is solved also for a time .Δt. The solution of the
reaction IVP (13.14) is then regarded as the sought approximate solution to the full
problem (13.12).
We call this splitting procedure advection-reaction splitting. To represent the
advection IVP (13.13) and the reaction IVP (13.14), let us assume the advection
operator .A(t) (Q) and the source/reaction operator .S (t) (Q), as follows:
Δt [ ]
A(Δt) : Qi(adv) = Qin −
. Fi+ 21 − Fi+ 21 (13.15)
Δx
and
S (Δt) : Qin+1 = Qi(adv) + Δt S(Qi(s) ).
. (13.16)
Qi(s) is a value at which the source term vector .S is evaluated, for which several possi-
.
bilities are available. Then the splitting scheme (13.13)–(13.14) may be conveniently
written thus
.Q
n+1
= S (Δt) A(Δt) (Qn ). (13.17)
The above notation means that one first applies the operator .A(Δt) on the data .Qn for
a time .Δt, followed by the application of .S (Δt) to the result, also for a time .Δt. An
analogous scheme is
.Q
n+1
= A(Δt) S (Δt) (Qn ). (13.18)
In this case one begins with the reaction operator, then followed by the advection
operator. Both splitting schemes (13.17) and (13.18) are first-order accurate in time,
if both .S and .A are at least first-order accurate in time.
A second-order accurate splitting scheme is
Clearly both second-order schemes (13.19) and (13.20) are .50% more costly than
the first-order schemes (13.17) and (13.18), but the potential gains in accuracy are
well worth it.
Note that the full scheme (13.15)–(13.16) may be written thus
13.2 Treatment of Source Terms by Splitting 289
Δt [ ]
Qin+1 = Qin −
. Fi+ 21 − Fi− 21 + Δt S(Qi(s) ). (13.21)
Δx
Compare (13.21) with the model scheme (13.2). As already pointed out, there are
potentially several choices for .Qi(s) . One obvious possibility is .Qi(s) = Qin , leading to
the scheme
Δt [ ]
.Qi
n+1
= Qin − Fi+ 21 − Fi− 21 + Δt S(Qin ). (13.22)
Δx
In the literature, scheme (13.22) is often called centred, in the sense that the numerical
source does not have any influence from wave propagation, or upwinding. Scheme
(13.22) may be interpreted as one version of the numerical source .Si in (13.2), in
which the integrand in (13.4) is assumed to be constant and evaluated on the data .Qin .
Practitioners, often claim the simple scheme (13.22) to be unsplit, merely because
the scheme advances the solution in a single step. This is not so because (i) the
computation of the numerical fluxes may not have included the influence of the
source terms and (ii) the computation of the source term, which depends on .Q,
may not have information from the advection part via the fluxes. Therefore scheme
(13.23) is a splitting scheme, and as a matter of fact, it is the worst version, as we
shall demonstrate via a model equation in Sect. 13.2.3.
Another possibility is to choose .Qi(s) = Qi(adv) , or more generally, the linear
combination
(s)
.Qi = βQi(adv) + (1 − β)Qin , 0 ≤ β ≤ 1. (13.23)
The value .β = 0 leads to scheme (13.22) and the choice .β = 1 leads to the scheme
Δt [ ]
Qin+1 = Qin −
. Fi+ 21 − Fi− 21 + Δt S(Qi(adv) ). (13.24)
Δx
We shall show that scheme (13.24) is actually better than scheme (13.22) and
constitutes what is regarded here as the standard advection-reaction splitting scheme.
Exercise 13.1 (Exact splitting) It is worth remarking that the simple splitting scheme
(13.17), when applied to the model problem (13.8), is actually exact when the oper-
ators .A and .S are exact. Details of the proof are given in Chap. 15 of [1–3]. The
reader is invited to verify this.
Here we discuss some theoretical issues regarding the relationship between upwind-
ing the source term and the advection-reaction splitting scheme just presented. We
do so in terms of simple model problems.
The exact solutions to the model problems presented in Sect. 13.2.1 clearly showed
the dependence of the solution on wave propagation direction. See also a prelimi-
nary discussion on this issue in Chap. 10. Consistent with this fact, Roe [9] put
forward the idea of upwinding the source terms in inhomogeneous conservation
laws, in a manner similar to that for constructing Godunov-type numerical fluxes for
solving homogenous conservation laws. Further work in this direction was carried
out by Bermúdez and Vázquez [10], who started by considering the model problem
(13.8). For example, for .λ > 0 one would expect the contribution .qi(s) in (13.16)
13.2 Treatment of Source Terms by Splitting 291
Table 13.1 Relation between upwinding and splitting schemes for source terms and linear stability
conditions
.ω (upwinding) .β (splitting) Linear stability range
.0 .0 .c + 21 r ≤ 1
.c ≤ 1, r ≤ 2
1 1
. c .
2 2
.c .1 .c ≤ 1, r ≤ 2
.
1
2 .
1
2c .c ≤ 1, r ≤ 2
.1 .
1
2c .c ≤ 1, r ≤ 2
to the numerical source .si = s(qi(s) ) to depend on some combination of the centred
value .qin and the upwind value .qi−1
n
. Bermúdez and Vázquez-Cendón expressed this
dependence as
(s)
.qi = ωqi−1
n
+ (1 − ω)qin , 0 ≤ ω ≤ 1. (13.25)
They carried out a linear stability and positivity analysis of various schemes aris-
ing from various choices of the parameter .ω. These results are reproduced in
Table 13.1; see the original Ref. [10] for more details.
As an illustrative example, we consider the Godunov first-order upwind scheme
as the advection operator .A applied for one time step .Δt to the homogeneous part in
(13.8), analogous to (13.15). For .λ > 0 this gives the predicted value as from the
Godunov upwind scheme, namely
Here .c = λΔt/Δx is the Courant number associated with the advection process
governed by the homogeneous PDE; see Chap. 9. As the source operator .S applied
for one time step .Δt to the ODE in (13.8), analogous to (13.16), we may use the
first-order Euler method, see Sect. 13.3. The result is
and [ ] [ ]
q n+1 = qin − c(qin − qi−1
. i
n
) + r qin − c(qin − qi−1
n
) . (13.29)
For the model problem considered and for the particular advection scheme applied,
there is a clear relationship between the upwind schemes contained in (13.25) for
292 13 Sources and Multidimensions
various values of .ω and the generalised splitting schemes for corresponding values
of .β in (13.23). Table 13.1 shows the relationship between the various upwinding
and splitting schemes and their corresponding linear stability region, derived in [10],
as a function of the dimensionless numbers .c, associated with pure advection, and .r ,
associated with pure reaction. The so-called centred scheme for the source term is
obtained when .ω = 0; this scheme has the smallest stability region of all the schemes
considered in the analysis of [10]. This centred scheme corresponds to .β = 0 in
the splitting schemes, that is the source term is evaluated at the data time level .n.
The standard splitting scheme is obtained when .β = 1, which corresponds to the
upwind scheme with .ω = c. As seen in Table 13.1 this scheme has a very generous
stability region.
We recall the preliminary analysis regarding the source in Chap. 9. There, we
proposed to evaluate the numerical source .si from the volume integral (13.4), in
which the integrand was calculated from the solution of the two neighbouring intercell
boundary Riemann problems. The result was
( )
1 1
s =
. i
n
c(αqi−1 ) + 1 − c (αqin ). (13.30)
2 2
This turns out to be identical to the upwind scheme of Table 13.1 with .ω = 21 c and
to the splitting scheme with .β = 21 . It is somehow reassuring that the simple analyses
for the model problem (13.8) reveal that the first-order splitting approach reproduces
the upwind approach, which is meant to be more fundamental.
It would be of interest to pursue this relationship between upwinding and splitting
schemes for source terms in non-linear systems. This would probably involve a
splitting approach with
1. transformation to characteristic variables for the unknowns and the source terms,
2. application of the source schemes to each characteristic variable and
3. transformation back to the original variables.
To end this section we mention early works on related topics to the treatment
of source terms in the shallow water equations, such as those of LeVeque and Yee
[7], Bermúdez and Vázquez-Cendón [10], Vázquez-Cendón [15, 30], Greenberg and
LeRoux [31], LeVeque [14], Toro and Vázquez-Cendón [32], Garcia-Navarro et al.
[33], Hubbard and García-Navarro [34] and Garcia-Navarro and Vázquez-Cendón
[35] and Borthwick et al. [36]. In Chap. 14 we shall present the general high-order
ADER methodology, in which fluxes and source terms are included in the scheme to
unlimited accuracy, via the generalised Riemann problem .G R Pm .
Splitting schemes for solving inhomogeneous systems of PDEs require solvers for
systems of Ordinary Differential Equations (ODEs). Systems of ODEs also appear
when using semi-discrete methods, or methods of line, for solving PDEs, even for
13.3 Solvers for Ordinary Differential Equations 293
the homogenous case [37, 38]. Here, we study some numerical methods for solving
systems of first-order ordinary differential equations, with the aim of treating source
terms in advection-reaction systems, as described in Sect. 13.2.2.
Here we recall some very basic facts about first-order systems of ODEs
d
. Q(t) = S(t, Q(t)) := Q' . (13.31)
dt
Q = [q 1 , q 2 , . . . , q N ]T ,
. S = [s 1 , s 2 , . . . , s N ]T (13.32)
and the independent variable .t is a time-like variable. The Jacobian matrix .A(Q)
of the source function .S(t, Q) is defined as
⎡ ⎤
∂s1 /∂q1 . . . ∂s1 /∂q N
⎢ ∂s2 /∂q1 . . . ∂s2 /∂q N ⎥
⎢ ⎥
.A(Q) = ∂S/∂Q = ⎢ .. .. .. ⎥. (13.33)
⎣ . . . ⎦
∂s N /∂q1 . . . ∂s N /∂q N
The entries .ai j = ∂si /∂q j of .A(Q) are partial derivatives of the components .si of
the vector .S with respect to the components .q j of the vector of unknowns .Q. The
eigenvalues .αi of .A are the solutions of the characteristic polynomial
where .I is the identity matrix. Generally, the eigenvalues are complex numbers.
Trivially, the eigenvalue of the model ODE
is .α. The behaviour of a system of ODEs (13.31) is, in the main, determined by the
behaviour of its eigenvalues. For instance, the exact solution of (13.35) with initial
condition .q(0) = 1 is .q(t) = eαt . For .t close to .0 the solution varies rapidly if the
eigenvalue is negative and large in absolute value. For .t away from zero the solution
is almost indistinguishable from .0.
294 13 Sources and Multidimensions
Stability of ODEs
Stiffness of ODEs
Another feature of ODEs is stiffness, yet to be defined. Stiff ODEs are usually
associated with processes operating on disparate time scales. Chemical kinetics is a
classical source of stiff ODEs. The stiffness of a system is generally determined by
the behaviour of the eigenvalues of the system. In addition, the time interval over
which the solution is sought is also a consideration in determining the stiffness of
the system. There will be intervals of rapid variations (transient) of the solution and
intervals of slow variation. The single ODE (13.35) is stiff for .α << 0 and for time
.t in the vicinity of .0.
Following Lambert [39], a nonlinear system of the form (13.31) is said to be stiff if
1. . Re(α j ) < 0, j = 1, 2, . . . , N and
2. .αmax ≡ max j |Re(α j )| >> αmin ≡ min j |Re(α j )|.
Here . Re(α j ) denotes the real part of the complex number .α j . The stiffness ratio is
defined as . Rsti f = αmax /αmin . Modest values of . Rsti f , e.g. 20, are sufficient to cause
serious numerical difficulties to explicit methods. In real applications . Rsti f may be
as large as .106 .
Before thinking of numerical methods to solve ODEs, the very first task is to
investigate whether the ODEs are stiff or not; this will determine the appropriate
numerical methods to be used for solving the equations. See Kahaner, Moler and
Nash [40], Gear [41] and Lambert [39].
One begins by discretising the domain of integration .[t0 , t f ] through the partition
t < t1 < t2 · · · < tn < tn+1 · · · < t f . One way of constructing numerical methods
. 0
to solve the ODEs in (13.36) is by using Taylor series expansions, giving rise to the
family of Taylor methods. Another way is to integrate the ODEs in (13.36) between
.tn and .tn+1 to obtain
∫ tn+1
.Q(tn+1 ) = Q(tn ) + S(t, Q(t))dt. (13.37)
tn
Various numerical methods are obtained depending on the way the integral in (13.37)
is evaluated. The Euler method results from evaluating the integral at the old time,
obtaining
.Q
n+1
= Qn + ΔtS(tn , Qn ). (13.38)
Here .Δt = tn+1 − tn is the time step and .Qn ≈ Q(tn ). The Euler method is explicit
and first-order accurate. The Backward Euler Method, also first-order accurate but
implicit, results from evaluating the integral in (13.37) at the new time .tn+1 , namely
1
Qn+1 = Qn + Δt[S(tn , Qn ) + S(tn+1 , Qn+1 )].
. (13.40)
2
Runge–Kutta methods constitute a classical family of numerical methods for
solving ODEs. A second-order, two-stage (explicit) Runge–Kutta method is
⎫
K1 = ΔtS(tn , Qn ), ⎬
. K2 = ΔtS(tn + Δt, Qn + K1 ), (13.41)
⎭
Qn+1 = Qn + 21 [K1 + K2 ].
A new class of Runge–Kutta schemes for ODEs emerged from the numerical anal-
ysis of hyperbolic PDEs solved via semidiscrete methods [37]; see Chap. 10. These
ODE solvers were originally called TVD (Total Variation Diminishing) ODE solvers
and are currently called strong stability preserving methods [38]. Semi-discrete meth-
ods, as pointed out in Chap. 10, separate the discretization in time from that in space.
In order to advance the solution from time .tn to the next time .tn+1 , semi-discrete
methods rely on the solution of an initial-value problem for a system of ODEs. Clas-
sical methods for ODEs, including conventional Runge–Kutta methods, are potential
candidates for this task. However, in view of the Godunov theorem, see Chap. 9, that
task requires the construction of non-linear methods [43]; that is, special ODE solvers
are needed. This need gave rise to TVD Runge–Kutta schemes for ODEs. In what
follows we introduce two ODE solvers of the Runge–Kutta type that satisfy the TVD
property. For details on their construction and properties see [37, 38].
Note that at each stage one applies the first-order explicit Euler scheme (13.38). For
convenience, we have dropped the explicit dependence on time .t of .S(t, Q(t)).
Again, at each stage one applies the explicit first-order Euler operator (13.38). Further
details on TVD Runge–Kutta schemes as applied in semi-discrete methods to solve
PDEs are found in [44].
13.3 Solvers for Ordinary Differential Equations 297
q n+1 = (1 + Δtα)q n .
. (13.45)
Clearly, for stability one requires that the ODE itself be stable, .α < 0, and that the
amplification factor satisfy
.|1 + αΔt| ≤ 1. (13.46)
Therefore, the time step .Δt must satisfy the stability restriction
2
Δt ≤
. . (13.47)
|α|
For large .|α| (stiff ODE) the time step .Δt can be extremely small, which means
that the method becomes very inefficient or even useless in practice. On the other
hand, the implicit trapezoidal method (13.40) gives
(1 + 21 Δtα)
q n+1 =
. qn. (13.48)
(1 − 21 Δtα)
This scheme is stable for any .Δt, provided .α ≤ 0, that is whenever the ODE itself
is stable.
Explicit methods are much simpler to use than implicit methods. The latter gen-
erally require the solution of non-linear algebraic equations at each time step and are
therefore much more expensive. However, as illustrated, for stiff problems implicit
methods are mandatory.
There is a vast literature on the subject of numerical methods for ODEs. For
theoretical properties of ODEs see for example Brown [45], Ince and Sneddon
[46], Sánchez [47] and Coddington and Levinson [48]. As to numerical methods,
almost any textbook on numerical analysis will contain a chapter on schemes for
ODEs. See for example Hildebrand [49], Mathews [50], Conte and de Boor
[51], Maron and López [52], Johnson and Riess [53], Kahaner et al. [40]. Advanced
textbooks are those of Gear [41], Lambert [39] and Shampine [42]. Advanced meth-
ods for ODEs in the context of PDEs are found in [37, 38]. As already noted, ODEs
(13.7) may be stiff, in which case one must employ appropriate numerical methods;
see Kahaner, Moler and Nash [40], Gear [41] and Lambert [39].
In the next section we study simple approaches for extending numerical methods
developed for one-dimensional PDEs, with or without source terms, to problems
involving multiple space dimensions.
298 13 Sources and Multidimensions
In this section we introduce finite volume schemes for solving numerically non-linear
PDE systems in multiple space dimensions, the two-dimensional shallow water equa-
tions in particular. Two classes of schemes are considered, dimesional split schemes,
analogous to those for source terms in Sect. 13.2.2, and unsplit or simultaneous update
schemes, in which the solution at a cell is updated in a single step, accounting simul-
taneously for all intercell fluxes. Background on some of the schemes discussed is
found in Chap. 16 of the textbooks [1–3]. See also the books by LeVeque [4], Vázquez
[54] and Godlewski and Raviart [5].
Consider the two-dimensional initial-value problem for a system of PDEs
⎫
PDEs: ∂t Q + ∂x F(Q) + ∂ y G(Q) = S(Q), ⎬
. { } (13.49)
ICs: Q(x, y, tn ) = Qn := Qi,n j . ⎭
For the two-dimensional shallow water equations with variable bathymetry .Q, .F(Q)
and .G(Q) are the vectors of conserved variables, fluxes in the .x- and . y-directions,
and sources, given by
⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎫
q1 h f1 hu ⎪
⎪
⎪
⎪
Q = ⎣ q2 ⎦ = ⎣ hu ⎦ , F(Q) = ⎣ f 2 ⎦ = ⎣ hu 2 + 21 gh 2 ⎦ , ⎪
⎪
⎪
⎪
q3 hv f3 hu v ⎬
.
⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎪
g1 hv s1 0 ⎪
⎪
⎪
⎪
⎣
G(Q) = g2 = ⎦ ⎣ hvu ⎦ , S(Q) = s2 = −gh∂x b . ⎪
⎣ ⎦ ⎣ ⎦ ⎪
⎪
⎭
g3 hv 2 + 21 gh 2 s3 −gh∂ y b
(13.50)
Here .u(x, y, t) and .v(x, y, t) are respectively the .x- and . y-components of veloc-
ity, .h(x, y, t) is the water depth, .b(x, y) is the bed elevation, or bathymetry, with
the free surface defined as .s(x, y, t) = b(x, y) + h(x, y, t); .g = 9.81 m/s 2 is the
acceleration due to gravity, a constant here. See Chaps. 1 and 4 for further details.
Fig. 13.1 Cartesian mesh made up of regular cells . Ii, j of dimensions .Δx × Δy, with four intercell
boundaries, all aligned with the Cartesian coordinate directions
( )
PDEs: ∂t Q + ∂x F(Q) = 0 Δt 1
. x-sweep IVP: =⇒ Qn+ 2 (13.51)
ICs: Q(x, tn ) = Q n
and
( )
PDEs: ∂t Q + ∂ y G(Q) = 0 Δt
. y-sweep IVP: =⇒ Qn+1 . (13.52)
n+ 21
ICs: Q(x, tn ) = Q
In the first IVP (13.51) one solves a one-dimensional problem in the .x-direction for
a time step .Δt. The initial data is that of the full problem and its solution after a
1
time .Δt is denoted by .Qn+ 2 . In this problem one solves the .x-split one-dimensional
problem (13.51) for each strip of cells labelled . j; see Fig. 13.1. The 1D equations
are augmented by the tangential velocity component .v, a passive scalar; see Chap. 4.
Any of the methods studied in the previous Chaps. 10, 11 and 12, is directly applicable
to solve (13.51).
In the next IVP (13.52) one solves the augmented one-dimensional problem in the
y-direction, also for a time step .Δt. This is called the . y-sweep; its initial data is the
.
1
solution .Qn+ 2 of the previous IVP (13.51) and its solution after a time .Δt is .Qn+1 .
Here, for each strip of cells labelled .i one solves the augmented one-dimensional
problem, augmented by the tangential velocity component .u, a passive scalar. Again,
300 13 Sources and Multidimensions
any of the methods studied in previous chapters is directly applicable to solve (13.52).
At the end of (13.52) one regards its solution .Qn+1 as the solution to the full two-
dimensional problem (13.49).
Let us now introduce the notation .X (t) and .Y (t) for the solution operators for IVPs
(13.51) and (13.52), respectively. Then the splitting (13.51)–(13.52) of the original
two-dimensional IVP (13.49) can be written thus
There is generally no particular reason for applying the operators in the order just
described. An analogous scheme is
It can be shown, see Strang [55], that for general systems, both splitting schemes
(13.53) and (13.54) are first-order accurate in time if the individual operators .X (t)
and .Y (t) are at least first-order accurate in time.
There exist second-order dimensional splitting schemes in the literature. One
example is
1 [ (Δt) (Δt) ]
.Q
n+1
= X Y + Y (Δt) X (Δt) (Qn ). (13.55)
2
This is a second-order accurate splitting scheme, provided that each of the solution
operators is at least second-order accurate in time [55]. Note, however, that this
scheme requires double the amount of work of the first-order schemes (13.53) and
(13.54). More attractive second-order split schemes are
and
Qn+1 = Y ( 2 Δt) X (Δt) Y ( 2 Δt) (Qn ).
1 1
. (13.57)
These require about 50% more work than the first-order schemes (13.53) and (13.54).
Two more second-order accurate schemes are
and
Qn+2 = Y (Δt) X (Δt) X (Δt) Y (Δt) (Qn ).
. (13.59)
These can be shown to be second-order accurate every other time step [56], and they
are as efficient as the first-order schemes (13.53) and (13.54).
13.4 Multidimensional Systems of PDEs 301
also applicable to structured meshes, in which computing cells are not necessarily
Cartesian, but the .i-. j indexing can still be kept.
In the next section we study numerical schemes that advance the solution by
simultaneously accounting for all fluxes in a single time step. Such methods are
potentially applicable to unstructured meshes. For background see Chap. 10.
Δt Δt
j = Qi, j −
Qi,n+1 [Fi+ 21 , j − Fi− 21 , j ] − [G 1 − Gi, j− 21 ].
n
. (13.61)
Δx Δy i, j+ 2
The cell average .Qi,n j in cell . Ii, j at time level .n is updated to time level .n + 1 via
(13.61) in a single step, involving simultaneous flux contributions from all four
intercell boundaries; see Fig. 13.2. The conservative formula (13.61) is the natural
extension of the one-dimensional conservative formula (13.15), and is completely
determined once the intercell numerical fluxes .Fi+ 21 , j and .Gi, j+ 21 are specified.
When it comes to the design of numerical fluxes, there is a profound difference
between the dimensional-split schemes of Sect. 13.4.1 and the simultaneous update
schemes (13.61). A major issue is stability, a subject we address next.
As already pointed out, for the dimensional-split schemes of Sect. 13.4.1 one can
use any of the one-dimensional schemes presented in previous Chaps. 9, 10 and 11.
The stability constraints of the overall 2D/3D split schemes are the same as for the
one-dimensional scheme used in each sweep. This is an advantage of split schemes.
For the simultaneous update scheme (13.61) the situation is rather different. The
reader is warned that the temptation to directly apply one-dimensional fluxes to each
interface, as presented in previous chapters, could prove frustrating. The issue is sta-
bility. One-dimensional upwind schemes, such as the first-order Godunov scheme of
Chaps. 10 and 11, can be used straightforwardly to specify each of the four intercell
fluxes in (13.61), as depicted in Fig. 13.2. However, the resulting stability constraint
is more severe than for the 1D schemes. For example, for the one-dimensional prob-
lem the linear stability constraint for the Godunov scheme is .0 ≤ |c| ≤ Clim = 1,
where .c is the Courant number. For the 2D case .Clim = 1/2 and for 3D .Clim = 1/3.
Conventional centred schemes, such as Lax-Friedrichs, Lax-Wendroff and FORCE
presented in Chap. 10 are not directly usable. The resulting schemes are uncondi-
tionally unstable. The centred FORCE-.α scheme [57], see Chap. 10, is one of the
exceptions, as we shall see in Sect. 13.5.2.
Here .λx and .λ y are the .x- and . y-components of the constant wave propagation speed
V = (λx , λ y ); see Chap. 2. The simultaneous update numerical formula for (13.62)
.
corresponding to (13.61) is
13.5 Stability of Multi-dimensional Schemes 303
Δt Δt
q n+1 = qi,n j −
. i, j [ f i+ 21 , j − f i− 21 , j ] − [g 1 − gi, j− 21 ]. (13.63)
Δx Δy i, j+ 2
The numerical fluxes in the.x- and . y-directions are. f i+ 21 , j and .gi, j+ 21 . Specification of
the fluxes into the scheme (13.63) gives .qi,n+1j as a linear combination of old values
n
.qk,l with constant coefficients .bk,l , which are functions of Courant numbers
λx Δt λ y Δt
c =
. x , cy = . (13.64)
Δx Δy
See Chap. 9 for relevant background for the 1D case. There are various methods for
analysing the stability of schemes for the linear advection equation. See Hirsch [58],
Chaps. 7–10, for a comprehensive presentation of techniques. See also [4, 5, 59, 60].
Here we assume the reader to be familiar with the rudiments of the popular von
Neumann linear stability analysis method.
The von Neumann method begins by introducing a trial function, or test function
q n = An e I θi ,
. i with − π ≤ θ ≤ π, (13.65)
. ||A|| ≤ 1. (13.66)
In this manner, the amplitude raised to the power .n in (13.65), where .n is the time
level, will not increase unboundedly, as time marching proceeds into the future.
As an example, let us consider the linear stability for the Godunov upwind method
for .λ > 0, that is for the method
) )
q n+1 = qin − c qin − qi−1
. i
n
, (13.67)
n
where .c is the Courant number. Substitution of .qi−1 , .qin and .qin+1 by . An e I θ(i−1) ,
n I θi n+1 I θi
.A e and . A e , according to (13.65), into the scheme (13.67) yields
[ ]
. An+1 e I θi = An e I θi − c An e I θi − An e I θ(i−1) . (13.68)
0 ≤ c ≤ Clim = 1.
. (13.73)
It is easy to perform the analysis for the negative wave speed, .λ < 0. The general
stability condition that includes both positive and negatives wave speeds is
0 ≤ |c| ≤ Clim = 1.
. (13.74)
In general, the analysis may become algebraically intractable, for example for higher-
order methods. In this case one resorts to a numerical evaluation of the amplification
factor . A in order to get an indication of the stability region of the scheme of interest.
For the one-dimensional case in which the coefficients of the scheme depend only
on the Courant number .cx the von Neumann method derives an algebraic expression
for the amplification factor as
. A = A(c x , θ x ). (13.75)
where .cx is the Courant number and .θx is the phase angle in the range .0 ≤ θx ≤ π.
For sufficiently simple schemes the stability condition (13.66) can be used to derive,
algebraically, conditions on the Courant number for the scheme to be linearly stable,
as just done for the Godunov upwind scheme, see condition (13.74). Otherwise one
performs a numerical evaluation of .||A||, the modulus of the complex number . A,
for a large number of values .(cx , θx ) in a rectangle .[0, C x,upper ] × [0, π]; see [61].
Even though this numerical implementation of the von Neumann method does not
constitute a mathematical proof for stability, the results are reliable, if done properly.
In the numerical test one guesses .C x,upper to be larger than the expected stability limit
.C x,lim . One expects an interval .0 ≤ |c x | ≤ C x,lim , for which .||A|| ≤ 1, .∀θ x ∈ [0, π].
13.5 Stability of Multi-dimensional Schemes 305
. A = A(cx , c y , θx , θ y ). (13.76)
Here .cx and .c y are the Courant numbers in the .x- and . y- directions, as defined in
(13.64), and .θx , .θ y are corresponding phase angles. Deriving algebraic conditions
for the scheme to be stable, such as in (13.74), may now be much harder than in the
one-dimensional case. The numerical implementation of the von Neumann method
is a practical alternative [61] to provide an indication of stability. For a given pair
(.cx , c y ) of Courant numbers in the rectangle .[0, C x,upper ] × [0, C y,upper ] compute
.||A|| for a large number . Mang of values .(θ x , θ y ) of phase angles in the rectangle
.[0, π] × [0, π]. Then, record the number . Mc f l for which .||A|| ≤ 1 is satisfied and
define the ratio
Mc f l
. S = S(c x , c y ) = . (13.77)
Mang
If . S = 1 the scheme is regarded as stable for the pair (.cx , c y ). A contour plot of . S =
S(cx , c y ) for a large number of pairs .(cx , c y ) in the range .[0, C x,upper ] × [0, C y,upper ]
will give an indication of the linear stability of the two-dimensional scheme. In
three space dimensions, an analogous procedure is followed. The methodology is
fully described in Appendix B of [62] and in Chap. 16 of [2, 3, 63]; see also [57].
Remark 13.2 The numerical von Neumann stability analysis just described, useful
in practice as it may be, does not constitute proof of linear stability, and caution is
needed when quoting the conclusions from the study. The numerical implementa-
tion calls for large numbers of Courant numbers and phase angles, to increase the
reliability of the conclusions.
Here we apply the von Neumann stability analysis method just described to establish
the linear stability of the simultaneous update 2D scheme (13.63), in which the
intercell fluxes are computed using one-dimensional schemes. Though not necessary,
for convenience we assume .λx = λ y .
306 13 Sources and Multidimensions
Figure 13.3 shows the results for the case in which the 1D Godunov upwind method
is used to determine all four fluxes in the simultaneous-update 2D scheme (13.63).
The respective stability region in the .cx -.c y plane are shown in yellow and can be
described as follows
{ }
.|cx | + |c y | ≤ Clim = 1, Clim = min C x,lim , C y,lim . (13.78)
Here .C x,lim is the stability limit for the one-dimensional case in the .x-direction, with
analogous meaning for .C y,lim . When .cx = c y ≥ 0 condition (13.78) implies that the
Godunov upwind scheme has stability limit .Clim = 21 . Analogously, in three space
dimensions .Clim = 13 . This represents a drastic reduction of the stability limit of the
scheme, compared with the stability limit.Clim = 1 of the respective one-dimensional
scheme and the associated dimensional-split schemes in Sect. 13.4.1.
√ )
2D: cx2 + c2y ≤ R2D
2
→ Clim = R2D / 2,
. √ (13.79)
3D: cx2 + c2y + +cz2 ≤ R3D
2
→ Clim = R3D / 3.
The parameter .α determines the radii of the stability circle in 2D and the stability
sphere in 3D. These radii decrease as .α increases. Table 13.2 shows the variation of
the stability regions with.α, in 1D, 2D and 3D. Results for the 2D and 3D cases derive
from the numerical von Neumann method, in which the radii are estimated from the
graphs of the counterplots. For .α = 1 only √ the 1D scheme is stable, in which case
the theoretical stability limit is .Clim = α1 2α − 1. See [57] for details.
308 13 Sources and Multidimensions
Table 13.2 Radii of stability regions and corresponding Courant stability limit .Clim as functions
of the parameter .α for .1D, .2D and .3D simultaneous-update schemes. Results for the 2D and 3D
cases derive from the numerical von√Neuman method. For.α = 1 only the 1D scheme is stable, with
theoretical stability limit .Clim = α1 2α − 1
.α .Clim in .1D . R2D .Clim in .2D . R3D .Clim in .3D
.1.0 .1.000 .. . . .. . . .. . . .. . .
From the results of Table 13.2, the following comments are in order:
1. In 2D, for .α = 2, the stability limit is .Clim = 0.498 ≈ 1/2. That is, the stability
limit of FORCE-.α is equivalent to that of the Godunov upwind scheme.
2. In 3D, for .α = 3, the stability limit is .Clim = 0.333 ≈ 1/3. That is, the stability
limit of FORCE-.α is equivalent to that of the Godunov upwind scheme.
3. Obviously, as .α increases, .Clim decreases in both 2D and 3D, but not very drasti-
cally. This is attractive, as increasing .α results in decreased numerical dissipation,
which is especially beneficial for resolving slowly-moving intermediate waves,
such as contact discontinuities and vortical flows. See [57] for detailed discussion.
4. The above observations have implications for discontinuous Galerkin (DG) meth-
ods, which have a very stringent stability constraint. This means that the FORCE-.α
schemes are well suited for use in conjunction with DG schemes.
wa f
Fig. 13.5 The intercell flux .Fi+ 1 , j is obtained by applying the 1D WAF operator .L in the
2 x, 21 Δt
. x-direction
by a time . 21 Δt
to modified data in cells . Ii, j and . Ii+1, j . The modification of the data is
god
attained by applying the Godunov operator .L 1 in the . y-direction to the initial states .Qi,n j and
y, 2 Δt
n
.Qi+1, j by a time . 21 Δt
The extension of the WAF approach on structured meshes is presented in the general
framework discussed below. For convenience we assume the simpler case of a 2D
Cartesian mesh, as depicted in Fig. 13.2. The task is to determine the numerical fluxes
.Fi+ 1 , j in the . x-direction and .Gi+ 1 , j in the . y-direction for use in the simultaneous
2 2
update formula (13.61).
The computation of the .Fi+ 21 , j flux is accomplished through the following two
steps:
god god god god
⎫
Step 1: Qi, j = L y, 1 Δt (Qi,n j ), Qi+1, j = L y, 1 Δt (Qi+1, j ), ⎬
n
2 2
. (13.80)
Step 2: Fi+ 21 , j =
wa f god god
Lx, 1 Δt (Qi, j , Qi+1, j ). ⎭
2
The resulting second-order unsplit WAF scheme in two space dimensions has
linearised stability condition [68]
{ }
. max |cx |, |c y | ≤ Clim = 1. (13.82)
This is double the stability limit .Clim for the unsplit first-order scheme obtained by
the direct application of the Godunov upwind scheme, and shown in Fig. 13.3. In
three space dimensions the linear stability condition is
{ }
. max |cx |, |c y |, |cz | ≤ Clim = 2/3. (13.83)
Again, this is double the stability limit .Clim for the unsplit 3D scheme obtained by
the direct application of the first-order Godunov upwind scheme. Further details on
these WAF-type schemes are found in the original Refs. [67–70], and also in Chap.
16 of the textbooks [1–3]. For related multidimensional schemes see Colella [71],
Fey et al. [72, 73], and LeVeque [74, 75].
13.6 Unsplit 2D/3D Second-Order WAF Schemes 311
The multidimensional WAF framework just described in Sect. 13.6.1 can be extended
to construct simultaneous-update schemes in two and three space dimensions. The
framework work turns out to be suitable for designing first and second-order meth-
ods by combining various 1D first and second order schemes. For example, Toro
and Hu [76] proposed centred-type schemes based on the FORCE method (.α = 1)
[62, 77] presented in Chap. 10 and its second-order extension the SLIC scheme [62],
presented in Chap. 12.
The computation of the .Fi+ 21 , j flux is accomplished through the following
operations:
f or ce f or ce
⎫
= L y, (Qi,n j ), Qi+1, j = L y, (Qi+1, j ), ⎬
F O1d F O1d n
Step 1: Qi, j 1
Δt 1
Δt
2 2
. (13.84)
Step 2: Fi+ 21 , j = Lslic (Qi, j
f or ce f or ce
, Qi+1, j ). ⎭
x, 1 Δt 2
The procedure (13.84)–(13.85) to compute the fluxes .Fi+ 21 , j and .Gi, j+ 21 for use
in the simultaneous-update formula (13.61) leads to second-order schemes of the
centred-type with good stability properties [76]. The approach extends to three space
dimensions on structured meshes. Furthermore, there is room for combining various
one-dimensional operators to optimise the resulting unsplit schemes.
An introduction to more advanced computational schemes for PDEs will be
presented in Chap. 14.
312 13 Sources and Multidimensions
We have addressed two major themes in the subject of numerical methods for
advection-reaction partial differential equations in general domains, namely the pres-
ence of source terms in the PDEs and the multidimensional definition of the compu-
tational domain. Simple but effective methods to deal with both situations have been
presented.
One-dimensional advection-reaction systems are split into an advection system
of PDEs and a reaction system of ODEs. For the advection part, several schemes
presented in previous chapters are directly applicable. For the reaction part, a section
on numerical methods for ODEs is included. The complete procedure is termed
advection-reaction splitting. Schemes of first and second-order of accuracy for
advection-reaction systems are formulated.
For multidimensional advection systems, two approaches have been presented.
The first relies on dimensional splitting, whereby separate 1D systems in each spatial
direction are solved in succession at each time level. Suitably extended 1D schemes
presented in previous chapters are applicable to each augmented 1D system. First
and second-order accurate dimensional-split schemes have been presented, which
preserve the generous stability constraints of the 1D schemes. These methods are
suitable for structured meshes, Cartesian meshes in particular.
A second approach to solve multidimensional advection systems rests on unsplit,
simultaneous-update finite volume formulations, whereby the updating of the solu-
tion includes contributions from all element-edge numerical fluxes. This approach is
suitable for unstructured meshes. However, in this framework, not all 1D fluxes are
applicable. A major issue enters the scene, namely stability. A section on stability
analysis for multidimensional schemes has been included, and examples of stable
schemes have been given.
Finally, a particular class of second-order finite volume, upwind unsplit methods
of the WAF type, have been presented. These schemes exhibit very generous stability
regions in 2D and 3D. Moreover the WAF framework may be generalised to include
other classes of stable schemes, such as centred schemes. The methods presented
in this chapter are second-order accurate at most. More advanced, unsplit upwind and
centred schemes in the fully-discrete ADER framework are introduced in Chap. 14.
References
1. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics. A Practical
Introduction (Springer, 1997)
2. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics. A Practical
Introduction, 2nd edn. (Springer, 1999)
3. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics. A Practical
Introduction, 3rd edn. (Springer, 2009)
4. R.J. LeVeque, Finite Volume Methods for Hyperbolic Problems (Cambridge University Press,
2002)
References 313
Abstract This chapter is concerned with advanced, numerical methods for evolu-
tionary partial differential equations, following the ADER framework. The methodol-
ogy is an unlimited-order, non-linear fully discrete one-step extension of Godunov’s
method that operates in the finite volume and discontinuous Galerkin finite element
frameworks. The approach is applicable to multidimensional systems in conservative
and non-conservative forms, on structured and unstructured meshes. The building
block of ADER is the generalised Riemann problem .G R Pm , admitting stiff and
non-stiff source terms, with initial data consisting of reconstruction polynomials of
arbitrary degree.m. The resulting ADER schemes are of order.m + 1 in both space and
time. Here we review some key aspects of the methodology and give appropriate ref-
erences. The presentation is general, so as to include any system of hyperbolic balance
laws and extensions, but we also identify specific applications to the shallow water
equations of interest in this book. The chapter is concluded with two examples that
highlight the key point of very high-order methods; that is, for small errors high-order
ADER methods are orders-of-magnitude more efficient than low-order methods.
14.1 Introduction
There is evidence that numerical methods of very high order of accuracy, in both
space and time, for solving evolutionary partial differential equations, are orders-
of-magnitude cheaper than lower-order methods for attaining a prescribed, small
error. Such methods are therefore mandatory for computationally-demanding, ambi-
tious scientific and technological applications. In this chapter we present the ADER
methodology, a class of one-step, fully discrete non-linear methods that includes all
order of accuracy in space in time, in a single framework, either finite volumes or dis-
continuous Galerkin (DG) finite elements. ADER was originally introduced in [1–3].
See also [4, 5] for early applications of the ADER approach in the field of acoustics.
In 1959 Godunov communicated his method to solve the Euler equations of
gas dynamics [6], thus establishing the Godunov’s school of thought, regarding
the construction of numerical methods for approximating solutions of hyperbolic
equations. The building block of the original first-order Godunov upwind method is
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 317
E. F. Toro, Computational Algorithms for Shallow Water Equations,
https://doi.org/10.1007/978-3-031-61395-1_14
318 14 ADER High-Order Methods
the conventional piece-wise constant data Riemann problem, for which many solvers
are available in the literature [7], as well as extensions, analysis and applications
[8]. The ADER methodology, succinctly presented in this Chapter, is a high-order
extension of the Godunov method, for which the building block is the generalised
Riemann problem.G R Pm . This is a piece-wise smooth data Cauchy problem in which
the equations admit source terms, stiff or non-stiff, and the initial data is represented
by non-linear reconstructed polynomials of arbitrary degree .m, or some other func-
tions. The .G R Pm results in ADER schemes of .(m + 1)-th order of accuracy in both
space and time. As .m is arbitrary, there is no theoretical accuracy barrier in the
ADER approach. In the early application of Dumbser and Munz to linear acous-
tics, they implemented ADER schemes up to order .24-th in space and time [5]. The
ADER methodology, in the finite volume and discontinuous Galerkin finite elements
frameworks, applies to both structured [9, 10] and unstructured meshes [11–15].
The key ingredient of ADER, in both the finite volume and DG frameworks, is the
solution of the generalised Riemann problem .G R Pm . Sometimes in the literature,
ADER is described as a time dicretization scheme. This is erroneous, as the .G R Pm
intimately couples space and time at the level of the intercell numerical flux. Cell-
based reconstructed functions, such as polynomials, provide the piece-wise smooth
initial conditions for the .G R Pm . The high-order ADER intercell numerical flux is
computed from the solution of .G R Pm . The numerical source is computed from a
cell-volume integral evaluated on a time-evolved reconstruction polynomial within
the control volume, using a strategy analogous to that for the numerical flux. For
finite volume ADER schemes, the polynomial data results from non-linear spatial
reconstruction methods [13, 16–23]. For ADER schemes in the DG framework the
polynomial data is readily available [5, 13, 14, 24].
Solvers for the generalised Riemann problem .G R Pm may be classified in various
ways. A first distinction is whether the solver is semi-analytical or fully numerical.
Semi-analytical methods [1, 2, 25] construct a high-order polynomial in time right
at the cell interface. To this end, use is made of the Cauchy-Kovalevskaya (CK)
procedure [26, 27], whereby high-order time derivatives of the unknown vector are
expressed as functionals of high-order spatial derivatives. The CK procedure is,
algebraically, a demanding task to perform, for which symbolic manipulators must be
used. Recently, a simplification to the CK procedure was put forward by Montecinos
and Balsara [28]; see also [29]. There are also fully numerical solvers [15, 30].
These avoid the use of the CK procedure, which renders the schemes more easily
applicable.
Another distinction is whether.G R Pm solvers can deal adequately with stiff source
terms in the governing PDEs. The numerical .G R Pm solver of Dumbser et al. [15]
was the first scheme to successfully deal with stiff source terms, making it possible to
reconcile two classically contradictory requirements: stiffness and very high order of
accuracy. Also, the locally implicit, semi-analytical solver of Montecinos and Toro
[25] overcomes this limitation, though still requiring the use of the CK procedure. See
also [28, 29]. Much of the material of this Chapter is based on the recent review [31].
14.2 ADER in the Finite Volume Framework 319
In this Section we present the essential elements of the ADER numerical approach
to solve hyperbolic balance laws to high order of accuracy in both space and time.
14.2.1 Preliminaries
(14.3)
Consider the space-time control volume .Vin = [xi− 21 , xi+ 21 ] × [tn , tn+1 ], with .Δx =
xi+ 21 − xi− 21 and .Δt = tn+1 − tn . Exact integration of (14.2) in .Vin gives the formula
Δt
Qin+1 = Qin −
. (F 1 − Fi− 21 ) + ΔtSi , (14.4)
Δx i+ 2
with definitions
∫ xi+ 1 ⎫
1 ⎪
Qin =
2
Q(x, tn )d x , ⎪
⎪
Δx ⎪
⎪
xi− 1 ⎪
⎪
∫
2
⎪
⎪
1 tn+1 ⎬
. Fi+ 21 = F(Q(xi+ 21 , t))dt , (14.5)
Δt ⎪
⎪
∫
tn
∫ ⎪
⎪
tn+1 xi+ 1 ⎪
⎪
S(Q(x, t))d xdt . ⎪
1
Si =
2
⎪
⎪
ΔtΔx tn xi− 1
⎭
2
Formula (14.4) is exact with definitions (14.5). Finite volume numerical methods
emerge from (14.4) if integrals in (14.5) are suitably approximated, leading to .Fi+ 21 ,
320 14 ADER High-Order Methods
the numerical flux, and to .Si , the numerical source. These emerge from the second
and third lines in (14.5) as suitable approximations to the respective integrals. The
cell integral average .Qin is computed explicitly only at the initial time from the initial
conditions; for later times this results automatically from formula (14.4), which
becomes a one-step numerical method for evolving spatial cell averages in time.
Example: the first-order Godunov method. For the homogeneous case .S(Q) = 0,
the classical first-order Godunov method [6] results if the integrand for the flux inte-
gral for .Fi+ 21 is assumed to be the similarity solution .Gi+ 21 (x̂/τ ) of the conventional
Riemann problem
⎫
PDEs: ∂t Q + ∂x F(Q)
( = 0 , x ∈ R , t > 0 ,⎪
⎬
. Qin if x < xi+ 21 , (14.6)
ICs: Q(x, 0) = ⎪
⎭
n
Qi+1 if x > xi+ 21 ,
in local coordinates
. x̂ = x − xi+ 21 , τ = t − tn . (14.7)
As .Gi+ 21 (x̂/τ ) is constant on the interface .x̂/τ = 0, the Godunov numerical flux
becomes ∫ Δt
1
.F
God
= F(Gi+ 21 (0))dt = F(Gi+ 21 (0)) . (14.8)
i+ 21 Δt 0
In the Godunov method, the data at time .tn is furnished by a set of . M cell integral
{ }M
averages . Qin i=1 in the computational domain, given in the first line of (14.5).
This naturally results in discontinuous data for (14.6) at the cell interface .xi+ 21 . See
Chaps. 6, 7 and 11. See also [7, 32, 33] for background on the Godunov method as
well as exact and approximate solvers for the conventional Riemann problem (14.6).
Fig. 14.1 Single component . p(x) of reconstructed polynomials .Pl (x) in cells . Ii−1 , . Ii and . Ii+1 .
Such polynomials are the initial conditions for a generalised Riemann problem of the type (14.9) at
the interface .x = xi+ 1 between two neighbouring cells (courtesy of Prof. LO Müller, University
2
of Trento, Italy)
⎧ ⎫
⎨ PDEs: ∂t Q + ∂x F(Q)
⎪ ( = S(Q) , x ∈ R , t > 0 , ⎪
⎬
.G R P m : Pi (x) if x < xi+ 21 , (14.9)
⎩ ICs: Q(x, 0) = Pi+1 (x) if x > xi+ 1 .
⎪ ⎪
⎭
2
approximating the flux integral in (14.5) via a suitable quadrature rule, namely
∫ Δt α̂
∑
1
1 = F(Ji+ 21 (τ ))dτ ≈ ωα F(Ji+ 21 (γα Δt)).
Ader
.Fi+ (14.10)
2 Δt 0 α=1
Recommended choices for the computational parameters in (14.10) are .α̂ = 3 and
√ √
1 15 1 1 15 5 8 5
γ =
. 1 − , γ2 = , γ3 = + , ω1 = , ω2 = , ω3 = .
2 10 2 2 10 18 18 18
(14.11)
322 14 ADER High-Order Methods
Fig. 14.2 Solution of a generalised Riemann problem (14.9) for the one-dimensional Euler equa-
tions represented in the.x-.t plane. Note the curved characteristics and wave paths. ADER makes use
of the solution of.G R Pm at the interface.x = xi+ 1 , locally at.x = 0, (along the.t axis) to evaluate the
2
numerical flux to be used in (14.4) (courtesy of Dr. VA Titarev, the Russian Academy of Sciences,
Moscow, Russia)
Ader
To compute the ADER numerical flux .Fi+ 1 (14.10) the Toro-Titarev (TT) solver
2
[2] seeks an approximation .Ji+ 2 (τ ) to .G R Pm (14.9) at the interface, departing
1
∑m [ ] τl
.J i+ 21 (τ ) = Q(x i+ 21 , 0+ ) + ∂t(l) Q(xi+ 21 , 0+ ) . (14.12)
l=1
l!
Determining (14.12) involves two distinct steps: computing the leading term (14.13)
and computing the higher-order terms in (14.12), as explained in what follows.
The initial conditions are piece-wise constant, given by limiting values of .Pi (x)
(0)
and .Pi+1 (x) from left and right respectively. Denoting by .Gi+ 1 ( x̂/τ ) the similarity
2
solution of (14.14) we set
(0)
Q(xi+ 21 , 0+ ) = Gi+
. 1 (0) . (14.15)
2
(0)
Exact or approximate solvers can be used to find .Gi+ 1 ( x̂/τ ), the sampling of
2
(0)
which gives the Godunov state .Gi+ 1 (0). See Chap. 6 for an exact solver for the
2
shallow water equations and Chap. 11 for approximate solvers.
T(l) is specific to the particular PDE system of interest. As a very simple example
.
consider the PDE .∂t q + λ∂x q = 0, with .λ constant. Clearly, from the PDE the
first-order time derivative is .∂t q = −λ∂x q. Also, the second-order time deriva-
tive is .∂t2 q = (−λ)2 ∂x2 q. In general, for any integer .k > 2, it can be proved by
induction that .∂tk q = (−λ)k ∂xk q.
In the more general case, the pending problem in (14.16) is to determine the
arguments of the functional .T(l) , which are spatial derivatives.
2. Evolution equations for spatial derivatives of order .l, for .l = 1, . . . , m:
Here .A(Q) is the Jacobian matrix of the PDEs in (14.9) and the source term .K(l)
arises from the CK procedure.
3. Simplifications to (14.17) involve (i) a linearisation of the PDEs with a constant
Jacobian matrix and (ii) neglecting the source terms, namely
(0) (0)
A(Q) ≈ A(Gi+
. 1 (0)) = A
i+ 1
and K(l) = 0 . (14.18)
2 2
The above simplifications can be justified rigorously for some special cases [35].
For the general case, empirical evidence suggests that, for smooth solutions, such
simplifications do retain the theoretically aimed order of accuracy .m + 1.
4. Solution of the conventional, linearised Riemann problems for spatial derivatives
(0) ⎫
∂t (∂x(l) Q(x, t)) + Ai+ (l)
1 ∂ x (∂ x Q(x, t)) = 0 , ⎪
⎬
( (l) 2
. P (x 1) if x < x 1 , (14.19)
∂x(l) Q(x, 0) = i
(l)
i+ 2 i+ 2 ⎪
⎭
Pi+1 (xi+ 21 ) if x > xi+ 21 ,
5. The complete solution. Having determined the leading term (14.15) and all the
arguments of .T(l) in (14.16) via (14.19), the final solution reads
∑m [ ( )] τ l
(0) (0) (l)
J
. i+ 1 (τ ) = Gi+ 1 (0) + T(l) Gi+ 1 (0), . . . , G
i+ 2 1 (0) . (14.20)
2 2
l=1
2 l!
The numerical source in (14.4) follows from the volume integral in (14.5), namely
∫ Δt ∫ xi+ 1
1
S = S(Qi (x, t))d xdt ,
2
. i (14.21)
ΔtΔx 0 xi− 1
2
applies, for which one requires the solution value at a single point .(xi , 21 Δt) in the
volume .Vin . For orders of accuracy higher than .2, one needs an appropriate number
of spatial positions inside the cell . Ii and time levels within the time interval .[0, Δt],
as illustrated in Fig. 14.3.
For a generic, fixed, spatial integration point .xα within the cell . Ii , as depicted in
Fig. 14.3, we write a time power series expansion of the form
∑
m
τk
Q(xα , τ ) = Q(xα , 0) +
. ∂t(k) Q(xα , 0) . (14.22)
k=1
k!
Q(xα , 0) = Pi (xα ) .
. (14.23)
The higher-order terms in (14.22) are computed via the Cauchy-Kovalesvkaya pro-
cedure, as for the .G R Pm , whereby time derivatives in (14.22) are expressed as
functionals of space derivatives and of the source terms .S(Q), namely
( )
∂ (l) Q(x, t) = T(l) ∂x(0) Q, ∂x(1) Q, . . . , ∂x(l) Q .
. t (14.24)
326 14 ADER High-Order Methods
The arguments of the functionals (14.24) are well defined in the entire cell . Ii , as the
solution at the local time.t = 0 is represented by the smooth reconstructed polynomial
.Pi (x), with well-defined spatial derivatives
dl
Pi(l) (x) ≡
. Pi (x) , x ∈ [xi− 21 , xi+ 21 ] . (14.25)
d xl
Therefore
∑
m ( ) τk
. Q(xα , τ ) = Pi (xα ) + T(k) Pi(0) (xα ), Pi(1) (xα ), . . . , Pi(k) (xα ) . (14.26)
k=1
k!
∑
mα ∑
mβ
S =
. i ωα ωβ S(Q(xα , γβ Δt)) . (14.27)
α=1 β=1
Here .xα = xi− 21 + γα Δx, where .γs and .ωs are properly scaled nodes and weights of
the rule.
An ADER-TT scheme, for systems of hyperbolic balance laws (14.2) in conser-
vation law form, of arbitrary order of accuracy in space and time has been presented.
The one-step scheme (14.4) uses the numerical flux (14.10), with integrand (14.20),
and the numerical source (14.27).
In the next section we study arbitrary high-order ADER methods in conjunc-
tion with the Harten, Engquist, Osher and Chakravarthy (HEOC) solver for the
. G R Pm [17].
The HEOC (Harten, Engquist, Osher and Chakravarthy) solver for the.G R Pm defined
in (14.9) emerges from a re-interpretation proposed by Castro and Toro [37] of the
high-order method of Harten et al. [16, 17] as an ADER method. By doing so a
corresponding solver for the .G R Pm emerges. The HEOC solver consists of a time
evolution step and an evolved-data interaction step. Figure 14.4 illustrates the two
steps, evolution in the bottom and interaction in the top part.
14.4 The HEOC Solver for G R Pm 327
Time evolution
Fig. 14.4 HEOC solver for .G R Pm . Bottom part illustrates data evolution step. Limiting data
values.Pi (xi+ 1 ) and.Pi+1 (xi+ 1 ) from left and right reconstruction polynomials are evolved in time
2 2
via expansions (14.28) to arbitrary time .τ . Top part illustrates the evolved-data interaction step.
(τ )
The similarity solution .G 1 (x̂/τ ) of the conventional Riemann problem (14.32) with piece-wise
i+ 2
constant data .J− 1 (τ ) and .J+ 1 (τ ), right at the interface is found. The HEOC solution of .G R Pm
i+ 2 i+ 2
(τ )
at time .t = τ is given by .G (0)
i+ 21
The time-evolution step evolves the limiting values of the data left and right of the
interface via two conventional Taylor expansions
m [
⎫
∑ ] τl ⎪
−
Ji+ 1 (τ ) = −
Q(xi+ 1, 0) + ∂t(l) Q(xi+
−
1 , 0) ,⎪
⎪
⎪
⎬
2 2
l=1
2 l!
.
∑m [ ] τl (14.28)
⎪
+
Ji+ 1 (τ ) = Q(x
+
i+ 21
, 0) + ∂t(l) Q(xi+
+
1 , 0) ,⎪
⎪
⎪
⎭
2
l=1
2 l!
with
− +
. Q(xi+ 1 , 0) = Pi (x i+ 1 ) , Q(xi+ 1 , 0) = Pi+1 (x i+ 1 ) . (14.29)
2 2 2 2
See bottom part of Fig. 14.4. Through the application of the CK procedure (14.16) we
express all time derivatives in (14.28) as functionals of spatial derivatives of left and
right reconstruction polynomials, with
dl dl
Pi(l) (xi+ 21 ) =
. Pi (x i+ 1 ), P (l)
i+1 (x i+ 1) = Pi+1 (xi+ 21 ) . (14.30)
d xl 2 2 d xl
328 14 ADER High-Order Methods
Therefore
( ) ⎫
∂t(l) Q(xi+
−
1 , 0) = T
(l)
Pi(0) (xi+ 21 ), Pi(1) (xi+ 21 ), . . . , Pi(l) (xi+ 21 ) , ⎬
. 2 ( ) (14.31)
∂t(l) Q(xi+
+
1 , 0) = T
(l) (0)
Pi+1 (1)
(xi+ 21 ), Pi+1 (l)
(xi+ 21 ), . . . , Pi+1 (xi+ 21 ) ,⎭
2
−
which are then substituted into (14.28) to completely determine the states .Ji+ 1 (τ )
2
+
and .Ji+ 1 (τ ) either side of the interface at time .τ . See Fig. 14.4.
2
In the data interaction step one solves the classical Riemann problem
⎫
PDEs: ∂t Q + ∂x F(Q) = 0 , ⎪
⎬
( −
.
Ji+ 1 (τ ) if x < xi+ 21 , (14.32)
ICs: Q(x, 0) = +
2
⎪
⎭
Ji+ 1 (τ ) if x > x i+ 1 .
2 2
See top part of Fig. 14.4. Denoting the similarity solution of (14.32) in local coordi-
(τ )
nates as .Gi+ 1 ( x̂/τ ) we obtain an approximate solution of the . G R Pm (14.9) at the
2
interface .x = xi+ 21 , at an arbitrary time .t = τ , with .0 < τ ≤ Δt, as
(τ )
J
. i+ 1
2
(τ ) = Gi+ 1 (0) . (14.33)
2
Figure 14.4 illustrates the HEOC solver, with its data evolution step in time via two
Taylor expansions, followed by the solution of a conventional Riemann problem,
whose data is the time evolved data left and right. The corresponding ADER numer-
ical flux follows as in (14.10), with an appropriate sequence of times .τ1 , τ2 , . . . , τk
in (14.33) for the numerical integration to the right order.
The numerical source in (14.4) follows from the volume integral in (14.5), namely
∫ Δt ∫ xi+ 1
1
.Si = S(Qi (x, t))d xdt .
2
(14.34)
ΔtΔx 0 xi− 1
2
There are several possible variations of the ADER scheme in conjunction with the
HEOC solver for the .G R Pm . Examples are given below.
1. Riemann problems for time derivatives. Castro and Toro [37] also proposed a
variation of the HEOC solver for the .G R Pm just presented, whereby the solu-
tion is obtained from a sequence of conventional Riemann problems for time
derivatives, directly. Such solver was called the CT solver for the .G R Pm .
2. Time reconstruction. The CT solver for the.G R Pm , directly based on time deriva-
tives, inspired the time reconstruction (TR) solver for the .G R Pm , which elim-
inates the need for the Cauchy-Kovalevskaya procedure altogether. Preliminary
results obtained by Dematté and collaborators [30] are very encouraging.
3. Direct use of a classical upwind flux. Instead of solving the sequence of
classical Riemann problems (14.32) to find a sequence of Godunov states and
compute a sequence of fluxes (14.33) one may use directly, for each element of
the sequence, a classical numerical flux, such as HLL, HLLC, Osher, or Roe, based
− +
on the states left and right states .Ji+ 1 (τ ) and .J (τ ). See Chaps. 10 and 11.
2 i+ 21
4. ADER-HEOC based on FORCE. Instead of using an upwind flux above, one
−
may use the centred FORCE flux based on the left and right states .Ji+ 1 (τ )
2
+
and .Ji+ 1 (τ ). Montecinos [38] successfully used the low-dissipation FORCE-.α
2
scheme [39]. See Chaps. 10 and 11.
This solver for the .G R Pm , identified as MT, is locally implicit [40] and operates
in both the Toro-Titarev and HEOC frameworks. A distinguishing feature of this
solver is that is applicable to systems of balance laws with stiff source terms. The
previous two solvers do not possess this property. In the TT framework the TM
solver departs from an implicit Taylor series expansion right at the interface
∑m [ ] (−τ )l
(l)
. Q(x i+ 1 , τ ) = Q(x i+ 1 , 0+ ) − ∂ t Q(x i+ 1 , τ) . (14.35)
2 2
l=1
2 l!
This is the implicit counterpart of the LeFloch-Raviart [34] expansion (14.12). The
(0)
leading term .Q(xi+ 21 , 0+ ) = Gi+ 1 (0) is as in Sects. 14.3 and 14.4, and
2
∑
m−l
(−τ )r
. x∂ (l) Q(xi+ 21 , τ ) = ∂x(l) Q(xi+ 21 , 0+ ) − ∂t(r ) (∂x(l) Q(xi+ 21 , τ )) , (14.37)
r =1
r!
Then
⎫
∂x(l) Q(xi+ 21 , τ ) = ⎪
⎬
. (l)
∑
m−l
(−τ )r
(14.39)
Gi+ 1 (0) − D(l+r ) (Q(xi+ 21 , τ ), ..., ∂x(r +l) Q(xi+ 21 , τ )) , ⎪
⎭
2
r =1
r !
where )
D(l+r ) (Q(xi+ 21 , τ ), ..., ∂x(r +l) Q(xi+ 21 , τ ) =
(14.40)
∂x(l) T(r ) (Q(xi+ 21 , τ ), ..., ∂x(r ) Q(xi+ 21 , τ )) .
.
Here (14.35) and (14.39) form a local non-linear algebraic system for .Q(xi+ 21 , τ )
and all its spatial derivatives. Thus the solution .Q(xi+ 21 , τ ) is available for
computing the numerical flux as in (14.10).
In the CITA method (Complete Implicit Taylor Approach) one uses implicit
Taylor series with .m terms for all spatial derivatives, which are evolved according to
⎫
∂x(l) Q(xi+ 21 , τ ) = ⎪
⎬
(l)
∑ m
(−τ )r
(14.41)
. (l+r ) (r +l)
Gi+ 1 (0) − D (Q(xi+ 21 , τ ), ..., ∂x Q(xi+ 21 , τ ) , ⎪
⎭
2
r =1
r!
where .∂x(l) Q(xi+ 21 , τ ) = 0 for all .l > m. Here (14.35) and (14.41) form a non-linear
algebraic system for .Q(xi+ 21 , τ ) and all its spatial derivatives. Thus the solution
.Q(x i+ 1 , τ ) is available for computing the numerical flux as in (14.10).
2
Here we briefly discuss some supplementary issues and give appropriate references
for further study.
There are by now several methods available to solve the generalised Riemann prob-
lem .G R Pm , wit .m denoting the degree of the data reconstruction polynomials. In
Sects. 14.3, 14.4 and 14.5 we described in some detail three of these, whose main
feature was its semi-analytical character relying on a time-series expansion of order
.m. Here we discuss alternative solvers.
The Dumbser-Enaux-Toro Solver (DET) solver [15] is a fully numerical scheme
that circumvents the Cauchy-Kovalevskaya procedure and is able to deal with stiff
source terms. The DET solver is akin to the HEOC solver, with a data-evolution
step and an evolved-data interaction step. See Sect. 14.4. DET performs the data-
evolution step numerically for the entire polynomials on each side of the interface.
The evolved-data interaction step is as for the HEOC solver, employing a conven-
tional Riemann solver at the interface at each time-integration point. With the evolved
polynomial in time available in each cell, one can evaluate the volume integral to
also define the numerical source. This is a very general and effective solver that has
been applied to many challenging problems, including geophysical problems. Full
details are found in the original reference [15]; see also [31].
Alternative methods to solve the .G R Pm have been communicated by Goetz and
Iske [41], Goetz and Dumbser [41] and Goetz et al. [42]. More recently, a sim-
plification to the CK procedure was put forward by Montecinos and Balsara [28,
29]. Dematté and collaborators have communicated a fully numerical solver, called
DTMT, that also avoids the CK procedure [30]. This solver is inspired in the Castro-
Toro solver [37], which interacts time derivatives directly at the interface via a lin-
earised Riemann-problem solver for time derivatives. In the DTMT solver the time
derivatives are recovered from a time reconstruction procedure based on the time
history of the numerical solution. This solver is the subject of current investigations.
Spatial reconstruction is first of all motivated by the need to achieve high order of
accuracy. But then, due to Godunov’s theorem, see Chap. 9, the spatial reconstruc-
tion must be non-linear to circumvent Godunov’s theorem, for solving hyperbolic
PDEs. To this end, two major methodologies have been put forward in the last few
decades, namely Total Variation Diminishing (TVD) methods and Essentially Non-
Oscillatory methods. TVD methods cannot achieve accuracy greater than one, for
332 14 ADER High-Order Methods
smooth solutions with extrema [43, 44]. The latter methods are more general and
depart from non-linear spatial polynomial reconstructions based on cell averages aris-
ing in finite volume methods. TVD methods are studied exhaustively in [7] and have
been applied in this book in previous chapters, see Chap. 12. There are essentially
two approaches to spatial reconstruction, briefly reviewed below
The first, called ENO (Essentially Non-Oscillatory), was introduced by Harten
and collaborators [16–18]. The second approach is called WENO (Weighted Essen-
tially Non-Oscillatory) and was first introduced by Liu, Osher and Chan [18] and
further developed by Jiang and Shu [19]. A more recent version of WENO is due
Dumbser and Käser [13, 15, 21]. Non-linear reconstruction methods are applicable
to a wide variety of fields in science and engineering [20]. For further details on
spatial reconstruction we recommend the recent book [31] and the up-to-date list of
references on the subject.
The construction of ENO polynomials departs from a given set of knots . Pi =
(xi , q̄i ) in a corresponding stencil, where .q̄i denotes the integral cell average in cell
. Ii . See Figs. 14.5 and 14.6. The discussion also applies to point values .qi = q(x i ).
(i) (i)
Fig. 14.5 Two candidate stencils. Si−1 and. Si for contructing a.1st-degree ENO polynomial. pi (x)
for cell . Ii . The extended stencil .Ei of .2m + 1 = 3 cells is also shown
14.6 Supplementary Topics 333
(i) (i)
Fig. 14.6 Two candidate ENO polynomials:. pi−1 (x) in stencil. Si−1 (left) and. pi(i) (x) in stencil. Si(i)
(right). Note that the.1st-degree polynomials pass exactly through the knots to uphold conservation;
this property does not hold in general
The task at hand is to find the stencil with the smoothest data.
In general, the search for the ENO stencil and thus the ENO polynomial of degree
.m will determine an extended stencil .Ei of .2m + 1 cells. For the .1st-degree case
depicted in Fig. 14.5 the extended stencil .Ei has .2m + 1 = 3 cells and contains the
(i)
two candidate stencils . Si−1 = {Ii−1 , Ii } and . Si(i) = {Ii , Ii+1 }. Each stencil in (14.42)
generates a .1st degree polynomial, as illustrated in Fig. 14.6. By expressing each
polynomial in Newton form we may write
(i) )
Left polynomial: pi−1 (x) = q̄i + q[xi−1 , xi ](x − xi ) ,
. (i) (14.43)
Right polynomial: pi (x) = q̄i + q[xi , xi+1 ](x − xi ) .
That is ( )
q[xi−1 , xi ]
. pi (x) = q̄i + (x − xi ) , (14.44)
q[xi , xi+1 ]
334 14 ADER High-Order Methods
with two possibilities for choosing the coefficient of .(x − xi ) given in terms of
divided differences, either .q[xi−1 , xi ] or .q[xi , xi+1 ].
Divided differences. Here we recall the definition of divided differences. For a set
of knots .(xi , qi ), for .i = 0, 1, . . . , m, divided differences are defined as follows
q[x0 ] = q0
. (14.45)
For details see any book of elementary numerical analysis, e.g. [36].
Returning to the polynomial (14.44), Fig. 14.6 shows the two candidate .1st degree
(i)
polynomials: . pi−1 (x) and . pi(i) (x). Out of the two available candidates, ENO chooses
the polynomial (14.44) with the smallest coefficient of .(x − xi ) in absolute; that is
the divided difference with the smallest absolute value. Thus, in algorithmic form
we write
with (
i − 1 if |q[xi−1 , xi ]| < |q[xi , xi+1 ]| ,
. j= (14.48)
i if |q[xi−1 , xi ]| ≥ |q[xi , xi+1 ]| .
Then, a composite, piece-wise first degree polynomial . p(x) may be defined from
(14.47)–(14.48) as
(
pi (x) if x ∈ Ii = [xi− 21 , xi+ 21 ] ,
. p(x) = (14.49)
0 if x ∈ / Ii = [xi− 21 , xi+ 21 ] .
In the composite polynomial, for each cell . Ii one takes the restriction of . pi (x), even
if . pi (x) is also defined outside cell . Ii .
We note that the adaptivity of the ENO stencil search cannot be applied directly
to the first cell . I1 and the last cell . I M of the computational domain. This difficulty
is resolved in practice by imposing the desired boundary conditions, which usually
results in an enlarged domain from adding a suitable number of fictitious cells to
those in the actual computational domain.
where .Δi is the slope, a divided difference, for which there are two choices. Large
divided differences are associated with large derivatives and possible oscillations.
Thus, effectively, the ENO method just described selects the polynomial with the
smallest slope in absolute value, namely
⎧
⎨ Δi− 21 if |Δi− 21 | < |Δi+ 21 | ,
ΔiE N O =
. (14.51)
⎩
Δi+ 21 if |Δi− 21 | ≥ |Δi+ 21 | .
qin − qi−1
n
q n − qin
.Δi− 21 = and Δi+ 21 = i+1 . (14.52)
xi − xi−1 xi+1 − xi
The discontinuous Galerkin (DG) finite element framework [45, 46] was originally
proposed as a semi-discrete scheme, in which the time discretisation is performed
through non-linear solvers for ordinary differential equations (ODEs). The over-
all accuracy is determined by the accuracy of the ODE solver, usually third order.
Dumbser [12] formulated DG schemes in the fully discrete ADER framework,
see also [14, 47–50]. In this manner the the resulting ADER-DG schemes have no
accuracy barrier, as in the finite volume ADER methodology. In order to deal with
shock waves in DG schemes a novel a posteriori subcell limiter has been introduced in
[49, 51]. Extensions of the ADER finite volume and ADER-DG method to mov-
ing unstructured triangular, tetrahedral and polygonal meshes, including topology
changes can be found, for example, in [51–56].
In the next section we specialise the ADER methodology in the finite volume
framework to second-order of accuracy.
336 14 ADER High-Order Methods
In this section we illustrate the ADER approach in the finite volume framework as
applied to the inhomogeneous system (14.2) but in the simpler setting of second-
order schemes, including source terms. Recall that the update formula, as for the
higher-order case, is
Δt
.Qin+1 = Qin − (F 1 − Fi− 21 ) + ΔtSi . (14.53)
Δx i+ 2
We need to compute the numerical flux .Fi+ 21 and the numerical source .Si . Both
items require the basic step of spatial reconstruction. For second-order methods
one requires a piece-wise linear (first-degree) polynomial (.m = 1) .Pi (x) in each cell
. Ii , of the form
where .Δi is the slope of .Pi (x) (a vector) in cell . Ii = [xi− 21 , xi+ 21 ], chosen from
an ENO criterion, for example. Here, for simplicity, we assume a component-by-
component reconstruction procedure. A better choice is reconstruction in terms of
characteristic variables, not studied here. We shall construct two second-order ADER
methods, which are distinguished by the way the corresponding generalised Riemann
problem .G R P1 is solved. In the first method we use the Toro-Titarev solver, see
Sect. 14.3, and in the second method we use the HEOC solver, see Sect. 14.4.
The second-order ADER method in conjunction with the TT solver for the .G R P1 ,
denoted as ADER2-TT, assumes a piece-wise linear reconstruction, say ENO, and
requires the numerical flux and the numerical source in (14.53).
J
. i+ 1
2
(τ ) = Q(xi+ 21 , 0+ ) + τ ∂t Q(xi+ 21 , 0+ ) . (14.55)
The task at hand is to compute the leading term.Q(xi+ 21 , 0+ ) and the higher-order term
τ ∂t Q(xi+ 21 , 0+ ) in (14.55). The leading term of the expansion requires the solution
.
of the conventional Riemann problem (piece-wise constant data and no source term)
⎧ ⎫
⎨ PDE: ∂t Q + ∂x F(Q)
⎪ ( = 0 , x ∈ R ,t > 0 , ⎪
⎬
. G R P0 : Pi (xi+ 21 ) if x < xi+ 21 , (14.57)
⎩ IC: Q(x, 0) = Pi+1 (xi+ 1 ) if x > xi+ 1 .
⎪ ⎪
⎭
2 2
(0)
Denoting the similarity solution of (14.57), in local coordinates, by .Gi+ 1 ( x̂/τ ) the
2
(0)
leading term (14.56) is given by the Godunov state .Gi+ 1 (0) right at the interface,
2
that is
(0)
.Q(x i+ 1 , 0+ ) = G (0) . (14.58)
2 i+ 1 2
In this step one can use any state solver for the conventional Riemann problem
(14.57), exact or approximate. In effect, this step is entirely analogous to the first-
order Godunov scheme. See Chap. 10.
We now consider the higher-order term of the expansion .τ ∂t Q(xi+ 21 , 0+ ) in
(14.55). This involves the following steps:
1. The Cauchy-Kovalevskaya (CK) procedure is applied to the governing equa-
tions (14.2), to express the time derivative in terms of the remaining terms,
namely
where the chain rule has been used to obtain the Jacobian matrix .A(Q).
2. Evolution equation for the space derivative. Now the unknown in (14.59) is
the spatial gradient .∂x Q, right at the interface. To determine it, we first write an
evolution equation for .∂x Q, namely
(0)
⎫
PDEs: ∂t (∂x Q) + Ai+ 1 ∂ x (∂ x Q) = 0 , ⎪
⎪
⎧2 ⎪
⎪
d ⎬
⎪
⎨ Δi ≡ Pi (x) if x < xi+ 21 ,
.
dx (14.62)
IC: ∂x Q(x, 0) = ⎪
⎪
⎪ ⎪
⎩ Δi+1 ≡ d Pi+1 (x) if x > x 1 . ⎪ ⎭
i+ 2
dx
(1)
We solve (14.62) in local coordinates to obtain the solution.Gi+ 1 ( x̂/τ ). To find the
2
(1)
Godunov state right at the interface, this solution is sampled, giving .Gi+ 1 (0) and
2
therefore
(1)
.∂ x Q(x i+ 1 , 0+ ) = G (0) . (14.63)
2 i+ 1 2
5. The complete solution and the flux. By collecting results from (14.55), (14.58)
and (14.63), the complete sought solution becomes
(0) (0)
J
. i+ 1
2
(τ ) = Gi+ 1 (0) + τ [−A G(1) (0) + S(Gi+
i+ 1 i+ 1
(0)
1 (0))] . (14.64)
2 2 2 2
From the flux integral in (14.5) the numerical flux can be determined by inserting
the approximate solution .Ji+ 21 (τ ) under the integral, namely
∫ Δt
1
.Fi+ 21 = F(Ji+ 21 (τ ))dτ . (14.65)
Δt 0
Integration in (14.65) to second order (mid-point rule) gives the numerical flux as
( )
(0) 1 (0) (1) (0)
.Fi+ 21 = F Gi+ 1 (0) + Δt[−Ai+ 1 Gi+ 1 (0) + S(Gi+ 1 (0))] . (14.66)
2 2 2 2 2
Note that for higher-order ADER methods (.m ≥ 2), one generally performs numeri-
cal integration in (14.65) to the required accuracy, in order to determine the numerical
flux. The numerical flux for the ADER2-TT scheme just described, in addition to the
non-linear spatial reconstruction, requires the solution of one non-linear conventional
Riemann problem for the leading term of the .G R P1 solution at the interface, and the
solution of one linear Riemann problem for the gradients to find the higher order term.
The flux knows of the source. Note that the numerical flux .Fi+ 21 in (14.66) has a
contribution from the source term .S(Q) via the Cauchy-Kovalevskaya procedure
(14.64). In other words, there is coupling between the flux and the source, as it
should be.
14.7 Examples: Second-Order ADER Schemes 339
Fig. 14.7 The numerical source is obtained by approximating the volume integral in (14.5) in the
control volume .Vin through the mean-point rule in space and time to second-order accuracy; it is
enough to find an approximation to the integrand at the mid point (.xi , 21 Δt)
To compute the numerical source .Si in (14.53) from the volume integral in (14.5)
we need to know the integrand, that is the function .Q(x, t) in the space-time control
volume .Vin in (14.5). All we know in .Vin is the initial condition at the current time
.t = tn , locally at .t = 0. As a matter of fact the initial condition is represented by the
reconstruction polynomial .Pi (x) at time .t = tn . Given the second-order accuracy of
the scheme, a mid-point rule evaluation of the volume integral in (14.5) gives the
sought second-order approximation.
To achieve this we need an approximate solution at the mid point .(xi , 21 Δt),
as depicted in Fig. 14.7. For any smooth function .Q(x, t), at local time zero, with
. x = x k ∈ Ii , we may write the truncated time Taylor series expansion
The source knows of the flux. Note that the numerical source .Si in (14.69) has a
contribution from the flux .F(Q) via the Cauchy-Kovalevskaya procedure. In other
words, there is coupling between the flux and the source, as it should be.
340 14 ADER High-Order Methods
Here we present a second-order accurate ADER scheme (.m = 1) based on the HEOC
solver for .G R P1 ; see Sect. 14.4 for the general case. The resulting scheme is denoted
as ADER2-HEOC. The scheme is based on the update formula (14.53), which
requires the numerical flux and the numerical source.
To compute the numerical flux .Fi+ 21 in (14.53) from the flux integral in (14.5)
we solve the generalised Riemann problem (14.9) to find the approximate solu-
tion .Ji+ 21 (τ ), where .Pi (x) and .Pi+1 (x) are reconstructed polynomial vectors of
degree.m = 1 in cells. Ii and. Ii+1 , respectively. The flux computation is accomplished
through two distinct steps: (i) data-evolution and (ii) evolved-data interaction via a
conventional Riemann problem; see Fig. 14.8.
Time evolution
Fig. 14.8 Solution of .G R P1 (14.9) (for .m = 1) by the HEOC method. The left and right limiting
polynomial values at the interface are evolved in time as shown by the vertical curved arrows
either side of the interface (bottom part). The time-evolved values are the initial conditions for
the interaction step (top part) via a conventional Riemann problem, whose solution structure is
represented by straight characteristics. The Godunov state is then the sought solution of .G R P1 at
the interface. Compare with Fig. 14.4
14.7 Examples: Second-Order ADER Schemes 341
See Fig. 14.8. In the HEOC solver, these boundary values are evolved in time using
time Taylor series expansions as follows
⎫
− − −
Ji+ 1 (τ ) = Q(x 1 , 0) + τ ∂t Q(x 1 , 0) , ⎬
2 i+ 2 i+ 2
.
+ + +
(14.71)
Ji+ 1 (τ ) = Q(xi+ 1 , 0) + τ ∂t Q(xi+ 1 , 0) .⎭
2 2 2
Fig. 14.8 illustrates, via the vertical curved arrows, the time evolution up to time
− +
t = 21 Δt, of the limiting values .Q(xi+
. 1 , 0) from the left cell . Ii and .Q(x
i+ 21
, 0)
2
from the right cell . Ii+1 . After using the Cauchy-Kovalevskaya procedure, the time
derivatives in (14.71) can be expressed as
⎫
− − −
∂t Q(xi+ 1 , 0) = −∂ x F(Q(x , 0)) + τ S(Q(xi+ 1 , 0)) , ⎬
2 i+ 1 2 2
.
+ + +
(14.72)
∂t Q(xi+ 1 , 0) = −∂ x F(Q(x , 0)) + τ S(Q(xi+ 1 , 0)) .
⎭
2 i+ 1 2 2
Then, the evolved boundary values left and right of the interface, at time .τ = 21 Δt,
after using (14.71), (14.72) and (14.73), become
1 Δt [ ]⎫
− − − + ⎪
⎪
1 ( 2 Δt) = Q(x , 0) − 1 , 0)) − F(Q(x 1 , 0)) ⎬
1
Ji+ F(Q(xi+
2 i+ 1 2 2 Δx 2 i− 2
. (14.74)
⎪
⎪
−
+ 2 ΔtS(Q(xi+ 1 , 0) )
1 ⎭
2
342 14 ADER High-Order Methods
and
1 Δt [ ]⎫
+
Ji+ 1 ( 2 Δt)
1
= +
Q(xi+ 1 , 0)
− F(Q(xi+ 3 , 0)) − F(Q(xi+ 1 , 0)) ⎪
− + ⎪
⎬
2 2 2 Δx 2 2
. (14.75)
⎪
⎪
+
+ 2 ΔtS(Q(xi+ 1 , 0)) .
1 ⎭
2
The next step involves the interaction of the two evolved data states (14.74)–(14.75)
right at the interface at time .τ = 21 Δt, see Fig. 14.8 (top part).
Evolved-Data Interaction
In order to find the numerical flux right at the interface.xi+ 21 at time.τ = 21 Δt, the next
−
1 ( 2 Δt) and right data
1
stage is to resolve the interaction of the evolved left data .Ji+
2
+
1 ( 2 Δt) in (14.74) and (14.75) respectively, via the solution of the conventional
1
Ji+
.
2
(piece-wise-constant data, homogeneous) Riemann problem
⎧ ⎫
⎨ PDEs: ∂t Q + ∂x F(Q)
⎪ ( −= 01 , ⎪
⎬
. G R P0 :
Ji+ 1 ( 2 Δt) if x < xi+ 21 , (14.76)
⎩ ICs: Q(x, 0) = J+ 1 ( 1 Δt) if x > x 1 . ⎪
⎪ 2
⎭
i+ 2 i+ 2
2
The structure of the solution of this conventional Riemann problem at the interface,
at the half time .τ = 21 Δt in Fig. 14.8 is represented by the wave configuration made
up of straight characteristics. Let us denote the similarity solution of (14.76) in
1
Δt
1 ( x̂/τ ). The corresponding sought Godunov state right at
2
local coordinates as .Gi+
2
1
Δt
1 (0), which is obtained after sampling the solution. Finally, the
2
the interface is .Gi+
2
numerical flux follows directly from the solution of (14.76) and becomes
∫ Δt
1 1
Δt 1
Δt
Fi+ 21 =
.
2
F(Gi+ 1 (0))d t = F(G
2
(0)) . (14.77)
Δt 0 2 i+ 1 2
Note that stages (14.76) and (14.77) are just like in the conventional first-order
Godunov method.
The numerical source for this version of the ADER scheme is identical to that for
the ADER2-TT scheme of the previous section, namely
( )
1
. i S =S Qin + Δt[−A(Qin )Δi + S(Qin )] . (14.78)
2
14.8 ADER Applied to Shallow Water Flows 343
Therefore the complete numerical scheme ADER2-HEOC via the update formula
(14.53) is defined by the numerical flux (14.77) and the numerical source (14.78).
As seen in Sect. 14.4, in the data-interaction step, one may use any available
upwind flux directly. In this case ADER2-HEOC reproduces the MUSCL-Hancock
scheme, with one difference, ADER2-HEOC also handles the source term to second-
order accuracy. A FORCE-type centred flux can also be used, in which case ADER2-
HEOC reproduces the second-order centred FLIC scheme [57].
We remark that the ADER scheme with the HEOC solver for the .G R P1 preserves
the coupling between the numerical flux and the numerical source, as seen with the
Toro-Tiratev solver for the .G R P1 .
There are numerous applications of the high-order ADER approach to the shallow
water equations. Here I mention a few. One of the earliest applications of ADER, in
both the finite volume and the DG frameworks, to the shallow water equations was
carried out by Castro [58]. Vignoli et al. [59] applied high-order ADER schemes to
the shallow water equations with variable bed elevation. Castro et al. [60] formulated
ADER schemes in the finite volume and discontinuous Galerkin finite element frame-
works for wave propagation problems with a space-time adaptation technique on
unstructured meshes. Applications included tsunami and seismic wave propagation
problems.
Dumbser et al. [47] developed a new family of ADER type well-balanced, path-
conservative quadrature-free one-step finite volume and discontinuous Galerkin finite
element schemes on unstructured meshes for solving hyperbolic equations with
non-conservative products and stiff source terms. Applications to various types of
geophysical problems were reported. Major novelties of this work include the
well-balanced property, non-conservative products and stiff source terms. Navas-
Montillo and Murillo [61] developed a well-balanced ADER scheme for the shallow
water equations, with variable bed elevation.
More recently, Toro et al. [62] reported an application of ADER to the two-
dimensional shallow water equations in conjunction with the flux vector splitting
scheme of Toro and Vazquez [63]. Schemes of up to fifth-order in space an time on
unstructured meshes were implemented. Simulations included tsunami wave propa-
gation in the Pacific Ocean. Guerrero et al. [64] have recently presented ADER-DG
schemes with a-posteriori subcell finite volume limiters. They applied the scheme to
the multi-layer shallow water equations with a density dependent pressure function,
allowing for an arbitrary number of layers. The scheme is arbitrarily high order accu-
rate in both space and time; this allows the detailed capturing of solution features, even
on very coarse meshes. Moreover, the schemes are also well-balanced. Numerical
solutions are reported to compare very well with with experimental data. This paper
represents the state-of-the art on sophisticated numerical methods applied to sophis-
ticated extensions of the conventional (one layer) shallow water equations. Ferrari
344 14 ADER High-Order Methods
method. The question is how much smaller is .∈ho compared with .∈lo . In other words,
for a fixed error .∈, will a high-order method attain .∈ on a coarse mesh at a lower
cost than the low-order method on a fine mesh? The answer is yes, as we illustrate
through two examples.
In this example we solve the linear advection equation.∂t q + λ∂x q = 0, with constant
λ, on a fixed-length domain, with periodic boundary conditions and a smooth profile
.
as initial condition. Figure 14.9 shows computed results on the.cost-.err or plane from
three methods, namely the first order Godunov upwind method and the ADER method
in third and fifth-order modes. Consider the line corresponding to the Godunov
method. Each symbol (triangle) corresponds to a complete computation, giving an
error value on the .err or -axis and a CPU cost on the .cost-axis. Starting from the
top left corner, as the mesh is refined the error reduces and the CPU cost increases.
After .11 computations the cost is already high and therefore we assume that linear
extrapolation is justified; see prolongation of line. For the prescribed error .∈ = 10−8
(thick horizontal line) the extrapolated CPU cost is given by the intersection of the
extrapolated line with the fixed-error horizontal line. The CPU cost turns out to be
a very high number, in seconds, as is the number of required computing cells. See
numbers in the Figure. In contrast, the third-order ADER method attains the same
14.9 High Accuracy is Efficiency 345
10 -1
Order 1
10 -2 Order 3
Order 5
-3
10
10 -4
2
-5
Error - L
10
-6
10
211.4 s
10 -7 11.7 s Cells 1826
Cells 110
10 -8
-9 218535200141.5 s
10 Cells 176788292
-10
10
10 -2 10 0 10 2 10 4 10 6 10 8 10 10 10 12
CPU time [s]
Fig. 14.9 Efficiency illustrated via the linear advection equation (Courtesy of Dr. C Contarino,
Computational Life, Italy)
Fig. 14.10 Efficiency gains from higher-order schemes for the one-dimensional, compressible
Euler equations, with CFL coefficient.cc f l = 0.95 for all schemes. Computational cost (bars) against
order of accuracy from .2nd to .6th order in space and time for three prescribed errors: .∈1 = 10−7 ,
.∈2 = 10
−8 and .∈ = 10−9 . CPU times for the first-order method (Godunov) are excluded from the
3
graph; they are estimated to be more than .37 thousand years for .∈1 , more than .5 million years for
.∈2 and more than .800 million years for .∈3 . Note the exponential decay of the computational cost
with increasing order of accuracy
method, that is more than five orders of magnitude. The smaller the prescribed error
.∈, the larger the efficiency gains from very-high order methods.
The costs for the first-order scheme (the Godunov method) are not included in
the plot. These are prohibitively large to calculate directly. Instead, we computed
a few cases for relatively coarse meshes and then fitted least-squares lines to these
data, followed by extrapolation to the prescribed errors to get an estimate of the
costs in CPU time. The results are the following: For .∈1 = 10−7 cost in CPU time
is .c ≈ 37025 years; for .∈2 = 10−8 cost in CPU time is .c ≈ 5495100 years and for
−9
.∈3 = 10 cost in CPU time is.c ≈ 815587135 years. Therefore, if accurate computed
solutions are sought, low-order methods with fine meshes are not an option.
From the overall exercise, we observe that for a fixed error .∈, the cost .c in CPU
time decays exponentially with the order of accuracy .m + 1, namely
with . K representing a set of computational parameters, such as the output time, the
particular solver used for .G R Pm and the reconstruction method.
This chapter has dealt with an advanced topic on numerical methods for solv-
ing evolutionary partial differential equations, to simulate, in particular, fluid flow
phenomena, such as shallow water flows.
We focused on the family of very-high order ADER schemes. These are fully dis-
crete algorithms of arbitrary (unlimited) accuracy in both space and time that operate
in both the finite volume and the discontinuous Galerkin finite element frameworks.
Recall that the first-order Godunov method is based on the classical Riemann prob-
lem .G R P0 , with piece-wise constant data and no source terms. ADER is based
on the Generalised Riemann problem .G R Pm ; here .m is the degree of the recon-
struction polynomials that furnish the data to .G R Pm , and source terms are included.
Three methods to solve .G R Pm were presented in some detail, including a locally
implicit scheme able to handle stiff source terms, thus yielding ADER schemes able
to reconcile stiffness with very high order of accuracy.
The ADER numerical methodology is very general. ADER methods have been
applied to multidimensional problems on structured and unstructured meshes, to
solve hyperbolic equations in conservative and non-conservative form; to solve
parabolic equations; even just diffusion-reaction PDEs. A large range of applications
have been tackled, from shallow water flows to compressible single and multiphase
problems; aero acoustics, tsunami and seismic wave propagation; dispersive systems;
the Einstein equations of general relativity; the entire human circulation, and many
more.
Efficiency is the unique feature of very high-order ADER methods. In a nutshell,
if one aims at computing solutions that are close to the true solution of the PDEs so
that these reliably reveal the physics they embody, then (i) low-order methods, being
prohibitively expensive, are impractical to use, and (ii) high-order methods are the
only option.
For further reading we recommend the following references.
1. Toro EF, Millington RC and Nejad LAM. Towards Very High-Order Godunov
Schemes. In Godunov Methods: Theory and Applications. Edited Review, EF
Toro (Editor) 2001, Kluwer Academic/Plenum Publishers, pp 905–937. [1]. This
paper contains the first comprehensive account of the ADER schemes up to 1999.
2. Toro EF and Titarev VA. Solution of the Generalised Riemann Problem for
Advection-Reaction Equations. Proc. Roy. Soc. London A. 2002, Vol. 458, pp
271–281. [2]
3. Titarev VA and Toro EF. ADER: Arbitrary High Order Godunov Approach.
J. Scientific Computing 2002, Vol. 17, pp 609–618. [3]
348 14 ADER High-Order Methods
References
1. E.F. Toro, Shock-Capturing Methods for Free-Surface Shallow Flows (Wiley and Sons Ltd,
2001)
2. E.F. Toro, V.A. Titarev, Solution of the generalised Riemann problem for advection-reaction
equations. Proc. Roy. Soc. London A 458, 271–281 (2002)
3. V.A. Titarev, E.F. Toro, ADER: arbitrary high order Godunov approach. J. Sci. Comput. 17,
609–618 (2002)
4. T. Schwartzkopff, C.D. Munz, E.F. Toro, ADER: high-order approach for linear hyperbolic
systems in 2D. J. Sci. Comput. 17, 231–240
5. M. Dumbser, C.D. Munz, ADER discontinuous Galerkin schemes for aeroacoustics. Comptes
Rendus Mécanique 33, 683–687 (2005)
6. S.K. Godunov, Finite difference methods for the computation of discontinuous solutions of the
equations of fluid dynamics. Mat. Sb. 47, 271–306 (1959)
7. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics, A Practical
Introduction, 3rd edn. (Springer, 2009)
8. E.F. Toro, R.C. Millington, L.A.M. Nejad, Towards very high–order Godunov schemes,
in Godunov Methods: Theory and Applications. Edited Review, ed. by E.F. Toro (Kluwer
Academic/Plenum Publishers, 2001), pp. 905–937
9. V.A. Titarev, E.F. Toro, ADER schemes for three-dimensional hyperbolic systems. J. Comput.
Phys. 204, 715–736 (2005)
10. E.F. Toro, V.A. Titarev, ADER schemes for scalar hyperbolic conservation laws with source
terms in three space dimensions. J. Comput. Phys. 202(1), 196–215 (2005)
11. M. Käser, A. Iske, Adaptive ADER schemes for the solution of scalar non-linear hyperbolic
problems. J. Comput. Phys. 205, 486–508 (2005)
12. M. Dumbser, Arbitrary High Order Schemes for the Solution of Hyperbolic Conservation Laws
in Complex Domains. Ph.D. thesis, Institut für Aero- un Gasdynamik, Universität Stuttgart,
Germany (2005)
13. M. Dumbser, M. Käser, V.A. Titarev, E.F. Toro, Quadrature-Free non-oscillatory finite volume
schemes on unstructured meshes for nonlinear hyperbolic systems. J. Comput. Phys. 226(8),
204–243 (2007)
14. M. Dumbser, D. Balsara, E.F. Toro, C.D. Munz, A unified framework for the construction of
one-step finite-volume and discontinuous Galerkin schemes. J. Comput. Phys. 227, 8209–8253
(2008)
15. M. Dumbser, C. Enaux, E.F. Toro, Finite volume schemes of very high order of accuracy for
stiff hyperbolic balance laws. J. Comput. Phys. 227(8), 3971–4001 (2008)
16. A. Harten, S. Osher, Uniformly high-order accurate nonoscillatory Schemes I. SIAM J. Numer.
Anal. 24(2), 279–309 (1987)
References 349
17. A. Harten, B. Engquist, S. Osher, S.R. Chakravarthy, Uniformly high order accuracy essentially
non-oscillatory Schemes III. J. Comput. Phys. 71, 231–303 (1987)
18. X.D. Liu, S. Osher, T. Chan, Weighted essentially non-oscillatory schemes. J. Comput. Phys.
115, 200–212 (1994)
19. G.S. Jiang, C.W. Shu, Efficient implementation of weigthed ENO schemes. Technical Report
ICASE 95–73, NASA Langley Research Center, Hampton, USA (1995)
20. C.W. Shu, High order weighted nonoscillatory schemes for convection dominated problems.
SIAM Rev 51, 82–126 (2009)
21. M. Dumbser, M. Käser, Arbitrary high order non-oscillatory finite volume schemes on
unstructured meshes for linear hyperbolic systems. J. Comput. Phys. 221(2), 693–723 (2007)
22. D. Levy, G. Puppo, G. Russo, Central WENO schemes for hyperbolic systems of conservation
laws. Math. Model. Numer. Anal. 33, 547–571 (1999)
23. M. Dumbser, W. Boscheri, M. Semplice, G. Russo, Central weighted ENO schemes for hyper-
bolic conservation laws on fixed and moving unstructured meshes. SIAM J. Sci. Comput.
348:A2564–A2591 (2017)
24. M. Dumbser, M. Käser, E.F. Toro, An arbitrary high order discontinuous Galerkin method for
elastic waves on unstructured meshes V: local time stepping and p-adaptivity. Geophys J Int
171, 695–717 (2007)
25. E.F. Toro, C.E. Castro, B.J. Lee, A novel numerical flux for the 3D Euler equations with general
equation of state. J. Comput. Phys. 303, 80–94 (2015)
26. I.G. Petrovskii, Partial Differential Equations (London Iliffe Books Ltd., 1967)
27. L.C. Evans. Partial Differential Equations (American Mathematical Society, 2002)
28. G.I. Montecinos, D.S. Balsara, A simplified Cauchy-Kovalevskaya procedure for the local
implicit solution of generalized Riemann problems of hyperbolic balance laws. Comput. Fluids
202, 104490 (2020)
29. G.I. Montecinos, A. Santacá, M. Celant, L.O. Müller, E.F. Toro, ADER scheme with a simplified
solver for the generalized Riemann problem and an average ENO reconstruction procedure.
Application to blood flow. Comput. Fluids 248, 105685 (2022)
30. R. Dematté, V.A. Titarev, G.I. Motecinos, E.F. Toro, ADER methods for hyperbolic equa-
tions with a time-reconstruction solver for the generalized Riemann problem. The scalar case.
Commun. Appl. Math. Comput. 2, 369–402 (2020)
31. E.F. Toro, V. Titarev, M. Dumbser, A. Iske, C.R. Goetz, C.E. Castro, G.I. Montecinos, R.
Dematté, The ADER approach for approximating hyperbolic equations to very high accuracy,
in Hyperbolic Problems: Theory, Numerics, Applications, vol. I, ed. by C. Parés, M.J. Castro,
T. Morales de Luna, M.L. Muñoz-Ruiz, pp. 83–108 (Springer, 2024)
32. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics. A Practical
Introduction (Springer, 1997)
33. E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics. A Practical
Introduction, Second Edition (Springer, 1999)
34. P. Le Floch, P.A. Raviart, An asymptotic expansion for the solution of the generalized riemann
problem. Part 1: general theory. Ann. Inst. Henri Poincaré. Analyse non Lineáre 5(2), 179–207
(1988)
35. C.R. Goetz, A. Iske, Approximate solutions of generalized Riemann problems for nonlinear
systems of hyperbolic conservation laws. Math. Comput. 85, 35–62 (2016)
36. M.J. Maron, R.J. Lopez, Numerical Analysis (Wadsworth, 1991)
37. C.E. Castro, E.F. Toro, Solvers for the high-order Riemann problem for hyperbolic balance
laws. J. Comput. Phys. 227, 2481–2513 (2008)
38. G.I. Montecinos, A universal centered high-order method based on implicit Taylor series expan-
sion with fast second order evolution of spatial derivatives. J. Comput. Phys. 443, 110535
(2021)
39. E.F. Toro, B. Saggiorato, S. Tokareva, A. Hidalgo, Low-dissipation centered schemes for hyper-
bolic equations in conservative and non-conservative form. J. Comput. Phys. 416(109545)
(2020)
350 14 ADER High-Order Methods
40. E.F. Toro, G.I. Montecinos, Implicit, semi-analytical solution of the generalised Riemann
problem for stiff hyperbolic balance laws. J. Comput. Phys. 303, 146–172 (2015)
41. C.R. Goetz, M. Dumbser, A novel solver for the generalized Riemann problem based on a sim-
plified LeFloch-Raviart expansion and a local space-time discontinuous Galerkin formulation.
J. Sci. Comput. 69(2), 805–840 (2016)
42. C.R. Goetz, D.S. Balsara, M. Dumbser, A family of HLL-type solvers for the generalized
Riemann problem. Comput. Fluids 169(2), 201–212 (2018)
43. P.K. Sweby, High resolution schemes using flux limiters for hyperbolic conservation laws.
SIAM J. Numer. Anal. 21, 995–1011 (1984)
44. S.P. Spekreijse, Multigrid solution of monotone second-order discretizations of hyperbolic
conservation laws. Math. Comput. 49(179), 135–155 (1987)
45. B. Cockburn, C.W. Shu, TVB Runge–Kutta local projection discontinuous Galerkin method
for conservation Laws II: general framework. Math. Comput. 52(–):411 (1989)
46. B. Cockburn, C.W. Shu, The Runge–Kutta discontinuous Galerkin method for conservation
laws. J. Comput. Phys. 141(–):199 (1998)
47. M. Dumbser, M.J. Castro, C. Parés, E.F. Toro, ADER schemes on unstructured meshes for
nonconservative hyperbolic systems: applications to geophysical flows. Comput. Fluids 38(9),
731–1748 (2009)
48. M. Dumbser, M.J. Castro, C. Parés, E.F. Toro, A. Hidalgo, FORCE schemes on unstructured
meshes II: non-conservative hyperbolic systems. Comput. Methods Appl. Mech. Eng. 199(9–
12), 625–647 (2010)
49. M. Dumbser, O. Zanotti, R. Loubère, S. Diot, A posteriori subcell limiting of the discontinuous
Galerkin finite element method for hyperbolic conservation laws. J. Comput. Phys. 278, 47–75
(2014)
50. S. Busto, M. Dumbser, C. Escalante, S. Gavrilyuk, N. Favrie, On high order ADER discontinu-
ous Galerkin schemes for first order hyperbolic reformulations of nonlinear dispersive systems.
J. Sci. Comput. 87, 48 (2021)
51. W. Boscheri, M. Semplice, M. Dumbser, Central WENO Subcell finite volume limiters for
ADER discontinuous Galerkin schemes on fixed and moving unstructured meshes. Commun.
Comput. Phys. 25, 311–346 (2019)
52. W. Boscheri, M. Dumbser, A direct Arbitrary-Lagrangian-Eulerian ADER-WENO finite
volume scheme on unstructured tetrahedral meshes for conservative and non-conservative
hyperbolic systems in 3d. J. Comput. Phys. 275, 484–523 (2014)
53. W. Boscheri, M. Dumbser, Arbitrary-Lagrangian-Eulerian discontinuous Galerkin schemes
with a posteriori subcell finite volume limiting on moving unstructured meshes. J. Comput.
Phys. 346, 449–479 (2017)
54. M. Dumbser, W. Boscheri, M. Semplice, G. Russo, Central weighted ENO schemes for hyper-
bolic conservation laws on fixed and moving unstructured meshes. SIAM J. Sci. Comput. 39(6),
A2564–A2591 (2017)
55. E. Gaburro, W. Boscheri, S. Chiocchetti, C. Klingenberg, V. Springel, M. Dumbser, High
order direct Arbitrary-Lagrangian-Eulerian schemes on moving Voronoi meshes with topology
changes. J. Comput. Phys. 407, 109167 (2020)
56. E. Gaburro, A unified framework for the solution of hyperbolic PDE systems using high order
direct arbitrary-lagrangian-eulerian schemes on moving unstructured meshes with topology
change. Arch. Computat. Methods Eng. 28, 1249–1321 (2021)
57. E.F. Toro, S.J. Billett, Centred TVD schemes for hyperbolic conservation laws. IMA J. Numer.
Anal. 20, 47–79 (2000)
58. C.E. Castro, High-Order ADER FV/DG Numerical Methods for Hyperbolic Equations. Ph.D.
thesis, Department of Civil and Environmental Engineering, University of Trento, Italy (2007)
59. G. Vignoli, V.A. Titarev, E.F. Toro, ADER schemes for the shallow water equations in channel
with irregular bottom elevation. J. Comput. Phys. 227, 3212–3243 (2008)
60. C.E. Castro, E.F. Toro, M. Käser, ADER scheme on unstructured meshes for shallow water:
simulation of tsunami waves. Geophys. J. Int. 189, 1505–1520 (2012)
References 351
61. A. Navas-Montilla, J. Murillo, 2D well-balanced augmented ADER schemes for the shallow
water equations with bed elevation and extension to the rotating frame. J. Comput. Phys. 372,
316–348 (2018)
62. E.F. Toro, C.E. Castro, D. Vanzo, A. Siviglia, A flux-vector splitting scheme for the shallow
water equations extended to high-order on unstructured meshes. Int. J. Numer. Methods Fluids
(2022). https://doi.org/10.1002/fld.5099
63. E.F. Toro, M.E. Vázquez-Cendón, Flux splitting schemes for the Euler equations. Computers
and Fluids 70, 1–12 (2012)
64. E. Guerrero-Fernández, M.J. Castro-Díaz, M. Dumbser, T. Morales, de Luna, An Arbitrary
High Order Well-Balanced ADER-DG Numerical Scheme for the Multilayer Shallow-Water
Model with Variable Density. Journal of Scientific Computing 9, 52 (2022). https://doi.org/10.
1007/s10915-021-01734-2
65. A. Ferrari, R. Vacondio, An augmented HLLEM ADER numerical model parallel on GPU
for the porous Shallow Water Equations. Comput. Fluids. (2022) https://doi.org/10.1016/j.
compfluid.2022.105360
66. E.F. Toro, A multi-stage numerical flux. Appl. Numer. Math. 56, 1464–1479 (2006)
Chapter 15
DAM-BREAK Modelling
Abstract Methods presented in this book are applied to simulate dam-break prob-
lems. Dams are man-made water reservoirs storing large volumes for the supply of
drinking water, irrigation, hydroelectric power generation, navigation and flood con-
trol, for example. Historically, dams have been the centre of catastrophic events over
the years, usually associated with dam-wall failure, or massive slides of material into
the water reservoir. Understanding of the physical phenomena involved in such fail-
ures is of fundamental importance in the prevention and management of such events.
Numerical simulation of the ensuing water flow downstream of the dam is nowadays
a standard practice in environmental and hydraulic engineering. In this Chapter we
present two case studies that are relevant to the subject of dam-break mathemat-
ical modelling, combining numerical, theoretical and experimental methods. The
first case concerns a circular dam (2D) for which a radial reference 1D solution
is available for rigorous assessment of the performance of the numerical methods.
High-resolution numerical computations using methods from this book capture the
physical aspects of wave propagation combining the primary outward travelling cir-
cular shock with the inward travelling circular rarefaction wave, that on reflection
from the centre generates a complex wave system. The second case is based on
the activities of the CADAM European Workshop on Dam-Break Modelling (1996–
1999). Here we study preactical, laboratory physical models, which were specifically
designed for validating numerical software intended for dam-break simulation of real
events. A detailed experimental and computational study is presented for a chosen
laboratory model.
15.1 Introduction
Dams are man-made reservoirs storing large volumes of water contained by natural
terrain elevations, such as a narrow canyon or valley, and man-made walls. Dams are,
in the main, part of overall water-resource projects for the purpose of drinking-water
supply, irrigation, hydroelectric power generation, navigation and flood control. In
addition to their benefits to society, dams have been the centre of catastrophic events
over the years. These may be the direct consequence of sudden failure of the dam
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 353
E. F. Toro, Computational Algorithms for Shallow Water Equations,
https://doi.org/10.1007/978-3-031-61395-1_15
354 15 DAM-BREAK Modelling
walls. Such failures in turn induce water flow that causes devastation along its path
in valleys, with considerable damage to property and loss of life. This kind of water
flow may also be caused by displacement of large amounts of water by massive slides
of material adjacent to the dam into the reservoir; this causes enormous waves that
can completely overtop the dam.
This was the case of the Vajont dam in northern Italy in 1963, in which an estimated
number of.2000 people died as a result of the water flow along the valley, downstream
of the dam [1]. Interestingly, in this particular case the man-made walls survived
intact the overtopping event. Another well-known case in Europe is the Malpasset
dam break that occurred in France in 1959 and caused the death of 421 people. This
case is regarded as unique in that there was total failure of the man-made dam wall.
Details of the Malpasset accident and modern dam-break simulation techniques are
discussed by Hervouet and Petitjean [2].
Fortunately, these events are rare. However, when they occur the consequences are
disastrous. In order to prevent such phenomena from taking place, or to understand
how the process will evolve when it actually happens, an understanding of the physi-
cal phenomena involved is of fundamental importance. The processes associated with
dam failure are varied and exceedingly complex. Examples of such processes include
sliding, bridging, sediment/debris transport and wave propagation in very complex
domains. As part of risk analysis for civil protection, inundation maps are produced.
These are currently based on numerical simulation of the wave propagation process.
An important item of information is the wave arrival time. Accuracy and reliabil-
ity are of paramount importance in this application of mathematical modelling and
numerical methods, for the lives of many people may be at risk.
For general background on dams see Chap. 6 of the book by Roberson et al. [3]. See
also the review article by García-Navarro [4], who discusses numerical issues related
to dam-break simulation. Other recommended works are Glaister [5, 6], Toro [7],
Molinaro [8], Alcrudo and García-Navarro [9], García-Navarro [4], García-Navarro
and Alcrudo [10], Bellos et al. [11], Soulis [12], Betamio and Franco [13], Alcrudo
and García-Navarro [14], Ambrosi [15], Fraccarollo and Toro [16, 17], Nujic [18],
Sleigh et al. [19], Lauber and Hager [20, 21], Mingham and Causon [22], Aureli
et al. [23], Delis et al. [24], Ferrari et al. [25] and Manenti et al. [1]. I particularly
recommend the article by Hervouet and Petitjean [2].
In recognition of the importance of dam-break modelling, a workshop on the
subject was initiated by Electricité de France in Paris in 1996. The activity was later
formalised under the name of CADAM; it was funded by the European Community
and involved about .30 scientists and engineers from about .10 European countries.
Background information on some of the CADAM activities is found in the CADAM
Report edited by Morris et al. [26]. The author is indebted to all colleagues who
took part in CADAM, and particularly to those who contributed with experimental
data and numerical simulations.
The time-dependent, one- and two-dimensional shallow water equations studied
in this book are currently accepted as a possible basic mathematical model to study
the phenomena of wave propagation induced by dam-breaking events. The task is
to solve these equations numerically, suitably augmented with the appropriate terms
15.2 Circular Dam: Computation of Wave Phenomena 355
that account for various additional processes. In this Chapter we study some prob-
lems that are related to dam-break modelling. They are simplified versions of real
events but they do contain some of the key elements involved in the numerical sim-
ulation of real-life events. In Sect. 15.2 we study the wave propagation phenomena
associated with the sudden collapse of an idealised two-dimensional circular dam.
We carry out a systematic numerical study of the time evolution of the associated
wave system. We study this problem by solving a one-dimensional inhomogeneous
model arising from the cylindrical symmetry of the problem and by solving the full
two-dimensional equations. Systematic comparisons are made between models and
numerical methods used. This example should be used as a test case for all numeri-
cal methods intended for application to realistic dam-break problems and associated
numerical software. Section 15.3 is based on the activities of the CADAM European
Workshop on Dam-Break Modelling (1996–1999). Here we study more realistic
two-dimensional physical models, which were specifically designed for validating
numerical software intended for dam-break simulation. For these problems, numeri-
cal results using some of the numerical methods presented in this book are compared
with experimental data.
Here we consider an idealised circular dam with horizontal bottom and study the wave
propagation phenomena associated with the sudden collapse of the entire circular
dam wall.
The circular dam wall is assumed to collapse instantaneously. This is like a two-
dimensional Riemann problem for the system of PDEs consisting of the two-
dimensional shallow water equations on a horizontal bottom, namely
∂ Q + ∂x F(Q) + ∂ y G(Q) = 0 .
. t (15.2)
356 15 DAM-BREAK Modelling
Here .Q, .F(Q) and .G(Q) are the vectors of conserved variables and fluxes in the
x- and . y-directions respectively, namely
.
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
h hu hv
. Q = ⎣ hu ⎦ , F(Q) = ⎣ hu + gh ⎦ , G(Q) = ⎣ ⎦ ,
2 1 2
2
hvu (15.3)
hv hu v hv 2 + 21 gh 2
where .u(x, y, t) and .v(x, y, t) are respectively the .x- and . y-components of velocity,
.h(x, y, t) is the depth, related to the free surface .s(x, y, t) and the bed elevation
.b(x, y) via
Here we take a horizontal bed throughout the domain, .b(x, y) = 0. To solve the
two-dimensional equations we use the WAF method as described in Chap. 12, along
with the HLLC approximate Riemann solver discussed in Chap. 11 and a second-
order dimensional splitting scheme discussed in Chap. 13. For most computations
reported here we use a mesh of .200 × 200 cells. For the calculations reported we use
a safety coefficient . Sc = 0.9 and since the splitting scheme used has stability limit
.Clim = 1 in two-dimensions, the CFL coefficient used is therefore .C c f l = 0.9.
As the problem has cylindrical symmetry along the radial direction .r , one can
derive an inhomogeneous one-dimensional system, namely
∂ Q + ∂r F(Q) = S(Q) ,
. t (15.5)
where
[ ] [ ] [ ]
h hu 1 hu
.Q = , F(Q) = , S(Q) = − . (15.6)
hu hu 2 + 21 gh 2 r hu 2
Here .u = u(r, t) is used also to represent the radial velocity. In order to cross-check
our numerical results, we also carry out numerical computations on the inhomoge-
neous one-dimensional system (15.5)–(15.6) and compare results with those obtained
from the full two-dimensional system (15.2)–(15.3). In order to produce reference
radial solutions, we solve (15.5)–(15.6) with a very fine mesh of . M = 1000 cells.
Results may be regarded as exact solutions. Various methods discussed in this book
were used, all producing similar results. Here we report computations on (15.5)–
(15.6) using the WAF and the Random Choice Methods. The WAF method is used
in conjunction with the HLLC Riemann solver described in Chap. 10; the CFL coef-
ficient was taken as .Cc f l = 0.9, and the limiter used was superbee. The geometric
source terms in (15.6) are treated with the standard second-order splitting scheme
given in Chap. 13.
15.2 Circular Dam: Computation of Wave Phenomena 357
Figure 15.1 shows the initial free-surface elevation above the ambient state of water
of uniform depth .h(x, y, 0) = 0.5 m, at time .t = 0, given in (15.1). In setting up the
initial conditions, cells cut by the circle defining the infinitely thin circular dam wall
are assigned values proportional to the areas inside and outside the circle.
Figure 15.2 shows the computed free-surface position at time.Tout = 0.4 s. Clearly
visible are an outward-propagating circular shock wave and an inward-propagating
circular rarefaction wave. At the time the solution is displayed, the rarefaction is about
to reach the centre of the dam. Note the very pronounced depth gradient behind the
Fig. 15.1 Circular dam-break problem. Free-surface position at the initial time .t = 0 given by
(15.1)
Fig. 15.2 Circular dam-break problem. Top view of computed free-surface position at time
= 0.4 s
. Tout
358 15 DAM-BREAK Modelling
Fig. 15.3 Circular dam-break problem. Top view of computed free-surface position at time
= 0.7 s
. Tout
shock. See also Fig. 15.13, which shows free surface and particle velocity on a slice
of the profile of Fig. 15.2 through the centre.
Figure 15.3 shows the computed free-surface distribution at time .Tout = 0.7 s, as
seen from the top. The circular rarefaction has by now imploded into the centre
and has reflected, producing a very pronounced fall of the free-surface elevation in
the vicinity of the centre. Note the dip in free-surface elevation right in the centre;
this feature is difficult to resolve numerically.
Figure 15.4 displays the computed free-surface distribution at time .Tout = 1.4 s.
The circular shock has propagated further in the outward direction. The reflected
inner circular rarefaction has overexpanded the flow to the point that the free-surface
position has fallen well below the ambient depth initially outside the circular dam,
depicted by the horizontal plane; Fig. 15.5 shows a bottom view of the same result.
The free surface is very close to zero and a secondary circular shock has been formed.
Figure 15.6 shows a top view of the computed free-surface distribution at time
. Tout = 3.5 s and Fig. 15.7 shows a corresponding bottom view of the same result.
The primary circular shock has propagated further away from the centre and the
secondary circular shock has propagated towards the centre.
Figure 15.8 shows a top view of the computed free-surface distribution at time
. Tout = 4.7 s, shortly after the secondary shock has imploded into the centre; this shock
has reflected from the centre and is now propagating in the outward direction;
Fig. 15.9 shows a bottom view of the computed free-surface distribution at the same
time; see also the slice through the centre shown in Fig. 15.14.
15.2 Circular Dam: Computation of Wave Phenomena 359
Fig. 15.4 Circular dam-break problem. Side view of computed free-surface position at time
= 1.4 s. Note free surface below ambient state
. Tout
Fig. 15.5 Circular dam-break problem. Bottom view of computed free-surface position at time
= 1.4 s. Note secondary circular shock below ambient state. Compare with Fig. 15.4
. Tout
Fig. 15.6 Circular dam-break problem. Top/side view of computed free-surface position at time
= 3.5 s
. Tout
Fig. 15.7 Circular dam-break problem. Bottom view of computed free-surface position at time
= 3.5 s. Secondary shock has propagated towards the centre; compare with Fig. 15.6
. Tout
fall of the free-surface elevation near the centre. The values of the depth here are very
close to zero. This overexpansion of the flow causes the formation of a secondary cir-
cular shock wave; see the inner part of Fig. 15.10. This shock wave is initially swept
(slightly) in the outward direction, then it slows down, comes to a halt and begins to
propagate towards the centre at an accelerating pace; note the curved shock paths in
the middle of Figs. 15.10 and 15.11. Eventually, this secondary shock implodes into
the centre, then reflects and begins to propagate in the outward direction.
The computed results show that after the implosion of the secondary shock there
is no more wave activity around the centre of the dam. This situation is different
from the gas dynamics analogue, where a pulsating shock wave system consisting
15.2 Circular Dam: Computation of Wave Phenomena 361
Fig. 15.8 Circular dam-break problem. Top view of computed free-surface position at time .Tout =
4.7 s. Secondary shock has imploded and reflected from the centre
Fig. 15.9 Circular dam-break problem. Bottom view of computed free-surface position at time
= 4.7 s; compare with Fig. 15.8
. Tout
of several implosions and explosions may be generated in the so-called near field,
which is the region in the vicinity of the centre of the dam. Figure 15.12 shows
the time history of free-surface elevation at the centre (left plot) and at a point .4 m
away from the centre (right plot). The main features seen at the centre are the strong
362 15 DAM-BREAK Modelling
Fig. 15.10 Circular dam-break problem. Wave diagram on .r -.t plane of free-surface elevation on a
slice through the centre of the dam. Compare with Fig. 15.11
Fig. 15.11 Circular dam-break problem. Three-dimensional .r -.t-.h representation of wave diagram
of Fig. 15.10. Here .x is radial distance .r , . y is time and .z is free-surface elevation .h
rarefaction reaching the centre and the imploded secondary shock wave at a time of
about.t = 4.25 s. After the secondary shock wave, the ambient conditions are restored
at the centre. At the position .4 m away from the centre (right plot of Fig. 15.12) one
sees the passage of two shock waves: the primary shock and the secondary shock
after the implosion.
In order to cross-check the computations, I have systematically compared numer-
ical solutions to the full two-dimensional model (15.2)–(15.3) against solutions
from the radial one-dimensional inhomogeneous model (15.5)–(15.6) computed with
various numerical methods. I am satisfied that the numerical methods used compute
the correct solution. Figures 15.13 and 15.14 show a comparison of two-dimensional
15.2 Circular Dam: Computation of Wave Phenomena 363
Fig. 15.12 Circular dam-break problem. Radial solution (symbols and line) computed by the WAF
method. Left: time variation of depth at the centre (.20, 20). Right: time variation of depth at (.20, 24)
Fig. 15.13 Circular dam-break problem. Two-dimensional solution (symbol) and radial solution
1D (line) at time .Tout = 0.4 s. The split 2D WAF method uses a mesh of .200 × 200 cells and the
1D WAF in the radial direction uses .200 cells
Fig. 15.14 Circular dam-break problem. Two-dimensional solution (symbol) and radial solution
1D (line) at time .Tout = 4.7 s. The split 2D WAF method uses a mesh of .200 × 200 cells and the
1D WAF in the radial direction uses .200 cells
364 15 DAM-BREAK Modelling
Here we study dam-break like problems arising from the activities of the European
Workshop on Dam-Break Modelling (CADAM, Concerted Action on Dam-Break
Modelling, 1996–1999). The one and two-dimensional shallow water equations, and
the computational methods studied in this book are put to use to simulate some well
designed dam-break test problems. Comparison of computational results against
experimental measurements is carried out.
15.3.1 Introduction
This section uses some of the numerical methods presented in this book and applies
them to solve the shallow water equations in order to simulate solutions to some
selected test problems that are related to dam-break modelling and for which experi-
mental measurements are available. Within the framework of the European Workshop
on Dam-Break Modelling (CADAM, Concerted Action on Dam-Break Modelling,
1996–1999), various test problems were designed with the specific aim of assessing
mathematical models and numerical methods intended for applications to dam-break
modelling in realistic scenarios. All tests chosen are generally gross simplifications of
real-life dam-break situations but they do retain crucial elements likely to cause chal-
lenges to models, to numerical methods or to both, in real-life situations. Physical
models were then constructed and laboratory measurements were produced. Interest-
ingly, in the very design of the laboratory experiments, numerical simulations were
used intensively.
In this section we report on just one of the CADAM physical models to illustrate
the applicability of the two-dimensional shallow water equations and the applica-
bility of the numerical methods presented in this book.
15.3 Physical Models: Experiments and Numerics 365
Here we select the CADAM test 1, which we now describe. The construction of the
model and the experiments were carried out by Professor Y. Zech and collaborators
at the Catholic University of Louvain, Belgium; see Soares et al. [27] and Morris
et al. [26] for more details.
The domain of interest consists of a rectangular reservoir connected to a chan-
nel containing a .45◦ bend, as depicted in Fig. 15.15. The rectangular reservoir has
dimensions .2.39 m × 2.44 m; this is connected perpendicularly to a channel of con-
stant rectangular cross-section of width .0.495 m and of length about .8 m, with a bend
of .45◦ . Both the reservoir and the channel are horizontal and are connected by a
vertical step of height .0.33 m, as depicted in Fig. 15.16. With reference to the origin
.(0, 0) in the . x-. y plane, the geometry of the physical model is given by the ten points
Fig. 15.15 Top view of physical model consisting of a rectangular reservoir connected to a channel
with a .45◦ bend. The vertical step in section .3–.8 connects the bottom of the reservoir to the bottom
of the channel; see Fig. 15.16
366 15 DAM-BREAK Modelling
Fig. 15.16 Side view of physical model near the rectangular reservoir. The vertical step in section
.3-.8
of Fig. 15.15 connects the bottom of the reservoir to the bottom of the channel
.3 .2.39 .0.445
.4 .6.64 .0.445
.5 .9.575 .3.38
.6 .9.225 .3.73
.7 .6.435 .0.94
.8 .2.39 .0.94
.9 .2.39 .2.44
.3 .4.24 .0.69
.4 .5.74 .0.69
.5 .6.74 .0.72
.6 .6.65 .0.80
.7 .6.56 .0.89
.8 .7.07 .1.22
.9 .8.13 .2.28
15.3 Physical Models: Experiments and Numerics 367
approximate Riemann solver. See Chaps. 11 and 13 for details on the numerical
methods used. As to the mesh generation approach, we adopt the Cartesian-Cut Cell
method [28, 29]. Details of this meshing approach as applied to the two-dimensional
shallow water equations are found in the unpublished report [30]. In essence, one
generates a Cartesian mesh on the rectangle determined by the minima and maxima
of the coordinates defining the geometry. Cells are then divided into two classes:
Cartesian cells not cut by the boundary and Cartesian cells cut by the boundary. The
Cartesian cells are treated by the methods described in Chap. 13. The cut cells must
be treated properly by accounting for the shape of the boundary, which is not aligned
with the Cartesian directions; see Chap. 10.
The power of the approach is that the grid generation process becomes trivial,
independently of the complexity of the geometry. However, a considerable effort
is required to correctly deal with the cut cells, their connectivity to the rest of
the mesh and application of boundary conditions. One difficulty is that there will
invariably be very small cut cells that set a stringent requirement on the stability of
the (explicit) numerical method. We resolve this difficulty through a cell-merging
approach.
The step of Fig. 15.16 is not included here in the reported computed results.
We simply assume that the bed elevation is given by the channel elevation. This
assumption has an effect on the results; the rarefaction propagating into the reser-
voir after the gate is withdrawn has different speeds and amplitudes to that on
the real, deeper reservoir. In addition to the above assumption, we do not include
friction terms in the present results. The collective experience, see for example Mor-
ris et al. [26], is that bed and wall friction terms have an important effect on the
results.
The initial conditions for the problem are zero velocity everywhere and the water
free-surface elevation takes on two values, namely .h(x, y, 0) = 0.25 m within the
reservoir and .h(x, y, 0) = 0.01 m in the channel. The solution was computed using
two meshes, a coarse mesh of .100 × 70 cells and a fine mesh of .300 × 200 cells.
Figure 15.17 shows the computed free-surface elevation on the complete physical
model at time .Tout = 0.5 s. Note the orientation of the coordinate axes; at this time
most of the action takes place in the vicinity of the gate position, Fig. 15.18 shows a
contour plot of free-surface elevation at time .Tout = 0.5 s in the region close to the
gate; a bore propagates into the channel and a rarefaction travels into the reservoir.
Figure 15.19 shows the computed free-surface elevation at time .Tout = 4.0 s, and
the counterplot of Fig. 15.20 shows details of the flow in the vicinity of the chan-
nel bend. By this time the leading bore has reached the bend, it has reflected and
diffracted, and continued to travel along the second section of the channel. Note the
complicated flow structure near the corner where a shock interacts with a strong rar-
368 15 DAM-BREAK Modelling
X Y
Fig. 15.17 Computed free-surface elevation at time .Tout = 0.5 s. Note axis orientation
efaction. Figure 15.21 shows the computed free-surface elevation at the output time
T = 40.0 s. A this time the maximum free-surface elevation is about one-fifth of
. out
the initial value within the reservoir. Note the complex, virtually steady pattern of
shock waves in the channel section containing gauges .8 and .9. Figure 15.22 shows a
contour plot of the free-surface elevation at time .Tout = 40.0 s in the second section
15.3 Physical Models: Experiments and Numerics 369
X
Y
Fig. 15.19 Computed free-surface elevation at time .Tout = 4.0 s. Note axis orientation
Fig. 15.20 Contour plot at time .Tout = 4.0 s in the vicinity of the .45◦ bend
of the channel; compare with Fig. 15.21. It is seen that very small variations in the
location of the gauges result in significant variations in measured or computed free-
surface elevations.
Figures 15.23, 15.24, 15.25, 15.26, 15.27, 15.28, 15.29, 15.30 and 15.31 show
time histories of free-surface elevation at the nine positions .G K shown in Fig. 15.15.
Comparison is made between experimentally measured results (symbols) and com-
370 15 DAM-BREAK Modelling
X
Y
Fig. 15.21 Computed free-surface elevation at time .Tout = 40.0 s. Mesh . M = 300 × 200
puted results (line). The comparison of results for gauge 1, shown in Fig. 15.23, is
very satisfactory, although the amplitude and speed of the rarefaction waves in the
reservoir do not agree very well. Figure 15.24 shows results for gauge .2 of Fig. 15.15;
it shows the arrival of the first shock travelling downstream of the reservoir and the
arrival of the second shock reflected from the channel bend. The agreement for the
second shock is not very good; the numerical shock propagates upstream towards the
reservoir more slowly than the experimentally observed shock. It is here where bed
and wall friction play a role. In our computations the shock travels against a faster flow
than in the real situation, which results in its slower speed. Figure 15.25 shows results
for gauge 3 of Fig. 15.15. As for gauge.2, the agreement between numerics and exper-
iment is good for the arrival of the first shock but unsatisfactory for the second shock.
The long-time trend in the computation for all three gauges so far is satisfactory, in
that it agrees well with experiment. All the above comments also apply to the results
of gauge .4 shown in Fig. 15.26.
374 15 DAM-BREAK Modelling
The results for gauges .5 to .7, shown in Figs. 15.27, 15.28 and 15.29, are very
satisfactory, considering that the gauges are positioned right at the channel bend,
where the two-dimensional effects are very strong. In general the coarse mesh results,
omitted here, do not appreciably differ from these fine mesh results. However, for
gauge .7 the coarse mesh results are visibly inaccurate just behind the shock. The
comparison for gauges .8 and .9, shown in Figs. 15.30 and 15.31, are generally quite
satisfactory, except for the long-time behaviour; it appears as if the numerical model
empties the reservoir and channel more easily. We remark, however, that comparisons
at these two positions are difficult given the character of the flow there.
There are several aspects of the exercise that would require a detailed discussion.
Neglecting friction terms is obviously a significant simplification of the physics of
the problem. These can be easily implemented as source terms, if desired. The
elimination of the step between the reservoir and the channel will also have an effect
on the results. With the step in place, waves in the reservoir will have different speeds
to those in the present computations, and reflected waves from the reservoir and the
emptying precess will also be affected. Then, the initial depth .h(x, y, 0) = 0.01 m,
rather than zero, will also affect the speed of propagation of waves. See Chap. 11 on
the challenges of wet/dry fronts. Finally the numerical method with Cartesian Cut
Cell approach is first-order accurate. This can be easily remedied by using the better
methodologies discussed in this book.
15.4 Conclusions
We have studied two physical problems that are relevant to the understanding of
the wave propagation phenomena associated with the collapse of dams. The first
problem concerns the wave phenomena emerging from the rupture of a cylindrical
dam, which is simulated by solving the two-dimensional shallow water equations
using a second-order Godunov type numerical method, whose main components
have been presented in detail in this book. Given the radial symmetry of the problem,
a one-dimensional system with geometric source terms along the radial direction, is
derived; this model furnishes an additional solution that is used to compare with the
full two-dimensional computations in order to assess the quality of the solutions. The
high-resolution computations reveal a wave system comprising the expected shock
wave travelling in the outer radial direction along with an intriguing wave phenomena
in the near field, close to the centre of the circular dam.
The second problem is a physical dam-break model, chosen from the work of
the European Workshop on Dam-Break Modelling (CADAM, Concerted Action on
Dam-Break Modelling, 1996–1999). The numerical results have been compared with
the experimental measurements, and agreement between numerics and experiment
is, on the whole, satisfactory. Improved numerical simulations can, in principle,
be obtained by adding bed and wall friction terms, as source terms, to the basic
two-dimensional shallow water equations. A better treatment of the step joining the
References 375
reservoir and the channel may also result in more accurate simulations. Both classes
of test problems may be of use in an engineering post-graduate teaching setting,
concerned with dam-break modelling. More generally, they may also be useful in a
research-laboratory setting concerned with geophysical fluid dynamics.
References
21. G. Lauber, W.H. Hager, Experiments to dambreak wave: sloping channel. J. Hydraulic Res.
36(5), 761–773 (1998)
22. C.G. Mingham, D.M. Causon, Calculation of unsteady bore diffraction using a high-resolution
finite volume method. J. Hydraulic Res. 38, 49–56 (2000)
23. F. Aureli, P. Mignos, M. Tomirotti, Numerical simulation and experimental verification of
dam-break flows with shocks. J. Hydraulic Res. 38, 197–206 (2000)
24. A.I. Delis, C.P. Skeels, S.C. Ryrie, Evaluation of some approximate Riemann solvers for
transient open channel flows. J. Hydraulic Res. 38, 217–231 (2000)
25. A. Ferrari, L. Fraccarollo, M. Dumbser, E.F. Toro, A. Armanini, A new 3D parallel SPH scheme
for free surface flows. J. Fluid Mech. 663, 456–477 (2010)
26. M. Morris, J.C. Galland, P. Balabanis. Concerted Action on Dam–Break Modelling. Proceed-
ings of the CADAM Meeting at Wallingford, UK, 2 to 3 March 1999. European Commission
(1999). ISBN 92–828–7108–8
27. S. Soares Frazão, X. Sillen, Y. Zech, Dan–break flow through sharp bends. physical models
and 2d boltzmann model validation. European Commission (1999). ISBN 92–828–7108–8
28. M. Aftosmis, M.J. Berger, J. Melton, Robust and efficient cartesian mesh generation for
component-based geometry. AIAA J. 36(6), 952–960 (1998)
29. J.F. Clarke, S. Karni, J.J. Quirk, L.G. Simmons, P.L. Roe, E.F. Toro, Numerical computation
of two-dimensional, unsteady detonation waves in high energy solids. J. Comput. Phys. 106,
215–233 (1993)
30. E.F. Toro, A cartesian-cut cell approach for solving the two–dimensional shallow water equa-
tions in arbitrary geometries. Unpublished (2000)
Chapter 16
Mach Reflection in Tsunamis
Abstract This chapter is partly motivated by the tsunami event occurred in Japan
on 12th July .1993. The event devastated parts of the Okushiri island, where observed
maximum run-up water elevations were of the order of .30 m. The number of fatalities
reported was .239. Over several decades oceanographers have observed the occur-
rence of Mach reflection of tsunami bores, which may help explain the devastat-
ing power of tsunamis. Based on the two-dimensional shallow water equations and
the numerical methods studied in this book, this chapter presents an analytical and
numerical study of bore reflection phenomena, confirming that both regular and Mach
reflection patterns are possible in shallow water flows.
16.1 Introduction
This chapter presents a numerical and analytical study of the bore reflection patterns
that occur when a bore reflects from a solid vertical wall placed at an angle to the
bore propagation direction. For more than six decades it has been known, though not
widely known, to oceanographers and other scientists, that free-surface gravity waves
reflected from vertical walls, placed at an angle to the wave propagation direction,
exhibit characteristics similar to those of shock waves in compressible media. See
for instance the pioneering works of Perroud [1] and Wiegel [2], who observed the
occurrence of Mach reflection in laboratory studies. Based on these observations
it has also been conjectured that it is the occurrence of Mach reflection that might
explain the unusual increases in wave amplitude and the unexpected devastating
power of tsunamis when they reach coastal areas.
The laboratory studies of Perroud [1] established that for solitary waves three pos-
sible wave reflection patterns may occur. The occurrence of such patterns depends
on the angle of incidence, which is defined as the angle formed by the direction of
propagation of the wave and the solid vertical wall placed in its path. For angles of
incidence.θ I greater than.35◦ –.45◦ , regular reflection occurs; for angles.θ I greater than
◦ ◦ ◦
.20 and less than .40 –.45 , Mach reflection occurs. The third possibility, essentially
a special case of Mach reflection, is realised for angles of incidence .θ I of less than
about .20◦ . This type of reflection is characterised by a curved Mach stem and, in the
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 377
E. F. Toro, Computational Algorithms for Shallow Water Equations,
https://doi.org/10.1007/978-3-031-61395-1_16
378 16 Mach Reflection in Tsunamis
author’s words, the absence of a reflected wave. Wiegel [2] carried out laboratory
experiments designed to study the occurrence of Mach reflection for the case of peri-
odic waves. He found that for the shallow water regime Mach reflection did occur,
with similar characteristics to those of solitary waves. He also tried to establish a
relationship between the occurrence of Mach reflection and the unusual behaviour
of tsunamis at Hilo (Hawaii). He reproduced photographic evidence from the actual
event of features remarkably similar to a Mach stem. He concluded that Mach reflec-
tion may provide a plausible explanation for the destructive power of the Chilean
tsunami of 22nd May .1960, which caused devastation not only around the Chilean
coast but also in very distant places such as Hawaii and Japan, about .24 hours later.
The experimental observations of Wiegel and collaborators prompted a good deal of
theoretical work. See for example the works of Miles [3, 4], Melville [5], Yue and
Mei [6], Pedersen [7] and Tanaka [8]. These works have concentrated exclusively on
solitary waves and periodic waves in the shallow water regime. It is interesting to note
that perhaps the most important case, namely that of bore reflection patterns, has not
been widely studied. This is somehow surprising because the phenomenon of shock-
wave Mach reflection has been studied very extensively in the case of gas dynamics.
See for instance the textbook of Ben-Dor [9] on the very subject and the many refer-
ences therein. It appears as if the first reported attempts to study the phenomenon of
bore Mach reflection are due to Krehl and van der Geest [10], Takayama et al. [11] and
Toro et al. [12]. Krehl and van der Geest [10] observed Mach reflection experimen-
tally, and the first theoretical attempt using the two-dimensional non-linear shallow
water equations is due to Takayama et al. [11], Toro et al. [12], and Mingham and
Causon [13]. See also the more recent paper of Dumbser et al. [14], in which the
sophisticated numerical methods introduced in Chap. 14 of this book are used.
The study of the reflection of free-surface gravity waves from vertical walls consti-
tutes an important area of basic fluid mechanics; it is also important from the view-
point of applications to various environmental disciplines, such as oceanography,
coastal and hydraulic engineering, when designing coastal defences against tsunamis,
for instance. Tsunamis are free-surface water waves produced by submarine and other
disturbances. As they approach coastal areas, they undergo the effects of refrac-
tion and diffraction; their amplitude increases unexpectedly, with the associated
destructive power as they impinge on breakwaters and other man-made structures. In
actual fact, the motivation for the work of Takayama et al. [11] and Toro et al. [12] was
the occurrence of a tsunami in Japan on 12th July .1993, which devastated parts of the
Okushiri island. Observed maximum run-up elevations were of the order of .30 m and
.239 fatalities were reported. The material of this chapter is based on the preliminary
results reported in [11, 12]. I am grateful to Dr. M. Olim (Seagate Technology, USA)
and Professor K. Takayama and his collaborators (Shock Wave Research Centre,
Tohoku University, Sendai, Japan) for their contributions to the subject.
Here, we first establish theoretically that Mach reflection of bores in shallow
water is possible. Also, criteria for transition between regular reflection and Mach
reflection are identified. Numerical computations are carried out to verify some of
the theoretical findings. In Sect. 16.2 we define the problem. In Sect. 16.3 we report
on an analytical study of bore reflection from vertical walls placed at an angle to the
16.2 The Problem 379
propagation direction of an isolated bore. Section 16.4 deals with numerical compu-
tation of bore Mach reflection. In Sect. 16.5 we draw conclusions and discuss further
work on the subject.
Fig. 16.1 Top view of an open horizontal channel of rectangular cross-section enclosed by two
vertical walls. A vertical gate at .x = s separates two constant levels of stationary water. The right-
hand vertical wall (bottom of diagram) is assumed to bend inwards at .x = a by an angle .θW .
Sudden removal of the gate produces a left-running rarefaction and a right-running shock of Froude
number . Fr s
380 16 Mach Reflection in Tsunamis
by the direction of the wave advance and the vertical reflecting wall; zero incidence
corresponds to a wall parallel to the direction of wave propagation, from which no
reflection takes place of course. So defined, the angle of incidence is identical to
the wall angle .θW depicted in Fig. 16.1. In the gas dynamics literature, the angle of
incidence is defined as the angle formed by the wave path, or front, and the wall. Here
we shall call this angle the wave angle and it will be denoted by .θ0 ; see Eq. (16.3).
The particular wave-reflection pattern that emerges will depend on the Froude
number . Fr s and the wall angle .θW . For the rest of the discussion here we simply
assume an isolated right-travelling bore as depicted in Fig. 16.1; no reference to the
rarefaction is necessary. Two possible outcomes are depicted in Figs. 16.2 and 16.3.
Fig. 16.2 Regular reflection: incident and reflected bore meet at . R on the wall
Fig. 16.3 Mach reflection: incident bore, reflected bore, Mach stem and slip surface (or slipstream)
meet at triple point .T away from the wall
16.3 Analytical Study 381
For wall angles greater than a critical angle .θcrit the reflection is regular reflection
and the corresponding typical pattern is shown in Fig. 16.2. For wall angles .θW less
than .θcrit , the reflection is Mach reflection, of which Fig. 16.3 shows a typical wave
pattern. Regular reflection is characterised by the presence of a pair of bores, namely
the incident bore, present at the start of the process, and a new bore, the reflected
curved bore. The two bores meet at a point . R, which lies on the reflecting vertical
wall. See Fig. 16.2.
The Mach reflection pattern of Fig. 16.3 shows three bores: the incident bore, the
reflected curved bore, and a new bore called the Mach stem. All three bores meet at a
point .T , called the triple point, which lies at a finite distance away from the reflecting
vertical wall. From the triple point there emerges another wave, called the slip surface
or slipstream; this carries a jump in velocity and separates particles into two classes.
One class comprises particles processed by the Mach stem and the other class com-
prises particles first processed by the incident bore and then by the reflected bore;
the water free-surface elevation remains continuous across the slip surface.
The experimental evidence available for solitary waves and periodic waves suggests
that the phenomenon of interest here does take place in shallow flows. We therefore
assume that the problem can be approximated by the time-dependent, non-linear
two-dimensional shallow water equations, namely
∂ Q + ∂x F(Q) + ∂ y G(Q) = 0 ,
. t (16.1)
where
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
h hu hv
. Q = ⎣ hu ⎦ , F(Q) = ⎣ hu + gh ⎦ , G(Q) = ⎣ ⎦ . (16.2)
2 1 2
2
huv
hv huv hv 2 + 21 gh 2
bore at velocity .u 0 . The angle between the bore and the streamline entering it from
region .0 is denoted as .θ0 and is called here the wave angle; in the gas dynamics
literature it is called the angle of incidence. Note the following relationship between
wave angle and wall angle (identical to angle of incidence here):
. θ I ≡ θW = 21 π − θ0 . (16.3)
The water emerges on the other side of the bore, i.e., in region .1, having changed
its depth to .h 1 and its velocity magnitude to .u 1 . The streamlines which pass through
the bore are deflected, and the angle of deviation from the original flow direction is
denoted as .δ0 and is called the deflection angle.
h u 0 sin θ0 = h 1 u 1 sin(θ0 − δ0 ) ,
. 0 (16.4)
u cos θ0 = u 1 cos(θ0 − δ0 ) ,
. 0 (16.5)
Equations (16.4), (16.5) and (16.6) may be rewritten to obtain the following
expression for the jump of surface height across the bore:
( / )
h1 1
. = γ0 = −1 + 1 + 8Fr0,n
2
, (16.7)
h0 2
where . Fr0,n2
= Fr02 sin2 θ0 and the (incident) bore Froude number is . Fr0 =
√
u 0 / gh 0 . It is important to notice from Eq. (16.7) that a jump in the surface height
across the oblique bore exists, i.e., .γ0 > 1, only when . Fr0,n > 1. The conservation
equations may also be used to derive expressions for the deflection angle
( )
−1 1
δ = θ0 − tan
. 0 tan θ0 (16.8)
γ0
From Eqs. (16.7), (16.8) and (16.9) it is obvious that the only parameters affecting
the oblique bore relations are the incident Froude number, . Fr0 , and the wave angle,
.θ0 . For given .θ0 and . Fr 0 , the deflection angle and the flow properties behind the
oblique bore are uniquely determined.
Before proceeding to the analysis, we identify the various regions of interest and
establish the notation. An oblique bore interacting with a solid vertical wall may
undergo either a regular reflection or a Mach reflection. For an incident bore of
given Froude number and wave angle smaller than some critical value .θcrit , that is
.θ0 < θcrit , regular reflection occurs. These two bores in regular reflection intersect at
the reflection point . R, which is located on the solid vertical wall, see Fig. 16.2. The
two discontinuities divide the flow field in the vicinity of the reflection point into three
regions, which we label .0 in the undisturbed water; .1 behind the incident bore, and
.2 behind the reflected bore. For wave angles larger than the critical value, .θ0 > θcrit ,
regular reflection is no longer physically possible and Mach reflection occurs. The
wave configuration typical of a Mach reflection consists of four discontinuities: the
incident bore, the reflected bore, the Mach stem and the slipstream; see Fig. 16.3. The
slipstream separates the water which passed through the incident and the reflected
bores from the water that passed though the Mach stem. While all properties change
abruptly across the first three discontinuities, only the velocity magnitude changes
across the slipstream. The four discontinuities intersect at the triple point .T . The
discontinuities divide the flow field near the triple point into four regions: .0 the
undisturbed water; .1 behind the incident bore; .2 behind the reflected bore, and .3
between the Mach stem, the slipstream and the solid vertical wall; see Fig. 16.3.
To analyse the flow field in the vicinity of the reflection point, the origin of the
coordinate system is transformed to the reflection point. Assuming that an incident
oblique bore of known . Fr0,n and .θ0 undergoes a regular reflection from a solid
wall, the conditions behind the reflected bore, i.e., in region .2, may be calculated by
changing the indices in Eqs. (16.7), (16.8) and (16.9) to relate the properties in region
.1 to those in region .2, namely
( / )
h2 1
. = γ1 = −1 + 1 + 8Fr1,n
2
, (16.10)
h1 2
( )
1
δ = θ1 − tan−1
. 1 tan θ1 , (16.11)
γ1
and
u2 1 sin θ1
. = , (16.12)
u1 γ1 sin(θ1 − δ1 )
384 16 Mach Reflection in Tsunamis
where
2
Fr0,n sin2 θ1
.
2
Fr1,n = Fr12 sin2 θ1 = . (16.13)
γ03 sin2 (θ0 − δ0 )
The reflected bore must deflect the flow so it is parallel to the solid wall, that is
δ = δ1 .
. 0 (16.14)
no surface height jump across the incident or the reflected bores is possible, due to
either . Fr0,n < 1 or . Fr1,n < 1, while for other combinations the system of equations
may possess no real solutions. Complex solutions of this system are obviously non
physical.
If for a given . Fr0,n , one gradually increases the value of .θ0 starting with a value
for which Eqs. (16.7)–(16.14) possess two sets of real solutions, then the two sets of
solutions approach each other and eventually merge into a single solution at some
limiting value of .θ0 = θ0d , beyond which no real solutions exist. As long as real
solutions to this set of equations can be found, one can calculate the Froude number
behind the reflected bore, . Fr2 . At .θ0 = θ0d one finds that . Fr2 < 1. By gradually
decreasing .θ0 from .θ0d one can find a value .θ0 = θ0c at which . Fr2 = 1, and . Fr2 >
1 for .θ0 < θ0c . The physical significance of the value of . Fr2 is that for . Fr2 > 1
the signals which originated downstream from the reflection point cannot catch up
with the reflection point. The opposite holds for . Fr2 < 1. These two values, .θ0d and
.θ0 , constitute the basis of the most often used criteria for regular to Mach reflection
c
transition in gas dynamics. In the context of shallow water waves, we call these
the detachment and the celerity criteria, hence the superscripts .d and .c. We find it
convenient to express the results in terms of the angle of incidence, or equivalently
in terms of the wall angle .θW , which is related to the wave angle .θ0 via Eq. (16.3).
The values of .θW d
and .θW
c
and the corresponding total surface height jumps are shown
in Table 16.1 for various values of incident normal bore Froude number (squared).
Table 16.1 shows that the transition angles predicted by these two criteria are not
identical but are fairly close. This is also observed in gas dynamics. Figure 16.4 shows
plots of transition wall angles against . Fr2s according to the detachment and the celer-
ity criteria. Each of the transition curves divides the plane formed by the Froude
number and the wall angle into two regions. For wall angles greater than .θW c
and .θW
d
,
regular reflection is predicted; for wall angles less than .θW and .θW , Mach reflection
c d
is predicted. In the next Section we carry out some numerical computations that
partially validate these theoretical predictions.
16.4 Numerical Study 385
Fig. 16.4 Mach reflection transition criteria. Transition wall angle against Froude number squared.
Celerity transition criterion is shown blue symbols and solid line, while the detachment transition
criterion is shown by red symbols and dotted line. The celerity criterion gives larger transition
angles than the detachment criterion. Both transition criteria divide the complete region into two
subregions: regular reflection above and Mach reflection below
Here we present a numerical study of regular and Mach reflection wave patterns. We
solve the two-dimensional shallow water Eqs. (16.1)–(16.2) by the weighted average
flux (WAF) method discussed in Chap. 12 in conjunction with a second-order splitting
scheme, as discussed in Chap. 13. We verify, numerically, the existence of bore Mach
reflection. We consider a horizontal channel, see Fig. 16.1, of length. L = 10.0 m with
the apex of the reflecting vertical wall situated at.x = 3.0 m; the initial bore is situated
386 16 Mach Reflection in Tsunamis
at .x = 1.5 m. Ahead of the bore the water depth is chosen to be .h 0 = 0.1 m and the
velocity vector is zero. Computations are carried out on a mesh of .300 × 200 cells in
the.x- and. y-directions, respectively. The CFL coefficient is.0.9. We consider an initial
bore of bore Froude number . Fr s = 2.0 and two wall angles, namely .θW = 60.0◦ and
◦
.θW = 25.0 . Solutions are displayed at time . Tout = 3.5 s, using half the mesh of the
computations.
Figure 16.5 shows the computed free-surface elevation for the wall angle .θw =
60.0◦ at time .Tout = 3.5 s. According to the theory, this case corresponds to regular
reflection; see Table 16.1 and Fig. 16.4. This is confirmed by the numerical result;
the triple point lies on the reflecting wall; note the orientation of the coordinate axes.
Figures 16.7, 16.8, 16.9 and 16.10 show contour plots of free-surface elevation .h,
. x-velocity component .u, . y-velocity component .v and magnitude of the velocity
vector; .80 levels were used.
Figure 16.6 shows the computed free-surface elevation for the wall angle .θw =
25.0◦ at time .Tout = 3.5 s. According to the theory, this case corresponds to Mach
reflection; see Table 16.1 and Fig. 16.4. This is confirmed by the result of Fig. 16.6;
note the orientation of coordinate axes. The Mach stem is clearly seen; the triple point
lies a finite distance away from the wall. Figures 16.11, 16.12, 16.13 and 16.14 show
According to the theory of the previous section, transition from Mach to regular
reflection takes place at .θW = 55.1◦ when using the detachment criterion and at
◦
.θW = 55.8 when using the celerity criterion. A desirable task is to find numerically
the transition angles.θWn
and to compare them with the values given by the detachment
and celerity criteria, see Table 16.1 and Fig. 16.4.
16.4 Numerical Study 389
The occurrence of bore Mach reflection in shallow water flows has been established
both theoretically and numerically. Also, transition criteria between regular and Mach
reflection have been put forward. A potentially attractive research programme could
include a systematic experimental, theoretical and computational study of the rela-
tionship between the two proposed transition criteria. In addition to the scientific
value, the results of such study would also have practical significance in hydraulics,
oceanography and coastal engineering. Beyond shallow water, it is almost certain
that the phenomenon of Mach reflection will also take place in other shallow-flow
situations, such as in debris flow and heavy gas dispersion.
References 391
References
1. P.H. Perroud, The solitary wave reflection along a straight vertical wall at oblique incidence.
Technical Report IER Technical Report, 99–3, University of California, Berkeley, USA (1957)
2. R.L. Wiegel, Water wave equivalent of mach reflection, in Proceedings of the 9th Conference
Coastal Engineering, ASCE, Chap. 6 (ASCE, 1964), pp. 82–102
3. J. Miles, Obliquely interacting solitary waves. J. Fluid Mech. 79, 157–169 (1977)
4. J. Miles, Resonantly interacting solitary waves. J. Fluid Mech. 79, 171–179 (1977)
5. W.K. Melville, On the mach reflection of a solitary wave. J. Fluid Mech. 98, 285–297 (1980)
6. D.K.P. Yue, C.C. Mei, Forward diffraction of stokes waves by a thin wedge. J. Fluid Mech. 99,
33–52 (1980)
7. G. Pedersen, Three-dimensional wave patterns generated by moving disturbances at transcrit-
ical speeds. J. Fluid Mech. 196, 39–63 (1988)
8. M. Tanaka, Mach reflection of a large-amplitude solitary wave. J. Fluid Mech. 248, 637–661
(1993)
9. G. Ben-Dor, Shock Wave Reflection Phenomena (Springer, 1992)
10. P. Krehl, M. van der Geest, The discovery of the Mach reflection effect and its demonstration
in the auditorium. Shock Waves 1, 3–15 (1991)
11. K. Takayama, Y. Miura, M. Olim, T. Saito, E.F. Toro, Mach reflection of water waves in
conjunction with Tsunamis at the Okushiri Island, in Symposium on Shock Waves, Tokyo,
Japan, January 1994
12. E.F. Toro, M. Olim, K. Takayama, Unusual increase in tsunami wave amplitude at the Okushiri
Island: mach reflection of shallow water waves, in Proceedings of the 22nd International
Symposium on Shock Waves, ed. by Ball, Hillier, Roberts, vol. II (University of Southampton,
UK, 1999), pp. 1207–1212
13. C.G. Mingham, D.M. Causon, Calculation of unsteady bore diffraction using a high-resolution
finite volume method. J. Hydraul. Res. 38, 49–56 (2000)
14. M. Dumbser, M.J. Castro, C. Parés, E.F. Toro, ADER schemes on unstructured meshes for
nonconservative hyperbolic systems: applications to geophysical flows. Compute. Fluids 38(9),
731–1748 (2009)
Chapter 17
Concluding Remarks
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024 393
E. F. Toro, Computational Algorithms for Shallow Water Equations,
https://doi.org/10.1007/978-3-031-61395-1_17
394 17 Concluding Remarks
DG schemes have been used in the framework of semi-discrete methods. For the
fully-discrete ADER schemes in the DG framework see the works of Dumbser and
collaborators [25–32]. See also the recent review paper of Toro et al. [33].
Tsunami Waves and Shallow Water Fluid Dynamics. The mathematical models
and the numerical methods to solve them presented in this book are applicable to the
simulation of the dynamics of water flows in ocean tides, breaking of waves on shal-
low beaches, roll waves in open channels, flood waves in rivers, surges, dam-break
wave modelling, and various specific applications in environmental fluid dynamics.
Naturally, each specific application will require suitable ingredients to complete an
adequate model. Much of the extra work needed will concern the source terms, to
include for instance, friction terms and chemical-reaction terms. Transport of pol-
lutant will require suitable extensions of the basic shallow water system to include
transport equations for chemical species. A prominent area of study concerns the
propagation of tsunami waves in oceans, for which there are numerous applications
of shallow water type models. See Castro, Toro and Käser [34, 35], LeVeque et al.
[36], Williamson et al. [37], Oportus et al. [38], Macías et al. [39], Ongaro et al. [40],
Toro et al. [41], and Berger and LeVeque [42], to name but a few.
Debris Flow and Sediment Transport. Debris flow and sediment transport are spe-
cific areas in environmental engineering in which the methods of this book, suitably
extended, can be applied. Following Iverson [43], ‘debris flows occur when masses
of poorly sorted sediment, agitated and saturated with water, surge down slopes in
response to gravitational attraction’. Debris flow modelling is an area of increasing
interest in environmental disciplines. There are currently various mathematical mod-
els of the shallow water type for this type of problems, thus the numerical methods
studied in this book could be extended to this area of applications. Fundamentals on
debris flow modelling are discussed by Savage [44], Savage and Smith [45], Sav-
age and Hutter [46, 47], Hutter et al. [48], Takahashi [49–51], Iverson [43, 52–54],
Iverson et al. [55], Iverson and Denlinger [56], Denlinger and Iverson [57], Dumb-
ser et al. [29], Armanini and Michiue [58], Vanzo et al. [59], Fernández-Nieto and
Vigneaux [60] and and Siviglia et al. [61].
Heavy-Gas Dispersion. The modelling of heavy-gas dispersion in complex terrain
is, potentially, another area of application of the methods of this book. Certain indus-
trial processes involve storing hazardous liquefied gases, which may accidentally be
released into populated areas. An important topic of research and development in
industrial and government agencies is concerned with risk assessment of accidental
release of these heavier-than-air gases. This area is commonly known as heavy-gas
dispersion. Much experimental and modelling work is involved and useful mathe-
matical models are of the shallow-water type; the methods presented in this book can
therefore be extended to simulate such flows. Some references on the subject include
Britter [62], Chan et al. [63], Eidsvik [64], Kukkonen and Nikmo [65], Webber et
al. [66] and Chiapolino et al. [67]. A useful source of information is the PhD thesis
of Hankin [68] and the many references therein. An interesting, recent work con-
cerned with experimental and computational issues in heavy-gas dispersion is due
to Ma et al. [69].
396 17 Concluding Remarks
References
1. B.K. Swartz, B. Wendroff, AZTEC: a front tracking code based on Godunov’s method. Appl.
Numer. Math. 2, 385–397 (1986)
2. N.H. Risebro, A. Tveito, Front tracking applied to nonstrictly hyperbolic systems of
conservation laws. SIAM J. Sci. Stat. Comput. 12, 1401–1419 (1991)
3. J.W. Grove, Application of front tracking to the simulation of shock refraction and unstable
mixing. J. Appl. Numer. Math. 14, 213–237 (1994)
4. J.O. Langseth, On an Implementation of a Front Tracking Method for Hyperbolic Conservation
Laws. Technical Report 1994–1996, Department of Informatics, University of Oslo, Norway
(1994)
5. R.J. LeVeque, K.M. Shyue, Two-Dimensional front tracking based on high resolution wave
propagation methods. J. Comput. Phys. 123, 354–368 (1996)
6. F.X. Garaizar, J. Trangenstein, Front tracking for shear bands in an antiplane shear model. J.
Comput. Phys. 54–69 (1997)
7. J. Glimm, M.J. Graham, J.W. Grove, X.-L. Li, T.M. Smith, D. Tan, F. Tangerman, Q. Zhang,
Front tracking in two and three dimensions. Comput. Math. Applic. 35, 1–11 (1998)
8. J. Glimm, J.W. Grove, X.-L. Li, K.M. Shyue, Q. Zhang, Y. Zeng, Three dimensional front
tracking. SIAM J. Sci. Comput. 19, 703–727 (1998)
9. B. Ben Moussa, Meshless particle methods: recent developments for non–linear conservation
laws in bounded domain, in Godunov Methods: Theory and Applications (Edited Review),
ed. by E.F. Toro (Kluwer Academic/Plenum Publishers, 2001)
10. B. Ben Moussa, J.P. Vila, Convergence of SPH method for scalar non–linear conservation
laws. SIAM J. Numer. Anal. 37(3), 863–887 (2000)
11. J.P. Vila, On particle weighted methods and smooth particle hydrodynamics. Math. Model.
Methods Appl. Sci. 9, 161–209 (1999)
12. A. Ferrari, M. Dumbser, E.F. Toro, A. Armanini, A new stable version of the SPH method in
lagrangian coordinates. Commun. Comput. Phys. 4(2), 378–404 (2008)
13. A. Ferrari, M. Dumbser, E.F. Toro, A. Armanini, A new 3D parallel SPH scheme for free
surface flows. Comput. Fluids 38, 1203–1217 (2009)
14. A. Ferrari, L. Fraccarollo, M. Dumbser, E.F. Toro, A. Armanini, A new 3D parallel SPH
scheme for free surface flows. J. Fluid Mech. 663, 456–477 (2010)
15. R.A. Gingold, J.J. Monagham, Smooth particle hydrodynamics: theory and application to
non-spherical stars. Mon. Not. R. Astron. Soc. 181, 375–389 (1977)
16. L. Lucy, A numerical approach to the testing of the fission hypothesis. Astron. J. 82, 1013–1024
(1977)
17. J.J. Monagham, Why particle methods work. SIAM J. Sci. Stat. Comput. 3(4), 422–433 (1982)
18. R.W. Randles, L.D. Libertsky, Smooth particle hydrodynamics, some recent improvements
and applications. Comput. Methods Applic. Mech. Eng. 139, 375–408 (1996)
19. A. Colagrossi, M. Landrinni, Numerical simulation of interfacial flows by smoothed particle
hydrodynamics. J. Comput. Phys. 191(2), 448–475 (2003)
20. M. Antuono, A. Colagrossi, S. Marrone, Numerical diffusive terms in weakly-compressible
SPH schemes. Comput. Phys. Commun. 183(12), 2570–2580 (2003)
21. X.-L. Fang, A. Colagrossi, P.-P. Wang, A.-M. Zhang, An accurate and robust axisymmet-
ric SPH method based on Riemann solver with applications in ocean engineering. Ocean
Engineering, p. 110369 (2022)
22. B. Cockburn, C.W. Shu, TVB Runge–Kutta local projection discontinuous Galerkin method
for conservation laws II: general framework. Math. Comput. 52(–), 411– (1989)
23. B. Cockburn, C.W. Shu, The Runge–Kutta discontinuous Galerkin method for conservation
laws. J. Comput. Phys. 141(–), 199– (1998)
24. J.J.W. van der Vegt, van der Ven H., O.J. Boelens, Discontinuous Galerkin methods for partial
differential equations, in Godunov Methods: Theory and Applications (Edited Review), ed.
by E.F. Toro (Kluwer Academic/Plenum Publishers, 2001)
References 399
25. M. Dumbser, C.D. Munz, ADER discontinuous Galerkin schemes for aeroacoustics. Comptes
Rendus Mécanique 33, 683–687 (2005)
26. M. Dumbser, M. Käser, V.A. Titarev, E.F. Toro, Quadrature-Free non-oscillatory finite volume
schemes on unstructured meshes for nonlinear hyperbolic systems. J. Comput. Phys. 226(8),
204–243 (2007)
27. M. Dumbser, M. Käser, E.F. Toro, An arbitrary high order discontinuous Galerkin method for
elastic waves on unstructured meshes V: local time stepping and p-adaptivity. Comput. Phys.
Commun. 171, 695–717 (2007)
28. M. Dumbser, D. Balsara, E.F. Toro, C.D. Munz, A unified framework for the construction
of one-step finite-volume and discontinuous Galerkin schemes. J. Comput. Phys. 227, 8209–
8253 (2008)
29. M. Dumbser, M.J. Castro, C. Parés, E.F. Toro, ADER schemes on unstructured meshes for
nonconservative hyperbolic systems: applications to geophysical flows. Comput. Fluids 38(9),
731–1748 (2009)
30. M. Dumbser, M.J. Castro, C. Parés, E.F. Toro, A. Hidalgo, FORCE schemes on unstructured
meshes II: non-conservative hyperbolic systems. Comput. Methods Appl. Mech. Eng. 199(9–
12), 625–647 (2010)
31. M. Dumbser, O. Zanotti, R. Loubère, S. Diot, A posteriori subcell limiting of the discontinuous
Galerkin finite element method for hyperbolic conservation laws. J. Comput. Phys. 278, 47–75
(2014)
32. S. Busto, M. Dumbser, C. Escalante, S. Gavrilyuk, N. Favrie, On high order ADER discon-
tinuous Galerkin schemes for first order hyperbolic reformulations of nonlinear dispersive
systems. J. Sci. Comput. 87, 48 (2021)
33. E.F. Toro, V. Titarev, M.Dumbser, A. Iske, C.R. Goetz, and C.E. Castro, G.I. Montecinos, R.
Dematté, The ADER approach for approximating hyperbolic equations to very high accuracy,
in Hyperbolic Problems: Theory, Numerics, Applications, vol. I, ed. by C. Parés, M.J. Castro,
T. Morales de Luna, M.L. Muñoz-Ruiz, pp. 83–108 (Springer, 2024)
34. C.E. Castro, M. Käser, E.F. Toro, Spacetime adaptive numerical methods for geophysical
applications. Philos. Trans. R. Soc. London A 367, 4613–4631 (2009)
35. C.E. Castro, E.F. Toro, M. Käser, ADER scheme on unstructured meshes for shallow water:
simulation of tsunami waves. Geophys. J. Int. 189, 1505–1520 (2012)
36. R.J. LeVeque, D.L. George, Tsunami modelling with adaptively refined finite volume methods.
Acta Numerica (2011). https://doi.org/10.1017/S0962492911000043:211-289
37. A.L. Williamson, D. Rim, L.M. Adams, R.J. LeVeque, D. Melgar, F.I. González, A source
clustering approach for efficient inundation modeling and regional scale probabilistic tsunami
hazard assessment. Front. Earth Sci. 8, 591663 (2020)
38. M. Oportus, R. Cienfuegos, A. Urrutia, R. Aránguiz, P.A. Catalán, M.A. Hube, Ex post analysis
of engineered tsunami mitigation measures in the town of Dichato. Chile. Nat. Hazards 103,
367–406 (2020)
39. J. Macías, M.J. Castro, C. Escalante, Performance assessment of the Tsunami-HySEA model
for NTHMP tsunami currents benchmarking. Laboratory data. Coastal Eng. 158, 103667
(2020)
40. T.E. Ongaro, M. de’Michieli Vitturi, M. Cerminara, A. Fornaciai, L. Nannipieri, M. Favalli,
B. Calusi, J. Macías, M.J. Castro, S. Ortega, J.M. González-Vida, C. Escalante, Modeling
tsunamis generated by submarine landslides at Stromboli Volcano (Aeolian Islands, Italy): a
numerical benchmark study. Front. Earth Sci. 9, 628652 (2021)
41. E.F. Toro, C.E. Castro, D. Vanzo, A. Siviglia, A flux-vector splitting scheme for the shallow
water equations extended to high-order on unstructured meshes. Int. J. Numer. Methods Fluids
(2022). https://doi.org/10.1002/fld.5099
42. M.J. Berger, R.J. LeVeque, Towards adaptive simulations of dispersive tsunami propagation
from an asteroid impact, in Proceedings of the International Congress of Mathematicians,
pp. 5056–5071 (EMS Press, 2022)
43. R.M. Iverson, The physics of debris flows. Rev. Geophys. 35(3), 245–296 (1997)
44. S.B. Savage, The mechanics of rapid granular flows. Adv. Appl. Mech. 24, 289–366 (1984)
400 17 Concluding Remarks
45. S.B. Savage, W.K. Smith, A model for the plastic flow of landslides. US Geol. Surv. Prof.
Pap. 1385 (1986)
46. S.B. Savage, K. Hutter, The motion of a finite mass of granular materials down a rough incline.
J. Fluid Mech. 199, 177–215 (1989)
47. S.B. Savage, K. Hutter, The dynamics of avalanches of granular materials from initiation to
runout, I analysis. Acta Mech. 86, 201–223 (1991)
48. K. Hutter, B. Svendsen, D. Rickenmann, Debris-Flow modelling: a review. Continuum Mech.
Themodyn. 8, 1–35 (1996)
49. T. Takahashi, The mechanical characteristic of debris flow. J. Hydraul. Division Am. Soc.
Civ. Eng. 104, 1153–1169 (1978)
50. T. Takahashi, Debris flow on prismatic open channel. J. Hydraul. Division Am. Soc. Civ. Eng.
106, 381–396 (1980)
51. T. Takahashi, Debris flow. Annu. Rev. Fluid Mech. 13, 57–77 (1981)
52. R.M. Iverson, A constitutive equation for mass movement behaviour. J. Geol. 93, 143–160
(1985)
53. R.M. Iverson, Unsteady, nonuniform landslide motion, 1, theoretical dynamics and the steady
Datum State. J. Geol. 94, 1–15 (1986)
54. R.M. Iverson, Unsteady, nonuniform landslide motion, 2, linearised theory and the kinematics
of transient response. J. Geol. 94, 349–364 (1986)
55. R.M. Iverson, M.E. Reid, R.G. LaHusen, Debris-Flow mobilisation from landslides. Annu.
Rev. Earth Planet. Sci. 25, 85–138 (1997)
56. R.M. Iverson, R.P. Denlinger, Flow of variably fluidized granular masses across 3–D terrain:
1. Coulomb mixture theory. J. Geophys. Res. (2000) (in press)
57. R.P. Denlinger, R.M. Iverson, Flow of variably fluidized granular masses across 3-D Terrain:
2. Numerical predictions and experimental tests. J. Geophys. Res. 106(B1), 553–566 (2001)
58. A. Armanini, M. Michiue, Recent Developments on Debris Flows. Lecture Notes in Earth
Sciences, vol. 64 (Springer, 1997)
59. D. Vanzo, A. Siviglia, E.F. Toro, Pollutant transport by shallow water equations on unstruc-
tured meshes: hyperbolization of the model and numerical solution via a novel flux splitting
scheme. J. Comput. Phys. 321, 1–20 (2016)
60. E.D. Fernández-Nieto, P. Vigneaux, Some remarks on avalanches modelling: an introduction
to shallow flows models. Technical Report HAL Id: hal-01066445, HAL. https://hal.science/
hal-01066445
61. A. Siviglia, D. Vanzo, E.F. Toro, A splitting scheme for the coupled Saint Venant-Exner model.
Adv. Water Res. 159, 104062 (2022)
62. R.E. Britter, Atmospheric dispersion of dense gases. Annu. Rev. Fluid Mech. 21, 317–344
(1989)
63. S.T. Chan, H.C. Rodean, D.L. Ermak, Numerical simulations of atmospheric releases of heavy
gases over variable terrain. Technical Report UCRL–87256, Lawrence Livermore Laboratory,
University of California, Livermore, California, USA (1982)
64. K.J. Eidsvik, A model for heavy gas dispersion in the atmosphere. Atmos. Environ. 14,
769–777 (1980)
65. J. Kukkonen, J. Nikmo, Modelling heavy gas cloud transport in sloping terrain. J. Hazardous
Mater. 31, 155–176 (1992)
66. D.M. Webber, S.J. Jones, D. Martin, A model of the motion of a heavy gas cloud release on
a uniform slope. J. Hazardous Mater. 33, 101–122 (1993)
67. A. Chiapolino, S. Courtiaud, E. Lapébie, R. Saurel, Modeling heavy-gas dispersion in air with
two-layer shallow water equations. Fluids 6(1) (2021). https://doi.org/10.3390/fluids6010002
68. R.K.S. Hankin, Heavy Gas Dispersion Over Complex Terrain, Ph.D. thesis, University of
Cambridge, UK (1997)
69. Y. Ma, A. Li, J. Che, T. Wang, C. Yang, L. Che, J. Liu, Investigation of heavy gas dispersion
characteristics in a static environment: spatial distribution and volume flux prediction. Build.
Environ. 242, 110501 (2023)
References 401
70. F. Bellamoli, L.O. Müller, E.F. Toro, A numerical method for junctions in networks of shallow-
water channels. Appl. Math. Comput. 337, 190–213 (2018)
71. X. Liu, A. Chertock, A. Kurganov, K. Wolfkill, One-Dimensional/Two-Dimensional coupling
approach with quadrilateral confluence region for modeling river systems. J. Sci. Comput. 81,
297–1328 (2019)
72. S. Kivva, M. Zheleznyak, O. Pylypenko, V. Yoschenko, Open water flow in a wet/dry multiply-
connected channel network: a robust numerical modeling algorithm. Pure Appl. Geophys. 177,
342103458 (2020)
73. M.E. Vázquez-Cendón, Estudio de Esquemas Descentrados para su Aplicación a las Leyes
de Conservación Hiperbólicas con Términos de Fuente. Ph.D. thesis, Departamento de
Matemáticas Aplicadas, Universidad de Santiago de Compostela, España (1994)
74. L. Bermúdez, A. Dervieux, J.A. Desideri, M.E. Vázquez, Upwind schemes for the two-
dimensional shallow water equations with variable depth using unstructured meshes. Comput.
Methods Appl. Mech. 155, 49–72 (1998)
75. K. Anastasiou, C.T. Chan, Solution of the 2D shallow water equations using the finite volume
method on unstructured triangular meshes. Int. J. Numer. Meth. Fluids 24, 1225–1245 (1997)
76. V. Casulli, Semi-Implicit finite difference methods for the two-dimensional shallow water
equations. J. Comput. Phys. 86, 56–74 (1990)
77. V. Casulli, R.T. Cheng, Semi-Implicit finite difference methods for three-dimensional shallow
water flow. Int. J. Numer. Methods Fluids 15, 629–648 (1992)
78. V. Casulli, A semi-implicit finite difference method for non-hydrostatic free-surface flow. Int.
J. Numer. Methods Fluids 30, 425–440 (1999)
79. P.K. Stansby, P.M. Lloyds, A semi-implicit lagrangian scheme for 2D shallow water flow with
a two-layer turbulence model. Intern. J. Numer. Methods Fluids 20, 115–133 (1995)
80. S. Busto, M. Dumbser, A staggered semi-implicit hybrid finite volume/finite element scheme
for the shallow water equations at all Froude numbers. Appl. Numer. Math. 175, 108–132
(2022)
81. W. Boscheri, M. Tavelli, C.E. Castro, An all Froude high order IMEX scheme for the shallow
water equations on unstructured Voronoi meshes. Appl. Numer. Math. 185, 311–335 (2023)
82. E.F. Toro, A. Siviglia, Simplified blood flow model with discontinuous vessel properties:
analysis and exact solutions. Modelling Physiological Flows Series: Modelling, Simulation
and Applications, ed. by D. Ambrosi, A. Quarteroni, G. Rozza (Springer, 2012), pp. 19–39.
ISBN 978-88-470-1934-8
83. I. Gómez-Bueno, S. Boscarino, M.J. Castro, C. Parés, G. Russo, Implicit and semi-implicit
well-balanced finite-volume methods for systems of balance laws. Appl. Numer. Math. 184,
18–48 (2023)
84. L. Bermúdez, M.E. Vázquez, Upwind methods for hyperbolic conservation laws with source
terms. Comput. Fluids 23, 1049–1071 (1994)
85. R.J. LeVeque, Balancing source terms and flux gradients in high-resolution godunov methods.
J. Comput. Phys. 146, 346–365 (1998)
86. M.E. Vázquez-Cendón, Improved treatment of source terms in upwind schemes for the shallow
water equations in channels with irregular geometry. J. Comput. Phys. 148, 497–526 (1999)
87. E.D. Fernández-Nieto, D. Bresch, J. Monnier, A consistent intermediate wave speed for a
well-balanced HLLC solver. C. R. Acad. Sci. Paris 346, 795–800 (2008)
88. M.J. Castro, J.M. Gallardo, J.A. López, C. Parés, Well-Balanced high order extensions of
Godunov’s method for semi-linear balance laws. SIAM J. Numer. Anal. 46, 1012–1039 (2008)
89. A. Canestrelli, A. Siviglia, M. Dumbser, E.F. Toro, Well-balanced high-order centred schemes
for non-conservative hyperbolic systems. Applications to shallow water equations with fixed
and mobile bed. Adv. Water Res. 32, 834–844 (2009)
90. M.J. Castro, A. Pardo, C. Parés, E.F. Toro, On some fast well-balanced first order solvers for
nonconservative systems. Math. Comput. 79(271), 1427–1472 (2010)
91. O. Delestre, P.-Y. Lagrée, A well-balanced finite volume scheme for blood flow simulation.
Int. J. Numer. Methods Fluids 72, 177–205 (2013)
402 17 Concluding Remarks
92. L.O. Müller, E.F. Toro, Well-balanced high-order solver for blood flow in networks of vessels
with variable properties. Int. J. Numer. Methods Fluids 29(12), 1388–1411 (2013)
93. L.O. Müller, C. Parés, E.F. Toro, Well-balanced high-order numerical schemes for one-
dimensional blood flow in vessels with varying mechanical properties. J. Comput. Phys.
242(7), 53–85 (2013)
94. A. Navas-Montilla, J. Murillo, 2D well-balanced augmented ADER schemes for the shallow
water equations with bed elevation and extension to the rotating frame. J. Comput. Phys. 372,
316–348 (2018)
95. M.J. Castro, C. Parés, Well-balanced high-order finite volume methods for systems of balance
laws. J. Sci. Comput. 82, 48 (2020). https://doi.org/10.1007/s10915-020-01149-5
96. B. Ghitti, C. Berthon, M.H. Le, E.F. Toro, A fully well-balanced scheme for the 1D blood
flow equations with friction source term. J. Comput. Phys. 421, 109750 (2020)
97. L. Arpaia, M. Ricchiuto, A.G. Filippini, R. Pedreros, An efficient covariant frame for the spher-
ical shallow water equations: well balanced DG approximation and application to tsunami
and storm surge. Ocean Model. 169, 101915 (2022)
98. E. Guerrero-Fernández, M.J. Castro-Díaz, M. Dumbser, T.M. de Luna, An arbitrary high order
well-balanced ADER-DG numerical scheme for the multilayer shallow-water model with
variable density. J. Sci. Comput. 9, 52 (2022). https://doi.org/10.1007/s10915-021-01734-2
99. W. Barsukow, J.P. Berberich, A well-balanced active flux method for the shallow water equa-
tions with wetting and drying. Commun. Appl. Math. Comput. (2022). https://doi.org/10.
1007/s42967-022-00241-x
100. E. Pimentel-García, L.O. Müller, E.F. Toro, C. Parés, High-order fully well-balanced numeri-
cal methods for one-dimensional blood flow with discontinuous properties. J. Comput. Phys.
475, 111869 (2023)
101. L. Martaud, C. Berthon, Fully well-balanced entropy stable Godunov numerical schemes for
the shallow water equations with the topography source term. Technical Report HAL Id:
hal-04394378, HAL open science (2024)
102. V. González-Tabernero, M.J. Castro, J.A. García-Rodríguez, High-order well-balanced
numerical schemes for one-dimensional shallow-water systems with Coriolis terms. Appl.
Math. Comput. 469(128528) (2024)
103. P.G. Baines, Topographic Effects in Stratified Flows (Cambridge University Press, 1995)
104. M. Castro, J.T. Frings, S. Noelle, C. Parés, G. Puppo, On the hyperbolicity of two- and three-
layer shallow water equations, in Proceedings of the International Conference on Hyperbolic
Problems (American Mathematical Society, MI, 2010), pp. 657–664
105. M.J. Castro, E.D. Fernández-Nieto, J.M. González-Vida, C. Parés-Madroñal, Numerical treat-
ment of the loss of hyperbolicity of the two-layer shallow-water system. J. Sci. Comput. 48(1),
16–40 (2011)
106. A. Scoz, L. Bertazzi, E.F. Toro, On well-posedness of a mathematical model for cerebrospinal
fluid in the optic nerve sheath and the spinal subarachnoid space. Appl. Math. Comput. 413,
126625 (2022)
107. S. Gavrilyuk, M. Kazakova, Hydraulic jumps in two-layer flows with a free surface. Technical
Report HAL Id: hal-00956266, HAL open science (2014)
108. E.D. Fernández-Nieto, E. Koné, T. Chacón-Rebollo, A multilayer method for the hydrostatic
Navier-Stokes equations: a particular weak solution. J. Sci. Comput. 60, 408–437 (2014)
109. E.D. Fernández-Nieto, M. Parisot, Y. Penel, J. Sainte-Marie, A hierarchy of dispersive layer-
averaged approximations of Euler equations for free-surface flows. Commun. Math. Sci.
16(5), 1169–1202 (2018)
110. A.A. Chesnokov, S.L. Gavrilyuk, V.Y. Liapidevskii, Mixing and nonlinear internal waves in
a shallow flow of a three-layer stratified fluid. Phys. Fluids 34, 075104 (2022)
111. E.F. Toro, NUMERICA, A Library of Source Codes for Teaching, Research and Applications
(Numeritek Ltd., 1999). https://www.numeritek.com
Index
© The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer 403
Nature Switzerland AG 2024
E. F. Toro, Computational Algorithms for Shallow Water Equations,
https://doi.org/10.1007/978-3-031-61395-1
404 Index
Characteristic speed, 28, 41, 44, 45, 53, 74 Detachment criterion, 384, 388
Characteristic variable, 22, 23, 42, 43, 45, Detachment transition criterion, 394
47, 54, 292 Determinant, 42, 68
Chilean tsunami 1960, 378 Diagonalisable system, 43
Circular dam, 355 Diagonalisation, 22, 43
Circular rarefaction wave, 357, 358 Diagonal matrix, 43
Circular shock wave, 357, 358 Difference equation, 165
CIR scheme, 166 Differential form, 1–3, 190
Coefficient of numerical viscosity, 174, 175 Differential operator, 165, 166
Complete Riemann solver, 243 Diffusion coefficient, 15
Compressible material, 3 Dimensional splitting, 284, 298
Computational cell, 3, 301 Discharge, 11
Concave flux, 28 Discontinuous Galerkin finite element
Concerted Action on Dam-Break Modelling method, 394
(CADAM), 354, 364 Discontinuous Galerkin finite elements, 225
Conservation law, 1–3, 8, 9, 76, 107, 190
Conservation of mass, 8 Discontinuous solution, 9, 10
Conservation principle, 2, 3 Divergence operator, 2
Conservative form of a scheme, 176 Divided differences, 334
Conservative formula, 215, 262, 302 DOT conservative scheme, 243–245
Conservative formulation, 67, 109 DOT non-conservative, 247, 248
Conservative method, 11 DOT numerical flux, 244
Conserved variable, 9, 67, 71 Dot product, 2
Consistency of numerical flux, 215 Dry bed, 114, 119, 129–131, 134–136, 140,
Contact discontinuity, 85, 88, 100, 103, 124, 142
131, 132, 136, 228, 232, 233 Dry-bed Riemann problem, 142, 143
Continuity equation, 7 Dumbser-Enaux-Toro (DET) solver, 331
Control volume, 3, 31 Dynamical condition, 6
Conventional Riemann problem, 270
Convex flux, 28
Courant number, 167, 172, 239, 264, 291 E
Critical flow, 141, 217, 218, 228–231, 238, Efficiency, 330, 344, 345
266 Eigenstructure, 21, 42, 56, 66, 71, 74, 78
Critical rarefaction, 141, 229, 238, 266, 267 Eigenvalue, 21, 42, 56–58, 68, 71, 73, 74, 78,
82, 293, 294
Cross-sectional width, 11 Eigenvector, 21, 42, 43, 57, 58, 72, 74, 79,
Cylindrical symmetry, 356 82
Elliptic equations, 74, 79
ENO method, 331
D Entropy fix, 238
Dam, 353, 354 Entropy fix for the Roe solver, 238
Dam-break modelling, 353, 362, 364 Entropy fix of Harten and Hyman, 238
Dam-break problem, 52, 86, 87, 113, 355, Entropy glitch, 217, 218
364 Entropy satisfying method, 141
Debris flow, 395 Entropy-violating shock, 217
Debris transport, 354 Equation of state, 81
Decoupled equations, 43, 44 Euler equations, 81
Deflection angle, 382 Euler method, 291, 295
Density, 3, 4 Exact Riemann solver, 113, 115, 141
Dependent variable, 3 Exact splitting (for sources), 289
Depression, 86 Explicit method, 167, 215
Depth function, 118, 119 Explicit scheme, 295
Depth positivity condition, 120, 121, 131,
134, 136, 143, 146, 230
Index 405
Mach stem, 378, 381, 383 Particle velocity, 86, 88, 104, 105, 131
Malpasset dam, 354 Passive scalar, 122, 135, 262, 266
Mass conservation, 2, 3 Path-conservative method, 246
Mesh spacing, 164 Periodic waves, 378
Mesh speed, 235 Phase angle, 304
MINBEE limiter, 266, 274 Phase plane, 75
Modified equation, 185 Phase space, 75
Momentum conservation, 2, 3 Physical flux, 91, 215
Momentum equation, 8 Physical model, 364
Monotone scheme, 172, 210 Physical variable, 4, 71
Monotonicity condition, 175 Point value, 196
Montecinos-Toro solver for G R Pm , 329, Pollutant transport, 12, 228, 262
331 Pressure, 1, 3
Moving reflective boundary condition, 201 Pressure positivity condition, 137
Multilayer shallow water, 396 Primary circular shock wave, 358, 359
MUSCL-Hancock method, 268 Primitive variable, 4, 11, 71
Primitive variable formulation, 78, 107, 229
V Wave length, 5
Vacuum, 110, 129, 131 Wave speed estimate, 234
Vajont dam, 354 Wave strength, 237
Van Albada limiter, 266, 273 Weakly hyperbolic equations, 74
Van Leer limiter, 266, 273 Weakly hyperbolic system, 22
Variable bathymetry, 144 Weak shock wave, 109
Variable bed, 39, 41, 53, 54 Weak solution, 9, 33
Velocity, 3 Well-balanced scheme, 284, 290, 396
Vertical acceleration, 1, 6 WENO method, 332
Viscous form of a scheme, 174 Wet bed, 42, 74, 114, 129–131, 134, 140
Von Neumann stability, 302 Wet/dry front, 113, 114, 126, 129, 134–137,
142–144, 235, 251, 252, 254, 255, 267