High Order ADER FV/DG Mumerical Methods for Hyperbolic ... · Methods for Hyperbolic Equations...
Transcript of High Order ADER FV/DG Mumerical Methods for Hyperbolic ... · Methods for Hyperbolic Equations...
Monographs of the School of Doctoral Studies in Environmental Engineering
10
High Order ADER FV/DG Numerical
Methods for Hyperbolic Equations
Cristóbal E. Castro
2007
Based on the Doctoral Thesis in Environmental Engineering (XIX cycle)
defended in February 2007 at the Faculty of Engineering of the University of Trento
Supervisor: Professor E. F. Toro OBE
On the cover: Two dimensional shock wave interaction over a solid triangle.
Numerical solution of the Euler equations on triangular mesh.
Schlieren image for density.
c© Cristóbal E. Castro (text and images when not differently specified)
Direttore della collana: Marco Tubino
Segreteria di redazione: Laura Martuscelli e Fabio Bernardi
Università degli Studi di Trento, Italia
May 2007
ISBN: 978-88-8443-183-7
To my wife Marta and my family
Acknowledgements
The author wishes to thank professor Toro for his guide, for shearing his knowledge and for
his valuable advises, and his colleagues Vladimir, Martin and Michael for their contribution
to this work and the good time spent at the Golden Rose.
The author also wishes to thank all persons working in the Faculty of Engineering,
specially Laura, Elena, Eleonora and his colleagues of the PhD program Dawa, Marco,
Oscar, Silvia and Stefano.
Special gratitude to the good friends made during these three years: Alessandro, Mat-
teo, Sara, Daniela, Alessandra, Luca, Matteo, Raquel, Javier, Veronica, Ainhoa and the
partners of football.
The author also wishes to thank Ing. Valerio Caleffi and the group of University of
Ferrara.
v
vi
Contents
1 Introduction 1
2 Hyperbolic systems of balance laws 9
2.1 The balance laws . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Characteristic curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 The Riemann problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Hyperbolicity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5 Characteristic variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.6 The linear Riemann problem . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.7 Characteristic fields for non-linear systems . . . . . . . . . . . . . . . . . . . 17
2.7.1 Rarefaction waves . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.7.2 Shock waves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.7.3 Contact discontinuity wave . . . . . . . . . . . . . . . . . . . . . . . 20
3 Numerical methods for hyperbolic equations 21
3.1 Review of numerical methods for hyperbolic equations . . . . . . . . . . . . 21
3.2 Finite volume schemes on triangular meshes . . . . . . . . . . . . . . . . . . 25
3.3 Discontinuous Galerkin schemes . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4 Reconstruction procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.5 Finite Volume schemes in one space dimension . . . . . . . . . . . . . . . . 32
4 Classical Riemann solvers 35
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2 Euler equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2.2 Equations and eigenstructure . . . . . . . . . . . . . . . . . . . . . . 37
4.2.3 Non-linear Riemann solver . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2.3.1 Contact waves . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.2.3.2 Rarefaction waves . . . . . . . . . . . . . . . . . . . . . . . 41
4.2.3.3 Shock waves . . . . . . . . . . . . . . . . . . . . . . . . . . 42
vii
Contents
4.2.3.4 Iterative procedure to solve the star values . . . . . . . . . 44
4.2.4 Linear Riemann solvers for conservative variables . . . . . . . . . . . 45
4.2.4.1 Solution for the stiffened-gas EOS . . . . . . . . . . . . . . 46
4.2.4.2 Solution for the van der Waals EOS . . . . . . . . . . . . . 47
4.3 The Baer-Nunziato equations . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.3.2 Equations and eigenstructure . . . . . . . . . . . . . . . . . . . . . . 49
4.3.3 Non linear Riemann solver . . . . . . . . . . . . . . . . . . . . . . . . 53
4.3.3.1 Fluid-2 contact to the left of fluid-1 contact . . . . . . . . . 56
4.3.3.2 Fluid-2 contact to the right of fluid-1 contact . . . . . . . . 57
4.3.4 EVILIN Riemann solver . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.3.5 Stratified Riemann solver . . . . . . . . . . . . . . . . . . . . . . . . 60
4.3.6 Linear Riemann solver . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.4 Shallow water equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.4.2 Equations and eigenstructure . . . . . . . . . . . . . . . . . . . . . . 65
4.4.3 Non linear Riemann solver . . . . . . . . . . . . . . . . . . . . . . . . 66
4.4.4 Linear Riemann solver . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5 The Derivative Riemann Problem 71
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.2 The Derivative Riemann Problem . . . . . . . . . . . . . . . . . . . . . . . . 72
5.2.1 The Mathematical Problem . . . . . . . . . . . . . . . . . . . . . . . 73
5.2.2 A Known Method of Solution . . . . . . . . . . . . . . . . . . . . . . 75
5.3 Other Methods of Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.3.1 Interaction of Power-Series Expansions . . . . . . . . . . . . . . . . . 77
5.3.2 Interaction of Time Derivatives . . . . . . . . . . . . . . . . . . . . . 80
6 Assessment of the Derivative Riemann Problem solvers 83
6.1 Reference solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.2 The Derivative Riemann Problem for the Euler equations . . . . . . . . . . 85
6.2.1 Test 1: smooth initial conditions . . . . . . . . . . . . . . . . . . . . 85
6.2.2 Test 2: Initial data with discontinuous derivatives . . . . . . . . . . . 86
6.2.3 Tests with discontinuous initial conditions . . . . . . . . . . . . . . . 86
6.3 The Derivative Riemann Problem for the Baer-Nunziato equations . . . . . 94
6.3.1 Test 1: Advection of the void fraction . . . . . . . . . . . . . . . . . 94
6.3.2 Test 2: Mild jump in fluid-1 pressure . . . . . . . . . . . . . . . . . . 96
viii
Contents
6.3.3 Test 3: Large jumps in pressures and densities. . . . . . . . . . . . . 97
6.4 Discussion of results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
7 ADER schemes on triangular meshes 101
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
7.2 Evaluation of the volume integral . . . . . . . . . . . . . . . . . . . . . . . . 103
7.3 Evaluation of the surface integral . . . . . . . . . . . . . . . . . . . . . . . . 105
7.4 DRP over triangular meshes . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.4.1 ADER TT-DRP scheme over triangular meshes . . . . . . . . . . . . 107
7.4.2 ADER CT-DRP scheme over triangular meshes . . . . . . . . . . . . 107
7.4.3 ADER HEOC-DRP scheme over triangular meshes . . . . . . . . . . 108
8 Numerical results 109
8.1 Euler equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
8.1.1 Two dimensional convergence test: Vortex evolution . . . . . . . . . 109
8.1.2 Shock wave reflection problem . . . . . . . . . . . . . . . . . . . . . . 110
8.1.3 CPU cost of Riemann solvers . . . . . . . . . . . . . . . . . . . . . . 115
8.2 Baer-Nunziato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
8.2.1 Test 1: Shock tube problem for liquid and gas . . . . . . . . . . . . . 116
8.2.2 Test 2: Numerical convergence . . . . . . . . . . . . . . . . . . . . . 118
8.3 Shallow water . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
8.3.1 Convergence test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
8.3.2 Idealised circular dam . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8.3.3 Dam with channel with 45o bend . . . . . . . . . . . . . . . . . . . . 129
8.3.4 Malpasset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
9 Summary, conclusions and future work 135
A Equations of state for gas dynamics 137
A.1 Van der Waals equation of state . . . . . . . . . . . . . . . . . . . . . . . . . 137
A.2 Stiffened-gas equation of state . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Bibliography 141
ix
Contents
x
List of Figures
2.1 Family of curves for the linear advection equation. . . . . . . . . . . . . . . 12
2.2 The classical Riemann problem for the linear advection equation. . . . . . . 13
2.3 Wave pattern generated from the Riemann problem for a linear system. . . 15
2.4 Elementary wave configuration of the i-th characteristic field. . . . . . . . . 18
2.5 Wave structure for a 3 × 3 hyperbolic system. . . . . . . . . . . . . . . . . . 20
3.1 Discrete domain for a Finite Difference numerical method. . . . . . . . . . . 22
3.2 The triangular element Tm is defined in the physical domain. . . . . . . . . 28
4.1 Wave structure for the 2 dimensional Euler equations. . . . . . . . . . . . . 39
4.2 Shock wave travelling to the right. . . . . . . . . . . . . . . . . . . . . . . . 42
4.3 Wave structure of the Baer-Nunziato system. . . . . . . . . . . . . . . . . . 52
4.4 Uncoupled representation of the wave structure of the BN system. . . . . . 54
4.5 Possible structure of the Riemann problem. In this case λ3 < λ5.. . . . . . . 56
4.6 Possible structure of the Riemann problem. In this case λ5 < λ3. . . . . . . 57
4.7 EVILIN Riemann solver for the non-conservative formulation. . . . . . . . . 59
4.8 Stratified approach. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.9 Reference coordinate system for shallow water system. . . . . . . . . . . . . 65
4.10 Wave structure for the 2 dimensional shallow water equations. . . . . . . . . 67
5.1 The classical Riemann problem for a typical 3 × 3 non-linear system. . . . . 73
5.2 The Derivative Riemann Problem for a typical 3 × 3 non-linear system. . . . 74
5.3 Illustration of the HEOC Derivative Riemann Problem solver. . . . . . . . . 79
6.1 Euler equation: Shock-tube test problem. . . . . . . . . . . . . . . . . . . . 84
6.2 Euler equation: Test 1: DRP solution. . . . . . . . . . . . . . . . . . . . . . 88
6.3 Euler equation: Fifth order DRP solutions for Test 2. . . . . . . . . . . . . . 89
6.4 Euler equation: DRP solution for Test 2 and ∆p = 0.01. . . . . . . . . . . . 90
6.5 Euler equation: DRP solution for Test 2 and ∆p = 0.10. . . . . . . . . . . . 91
6.6 Euler equation: DRP solution for Test 2 and ∆p = 1.00. . . . . . . . . . . . 92
xi
List of Figures
6.7 Euler equation: DRP solution for Test 2 and ∆p = 10.0. . . . . . . . . . . . 93
6.8 Baer-Nunziato equation: DRP solution for Test 1. Void fraction. . . . . . . 95
6.9 Baer-Nunziato equation: DRP solution for Test 1. Error in the void fraction. 95
6.10 Baer-Nunziato equation: DRP solution for Test 2. Fluid-1 pressure. . . . . . 96
6.11 Baer-Nunziato equation: DRP solution for Test 2. Error in the fluid-1 press. 97
6.12 Baer-Nunziato equation: DRP solution for Test 3. Fluid-2 velocity. . . . . . 98
6.13 Baer-Nunziato equation: DRP solution for Test 3. Error in the fluid-2 vel. . 98
7.1 Triangular element Tm and integration point xh. . . . . . . . . . . . . . . . 103
7.2 Surface-time integration over the j-th edge of the normal flux. . . . . . . . . 106
8.1 Shock wave problem. Schlieren image for density at time t = 7.93 × 10−4. . 112
8.2 Shock wave problem. Schlieren image for density at time t = 1.41 × 10−3. . 112
8.3 Shock wave problem. Schlieren image for density at time t = 1.85 × 10−3. . 113
8.4 Shock wave problem. Schlieren image for density at time t = 2.20 × 10−3. . 113
8.5 Shock wave problem. Three dimensional image for the density. . . . . . . . 114
8.6 Wave pattern for Baer-Nunziato Test 1. . . . . . . . . . . . . . . . . . . . . 117
8.7 Numerical results for Baer-Nunziato Test 1 and 100 cell. . . . . . . . . . . . 118
8.8 Numerical results for Baer-Nunziato Test 1 and 800 cell. . . . . . . . . . . . 119
8.9 Circular dam-break problem. Radial cut of the free surface elevation. . . . . 126
8.10 Circular dam-break problem. Radial cut of the velocity. . . . . . . . . . . . 127
8.11 Circular dam-break problem. Half plane of the solution at different times. . 128
8.12 Dam with channel. Unstructured grid with 9228 elements. . . . . . . . . . . 129
8.13 Dam with channel. Discontinuity in the free surface. . . . . . . . . . . . . . 129
8.14 Dam with channel. Reconstruction of the bottom elevation. . . . . . . . . . 130
8.15 Dam with channel. Free surface contour plot for ADER FV. . . . . . . . . . 131
8.16 Dam with channel. Free surface contour plot for ADER DG. . . . . . . . . . 132
8.17 Malpasset dam: Computational domain formed by 26042 triangles. . . . . . 133
8.18 Malpasset dam: Numerical solution. . . . . . . . . . . . . . . . . . . . . . . 134
xii
List of Tables
4.1 Stratified solver. Assignment for intercell vectors Q(l)
i+ 12
. . . . . . . . . . . . 62
6.1 DRP Euler solution: Errors in L2 norm for the vector Q for Test 1. . . . . . 86
6.2 Toro-Titarev solver. Errors for Test 2. . . . . . . . . . . . . . . . . . . . . . 87
6.3 HEOC solver: Errors for Test 2. . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.4 Castro-Toro solver. Errors for Test 2. . . . . . . . . . . . . . . . . . . . . . . 87
8.1 Euler Convergence rates test: second order method. . . . . . . . . . . . . . . 110
8.2 Euler Convergence rates test: third order method. . . . . . . . . . . . . . . 110
8.3 Euler Convergence rates test: fourth order method. . . . . . . . . . . . . . . 110
8.4 Euler Convergence rates test: fifth order method. . . . . . . . . . . . . . . . 111
8.5 CPU computational cost for different Riemann solvers. . . . . . . . . . . . . 115
8.6 Euler: Initial conditions for shock tube problem for liquid and gas . . . . . . 116
8.7 Baer-Nunziato: CPU Computational cost for different numerical methods. . 120
8.8 L1, L2 and Linf norm for EVILIN method with MUSCL_Hancock. . . . . . 120
8.9 L1, L2 and Linf norm for StraEv method with MUSCL_Hancock. . . . . . 120
8.10 L1, L2 and Linf norm for StraEx method with MUSCL_Hancock. . . . . . 120
8.11 Shallow water convergence rates test: FV TT-DRP second order method. . 122
8.12 Shallow water convergence rates test: FV TT-DRP third order method. . . 122
8.13 Shallow water convergence rates test: FV TT-DRP fourth order method. . . 122
8.14 Shallow water convergence rates test: FV TT-DRP fifth order method. . . . 122
8.15 Shallow water convergence rates test: FV CT-DRP second order method. . 123
8.16 Shallow water convergence rates test: FV CT-DRP third order method. . . 123
8.17 Shallow water convergence rates test: FV CT-DRP fourth order method. . . 123
8.18 Shallow water convergence rates test: FV CT-DRP fifth order method. . . . 123
8.19 Shallow water convergence rates test: FV HEOC-DRP second order method. 124
8.20 Shallow water convergence rates test: FV HEOC-DRP third order method. 124
8.21 Shallow water convergence rates test: FV HEOC-DRP fourth order method. 124
8.22 Shallow water convergence rates test: FV HEOC-DRP fifth order method. . 124
8.23 Shallow water convergence rates test: DG CT-DRP second order method. . 125
xiii
List of Tables
8.24 Shallow water convergence rates test: DG CT-DRP third order method. . . 125
8.25 Shallow water convergence rates test: DG CT-DRP fourth order method. . 125
8.26 Shallow water convergence rates test: DG CT-DRP fifth order method. . . . 125
xiv
List of Tables
xv
List of Tables
xvi
1 Introduction
Numerical methods are a part of applied mathematics and enter the scene when mathe-
matical knowledge is applied to other disciplines. Numerical methods are used to solve
partial differential equations (PDEs) when analytical solution are not possible. Numerical
methods approximate the theoretical solution of the PDEs making use of approximation
theories and computational capabilities.
In most of the cases PDEs represent physical processes of practical interest, like transport
phenomena, wave propagation or interaction between fluids and solids. PDEs also have
an intrinsically mathematical meaning. Researchers try to solve PDEs in order to forecast
for example the transport of a pollutant, the arriving time of an ocean wave or a seismic
wave or the behaviour of a wing under the effect of the air. All these physical situations
are defined inside a physical domain which can be a river, the ocean and the coast of a
country, the exterior of an airplane, and a particular instant or period of time.
For many years the only possibility of studying these physical phenomena has been
using an experimental approach, but in many cases this is very difficult or even impossible
because of the extension of the physical area of study or the impossibility to reproduce the
real conditions in the laboratory. In other cases the financial costs are too high, for example
the construction and use of wind tunnels is very expensive. In these situations numerical
methods represent a real alternative to predict the evolution of physical phenomena. The
numerical approach applied to industry improves the efficiency of the production, reducing
the time of designing and costs. Also, they are often used by public service institutions
to create emergency plans in cases of inundations due to rivers, tsunamis or dam-break
situations.
PDEs and the physical domain are continuous elements in the sense that contain infinite
data. For example the velocity in all three spatial dimensions of all points that belong to the
volume of a river, for all the time period during which one intends to solve the equations,
give rise to a infinite number of items of information. Because of this tremendous amount
of information, the spatial-temporal domain is subdivided into a finite set of elements
or volumes, generating the computational domain. Inside of each element of volume the
physical properties or variables are averaged.
1
1. Introduction
Over the computational domain the continuous solution of the PDEs is approximated
in a piece-wise manner in each single volume. The final goal is to reduce the difference
between the numerical solution and the theoretical one.
Four aspects are considered for engineering applications: a practical physical problem to
solve, a mathematical model that represents the problem with a set of partial differential
equations, a numerical method to solve the PDEs and a computational capability.
Different classes of errors are introduced in these four aspects. For example, the process
of translating the physical problem into mathematical model of PDEs, simplifications and
assumptions are made. Simplifications like considering a one dimensional problem or axial
symmetry, or assumptions like constant density or inviscid flows. Because of this, the
solution of the mathematical model is different from the solution of the real problem. This
type of error is associated to the process of defining the mathematical model that describes
the physical problem of interest and is called the modeling error.
Other type of errors are introduced when the numerical method is applied to the com-
putational domain and used to approximate the PDEs. This is the numerical error. A
related source of error arise from the subdivision process of the physical domain where, for
example, a particular detail of the riverbed topography is averaged. This error is called
discretization error. Another source of error is associated to the use of the computer. No
matter which computer is used for implementing the numerical method and approximate
the solution of the PDEs, the machine-precision must be considered, for example when the
zero is expressed as 10×−15.
In this thesis we concentrate on numerical methods and we intent to minimize the
numerical error associated with the approximation of the solution of the PDEs. The PDEs
that we intent to approximate are first order hyperbolic partial differential equations in
one and two spatial dimensions. We construct high-order numerical methods in space and
time, where the order of accuracy of the approximation is theoretically arbitrary.
Because of the nature of hyperbolic PDEs, the goal is to obtain a numerical method
that combines high-order accuracy in smooth regions with a sharp non-oscillatory solution
near shocks. These methods are known as high-resolution schemes and was not until 1970s
when scientists succeeded in combining these two properties.
These modern numerical methods started with the famous work of Godunov [40] in 1959,
when he proposed the construction of numerical methods by solving the local Riemann
problem at the interface between two volumes. These methods are called Godunov-type
methods. At the same time, Godunov presented a very important theorem about mono-
tonicity of the solution: if the scheme is linear and monotone then is at most first-order
accurate. Monotonicity is a very desired property that prevents the generation of spurious
2
1. Introduction
oscillations in the vicinity of strong gradients.
Contemporary with Godunov’s work, Lax and Wendroff [55] proposed a second-order
Finite Difference (FD) scheme, producing sharp resolution of shocks but highly oscillatory.
Additional dissipative terms need to be introduced in order use this method. Improvements
of this scheme was presented in [109] and [72]. The one proposed by MacCormack [109]
was very efficient and extensively used in industrial applications. In hydraulic engineering
it is well known and widely used together with TVD (Total Variation Diminished) limits,
see for example the article of Garcia-Navarro and Alcrudo [32].
The strong first-order accurate limitation presented by Godunov’s theorem applies only
to linear schemes. The way to circumvent this is by constructing non-linear schemes. One
way of constructing non-linear schemes is by using piece-wise polynomial reconstruction of
the data subject to some constraints. Nevertheless, the reconstruction must be bounded
in order to reduce the oscillatory nature of the high order spatial representation. One of
the first works on reducing spurious oscillations is due to Kolgan [66] who proposed to
apply the principle of minimal values of derivatives, producing a non-oscillatory second-
order Godunov-type scheme. Another well-known approach was proposed by van Leer in
his series of articles [102; 103; 105; 106; 107] starting in 1973. The idea is to develop
high-order schemes using high-order reconstructions that control the derivatives of the
particular reconstructed polynomial considering the Total Variation Diminished (TVD)
property. For more details about TVD methods we refer the reader to Chapters 13 and 14
of the book of Toro [95].
Based on TVD reconstruction, the Monotone Upstream Scheme for Conservation Laws
(MUSCL) was proposed by van Leer in 1976 [104] which uses piece-wise linear interpolation
and achieves second-order accuracy for smooth flow. Following this idea different MUSCL
type schemes were proposed, for example the MUSCL-Hancock method in [107] and the
Piece-Wise Linear method (PLM) of Colella [21], amongst others.
The TVD approach introduced new improvements in constructing high-order schemes
and avoided the theoretical restriction presented by the Godunov theorem. Strictly the
TVD concept applies only to the scalar (linear and non-linear) equation without source
term in one-space dimension. However one can extend the TVD idea in an empirical
way to solve non-linear system in one and multiple space dimensions. But the order of
these schemes is restricted to at most two. The solution to this limitation arrived with
the introduction of Essentially Non-Oscillatory (ENO) schemes. ENO schemes reconstruct
multiple high-order polynomials over different stencils, from cell averages, selecting the
smoothest one. This selection is done by the oscillator indicator function. This form
of high-order reconstruction is only Total Variation Bounded (TVB) and generalizes to
3
1. Introduction
multidimensional problems. This approach was introduced in 1986 by Harten, Osher,
Engquist and Chakravarthy in [44]. Further contributions on ENO schemes were presented
by Harten and Osher in [47], Harten et al. in [45] and by Shu and Osher in [82], amongst
others.
A further extension from the Essentially Non-Oscillatory approach is called Weighted
Essentially Non-Oscillatory (WENO). In it, the reconstructed polynomial is obtained from
a convex combination of a number of reconstructed polynomials and non-linear weights
are computed from the oscillator indicator. This approach was presented by Osher and
Shu in 1988 [82] and seems to be the standard procedure up to day on high-order spatial
non-oscillatory reconstruction. Improvements and generalizations appear in [62], [8], [1],
[53], [49], [79], [86] and [28], amongst others.
With the contributions on non-oscillatory high-order reconstruction, the spatial accuracy
of the numerical methods for hyperbolic equations was theoretically arbitrary. Neverthe-
less, the global accuracy of the numerical method is governed by the lower order between
the spatial and the temporal accuracy. One way to increase the accuracy in time is the
Runge-Kutta time integration, however it needs some kind of limiting (in the sense of
limiter functions), for example a TVD constraint [80], imposing an accuracy barrier, fifth
order. In practice, fourth and fifth order methods are too complicated. The Runge-Kutta
(RK) time integration is widely use in Discontinuous-Galerkin (DG) methods, giving form
to the RKDG methods as presented by Cockburn and Shu in [18; 15; 19; 20]. See [17] for
a review on RKDG methods.
In resent years, a new approach has been proposed in order to match the temporal order
of accuracy with the spatial order of accuracy. This approach is called Arbitrary accuracy
DErivatives Riemann problem method (ADER). It was first proposed in 2001 by Toro et
al.[98] and is a generalization of the Generalised Riemann Problem (GRP) method of Ben-
Artzi and Falcovitz [5], which is only second order accurate. The ADER method allows
the construction of arbitrarily high-order accurate schemes in space and time. The key
ingredient of the ADER approach is the solution of a Derivative Riemann Problem (DRP).
This allows the approximation, with arbitrary order of accuracy, of the time and space
integrals involved in the construction of the numerical method. ADER numerical methods
can be implemented in the framework of Finite Volumes (FV) and Discontinuous Galerkin
Finite Element (DG) methods and in multidimensional non-linear problems. Extensions
and improvements have been proposed in [99], [87], [77], [85], [76], [100], [88], [54], [29],
[28], amongst others.
This presentation is concentrated mainly on developments of the ADER methods. We
propose new DRP solvers that can be applied on one dimensional and multidimensional
4
1. Introduction
unstructured meshes. Assessment of the DRP solvers are presented for the Euler equations
and the Baer-Nunziato equations. Implementation of the DRP solver in ADER schemes
on unstructured triangular grids are presented with space-time accuracy up to fifth order
for the Euler equations and the shallow water equations. We also present solutions of the
classical Riemann problem that are used in the construction of the DRP solvers. Classical
Riemann solvers are presented for the Euler equations, shallow water equations and the
Baer-Nunziato equations. In particular, for the Baer-Nunziato equations, two new solvers
are proposed and implemented in one dimension with a convergence test up to second
order.
All the methodology presented in this thesis can be used in constructing high-order Fi-
nite Volume and Discontinuous Galerkin FE numerical methods. All the tools developed
originally in the DG FE framework, such as basis functions and reference coordinate sys-
tem, are applied to the FV methods. We show both methods but concentrate on FV for
numerical results.
The rest of this thesis if organized as follows.
In Chapter 2 we present some elements of the mathematical theory that allows us to work
with first order hyperbolic partial differential equations. Balance laws, the characteristic
curves, the definition of hyperbolic systems, characteristic variables, solution of a linear
Riemann problem and characteristic fields are introduced.
In Chapter 3 we present the numerical methods studied in this thesis. We start with a
review about numerical methods for hyperbolic equations. Then, from the divergence form
of the hyperbolic balance laws, the Finite Volume and the Discontinuous Galerkin Finite
Element methods on triangular meshes are presented with a description of non-oscillatory
reconstructions. Finally, the one-dimensional Finite Volume method is introduced. In this
Chapter the space and time integrals that define the numerical flux between neighbours
volumes are defined.
In Chapter 4 we present the solution of the classical Riemann problem for three hyper-
bolic equations namely the Euler equations, the Baer-Nunziato equations and the shallow
water equations. For the Euler and the shallow water equations we present the solution of
the augmented one-dimensional problem, which is used in two-dimensional problems. For
the Baer-Nunziato equations the solution is presented for the one-dimensional problem.
For all three systems the solution of the non-linear Riemann problem is presented as well
as the solution of the linear one. Both solutions, linear and non-linear, are used in the
construction of DRP solvers.
In Chapter 5 we present three DRP solvers. We start with a description of the Derivative
Riemann Problem and a review of a well known method due to Toro & Titarev [99]. We
5
1. Introduction
continue with the presentation of two new DRP solvers, the first one is a reinterpretation
of ideas already proposed in the literature and called HEOC, for Harten, Engquist, Osher
and Chakravarthy [45], while the second one is a novel approach to the solution of the
DRP called CT for Castro & Toro [9].
In Chapter 6 we assess the proposed DRP solvers. We obtain a reference solution at
the interface between two piece-wise polynomial initial data. We confront this reference
solution with the approximation obtained for all three DRP solvers. We consider the Euler
and the Baer-Nunziato equations. We finish this chapter with a discussion about the
results.
In Chapter 7 we describe the ADER approach on triangular meshes. We show how
to evaluate with arbitrary high-order accuracy the space-time integrals involved in the
numerical methods studied in this thesis, as well the space-time integrals of the normal
numerical flux between two neighbouring volumes. Then we describe how each one of the
DRP solvers is implemented on unstructured triangular grids.
Finally in Chapter 8 we present results for the numerical methods presented in this
thesis. There are two-dimensional convergence tests on unstructured triangular meshes for
the Euler equation and the shallow water equations with source terms. Results of up to
fifth order of accuracy for both systems are given. For the Baer-Nunziato equations a one-
dimensional convergence test is shown. There are also numerical results that demonstrate
the applicability of this methods for more realistic problems.
Some results related to this thesis have been submitted for publication in international
journals and have been presented to international conferences:
1. C. E. Castro and E. F. Toro. Alternative solvers for the Derivative Riemann Problem
for hyperbolic balance laws. J. Comput. Phys. (submitted) .
2. C. E. Castro and E. F. Toro. New numerical approaches to multiphase flows mod-
elling. In Advancements in Energetic Materials and Chemical Propulsion, edited by
Kenneth K. Kuo and Juan de Dios Rivera, 6-ISICP, Begell House, Inc. of Redding,
Connecticut 2007, ISBN: 978-1-56700-239-3.
3. C. E. Castro and E. F. Toro. Godunov schemes for compressible multiphase flows.
European Conference on Computational Fluid Dynamics, ECCOMAS CFD, Egmond
aan Zee, The Netherlands, 2006, 5-8 September, 2006 (submitted) .
4. C. E. Castro and E. F. Toro. ADER DG and FV schemes for shallow water flows. In
proceeding The 14th European Conference on Mathematics for Industry , ECMI2006
Madrid Spain, 10-14 July, 2006.
6
1. Introduction
5. E. F. Toro and C. E. Castro. The derivative Riemann problem for the Baer-Nunziato
equations. In proceeding Eleventh International Conference on Hyperbolic Problems,
HYP2006 Lyon France, 17-21 July, 2006 .
6. C. E. Castro and E. F. Toro. High order numerical methods for the non-linear
shallow water equations. Eleventh International Conference on Hyperbolic Problems,
HYP2006 Lyon France, 17-21 July, 2006 .
7. E. F. Toro, M. Käser, M. Dumbser and C. E. Castro. ADER Shock-Capturing Meth-
ods and Geophysical Applications. In proceeding The 25th International Symposium
on Shock Waves, ISSW25 Bangalore India, 17-22 July, 2005 .
Another scientific contribution generated by the author but is not part of this thesis is
published in:
1. C. E. Castro and E. F. Toro. A Riemann solver and upwind methods for a two-
phase flow model in non-conservative form. Int. J. Numer. Meth. Fluids. 2006;
50:275-307.
7
1. Introduction
8
2 Hyperbolic systems of balance laws
In this thesis we deal with the construction of high order numerical methods for hyperbolic
balance laws. We intent to solve numerically, first order partial differential equations
of hyperbolic type. In this chapter we present basic notions about this kind of partial
differential equations (PDEs).
2.1 The balance laws
We start with a system of first-order partial differential equations of the form
∂qi
∂t+
p∑
j=1
aij(x, t, q1, . . . , qp)∂qj
∂x= si(x, t, q1, . . . , qp), (2.1)
for i = 1, . . . , p. This system of p equations has p unknowns qi that depend on space x and
time t. This system can be expressed in vectorial form as
∂tQ + A∂xQ = S, (2.2)
with
Q =
q1
...
qp
, A =
a11 · · · a1p
a21 · · · a2p
......
...
ap1 · · · app
, S =
s1
...
sp
. (2.3)
System (2.1) is said to be linear with constant coefficients if all coefficients aij and si
are constant. If aij = aij(x, t) and si = si(x, t) the system (2.1) is linear with variable
coefficients. The system (2.1) is still linear if si depends linearly on the vector of unknowns
Q. System (2.1) is called quasi-linear if the coefficients aij depend on the unknowns Q,
writing A = A(Q). Note that quasi-linear means that in general (2.1) is a non-linear
system. When p = 1 we said (2.1) is scalar. Scalar examples are the linear advection-
9
2. Hyperbolic systems of balance laws
reaction equation
∂q
∂t+ a
∂q
∂x= s, (2.4)
and the inviscid Burgers equation
∂q
∂t+ q
∂q
∂x= 0. (2.5)
In the first one, a11 = a is a constant wave propagation speed, while in the second one,
a11 = a(q) = q is variable and depends on the unknown q. An example when p = 2 is the
one dimensional shallow water equations, for p = 3 we have the Euler equations.
System (2.1) is written in differential, non-conservative form. Most systems of interest
can be written in conservative form with source terms
∂tQ + ∂xF(Q) = S(Q) . (2.6)
We said that the system is a balance law. In the absence of source term, system (2.1) is
said to be a homogeneous conservation law if can be written in the following form
∂tQ + ∂xF(Q) = 0, (2.7)
where Q is the vector of conservative variables, F(Q) is the vector of fluxes, which depends
on the components of Q. Expanding the space derivative of the vector F(Q), we can write
the Jacobian matrix A(Q) = ∂F(Q)/∂Q where each component depend on the vector Q
as follow
∂tQ + A(Q) ∂xQ = 0, (2.8)
System (2.8) can also be expressed in terms of the physical or non-conservative variables,
defining the vector W. In this case we can write
∂tW + B(W) ∂xW = 0. (2.9)
In general matrix A(Q) 6= B(W). For studying hyperbolicity and characteristic fields
both forms, (2.8) and (2.9), of the equation can be used, see page 42 of [39] for example.
10
2. Hyperbolic systems of balance laws
2.2 Characteristic curves
Now, we introduce the concept of characteristic curves using the simplest hyperbolic equa-
tion. Considering an initial value problem (IVP) for the scalar linear advection equation
we have
PDE: qt + a qx = 0, x ∈ [xL, xR], t > 0.
IC: q(x, 0) = q0(x),
(2.10)
with IC the initial condition.
Considering curves x = x(t) and writing the total derivative of q = q(x(t), t) respect to
the time we have
dq
dt=
∂q
∂t+
∂q
∂x
dx
dt. (2.11)
Equation (2.11) is the rate of change of q along the curve x = x(t). In particular, if
dq/dt = 0, q is constant along x = x(t). Moreover, if x = x(t) satisfies dx/dt = a then we
can write
dq
dt=
∂q
∂t+ a
∂q
∂x= 0. (2.12)
In (2.12) x = x(t) is called a characteristic curve and a the characteristic velocity.
Defining the initial condition q(x, 0) = q0(x), the solution of (2.10) at (x, t), which is
connected to (x0, 0) through a characteristic line x = x0 + at, is
q(x, t) = q0(x0) = q0(x − at) . (2.13)
In other words, given an initial profile q0(x), it will travels at constant speed a unchanged,
following the characteristic lines. For positive characteristic velocity a > 0, the left bound-
ary x = xL is defined as an inflow boundary, where the solution is given by the value of
q(xL, t). For the right boundary x = xR the information travels out, therefore the solution
depends only on the data inside the domain. These properties of hyperbolic equations set
the basis for constructing numerical methods; wave propagation velocities are finite and
the solution depends on the domain of dependence, see [95], [39] for more details. See Fig.
2.1 where the family of curves for the linear advection equation is depicted.
11
2. Hyperbolic systems of balance laws
xL
t
xxR0
0x0
q(xL,t)
q(xR,t)1
a
x=x0+at
Figure 2.1: Family of curves for the linear advection equation on the x − t plane for acharacteristic velocity a > 0. The initial condition at t = 0 and the boundaryconditions at x = xL (inflow) define the solution. At x = xR the solutiondepends on the initial conditions following characteristic lines. a is the slopeof the characteristic curves.
2.3 The Riemann problem
When the initial condition of the IVP is discontinuous across x = 0 we said it is a Riemann
problem. When the initial conditions are constant we called classical Riemann problem. In
Chapter 4 we present the solution for the classical Riemann problem for three hyperbolic
equations. When the initial conditions are piece-wise polynomial we called Derivative
Riemann Problem (DRP) and the solution is presented in Chapter 5.
The classical Riemann problem for the linear advection equation is defined as follows,
PDE: qt + a qx = 0, x ∈ (−∞,∞), t > 0.
IC: q(x, 0) = q0(x) =
qL if x < 0 ,
qR if x > 0 ,
(2.14)
The solution of (2.14) is a special case of (2.13). Tracing the characteristic line x = at
from x = 0 we can solve (2.14). The solution is
q(x, t) = q0(x − at) =
qL if xt < a ,
qR if xt > a .
(2.15)
In Fig. 2.2 is shown the classical Riemann problem for the linear advection equation
and the characteristic line x = at form x = 0. Fig. 2.2(a) depicts the initial conditions at
12
2. Hyperbolic systems of balance laws
t = 0. Fig. 2.2(b) depicts the structure of the solution with the characteristic line x = at
which divide the half plane x − t. The solution of (2.14) is q(x, t) = qL if x/t < a and
q(x, t) = qR if x/t > a.
xx=0
q(x,0)
qL
qR
(a)
xx=0
t
qL
qR
<a
>a
x=atxt
xt
(b)
Figure 2.2: The classical Riemann problem for the linear advection equation. (a): Initialcondition at t = 0. (b): Structure of the solution on the x − t plane.
2.4 Hyperbolicity
In order to study hyperbolicity for a system we consider the following quasi-linear system
∂tQ + A(Q)∂xQ = 0 . (2.16)
System (2.16) is said to be hyperbolic if A(Q) has p real eigenvalues λ1, . . . , λp and p
linearly independent corresponding right eigenvectors r1, . . . , rp. System (2.16) is strictly
hyperbolic if the eigenvalues are all distinct. The scalar equations (2.4) and (2.5) are
trivially hyperbolic. The right eigenvectors satisfy
Ark = λkrk, 1 ≤ k ≤ p. (2.17)
The left eigenvectors satisfy
lkA = λklk, 1 ≤ k ≤ p. (2.18)
Assuming that the system (2.16) is hyperbolic, the set rk forms a basis. Note that
left and right eigenvectors are orthogonal and one can normalize them to have
ljrk =
1 if j = k ,
0 otherwise .(2.19)
13
2. Hyperbolic systems of balance laws
The matrix A is said to be diagonalisable if can be expressed as A = RΛR−1, where Λ
is a diagonal matrix. The diagonal elements of Λ are the eigenvalues λk of A and R is a
matrix formed by the right eigenvectors rk. Hyperbolic systems sometimes are defined as
systems with real eigenvalues and diagonalizable matrix. It can be shown that the inverse
matrix R−1 is equivalent to the matrix L, where the rows of L are the left eigenvectors of
A.
2.5 Characteristic variables
Now we can define characteristic variables C = [c1, . . . , cp]T via the transformation
C = R−1Q = LQ. (2.20)
At this stage we assume (2.16) to be linear with constant coefficient matrix A. We can
multiply the system (2.16) from the left by L and introduce the identity matrix I = RL
in order to obtain
L∂tQ + LA RL ∂xQ = 0,
∂t (LQ) + LAR ∂x (LQ) = 0.(2.21)
The new vector C = LQ is the characteristic variable vector, the matrix Λ = LAR is
a diagonal matrix with diagonal elements λi, . . . , λp. The new form of the system (2.16) is
written as follow
∂tC + Λ ∂xC = 0. (2.22)
System (2.22) is the characteristic or canonical form of system (2.16) and consists of p
uncoupled scalar hyperbolic PDEs as follows
∂t ci + λi ∂x ci = 0, for i = 1, . . . , p . (2.23)
We can set a Riemann problem for each equation
PDE: ∂tci + λi ∂xci = 0, x ∈ (−∞,∞), t > 0.
IC: ci(x, 0) = c0i(x) =
ciL if x < 0 ,
ciR if x > 0 ,
(2.24)
14
2. Hyperbolic systems of balance laws
with solution as (2.15)
ci(x, t) = c0i(x − λit) =
ciL if x − λit < 0 ,
ciR if x − λit > 0 ,(2.25)
Now we see that the solution in terms of the original variables is Q = RC, see (2.20).
In other words, Q is a linear combination of the eigenvectors with coefficients given by the
characteristic variables. The solution Q(x, t) = RC(x, t) results from the combination of
the p characteristic waves.
Q(x, t) =
p∑
i=1
rici(x, t) =
p∑
i=1
ric0i(x − λit) (2.26)
2.6 The linear Riemann problem
The Riemann problem for a p × p linear system reads,
PDE: Qt + AQx = 0, x ∈ (−∞,∞), t > 0.
IC: Q(x, 0) = Q0(x) =
QL if x < 0 ,
QR if x > 0 ,
(2.27)
and we obtain the solution at (x, t). Assuming that the system in (2.27) is strictly hyper-
bolic we have the ordered eigenvalues λ1 < λ2 < . . . < λp and corresponding eigenvectors
R =[
r1, . . . rp]
. All p waves are represented in Fig. 2.3. Each wave i carries a disconti-
nuity which travels with velocity λi. To the left of the wave 1 the solution is the constant
initial data QL, while to the right of the wave p the solution is the constant initial data
QR.
xx=0
t
QL QR
λ1 λp
λp-1λ2
λi
Figure 2.3: Wave pattern generated from the Riemann problem for a linear system of pcomponents.
Because the eigenvectors are a base we can represent the initial condition as a linear
15
2. Hyperbolic systems of balance laws
combination of ri as follows
QL =
p∑
i=1
αiri , QR =
p∑
i=1
βiri . (2.28)
The Riemann problem (2.27) can be solved in terms of the initial conditions for the
characteristic variables, see (2.26). Comparing (2.28) with (2.26) we find
c0i(x) =
αi if x < 0 ,
βi if x > 0 ,(2.29)
for i = 1, .., p. Because left and right eigenvectors are orthogonal we can write the following
relation
CL = R−1QL =
α1
...
αp
, CR = R−1QR =
β1
...
βp
. (2.30)
From (2.26), the solution of (2.27) is found in terms of the initial condition of the
characteristic variables,
Q(x, t) =
p∑
i=1
ric0i(x − λit), (2.31)
with
c0i(x − λit) =
αi if x − λit < 0 ,
βi if x − λit > 0 .(2.32)
It is clear that the solution Q(x, t) depends on the initial condition. Which is more
interesting is that the solution depends on the ratio x/t. The initial conditions (2.32)
change as x/t is faster or slower than the characteristic speed λi. This condition is known
as the self-similarity property of the solution of the Riemann problem.
We can express the solution (2.31) in terms of the coefficients αi and βi. For a particular
point (x, t) there is an eigenvalue λI such that λI < x/t < λI+1. The solution (2.31)
considers the influence of the characteristic variables c0i = βi ∀ i ≤ I and c0i = αi ∀ i > I.
The final expression is as follows
Q(x, t) =I
∑
i=1
riβi +
p∑
i=I+1
riαi . (2.33)
If we define the jump from the right to the left state ∆ = QR − QL, we can write the
16
2. Hyperbolic systems of balance laws
expansion
∆ =
p∑
i=1
δiri , (2.34)
with δi = βi − αi. Numerically, we are interested in obtaining the solution at (0, t), along
the t-axis. It can be easily shown that
Q(0, t) = QL +∑
λi≤ 0
δiri or Q(0, t) = QR −
∑
λi> 0
δiri . (2.35)
In this way, only one linear system (2.34) needs to be solved for the wave strengths δi.
2.7 Characteristic fields for non-linear systems
When we deal with hyperbolic non-linear PDE systems we should study the characteristic
fields. The non-linear character of the equations generates different types of waves depend-
ing on the initial conditions. Knowing the properties of each field or wave, in some cases we
can solve exactly the Riemann problem, in others, we can obtain a good approximation for
numerical purposes, in all cases it is a fundamental information to understand the nature
of the system. The reader is refers to [52], [39], [95] for details.
Writing the quasi-linear form in non-conservative variables we present the basic ideas
concerning the characteristic fields as follow
∂tW + B(W)∂xW = 0, x ∈ R, t > 0 (2.36)
We assume system (2.36) is strictly hyperbolic therefore we have the ordered eigenvalues
λ1(W) < λ2(W) < . . . < λp(W). For each eigenvalue a corresponding right eigenvector
is obtained R =[
r1(W), . . . rp(W)]
. For each pair(
λi(W), ri(W))
, for i = 1, . . . , p, an
associated characteristic field exist.
The ith characteristic field is said to be linearly degenerated if
∇λi(W) · ri(W) = 0, ∀ W ∈ Rp. (2.37)
The ith characteristic field is said to be genuinely non-linear if
∇λi(W) · ri(W) 6= 0, ∀ W ∈ Rp. (2.38)
Is easy to see that linear systems generates only linearly degenerated fields. This type
of waves generates the so called contact discontinuities. In the presence of genuinely non-
17
2. Hyperbolic systems of balance laws
linear fields the waves generated can be one of the following two types: rarefaction waves
or shock waves.
x
tQL
QR
λi(QL)
λi(QR)
(a)
x
t
QL
QR
Si
λi(QL)
λi(QR)
(b)
x
tQL
QR
λi(QL)
λi(QR)
Si
(c)
Figure 2.4: Elementary wave configuration of the i-th characteristic field. (a): Rarefactionwave. (b): Shock wave. (c): Contact discontinuity wave.
Depending on the type of the characteristic field, different expressions can be used to
connect the data on the left and on the right when solving the Riemann problem. We
suppose that the i-th wave has data QL = Q(WL) and QR = Q(WR) immediately to the
left and to the right respectively of the associated field λi. In Fig. 2.4 the characteristic
lines of the i-th field, evaluated on the data QL and QR, (a) diverge for a rarefaction, (b)
converge for a shock and (c) travel parallel for a contact discontinuity.
2.7.1 Rarefaction waves
Rarefaction waves are smooth continuous functions that connect two states without dis-
continuities. They are also called expansive waves. We can connect both states using
the Generalized Riemann Invariants(GRIs) obtaining p− 1 ordinary differential equations
(ODEs).
The Generalized Riemann Invariants applied to the i-th characteristic field is written as
follows
dw1
ri1
=dw2
ri2
= · · · =dwp
rip
. (2.39)
Taking a pair of these ODEs, we integrated them across the rarefaction wave, from QL
to QR, obtaining a Riemann Invariant, which is constant inside the wave. This constant
value can be evaluated on the initial data QL or QR.
dwk
rik
=dwl
ril
, 1 ≤ k, l ≤ p. (2.40)
18
2. Hyperbolic systems of balance laws
ril dwk − ri
k dwl = 0 ,∫
ril dwk −
∫
rik dwl = const.
(2.41)
In general it is not possible to evaluate the integrals (2.41) explicitly, as for example
the Euler equations with general equation of state (EOS). Another property of rarefaction
waves is that the entropy is preserved, in other words, the entropy is a Riemann Invariant.
This is algebraically obtained by writing the system (2.36) considering the entropy in the
physical variables and applying the Generalized Riemann Invariants.
In this type of fields the divergence of characteristic relation is verified, see Fig. 2.4(a),
this is
λi(QL) < λi(QR). (2.42)
2.7.2 Shock waves
Shock waves connect the two states through a single discontinuous jump. We can connect
the two states using the Rankine-Hugoniot Condition. Mathematically it is possible to
find more than one solution that connect both states and obey the Rankine-Hugoniot
Conditions. In these cases it is necessary to use physical considerations such as the entropy
condition.
Considering a system of hyperbolic conservation laws
∂tQ + ∂xF(Q) = 0, (2.43)
we assume that has a discontinuous wave solution of speed Si associated to the field λi.
The Rankine-Hugoniot Conditions are expressed as
∆F(Q) = Si∆Q, (2.44)
with
∆F(Q) = F(QR) − F(QL) and ∆Q = QR − QL , (2.45)
where QL and QR are the vectors immediately to the left and to the right of the disconti-
nuity, see Fig. 2.4(b). In general, for non-linear systems, the solution of Si is not direct and
must be found iteratively. The typical question is which values of the vector QL connect
through a shock wave with speed Si the data QR.
The entropy condition enforces that the velocity Si must be contained between the
19
2. Hyperbolic systems of balance laws
characteristic wave velocity λi(QL) and λi(QR).
λi(QL) < Si < λi(QR). (2.46)
2.7.3 Contact discontinuity wave
Contact discontinuity waves propagate a single jump discontinuity of velocity Si, see Fig.
2.4(c). Across this field we can apply Rankine-Hugoniot Conditions, Generalized Riemann
Invariants and the parallel characteristic condition which is
λi(QL) = λi(QR) = Si. (2.47)
In general, for a non-linear hyperbolic PDE, we can study the eigenstructure and the
characteristic fields of the system. Applying the Generalized Riemann Invariants and the
Rankine-Hugoniot Conditions, the classical Riemann problem for the PDE system can be
reduced to an algebraic non-linear system. This can be solved using an iterative procedure,
see Sec. 4 in [95] for the Euler equations with ideal equation of state or Sec. 5 in [93] for
the shallow water equations. In Fig. 2.5 we present the general wave structure for a 3 × 3
hyperbolic system. The general nomenclature considers a fan structure for the rarefaction
wave, a segmented line for the contact discontinuity and a solid line for the shock wave.
xx=0
t
QL QR
Figure 2.5: Wave structure for a 3 × 3 hyperbolic system. Solution of the Riemann prob-lem. We assume a left rarefaction, a central contact an a right shock wave.
In this chapter we introduced the basic notions about hyperbolic equations. We saw
the characteristic curves, the Riemann problem, hyperbolicity, the characteristic variables,
the solution of the linear Riemann problem and the characteristic fields. All this elements
are used in the construction of numerical methods for hyperbolic equations studied in this
thesis. In Chapter 4 we use this to obtain the solution of non-linear classical Riemann
problems.
20
3 Numerical methods for hyperbolic
equations
3.1 Review of numerical methods for hyperbolic equations
A simple way of solving a PDEs is by direct approximation of the differential operator
involved in the equation. The approximation process consist on the discretization and
it transforms the differential operator in a difference operator. This approach is used in
Finite Difference (FD) methods. The approximation is performed by truncating a Taylor
series expansion. The differential operator can be approximated by different orders and
using central, backward or forward representation.
Consider a continuous function of (x, t), namely q(x, t), with all derivative defined at
(x, t). The value of q at the point (x + ∆x, t) can be approximate by a Taylor series
expansion around (x, t), that is
q(x + ∆x, t) = q(x, t) + ∆x∂q(x, t)
∂x+ · · · + (∆x)n
n!
∂nq(x, t)
∂xn+ · · · . (3.1)
Neglecting second and high order derivatives we obtain a first order approximation of
the differential operator ∂xq(x, t) as follows,
∂q(x, t)
∂x≈ q(x + ∆x, t) − q(x, t)
∆x. (3.2)
Equation (3.2) is a forward first order representation of the derivative ∂xq(x, t). Following
the same idea we can construct, combining different Taylor expansions, central or backward
difference operators.
In a similar manner as we discretize the differential operator, we can discretize the
physical domain where we intent to solve our PDEs. This consists on subdividing the full
computational domain in small elements, volumes or points depending the methodology.
The FD numerical methods apply the difference operators over the discrete points. In
Fig. 3.1 we have the discrete domain at space positions xi−1, xi, xi+1 and time position
tn and tn+1. Applying to the homogeneous equation (2.4) a FD scheme central in space
21
3. Numerical methods for hyperbolic equations
t
xxi xi+1xi-1
tn
tn+1
xi-1 n xi
n xi+1 n
xi n+1
Figure 3.1: Discrete domain for a Finite Difference numerical method.
and forward in time, we obtain the following explicit numerical method,
q(xi, tn+1) − q(xi, t
n)
∆t+ a
q(xi−1, tn) − q(xi+1, t
n)
∆t= 0 . (3.3)
Besides FD is a very simple method, it presents some limitations. One is the assumption
of continua and differentiable solutions, which is not valid specially near discontinuities as
shock waves. The second drawback is that it needs structured grids which is unrealistic
over complex geometries.
Another well known method used to solve hyperbolic PDEs is the Finite Volume (FV). In
this method, an average of the partial differential equations is obtained by integrating them
inside the control volume. In this process surface integral along the edges of the volume
are obtained, defining what is call the numerical flux. Because the flux leaving one volume
is the same coming into the adjacent volume, FV are naturally conservative numerical
methods. FV methods evolve cell averages data for each volume. The solution of the
Riemann problem is introduced in the calculation of the numerical flux, and discontinuous
solutions are admitted.
The next and very interesting method used for solving hyperbolic PDEs is the Finite
Element Discontinuous Galerkin (DG) method. This type of methods use all the knowledge
developed in the Finite Element community but aloud the numerical solution between two
neighbours cells to by discontinuous. Again, integration of the PDE is performed over
finite elements. In this case, the numerical method considers a high order polynomial
representation of the data.
This method was introduced originally in 1973 by Reed and Hill [69] and applied to
the scalar linear hyperbolic equation. The first mathematical analysis was presented by
22
3. Numerical methods for hyperbolic equations
LeSaint and Raviart [59] in 1974 recognizing the good properties of the method. The
first application for non-linear conservations law is due to Chavent and Salzano [13] in
1982 where time discretization was implicit. The first explicit Runge Kutta Discontinuous
Galerkin (RKDG) method was introduced by Cockburn and Shu in [19]. Extensions to
multi dimensional scalar cases was done in 1990 by Cockburn et al. [15] where new slope
limiter where proposed. Further developments were presented in 1990 by Cockburn et al.
[20]. An adaptive order of accuracy for RKDG version was presented in 1996 by Devine et
al. in [24]. For a historical review of Finite Element Discontinuous Galerkin method and
technical developments we suggest to see [16] and [17].
A new kind of DG methods was presented by Dumbser [27] in 2005. The ADER approach
was satisfactorily introduced in the DG framework, creating the ADER-DG type methods.
Another numerical method which presents very interesting properties is the Random
Choice method (RCM). It was introduced by Glimm [36] in 1965 and used to construct
a proof of existence of solutions for non-linear systems of hyperbolic conservation laws.
Chorin [14] in 1976 successfully implemented a modified version of RCM to solve the
Euler equations. This method needs the exact Riemann solver to solve the interaction
between two adjacent volumes. It selects randomly one state from the wave pattern and
defines it as the solution at the new time level. Probably is the only method that solves
exactly all discontinuities from the first time step. The limitations are three: the stability
condition is half of the Finite Volume method; it is only first order accurate; extensions to
multidimensional problems are not possible.
There are other kind of methods in which the approach is different, they do not use
a grid or mesh. They are called mesh free or mesh less methods. In this approach the
fluid elements are free to move inside the computational domain based on the fluid particle
velocity.
An example is the Front Tracking method, also called the method of Dafermos [23].
It consists on identify discontinuities in the initial data, place Riemann problems with
piece-wise constant data and solve them exactly or approximately. At this point each wave
generated from the locals Riemann problems is tracked until two of them collide. This
condition defines a new time level where a piece-wise constant Riemann problems are set
and the process starts again. One drawback is the treatment of rarefaction waves that
needs to be dicretized in several piece-wise constant states. Another potential limitation
is that the number of front waves may blow up in finite time for general systems. To
minimize this, one may reduce the weak waves. Mono and multidimensional applications
can be found in [43], [37], [38]. See the book of Holden [48] for a complete review of the
method.
23
3. Numerical methods for hyperbolic equations
Other mesh-less method is the Smoothed Particle Hydrodynamics (SPH). It was orig-
inally proposed for astrophysics simulations in [34] and [63]. It was used in many fields
of research including astrophysics, ballistics, vulcanology and tsunami. It considers La-
grangian coordinates to follow the fluid elements. Each fluid element has an interaction
radio defined by h where the properties of the fluid are represented by the kernel function.
Typical kernel functions are the Gaussian functions or cubic spline. One drawback of the
method is that it tends to smear out shock or contact discontinuities waves much more
than standard mesh-based methods. For a modern review of this method see [61].
In this chapter we introduce the general methodology involved in constructing numer-
ical methods for systems of hyperbolic equations. We are concerned with arbitrary high
order explicit one-step numerical methods on non-structured grids. Two approaches are
considered: Finite Volumes (FV) and Discontinuous Galerkin Finite Elements (DG) meth-
ods, where the first one can be seen as a particular case of the second. The extension
to arbitrary high order accuracy in space and time is achieved by the use of the ADER
approach (Arbitrary accuracy DEerivatives Riemann problem method) where an arbitrary
accurate intercell flux function is constructed. This intercell flux is obtained by solving a
Derivative Riemann Problem (DRP) in which the initial condition consists of two arbitrary
but smooth vector fields.
In what follows in this chapter we describe the methodology applied to a general two-
dimensional hyperbolic balance law:
∂
∂tQ +
∂
∂xF(Q) +
∂
∂yG(Q) = S(Q), (3.4)
with
Q =
q1
...
qp
, F(Q) =
f1(Q)...
fp(Q)
, G(Q) =
g1(Q)...
gp(Q)
, S(Q) =
s1(Q)...
sp(Q)
, (3.5)
where Q is the unknown vector of conservative variables, F(Q) and G(Q) are the fluxes
in x and y directions respectively and S(Q) is a source term, which does not involve
derivatives of the unknown vector Q. System (3.4) can be written in quasi-linear form
using the Jacobian matrices A(Q) = ∂F(Q)/∂Q and B(Q) = ∂G(Q)/∂Q as
∂
∂tQ + A(Q)
∂
∂xQ + B(Q)
∂
∂yQ = S(Q). (3.6)
24
3. Numerical methods for hyperbolic equations
For the moment we assume that system (3.6) is hyperbolic in the sense that the eigen-
values of the matrix C(Q) = nx · A(Q) + ny · B(Q) formed by a linear combination of
matrices A(Q) and B(Q) are real for any vector n = [nx, ny] non identically zero.
We should say that for particular hyperbolic systems one can write the equations in
conservative form, in a mathematical sense, even if the unknowns are not the conservative
variables in the physical sense. This issue must be considered with care in the presence
of shock waves. For an example see section 3.9 of [93]. Further details about hyperbolic
equations can be found in [52], [39], [95], [60].
The numerical method is constructed in a computational domain obtained by a conform-
ing triangulation of the physical domain Ω ∈ R2. The spatial control volume considered
is a triangular element Tm ∈ Ω. In what follows we use the divergence form of equation
(3.4):
∂tQ + ∇ · H(Q) = S(Q) , (3.7)
where ∇ = [∂x, ∂y] and H(Q) = [F(Q),G(Q)].
3.2 Finite volume schemes on triangular meshes
In this section we derive the finite volume numerical scheme integrating (3.7) in the control
volume Tm × [tn, tn+1], being tn = n∆t the current time, as follow,
tn+1∫
tn
∫
Tm
(∂tQ(x, t) + ∇ · H(Q(x, t)) − S(Q(x, t))) dx dt = 0. (3.8)
Using the divergence theorem, in which we replace the volume integral of ∇·H(Q(x, t))
by a surface integral, we obtain
tn+1∫
tn
∫
Tm
∂tQ(x, t) dx dt = −tn+1∫
tn
∫
∂Tm
H(Q(x, t)) · n dx dt +
tn+1∫
tn
∫
Tm
S(Q(x, t)) dx dt
(3.9)
Now we introduce the cell average representation of the data, characteristic of the finite
volume numerical method. The cell average of the vector Q(x, t) in the cell Tm at a fixed
time t = tn is defined as
Qnm ≡ 1
|Tm|
∫
Tm
Q(x, tn) dx, (3.10)
25
3. Numerical methods for hyperbolic equations
where |Tm| is the volume (area in two space dimensions) of the cell Tm. Integrating in time
the left hand side of 3.9 and introducing 3.10 we obtain
Qn+1m = Qn
m − 1
|Tm|
tn+1∫
tn
∫
∂Tm
H(Q(x, t)) · n dx dt −tn+1∫
tn
∫
Tm
S(Q(x, t)) dx dt
(3.11)
Equation 3.11 says that the cell average value at time t = (n + 1)∆t is equal to the cell
average at time t = n∆t plus the normal fluxes trough the edges of the volume within
the time interval [tn, tn+1] and the generation inside the control volume represented by the
source.
There is no simplification up to this point and equation (3.11) is exact. In practice, we
do not know exactly the functions H(Q(x, t)) and S(Q(x, t)) and their respective integrals
and therefore approximations must be introduced. If we assume the vector Q(x, t) to
be piece-wise constant inside the element Tm and the integrals are approximate using a
first-order accurate quadrature rule we obtain the classical Godunov method.
In this thesis we are concerned with high order evaluation of these integrals where ADER
approach plays a crucial role, see Chapter 7.
3.3 Discontinuous Galerkin schemes
Discontinuous Galerkin Finite Element numerical methods are constructed by considering
that the vector function Q(x, t) is approximated numerically by the vector Qh(x, t). The
approximate solution Qh(x, t) is sought in the finite element space of discontinuous func-
tions Vh. For simplicity we will go through the details considering only one component
q(x, t) of the unknown vector Q(x, t), approximated by qh(x, t).
q(x, t) ≈ qh(x, t) ≡N−1∑
l=0
ql(t)φl(x) (3.12)
The approximate solution qh(x, t) ∈ Vh is a linear combination of spatial polynomial
basis functions φl(x) ∈ Vh and temporal scalar degrees of freedom ql(t) ∈ R, being N the
number of degrees of freedom and basis functions. We consider orthogonal basis functions
φl(x) = φl(x(ξ, η)) constructed in the reference space coordinate system ξ − η over the
unit triangle TE defined by 0 ≤ ξ ≤ 1, 0 ≤ η ≤ 1 − ξ.
In contrast to the Finite Volume scheme, where cell averages are evolved, the Discontin-
uous Galerkin scheme evolves the degrees of freedom ql(t), in other words, it evolves the
26
3. Numerical methods for hyperbolic equations
complete polynomial qh(x, t).
Consider the j component of (3.7) with j = 1 . . . p. Multiplying by the basis function
φk and integrating in space over the control volume Tm we obtain
∫
Tm
(∂tq φk + ∇ · h(q) φk − s(q) φk) dx = 0, (3.13)
where we omit the space and time dependences for simplicity. In (3.13), the j component
of ∇ ·H(Q) and S(Q) are defined as h(q) = [fj(Q), gj(Q)] and s(q) = sj(Q) respectively.
Using the chain rule ∇ · (φkh(q)) = φk∇ · h(q) + ∇φk · h(q) and Gauss’s divergence
theorem we obtain
∫
Tm
∂tq φk dx +
∫
∂Tm
φk h(q) · n dx −∫
Tm
∇φk · h(q) dx =
∫
Tm
φk s(q) dx . (3.14)
Introducing (3.12) into (3.14) we project the continuous function q(x, t) to the finite
element space Vh, and considering the orthogonality of the basis functions, we obtain
∂tqk
∫
Tm
φkφk dx +
∫
∂Tm
φk h(q) · n dx −∫
Tm
∇φk · h(q) dx =
∫
Tm
φk s(q) dx . (3.15)
Integrating (3.15) in time, within time interval [tn, tn+1], and arranging the terms the
following equation is obtained.
qn+1k = qn
k − 1
|J |mk
tn+1∫
tn
∫
∂Tm
φk h(q) · n dx dt
−tn+1∫
tn
∫
Tm
∇φk · h(q) dx dt −tn+1∫
tn
∫
Tm
φk s(q) dx dt
.
(3.16)
In (3.16) we made use of the orthogonality property of the basis functions, introducing
mk and |J |.Regarding that we approximate the integrals in (3.16), it gives an explicit one step
evolution equation for the degree of freedom qk from time level t = tn to time level t = tn+1.
Applying (3.16) to each degree of freedom k = 0, . . . , N − 1 and to each component of Q,
the approximate solution Qn+1m is obtained.
The arguments of these integrals are space and time dependent functions of the vector
Q in (3.4). These functions will be constructed using the ADER approach presented in
27
3. Numerical methods for hyperbolic equations
Chapter 7.
Depending on the order of the approximation qh in (3.12), the integrals in (3.16) will be
computed by a suitable numerical quadrature. The particular case where only one basis
function φ0 = 1 is used, the second integral on the right hand side of (3.16) vanish, and
the Finite Volume scheme is recovered, see (3.11).
The basis functions considered here are obtained from the Jacobi polynomial. Defining
the order of the numerical method as o we have N basis function, with
N =1
2(o + 1)o , (3.17)
and polynomial of degree less or equal to o − 1. A desirable property of these functions
is orthogonality. Furthermore, because they are constructed in the reference coordinate
system ξ − η some integrals may be computed exactly, in advance.
In Fig. 3.2 we have the triangular element Tm defined by the vertexes x1, x2 and x3.
The element Tm exist in the physical domain represented with the Cartesian coordinate
system x− y. It can be mapped to the reference triangle TE in the local reference domain
defined with the Cartesian coordinate system ξ − η.
x
y
ξ
η
T m
T E
01
1
x1
x2
x3
Figure 3.2: The triangular element Tm is defined in the physical domain using the Cartesiancoordinate system x − y. The associated canonical triangular element TE isdefined in the local reference domain with the Cartesian coordinate systemξ − η.
The base function φk(ξ, η) is defined inside the canonical triangle TE
φk (ξ, η) ∈ TE ∀
0 ≤ ξ ≤ 1 ,
0 ≤ η ≤ 1 − ξ .(3.18)
28
3. Numerical methods for hyperbolic equations
The mapping function to transform coordinates is
x(ξ, η) = x1 + (x2 − x1)ξ + (x3 − x1)η ,
y(ξ, η) = y1 + (y2 − y1)ξ + (y3 − y1)η ,(3.19)
and its inverse is
ξ(x, y) =1
|J | ((x3y1 − x1y3) + x(y3 − y1) + y(x1 − x3)) ,
η(x, y) =1
|J | ((x1y2 − x2y1) + x(y1 − y2) + y(x2 − x1)) ,(3.20)
where |J | is the determinant of the Jacobian matrix J = ∂(x, y)/∂(ξ, η) and twice of the
are of triangle Tm.
Matrix J and other useful relations are
J =
[
xξ xη
yξ yη
]
, J−1 =
[
ξx ξy
ηx ηy
]
, dxdy = |J | dξdη , (3.21)
|J | = (x2 − x1)(y3 − y1) − (y2 − y1)(x3 − x1) . (3.22)
Finally we note that the space derivative of a function q(x, y) can be obtained from the
following relation,
[
qξ
qη
]
= JT
[
qx
qy
]
. (3.23)
The orthogonality property of the basis functions is easily verified by integrating over
the reference triangle TE ,
∫
TE
φkφl =
0 if k 6= l
mk ∈ R if k = l(3.24)
If we intend to approximate the continuous function q(x, t) with third order (o = 3)
accuracy in space we need to use N = 6 base functions, that is φ = 0 to φ = 5. Note that
base functions are constructed in blocks in the sense that when we increment the order of
the approximation from o = 3 to o = 4 we added 4 (φ = 6 to φ = 9) new base functions,
which has degree equal to 3. As an example, here we show the first 10 base functions for
29
3. Numerical methods for hyperbolic equations
constructing a numerical method with spatial accuracy up to order 4.
P 0
φ0 = 1 ,
P 1
φ1 = −1 + 2 ξ + η ,
φ2 = −1 + 3 η ,
P 2
φ3 = 1 − 6 ξ − 2 η + 6 ξ2 + 6 ξ η + η2 ,
φ4 = 1 − 2 ξ − 6 η + 10 ξ η + 5 η2 ,
φ5 = 1 − 8 η + 10 η2 ,
P 3
φ6 = −1 + 12 ξ + 3 η − 30 ξ2 − 24 ξ η − 3 η2 + 20 ξ3 + 30 ξ2η + 12 ξ η2 + η3 ,
φ7 = −1 + 6 ξ + 9 η − 6 ξ2 − 48 ξ η − 15 η2 + 42 ξ2η + 42 ξ η2 + 7 η3 ,
φ8 = −1 + 2 ξ + 13 η − 24 ξ η − 33 η2 + 42 ξ η2 + 21 η3 ,
φ9 = −1 + 15 η − 45 η2 + 35 η3 .
(3.25)
3.4 Reconstruction procedure
The reconstruction procedure used in this thesis was presented by Dumbser and Käser in
[28]. It follows the same ideas of WENO reconstructions. The main advantages are: the
reconstructed polynomial is valid in the whole volume or element; they are constructed us-
ing the basis functions previously defined, therefore integrals may be computed in advance.
Scaling effects are cancel out because integration in the reference space coordinates.
Data reconstruction is necessary if we utilize Finite Volume numerical methods due to the
cell average representation of the data. In Discontinuous Galerkin FE numerical methods
the spatial high order representation of the data comes natural and reconstruction is not
mandatory. Nevertheless, in both cases, near strong shocks non-oscillatory reconstruction
is necessary.
We do not intend to give all details about the reconstruction procedure here. For a
review about ENO-WENO schemes see [81]. For technical details about this particular
reconstruction procedure see [28].
Defining P k a set of polynomials of degree less than or equal to k. Given a function
q(x), the reconstruction procedure computes a polynomial Pm(x) ∈ P k for each element
Tm inside of the computational domain. The Pm(x) polynomial has the same mean value
of the function q(x) over the element Tm and is a (k + 1) order approximation to q(x) on
the element Tm. The new polynomial Pm(x) is valid over the whole element Tm.
30
3. Numerical methods for hyperbolic equations
The P k set of polynomials has K = k+1 and K = (k+1)(k+2)/2 degrees of freedom for
one and two space dimensions respectively. In order to obtain these degrees of freedom we
consider, in addition to the element Tm itself, a set of at least K − 1 neighbours elements.
This set of K elements is called a stencil of the element Tm.
If we consider more than K − 1 neighbours the solution of the degrees of freedom is
overdetermined. In this case we impose strictly conservation of Pm(x) over element Tm
and conservation over the rest of elements inside stencil in a least-square sense.
For one dimensional problems we consider j = 1, . . . , k + 1 stencils and corresponding
pj(x) ∈ P k polynomials that have the same mean value over element Tm. In two dimen-
sional problems over triangular meshes, we always consider j = 1, . . . , 7 stencils where the
first one is a central stencil, the second to the fourth are forward one side stencils, and the
remaining three are backward one side stencils, see Käser et al.[54] for definition of forward
and backward stencils. The reader has to be careful because not all stencils are admissible
due to boundary conditions or geometrical criteria, for example if all elements inside the
stencil are aligned.
The reconstructed polynomial over element Tm will be a combination of the stencil
polynomials, with j an index over the different stencils and j = 1 the central one as
follows,
Pm(x) =∑
j
ωjpj(x) , (3.26)
with the normalized non-linear weights ωj equal to
ωj =ωj
∑
j ωj, (3.27)
and the non-linear weights ωj computed from the oscillator indicator σj and the linear
weights λj as follows,
ωj =λj
(ǫ + σj)r, λj =
λ1 if j = 1
1 else(3.28)
The oscillator indicator σj is a measure of the gradients of the polynomial, and in
reference coordinate system reads,
σj =K
∑
α=1
K∑
β=1
∫
TE
(
∂α+β
∂ξα∂ηβpj(x(ξ, η))
)2
dξdη . (3.29)
In practice we use 50% more elements inside the stencil than degrees of freedom for
31
3. Numerical methods for hyperbolic equations
triangular meshes, the constant positive number ǫ = 10−5 and the linear weight λ1 = 103.
3.5 Finite Volume schemes in one space dimension
In this section we present how to construct a one dimensional Finite Volume numerical
scheme for hyperbolic equations.
A general one dimensional non-linear hyperbolic balance law can be written as follows,
∂tQ + ∂xF(Q) + A(Q) ∂xW(Q) = S(Q), (3.30)
where Q is the unknown of conservative variables, W(Q) is the unknown vector of physical
variables, F(Q) is the flux vector, A(Q) is a variable coefficient matrix and S(Q) is a source
term which does not consider derivatives of the unknown vector. Definition of matrix A(Q)
is somehow arbitrary depending on the particular equations. In our experience, the best
choice is that the product A(Q) ∂xW(Q) considers only the terms that can not be cast in
conservative form.
We assume that (3.30) can be cast in full quasi-linear form and the Jacobian matrix has
real eigenvalues.
Expression (3.30) is a general form which permits to introduce conservative and non con-
servative terms. When non-conservative and source terms are not present, (3.30) reduces
to the classical one-dimension conservative form.
Here we consider regular one dimensional grids, with x = xi the centre of the i-th cell
and boundaries at x = xi−1/2 and x = xi+1/2
Integrating (3.30) over the control volume [xi−1/2, xi+1/2] × [tn, tn+1] we have,
Qn+1i = Qn
i − ∆t
∆x
[
Fi+1/2 − Fi−1/2
]
− ∆t
∆xAi
[
Wi+1/2 − Wi−1/2
]
+ ∆tSi , (3.31)
where,
Qni = 1
∆x
∫ xi+1/2
xi−1/2
Q(x, t) dx ,
Wi+1/2 = 1∆t
∫ tn+1
tnW(Q(xi+1/2, t)) dt ,
Fi+1/2 = 1∆t
∫ tn+1
tnF(Q(xi+1/2, t)) dt ,
Si = 1∆t
1∆x
∫ tn+1
tn
∫ xi+1/2
xi−1/2
S(x, t,Q(xi+1/2, t)) dx dt ,
(3.32)
32
3. Numerical methods for hyperbolic equations
with ∆x = xi+1/2 −xi−1/2 and ∆t = tn+1 − tn. Qni is the cell average of the vector Q(x, t)
inside the cell xi at time level tn. Wi+1/2 and Fi+1/2 are average time integrals in terms
of Q(xi+1/2, t).
Regarding that we provide approximations to integrals in (3.32) and define the linear
coefficient matrix, we obtain an explicit Finite Volume numerical method to update the cell
average from time level tn to time level tn+1. Linearization of Ai may play an important
role in the numerical solution.
For FV and DG methods, a stability condition is necessary to compute the temporal
step ∆t. For one-dimensional FV methods the stability condition is Ccfl ≤ 1.0, for two-
dimensional the condition is Ccfl ≤ 0.5. For DG the stability condition is more restrictive
as the order of the method increases. For two-dimensional DG methods we use Ccfl ≤0.5/(2(o − 1) + 1), with o the order of the method.
Another element that is necessary to consider is the boundary conditions. In this the-
sis we solve Riemann problems on the boundary in order to set the correct boundary
condition, therefore we need to define the external data for the Riemann problem. For
transmissive boundary this data is a copy of the data inside. For reflective boundaries,
or wall boundaries, we copy the data from inside modifying the normal velocity in order
to obtain zero velocity normal to the boundary. For high-order numerical methods, these
boundary conditions are implemented using the HEOC DRP solver presented in Chapter
5.
Finite Volume and Discontinuous Galerkin FE methods have been presented in one
and two dimensions. These are explicit one-step numerical methods where space and
time integrals must be evaluated. In Chapter 5 we see how to solve with arbitrary order
of accuracy these integral averages. Solving Q(xi+1/2, t) as the solution of the classical
Riemann problem we obtain a first order numerical method of Godunov type. Finally, Si
is an integral approximation within the whole control volume of the source term. High
order evaluation of this term is presented in Chapter 7.
33
3. Numerical methods for hyperbolic equations
34
4 Classical Riemann solvers
4.1 Introduction
One of the building blocks to construct upwind numerical methods for hyperbolic equations
is the solution of the classical Riemann problem. The solution of this Initial Value Problem
(IVP) involves the knowledge of the wave structure and the physics of the problem. In
general the solution is more complex as more waves are involved and the physics is more
realistic. There are cases where the physical model is simple, still very interesting, and the
solution can be found exactly. On the other hand, there are cases where the model is too
complex and one must approximate the solution of the Riemann problem.
Solving the Riemann problem exactly gives us a reference solution which can be used
to test our numerical methods. Furthermore, applying the solver locally in between two
neighbouring cells a numerical flux can be obtained.
Not all numerical methods utilize the exact solution of the Riemann problem. Sometimes
the solver is too expensive (computational time) for numerical purposes and sometimes the
solver does not exist. Nevertheless, some kind of approximation is considered in order to
estimate the solution between two neighbour cells or the numerical flux. These solvers are
known as approximate Riemann solvers. In this category we found the PVRS solver [90],
the two-rarefaction solver (TRRS) and the two-shock solver (TSRS) [95], the classical HLL
[46] and its improvement HLLC [94], the well known Roe’s approximation originally pre-
sented in [70]. Recently, a new kind of approximate Riemann solvers have been presented
using a predictor-corrector approach. These are the MUSTA [96] and EVILIN [97] solvers.
These solvers can be used to construct first order Godunov-type methods.
The Riemann solver (exact or approximate) is also a fundamental part in constructing
high-order Godunov-type methods, such as ADER-type schemes, where the leading term
must be computed. In addition, a linearized solver is also needed for computing the high
order terms. We deal with these issues in Chapters 5 and 7.
In this section we present Riemann solvers for three systems: the Euler equations, the
Baer-Nunziato equations and the shallow water equations. We use the concepts presented
in Chapter 2 applied to the specific equations. We start with the single phase gas dynamics
35
4. Classical Riemann solvers
system, the Euler system. Then, the same approach is applied to the multiphase model of
Baer-Nunziato. Finally, the shallow water system is treated.
In what follows we refer to the unknown vector Q as a conservative variable vector and
the unknown vector W as a non-conservative or physical variable vector. Transformation
from one to the other is easily obtained from the respective balance laws and the equation
of state, when needed.
4.2 Euler equations
4.2.1 Introduction
The Euler system is a system of non-linear hyperbolic conservation laws that governs the
dynamics of compressible materials, such as gases but also liquids or granular materials
at high pressures. The conservation laws are supplemented with a constitutive relation
that relates the thermodynamic variables of the material. This constitutive relation is
the equation of state (EOS) and physical principles of thermodynamics impose stringent
constraints on it. A relevant publication on this is the one by Menikoff and Plohr [64].
Non-ideal EOS are used in order to approximate the real physics of a particular problem.
In this case the solution of the Riemann problem becomes more complex.
The first exact Riemann solver for the Euler equations is due to Godunov in [40], which
was improved by himself in [41], by Chorin in [14] and van Leer in [107]. Later on, the
work of Gottlieb and Groth [42] is credited for being one of the most efficient solvers. In
[89], Toro presented the exact solution for the covolume gas, while Ivings et al. in [51]
presented the solution for the stiffened EOS. In [95] details of the solution for the ideal
EOS are found. All these solutions involve iterative procedures, which in the best case,
solve one algebraic non-linear equation.
The first work that we found related to the solution of the Riemann problem for general
EOS is the one from Colella and Glaz [22]. In this work they made a local parametrisation
of the equation of state. Later, Saurel et al. [74] presented the general methodology for a
general EOS. A very similar approach was used by Quartapelle et al. in [68]. In general the
method considering a general equation of state solves two non-linear algebraic equations.
If one desires faster solvers, approximations can be introduced, as in the work of Dukowicz
[26], Glaister [35] and Gallouët et al. [31].
In the following sections we present the equations and the eigenstructure of the Euler
equations. Then, the exact Riemann problem is solved following the ideas of [74], [95] and
[68]. Finally, the linear solution of the Riemann problem is presented. Here we neglect
the effects of body forces, viscous stress and heat transfer. See the book of Toro [95] for a
36
4. Classical Riemann solvers
comprehensive review about Riemann solvers.
4.2.2 Equations and eigenstructure
Considering the homogeneous two dimensional Euler system we have
∂t(ρ) + ∂x(ρu) + ∂y(ρv) = 0 ,
∂t(ρu) + ∂x(ρu2 + p) + ∂y(ρuv) = 0 ,
∂t(ρv) + ∂x(ρuv) + ∂y(ρv2 + p) = 0 ,
∂t(E) + ∂x(u(E + p)) + ∂y(v(E + p)) = 0 ,
(4.1)
where the usual notation is used, ρ being the density, u and v the particle velocities in x
and y directions respectively, p the pressure and E the total energy. The specific energy e
is introduced in E = ρ(
12(u2 + v2) + e
)
and is defined by the equation of state, typically
e = e(ρ, p). In consequence the sound speed a can be computed as follows,
e = e(ρ, p) , a =
√
√
√
√
p
ρ2 ∂e∂p
−∂e∂ρ
∂e∂p
. (4.2)
In order to preserve hyperbolicity, the equation of state must obey the convexity property,
that is,
∂p
∂ν< 0 ,
∂2p
∂ν2> 0 , (4.3)
with ν = 1/ρ the specific volume.
Using vectors, system (4.1) can be cast in conservative form as follows,
∂tQ + ∂xF(Q) + ∂yG(Q) = 0, (4.4)
where
Q =
ρ
ρu
ρv
E
, F(Q) =
ρu
ρu2 + p
ρuv
u(E + p)
, G(Q) =
ρv
ρuv
ρv2 + p
v(E + p)
. (4.5)
For solving the Riemann problem we can consider the following augmented one dimen-
sional problem,
∂tQ + ∂xF(Q) = 0, (4.6)
37
4. Classical Riemann solvers
which written in physical variables reads,
Wt + B(W)Wx = 0 , (4.7)
with
W =
ρ
u
v
p
, B(W) =
u ρ 0 0
0 u 0 1/ρ
0 0 u 0
0 ρa2 0 u
. (4.8)
System (4.7)-(4.8) has real eigenvalues
λ1 = u − a , λ2 = u , λ3 = u , λ4 = u + a , (4.9)
with right eigenvectors
r1 =
1
−a/ρ
0
a2
, r2 =
1
0
0
0
, r3 =
0
0
1
0
, r4 =
1
a/ρ
0
a2
, (4.10)
and left eigenvectors
l1 =
[
0 , 1 , 0 ,−1
ρa
]
, l2 =
[
1 , 0 , 0 ,−1
a2
]
, l3 = [0 , 0 , 1 , 0] , l4 =
[
0 , 1 , 0 ,1
ρa
]
.
(4.11)
Studying the characteristic fields we know that the first and the fourth waves gener-
ate genuinely non-linear fields, while the second and the third waves generate linearly
degenerate fields.
Example: Considering the ideal equation of state e = p/(ρ(γ − 1)), the sound speed
becomes a =√
γp/ρ and the character of the field associated to λ1 = u − a is obtained
evaluating (2.38) as follows,
[
∂λ1
∂ρ,∂λ1
∂u,∂λ1
∂v,∂λ1
∂p
]
·[
1 ,−a/ρ , 0 , a2]T
= −p(γ2 + γ)/(2aρ2) 6= 0 . (4.12)
This result confirms that the wave family associated with λ1 = u − a is genuinely non-
linear. A similar procedure can be applied to the remaining fields. We refer to the book
of Godlewski and Raviart [39] for more details about the theory when general equations
38
4. Classical Riemann solvers
of state are used.
It is assumed that the only types of waves associated with the genuinely non-linear fields
are rarefaction waves or shock waves, while the interior waves associated to families λ2 and
λ3 generate only contact discontinuity waves.
In the following section we see how to solve the classical Riemann problem, where the
initial conditions are piece-wise constant data. In Chapter 5 we deal with the Derivative
Riemann Problem (DRP) where the initial conditions are piece-wise polynomial data.
4.2.3 Non-linear Riemann solver
The classical Riemann problem is,
PDEs: ∂tQ + ∂xF(Q) = 0 , x ∈ (−∞,∞) , t > 0 ,
IC: Q(x, 0) =
QL = Q(WL) if x < 0 ,
QR = Q(WR) if x > 0 ,
(4.13)
with
WL =
ρL
uL
vL
pL
, WR =
ρR
uR
vR
pR
, (4.14)
the initial constant data. The solution of (4.13) is depicted in Fig. 4.1.
xx=0
t
WL WR
λ1
λ2=λ3
λ4
WL WR* *
FLFR
Figure 4.1: Wave structure for the 2 dimensional Euler equations. Functions FL and FR
connect the outer states WL and WR (constant initial conditions) with theunknown constant states W∗
L and W∗R (Star Zone).
As presented in section 2.7 we can connect the known data outside with the unknown
values inside, called the star zone. In Fig. 4.1 the general wave structure of system (4.13) is
presented. We have two genuinely non-linear fields, (λ1 , λ4), and two linearly degenerate
fields, (λ2 , λ3). The initial conditions WL and WR are connected to the unknown values
39
4. Classical Riemann solvers
W∗L and W∗
R through the functions FL and FR. Then, a trivial condition through the
contact waves connects both functions FL and FR. With this procedure we solve exactly
the classical Riemann problem for the Euler equations.
The unknown quantities in the star zone is denoted by the vectors
W∗L =
ρ∗Lu∗
L
v∗Lp∗L
, W∗R =
ρ∗Ru∗
R
v∗Rp∗R
. (4.15)
The final goal of the solution procedure is to obtain the two functions FL and FR as
follows,
FL(ρ∗L,WL) =
[
FuL(ρ∗L,WL)
FpL(ρ∗L,WL)
]
, FR(ρ∗R,WR) =
[
FuR(ρ∗R,WR)
FpR(ρ∗R,WR)
]
. (4.16)
In other words, to obtain algebraic functions that relate the initial data with the star zone.
These functions depend on the type of waves they cross, either a shock or rarefaction wave.
Moreover, they can be connected at the contact wave giving us a function,
F = F (ρ∗L, ρ∗R,WL,WR) = FL(ρ∗L,WL) − FR(ρ∗R,WR) = 0 , (4.17)
which depends on the density on both sides of the contact and the initial data. This
procedure reduce the solution of the Riemann problem in the star zone into an algebraic
2 × 2 non-linear system of equations that can be solved iteratively.
Now we see how to obtain these functions depending on the waves that are present.
4.2.3.1 Contact waves
The waves associated to λ2 and λ3 are linearly degenerate and apply the Generalized
Riemann Invariants. Utilizing the physical variables formulation (4.7), the GRIs for field
λ2 give,
dρ
1=
du
0=
dv
0=
dp
0. (4.18)
The GRIs for field λ3 give,
dρ
0=
du
0=
dv
1=
dp
0. (4.19)
40
4. Classical Riemann solvers
Equation (4.18) says that across λ2 the pressure p and velocities u and v are constant,
while (4.19) says that across λ3 all variables are constant but v. We conclude that across
the waves λ2 = λ3 = u = u∗ we have
u∗L = u∗
R = u∗ , p∗L = p∗R = p∗ . (4.20)
When we analyze the wave fields associated to λ1 and λ4 we need to distinguish between
rarefaction waves and shock waves. The general criterion used is that the wave is a rar-
efaction if the density p∗ ≤ pk, while it is a shock if p∗ > pk for k = L, R. This criterion
respects all the constraints mentioned in section 2.7.
4.2.3.2 Rarefaction waves
Across a rarefaction wave we apply again the GRIs. For λ1 = u − a we obtain
dρ
1=
du
−a/ρ=
dv
0=
dp
a2. (4.21)
The first conclusion is that the velocity v does not change. Taking the first equality
in (4.21), and writing explicitly the dependence of the sound speed in term of density
(isentropic path) we have,
−a(ρ)
ρdρ = du . (4.22)
We can integrate (4.22) from the known data WL to the unknown value W∗L obtaining
the second Riemann invariant (entropy was already known being a Riemann Invariant, see
section 2.7),
−∫ ρ∗L
ρL
a(ρ)
ρdρ =
∫ u∗
uL
du , (4.23)
u∗ = uL −∫ ρ∗L
ρL
a(ρ)
ρdρ , (4.24)
where (4.24) holds true for any point inside the rarefaction.
Finally, again using the isentropic path, we can express the pressure p = p(ρ) across a
rarefaction wave. Moreover, we can find a function Ps in such a way that p∗ = Ps(ρ∗L,WL).
With these results, we write the vectorial function FL in (4.16) when the wave family
41
4. Classical Riemann solvers
associated to λ1 = u − a is a rarefaction as follows,
FuL(ρ∗L,WL) ≡ u∗ = uL −∫ ρ∗L
ρL
a(ρ)
ρdρ ,
FpL(ρ∗L,WL) ≡ p∗ = Ps(ρ∗L,WL) .
(4.25)
A similar result can be obtained for the field associated to λ4 = u + a, and therefore for
function FR in (4.16), we have,
FuR(ρ∗R,WR) ≡ u∗ = uR +
∫ ρ∗R
ρR
a(ρ)
ρdρ ,
FpR(ρ∗R,WR) ≡ p∗ = Ps(ρ∗R,WR) .
(4.26)
The isentropic relations for the sound speed a = a(ρ) and for the pressure p = p(ρ) along
the isentropic path are obtained from the particular equation of state which is chosen, see
Appendix A for expressions for the stiffened EOS and for the polytropic van der Waals
EOS.
4.2.3.3 Shock waves
Shock waves are discontinuous waves as presented in section 2.7.2 for which the Rankine-
Hugoniot conditions are valid. Without loss of generality we can study a right travelling
shock wave with speed S with known data ahead and unknown state behind as in Fig 4.2(a).
For a proper transformation of the frame of reference we can obtain a stationary shock,
where the quantities involved are modified by this transformation, see Fig 4.2(b). Here
we apply the Rankine-Hugoniot conditions to the augmented one dimensional conservative
form (4.6) where v can be interpreted as a passive scalar.
S
ρk
p
*
*
u*
vk*
ρk
pk
uk
vk
(a)
ρk
p
*
*
0
u*
vk*
ρk
pk
uk
vk
(b)
Figure 4.2: Shock wave travelling to the right with known data ahead (right) of the shockand unknown state behind (left) of the shock. (a): Shock travelling with speedS in a stationary frame of reference. (b): After a transformation the shock isstationary with the new states modified by the transformation.
42
4. Classical Riemann solvers
The proper transformation is given by u∗ = u∗ − S and uk = uk − S for k = L, R. To
these new variables we can apply the Rankine-Hugoniot conditions with S = 0, therefore
we have
ρkuk = ρ∗ku∗ ,
ρkukvk = ρ∗ku∗v∗k ,
ρku2k + pk = ρ∗ku
∗ 2 + p∗ ,
uk(Ek + pk) = u∗(E∗k + p∗) .
(4.27)
A direct substitution of the first equation of (4.27) into the second gives that vk = v∗k,
that means that the variable v does not change across shocks. Now, from (4.27), expressing
the total energy in terms of the specific energy, the next relation is obtained,
e∗ − ek =1
2(p∗ + pk)
[
ρ∗k − ρk
ρ∗kρk
]
. (4.28)
Defining the mass flux M ≡ ρku = ρ∗ku∗ and using equations (4.27) we obtain,
M = (u∗ − uk)ρ∗kρk
ρk − ρ∗k,
M2 = (pk − p∗)ρ∗kρk
ρk − ρ∗k.
(4.29)
Now, replacing in (4.28) the internal energy e∗ = e(ρ∗k, p∗) obtained from the particular
equation of state, and using (4.29), the functions that connect the known state WL to the
unknown state W∗L across the shock wave read,
FuL(ρ∗L,WL) ≡ u∗ = uL −√
(pL − p∗)( 1ρ∗L
− 1ρL
) ,
FpL(ρ∗L,WL) ≡ p∗ = PRH(ρ∗L,WL) ,(4.30)
and for connecting the state WR to the unknown state W∗R,
FuR(ρ∗R,WR) ≡ u∗ = uR +√
(pR − p∗)( 1ρ∗R
− 1ρR
) ,
FpR(ρ∗R,WR) ≡ p∗ = PRH(ρ∗R,WR) .(4.31)
In (4.30) and (4.31), FuL and FuR depend on ρ∗k. The function PRH(ρ∗k,Wk) relates the
pressure and the density in the star zone. This function depends on the particular equation
of state. See Appendix A for details on this function when stiffened and van der Waals
EOS are used.
It is important to remark that equations (4.25),(4.26),(4.30) and (4.31) do not consider
43
4. Classical Riemann solvers
any particular equation of state up to this point.
4.2.3.4 Iterative procedure to solve the star values
With this approach, we transformed the solution of the IVP (4.13) in the star zone into
a 2 × 2 algebraic non-linear system that can be solved iteratively. We use the general
Newton-Raphson procedure to solve the system.
Writing the vector function F defined in (4.17) we have,
F (ρ∗L, ρ∗R,WL,WR) =
[
FuL(ρ∗L,WL) − FuR(ρ∗R,WR)
FpL(ρ∗L,WL) − FpR(ρ∗R,WR)
]
= 0 . (4.32)
Function F (ρ∗L, ρ∗R,WL,WR) depends non-linearly on the two densities, ρ∗L and ρ∗R. The
dependence on the initial data WL and WR is through the type of wave associated to
wave fields λ1 and λ4. Once the type of wave fields are defined we have a system of two
non-linear equations F (ρ∗L, ρ∗R) = 0 with two unknowns ρ∗L and ρ∗R.
The Newton-Raphson procedure solves iteratively (4.32). At each iteration, the corrector
value X is obtained from solving the following m-th linear system ,
XJm = −F (ρ∗mL , ρ∗mR ) . (4.33)
The Jacobian matrix Jm is obtained as follows,
Jm =
∂FuL(ρ∗L,WL)∂ρ∗L
−∂FuR(ρ∗R,WR)∂ρ∗R
∂FpL(ρ∗L,WL)∂ρ∗L
−∂FpR(ρ∗R,WR)∂ρ∗R
/(ρ∗L,ρ∗R)=(ρ∗mL ,ρ∗m
R )
. (4.34)
The corrected values read,
[
ρ∗m+1L
ρ∗m+1R
]
=
[
ρ∗mL
ρ∗mR
]
+ X . (4.35)
The generalization of this method gives the final solution ρ∗L and ρ∗R. At each iteration we
must verify if the non-linear waves are shocks or rarefactions in order to compute correctly
the functions FL and FR.
This iterative method provides a very good convergence rate, if the initial guess is good
enough. Before using it, it is necessary to know the behaviour of the vector function F .
We know, for example, that near low densities the procedure may fail, due to square roots
of negative values, see (4.2). Another difficulty appears when shock waves are present,
which is a discontinuity in the function PRH(ρ∗k,Wk), see (4.30) and (4.31). For example
44
4. Classical Riemann solvers
for the ideal EOS with γ = 1.4 the discontinuity is located at ρ∗k = 6ρk. For a guess value
ρ∗0k ≥ 6ρk the iterative procedure converges to a wrong solution.
With this procedure we obtain the solution of the densities in the star zone. It remains
to determine the velocity and pressure. This is done with the use of the functions defined
in the previous section, see for example (4.25) and (4.26) for rarefactions waves, or (4.30)
and (4.31) for shock waves. Finally, for the complete solution in the half plane x − t the
velocities of the waves needs to be evaluated, defining the complete wave structure, see
[95] for details. For numerical purpose we need to sample this wave structure and identify
the state along the t axis. This state is used to compute the numerical flux in one of the
numerical methods presented in Chapter 3.
On constructing high-order numerical methods, and in this thesis the solution of the
Derivative Riemann Problem, see Chapter 5, is also necessary to solve linear Riemann
problems. This is the subject of the following section.
4.2.4 Linear Riemann solvers for conservative variables
Here we present the solution of the linear Riemann problem. This solution will be used
later in Chapter 5. We start with equations (4.6).
∂tQ + ∂xF(Q) = 0 . (4.36)
Computing the Jacobian matrix we obtain the quasi-linear form,
∂tQ + A(Q)∂xQ = 0 . (4.37)
We linearize (4.37) and pose the following classical linear Riemann problem,
PDE: ∂tQ + A ∂xQ = 0, x ∈ (−∞,∞), t > 0.
IC: Q(x, 0) =
QL if x < 0 ,
QR if x > 0 ,
(4.38)
where A = A(Q) is frozen at the state Q = 12(QL + QR).
Provided that we have the right eigenvector matrix of A we can solve (4.38) as in section
2.6. For completeness we recall the eigenvalues: λ1 = u−a, λ2 = u, λ3 = u and λ4 = u+a.
We define the jump ∆ = QR − QL and solve the following linear system
4∑
i=1
δiri = ∆ , (4.39)
45
4. Classical Riemann solvers
where ri are the right eigenvectors and the unknowns are the wave strengths δi.
The main difficulty is that the Jacobian matrix A, and therefore the right eigenvectors,
depends on the equation of state. We present the solution in terms of the eigenvectors and
wave strengths considering the stiffened-gas EOS, and the politropic van der Waals EOS.
4.2.4.1 Solution for the stiffened-gas EOS
The right eigenvectors are:
r1 =
1
u − a
vV
2
2 + a2
γ−1 − ua
, r2 =
1
u
vV
2
2
, r3 =
0
0
1
v
, r4 =
1
u + a
vV
2
2 + a2
γ−1 + ua
,
(4.40)
with V2 = (u2 + v2). The components and all vectors in (4.40) are known, as are the
components of ∆.
Solving (4.39) for the unknown wave strengths δi, we obtain,
δ1 = V2(γ−1)+2ua
4a2 ∆1 − u(γ−1)+a2a2 ∆2 − v(γ−1)
2a2 ∆3 + (γ−1)2a2 ∆4 ,
δ2 = −V2(γ−1)−2a2
2a2 ∆1 + u(γ−1)a2 ∆2 + v(γ−1)
a2 ∆3 − (γ−1)a2 ∆4 ,
δ3 = −v∆1 + ∆3 ,
δ4 = V2(γ−1)−2ua
4a2 ∆1 − u(γ−1)−a2a2 ∆2 − v(γ−1)
2a2 ∆3 + (γ−1)2a2 ∆4 .
(4.41)
46
4. Classical Riemann solvers
4.2.4.2 Solution for the van der Waals EOS
The right eigenvectors are:
r1 =
1
u − a
v
−Cv(β (ρ a2+p+3 ρ2α)−2 ρ α−a2)R + V
2
2 − ua − 2 ρ α
,
r2 =
1
u
v
−Cv (β (p+3 ρ2α)−2 ρ α)R + V
2
2 − 2 ρ α
, r3 =
0
0
1
v
,
r4 =
1
u + a
v
−Cv(β (ρ a2+p+3 ρ2α)−2 ρ α−a2)R + V
2
2 + ua − 2 ρ α
,
(4.42)
with V2 = (u2 + v2). The components and all vectors in (4.42) are known, as are the
components of ∆. The constant α, β, R and Cv are parameters of the van der Waals
equation of state. See the Appendix A.
Solving (4.39) for the unknown wave strengths δi we obtain,
δ1 = −(
( RCv
−1)ρα
(−1+ρβ)a2 + V2R
Cv(−1+ρβ)4a2 + βp+3βρ2α(−1+ρβ)2a2 − u
2a
)
∆1 + RCv
(
u∆2+v∆3−∆4(−1+ρβ)2a2
)
− ∆22a ,
δ2 =
(
2( RCv
−1)ρα
(−1+ρβ)a2 + V2R
Cv(−1+ρβ)2a2 + βp+3βρ2α(−1+ρβ)a2 + 1
)
∆1 − RCv
(
u∆2+v∆3−∆4(−1+ρβ)a2
)
,
δ3 = −v∆1 + ∆3 ,
δ4 = −(
( RCv
−1)ρα
(−1+ρβ)a2 + V2R
Cv(−1+ρβ)4a2 + βp+3βρ2α(−1+ρβ)2a2 + u
2a
)
∆1 + RCv
(
u∆2+v∆3−∆4(−1+ρβ)2a2
)
+ ∆22a ,
(4.43)
The solution of the linear Riemann problem (4.38) on the t axis is obtained from (2.35)
as follows,
Q(0, t) = QL +∑
λi≤ 0
δiri or Q(0, t) = QR −
∑
λi> 0
δiri . (4.44)
47
4. Classical Riemann solvers
4.3 The Baer-Nunziato equations
4.3.1 Introduction
For nearly 30 years multiphase models have been widely studied and a number of models
have been proposed, see for example Baer and Nunziato [4], Saurel and Abgrall [73],
Romenski and Toro [71], Stewart and Wendroff [83], Drew [25], Ishii [50] or Gidaspow [33],
amongst others.
Here we deal with the multiphase model presented by Baer and Nunziato in [4]. This
model was proposed to describe the combustion behaviour of granular energetic materials.
In particular the deflagration to detonation transition (DTT) phenomena. It is a two-
pressure model and agrees with the known fact that having two pressure models preserves
hyperbolicity. Each phase obeys the single phase Euler equations plus non-conservative
terms (called nozzling terms) which take into account the interphase exchange of pressure
and velocity.
Considering numerical methods for hyperbolic equations the experience is vast for simple
problems. Now this experience is coming into multiphase models and a major effort has
been put into it. See for example the work of Andrianov and Warnecke with their inverse
problem [3], Chang and Liou [12], Abgrall [2] or Schwendeman et al. [78], where an iterative
two-step Riemann solver is proposed.
The work [78] is very interesting, where they manage to solve the complete Riemann
problem iteratively, in a similar way as in the Riemann solver presented in Castro and
Toro [10] for the Saurel-Abgrall isentropic model. Here the key point is to find proper
jump relations across the solid contact, making use of an auxiliary variable and then
solving the decoupled system for the solid and gas phases. As Schwendeman et al. [78]
say in the article , this procedure is expensive in computational time and a less expensive
procedure is still needed.
In this section we deal with solution methods for the classical Riemann problem using
three different approaches: the first one solves the exact Riemann problem as proposed
in [78], the second one applies the EVILIN Riemann solver [97] and the third one uses
a stratification hypothesis [11] prior to the application of the EVILIN [97] or the exact
Riemann solver [51]. Because interaction between the two phases takes place in the solution
through a contact wave, complete Riemann solvers are needed, that is Riemann solvers that
account for all characteristic fields in their structure.
48
4. Classical Riemann solvers
4.3.2 Equations and eigenstructure
The multiphase model proposed by Baer-Nunziato [4] represents the interaction between
two compressible fluids considering non-equilibrium pressure. Originally presented as a
deflagration to detonation transition model (DDT) was analized by Embid and Baer [30].
The two compressible fluids are denoted by suffixes k = 1, 2. The interface velocity and
pressure are respectively denoted by u1, p2. Due to the presence of the nozzle terms the
system cannot be cast in conservative form. Neglecting exchange terms such as chemical
reactions and drag forces, the homogeneous one dimensional model is written as
∂∂t
(α1ρ1) + ∂∂x
(α1ρ1u1) = 0∂∂t
(α1ρ1u1) + ∂∂x
(α1[ρ1u21 + p1]) − p2
∂∂x
(α1) = 0∂∂t
(α1E1) + ∂∂x
(α1u1[E1 + p1]) − p2u1∂∂x(α1) = 0
∂∂t
(α2ρ2) + ∂∂x
(α2ρ2u2) = 0∂∂t
(α2ρ2u2) + ∂∂x
(α2[ρ2u22 + p2]) + p2
∂∂x
(α1) = 0∂∂t
(α2E2) + ∂∂x
(α2u2[E2 + p2]) + p2u1∂∂x
(α1) = 0∂∂t
(α1) + u1∂∂x
(α1) = 0
(4.45)
In (4.45), the usual notation is used where ρk denotes density, uk is particle velocity,
pk is pressure, Ek = ρk(12u2
k + ek) is total energy, ek is specific energy and αk is the void
fraction, assuming∑
αk = 1.
The first three equations in (4.45) represent the space and time evolution of fluid 1, as
the classical gas dynamic Euler system, plus the inclusion of the interaction terms between
both phases. An analogous description applies for the fourth to sixth equations for fluid
2. The seventh equation is a closure relation that represents the advection of the interface
between the fluids. Each fluid is governed by a general EOS of the form ek = ek(ρk, pk)
with the sound speed ak computed as,
ek = ek(ρk, pk) , ak =
√
√
√
√
pk
ρ2k
∂ek∂pk
−∂ek∂ρk
∂ek∂pk
. (4.46)
System (4.45) can be written in vectorial notation as follows,
∂tQ + ∂xF(Q) + A(Q) ∂xW(Q) = S(Q), (4.47)
where vector Q is the conservative unknown vector, F(Q) is the flux vector, A(Q) is
a coefficient matrix with variable entries and W(Q) is a non-conservative variables vec-
tor. Equation (4.47) represents a general hyperbolic system with conservative and non-
49
4. Classical Riemann solvers
conservative terms whose choice is somewhat arbitrary. In our experience the following
represents the most desirable combination for system (4.45).
Q =
α1ρ1
α1ρ1u1
α1E1
α2ρ2
α2ρ2u2
α2E2
α1
F(Q) =
α1ρ1u1
α1[ρ1u21 + p1]
α1u1[E1 + p1]
α2ρ2u2
α2[ρ2u22 + p2]
α2u2[E2 + p2]
0
(4.48)
A(Q) =
0 0 0 0 0 0 0
0 0 0 0 0 0 −p2
0 0 0 0 0 0 −p2u1
0 0 0 0 0 0 0
0 0 0 0 0 0 p2
0 0 0 0 0 0 p2u1
0 0 0 0 0 0 u1
W(Q) =
ρ1
u1
p1
ρ2
u2
p2
α1
(4.49)
An alternative formulation for system (4.45) is the fully non-conservative one where the
unknowns are the physical variables. This formulation will allow us to extract very useful
information from the eigenstructure of the system which in quasi-linear form reads,
∂tW + B(W)∂xW = 0 , (4.50)
where W is the vector of physical variables and B(W) is the Jacobian matrix, namely
W =
ρ1
u1
p1
ρ2
u2
p2
α1
B(W) =
u1 ρ1 0 0 0 0 0
0 u11ρ1
0 0 0p1 − p2α1ρ1
0 a21ρ1 u1 0 0 0 0
0 0 0 u2 ρ2 0ρ2(u1 − u2)
α2
0 0 0 0 u21ρ2
0
0 0 0 0 a22ρ2 u2
a22ρ2(u1 − u2)
α2
0 0 0 0 0 0 u1
(4.51)
The real eigenvalues are
λ1 = u1 − a1, λ2 = u2 − a2, λ3 = u2, λ4 = λ5 = u1, λ6 = u2 + a2, λ7 = u1 + a1, (4.52)
50
4. Classical Riemann solvers
with corresponding right eigenvectors
r1 =
1
−a1/ρ1
a21
0
0
0
0
, r2 =
0
0
0
1
−a2/ρ2
a22
0
, r3 =
0
0
0
1
0
0
0
, r4 =
1
0
0
0
0
0
0
, (4.53)
r5 =
0
0
−α2
(
(u1 − u2)2 − a2
2
)
(p1 − p2)α1
ρ2(u1 − u2)2
a22(u1 − u2)
ρ2a22(u1 − u2)
2
α2
(
(u1 − u2)2 − a2
2
)
, r6 =
0
0
0
1
a2/ρ2
a22
0
, r7 =
1
a1/ρ1
a21
0
0
0
0
, (4.54)
and left eigenvectors
l1 = [0, −α1ρ1a1, α1, 0, 0, 0, p1 − p2] ,
l2 =[
0, 0, 0, 0, α2(u1−u2+a2)a2(u1−u2) , α2(u1−u2+a2)
a22ρ2(u1−u2)
, 1]
,
l3 =[
0, 0, 0, −a22, 0, 1, 0
]
,
l4 =[
−a21, 0, 1, 0, 0, 0, p1−p2
α1
]
,
l5 = [0, 0, 0, 0, 0, 0, 1] ,
l6 =[
0, 0, 0, 0, −α2(u1−u2−a2)a2(u1−u2) , −α2(u1−u2−a2)
a22ρ2(u1−u2)
, 1]
,
l7 = [0, α1ρ1a1, α1, 0, 0, 0, p1 − p2] .
(4.55)
From (4.52) we see that all eigenvalues of B(W) are real; however they are not distinct
and therefore this system is not strictly hyperbolic. Possible singular points are: (a)
u1 = u2, (b) u1 = u2 ± a2, (c) u1 ± a1 = u2, and (d) u1 ± a1 = u2 ± a2. Condition
(b), called sonic condition or chocked flow condition, represents a real problem in which
the eigenvectors do not form a complete set of linear independent vectors, leading to a
parabolic degeneracy [30], [3].
From the work of Embid and Baer [30] we know that characteristic fields associated with
λ1, λ2, λ6 and λ7 are genuinely non-linear fields, as a result shock or rarefaction waves are
51
4. Classical Riemann solvers
produced. Waves associated to λ3, λ4 and λ5 are linearly degenerated fields and therefore
contact waves are produced. More over, λ3 is a contact wave associated to fluid 2, λ4 is a
contact wave associated to fluid 1 and λ5 is a contact wave that connects both fluids and
coalesces with λ4. We present this wave structure in Fig 4.3 for the case λ3 < λ5.
xx=0
t
WLWR
λ1
λ4=λ5
λ7
λ3
λ2λ6
α1L α1R
Figure 4.3: Wave structure of the system (4.45). Wave fields associated to λ1, λ2, λ6 andλ7 are genuinely non-linear. Wave fields associated to λ3, λ4 and λ5 are linearlydegenerated. The void fraction jumps discontinuously only across wave field λ5.In this case λ3 < λ5.
If we intent to solve exactly system (4.45), we need to be able to define jump relations
across shock waves. This conditions, Rankine-Hugoniot conditions, are well defined only
for PDEs in conservative form for physical conservative variables. See proposition 3.9.1
in [93] for an example of conservative laws in a mathematical sense but not in a physical
sense.
Andrianov et al. in [3] and later Schwendeman et al. in [78] considered the fact that
the void fraction does not jump away from the contact discontinuity associated to λ5, a
property that was identified by Embid et al. in [30]. This is observed when we consider
the characteristic variables, see last equation in (4.45) where α1 is a characteristic variable.
This condition allow us to consider two uncoupled conservative Euler equations away from
the field λ5 = u1. Rankine-Hugoniot conditions can be applied to each one of the Euler
single phase equations. One possible difficulty pointed in [30] exists when a shock wave
travels at velocity S = u1. In this case, the shock and the contact wave λ5 collide and the
simplification of two uncoupled conservative Euler equations is not possible. Moreover, if
we have a non-linear field λ = u2 ± a2 = u1, condition b) is verified and the hyperbolicity
is lost for system (4.45). This is still an open problem.
Assuming that condition (b) is not reached and that no shock waves travel at the particle
velocity of fluid 1, we can use all methodology presented in 2.
52
4. Classical Riemann solvers
4.3.3 Non linear Riemann solver
The classical Riemann problem that we want to solve is,
PDEs: ∂tQ + ∂xF(Q) + A(Q)∂xW = 0 , x ∈ (−∞,∞) , t > 0 ,
IC: Q(x, 0) =
QL = QL(WL) if x < 0 ,
QR = QR(WR) if x > 0 ,
(4.56)
with initial data given by the vectors
WL =
ρL1
uL1
pL1
ρL2
uL2
pL2
αL1
, WR =
ρR1
uR1
pR1
ρR2
uR2
pR2
αR1
, (4.57)
We define five vector unknown states of three components, similar as the Euler one
dimensional vectors, which are connected through the different wave fields. Two unknown
states for fluid 1 on each side of λ = λ4 = λ5 and three unknown states for fluid 2 which
are divided by λ = λ3 and λ = λ4 = λ5. These unknowns are as follows,
W∗L1 =
ρ∗L1
u∗L1
p∗L1
, W∗
R1 =
ρ∗R1
u∗R1
p∗R1
, (4.58)
W∗L2 =
ρ∗L2
u∗L2
p∗L2
, W∗
C2 =
ρ∗C2
u∗C2
p∗C2
, W∗
R2 =
ρ∗R2
u∗R2
p∗R2
. (4.59)
Note that these vectors have the sub index 1 or 2 making reference to the respective
fluid and are not as the ones defined in (4.57).
As mentioned before, we can see the system (4.45) as two Euler equation systems con-
nected by a contact discontinuity. In Fig. 4.4(a) we show the fluid 1 wave structure with
two non-linear waves and two coincident contact waves. Function FL1 connects the initial
data WL with the unknown state W∗L1. In the same way function FR1 connects the initial
data WR with the unknown state W∗R1. In Fig. 4.4(b) we show the fluid 2 wave structure
with two non-linear waves and two contact waves, one related to fluid 2 and one related
to the full system. Function FL2 connects the initial data WL with the unknown state
53
4. Classical Riemann solvers
W∗L2, as function FR2 connects the initial data WR with the unknown state W∗
R2. The
unknown state W∗C2 is defined between contact waves λ3 and λ5, in this case λ3 < λ5.
xx=0
t
WL WR
λ1
λ4=λ5
λ7
FL1 FR1
WL1*
WR1*
(a) Fluid 1
xx=0
t
WL WR
λ5λ3
WL2
λ2
λ6
FL2 FR2
*WC2
*WC2
*
WR2*
(b) Fluid 2
Figure 4.4: Uncoupled representation of the wave structure of system (4.45) with λ3 <λ5. (a): Fluid 1 wave structure. Functions FL1 and FR1 connect the initialdata with the unknown states W∗
L1 and W∗R1 respectively. (b): Fluid 2 wave
structure. Functions FL2 and FR2 connect the initial data with the unknownstates W∗
L2 and W∗R2 respectively. Unknown state W∗
C2 is defined between λ3
and λ5.
The functions FLk and FRk, with k = 1, 2, are defined identically as in (4.16) for each
fluid. They read
FLk(ρ∗Lk,WL) =
[
FuLk(ρ∗Lk,WL)
FpLk(ρ∗Lk,WL)
]
, FRk(ρ∗Rk,WR) =
[
FuRk(ρ∗Rk,WR)
FpRk(ρ∗Rk,WR)
]
. (4.60)
Across left rarefaction waves we have
FuLk(ρ∗Lk,WL) ≡ u∗
Lk = uLk −∫ ρ∗Lk
ρLk
a(ρ)
ρdρ ,
FpLk(ρ∗Lk,WL) ≡ p∗Lk = Ps(ρ
∗Lk,WL) .
(4.61)
Across right rarefaction waves we have
FuRk(ρ∗Rk,WR) ≡ u∗
Rk = uRk +
∫ ρ∗Rk
ρRk
a(ρ)
ρdρ ,
FpRk(ρ∗Rk,WR) ≡ p∗Rk = Ps(ρ
∗Rk,WR) .
(4.62)
Across left shock waves we have
FuLk(ρ∗Lk,WL) ≡ u∗
Lk = uLk −√
(pLk − p∗Lk)(1
ρ∗Lk− 1
ρLk) ,
FpLk(ρ∗Lk,WL) ≡ p∗Lk = PRH(ρ∗Lk,WL) .
(4.63)
54
4. Classical Riemann solvers
Across right shock waves we have
FuRk(ρ∗Rk,WR) ≡ u∗
Rk = uRk +√
(pRk − p∗Rk)(1
ρ∗Rk− 1
ρRk) ,
FpRk(ρ∗Rk,WR) ≡ p∗Rk = PRH(ρ∗Rk,WR) .
(4.64)
Now we need to analyze the contact waves. The GRIs across λ3 are trivial and give,
ρ1 = constant ,
u1 = constant ,
p1 = constant ,
u2 = constant ,
p2 = constant ,
α1 = constant .
(4.65)
The GRIs across λ4 are trivial and give,
u1 = constant ,
p1 = constant ,
ρ2 = constant ,
u2 = constant ,
p2 = constant ,
α1 = constant .
(4.66)
It is important to remark that across λ4 there is no jump in velocity or pressure due to
this wave field, nevertheless λ4 coincides with λ5 which generates discontinuous jumps.
Embid and Baer in [30] presented the GRIs for the wave family λ5. They read,
u1 = constant ,
η2 = constant ,
α2ρ2(u1 − u2) = constant ,
α1p1 + α2p2 + α2ρ2(u1 − u2)2 = constant ,
12(u1 − u2)
2 + h2 = constant .
(4.67)
In (4.67) η is the entropy and h the enthalpy. From (4.67) it follows that particle velocity
of fluid 1 and entropy of fluid 2 are conserved across the contact wave. The other 3 equations
conserve mass, momentum and energy of the mixture across the contact discontinuity.
Now we identify two possible configurations. They are λ3 < λ5 and λ5 < λ3.
55
4. Classical Riemann solvers
4.3.3.1 Fluid-2 contact to the left of fluid-1 contact
In this configuration we suppose that λ3 < λ5. See Fig.4.5, where the unknown state W∗C2
has the wave λ3 on the left and the wave λ5 on the right. In Fig. 4.5(a) the unknowns for
fluid 1 are shown. Observe that the particle velocity is constant across the contact waves.
In Fig. 4.5(b) the unknowns for fluid 2 are shown. We emphasize the fact that across the
contact wave of fluid 2 pressure and particle velocity are constant.
xx=0
t λ4,λ5
λ1λ7
ρuL1
L1
pL1
ρuR1
R1
pR1
ρ
u1
R1
pR1
*
*
*
ρ
u1
L1
pL1
*
*
*
(a) Fluid 1
xx=0
t λ5λ3
λ2
λ6
ρuL2
L2
pL2
ρuR2
R2
pR2
ρ
uR2
R2
pR2
*
*
*
ρ
uL2
L2
pL2
*
*
*
ρ
uL2
C2
pL2
*
*
*
ρ
uL2
C2
pL2
*
*
*
(b) Fluid 2
Figure 4.5: Possible structure of the Riemann problem. In this case λ3 < λ5. Initialconditions and unknown variables in the star zone for each fluid. We considerthe constant values across contact waves replacing u∗
C2 = u∗L2 and p∗C2 = p∗L2.
Across contact discontinuity λ5 we have
η∗C2 = η∗R2
u∗L1 = u∗
R1
αL2ρ∗C2(u
∗L1 − u∗
C2) = αR2ρ∗R2(u
∗R1 − u∗
R2)
αL1p∗L1 + αL2p
∗C2 + αL2ρ
∗C2(u
∗L1 − u∗
C2)2 = αR1p
∗R1 + αR2p
∗R2 + αR2ρ
∗R2(u
∗R1 − u∗
R2)2
12(u∗
L1 − u∗C2)
2 + h∗C2 = 1
2(u∗R1 − u∗
R2)2 + h∗
R2
(4.68)
From (4.65) we know the Riemann invariants across λ3 and therefore from (4.68) we can
write the following five relations
F1 ≡ η(ρ∗C2) − η(ρ∗R2)
F2 ≡ u(ρ∗L1) − u(ρ∗R1)
F3 ≡ αL2ρ∗C2(u(ρ∗L1) − u(ρ∗L2)) − αR2ρ
∗R2(u(ρ∗R1) − u(ρ∗R2))
F4 ≡ αL1p(ρ∗L1) + αL2p(ρ∗L2) + αL2ρ∗C2(u(ρ∗L1) − u(ρ∗L2))
2
−αR1p(ρ∗R1) − αR2p(ρ∗R2) − αR2ρ∗R2(u(ρ∗R1) − u(ρ∗R2))
2
F5 ≡ 12(u(ρ∗L1) − u(ρ∗C2))
2 + h(ρ∗C2) − 12(u(ρ∗R1) − u(ρ∗R2))
2 − h(ρ∗R2)
(4.69)
56
4. Classical Riemann solvers
In (4.69) we use u∗C2 = u∗
L2 and p∗C2 = p∗L2 from (4.65). We also express the entropy
and the enthalpy in terms of density which can be obtained from the specific equations of
state, see Appendix A.
4.3.3.2 Fluid-2 contact to the right of fluid-1 contact
In this configuration we suppose that λ5 < λ3. See Fig.4.6, where the unknown state W∗C2
has the wave λ5 on the left and the wave λ3 on the right . In Fig. 4.6(a) the unknowns for
fluid 1 are shown. Observe that the particle velocity is constant across the contact waves.
In Fig. 4.6(b) the unknowns for fluid 2 are shown. We emphasize the fact that across the
contact wave of fluid 2 pressure and particle velocity are constant.
xx=0
tλ4,λ5
λ1λ7
ρuL1
L1
pL1
ρuR1
R1
pR1
ρ
u1
R1
pR1
*
*
*
ρ
u1
L1
pL1
*
*
*
(a) Fluid 1
xx=0
tλ5λ3
λ2
λ6
ρuL2
L2
pL2
ρuR2
R2
pR2
ρ
uR2
R2
pR2
*
*
*
ρ
uL2
L2
pL2
*
*
*
ρ
uL2
C2
pL2
*
*
*
ρ
uR2
C2
pR2
*
*
*
(b) Fluid 2
Figure 4.6: Possible structure of the Riemann problem. In this case λ5 < λ3. Initialconditions and unknown variables in the star zone for each fluid. We considerthe constant values across contact waves replacing u∗
C2 = u∗R2 and p∗C2 = p∗R2.
Across contact discontinuity λ5 we have
η∗L2 = η∗C2
u∗L1 = u∗
R1
αL2ρ∗L2(u
∗L1 − u∗
L2) = αR2ρ∗C2(u
∗R1 − u∗
C2)
αL1p∗L1 + αL2p
∗L2 + αL2ρ
∗L2(u
∗L1 − u∗
L2)2 = αR1p
∗R1 + αR2p
∗C2 + αR2ρ
∗C2(u
∗R1 − u∗
C2)2
12(u∗
L1 − u∗L2)
2 + h∗L2 = 1
2(u∗R1 − u∗
C2)2 + h∗
C2
(4.70)
From (4.65) we know the Riemann invariants across λ3 and therefore we can write the
57
4. Classical Riemann solvers
following five functions
F1 ≡ η(ρ∗L2) − η(ρ∗C2)
F2 ≡ u(ρ∗L1) − u(ρ∗R1)
F3 ≡ αL2ρ∗L2(u(ρ∗L1) − u(ρ∗L2)) − αR2ρ
∗C2(u(ρ∗R1) − u(ρ∗R2))
F4 ≡ αL1p(ρ∗L1) + αL2p(ρ∗L2) + αL2ρ∗L2(u(ρ∗L1) − u(ρ∗L2))
2
−αR1p(ρ∗R1) − αR2p(ρ∗R2) − αR2ρ∗C2(u(ρ∗R1) − u(ρ∗R2))
2
F5 ≡ 12(u(ρ∗L1) − u(ρ∗L2))
2 + h(ρ∗L2) − 12(u(ρ∗R1) − u(ρ∗R2))
2 + h(ρ∗C2)
(4.71)
In (4.71) we use u∗C2 = u∗
R2 and p∗C2 = p∗R2 from (4.65). We also express the entropy
and the enthalpy in terms of density which can be obtained from the specific equations of
state, see Appendix A.
In (4.69) and (4.71) the relations for velocity and pressure are computed in terms of
density using expressions (4.61) to (4.64) with
u(ρ∗L1) ≡ FuL1(ρ∗L1,WL) , u(ρ∗R1) ≡ FuR1(ρ
∗R1,WR) ,
u(ρ∗L2) ≡ FuL2(ρ∗L2,WL) , u(ρ∗R2) ≡ FuR2(ρ
∗R2,WR) ,
p(ρ∗L1) ≡ FpL1(ρ∗L1,WL) , p(ρ∗R1) ≡ FpR1(ρ
∗R1,WR) ,
p(ρ∗L2) ≡ FpL2(ρ∗L2,WL) , p(ρ∗R2) ≡ FpR2(ρ
∗R2,WR) .
(4.72)
For both configurations described in section 4.3.3.1 and section 4.3.3.2 the system of
equations
F =
F1 (ρ∗L1, ρ∗R1, ρ
∗L2, ρ
∗C2, ρ
∗R2)
F2 (ρ∗L1, ρ∗R1, ρ
∗L2, ρ
∗C2, ρ
∗R2)
F3 (ρ∗L1, ρ∗R1, ρ
∗L2, ρ
∗C2, ρ
∗R2)
F4 (ρ∗L1, ρ∗R1, ρ
∗L2, ρ
∗C2, ρ
∗R2)
F5 (ρ∗L1, ρ∗R1, ρ
∗L2, ρ
∗C2, ρ
∗R2)
= 0 , (4.73)
is solved by an iterative procedure for the densities in the star zone. In our experience the
normal Newton-Rhapson method does not guarantee convergence, even if we consider the
discontinuities of functions PRH introduced in (4.63) and (4.64), and when density is near
zero. We solve (4.73) considering a globally convergent method, see Numerical Recipes
[67].
After the system (4.73) is solved we can compute velocities and pressures in the star
zone using relations (4.61) to (4.64), taking into account the presence of rarefaction or
shock waves.
After all unknowns in the star zone are obtained, velocities for all seven waves can be
58
4. Classical Riemann solvers
obtained and the solution in the half-plane x − t is complete, defining the complete wave
structure. For numerical purpose we need to sample this wave structure and identify the
state along the t axis. This state is used to compute the numerical flux in one of the
numerical methods presented in Chapter 3.
This Riemann solver can be used in Chapter 5 to solve the Derivative Riemann Problem.
In Chapter 6 is used to construct the solution to the Derivative Riemann Problem.
Alternative solvers can be constructed. The following one is the EVILIN Riemann solver
and avoid the solution of the original non-linear Riemann problem (4.56).
4.3.4 EVILIN Riemann solver
In this section we present the EVILIN Riemann solver for the Baer-Nunziato system. The
EVILIN approach was presented by Toro [97] and the idea is to evolve the initial data by
a simple scheme (predictor step) and then solve a linear Riemann problem with evolved
data as initial condition (corrector step). EVILIN follows the framework of the MUSTA
[96] approach to solve the classical Riemann problem, but in the corrector step includes
upwind information. In Fig. 4.7 the initial data Q0 ≡ Qi and Q1 ≡ Qi+1 is evolved to
QL and QR using a non conservative step of equations.
Q0 Q1
QL QR
d
τ
λ7
λ1
λ2
λ3 λ4
λ6
λ51
2i +Q
Figure 4.7: EVILIN Riemann solver for the non conservative formulation. Q0 and Q1 arethe initial data which are evolved to QL and QR, this is the predictor step.A linear Riemann solver in the corrector step is used to obtain Qi+ 1
2. The
complete procedure is performed in local space d − τ .
59
4. Classical Riemann solvers
The non-conservative step is defined as follows,
Q12L = Q0
Q12C = 1
2(Q0 + Q1) − 12
∆τ∆d [F(Q1) − F(Q0)] − 1
2∆τ∆dA
12C [W(Q1) − W(Q0)]
A12C = A
(
12(Q0 + Q1)
)
Q12R = Q1
(4.74)
QL = 12(Q
12L + Q
12C) − 1
2∆τ∆d
[
F(Q12C) − F(Q
12L)
]
− 12
∆τ∆dAL
[
W(Q12C) − W(Q
12L)
]
QR = 12(Q
12C + Q
12R) − 1
2∆τ∆d
[
F(Q12R) − F(Q
12C)
]
− 12
∆τ∆dAR
[
W(Q12R) − W(Q
12C)
]
AL = A
(
12(Q
12L + Q
12C)
)
AR = A
(
12(Q
12C + Q
12R)
)
(4.75)
Once the initial data have been evolved to QL and QR using (4.74) and (4.75), a linear
Riemann solver is used in order to find the sought intercell state Qi+1/2 solving the following
classical linear Riemann problem.
∂tW + B∂xW = 0,
W(x, 0) =
WL ≡ WL(QL) if x < 0
WR ≡ WR(QR) if x > 0
(4.76)
Qi+1/2 is used in the numerical scheme (3.31)-(3.32) for updating cell averages.
4.3.5 Stratified Riemann solver
The stratified formulation for two-phase flows was reported in [11], whereby the two-phase
Riemann problem is reduced to a set of single phase Riemann problems. These simpler
problems obey the single-phase gas dynamic Euler system, for which more choices to solve
the Riemann problem are available. Here we couple this formulation with the exact and
EVILIN Riemann solvers.
In general multifluid models are constructed from averaging techniques [50] where the
fraction of the volume occupied by each fluid is known but not the spatial distribution.
Applying the stratified hypothesis this spatial distribution is constructed based on the void
fractions αk producing the configuration depicted in Fig. 4.8: two adjacent cells containing
a mixture of two phases are transformed to the stratified representation by applying the
60
4. Classical Riemann solvers
stratified hypothesis. In this new representation three fluid interfaces are produced at
xi+1/2. Four interactions are possible depending on the void fraction in each cell, namely:
fluid 1 - fluid 1, fluid 1 - fluid 2, fluid 2 - fluid 1 and fluid 2 - fluid 2. Each interaction has
a weight ωl with l = 1, 2, 3, 4 defined as follow
ω1 = minα1i, α1i+1 ω4 = minα2i, α2i+1ω2 = max0, α1i − α1i+1 ω3 = max0, α2i − α2i+1
, (4.77)
with the conditions ω2 ·ω3 = 0 and ω1 +ω2 +ω3 +ω4 = 1. With these weights it is possible
ω4
ω3
ω1
α
1
0x
α1
1 1
22
α1
α2α2
1
2i +xi x
i+1 x
Figure 4.8: Stratified approach: The upper figure shows two adjacent cells with two fluidmixtures. The bottom figure shows the representation of the data after applyingthe stratification hypothesis.
to compute the intercell state
Qi+ 12
= ω1Q(1)
i+ 12
+ ω2Q(2)
i+ 12
+ ω3Q(3)
i+ 12
+ ω4Q(4)
i+ 12
, (4.78)
where Q(l)
i+ 12
is the solution of the Riemann problem for a single phase Euler system.
∂tQ + ∂xF(Q) = 0
Q(x, 0) =
QL ≡ Qk,i if x < xi+ 12
QR ≡ Qk,i+1 if x > xi+ 12
(4.79)
61
4. Classical Riemann solvers
The initial data Qk,i and Qk,i+1 with k = 1, 2 are computed for cell i as
Qi =
α1ρ1
α1ρ1u1
α1E1
α2ρ2
α2ρ2u2
α2E2
α1
i
⇒
Q1,i =
ρ1
ρ1u1
E1
i
Q2,i =
ρ2
ρ2u2
E2
i
(4.80)
The Riemann problems (4.79) have a well defined solution. The velocity u∗ between each
pair of non-linear waves (the velocity of the contact wave) plays a very important role. We
define the pair kL, kR with kL = 1, 2 and kR = 1, 2 for all combinations between fluids 1
or 2 into cell i(L) or i + 1(R). Following Table 4.1 the solution of the Riemann problem is
correctly assigned to Q(l)
i+ 12
.
kL kR l
1 1 1
2 2 4
1 2 2 if u∗ > 0
1 2 3 if u∗ < 0
2 1 2 if u∗ < 0
2 1 3 if u∗ > 0
Table 4.1: Assignment for intercell vectors Q(l)
i+ 12
After all Q(l)
i+ 12
are correctly computed, we used (4.78) to obtain the seven-component
intercell state Qi+ 12. Qi+1/2 is used in the numerical scheme (3.31)-(3.32) for updating cell
averages.
The three solvers presented in sections 4.3.3, 4.3.4 and 4.3.5 can be used to solve the
classical non-linear Riemann problem. They also can be used to construct the solution of
the Derivative Riemann Problem of Chapter 5. In the following section we present the
solution of the linear Riemann problem for the Baer-Nunziato equations which is used in
the corrector step of the EVILIN solver.
4.3.6 Linear Riemann solver
Here we present the solution of the linear Riemann problem formulated in terms of the
physical variables. This solution can be used in the corrector step in the EVILIN solver as
62
4. Classical Riemann solvers
presented in section 4.3.4, and in the ADER framework for solving the high order terms,
in the construction of the Derivative Riemann Problem solver.
We solve the following linearized Riemann problem,
PDE: ∂tW + B ∂xW = 0, x ∈ (−∞,∞), t > 0.
IC: W(x, 0) =
WL if x < 0 ,
WR if x > 0 ,
(4.81)
with W and B = B(W) as in (4.51), and W frozen at W = 12(WL+WR). The eigenvalues
and right eigenvector of B were given in (4.52), (4.53) and (4.54).
We define the jump ∆ = WR − WL and solve the following linear system,
7∑
i=1
δiri = ∆ , (4.82)
with ri being the right column eigenvectors (4.53) and (4.54) and δi being the unknown
wave strengths.
The wave strengths are found to be,
δ1 =−ρ1∆2
2a1+ ∆3
2a21
+(p1 − p2)∆7
2α1a21
δ2 =−ρ2∆5
2a2+ ∆6
2a22
− ρ2(u1 − u2)∆7
2α2(u1 − u2 + a2)
δ3 = ∆4 − ∆6
a22
δ4 = ∆1 − ∆3
a21
− (p1 − p2)∆7
α1a21
δ5 = ∆7
α2
(
(u1 − u2)2 − a2
2
)
δ6 =ρ2∆52a2
+ ∆6
2a22
− ρ2(u1 − u2)∆7
2α2(u1 − u2 − a2)
δ7 =ρ1∆22a1
+ ∆3
2a21
+(p1 − p2)∆7
2α1a21
(4.83)
The solution of the linear Riemann problem along the t axis is obtained from (2.35) as
follows,
W(0, t) = WL +∑
λi≤ 0
δiri or W(0, t) = WR −
∑
λi> 0
δiri . (4.84)
63
4. Classical Riemann solvers
With the solvers presented on this section we can solve the classical Riemann prob-
lem. These solvers are used to obtain the intercell state between two neighbouring cells
and, introduced in (3.31), update the cell average in time. They can also be used in the
construction of the Derivative Riemann Problem solver, as is shown in Chapter 6.
4.4 Shallow water equations
In this section we develop solutions to the classical Riemann problem for the shallow water
equations.
4.4.1 Introduction
The shallow water equations are a system of non-linear hyperbolic conservation laws that
governs water flows with a free surface under the force of gravity.
The principal feature of the shallow water equations comes from assuming the hydro-
static hypothesis over the general conservations principles. In addition, proper boundary
conditions, constant density and negligible viscous stress are further simplifications. Typ-
ical applications of this type of equations are dam break modelling, flood waves in rivers,
tides in oceans and tsunami waves. See [93] for a review of the system. See also [84] and
[58] for general background.
The main difficulties arise from the complex geometries involved and when wet/dry
fronts are considered. Also variable topography and friction terms represent non trivial
numerical issues. Another difficulty with shallow water equations arise when numerical
schemes are unable to correctly balance fluxes and sources in the steady state.
In the next section we present the solution of the Riemann problem following the de-
scription presented in the book of Toro [93].
The reference coordinate system is depicted in Fig. 4.9. The free surface has elevation
z = b(x, y) + h(x, y, t), where b(x, y) is the prescribed space dependent bottom elevation,
and h(x, y, t) is the unknown space-time dependent depth of water.
We consider the free surface as the sum of the water depth and the bottom elevation. The
zero hight reference level is typically located below the minimum of the bottom elevation.
64
4. Classical Riemann solvers
x
y
z
z=b(x,y)+h(x,y,t)
z=b(x,y)
Free surface
Bottom
b(x,y)
h(x,y,t)
Figure 4.9: Reference coordinate system for bed b(x, y) and free surface elevation b(x, y)+h(x, y, t).
4.4.2 Equations and eigenstructure
Considering the two dimensional shallow water equations with non-horizontal bottom ele-
vation we have,
∂t(h) + ∂x(hu) + ∂y(hv) = 0 ,
∂t(hu) + ∂x(hu2 + 12gh2) + ∂y(huv) = −ghbx ,
∂t(hv) + ∂x(huv) + ∂y(hv2 + 12gh2) = −ghby ,
(4.85)
where h is the water depth, u and v are the particle velocity components in x and y
directions respectively, g is the gravity force and b is the bottom elevation. In (4.85), bx
and by are the partial derivatives in x and y directions.
System (4.85) can be written in vectorial form as follows,
∂tQ + ∂xF(Q) + ∂yG(Q) = S(Q) , (4.86)
where
Q =
h
hu
hv
, F(Q) =
hu
hu2 + 12gh2
huv
,
G(Q) =
hv
huv
hv2 + 12gh2
, S(Q) =
0
−ghbx
−ghby
.
(4.87)
For solving the classical Riemann problem we consider the following augmented homo-
65
4. Classical Riemann solvers
geneous one dimensional problem,
∂tQ + ∂xF(Q) = 0 , (4.88)
which written in quasi linear form for the physical variables reads,
∂tW + B(W)∂xW = 0 , (4.89)
with
W =
h
u
v
, B(W) =
u h 0
g u 0
0 0 u
. (4.90)
The eigenvalues of matrix B(W) are
λ1 = u − a , λ2 = u , λ3 = u + a , (4.91)
with respective right eigenvectors,
r1 =
h
−a
0
, r2 =
0
0
1
, r3 =
h
a
0
, (4.92)
and left eigenvectors,
l1 = [a , −h , 0] , l2 = [0 , 0 , 1] , l3 = [a , h , 0] , (4.93)
with a = a(h) =√
gh, the celerity.
The shallow water equations are a hyperbolic system and is strictly hyperbolic if the
depth is strictly positive h > 0.
Studying the characteristic fields we observe that wave families associated to λ1 and λ3
are genuinely non-linear, while the wave family associated to λ2 is linearly degenerate.
4.4.3 Non linear Riemann solver
We want to solve the following classical Riemann problem,
PDEs: ∂tQ + ∂xF(Q) = 0 , x ∈ (−∞,∞) , t > 0 ,
IC: Q(x, 0) =
QL = Q(WL) if x < 0 ,
QR = Q(WR) if x > 0 ,
(4.94)
66
4. Classical Riemann solvers
with
WL =
hL
uL
vL
, WR =
hR
uR
vR
, (4.95)
the initial constant data.
xx=0
t
WL WR
λ1
λ2
λ3
WL WR* *
FLFR
Figure 4.10: Wave structure for the 2 dimensional shallow water equations. Functions FL
and FR connect the outer states WL and WR (constant initial conditions)with the unknown constant states W∗
L and W∗R (Star Zone).
The unknown quantities in the star zone are given by the vectors
W∗L =
h∗L
u∗L
v∗L
, W∗
R =
h∗R
u∗R
v∗R
. (4.96)
For constructing the exact Riemann solver, we use the same methodology as presented
in the previous sections.
Applying the GRIs we know that across the contact wave λ2,
dh
0=
du
0=
dv
1, (4.97)
the depth h and the velocity u remain constant, that is, h∗L = h∗
R = h∗ and u∗L = u∗
R = u∗.
This condition suggests to find two expressions FL and FR, one on the left and one on the
right of the contact wave associated to λ2 = u∗, that connects the star zone with the initial
data in terms of the depth h∗ and the velocity u∗. In this form we can use the velocity u∗
to obtain one non-linear algebraic equation that dependent only on h∗.
These two functions are FL(h∗,WL) and FR(h∗,WR) and are defined depending on the
type of non-linear waves that they cross, named rarefaction waves or shock waves.
67
4. Classical Riemann solvers
The GRIs across λ = u ± a for rarefaction waves read,
dh
h=
du
±a=
dv
0. (4.98)
From (4.98), is concluded that v is constant across rarefactions. The first equality of
(4.98) gives
u ∓ 2a = constant. (4.99)
Functions FL and FR for rarefaction waves read,
FL(h∗,WL) ≡ u∗ = uL + 2 (aL + a(h∗)) ,
FR(h∗,WR) ≡ u∗ = uR − 2 (aR − a(h∗)) .(4.100)
For shock waves we use Rankine-Hugoniot conditions. Utilizing the transformation vari-
able in order to obtain a stationary shock, as in section 4.2.3.3, the Rankine-Hugoniot
conditions apply to the PDEs in (4.94). Here we only show the final result. For details see
Chapter 3 in [93].
Functions FL and FR for shock waves read,
FL(h∗,WL) ≡ u∗ = uL − (h∗ − hL)
√
12g
(
h∗+hLh∗hL
)
,
FR(h∗,WR) ≡ u∗ = uR + (h∗ − hR)
√
12g
(
h∗+hRh∗hR
)
.
(4.101)
Note that (4.100) and (4.101) express the velocity u∗ in terms of the know data and
the unknown depth h∗. The first part of the Riemann problem (4.94) is solved finding the
roots of the following non-linear algebraic equation,
F (h∗,WL,WR) = FL(h∗,WL) − FR(h∗,WR) = 0 , (4.102)
Functions FL(h∗,WL) and FR(h∗,WR) are selected considering the non-linear waves
associated to λ1 and λ3 from (4.100) and (4.101). We select the non-linear waves, and
therefore the functions, using the entropy condition (2.46), which apply to (4.94). The
wave family associated to λ = u ± a is a rarefaction wave if h∗ ≤ hk, while it generates a
shock wave if h∗ > hk, with k = L, R.
Once the particular waves are selected, the non-linear equation (4.102) has as unknown
the depth h∗ and can be solved using an iterative procedure such as Newton-Raphson. For
one non-linear equation this method is highly efficient, regarding that we identify proper
limits, such as negative depth.
68
4. Classical Riemann solvers
After solving (4.102) for h∗, the velocity u∗ is obtained from (4.100) or (4.101). With this
information we compute the wave speeds and the complete wave structure is defined. For
numerical purpose we need to sample this wave structure and identify the state along the
t axis. This state is used to compute the numerical flux in one of the numerical methods
presented in Chapter 3.
4.4.4 Linear Riemann solver
Here we present the solution of the linearized version of the Riemann problem (4.94). We
start with equations (4.88) as follows,
∂tQ + ∂xF(Q) = 0 . (4.103)
Computing the Jacobian matrix we obtain the quasi-linear form,
∂tQ + A(Q)∂xQ = 0 . (4.104)
We linearise (4.104) and pose the following linear Riemann problem,
PDE: ∂tQ + A ∂xQ = 0, x ∈ (−∞,∞), t > 0.
IC: Q(x, 0) =
QL if x < 0 ,
QR if x > 0 ,
(4.105)
where A = A(Q) is frozen at Q = 12(QL + QR).
We can solve (4.105) as in section 2.6. Recall that the eigenvalues are: λ1 = u − a,
λ2 = u, λ3 = u + a. We define the jump ∆ = QR − QL and solve the following linear
system for the unknown wave strengths δi,
3∑
i=1
δiri = ∆ , (4.106)
where ri are the right column eigenvectors of A,
r1 =
1
u − a
v
, r2 =
0
0
1
, r3 =
1
u + a
v
. (4.107)
69
4. Classical Riemann solvers
The solution of the linear problem (4.106) is
δ1 =(u + a)∆1 − ∆2
2a ,
δ2 = −v∆1 + ∆3 ,
δ3 = −(u − a)∆1 − ∆22a .
(4.108)
The expected solution over the t axis is obtained from (2.35) as follows,
Q(0, t) = QL +∑
λi≤ 0
δiri or Q(0, t) = QR −
∑
λi> 0
δiri . (4.109)
In this chapter we presented solutions of the classical Riemann problem where the ini-
tial data are constant values. We presented solutions of the linear and non-linear cases.
Fundamental knowledge to solve these classical Riemann problems are the waves struc-
ture and the characteristic fields involved. These solutions can be used to evaluate the
numerical flux between two neighbouring cells and therefore to construct Godunov-type
numerical methods. In the next chapter these solvers are used to construct the solution of
the Derivative Riemann Problem.
The Chapter 5 is dedicated to the solution of the Derivative Riemann Problem (DRP).
In this type of Riemann problems, the initial data are not constant, instead of this, they
are polynomial vectors on both sides of the initial discontinuity. Solving the DRP allow us
to construct ADER schemes of arbitrary accuracy in space and time.
70
5 The Derivative Riemann Problem
5.1 Introduction
The classical Riemann problem is the Cauchy problem for a system of conservation laws,
with initial condition consisting of two constant states separated by a discontinuity. The
solution of this Riemann problem was first used by Godunov to construct his first-order
upwind numerical scheme [40]. Methods to solve the classical Riemann problem are studied,
for example, in [95]. In Chapter 4 of this thesis we studied methods for solving the classical
Riemann problem for three systems. The so-called generalized Riemann problem, in which
the initial condition consists of two polynomials of first degree (vectors) separated by a
discontinuity at the interface, has been used to construct Godunov-type schemes of second
order of accuracy [66], [102], [5], [21], [7], [65], [92], [95], [6].
The more general Cauchy problem with initial conditions consisting of two smooth func-
tions separated by a discontinuity at the origin has also been studied in recent years; this
is the theme of this chapter. We call this Cauchy problem the Derivative Riemann Prob-
lem, or DRP, to distinguish it from the terminology Generalized Riemann problem, mostly
associated with the simpler problem with piece-wise linear initial conditions. Theoretical
aspects regarding the DRP are found in [56], [57] and references therein.
A method to solve the Derivative Riemann Problem was presented in [99], which is
a generalization to arbitrary order of the MGRP approach communicated in [91], [92]
for second-order schemes, to solve non-linear hyperbolic systems. The method of [99] is
applicable to non-linear hyperbolic systems with source terms. The technique expresses
the time-dependent solution at the interface as a power series expansion of order K. The
leading term of the expansion is the solution of a classical, usually non-linear, Riemann
problem. The determination of the higher order terms involves the Cauchy-Kowalewski
method to express time derivatives in terms of functions whose arguments are spatial
derivatives. In order to define the spatial derivatives one first constructs new evolution
equations for these and then solves additional classical Riemann problems. The solutions
of these classical Riemann problems define all spatial derivatives at the interface. The
complete solution is then built up by evaluating the functions of spatial derivatives and
71
5. The Derivative Riemann Problem
assembling the complete series. In this manner the method of solution of order K boils
down to solving 1 classical non-linear Riemann problem for the leading term and K classical
linear Riemann problems for spatial derivatives. An extended version of the method to
deal with more general hyperbolic systems is presented in [101].
The present chapter is motivated by number of issues. First, it appears necessary to
examine more closely the quality of the approximate solutions produced by the existing
DRP solver of Toro and Titarev [99], for the case of non-linear systems. In addition, we
have recently identified a class of problems for which this DRP solver may experience
some difficulties. The problems in question include, locally, a stationary discontinuity, a
shock wave or a contact wave, for which the DRP expansion of [99] may be non-unique,
giving rise to a non-unique choice of intercell numerical flux. At the level of the first-
order scheme the choice is unique due to the Rankine-Hugoniot conditions that ensure the
continuity of the flux; that is, the flux is the same whether it is taken from the left or
from the right of the interface. For the high-order schemes the fluxes are different. We
also present new DRP solvers and discuss their relative performance, at the local level,
as well as a means to provide a numerical flux for high-order methods. The high-order
method first proposed by Harten, Engquist, Osher and Chakravarthy [45], after a minor
modification, may be interpreted in the frame of the ADER methods. That is, we could
define an associated derivative Riemann problem with a corresponding method to solve
it. We call the resulting method the HEOC solver. We also propose a new solver that
is a modification of the Toro-Titarev solver. The main feature of this DRP solver is that
the high-order terms are computed by solving linearized classical Riemann problems for
the high-order time derivatives. This is motivated by the fact that for a linear system,
all-order time derivatives obey the original system of PDEs. We note that for the case of a
linear system with constant coefficients all three methods studied here coincide and their
solution is identical to the exact solution of the DRP problem.
5.2 The Derivative Riemann Problem
Here we first state the mathematical problem and then briefly review an existing semi-
analytical method to compute the solution at the interface as a function of time.
72
5. The Derivative Riemann Problem
5.2.1 The Mathematical Problem
The Derivative Riemann Problem is the initial-value problem
PDEs: ∂tQ + ∂xF(Q) = S(Q) , x ∈ (−∞,∞) , t > 0 ,
IC: Q(x, 0) =
QL(x) if x < 0 ,
QR(x) if x > 0 .
(5.1)
The partial differential equations (PDEs), with source terms, are assumed to be a gen-
eral system of hyperbolic balance laws. The initial condition (IC) consists of two vectors
QL(x), QR(x), the components of which are assumed to be smooth functions of x, with
K continuous non-trivial spatial derivatives away from zero. We denote by DRPK the
Cauchy problem (5.1). In the DRP0 all first and higher-order spatial derivatives of the
initial condition away from the origin vanish identically; this case corresponds to the clas-
sical piece-wise constant data Riemann problem, associated with the first-order Godunov
scheme [40]. Similarly, in the DRP1 all second and higher-order spatial derivatives of the
initial condition for the DRP away from the origin vanish identically; this case corresponds
to the piece-wise linear data Riemann problem, or the so-called generalized Riemann prob-
lem (GRP), associated with a second-order method of the Godunov type [66], [102], [5],
[21], [7], [65], [92], [6].
xx=0
q(x,0)
qL
qR
(a)
xx=0
t
QL QR
(b)
Figure 5.1: The classical Riemann problem for a typical 3×3 non-linear system. (a): Initialcondition at t = 0 for a single component q of the vector of unknowns Q. (b):Structure of the solution on the x − t plane.
Fig. 5.1 depicts the classical Riemann problem DRP0 for a typical 3×3 non-linear system
for which it is assumed that the left wave is a rarefaction, the right wave is a shock and the
middle wave is a contact. Fig. 5.1(a) shows the initial condition for a single component
q of the vector of unknowns Q. Fig. 5.1(b) depicts the structure of the corresponding
solution on the x − t plane; characteristics curves are straight lines. Fig. 5.2 illustrates
73
5. The Derivative Riemann Problem
x
q(x,0)
qL(x)
qR(x)
x=0
(a)
t
QL(x) QR(x)
QLR(τ)
xx=0
(b)
Figure 5.2: The Derivative Riemann Problem for a typical 3 × 3 non-linear system. (a):Initial condition at t = 0 for a single component q of the vector of unknownsQ. (b): Structure of the solution on the x − t plane.
the Derivative Riemann Problem DRPK ; Fig. 5.2(a) depicts the initial condition for a
single component q and consists of two smooth functions (space dependent) separated by a
discontinuity at the origin. Fig. 5.2(b) depicts the corresponding structure of the solution
on the x − t plane. Now characteristics are no longer straight lines. Compare Figs. 5.1
and 5.2. The aim of a DRP solver is to find the solution of (5.1) at the origin x = 0 and
for t > 0, as a function of time and represented by QLR(τ) in Fig. 5.2(b).
Recall that for the classical Riemann problem the solution is self-similar, it depends
on the ratio x/t and is constant at x = 0 (the interface) for t > 0. In many situations
of interest one can find the solution everywhere in the half plane x ∈ (−∞,∞), t > 0,
although for the purpose of computing a numerical flux, knowing the solution along the
interface is sufficient. For the derivative Riemann problem DRPK , with K > 0, finding the
solution in the half plane x ∈ (−∞,∞), t > 0, is a formidable task that is possible only in
special cases. See [65] for the complete solution of the DRP1 for the Euler equations for
ideal gases.
To construct high-order numerical methods of the ADER type [98] it is sufficient to find
the solution QLR(τ) at the interface position x = 0, as a function of time τ alone. QLR(τ)
will provide sufficient information to compute a numerical flux to construct a numerical
scheme of (K+1)-th order of accuracy in both space and time. The corresponding intercell
numerical flux, denoted by FLR, is the time-integral average
FLR =1
∆t
∫ ∆t
0F(QLR(τ))dτ , (5.2)
where ∆t is the time step of the scheme. Numerical methods based on this framework
were called ADER methods in [98]. Early versions of the approach were communicated in
74
5. The Derivative Riemann Problem
[91], [92].
Note that the conventional case of piece-wise constant data reproduces the classical
first-order upwind method of Godunov [40].
5.2.2 A Known Method of Solution
Here we briefly review the method proposed by Toro and Titarev [99], [101], whereby
a semi-analytical solution of the Derivative Riemann Problem (5.1) is obtained. Their
method, as in [5] for second order and in [56] for the general case, first expresses the
sought solution QLR(τ) at the interface x = 0 as the power series expansion in time
QLR(τ) = Q(0, 0+) +K
∑
k=1
[
∂(k)t Q(0, 0+)
] τk
k!, (5.3)
where
Q(0, 0+) = limt→0+
Q(0, t) .
The solution contains the leading term Q(0, 0+) and higher-order terms, with coefficients
determined by the time derivatives ∂(k)t Q(0, 0+). The determination of all terms in the
expansion includes the following steps:
Step (I): The leading term. To compute the leading term one solves exactly or ap-
proximately the conventional Riemann problem
PDEs: ∂tQ + ∂xF(Q) = 0 ,
ICs: Q(x, 0) =
QL(0−) if x < 0 ,
QR(0+) if x > 0 ,
(5.4)
with
QL(0−) = limx→0−
QL(x) , QR(0+) = limx→0+
QR(x) . (5.5)
The similarity solution of (5.4) is denoted by D(0)(x/t) and the leading term in (5.3)
is
Q(0, 0+) = D(0)(0) . (5.6)
Step (II): Higher order terms. There are three sub-steps here.
1. Time derivatives in terms of spatial derivatives: Use the Cauchy-Kowalewski
method to express time derivatives in (5.3) in terms of functions of space deriva-
75
5. The Derivative Riemann Problem
tives
∂(k)t Q(x, t) = G(k)(∂(0)
x Q, ∂(1)x Q, . . . , ∂(k)
x Q) . (5.7)
The source terms S(Q) in (5.1) are all included in the arguments of the functions
G(k). The problem now is that of determining the arguments of G(k), namely
the spatial derivatives at the interface.
2. Evolution equations for derivatives: Construct evolution equations for spa-
tial derivatives
∂t(∂(k)x Q(x, t)) + A(Q)∂x(∂(k)
x Q(x, t)) = H(k) , (5.8)
where A(Q) is the Jacobian matrix of the PDEs in (5.1).
3. Riemann problems for spatial derivatives: Simplify (5.8) by neglecting
the right-hand side terms H(k) and linearizing the evolution equations. Then
pose classical, homogeneous linearized Riemann problems for spatial derivatives
PDEs: ∂t(∂(k)x Q(x, t)) + A
(0)LR∂x(∂
(k)x Q(x, t)) = 0 ,
ICs: ∂(k)x Q(x, 0) =
∂(k)x QL(0−) if x < 0 ,
∂(k)x QR(0+) if x > 0 ,
(5.9)
with A(0)LR = A(Q(0, 0+)). Solve these Riemann problems to obtain similarity
solutions D(k)(x/t) and set
∂(k)x Q(0, 0+) = D(k)(0) . (5.10)
Step (III): The solution. Form the solution as the power series expansion:
QLR(τ) = C0 + C1τ + C2τ2 + . . . + CKτK , (5.11)
with C0 as in (5.6) and
Ck ≡ ∂(k)t Q(0, 0+)
k!=
G(k)(D(0)(0),D(1)(0), . . . ,D(k)(0))
k!, (5.12)
for k = 1, . . . , K.
This solution technique for the Derivative Riemann Problem DRPK reduces the problem
to that of solving K + 1 classical homogeneous Riemann problems, one (generally non-
76
5. The Derivative Riemann Problem
linear) Riemann problem to compute the leading term and K linearized Riemann problems
to determine the higher order terms.
The leading term requires the availability of a Riemann solver, exact or approximate.
The K linearized Riemann problems (5.9) for most well-known systems associated with
the higher order terms can be solved analytically and no choice of a Riemann solver is
necessary. Moreover, all of these linearized problems have the same eigenstructure, as the
coefficient matrix is the same for all Riemann problems for derivatives.
In principle, the technique can be applied to calculate the early-time solution of advection-
reaction equations with piece-wise smooth initial conditions. One can set up a derivative
Riemann problem at any desired position, taking care that at each point x = xd of dis-
continuity in the initial condition one sets a corresponding derivative Riemann problem
centred at xd. The solution at each point xd, for a small time τ , can be used to check the
results of numerical schemes.
5.3 Other Methods of Solution
Here we study two alternative methods for solving the DRP (5.1). The first results from a
re-interpretation of the high-order numerical method first proposed by Harten, Engquist,
Osher and Chakravarthy [45]. Consequently we call this derivative Riemann solver, the
HEOC solver. The second method we study results from a modification of both the Toro-
Titarev solver [99] of section 5.2.2 and the HEOC solver. We denote this method of solution
as the CT solver.
5.3.1 Interaction of Power-Series Expansions
Here we re-interpret the method proposed by Harten, Engquist, Osher and Chakravarthy
[45] to compute numerical fluxes for their high-order methods, as a technique to provide an
approximate solution to the derivative Riemann problem (5.1) at the interface x = 0, as a
function of time. They proposed power series expansions in space and time for the solution
in each control volume, or cell. There followed the application of the Cauchy-Kowalewski
method to convert all time derivatives in the expansions to space derivatives, which in turn
could be computed on the initial data.
In our re-interpretation we include source terms in the equations and consider power
series expansions in time on each side of the interface
QL(τ) = QL(0−) +K
∑
k=1
[
∂(k)t Q(0−, 0)
] τk
k!(5.13)
77
5. The Derivative Riemann Problem
and
QR(τ) = QR(0+) +K
∑
k=1
[
∂(k)t Q(0+, 0)
] τk
k!, (5.14)
with
Q(0−, 0) = limx→0−
Q(x, 0) ≡ QL(0−) (5.15)
and
Q(0+, 0) = limx→0+
Q(x, 0) ≡ QL(0+) . (5.16)
The Cauchy-Kowalewski method allows us to use the PDEs in (5.1) to express all time
derivatives in (5.13), (5.14) as functions of space derivatives and of the source terms S(Q),
namely
∂(k)t Q(x, t) = G(k)(∂(0)
x Q, ∂(1)x Q, . . . , ∂(k)
x Q) . (5.17)
These expressions are well defined to the left and right of the interface, given that the
initial conditions in (5.1) are assumed to be smooth away from 0. We can also define
the limiting values from left and right, at t = 0, of the spatial derivatives of the initial
conditions
Q(k)L (0−) ≡ lim
x→0−
dk
dxkQL(x) , (5.18)
Q(k)R (0+) ≡ lim
x→0+
dk
dxkQR(x) . (5.19)
Thus we have
∂(k)t Q(0−, 0) = G(k)(Q
(0)L (0−),Q
(1)L (0−), . . . ,Q
(k)L (0−)) , (5.20)
and
∂(k)t Q(0+, 0) = G(k)(Q
(0)R (0+),Q
(1)R (0+), . . . ,Q
(k)R (0+)) . (5.21)
We define the solution of the DRP (5.1) at the interface x = 0, at time t = τ as
QLR(τ) = D(τ, 0) , (5.22)
where now D(τ, x/(t−τ)) is the similarity solution of the classical, homogeneous Riemann
78
5. The Derivative Riemann Problem
L R
x=0
t=0
t=τ
QL(τ) QR(τ)
D(τ,0)t
x
xL R
Figure 5.3: Illustration of the HEOC Derivative Riemann Problem solver. The limitingvalues of the initial data from left and right (circles) are time evolved sepa-rately to any time τ (rhombuses). The desired solution results from solving theclassical Riemann problem with these evolved states as data.
problem
PDEs: ∂tQ + ∂xF(Q) = 0 ,
ICs: Q(x, 0) =
QL(τ) if x < 0 ,
QR(τ) if x > 0 .
(5.23)
Note that here D(τ, x/(t−τ)) depends on the parameter τ . We call this re-interpretation
of the method proposed by Harten et al. [45] as a derivative Riemann solver, the HEOC
solver.
Fig. 5.3 gives an interpretation of the HEOC solution method for the DRP (5.1). At
time t = 0 one performs a Taylor series expansion in time on the limiting values of the data
left and right of the interface (circles). Upon the application of the Cauchy-Kowalewski
method one evolves the data in time on each side of the interface to yield time-evolved
states QL(τ) and QR(τ), at any chosen time t = τ (rhombuses in Fig. 5.3). These
(constant) states at t = τ form the initial conditions for a classical Riemann problem, as
depicted on the top part of Fig. 5.3 by the self-similar wave pattern. The sought solution
is that given by (5.22), which is constant along the t-axis associated with the self-similar
wave pattern. As the method applies to any time τ one has a time-dependent solution at
the interface.
We remark that, just as in the Toro-Titarev solver [99] reviewed in Sect. 5.2.2, the
79
5. The Derivative Riemann Problem
HEOC solution method as presented here applies to in-homogeneous non-linear conser-
vation balance laws. The influence of the source term enters via the Cauchy-Kowalewski
method, but note that at no point in the method it becomes necessary to solve Riemann
problems, explicitly accounting for the influence of the source terms.
5.3.2 Interaction of Time Derivatives
Another method of solution for the DRP (5.1) results from a modification of both the
Harten et al. (HEOC) and the Toro-Titarev (TT) solvers. The sought solution at the
interface is again expressed as in (5.3), with the leading term computed as in (5.6). This
part is identical to the TT solver. To compute the higher order terms we solve time-
derivative Riemann problems, that is, for any index k > 0 we compute ∂(k)t Q(0−, 0) and
∂(k)t Q(0+, 0) as in (5.20) (left) and (5.21) (right). To find ∂
(k)t Q(0, 0+) right at the interface
we solve the classical linearized homogeneous Riemann problem
PDEs: ∂t(∂(k)t Q(x, t)) + A
(0)LR∂x(∂
(k)t Q(x, t)) = 0 ,
ICs: ∂(k)t Q(x, 0) =
∂(k)t Q(0−, 0) if x < 0 ,
∂(k)t Q(0+, 0) if x > 0 .
(5.24)
The similarity solution is denoted by T(k)(x/t) and the sought value is
∂(k)t Q(0, 0+) = T(k)(0) . (5.25)
The final solution has the form (5.11) with C0 as in (5.6) and
Ck ≡ ∂(k)t Q(0, 0+)
k!=
T(k)(0)
k!, (5.26)
for k = 1, . . . , K.
Note the analogy between (5.9) and (5.24). Both are motivated by the fact that for a
linear homogeneous system with constant coefficient matrix A all temporal and spatial
partial derivatives of the vector of unknowns, if defined, obey the original system, namely
∂t(∂(k)t Q(x, t)) + A∂x(∂
(k)t Q(x, t)) = 0 ,
∂t(∂(k)x Q(x, t)) + A∂x(∂
(k)x Q(x, t)) = 0 .
(5.27)
80
5. The Derivative Riemann Problem
Note also that for the DRP for the linear advection equation
PDE: ∂tq + λ∂xq = 0 , x ∈ (−∞,∞) , t > 0 ,
IC: q(x, 0) =
qL(x) if x < 0 ,
qR(x) if x > 0 ,
(5.28)
with λ a constant wave propagation speed, all the proposed solutions (TT, HEOC, CT)
coincide with the exact solution and is given by
qLR(τ) =
qL(0−) +∑K
k=1
[
(−1)kλkq(k)L (0−)
] τk
k!if λ > 0 ,
qR(0+) +∑K
k=1
[
(−1)kλkq(k)R (0+)
] τk
k!if λ < 0 ,
(5.29)
with
q(k)L (0−) ≡ dk
dxkqL(0−) , q
(k)R (0+) ≡ dk
dxkqR(0+) . (5.30)
One can show that this is also true for a linear system with constant coefficients. For
non-linear systems the theoretical justification of the proposed solution method remains
an issue, as we shall point out in Chap. 6. Obviously, for the special case of piece-wise
constant data, the classical Riemann problem for non-linear systems is reproduced by all
the methods studied.
All these DRP solvers can be used to evaluate accurately the surface integrals in the
Finite Volume or in the Discontinuous Galerkin approach to compute numerical fluxes and
thus define high order numerical methods. See Chapter 7.
In the next chapter we assess the performance of the varies DRP solvers studied in this
chapter.
81
5. The Derivative Riemann Problem
82
6 Assessment of the Derivative Riemann
Problem solvers
6.1 Reference solution
In this section we assess the performance of the Derivative Riemann Problem solvers studied
in the previous chapter via a series of test problems for two different non-linear hyperbolic
systems. As no exact solutions are known for the class of test problems of interest here, we
obtain reference solutions by computing solutions numerically. To this end we use three
numerical methods, the first-order Godunov method, the second-order MUSCL-Hancock
(MH) method and the Random Choice Method (RCM) [36], all of them applied on a very
fine mesh.
We note that RCM has the unique property of being able to resolve the very-early time
evolution of the solution in a way that no other method known to us can do. This is
important, as the proposed DRP solvers are assessed in their domain of validity, namely
for short times. For test problems involving an initial discontinuity, most methods will
require a fairly large number of time steps to begin to gradually establish the structure of
the true solution. Moreover, the early-time numerical results may exhibit large unphysical
oscillations, even when monotone (for the scalar case) schemes are used. To illustrate this
point we solve a simple shock-tube problem for the Euler equations in the domain [−1, 1],
with initial data ρL = 1, uL = 3/4, pL = 1 for x < 0 and ρR = 1/8, uR = 0, pR = 1/10 for
x > 0.
Fig. 6.1 shows the exact (full line) and numerical solutions (symbols) at time t =
0.015 using the the Godunov first-order method (circles), the MUSCL-Hancock method
(squares) and the RCM method (triangles). For all three numerical methods we use the
exact Riemann solver. For the first two methods we use Ccfl = 0.9 and for RCM we use
Ccfl = 0.45. Fig. 6.1 shows only the region close to the position of the discontinuities at
time t = 0. For the output time considered the Godunov and MUSCL-Hancock methods
do only four time steps and RCM nine time steps. The first two methods are unable to
resolve the wave structure correctly. RCM finds all intermediate states correctly. This
property of RCM is useful to our purpose.
83
6. Assessment of the Derivative Riemann Problem solvers
Position x (m)
Pre
ssur
e(P
a)
-0.02 0.015 0.05
0.1
1
Position x (m)
Den
sity
(Kg/
m^3
)
-0.02 0.015 0.05
0.125
1
Position x (m)
Ene
rgy
(J/K
g)
-0.02 0.015 0.05
2
3.6
Position x (m)
Vel
ocity
u(m
/s)
-0.02 0.015 0.05
0
1.5
Figure 6.1: Shock-tube test problem. Exact (full line) and numerical solutions (symbols)at time t = 0.015 using the Godunov first-order method (circles), the MUSCL-Hancock method (squares) and the random choice method (triangles).
Recall that the DRP solution is valid precisely at the interface x = 0, as a function
of time. The numerical methods give the approximate solution in every cell of the mesh
that discretizes the domain [−1, 1]. For any mesh used one always has, at any time, one
value (vector) immediately to the left of x = 0 and one immediately to the right of x = 0.
To extract the sought reference solution at a given time we solve the classical Riemann
problem for these two neighbouring states and pick up the solution right at the interface
x = 0. This is the numerical solution that we compare with the DRP solutions.
84
6. Assessment of the Derivative Riemann Problem solvers
6.2 The Derivative Riemann Problem for the Euler equations
In this section we assess the Derivative Riemann Problem solvers applied to the Euler
equations of gas dynamics.
The series of test problems includes a simple test (Test 1) with smooth initial condition
throughout, no discontinuities in the data are present. A second test (Test 2) has no
jump discontinuities in the state variables but admits discontinuities in derivatives at the
interface. Other more demanding test problems are constructed from Test 2, by adding a
discontinuity in pressure. Four new cases are thus generated by varying the strength of the
initial pressure jump ∆p = (pL − pR)/pR at the interface, namely ∆p = 0.01, ∆p = 0.1,
∆p = 1.0 and ∆p = 10.0. For these four cases with an initial jump discontinuity the
reference numerical solution used is that obtained by the Random Choice Method, on a
very fine mesh.
6.2.1 Test 1: smooth initial conditions
The chosen initial conditions are smooth throughout, there are no jumps in state or deriva-
tives at x = 0 namely
ρ(x, 0) = 1 + 45sin(πx
2 ) + 110sin(5πx
2 )
u(x, 0) = 12(x − 1
2)4
p(x, 0) = 10 + 2x4
(6.1)
In this particular case all three DRP solvers give, algebraically, the same solution. In
Fig. 6.2 we present the solution of the DRP problem up to fifth order (DRP 4) for all
three components of the vector Q = [ρ, ρu, E] ≡ [Q(1),Q(2),Q(3)], where ρ is density, u
is particle velocity and E is total energy. As expected, by increasing the order, the DRP
solution approximates the reference solution very well. The DRP0 solution is constant in
time and the DRP1 solution is linear in time. We note that the approximation improves
with the order, which is verified for all three components Q(1), Q(2) and Q(3). For Q(2)
the DRP1 solution is practically identical to the DRP0 solution. This is correct in the
sense that at the time τ = 0+ the slope of the reference solution is close to zero and the
linear characteristic of the DRP1 solution will not modify this slope. Table 6.1 shows the
error in the L2 norm at different times. The main feature of these errors is that as time
decreases the error decreases and as the order of accuracy increases the error decreases, as
expected.
85
6. Assessment of the Derivative Riemann Problem solvers
Order t = 0.0125 t = 0.0250 t = 0.0500 t = 0.1000
DRP0 1.11656 × 10−1 2.34541 × 10−1 5.67043 × 10−1 2.39794 × 10+0
DRP1 2.79222 × 10−3 1.70783 × 10−2 1.32228 × 10−1 1.52756 × 10+0
DRP2 1.51932 × 10−3 1.27545 × 10−2 1.17151 × 10−1 1.47129 × 10+0
DRP3 6.89536 × 10−5 1.15772 × 10−3 2.44542 × 10−2 7.30551 × 10−1
DRP4 1.32762 × 10−5 2.66533 × 10−4 1.02054 × 10−2 5.02807 × 10−1
Table 6.1: Errors in L2 norm for the vector Q for Test 1.
6.2.2 Test 2: Initial data with discontinuous derivatives
Test 2 has piece-wise smooth initial conditions that are continuous at x = 0 but with
discontinuous derivatives at x = 0, namely
ρL(x, 0) = 1.433903078 + 45sin(π(x−0.3)
2 ) + 110sin(5π(x−0.3)
2 )
uL(x, 0) = 12(x − 4
5)4 − 0.17355
pL(x, 0) = 9.9838 + 2(x − 0.3)4
ρR(x, 0) = 1 + 45sin(πx
2 ) + 110sin(5πx
2 )
uR(x, 0) = 12(x − 1
2)4
pR(x, 0) = 10 + 2x4
(6.2)
For this test problem all three DRP solvers (TT, CT and HEOC) agree quite well for
the very early times but differ quite visibly for larger times. Figure 6.3 shows the fifth-
order (DRP4) solution for the three solvers, for each component of the vector Q. For
the first and third components the solver CT is the most accurate, followed by HEOC.
For the second component of Q, the TT solver gives better results. More comprehensive
information about the relative merits of the three solvers is given in Tables 6.2 to 6.4, where
errors measured in the L2 norm are displayed. For time t = 0.0250, the error of the DRP4
solution for the TT solver is 1.3295584 × 10−2, for the HEOC solver is 7.3686016 × 10−3
and for the CT solver is 5.1386851×10−3. A general conclusion is that for all three solvers
the error diminishes as the order increases, while the solution is more accurate for small
times, and for which they all tend to agree.
6.2.3 Tests with discontinuous initial conditions
The tests of this section are generated from the initial conditions (6.2) of Test 2 by adding a
term in pL(x, 0) and thus generating a jump ∆p = (pL(0, 0)−pR(0, 0))/pR(0, 0) in pressure
at x = 0. We consider the four cases: ∆p = 0.01, 0.1, 1.0, 10.0.
Results are shown in Figures 6.4 to Figure 6.7. Figure 6.4 displays results for ∆p = 0.01,
86
6. Assessment of the Derivative Riemann Problem solvers
Order t = 0.0125 t = 0.0250 t = 0.0500 t = 0.1000
DRP0 3.18474 × 10−1 6.99227 × 10−1 1.76165 × 10+0 7.85676 × 100
DRP1 2.43169 × 10−2 1.11019 × 10−1 5.85425 × 10−1 5.50450 × 100
DRP2 3.57148 × 10−3 2.80474 × 10−2 2.53714 × 10−1 4.17824 × 100
DRP3 1.98152 × 10−3 1.53861 × 10−2 1.52705 × 10−1 3.36836 × 100
DRP4 1.85090 × 10−3 1.32955 × 10−2 1.19316 × 10−1 2.83279 × 100
Table 6.2: Toro-Titarev solver. Errors for Test 2.
Order t = 0.0125 t = 0.0250 t = 0.0500 t = 0.1000
DRP0 3.18474 × 10−1 6.99227 × 10−1 1.76165 × 10+0 7.85676 × 100
DRP1 2.46867 × 10−2 1.12490 × 10−1 5.91241 × 10−1 5.52721 × 100
DRP2 4.70401 × 10−3 3.29470 × 10−2 2.76097 × 10−1 4.29057 × 100
DRP3 1.78129 × 10−3 9.56147 × 10−3 8.91781 × 10−2 2.79727 × 100
DRP4 1.64408 × 10−3 7.36860 × 10−3 5.42299 × 10−2 2.25443 × 100
Table 6.3: HEOC solver: Errors for Test 2.
Order t = 0.0125 t = 0.0250 t = 0.0500 t = 0.1000
DRP0 3.18474 × 10−1 6.99227 × 10−1 1.76165 × 10+0 7.85676 × 100
DRP1 2.43169 × 10−2 1.11019 × 10−1 5.85425 × 10−1 5.50450 × 100
DRP2 4.24609 × 10−3 3.07728 × 10−2 2.64623 × 10−1 4.22135 × 100
DRP3 1.32223 × 10−3 7.34350 × 10−3 7.70900 × 10−2 2.72215 × 100
DRP4 1.18530 × 10−3 5.13868 × 10−3 4.14296 × 10−2 2.14972 × 100
Table 6.4: Castro-Toro solver. Errors for Test 2.
87
6. Assessment of the Derivative Riemann Problem solvers
Time (s)
Q(3
)
0 0.02 0.04 0.06 0.08 0.1
25.00
27.00 Reference solution (MH)DRP0
DRP1
DRP2
DRP3
DRP4
Time (s)
Q(2
)
0 0.02 0.04 0.06 0.08 0.10.00
0.20 Reference solution (MH)DRP0
DRP1
DRP2
DRP3
DRP4
Time (s)Q
(1)
0 0.025 0.05 0.075 0.1
1.00
1.05
Reference solution (MH)DRP0
DRP1
DRP2
DRP3
DRP4
Figure 6.2: Test 1: DRP solution for Q(1) = ρ, Q(2) = ρu and Q(3) = E. Thick line isthe reference solution.
with a small pressure jump; the DRP solution improves as the order increases, for all three
solvers. In Fig. 6.5, for ∆p = 0.10, the solution from the TT solver improves as the order
increases. The situation is different for the CT and HEOC solvers, whose solutions cross
the reference solution.
Results for ∆p = 1.00 are shown in Fig. 6.6. Here the Toro-Titarev solver seems to
perform better but note that when the order increases to DRP4, it misrepresents the
curvature and thus crosses the reference solution. The solutions of the present solvers
CT and HEOC show wrong initial slopes. As the order increases the curvature seems to
approximate the curvature of the reference solution better, with the HEOC solution being
88
6. Assessment of the Derivative Riemann Problem solvers
Time (s)
Q(1
)
0 0.025 0.05 0.075 0.11.00
1.20
Reference solution (MH)TT4
CT4
HEOC4
Time (s)
Q(2
)
0 0.025 0.05 0.075 0.1
0.20
0.80
Reference solution (MH)TT4
CT4
HEOC4
Time (s)
Q(3
)
0 0.025 0.05 0.075 0.1
25.00
33.00
Reference solution (MH)TT4
CT4
HEOC4
Figure 6.3: Fifth order DRP solutions for Test 2, using TT, CT and HEOC for the threecomponents of Q.
89
6. Assessment of the Derivative Riemann Problem solvers
Time (s)Q
(2)
0 0.01 0.02 0.03 0.04 0.050.04
0.20
Reference solution (RCM)DRP4
DRP3
DRP2
DRP1
TT solver
Time (s)
Q(2
)
0 0.01 0.02 0.03 0.04 0.050.04
0.20
Reference solution (RCM)DRP4
DRP3
DRP2
DRP1
HEOC solver
Time (s)
Q(2
)
0 0.01 0.02 0.03 0.04 0.050.04
0.20
Reference solution (RCM)DRP4
DRP3
DRP2
DRP1
CT solver
Figure 6.4: DRP solution for TT, CT and HEOC solvers for ∆p = 0.01. Thick full line isthe reference solution obtained with RCM method.
closer to the reference solution than that of CT. For both the CT and HEOC solvers the
second order solution crosses the reference solution.
Figure 6.7 shows the DRP solutions for ∆p = 10.0. All three solvers give the wrong
initial slope. Their failure to agree with the reference solution increases dramatically as
the initial pressure jump becomes larger. Moreover, they fail to capture the initial slope
and the behaviour of the reference solution.
90
6. Assessment of the Derivative Riemann Problem solvers
Time (s)
Q(2
)
0 0.040.15
0.30
Reference solution (RCM)DRP4
DRP3
DRP2
DRP1
TT solver
Time (s)
Q(2
)
0 0.040.15
0.30
Reference solution (RCM)DRP4
DRP3
DRP2
DRP1
HEOC solver
Time (s)
Q(2
)
0 0.040.15
0.30
Reference solution (RCM)DRP4
DRP3
DRP2
DRP1
CT solver
Figure 6.5: DRP solution for TT, CT and HEOC solvers for ∆p = 0.10. Thick full line isthe reference solution obtained with RCM method.
91
6. Assessment of the Derivative Riemann Problem solvers
Time (s)
Q(2
)
0 0.030.90
1.02
Reference solution (RCM)DRP4
DRP3
DRP2
DRP1
TT solver
Time (s)
Q(2
)
0 0.030.90
1.02
Reference solution (RCM)DRP4
DRP3
DRP2
DRP1
HEOC solver
Time (s)
Q(2
)
0 0.030.90
1.02
Reference solution (RCM)DRP4
DRP3
DRP2
DRP1
CT solver
Figure 6.6: DRP solution for TT, CT and HEOC solvers for ∆p = 1.00. Thick full line isthe reference solution obtained with RCM method.
92
6. Assessment of the Derivative Riemann Problem solvers
Time (s)
Q(2
)
0 0.013.50
3.60
Reference solution (RCM)DRP4
DRP3
DRP2
DRP1
TT solver
Time (s)
Q(2
)
0 0.013.50
3.60
Reference solution (RCM)DRP4
DRP3
DRP2
DRP1
HEOC solver
Time (s)
Q(2
)
0 0.013.50
3.60
Reference solution (RCM)DRP4
DRP3
DRP2
DRP1
CT solver
Figure 6.7: DRP solution for TT, CT and HEOC solvers for ∆p = 10.0. Thick full line isthe reference solution obtained with RCM method.
93
6. Assessment of the Derivative Riemann Problem solvers
6.3 The Derivative Riemann Problem for the Baer-Nunziato
equations
In this section we assess the Toro&Titarev DRP solver for the multiphase Baer-Nunziato
equations (4.45). We present three test problems. The first one is an advection test for
the void fraction, the second test considers discontinuities in the pressures and the void
fraction, and the third test is more demanding where pressures have large discontinuities.
All tests consider ideal gases. Tests 1 and 2 consider gases characterized with γ = 1.4 while
test 3 considers two different fluids with γ1 = 4.4 and γ2 = 1.4. The reference solution
for each test is obtained with the MUSCL-Hancock numerical method and the EVILIN
Riemann solver presented in section 4.3.4 on a very fine mesh. The computational domain
is big enough such that the boundary conditions do not affect the solution at x = 0.
6.3.1 Test 1: Advection of the void fraction
The chosen initial conditions for Test 1 have constant density, velocity and pressure for
both fluids and a continuous distribution for the void fraction, namely
ρ1(x, 0) = 5 ρ2(x, 0)= 1
u1(x, 0) = 1 u2(x, 0)= 1
p1(x, 0) = 10 p2(x, 0)= 10
α1(x, 0) = 199945 + 4
27x + 1027x2 − 100
189x3
(6.3)
Fig. 6.8 shows the solution of the Derivative Riemann problem for Test 1 at x = 0. The
DRP solution approximates the reference solution as the order increases. Moreover, for
the DRP3, the solution looks very close to the reference one. Fig. 6.9 shows the error
of the DRP solution respect to the reference solution. As the order of the approximation
increases the error decreases as expected. This behaviour remains up to a certain time,
after which the approximation looses accuracy.
94
6. Assessment of the Derivative Riemann Problem solvers
Time (s)
void
frac
tion
0 0.05 0.10.19
0.2
0.21
Reference solution (MH)DRP0
DRP1
DRP2
DRP3
Figure 6.8: Test 1 for the DRP for the Baer-Nunziato equations. Solutions DRPk
(k=0,1,2,3) for the void fraction are compared with the reference solution.
Time (s)
void
frac
tion
0 0.05 0.1
0
0.005
0.01
0.015
Error DRP0
Error DRP1
Error DRP2
Error DRP3
Figure 6.9: Test 1 for the DRP for the Baer-Nunziato equations. Errors DRPk (k=0,1,2,3)for the void fraction are compared with the reference solution.
95
6. Assessment of the Derivative Riemann Problem solvers
6.3.2 Test 2: Mild jump in fluid-1 pressure
Test 2 considers constant densities if 1 and 0.9 for fluid 1 and 2 respectively. Velocities for
both fluids are set equal to 0. The pressures and void fractions are given by polynomials
to the left (L) of x = 0 and to the right (R) of x = 0:
p1L = 1.091 + 0.012x − 0.0106x2 p1R = 1.027 + 0.012x + 0.0106x2
p2L = 8.725 + 1.9x + 0.9x2 p2R = 7.275 + 1.9x − 0.9x2
α1L = 0.5 + 0.1x2 + 0.2x3 α1R = 0.5 + 0.1x2 + 0.2x3
(6.4)
Fig. 6.10 shows a comparison of the solution of the derivative Riemann problem at x = 0,
as a function of time. Results are compared with the reference solution (broken line). Fig.
6.11 shows plots of the corresponding errors. It is seen that for short times our solution
method provides accurate results, and these get better as the order of accuracy of the DRP
increases.
Time (s)
Flu
id-1
pres
sure
0 0.025 0.05 0.075 0.1
1.04
1.05
1.06
Reference solution (MH)DRP0
DRP1
DRP2
DRP3
Figure 6.10: Test 2 for the DRP for the Baer-Nunziato equations. Solutions DRPk
(k=0,1,2,3) for the fluid-1 pressure are compared with the reference solution.
96
6. Assessment of the Derivative Riemann Problem solvers
Time (s)
Err
ors
influ
id-1
pres
sure
0 0.025 0.05 0.075 0.1
0
0.01
0.02Error DRP0
Error DRP1
Error DRP2
Error DRP3
Figure 6.11: Test 2 for the DRP for the Baer-Nunziato equations. Errors DRPk (k=0,1,2,3)for the fluid-1 pressure are compared with the reference solution.
6.3.3 Test 3: Large jumps in pressures and densities.
Test 3 considers discontinuous initial conditions for densities, pressures and the void frac-
tion. Velocities for both fluids are set equal to 0. The initial conditions for densities,
pressures and the void fraction are given by polynomials to the left (L) of x = 0 and to
the right (R) of x = 0, namely
ρ1L = 10.0 ρ1R = 1.0
p1L = 55 + 1.470x + 1.1x2 + x3 p1R = 5.0
ρ2L = 1.0 ρ2R = 1.0
p1L = 15 + 1.470x + 1.1x2 + x3 p2R = 5.0
α1L = 0.8 α1R = 0.2
(6.5)
Fig. 6.12 shows the solution of the Derivative Riemann problem for Test 3. In this test,
where the initial discontinuity has a large jump, the DRP solver finds difficulties to reduce
the error with respect to the reference solution. The solution improves as the order is
increases, however, the level of approximation does not improve visibly. Fig. 6.13 shows
the error of the DRP solution respect to the reference solution.
97
6. Assessment of the Derivative Riemann Problem solvers
Time (s)
Flu
id-2
velo
city
0.025 0.05 0.075 0.11
1.1
1.2
Reference solution (MH)DRP0
DRP1
DRP2
DRP3
Figure 6.12: Test 3 for the DRP for the Baer-Nunziato equations. Solutions DRPk
(k=0,1,2,3) for the fluid-2 velocity are compared with the reference solution.
Time (s)
Err
ors
influ
id-2
velo
city
0.025 0.05 0.075 0.1
0
0.1 Error DRP0
Error DRP1
Error DRP2
Error DRP3
Figure 6.13: Test 3 for the DRP for the Baer-Nunziato equations. Errors DRPk (k=0,1,2,3)for the fluid-2 velocity are compared with the reference solution.
98
6. Assessment of the Derivative Riemann Problem solvers
6.4 Discussion of results
Recall that the main purpose of solving the Derivative Riemann Problem (DRP) is to
provide a time-dependent solution at each cell interface, from which a corresponding nu-
merical flux can be found and used in the context of finite volume methods or discontinuous
Galerkin finite element methods. However, before considering numerical methods we focus
the discussion on the solution of the particular Cauchy problem, the DRP. There are a
number of aspects of the solution procedure of the DRP that warrant a detailed discussion.
One issue concerns the time evolution of the initial data, as done in the HEOC solver,
and of the solution, as done in the TT and CT solvers. We have observed that even
when the initial condition consists of physically admissible data, it is possible that the
time evolution yields unphysical values, such as negative densities. This appears to be
more crucial for the HEOC solver, because it could happen that, at a given time, the time
evolved data contains unphysical values, which then the appropriate (classical) Riemann
solver rejects, leading to a failure of the scheme. The TT and CT solvers appear to be
less sensitive to this problem. These two solvers evolved in time the sought solution right
at the interface. The corresponding time-dependent solution may still include unphysical
values. However, since these are then only used in the numerical integration to obtain the
flux it is possible that the scheme may continue to function.
Stationary discontinuities in the solution of the DRP represent another situation where
differences between the various solvers exist. The TT and CT solvers expand the solution
at the interface starting from a leading term computed a time t = 0+ that dominates the
evolution. In the presence of a stationary discontinuity at t = 0+ there are two possible
choices for the leading term. For the first-order mode of the methods, it does not matter
which of the two states is taken, as these satisfy the Rankine-Hugoniot conditions and
therefore the respective fluxes are identical. For the higher-order version of the methods
the situation is not clear. There will be two different time expansions, depending on which
side is taken as the leading term. This non-uniqueness remains so even if the discontinuity
moves for times t > 0. We have performed some numerical tests on the effect of choosing
from the two available expansions. There is an observable numerical difference but, at least
for the tests performed, it is very small and as time evolves it virtually vanishes. Still, this
is an aspect of the TT and CT methods that would benefit from further investigations.
On the other hand, the HEOC method is less sensitive to this problem. In particular, if
the discontinuity positioned at the origin, at the early times, then moves as time increases.
The the HEOC has the mechanism to capture this behaviour.
In general, boundary conditions are a challenging problem in the context of high order
99
6. Assessment of the Derivative Riemann Problem solvers
numerical methods. For example, for reflecting boundary conditions we solve an inverse
Riemann problem, in the sense that we need to identify appropriate initial conditions such
that the Riemann problem solution at the boundary reproduces what is physically sought,
for example, zero velocity. To this purpose the HEOC solver appears more attractive than
the TT and CT solvers, as it is very simple to create, at each time, in the time evolution
process, the appropriate data states to match the desired condition.
Some comments regarding computational cost are in order. The HEOC solver needs a
robust Riemann solver for each time-integration point τ , within the time step 0 ≤ τ ≤ ∆t.
This can be time-consuming as a robust Riemann solver will in general be a non-linear
Riemann solver. In addition, the HEOC solver requires the development of two series
expansions, one on each side of the interface. The TT solver, on the other hand, requires
a single expansion right at the interface. Moreover, in the TT and CT solvers, one uses a
non-linear Riemann solver only once, in order to compute the leading term reliably.
A rather surprising observation resulting from the present work is that, from the evidence
available, all three DRP solvers are unable to resolve correctly the DRP problem for the
case of non-linear systems with large jumps. This is different from the case of scalar non-
linear problems. In fact, it has been demonstrated that the TT solver [101] gives the
correct solution for the non-linear Burgers equation, even with a non-linear source term,
for initial jumps of any size. This property does not seem to carry to systems (non-linear).
Recall that for linear systems all methods are equivalent and all give the correct solution.
On the other hand, the available experience shows that the high order ADER schemes
based on the solution of the Derivative Riemann Problem are capable of producing the
theoretically expected orders of accuracy. Obviously, the corresponding convergence rate
tests are performed for smooth solutions. However, even for smooth solutions the local
reconstruction procedure will necessarily produce jumps at the interfaces. Obviously these
jumps are small, and possibly within the range that allows the existing DRP solvers to
resolve correctly.
In this chapter approximations to the Derivative Riemann Problem have been presented
for the Euler and Baer-Nunziato equations. These solutions provide a time-dependent
function at each cell interface, from which a corresponding numerical flux can be found
and used in the context of Finite Volume methods or Discontinuous Galerkin finite element
methods. These functions are used to accurately evaluate the surface integrals in the
numerical schemes presented in Chapter 3.
In the next chapter we see how to construct ADER schemes on unstructured triangular
meshes using the DRP solvers studied in Chapter 5 to accurately evaluate the numerical
fluxes.
100
7 ADER schemes on triangular meshes
7.1 Introduction
ADER approach was first introduced in 2001 by Toro, Millington and Nejad in [98] and the
name comes from Arbitrary accuracy DErivatives Riemann problem method. The idea is to
accurately evaluate the integrals in space and time that are used in the formulation of the
numerical methods presented in Chapter 3. For this end we use the Cauchy-Kowaleswski
method and the DRP solvers presented in Chapter 5.
Technically, we construct a power series expansion of the unknown vector Q(x, t). Dif-
ferent approaches have been presented between which we can mention the state expansion
in [87] and the flux expansion in [85] and [100]. Extensions and improvements of the ADER
approach have been reported in [99], [87], [77], [85], [76], [100], [88], [54], [29], [28], amongst
others.
In order to accurately evaluate the integrals we use the following elements:
• A piece-wise polynomial spatial representation of the data over the triangular cells.
In the case of ADER-DG the data are represented by a piece-wise polynomial. In
the case of ADER-FV we need to do a non-oscillatory reconstruction from the cell
averages. In both cases, non-oscillatory reconstructions near strong gradients are
needed to prevent spurious oscillations. Here we use the procedure presented in
section 3.4. In this chapter we assume that it is available a piece-wise polynomial
spatial representation of the data up to order r.
• The Cauchy-Kowalewski method to solve initial value problems with continuous ini-
tial data. This method is used when space-time integrals have to be computed inside
the triangular elements.
• The solution of the Derivative Riemann problem presented in Chapter 5 together
with the Cauchy-Kowalewski procedure applied to the balance law in (3.4). Solving
the DRP involves the solution of linear and non-linear classical Riemann problems
presented on Chapter 4. The solution of the classical non-linear Riemann problem is
used to obtain the leading term, while the solution of the linear Riemann problem is
101
7. ADER schemes on triangular meshes
used to obtain the high order terms. We remark that these Riemann problems are
augmented one dimensional problems and have to be solved in the direction normal
to the edge of the triangular element.
Taking as an example the balance law (3.4) and the Finite Volume numerical scheme
presented in Chapter 3 we see the ADER approach on triangular meshes. The balance law
reads,
∂tQ + ∂xF(Q) + ∂yG(Q) = S(Q), (7.1)
with
Q =
q1
...
qp
, F(Q) =
f1(Q)...
fp(Q)
, G(Q) =
g1(Q)...
gp(Q)
, S(Q) =
s1(Q)...
sp(Q)
. (7.2)
The Finite Volume numerical methods reads,
Qn+1m = Qn
m − 1
|Tm|
tn+1∫
tn
∫
∂Tm
H(Q(x, t)) · n dx dt −tn+1∫
tn
∫
Tm
S(Q(x, t)) dx dt
. (7.3)
In order to update the cell averages on (7.3) we need to compute time, volume and
surface integrals. In general these integrals can not be evaluated exactly, therefore we use
an approximation by a quadrature rule of a desire order. Fig. 7.1 shows the element Tm, the
integration point xh and the function Q(x, t) at local time t = 0. In Fig. 7.1(a) is depicted
the element Tm where the integration point xh is inside the element, that is xh ∈ Tm/∂Tm,
therefore the function Q(xh, 0) is continuous and all its spatial derivatives are defined. In
this case we use the Cauchy-Kowalewski method to evaluate the time integrals. In Fig.
7.1(b) is depicted the j-th edge of the element Tm and the corresponding neighbouring
element Tj . The integration point xh is on the boundary, that is xh ∈ ∂Tm, and the
function Q(xh, 0) and all its spatial derivatives jump discontinuously. In this case we solve
a Derivative Riemann Problem, as in Chapter 5, with the data from the element Tm and
the data from the neighbouring element Tj , which are called for convention QL(xh, 0) and
QR(xh, 0) respectively.
102
7. ADER schemes on triangular meshes
v1 v2
v3
x
y
Q
Tm xh
QQmmmQmQm(x(x ,0)
(a)
Tm
TjTj
QRQR xh,0)
QQQLQL( h,000)
xh
x
y
Q
(b)
Figure 7.1: Triangular element Tm and integration point xh. (a): The integration point xh
is inside the element Tm. (b): The integration point xh is on the j-th boundaryof the element Tm.
7.2 Evaluation of the volume integral
In order to compute the space-time integrals in (7.3) with high-order accuracy we make
use of the Cauchy-Kowalewski method to solve the following initial value problem,
PDEs: ∂tQ + ∂xF(Q) + ∂yG(Q) = S(Q) , x ∈ Tm , t > 0 ,
IC: Q(x, 0) = Q(xh, 0)
(7.4)
The approximate solution of (7.4) reads
Q(xh, τ) = Q(xh, 0) +r−1∑
k=1
[
∂(k)t Q(xh, 0)
] τk
k!. (7.5)
Solution (7.5) is a power series expansion around the leading term Q(xh, t). This term is
evaluated from the piece-wise polynomial spatial representation of the data. The high-order
terms or derivative terms ∂(k)t Q(xh, 0) are time derivatives obtained from the Cauchy-
Kowalewski procedure and the balance law. Applying the Cauchy-Kowalewski procedure
103
7. ADER schemes on triangular meshes
to (7.1) the time derivatives are expressed as follows,
∂tQ = −(
∂F
∂Q
)
∂xQ −(
∂G
∂Q
)
∂yQ + S ,
∂txQ = −(
∂2F
∂Q2
)
(∂xQ)2 −(
∂F
∂Q
)
∂xxQ −(
∂2G
∂Q2
)
(∂xQ)(∂yQ) −(
∂G
∂Q
)
∂xyQ
+
(
∂S
∂Q
)
(∂xQ) ,
∂tyQ = −(
∂2F
∂Q2
)
(∂xQ)(∂yQ) −(
∂F
∂Q
)
∂xyQ −(
∂2G
∂Q2
)
(∂yQ)2 −(
∂G
∂Q
)
∂yyQ
+
(
∂S
∂Q
)
(∂yQ) ,
∂ttQ = −(
∂2F
∂Q2
)
(∂tQ)(∂xQ) −(
∂F
∂Q
)
∂txQ −(
∂2G
∂Q2
)
(∂tQ)(∂yQ) −(
∂G
∂Q
)
∂tyQ
+
(
∂S
∂Q
)
(∂tQ) .
(7.6)
The first two time derivatives of the unknown vector Q(x, t) are reported in (7.6). The
same procedure is applied to obtain third and higher order time derivatives. This procedure
can be computed beforehand using an algebra package, for example MAPLE.
The Cauchy-Kowalewski procedure expresses time derivatives of Q(x, t) of order r in
terms of the fluxes F(Q) and G(Q), the source S(Q) and the spatial derivatives of or-
der equal and lower than r. These spatial derivatives are obtained from the piece-wise
polynomial spatial representation of the data.
Constructing (7.5) over the spatial integration points inside the triangle, see Fig. 7.1(a),
and evaluating it at the temporal integration points, we compute the volume-time integrals
in (7.3) with the desire order of accuracy. This can be see in the results presented in Chapter
6 for test problem 1 for the Euler equation, where the initial conditions of the DRP are
continuous and smooth.
104
7. ADER schemes on triangular meshes
7.3 Evaluation of the surface integral
When we need to compute the surface-time integrals in (7.3),
tn+1∫
tn
∫
∂Tm
H(Q(x, t)) · n dx dt , (7.7)
is necessary to define the value of the function Q(xh, 0) and its derivatives, with xh ∈ ∂Tm,
see Fig. 7.1(b). This is solved by applying one of the DRP solvers presented in Chapter 5
in the direction normal to the interface. This is done placing the following augmented one
dimensional Derivative Riemann Problem,
PDEs: ∂tQ + ∂nF(Q) = S(Q) , x ∈ (−∞,∞) , t > 0 ,
IC: Q(x, 0) =
QL(xh, 0) if x ∈ Tm ,
QR(xh, 0) if x ∈ Tj .
(7.8)
where the partial derivative ∂n is the derivative in direction normal to the interface. The
initial values are obtained from the piece-wise polynomial data QL(xh, 0) and QR(xh, 0)
rotated in the direction normal to the interface as follows,
QL(xh, 0) = limx→xhx∈Tm
Qm(x, tn) · n ,
QR(xh, 0) = limx→xhx∈Tj
Qj(x, tn) · n ,
(7.9)
and all their spatial derivatives ∂(α,β)x QL(xh, 0) and ∂
(α,β)x QR(xh, 0),
∂(α,β)x QL(xh, 0) = lim
x→xhx∈Tm
∂(α+β)
∂xα∂yβ Qm(x, tn) · n ,
∂(α,β)x QR(xh, 0) = lim
x→xhx∈Tj
∂(α+β)
∂xα∂yβ Qj(x, tn) · n ,
(7.10)
from the piece-wise polynomial representation of the data. Qm(x, tn) is the piece-wise
polynomial data on triangle Tm and Qj(x, tn) is the piece-wise polynomial data on triangle
Tj . QL and QR are called the extrapolated values of the polynomials functions. The
integers α ≥ 0 and β ≥ 0. The spatial derivatives are used to obtain the high-order terms.
The solution of the DRP (7.8) is a power series expansion constructed over the spatial
105
7. ADER schemes on triangular meshes
integration point xh ∈ ∂Tm as follows,
Q(xh, τ) = Q(xh, 0) +r−1∑
k=1
[
∂(k)t Q(xh, 0)
] τk
k!. (7.11)
Then, the evaluation of the surface-time integral (7.7) is obtained with a quadrature rule
of the desire order. In Chapter 5 we present three forms of solving (7.8) named TT-DRP,
CT-DRP and HEOC-DRP.
τ=tn
τ=tn+1
xh
τk
F(F(x(xh,τk) · n
Tm
Tj
x
y
t
(a)
n
v3
x
y
xh
v1 v2
Tm
Tj
(b)
Figure 7.2: Surface-time integration over the j-th edge of the normal flux. (a): the fluxfunction is evaluated at (xh, τk) for the surface-time integral. (b): outwardnormal vector to the j-th edge over the spatial integration point xh.
The spatial integration point xh over the edge of Tm is shown in Fig. 7.2. Fig. 7.2(a)
depicts the space-time integration domain over the j-th edge. The numerical flux normal
to the edge is evaluated at every space-time Gaussian integration point. Fig. 7.2(b) depicts
the outward unitary normal vector to the j-th edge and the spatial integration point xh
where the power series expansion (7.5) has to be constructed.
When we implement one of the DRP solvers over triangular meshes we have to take
into account that every Riemann problem, linear and non-linear, need to be solve with
the left and right data rotated in the normal direction. Moreover, the computation of
the numerical flux has to be done in the normal direction. Nevertheless, the Cauchy-
Kowalewski procedure is presented on the x − y coordinates. These two aspects make
necessary to rotate and rotate back the vector function Q and the numerical flux F(Q).
This is possible because of the rotational invariance property. The rotation is necessary
because the velocity components of the vector Q, u and v, are defined as x and y particle
velocities respectively.
106
7. ADER schemes on triangular meshes
7.4 DRP over triangular meshes
Here we summarize the fundamental steps used to compute the numerical flux considering
the extrapolated values and all their extrapolated derivatives defined in (7.9) and (7.10)
respectively.
7.4.1 ADER TT-DRP scheme over triangular meshes
These are the steps needed to implement ADER TT-DRP.
The extrapolated values are rotate in the direction normal to the edge. With the rotated
extrapolated values a non-linear Riemann problem is placed as (5.4). The solution of this
non-linear problem is the leading term. Using the leading term the evolution equation for
the extrapolated spatial derivatives (5.8) is linearized. These linear Riemann problems are
solved to find the spatial derivatives at the interface. The leading term and the spatial
derivatives at the interface are rotated back and the Cauchy-Kowalewski procedure is used
to obtain the time derivatives. Now we construct the power series expansion in time
(5.3). This time expansion is evaluated at the desire time integration point, rotated in the
direction normal to the edge. With this state the numerical flux normal to the edge is
evaluated. The numerical flux is rotated back to the x − y coordinate system, obtaining
H(Q(x, t)) · n in (7.7).
7.4.2 ADER CT-DRP scheme over triangular meshes
These are the steps needed to implement ADER CT-DRP.
Two set of time derivatives are obtained using the Cauchy-Kowalewski procedure applied
to the extrapolated values and extrapolated derivatives from the left and from the right as
in (5.20) and (5.21). The two set of time derivatives are rotated in the direction normal
to the edge. The rotated values define a non-linear Riemann problem as in (5.4). The
solution of this non-linear problem is the leading term. Time derivatives at the interface
are computed from the solution of linear Riemann problems as (5.24) with initial data
from the rotated time derivatives and linearized on the leading term. We construct the
power series expansion in time (5.3) with the leading term and the time derivatives at
the interface. The numerical flux normal to the edge is computed from the evaluation of
the time expansion. The numerical flux is rotated back to the x − y coordinate system,
obtaining H(Q(x, t)) · n in (7.7).
107
7. ADER schemes on triangular meshes
7.4.3 ADER HEOC-DRP scheme over triangular meshes
These are the steps needed to implement ADER HEOC-DRP.
Two set of time derivatives are obtained using the Cauchy-Kowalewski procedure applied
to the extrapolated values and extrapolated derivatives from the left and from the right
as in (5.20) and (5.21). Two power series expansion in time are constructed with the
extrapolated values and the time derivatives as in (5.13) and (5.14). We evaluate the time
expansions at any desire time integration point defining the left and the right evolved
states. These states are rotated in the direction normal to the edge and a non-linear
Riemann problem is set as (5.23). We compute the numerical flux normal to the edge with
the solution of the non-linear problem. The numerical flux is rotated back to the x − y
coordinate system, obtaining H(Q(x, t)) · n in (7.7).
The ADER approach presented in this Chapter for the Finite Volume method is equiv-
alent to the used on Discontinuous Galerkin Finite Element method. In the next Chapter
we present numerical results that validate the numerical method presented in this thesis.
108
8 Numerical results
Here we show numerical results for the numerical methods presented in this thesis. Three
hyperbolic equations are used: Euler, Baer-Nunziato and shallow water. Two dimensional
convergence test are presented for the Euler and shallow water equations using ADER
schemes. A one dimensional convergence test is presented for the Baer-Nunziatio equations
using MUSCL_Hancock reconstruction. Also shock tube problems are presented. Full
colour version of the thesis is available on-line at: http://www.ing.unitn.it/dica/eng/monographs.
8.1 Euler equations
8.1.1 Two dimensional convergence test: Vortex evolution
For the purpose of studying the convergence rates of the schemes we adopt the test problem
proposed in [49], which consists of a convected isentropic vortex computed in a square do-
main with periodic boundary conditions. The initial condition consists of a mean constant
flow modified by an isentropic perturbation. The initial mean flow is given by ρ = 1, p = 1
and (u, v) = (1, 1) and the perturbation is given by
δu = − ǫ
2πe
12(1−r2)y ,
δv =ǫ
2πe
12(1−r2)x ,
δρ = (1 + δT )1
γ−1 − 1 ,
δp = (1 + δT )γ
γ−1 − 1 ,
δT = −(γ − 1)ǫ2
8γπ2e1−r2
,
(8.1)
where r2 = x2 + y2, ǫ = 5 (the vortex strength) and γ in the ideal EOS is taken as
γ = 1.4. The computational domain is [−5, 5] × [−5, 5] discretized by an unstructured
mesh of triangles.
Tables 8.1 to 8.4 give errors and convergence rates for the FV ADER schemes using
the CT derivative Riemann problem solver. Schemes up to fifth order of accuracy are
considered, on four levels of mesh refinement. Errors are measured in three norms L1, L2,
109
8. Numerical results
L∞ and the corresponding empirical orders of accuracy are O1, O2 and O∞. The expected
orders of accuracy are reached in all cases.
Mesh L1 error O1 L2 error O2 L∞ error O∞
224 2.47 × 1000 5.67 × 10−1 4.43 × 10−1
898 1.42 × 1000 0.85 3.42 × 10−1 0.78 2.82 × 10−1 0.693618 3.43 × 10−1 2.03 8.19 × 10−2 2.04 8.71 × 10−2 1.67
14402 5.84 × 10−2 2.56 1.37 × 10−2 2.58 1.51 × 10−2 2.5357694 7.65 × 10−3 2.99 1.37 × 10−3 3.11 4.22 × 10−3 1.88
Table 8.1: Convergence rates test: second order method.
Mesh L1 error O1 L2 error O2 L∞ error O∞
224 2.29 × 1000 5.23 × 10−1 4.11 × 10−1
898 7.35 × 10−1 1.75 1.65 × 10−1 1.77 1.30 × 10−1 1.773618 1.02 × 10−1 2.82 2.49 × 10−2 2.70 1.94 × 10−2 2.71
14402 1.60 × 10−2 2.67 4.03 × 10−3 2.63 2.84 × 10−3 2.7857694 2.06 × 10−3 3.02 5.21 × 10−4 3.01 3.64 × 10−4 3.03
Table 8.2: Convergence rates test: third order method.
Mesh L1 error O1 L2 error O2 L∞ error O∞
224 2.14 × 1000 4.87 × 10−1 3.88 × 10−1
898 3.76 × 10−1 2.68 6.23 × 10−2 3.17 5.03 × 10−2 3.143618 1.67 × 10−2 4.43 3.50 × 10−3 4.10 3.87 × 10−3 3.65
14402 1.12 × 10−3 3.91 2.25 × 10−4 3.97 2.48 × 10−4 3.9757694 6.84 × 10−5 4.12 1.37 × 10−5 4.12 1.61 × 10−5 4.03
Table 8.3: Convergence rates test: fourth order method.
8.1.2 Shock wave reflection problem
The purpose of this test is to illustrate the potential of the presented methods to solve
realistic problems to high accuracy on complicated domains discretized with unstructured
meshes. To this end we consider the reflection of a shock wave from a solid body of
triangular shape. The two-dimensional computational domain is the region [−0.65, 0.5] ×[−0.5, 0.5], with a triangular solid body defined by the positions of its vertexes v1 =
(−0.2, 0), v2 = (0.1,−1/6) and v3 = (0.1, 1/6). The incident shock wave has shock Mach
number Ms = 1.3 and at time t = 0 is placed at x = −0.55, with initial conditions
110
8. Numerical results
Mesh L1 error O1 L2 error O2 L∞ error O∞
224 1.95 × 1000 4.60 × 10−1 3.71 × 10−1
898 3.86 × 10−1 2.49 7.19 × 10−2 2.85 6.99 × 10−2 2.573618 2.90 × 10−2 3.69 7.23 × 10−3 3.27 8.40 × 10−3 3.02
14402 1.31 × 10−3 4.48 3.44 × 10−4 4.40 2.12 × 10−4 5.3257694 1.48 × 10−5 6.60 3.85 × 10−6 6.62 2.54 × 10−6 6.52
Table 8.4: Convergence rates test: fifth order method.
ahead of the shock given by ρ = 1.225(Kg/m3), p = 1.01325 × 105(Pa) and zero velocity.
Conditions behind are calculated from the Rankine-Hugoniot conditions.
The mesh consist of 256580 triangles. Boundary conditions are: left boundary at x =
−0.65 is defined as inflow condition with the corresponding state defined by the Rankine-
Hugoniot conditions; at the right boundary at x = 0.5 we set an outflow condition. The
remaining boundaries are solid reflecting boundaries.
For the shown results we used the FV third order ADER scheme along with the CT
solver for the Derivative Riemann Problem and Courant number Ccfl = 0.45. Figures 8.1
to 8.4 display Schlieren images for the density at times t = 7.93 × 10−4, t = 1.41 × 10−3,
t = 1.85× 10−3 and t = 2.20× 10−3 respectively. The shock wave propagates to the right,
reflects from the solid triangle and generates a circular reflection shock. The two expansion
waves created by the vertexes v2 and v3 produce regions of low density and pressure. See
Fig. 8.5 for a three dimensional image of the density at time t = 2.20 × 10−3.
The main physical features of the flow looks reasonable, as compared with analogous
problems for which there are experimental results, see [75].
111
8. Numerical results
Figure 8.1: Shock wave reflection problem. Schlieren image for density at time t = 7.93 ×10−4. The shock wave begins the interaction with the triangle.
Figure 8.2: Shock wave reflection problem. Schlieren image for density at time t = 1.41 ×10−3. The shock wave reflects from the edges of the triangle and generates asingle Mach reflection pattern.
112
8. Numerical results
Figure 8.3: Shock wave reflection problem. Schlieren image for density at time t = 1.85 ×10−3. The shock wave generates two expansive waves over the corners of thetriangle. A slip surface is produced from the interaction of the original shockwave and the reflected one.
Figure 8.4: Shock wave reflection problem. Schlieren image for density at time t = 2.20 ×10−3. Two vortexes evolve behind the triangle. The expansion waves interactwith the shock and with the boundaries.
113
8. Numerical results
Figure 8.5: Shock wave reflection problem. Schlieren image for density at time t = 2.20 ×10−3. Three dimensional image for the density.
114
8. Numerical results
8.1.3 CPU cost of Riemann solvers
When we develops numerical methods, one of the goals is to reduce the cost in terms of CPU
time. However, a high degree of optimization of the code reduces the range of problems that
can solves. When we develop high-order numerical methods in the framework of ADER
schemes, the high-order reconstruction of the data and the Cauchy-Kovalewski procedure
consume much of the total CPU time. In this case, the use of an exact non-linear Riemann
solver may not represent a big disadvantage in term of computational cost.
Here we compare the computational time used to solve an initial value problem. In one
case we use the exact general-EOS Riemann solver presented in Chapter 4. In the other
case, the very efficient one developed for the ideal EOS, see Chapter 4 of [95].
We solve the one-dimensional Euler equation with ideal equation of state in a spatial
domain [0, 1]. The initial data consist of two constant states on both sides of the initial
discontinuity at x = 0.3. For the left state we have ρ = 1.0, u = 0.75 and p = 1.0. For the
right state we have ρ = 0.125, u = 0.0 and p = 0.1. We discretize the domain with 500
cells and consider Ccfl = 0.9. The final time is t = 0.2. Using the FV numerical method
and the CT DRP solver we obtain the followings computational time.
Ideal-EOS RS General-EOS RSOrder CPU time % ×100 CPU time % ×100
1 3.6852992 1.00 8.5923552 2.332 6.2089280 1.68 10.705393 2.903 10.254745 2.78 14.600995 3.964 15.862809 4.30 20.048828 5.445 24.645438 6.68 28.971659 7.86
Table 8.5: CPU computational cost. We measure the total time used to solve an initialvalue problem considering FV numerical method with the CT DRP solver up tofifth order, the Ideal-EOS Riemann solver and the general-EOS Riemann solver.
From table 8.5 we see that the computational cost increases with the order of the method
and when we use the general-EOS Riemann solver. However, the relative cost decreases as
the order of the method increases. For the first order method we see that the general-EOS
Riemann solver is more than twice time expensive than the ideal-EOS Riemann solver.
When the solution is computed with the fifth order numerical method this gap reduces to
1.17.
The fact that the type of high-order numerical methods studied in this thesis introduce
reconstruction and evaluation of the Cauchy-Kowalewski procedure, produces a relatively
small impact in the full computational time of the Riemann solver.
115
8. Numerical results
8.2 Baer-Nunziato
In this section we present two test problems to assess the numerical solutions. The first test
is a shock tube problem for liquid and gas, while the second one is a convergence test. For
each test three numerical solutions are shown, EVILIN, StraEv and StraEx. EVILIN comes
from applying the EVILIN Riemann solver to the full seven equation system. StraEv comes
from applying the stratification hypothesis plus EVILIN Riemann solver for the interaction
between identical fluids and the exact Riemann solver for different fluids. Finally, StraEx
consists of the stratification hypothesis plus the exact Riemann solver for all interactions.
For test 1, first and second order numerical solutions are presented with two meshes, 100
and 800 cells. For test 2 a smooth initial condition is set and evolved until t = 0.1.
The second order scheme used in this test problems is the MUSCL_Hancock approach
[108]. Data reconstruction is performed using piece wise linear functions. Boundary extrap-
olated values are evolved by half a time step and then used as initial data for a piece-wise
constant data Riemann problem. These Riemann problems are solved using the Riemann
solvers presented in Chapter 4. Non oscillatory properties come from TVD slope limiters
applied to the data reconstruction step. See [95] for more details.
8.2.1 Test 1: Shock tube problem for liquid and gas
This test problem generates the interaction between one liquid and one gas with the fol-
lowing constants for the stiffened equation of state: γ1 = 4.4, po1 = 6.0× 108, γ2 = 1.4 and
po2 = 0.0. The initial discontinuity is at x = 0.5, the CFL coefficient is Ccfl = 0.5 and the
output time is t = 0.25× 10−3 s. The wave structure of the solution is shown in figure 8.6.
We observe two left-travelling rarefaction waves, one for each fluid, and two right-travelling
shock waves, one for each fluid. All three contact waves travel slowly to the right and are
indistinguishable from each other. Initial conditions are given in table 8.6.
ρ1 u1 p1 α1 ρ2 u2 p2
WL 0.1 × 104 9.0 0.2 × 107 0.8 0.15 × 101 9.0 0.2 × 106
WR 0.1 × 104 5.0 0.18 × 106 0.2 0.1 × 101 5.0 0.18 × 106
Table 8.6: Initial conditions for shock tube problem for liquid and gas
Numerical results are presented in figures 8.7 and 8.8. In each figure first and second
order numerical methods are presented, with the first order method shown on top. For the
results shown in figures 8.7 and 8.8 we used 100 and 800 cells, respectively. The figures
show the density of fluid 1 and the velocity of fluid 2. The exact solution obtained with
the exact Riemann solver of section 4.3.3 is shown by the black line. It is observed that
116
8. Numerical results
x
tRed: Fluid 1
Blue: Fluid 2
Figure 8.6: Wave pattern for test 1 with two left rarefactions, 2 right shocks and 3 contactwaves.
results may be improved by going from a first order to a second order scheme or by refining
the mesh from 100 to 800 cells. The EVILIN approach is more accurate in the presence of
shocks and rarefactions. All three methods produce spurious oscillations near the contact
waves, which tend to disappear with mesh refinement. A special comment on slowly moving
contacts is in order: these waves are badly smeared by ‘non-complete’ Riemann solvers,
whereas our method recognizes all of them and resolves them properly.
As mentioned above, computational cost can be a limitation when exact Riemann solvers
are used. The exact solution presented in section 4.3.3 is computed iteratively in two steps.
In table 8.7 we compare the computational cost of the exact, EVILIN, StraEv and StraEx
Riemann solvers. It is clear that the exact solver is more expensive than the others. In
the first order code the exact solver is 3.1 times more expensive than EVILIN solver and
5.3 times than StraEx solver. In the second order code the relations change to 2.2 for
the EVILIN solver and 2.9 for the StraEx solver because of the additional reconstruction
procedure. An important aspect is that when the order of the method increases, the exact
Riemann solver pays off. In our computations we observe that the cost increase is about
20 percent for the exact solver, while the others show an increase close to 50 percent.
117
8. Numerical results
Position x (m)
Flu
id1
Den
sity
(Kg/
m3 )
0 0.25 0.5 0.75 1
1000
1001
1002
1003
EVILINStraEVStraEX
Position x (m)
Flu
id2
Vel
ocity
u(m
/s)
0 0.25 0.5 0.75 1
10
20
30
40
Position x (m)
Flu
id1
Den
sity
(Kg/
m3 )
0 0.25 0.5 0.75 1
1000
1001
1002
1003
Position x (m)
Flu
id2
Vel
ocity
u(m
/s)
0 0.25 0.5 0.75 1
10
20
30
40
Figure 8.7: Numerical results for Test 1: First order method on the top of the figure.Second order solution is below. 100 cell are used.
8.2.2 Test 2: Numerical convergence
With this test the numerical convergence rate is tested where the initial condition generates
a smooth solution with no discontinuities. An exact solution for this test does not exist,
thus a numerical solution with very fine mesh is used in order to have a reference solution.
The initial data was taken from Schwendeman et al. [78] and consists of constant density
and pressure for both fluids, constant velocity for fluid 2 and smooth transition for void
fraction and for the velocity of fluid 1, as follows.
ρ1(x, 0) = ρ2(x, 0) = 1.0, p1(x, 0) = p2(x, 0) = 1.0, v2(x, 0) = 0.0, (8.2)
v1(x, 0) =1
2+
1
2tanh(20x − 10), α1(x, 0) =
1
2+
2
5tanh(20x − 8) (8.3)
Parameters for the equation of state are γ1 = 4.4, po1 = 0.0, γ2 = 1.4 and po
2 = 0.0. The
computational domain is [0, 1] for times t ∈ [0, 0.1]. Transmissive boundary conditions are
118
8. Numerical results
Position x (m)
Flu
id1
Den
sity
(Kg/
m3 )
0 0.25 0.5 0.75 1
1000
1001
1002
1003
EVILINStraEVStraEX
Position x (m)
Flu
id2
Vel
ocity
u(m
/s)
0 0.25 0.5 0.75 1
10
20
30
40
Position x (m)
Flu
id1
Den
sity
(Kg/
m3 )
0 0.25 0.5 0.75 1
1000
1001
1002
1003
Position x (m)
Flu
id2
Vel
ocity
u(m
/s)
0 0.25 0.5 0.75 1
10
20
30
40
Figure 8.8: Numerical results for Test 1: First order method on the top of the figure.Second order solution is below. 800 cell are used.
used and four mesh sizes are employed: 100, 200, 400 and 800 cells. The convergence rate
and errors are computed using L1, L2 and L∞ norms. Convergence rates for the first
order scheme are not shown but the expected order is reached. For second order schemes
using TVD limiters the order of convergence is around 1, as expected. If no limiter is used
and MUSCL reconstruction is performed, the order 2 is reached in all norms and for all
three numerical schemes, see table 8.8, 8.9 and 8.10.
119
8. Numerical results
Method 1st cpu time (s) ratio 2nd cpu time (s) ratio
Exact 27.53 1.00 33.68 1.00EVILIN 8.79 0.32 15.22 0.45StraEv 7.03 0.25 13.73 0.40StraEx 5.45 0.19 12.05 0.35
Table 8.7: Computational cost for numerical methods normalized to the exact Riemannsolver for Test 1 with 800 cells and first and second order.
L1 L2 L∞
Cells Error r Error r Error r
100 2.24 × 10−4 0.00 3.82 × 10−4 0.00 1.48 × 10−3 0.00200 5.61 × 10−5 1.99 9.58 × 10−5 2.00 3.72 × 10−4 2.00400 1.41 × 10−5 2.00 2.40 × 10−5 2.00 9.28 × 10−5 2.00800 3.52 × 10−6 2.00 5.99 × 10−6 2.00 2.31 × 10−5 2.01
Table 8.8: L1, L2 and Linf norm for EVILIN method with MUSCL_Hancock reconstruc-tion.
L1 L2 L∞
Cells Error r Error r Error r
100 2.25 × 10−4 0.00 3.84 × 10−4 0.00 1.44 × 10−3 0.00200 5.58 × 10−5 2.01 9.51 × 10−5 2.01 3.59 × 10−4 2.01400 1.39 × 10−5 2.01 2.36 × 10−5 2.01 8.94 × 10−5 2.01800 3.46 × 10−6 2.01 5.88 × 10−6 2.01 2.22 × 10−5 2.01
Table 8.9: L1, L2 and Linf norm for StraEv method with MUSCL_Hancock reconstruc-tion.
L1 L2 L∞
Cells Error r Error r Error r
100 2.28 × 10−4 0.00 3.88 × 10−4 0.00 1.44 × 10−3 0.00200 5.73 × 10−5 1.99 9.74 × 10−5 2.00 3.62 × 10−4 1.99400 1.43 × 10−5 2.00 2.44 × 10−5 2.00 9.05 × 10−5 2.00800 3.58 × 10−6 2.00 6.08 × 10−6 2.00 2.26 × 10−5 2.00
Table 8.10: L1, L2 and Linf norm for StraEx method with MUSCL_Hancock reconstruc-tion.
120
8. Numerical results
8.3 Shallow water
8.3.1 Convergence test
We do a convergence test for studying the convergence order of ADER schemes using DRP
solvers on unstructured grids. In this test we compare the numerical solution with the
exact analytical solution. Because only very simple test problems have analytical solution
we propose the construction of the test starting with the exact solution and then finding
a new source term that balances the balance law.
The exact solution Q(x, y, t) reads,
Q(x, y, t) =
h(x, y, t)
h(x, y, t)u(x, y, t)
h(x, y, t)v(x, y, t)
, (8.4)
with
b(x, y) = exp(−8(x2 + y2))/5 ,
h(x, y, t) = exp(t/10) − b(x, y) ,
u(x, y, t) = (1 + sin(xπ))/10 ,
v(x, y, t) = (1 + sin(yπ))/10 ,
(8.5)
Introducing this exact solution in the balance law (4.86) we obtain the new source term,
S(x, y, t) = ∂tQ + ∂xF(Q) + ∂yG(Q) − S(Q) . (8.6)
The convergence test problem is then defined as follows,
PDEs: ∂tQ + ∂xF(Q) + ∂yG(Q) = S(Q) + S(Q) ,
IC: Q(x, y, 0) = Q(x, y, 0) ,
(8.7)
The computational domain is [−1, 1] × [−1, 1] discretized by an unstructured mesh of
triangles with periodic boundary conditions, and the final time considered is t = 1.
Schemes up to fifth order of accuracy are considered on two levels of mesh refinement.
Errors are measured in three norms L1, L2, L∞ and the corresponding empirical orders of
accuracy are O1, O2 and O∞.
Tables 8.11 to 8.14 give errors and convergence rates for the FV ADER scheme using the
TT derivative Riemann problem solver. Tables 8.15 to 8.18 give errors and convergence
rates for the FV ADER scheme using the CT derivative Riemann problem solver. Tables
8.19 to 8.22 give errors and convergence rates for the FV ADER scheme using the HEOC
121
8. Numerical results
derivative Riemann problem solver. Tables 8.23 to 8.26 give errors and convergence rates
for the DG ADER scheme using the CT derivative Riemann problem solver. The expected
orders of accuracy are reached in all cases.
Numerical Method: FV ADER with the TT DRP solver
Mesh L1 error O1 L2 error O2 L∞ error O∞
62 2.73 × 10−2 2.52 × 10−2 7.74 × 10−2
506 4.19 × 10−3 1.78 3.37 × 10−3 1.91 2.05 × 10−2 1.262028 6.59 × 10−4 2.70 6.23 × 10−4 2.46 8.27 × 10−3 1.33
Table 8.11: Shallow water convergence rates test: FV TT-DRP second order method.
Mesh L1 error O1 L2 error O2 L∞ error O∞
62 2.24 × 10−2 1.92 × 10−2 5.47 × 10−2
506 1.47 × 10−3 2.59 1.15 × 10−3 2.68 8.81 × 10−3 1.742028 1.50 × 10−4 3.32 1.24 × 10−4 3.25 5.05 × 10−4 4.17
Table 8.12: Shallow water convergence rates test: FV TT-DRP third order method.
Mesh L1 error O1 L2 error O2 L∞ error O∞
62 2.47 × 10−2 1.77 × 10−2 5.56 × 10−2
506 5.22 × 10−4 3.67 3.66 × 10−4 3.69 1.61 × 10−3 3.372028 1.98 × 10−5 4.77 1.76 × 10−5 4.42 1.52 × 10−4 3.44
Table 8.13: Shallow water convergence rates test: FV TT-DRP fourth order method.
Mesh L1 error O1 L2 error O2 L∞ error O∞
62 2.48 × 10−2 1.81 × 10−2 6.73 × 10−2
506 2.76 × 10−4 4.27 1.87 × 10−4 4.35 1.19 × 10−3 3.842028 5.89 × 10−6 5.61 4.58 × 10−6 5.40 2.37 × 10−5 5.71
Table 8.14: Shallow water convergence rates test: FV TT-DRP fifth order method.
122
8. Numerical results
Numerical Method: FV ADER with the CT DRP solver
Mesh L1 error O1 L2 error O2 L∞ error O∞
62 2.67 × 10−2 2.47 × 10−2 7.59 × 10−2
506 4.18 × 10−3 1.76 3.33 × 10−3 1.91 2.10 × 10−2 1.222028 6.57 × 10−4 2.70 6.16 × 10−4 2.46 7.70 × 10−3 1.46
Table 8.15: Shallow water convergence rates test: FV CT-DRP second order method.
Mesh L1 error O1 L2 error O2 L∞ error O∞
62 2.23 × 10−2 1.95 × 10−2 5.94 × 10−2
506 1.46 × 10−3 2.60 1.14 × 10−3 2.70 8.61 × 10−3 1.842028 1.49 × 10−4 3.32 1.24 × 10−4 3.24 5.05 × 10−4 4.13
Table 8.16: Shallow water convergence rates test: FV CT-DRP third order method.
Mesh L1 error O1 L2 error O2 L∞ error O∞
62 2.03 × 10−2 1.57 × 10−2 5.80 × 10−2
506 5.31 × 10−4 3.47 3.65 × 10−4 3.58 1.61 × 10−3 3.562028 1.94 × 10−5 4.83 1.74 × 10−5 4.43 1.53 × 10−4 3.43
Table 8.17: Shallow water convergence rates test: FV CT-DRP fourth order method.
Mesh L1 error O1 L2 error O2 L∞ error O∞
62 2.54 × 10−2 1.86 × 10−2 7.99 × 10−2
506 2.86 × 10−4 4.27 1.91 × 10−4 4.36 1.01 × 10−3 4.152028 5.74 × 10−6 5.70 4.40 × 10−6 5.47 2.36 × 10−5 5.48
Table 8.18: Shallow water convergence rates test: FV CT-DRP fifth order method.
123
8. Numerical results
Numerical Method: FV ADER with the HEOC DRP solver
Mesh L1 error O1 L2 error O2 L∞ error O∞
62 2.71 × 10−2 2.51 × 10−2 7.57 × 10−2
506 4.18 × 10−3 1.78 3.34 × 10−3 1.92 2.10 × 10−2 1.222028 6.57 × 10−4 2.70 6.16 × 10−4 2.46 7.68 × 10−3 1.47
Table 8.19: Shallow water convergence rates test: FV HEOC-DRP second order method.
Mesh L1 error O1 L2 error O2 L∞ error O∞
62 2.21 × 10−2 1.91 × 10−2 5.58 × 10−2
506 1.46 × 10−3 2.59 1.14 × 10−3 2.68 8.61 × 10−3 1.782028 1.49 × 10−4 3.32 1.24 × 10−4 3.24 5.05 × 10−4 4.13
Table 8.20: Shallow water convergence rates test: FV HEOC-DRP third order method.
Mesh L1 error O1 L2 error O2 L∞ error O∞
62 2.26 × 10−2 1.70 × 10−2 7.51 × 10−2
506 5.31 × 10−4 3.57 3.65 × 10−4 3.65 1.61 × 10−3 3.652028 1.94 × 10−5 4.83 1.74 × 10−5 4.43 1.53 × 10−4 3.44
Table 8.21: Shallow water convergence rates test: FV HEOC-DRP fourth order method.
Mesh L1 error O1 L2 error O2 L∞ error O∞
62 2.31 × 10−2 1.73 × 10−2 7.25 × 10−2
506 2.87 × 10−4 4.18 1.91 × 10−4 4.29 1.01 × 10−3 4.062028 5.74 × 10−6 5.70 4.48 × 10−6 5.47 2.36 × 10−5 5.48
Table 8.22: Shallow water convergence rates test: FV HEOC-DRP fifth order method.
124
8. Numerical results
Numerical Method: DG ADER with the CT DRP solver
Mesh L1 error O1 L2 error O2 L∞ error O∞
62 8.63 × 10−3 7.38 × 10−3 2.41 × 10−2
506 9.34 × 10−4 2.11 8.96 × 10−4 2.01 6.31 × 10−3 1.272028 2.23 × 10−4 2.08 2.19 × 10−4 2.05 2.10 × 10−3 1.60
Table 8.23: Shallow water convergence rates test: DG CT-DRP second order method.
Mesh L1 error O1 L2 error O2 L∞ error O∞
62 1.46 × 10−3 1.46 × 10−3 9.05 × 10−3
506 6.22 × 10−5 3.00 6.44 × 10−5 2.97 6.62 × 10−4 2.492028 7.36 × 10−6 3.11 7.56 × 10−6 3.12 8.45 × 10−5 3.00
Table 8.24: Shallow water convergence rates test: DG CT-DRP third order method.
Mesh L1 error O1 L2 error O2 L∞ error O∞
62 2.57 × 10−4 2.57 × 10−4 1.48 × 10−3
506 3.80 × 10−6 4.01 4.04 × 10−6 3.95 5.98 × 10−5 3.052028 2.20 × 10−7 4.16 2.41 × 10−7 4.11 5.59 × 10−6 3.46
Table 8.25: Shallow water convergence rates test: DG CT-DRP fourth order method.
Mesh L1 error O1 L2 error O2 L∞ error O∞
62 4.90 × 10−5 4.73 × 10−5 4.02 × 10−4
506 2.23 × 10−7 5.13 2.42 × 10−7 5.01 4.81 × 10−6 4.212028 1.59 × 10−8 3.85 1.13 × 10−8 4.47 1.44 × 10−7 5.12
Table 8.26: Shallow water convergence rates test: DG CT-DRP fifth order method.
125
8. Numerical results
8.3.2 Idealised circular dam
This is a circular dam-break problem. At the beginning of the simulation we assume a
circular wall that contains the water. The circular wall collapses instantaneously generating
a circular shock wave front. The computational domain is a square of 40 × 40 m. The
circular wall has centre at (xc, yc) = (20, 20) and a radius R = 2.5 m. The initial conditions
are given by constant velocities u = v = 0 throughout the domain and the following free
surface distribution,
h(x, y, 0) =
h = 2.5 m if (x − xc)2 + (y − yc)
2 ≤ R2 ,
h = 0.5 m if (x − xc)2 + (y − yc)
2 ≥ R2 .(8.8)
The computational domain is discretized with triangles dividing each boundary in 100
elements. The boundary conditions are set to be transmissive conditions. We solve this
problem with the Finite Volume ADER numerical method and the TT DRP solver up to
third order. The reference solution is obtained by solving a one dimensional problem in
radial coordinates with a very fine mesh.
Position x (m)
Wat
erhe
ight
h(m
)
20 25 30 35 400.25
0.5
0.75
Figure 8.9: Circular dam-break problem. Radial cut of the free surface elevation at t =4.7 s. Reference solution in solid line. The first (red square), second (greentriangle) and third (blue circle) order solution using FV ADER scheme withthe TT DRP solver.
In Fig. 8.9 and 8.10 we present a radial cut of the two dimensional solutions. In Fig.
8.9 the numerical solution for the first, second and third order numerical method is shown
for the free surface. In Fig. 8.10 the numerical solution for the first, second and third
order numerical method is shown for the particle velocity u. We see from Fig. 8.9 and
8.10 that the solution improves with the order of the method. The first order solution
126
8. Numerical results
Position x (m)
Vel
ocity
u(m
/s)
20 25 30 35 40
-1
-0.5
0
0.5
Figure 8.10: Circular dam-break problem. Radial cut of the velocity u at t = 4.7 s. Refer-ence solution in solid line. The first (red square), second (green triangle) andthird (blue circle) order solution using FV ADER scheme with the TT DRPsolver.
is very diffusive. The second and third order solutions give similar results in the smooth
part of the flow. Near the main outward shock wave, the third order solution shows better
agreement with the reference solution.
In Fig. 8.11 we present the solution for the free surface. We cut half of the solution
in order to show the inner structure. Observing Fig. 8.11(a) we see that immediately
after the circular wall collapses, a circular shock wave travels outward while a rarefaction
wave travels inward. In Fig. 8.11(b) the shock wave is clearly visible and the rarefaction
wave is reaching the centre. We see that the free surface presents high gradients which
are not easily to solve numerically. The inward travelling rarefaction wave implodes in the
centre reflecting back. In Fig. 8.11(c), the free surface goes below the original level outside
of the dam. This is the effect of the implosion of the rarefactions. This is clear in Fig.
8.11(d) where the water height reaches a minimum and a secondary shock is formed. In
Fig. 8.11(e) the primary shock keep travelling outward followed by a rarefaction and the
secondary shock is reaching the centre. Due to the collapse of the secondary shock in the
centre it reflects and the free surface increases.
127
8. Numerical results
(a) t = 0.1 s (b) t = 0.4 s
(c) t = 0.8 s (d) t = 1.6 s
(e) t = 3.8 s (f) t = 4.7 s
Figure 8.11: Circular dam-break problem. Half plane of the free surface solution at differenttimes. (a): after the dam collapse, a circular shock wave travels outward whilea rarefaction wave travels inwards. (b): the rarefaction wave implodes at thecentre and reflects back. (c)-(d): due to the reflected inner circular rarefactionthe free surface goes below the initial level outside the dam. (d): a secondaryshock formed travelling inward. (e): the primary shock continues to traveloutward while the secondary shock almost collapses in the centre. (f): thesecondary shock collapses in the centre generating a strong elevation of thefree surface.
128
8. Numerical results
8.3.3 Dam with channel with 45o bend
We solve a two dimensional dam break problem performed in a laboratory. The compu-
tational domain consists of a square reservoir of dimensions 2.39 × 2.39 m connected to a
channel with a bend of 45 degrees. We discretize the domain using an unstructured grid
with 9228 triangle, see Fig 8.12.
x(m)
y(m
)
0 2 4 6 8 10
0
2
4
Reservoir Channelopenboundary
Figure 8.12: Unstructured grid with 9228 elements. From the left to the right, the squarereservoir connects to the channel which has a bend of 45o.
The initial condition, as depicted in Fig. 8.13, is b(x, y) + h(x, y, 0) = 0.58 m inside
the reservoir, b(x, y) + h(x, y, 0) = 0.34 m in the channel and zero velocities. The bottom
elevation inside the reservoir is b(x, y) = 0, while in the channel is b(x, y) = 0.33 m. All
the boundaries are reflective walls except the end of the channel which is open.
Figure 8.13: Dam with channel. The initial conditions present a discontinuity in the freesurface. The free surface (transparent blue) over the bottom elevation (red).
Note that the bottom elevation presents a discontinuity which cannot be solved by
this shallow water model, see Fig. 8.14. However, we approximate the physical domain
considering a small transition area between x = 2.39 m and x = 2.49 m. This transition
area connects the two levels of the bottom elevation. Inside this area a number of triangles
129
8. Numerical results
are defined. Considering the cell average of the bottom inside each triangle we reconstruct
the bottom elevation taking into account the order of the numerical method used. Using
this reconstruction procedure we transform the discontinuity of the bottom elevation in a
smooth transition. In Fig. 8.14 we show the reconstruction of the bottom elevation. In Fig.
8.14(a) the bottom is represented by piece-wise constant polynomial. The reconstruction
procedure approximates the transition between both levels. In Fig. 8.14(b) the bottom is
reconstructed with piece-wise parabolic polynomial.
YX
Z
(a) First order approximation.
YX
Z
(b) Third order approximation.
Figure 8.14: Dam with channel. Reconstruction of the bottom elevation. (a): data insideeach triangle is constant and the transition area has discontinuous steps. (b):data inside each triangle is represented by a second order polynomial. In thismanner the discontinuous jumps of the bottom reduce with the order of themethod.
The solution of this problem initially consists of a right travelling shock wave and a
left travelling rarefaction wave. The shock flows into the channel until reaches the bend.
Because the 45o bend, the chock reflects forming a characteristic wave pattern. In the
exterior side of the bend the free surface increases while in the interior side of the bend the
water level decreases almost to generate a dry zone. On the other hand, the left travelling
rarefaction wave expands inside the reservoir and interacts with the solid walls. This
interaction generates a very complicate wave pattern that needs highly accurate numerical
methods to be revealed. Eventually, the rarefaction wave reflects and goes back into the
channel.
130
8. Numerical results
x(m)
y(m
)
0 2 4 6 8 10
0
2
4 Free surface H (m)0.580.570.560.550.540.530.520.510.500.490.480.470.460.450.440.430.420.410.400.390.380.370.360.350.340.33
(a) First order FV
x(m)
y(m
)
0 2 4 6 8 10
0
2
4 Free surface H (m)0.580.570.560.550.540.530.520.510.500.490.480.470.460.450.440.430.420.410.400.390.380.370.360.350.340.33
(b) Second order FV
x(m)
y(m
)
0 2 4 6 8 10
0
2
4 Free surface H (m)0.580.570.560.550.540.530.520.510.500.490.480.470.460.450.440.430.420.410.400.390.380.370.360.350.340.33
(c) Third order FV
Figure 8.15: Dam with channel. Free surface contour plot. (a): First order Finite Volume.(b): Second order Finite Volume. (c): Third order Finite Volume.
131
8. Numerical results
In Fig. 8.15 to 8.16 we show the numerical result at the final time t = 4.0 s. The solution
is presented as a contour plot of the free surface for the Finite Volume and Discontinuous
Galerkin schemes. First to third order FV numerical solution are presented in Fig. 8.15.
In Fig. 8.16 the second order DG solution is presented. As the order increases we can
observe more details in the wave patterns inside the reservoir, where many waves are
already reflected, see Fig. 8.15(a) to 8.15(c). In the channel, the shock wave already
interacts with the bend, reflecting back and forward from the solid walls. Both second
order methods, Fig. 8.15(b) and Fig. 8.16, show similar results. The FV solution seems
to reveal more details in the wave pattern inside the reservoir. For this type of problem,
where strong discontinuities are present, the DG scheme has to reconstruct the data near
the discontinuities introducing more computational time to the numerical method.
x(m)
y(m
)
0 2 4 6 8 10
0
2
4 Free surface H (m)0.580.570.560.550.540.530.520.510.500.490.480.470.460.450.440.430.420.410.400.390.380.370.360.350.340.33
Figure 8.16: Dam with channel. Free surface contour plot. Second order DiscontinuousGalerkin.
8.3.4 Malpasset
This simulation is presented to show the potentialities of the numerical methods studied
in this thesis. The simulation is about a real dam-break problem. The physical domain
is the narrow Reyran river valley where the Malpasset dam failed in 1959 causing more
than 400 casualties. We do not intent to present an accurate simulation, in particular
because friction is not included and the numerical results were obtained with a first order
FV numerical method but the use of unstructured meshes allow us to discretize complex
geometries.
Fig. 8.17 depicts the computational domain and the location of the dam. The compu-
tational domain consists of 16042 triangles. The size of each triangle varies giving more
resolution where it is more demanding. To the left of the dam we set a free surface eleva-
tion b(x, y)+h(x, y, 0) = 120m and everywhere else is dry. At time zero the dam collapses
132
8. Numerical results
instantaneously and the water starts to flow through the valley.
In Fig. 8.18 are shown the numerical results of the simulation. In Fig. 8.18(a) the
initial condition are shown, Fig. 8.18(b) to 8.18(d) show the simulation every 30 seconds.
Comparing this solution with field data we observe that the method overestimates the
water velocity. This is principally due to the absence of friction. Considering that the first
order method is able to run the simulation with wet/dry fronts, we are optimistic in the
possibility to couple the high-order results presented in this thesis with dry fronts.
Figure 8.17: Malpasset dam: Computational domain formed by 26042 triangles. On theleft of the dam the free surface is 120 m over the sea level. Everywhere elseis dry. At time zero the dam collapses instantaneously and the water flowsthrough the valley.
133
8. Numerical results
(a) (b)
(c) (d)
Figure 8.18: Numerical solution of the Malpasset dam simulation. Contour plot for thewater depth. The red zones show a high level of water while the blue zones lowlevels. (a): initial condition. (b): Numerical simulation after thirty seconds.(c): Numerical simulation after sixty seconds. (d): Numerical simulation afterninety seconds.
134
9 Summary, conclusions and future work
This thesis has focused on further developments of ADER schemes for non-linear hyper-
bolic equations on triangular unstructured grids in the framework of Finite Volumes and
Discontinuous Galerkin Finite Element methods. The main results presented can be sum-
marized as follows:
1. General exact solvers for the classical Riemann problem have been presented for the
Euler equations and the Baer-Nunziato equations. These Riemann solvers are exact
and allow the use of general equations of state. A key ingredient of the solvers is a
non-linear algebraic system of equations that has to be solved iteratively. We also
proposed two approximate Riemann solvers for the classical Riemann problem for
the Baer-Nunziato equations namely EVILIN and stratified approach, which avoid
the solution of the full non-linear problem. EVILIN evolves the initial data with a
centred scheme and then solves a linear Riemann problem. The stratified approach
solves single-phase Euler problems exactly or approximately to construct the solution
of the full multiphase system.
2. Two new Derivative Riemann Problem solvers has been proposed that allow the
construction of high-order numerical methods in the framework of ADER schemes
on triangular meshes. The first one called CT-DRP constructs one time evolution
function at the interface solving one non-linear classical Riemann problem for the
extrapolated values and linear Riemann problems for the time derivatives. The sec-
ond one called HEOC-DRP, which is a re-interpretation of the high-order numerical
method first proposed by Harten, Engquist, Osher and Chakravarthy [45], constructs
time evolution functions on both sides of the initial discontinuity and then solves non-
linear classical Riemann problems for each time integration point. Both DRP solvers
reduce to the one presented originally by Toro and Titarev [99], called TT-DRP, for
hyperbolic linear equations.
3. The DRP solvers presented in this thesis successfully approximate the Derivative
Riemann Problem. They converge to the theoretical solution when the order of the
approximation is increased. This is clear for smooth flows and small discontinuous
135
9. Summary, conclusions and future work
jumps. For strong jumps in the initial data the proposed solutions fail to converge to
the theoretical solution for non-linear systems. However, when they are implemented
in ADER schemes the numerical solution presents high accuracy and non oscillatory
behaviour near strong shocks.
4. ADER schemes in one and two dimensions unstructured grids has been constructed
using the proposed DRP solvers. The expected theoretical convergence rate has
been obtained for smooth flows and with non-stiff source terms. The ADER schemes
constructed on triangular meshes show great flexibility in treating complicated ge-
ometries. They can be theoretically extended to arbitrary high-order accuracy for
non-linear hyperbolic balance laws. In this thesis we used a novel WENO-type re-
construction technique proposed by Dumbser and Käser in [28].
5. ADER schemes have been applied to the two dimensional Euler equations and two
dimensional Shallow Water equations. Numerical solutions up to fifth space-time
order of accuracy have been shown for the Euler and the Shallow Water equations.
6. First and second order methods have been implemented for the one-dimensional Baer-
Nunziato equations using the proposed classical Riemann solvers. A convergence test
up to second order has been shown.
Further work will include more detailed studies of DRP solvers and their solutions when
strong jumps are present, approximations of stiff source terms, simulations of engineering
problem in the area of shallow water and compressible fluid dynamic systems. The author
also is interested in applications of ADER schemes to different hyperbolic systems such as
the elasticity equations encountered in the simulation of seismic wave propagation.
136
A Equations of state for gas dynamics
A.1 Van der Waals equation of state
The van der Waals equation of state reads
RT =(
p + αv2
)
(v − β)
e = CvT − αv
(A.1)
where p is the pressure, v = 1/ρ is the specific volume, T the temperature, e the specific
energy and α, β and R are constant for the particular gas.
From thermodynamic,
Tds = de + pdv (A.2)
From a complete equation of state s = s(T, v) then
ds =
(
∂s
∂T
)
v
dT +
(
∂s
∂v
)
T
dv , (A.3)
and using the relation Cv = T(
∂s∂T
)
vand the Maxwell relation
(
∂s∂v
)
T=
(
∂p∂T
)
v
ds =Cv
TdT +
(
∂p
∂T
)
v
dv (A.4)
From equation (A.1)(
∂p∂T
)
v= R
v−β and along an isentrope
Cv
TdT +
R
v − βdv = 0 (A.5)
Integrating equation (A.5) we obtain that T (v − β)R/Cv ≡ Cs is constant for an isen-
tropic process for van der Waals equation of state. Similarly we have
(
p + αρ2)
(
1
ρ− β
)R/Cv−1
= const. (A.6)
This constant Cs will be fundamental when evaluating the properties of the fluid across
137
A. Equations of state for gas dynamics
a rarefaction wave. With the same result it is possible to express the temperature for an
isentropic process as Ts = Cs (v − β)−R/Cv and replacing it in (A.1).
ps(ρ) = RCs
(
1
ρ− β
)−( RCv
+1)− αρ2 (A.7)
Equation (A.7) will be used when a rarefaction wave is present in (4.25) and (4.26).
Moreover, (A.7) is used to find the sound speed from its definition as
c2(ρ) =
(
∂p
∂ρ
)
s
(A.8)
c2(ρ) =R
Cv(R + Cv)Cs
(
1
ρ− β
)−( RCv
+2)ρ−2 − 2αρ (A.9)
or replacing the constant Cs
c2(ρ) =R(R + Cv)T
Cv (1 − ρβ)2− 2αρ (A.10)
Coming back to Rankine-Hugoniot Conditions we can replace (A.1) in (4.28) and relate
p∗ to ρ∗k.
PRH(ρ∗k) =ek − pk
2
(
1ρ∗k
− 1ρk
)
− αCv−RR ρ∗k + αβCv
R ρ2∗k
1ρ∗k
(
CvR + 1
2
)
− 12ρk
− CvβR
(A.11)
Using (A.11) in (4.30) and (4.31) the Riemann solver is complete, nevertheless this
equation have a singularity that may turn useless the Riemann solver if the initial guess
value for ρ∗k does not agree some criteria, moreover, in some cases, the iterative procedure
converge to a wrong solution. The singular point is
ρcrit =(2Cv + R)ρk
2Cvβρk + R(A.12)
A.2 Stiffened-gas equation of state
The Stiffened equation of state written in function of pressure and specific volume e =
e(p, v) reads
e = v(p+γpo)γ−1 = p+γpo
ρ(γ−1) (A.13)
138
A. Equations of state for gas dynamics
where p is the pressure, v = 1/ρ is the specific volume, e the specific energy and γ and po
constant for the particular gas.
From thermodynamic,
Tds = de + pdv (A.14)
From (A.13)
de = ∂e∂pdp + ∂e
∂vdv
de = vγ−1dp + (p+γpo)
γ−1 dv(A.15)
Replacing (A.15) in (A.14)
Tds = vγ−1dp + (p+γpo)+p(γ−1)
γ−1 dv
Tds = vγ−1dp + γ(p+po)
γ−1 dv(A.16)
Integrating along an isentropic path,
p + po
ργ= Cs (A.17)
Form equation (A.17) the pressure is expressed in terms of density along an isentrope
and then used in (4.25) and (4.26).
Ps(ρ) = Csργ − po (A.18)
The sound speed is computed from this relation as
c2(ρ) =
(
∂p
∂ρ
)
s
= Csγργ−1 (A.19)
or replacing the constant Cs
c2(ρ) =γ(p + po)
ρ(A.20)
Coming back to Rankine-Hugoniot Conditions we can replace (A.13) in (4.28) and relate
p∗ to ρ∗k.
PRH(ρ∗k) =ek − pk
2
(
1ρ∗k
− 1ρk
)
− γpo
ρ∗k(γ−1)
1ρ∗k
(
1γ−1 + 1
2
)
− 12ρk
(A.21)
Using (A.21) in (4.30) and (4.31) the Riemann solver is complete. This expression have
a singularity imposing a maximum value for the density behind the shock. This limit gives
139
A. Equations of state for gas dynamics
a maximum strength of the shock equal to
ρ∗kρ∗k
=γ + 1
γ − 1(A.22)
140
Bibliography
[1] R. Abgrall. On essentially non-oscillatory schemes on unstructured meshes: analysis
and implementation. J. Comp. Phys., 1:45–58, 1994.
[2] R. Abgrall. How to prevent pressure oscillations in multicomponent flow calculations:
A quasi conservative approach. J. Comp. Phys., 125:150–160, 1996.
[3] N. Andrianov and G. Warnecke. The Riemann problem for the Baer Nunziato two-
phase flow model. J. Comp. Phys., 195:434–464, 2004.
[4] M. Baer and J. Nunziato. A two-phase mixture theory for the deflagration to deto-
nation transition (DDT) in reactive granular materials. International Journal Mul-
tiphase Flow, 12:861–889, 1986.
[5] M. Ben-Artzi and J. Falcovitz. A second-order Godunov-type scheme for compressible
fluid dynamics. J. Comp. Phys., 55:1–32, 1984.
[6] M. Ben-Artzi and J. Falcovitz. Generalized Riemann Problems in Computational
Fluid Dynamics. Cambridge University Press, 2003.
[7] A. Bourgeade, P. LeFloch, and P. A. Raviart. An Asymptotic Expansion for the Solu-
tion of the Generalized Riemann Problem. Part 2: Application to the Euler Equations
of Gas Dynamics. Ann. Inst. Henri Poincaré. Analyse non Lineáre, 6(6):437–480,
1989.
[8] J. Casper and H. L. Atkins. A Finite Volume High–Order ENO Scheme for Two–
Dimensional Hyperbolic Systems. J. Comput. Phys., 106:62–76, 1993.
[10] C. E. Castro and E. F. Toro. A Riemann solver and upwind methods for a two-phase
flow model in non-conservative form. Int. J. Numer. Meth. Fluids, 50:275–307, 2006.
[9] C. E. Castro and E. F. Toro. Alternative solvers for the Derivative Riemann Problem
for hyperbolic balance laws. J. Comput. Phys. (submited), 00:000–000, 2006.
141
Bibliography
[11] Chih-Hao Chang and Meng-Sing Liou. A new approach to the simulation of com-
pressible multifluid flows with AUSM+ scheme. In 16th AIAA Computational Fluid
Dynamics, Conference, 2003.
[12] Chih-Hao Chang and Meng-Sing Liou. A conservative compressible multifluid model
for multiphase flow: Shock-inteface interaction problems. In 17th AIAA Computa-
tional Fluid Dynamics, Conference, 2005.
[13] G. Chavent and G. Salzano. A finite element method for the 1D water flooding with
gravity. J. Comp. Phys., 45:307–344, 1982.
[14] A. J. Chorin. Random Choice Solutions of Hyperbolic Systems. J. Comput. Phys.,
22:517–533, 1976.
[15] B. Cockburn, S. Hou, and C.W. Shu. TVB Runge-Kutta local projection discontin-
uous Galerkin finite element method for conservation laws IV: The multidimensional
case. Math. Comp., 54:545–581, 1990.
[16] B. Cockburn, G.E. Karniadakis, and C.W. Shu, editors. Discontinuous Galerkin
Methods., volume 11 of Lecture Notes in Computational Science and Engineering.
Springer, 2000.
[17] B. Cockburn and C. W. Shu. Review Article: RungeKutta Discontinuous Galerkin
Methods for Convection-Dominated Problems. J. Sci. Comp., 16(3):173–261, 2001.
[18] B. Cockburn and C.W. Shu. TVB Runge-Kutta local projection discontinuous
Galerkin finite element method for conservation laws II: general framework. Math.
Comp., 52:411–435, 1989.
[19] B. Cockburn and C.W. Shu. The Runge-Kutta local projection P 1- discontinuous
Galerkin method for scalar conservation laws. RAIRO Modél. Math. Anal. Numér.,
25:337–361, 1991.
[20] B. Cockburn and C.W. Shu. The Runge-Kutta discontinuous Galerkin finite element
method for conservation laws V: Multidimensional systems. J. Comp. Phys., 141:199–
224, 1998.
[21] P. Colella. A Direct Eulerian MUSCL Scheme for Gas Dynamics. SIAM J. Sci. Stat.
Comput., 6(1):104–117, 1985.
[22] P. Colella. Efficient solution algorithms for the Riemann problem for real gases. J.
Comp. Phys., 59:264–289, 1985.
142
Bibliography
[23] C. Dafermos. Polygonal approximations of solutions of the initial value problem for
a conservation law. J. Math. Anal. Appl., 38:33–41, 1972.
[24] K. D. Devine and J. E. Flaherty. Parallel adaptive hp-refinement techniques for
conservation laws. Appl. Numer. Math., 20:367–386, 1996.
[25] D. Drew. Mathematical Modeling of Two-Phase Flow. Ann. Rev. Fluid Mech.,
15:261–291, 1983.
[26] J. Dukowicz. A general, non-iterative Riemann solver for Godunov’s method. J.
Comp. Phys., 61:119–137, 1985.
[27] M. Dumbser. Arbitrary High Order Schemes for the Solution of Hyperbolic Conser-
vation Laws in Complex Domains. PhD thesis, Universität Stuttgart, Institut für
Aerodynamik und Gasdynamik, 2005.
[28] M. Dumbser and M. Käser. Arbitrary high order non-oscillatory finite volume
schemes on unstructured meshes for linear hyperbolic systems. J. Comp. Phys.(In
Press), 00:000–000, 2006.
[29] M. Dumbser and C.D. Munz. Building blocks for arbitrary high order discontinuous
Galerkin schemes. J. Sci. Comput., 27(1-3):215–230, 2006.
[30] P. Embid and M. Baer. Mathematical analysis of a two-phase continuum mixture
theory. Continuum Mechanics and Thermodynamics, 4:279–312, 1992.
[31] T. Gallouët, J. M. Hérard, and N. Seguin. Some recent finite volume schemes to
compute Euler equations using real gas EOS. Int. J. Numer. Meth. Fluids, 39:1073–
1138, 2002.
[32] P. Garcia-Navarro and F. Alcrudo. 1D open channel flow simulation using TVD
McCormack Scheme. J. Hydraulic Engineering ASCE, 118:1359–1373, 1992.
[33] D. Gidaspow. Multiphase Flow and Fluidization: Continuum and Kinetic Theory
Descriptions. Academic Press, 1994.
[34] R.A. Gingold and J.J. Monaghan. Smoothed Particle Hydrodynamics: Theory and
Application to Non-spherical Stars. Monthly Notices of the Royal Astronomical So-
ciety, 181(2):375–389, 1977.
[35] P. Glaiste. An approximate linearised Riemann solver for the Euler equations for
real gases. J. Comput. Phys., 74:382–408, 1988.
143
Bibliography
[36] J. Glimm. Solution in the Large for Nonlinear Hyperbolic Systems of Equations.
Comm. Pure. Appl. Math., 18:697–715, 1965.
[37] J. Glimm, M. J. Graham, J. W. Grove, X. L. Li, T. M. Smith, D. Tan, F. Tangerman,
and Q. Zhang. Front tracking in two and three dimensions. Computers Math. Applic.,
35:1–11, 1998.
[38] J. Glimm, J. W. Grove, X. L. Li, M. Shyue, Q. Zhang, and Y. Zeng. Three dimen-
sional front tracking. SIAM J Sci. Comp., 19:703–727, 1998.
[39] E. Godlewski and P. Raviart. Numerical approximation of hyperbolic systems of
conservation law. Applied Mathematical Science 118. Springer, 1996.
[40] S.K. Godunov. A finite difference method for the computation of discontinuous
solutions of the equations of fluid dynamics. Mat. Sbornik., 47:357–393, 1959.
[41] S.K. Godunov, A.V. Zabrodin, M.Y. Ivanov, A.N. Kraiko, and G.P. Prokopov. Nu-
merical Solution of Multi–Dimensional Problems in Gas Dynamics. Nauka Press,
Moscow, 1976.
[42] J. J. Gottlieb and C. P. T. Groth. Assessment of Riemann Solvers for Unsteady
One–Dimensional Inviscid Flows of Perfect Gases. J. Comput. Phys., 78:437–458,
1988.
[43] J.W. Grove. Application of front tracking to the simulation of shock rarefaction and
unstable mixing. J. Appl. Numer. Math., 14:213–237, 1994.
[44] A. Harten, B. Engquist, S. Osher, and S. R. Chakravarthy. Some results on uni-
formly high-order accurate essentially Non–oscillatory Schemes. J. Appl. Num.
Math., 2:347–377, 1986.
[45] A. Harten, B. Engquist, S. Osher, and S. R. Chakravarthy. Uniformly High Order
Accuracy Essentially Non–oscillatory Schemes III. J. Comput. Phys., 71:231–303,
1987.
[46] A. Harten, P. D. Lax, and B. van Leer. On Upstream Differencing and Godunov–
Type Schemes for Hyperbolic Conservation Laws. SIAM Review, 25(1):35–61, 1983.
[47] A. Harten and S. Osher. Uniformly High–Order Accurate Nonoscillatory Schemes I.
SIAM J. Numer. Anal., 24(2):279–309, 1987.
144
Bibliography
[48] H. Holden and N. H. Risebro. Front Tracking for Hyperbolic Conservation Laws.
Springer, New York, 2002.
[49] C. Hu and C. W. Shu. Weighted Essentially Non-oscillatory Schemes on Triangular
Meshes. J. Comp. Phys., 150:97–127, 1999.
[50] M Ishii. Thermo-fluid Dynamic Theory of Two-phase Flow. Eyrolles, Paris, 1975.
[51] M.J. Ivings, D.M. Causon, and E.F. Toro. On Riemann Solvers for Compressible
Liquids. Int. J. Numer. Meth. Fluids, 28(3):395–418, 1998.
[52] A. Jeffrey. Quasilinear hyperbolic systems and waves. Pitman, 1976.
[53] G. S. Jiang and C. W. Shu. Efficient Implementation of Weighted ENO Schemes. J.
Comp. Phys., 126(130):202–228, 1996.
[54] M. Käser and A. Iske. ADER schemes on adaptive triangular meshes for scalar
conservation laws. J. Comp. Phys., 205:486–508, 2005.
[55] P. D. Lax and Wendroff B. Systems of conservation laws. Communications in pure
and applied mathematics, 13:217–237, 1960.
[56] P. Le Floch and 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.
[57] P. Le Floch and L. Tatsien. A Global Asymptotic Expansion for the Solution of the
Generalized Riemann Problem. Ann. Inst. Henri Poincaré. Analyse non Lineáre,
3:321–340, 1991.
[58] B. LéMehauté. An Introduction to Hydrodynamics and Water Waves. Springer-
Verlag, New York, 1976.
[59] P. LeSaint and P. A. Raviart. On a finite element method for solving the neutron
transport equation. In C. de Boor, editor, Mathematical aspects of finite elements in
partial differential equations, pages 89–145. Academic Press, 1974.
[60] R.J. Leveque. Finite volume methods for hyperbolic problems. Cambridge, 2002.
[61] G.R. Liu and M.B. Liu. Smoothed Particle Hydrodynamics: A Meshfree Particle
Method. World Scientific Publishing, Singapore, 2003.
145
Bibliography
[62] X. D. Liu, S. Osher, and T. Chan. Weighted Essentially Non–oscillatory Schemes.
J. Comput. Phys., 115:200–212, 1994.
[63] L.B. Lucy. A Numerical Approach to the Testing of the Fission Hypothesis. Astro-
nomical Journal, 82(12):1013–1024, 1977.
[64] R. Menikoff and B. J. Plohr. The Riemann Problem for Fluid Flow of Real Materials.
Reviews of Modern Physics, 61:75–130, 1989.
[65] I.S. Men’shov. Increasing the order of approximation of Godunov’s scheme using the
solution of the generalized Riemann problem. USSR Comput. Math. Phys., 30(5):54–
65, 1990.
[66] Kolgan V. P. Application of the Principle of Minimum Derivatives to the Construc-
tion of Difference Schemes for Computing Discontinuous Solutions of Gas dynamics
(in Russian). Uch. Zap. TsaGI, Russia, 3(6):68–77, 1972.
[67] W. H. Press, B. P. Flannery, S. A. Teukolsky, and W. T. Vetterling. Numerical
Recipes in FORTRAN 77: The Art of Scientific Computing. Cambridge University
Press, 1992.
[68] L. Quartapelle, L. Castelletti, A. Guardone, and G. Quaranta. Solution of the Rie-
mann problem of classical gasdynamics. J. Comp. Phys., 190:118–140, 2003.
[69] W. H. Reed and T. R. Hill. Triangular mesh methods for the neutron transport
equation. Technical Report LA-UR-73-479, Los Alamos Scientific Laboratory, 1973.
[70] P. L. Roe. Approximate Riemann Solvers, Parameter Vectors, and Difference
Schemes. J. Comput. Phys., 43:357–372, 1981.
[71] E. Romenski and E.F. Toro. Compressible two-phase flows: Two-pressure models
and numerical methods. Technical report, Isaac Newton Institute for Mathematical
Sciences, 2004.
[72] V. V. Rusanov. On difference schemes of third-order accuracy for nonlinear hyper-
bolic systems. J. Comput. Phys., 5:507–516, 1970.
[73] R. Saurel and R. Abgrall. A multiphase Godunov method for compressible multifluid
and multiphase flows. J. Comp. Phys., 150:425–467, 1999.
[74] R. Saurel, M. Larini, and J. C. Loraud. Exact and approximate Riemann solvers for
real gases. J. Comp. Phys., 112:126–137, 1994.
146
Bibliography
[75] H. Schardin. . In VII Int. Cong. High Speed Photg. Darmstadt. O. Helwich Verlag,
1965.
[76] T. Schwartzkopff, M. Dumbser, and C.D. Munz. Fast high order ADER schemes for
linear hyperbolic equations. J. Comp. Phys., 197(2):532–539, 2004.
[77] T. Schwartzkopff, C.D. Munz, and E.F. Toro. ADER-2D: a high-order approach for
linear hyperbolic systems in 2D. J. Sci. Comput., 17:231–240, 2002.
[78] D.W. Schwendeman, C.W. Wahle, and A.K. Kapila. The Riemann problem and
high-resolution Godunov method for a model of compressible two-phase flow. J.
Comp. Phys., 212:490–526, 2006.
[79] C. Shi, J. Hu and C. W. Shu. A Technique for Treating Negative Weights in WENO
Schemes. J. Comput. Phys., 175(1):108–127, 2002.
[80] C. W. Shu. Total-Variation-Diminishing Time Discretizations. SIAM J. Sci. Stat.
Comp., 9:1073–1084, 1986.
[81] C. W. Shu. Essentially Non–oscillatory and Weighted Non–oscillatory Schemes for
Hyperbolic Conservation Laws. Technical Report ICASE Report No. 97–65, NASA,
1997.
[82] C. W. Shu and S. Osher. Efficient Implementation of Essentially Non–oscillatory
Shock–Capturing Schemes. J. Comput. Phys., 77:439–471, 1988.
[83] B.H. Stewart and B. Wendroff. Two-phase flow: models and methods. J. Comp.
Phys., 56:363–409, 1984.
[84] J. J. Stoker. Water Waves: The Mathematical Theory with Applications. John Wilery
and Sons, 1992.
[85] Y. Takakura and E.F. Toro. Arbitrarily accurate non-oscillatory schemes for a non-
linear conservation law. J. Computational Fluid Dynamics, 11(1):7–18, 2002.
[87] V. A. Titarev and E. F. Toro. ADER: Arbitrary high order Godunov approach. J.
Sci. Comput., 17(1-4):609–618, 2002.
[86] V. A. Titarev and E. F. Toro. Finite Volume WENO Schemes for Three-Dimensional
Conservation Laws. J. Comput. Phys., 201(1):238–260, 2004.
[88] V. A. Titarev and F. E. Toro. ADER schemes for three-dimensional non-linear
hyperbolic systems. J. Comp. Phys., 204:715–736, 2005.
147
Bibliography
[89] 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.
[90] E. F. Toro. A Linearised Riemann Solver for the Time–Dependent Euler Equations
of Gas Dynamics. Proc. Roy. Soc. London, A434:683–693, 1991.
[91] E. F. Toro. Riemann Solvers and Numerical Methods for Fluid Dynamics. Springer–
Verlag, 1997.
[92] E. F. Toro. Primitive, Conservative and Adaptive Schemes for Hyperbolic Conser-
vation Laws. In E. F. Toro and J. F. Clarke, editors, Numerical Methods for Wave
Propagation, pages 323–385. Kluwer/Plenum Academic Publishers, 1998.
[95] E. F. Toro. Riemann solvers and numerical methods for fluid dynamics. Second
Edition. Springer, Berlin Heidelberg, 1999.
[93] E. F. Toro. Shock-Capturing Methods for Free-Surface Shallow Flows. Wiley and
Sons Ltd, 2001.
[96] E. F. Toro. Multi-Stage Predictor-Corrector Fluxes for Hyperbolic Equations. Tech-
nical Report NI03037-NPA, Isaac Newton Institute for Mathematical Sciences, 2003.
[97] E. F. Toro. Riemann solvers with evolved initial conditions. Int. J. Numer. Meth.
Fluids., 52:433–453, 2006.
[98] E. F. Toro, R. C. Millington, and L. A. M. Nejad. Towards very high order Godunov
schemes. In E. F. Toro, editor, Godunov Methods. Theory and Applications, pages
907–940. Kluwer/Plenum Academic Publishers, 2001.
[94] E. F. Toro, M. Spruce, and W. Speares. Restoration of the Contact Surface in the
HLL–Riemann Solver. Shock Waves, 4:25–34, 1994.
[99] E. F. Toro and V. A. Titarev. Solution of the generalized Riemann problem for
advection-reaction equations. Proc. Roy. Soc. London A, 458:271–281, 2002.
[100] E. F. Toro and V. A. Titarev. TVD Fluxes for the high-order ADER schemes. J.
Sci. Comput., 24(3):285–309, 2005.
[101] E. F. Toro and V. A. Titarev. Derivative Riemann Solvers for Systems of Conserva-
tion Laws and ADER Methods. J. Comp. Phys., 212:150–165, 2006.
[102] B. van Leer. Towards the Ultimate Conservative Difference Scheme I. The Quest for
Monotonicity. Lecture Notes in Physics, 18:163–168, 1973.
148
Bibliography
[103] B. van Leer. Towards the Ultimate Conservative Difference Scheme II. Monotonicity
and conservation combined in a second-order scheme. J. Comp. Phys., 14:361–370,
1974.
[104] B. van Leer. MUSCL, A New Approach to Numerical Gas Dynamics. In Comput-
ing in Plasma Physics and Astrophysics, Max–Planck–Institut für Plasma Physik,
Garchung, Germany, April 1976.
[105] B. van Leer. Towards the Ultimate Conservative Difference Scheme III. Upstream-
centered finite-difference schemes for ideal compressible flow. J. Comp. Phys, 23:263–
275, 1977.
[106] B. van Leer. Towards the Ultimate Conservative Difference Scheme IV. A new ap-
proach to numerical convection. Lecture Notes in Physics, 23:276–299, 1977.
[107] B. van Leer. Towards the Ultimate Conservative Difference Scheme V. A Second
Order Sequel to Godunov’s Method. J. Comput. Phys., 32:101–136, 1979.
[108] 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, 1985.
[109] MacCormack R. W. The effect of viscosity in hypervelocity impact cratering. AIAA
Paper, pages 69–354, 1969.
149