Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Development of a High-Order Finite-VolumeMethod for Unstructured Meshes
by
Sean McDonald
A thesis submitted in conformity with the requirementsfor the degree of Masters of Applied Science
Graduate Department of Aerospace EngineeringUniversity of Toronto
Copyright © 2011 by Sean McDonald
Abstract
Development of a High-Order Finite-Volume Method forUnstructured Meshes
Sean McDonald
Masters of Applied Science
Graduate Department of Aerospace Engineering
University of Toronto
2011
The development of high-order methods remains a very active field of research in Computational
Fluid Dynamics (CFD). These types of schemes have the potential to reduce the computational
cost necessary to compute solutions to a desired level of accuracy. The goal of this thesis has
been to develop a high-order Central Essentially Non Oscillatory (CENO) finite-volume scheme
for multi-block unstructured meshes. In particular, solution to the compressible, inviscid Eu-
ler Equations are considered. The CENO method achieves a high-order spatial reconstruction
based on the k-exact method, combined with hybrid switching to limited piecewise linear recon-
struction in non-smooth regions to maintain monotonicity. Additionally, fourth-order Runge-
Kutta time marching is applied. The solver described has been validated through a combination
of high-order function reconstructions, and solutions to the Euler equations. Cases have been
selected to demonstrate high-orders of convergence, the application of the hybrid switching
method, comparisons with structured solver, and the multi-block techniques which have been
implemented.
ii
Acknowledgements
I would like to thank a number of people without whom the completion of this thesis would
not have been possible.
First, I would like to thank my family. My accomplishments with this work could not have
been possible without the loving support of my parents. Furthermore, any achievement that I
have made throughout my life is strong a reflection on them and the encouragement they have
given me, for that I am forever grateful. I would also like to express my deepest gratitude to
my brother James and sister Lindsay.
I have been very fortunate to be working under the insightful guidance of Professor C. P.
T. Groth throughout this project. His enthusiasm and expert advice has been a significant
contribution and driving force throughout this research.
I would like to thank the Natural Sciences and Engineering Research Council of Canada, the
University of Toronto, and Professor Groth for their financial support throughout this project.
I would also like to thank my colleagues at The University of Toronto Institute for Aerospace
Studies Computational Fluid Dynamics laboratory for their invaluable assistance and friendship
throughout my Masters’ degree.
Finally, I would like to express my profound appreciation to Jennifer DeWit for her encourage-
ment, understanding, and patience. She has given me the extra strength, motivation and love
necessary throughout my degree.
Toronto, December 2010 Sean McDonald
iii
Contents
Abstract ii
Acknowledgments iii
Contents iv
List of Tables viii
List of Figures ix
1 Introduction 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Overview of Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Godunov-Type Finite-Volume Methods 6
2.1 Conservation Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1 Navier-Stokes Equations in Cartesian Coordinate Frame . . . . . . . . . . 7
2.1.2 Euler Equations in Cartesian Coordinate Frame . . . . . . . . . . . . . . 8
2.1.3 Thermodynamic Relations . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Euler Equations in One Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . 10
iv
2.3 Godunov-Type Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.1 Concept of Finite-Volume Methods . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Flux Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4.1 The Riemann Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4.2 Riemann Solvers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4.3 Comparison of Riemann Solvers . . . . . . . . . . . . . . . . . . . . . . . 15
2.5 Second-Order Godunov Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5.1 Godunov’s Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5.2 Piecewise Linear Reconstruction . . . . . . . . . . . . . . . . . . . . . . . 17
2.5.3 Enforcing Monotonicity: Slope Limiters . . . . . . . . . . . . . . . . . . . 19
2.6 Time Marching Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.6.1 Semi-Discrete Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.6.2 Runge-Kutta Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.6.3 Courant Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.7 Godunov-Type Finite-Volume Schemes in
Multi-Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.7.1 Multi-Dimensional Example . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3 Unstructured Mesh 27
3.1 Unstructured Mesh Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.1 Gmsh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.1.2 Geometry Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.1.3 Mesh Generation Module . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.1.4 Mesh Generation Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.1.5 Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2 Domain Decomposition and Multi-Block Partitioning . . . . . . . . . . . . . . . . 35
v
3.2.1 PMETIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3 Finite-Volume on Unstructured Mesh . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3.1 Data Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.3.2 Finite-Volume Example on Unstructured Mesh . . . . . . . . . . . . . . . 38
4 High-Order CENO Scheme 40
4.1 Previous High-Order Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.1.1 Overview of the CENO Scheme . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.2 k-Exact Reconstruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2.1 Conditions on Reconstruction . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2.2 Determination of Reconstruction Stencil . . . . . . . . . . . . . . . . . . . 46
4.2.3 Evaluation of the Derivatives for the Reconstruction . . . . . . . . . . . . 48
4.3 CENO Reconstruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.3.1 Reconstruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.3.2 Smoothness Indicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.3.3 Monotonicity Enforcement . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.3.4 Flux Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.4 Multi-block Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.5 High-Order Treatment for Curved Boundaries . . . . . . . . . . . . . . . . . . . . 57
4.6 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5 Numerical Results 60
5.1 Theory for Evaluating High-Order Algorithms . . . . . . . . . . . . . . . . . . . . 61
5.1.1 Determining the Order of Accuracy . . . . . . . . . . . . . . . . . . . . . 61
5.1.2 Accuracy Assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
vi
5.2 Reconstruction of Two-Dimensional Functions . . . . . . . . . . . . . . . . . . . . 62
5.2.1 Spherical Cosine Function . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.2.2 Exponential Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.2.3 Abgrall’s Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.3 Solution of Two-Dimensional Euler Equations . . . . . . . . . . . . . . . . . . . . 71
5.3.1 Unsteady Shock-Box Problem . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.3.2 Unsteady Cylindrical Expansion . . . . . . . . . . . . . . . . . . . . . . . 73
5.3.3 Steady Supersonic Flow Over a Bump . . . . . . . . . . . . . . . . . . . . 75
6 Conclusions and Future Research 81
6.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.2 Future Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
References 90
vii
List of Tables
3.1 Comparison of Meshing Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2 Example of Edge Type Data Structure . . . . . . . . . . . . . . . . . . . . . . . . 38
5.1 Orders of accuracy for the Spherical Cosine Function. . . . . . . . . . . . . . . . 65
5.2 Orders of accuracy for the Exponential Function. . . . . . . . . . . . . . . . . . . 66
5.3 Orders of accuracy for the Abgrall’s Function. . . . . . . . . . . . . . . . . . . . . 71
5.4 Orders of accuracy for the Cylindrical Expansion. . . . . . . . . . . . . . . . . . . 74
viii
List of Figures
2.1 Depiction of the Riemann Problem . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 Depiction of five possible solutions to the Riemann Problem - s = shock, c =
contact, r = rarefaction [42] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 Depiction of integration loop for HLLE flux function . . . . . . . . . . . . . . . . 15
2.4 Shock tube problem: n=100 cells, CFL=0.5, t=0.007 s (a) Various Riemann
solvers (b) Close-up of contact wave . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.5 Shock tube problem: n=100 cells, CFL=0.5, t=0.007 s - Order of Accuracy effect
on solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.6 Shock tube problem: n=100 cells, CFL=0.5, t=0.007 s - Slope limiter effect on
solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.7 Finite-volume Shock-Box calculation: (a) Density - Initial Conditions (b) Density
- Results at 7 ms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.1 Two-dimensional geometry created using Gmsh . . . . . . . . . . . . . . . . . . . 29
3.2 Two-dimensional mesh generated using Gmsh . . . . . . . . . . . . . . . . . . . . 30
3.3 Visualization of Mesh Modifications [53] . . . . . . . . . . . . . . . . . . . . . . . 31
3.4 Hierarchical structure of triangle types [52] . . . . . . . . . . . . . . . . . . . . . 33
3.5 Various meshing algorithms: (a) Geometry (b) MeshAdapt (c) Delaunay (d)
Frontal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.6 PMETIS Partitioned Mesh showing: (a) Blocks (b) Blocks and Mesh . . . . . . 37
ix
3.7 Finite-Volume Shock-Box Calculation on Unstructured Mesh: (a) Density - Ini-
tial Conditions (b) Density - Results 7 ms . . . . . . . . . . . . . . . . . . . . . . 39
4.1 (a) Nearest and next to nearest neighbors on structured grid (b) Nearest and
next to nearest neighbors difficult to determine on unstructured grid . . . . . . . 47
4.2 (a) Nearest neighbors (b) Nearest and next to nearest neighbors (c) All neighbors 47
4.3 Graph of f(α) = α1−α . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.4 Quadrature points on a typical high-order unstructured cell . . . . . . . . . . . . 56
4.5 Ghost cells required for message passing . . . . . . . . . . . . . . . . . . . . . . . 57
4.6 Finite-Volume Shock-Box Calculation on Unstructured Mesh: (a) 2nd-order (b)
4th-order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.1 Reconstruction of spherical cosine function. . . . . . . . . . . . . . . . . . . . . . 64
5.2 Convergence studies for spherical cosine function reconstruction. . . . . . . . . . 65
5.3 Reconstruction of an Exponential Function. . . . . . . . . . . . . . . . . . . . . . 67
5.4 Convergence studies for Exponential Function Reconstruction. . . . . . . . . . . 68
5.5 Reconstruction of Abgrall’s function. . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.6 Results for Abgrall’s function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.7 Unsteady Shock Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.8 Demonstration of the Smoothness Indicator. . . . . . . . . . . . . . . . . . . . . . 77
5.9 Density variation on a structured mesh. . . . . . . . . . . . . . . . . . . . . . . . 77
5.10 Unsteady Cylindrical Expansion . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.11 L1 Error for the Cylindrical Expansion . . . . . . . . . . . . . . . . . . . . . . . . 79
5.12 Flow over a bump. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
x
Chapter 1
Introduction
Numerous engineering applications rely on a detailed understanding of fluid flows. These appli-
cations cross a broad range of industries including aerospace, energy, medical, and automotive.
Therefore, an understanding into the fundamentals of fluid dynamics has the potential to impact
a broad range of industries, having a tremendously positive impact on society.
One of the capabilities offering excellent potential for an increased understanding of fluid dy-
namics is the development of Computational Fluid Dynamics (CFD) tools to compute numerical
solutions to problems involving fluid flow [1, 2, 3, 4, 5]. These simulation tools can be very
useful by assisting to improve designs of engineering machines and systems that involve flu-
ids. The ultimate goal of CFD is to understand the underlying physical principals when a
fluid flows around and within a specified domain. This is done through systemized numerical
solution techniques applied to the partial differential equations governing the physics of fluid
flow [1, 2, 3, 4, 5].
The research outlined within this thesis serves as an advancement towards this goal of under-
standing the physics involved in fluid flow, by producing significantly more accurate simulations
tools for predicting fluid flow through complex geometry.
1.1 Motivation
CFD has proven to be an important enabling technology in many areas of science and engi-
neering. In spite of its relative maturity and widespread successes in aerospace engineering,
there remain a variety of physically-complex flows, which are still not well understood and have
proven to be very challenging to predict by numerical methods. Such flows would include but
1
Chapter 1. Introduction 2
are not limited to: (i) multiphase, turbulent, and combusting flows encountered in propulsion
systems (e.g., gas turbine engines and solid propellant rocket motors); (ii) compressible flows
of conducting fluids and plasmas; and (iii) micro-scale non-equilibrium flows, such as those
encountered in micro-electromechanical systems. These flows present numerical challenges for
they generally involve a wide range of complicated physical/chemical phenomena and scales.
Considering the physically-complex example of simulating turbulent reacting flows, typical of
many engineering applications including internal combustion engines. Tools for their accurate
simulation are of both practical and theoretical interest. Current tools for the simulation of
these flows include Direct Numerical Simulation (DNS) methods [6, 7, 8] and Large Eddie
Simulation (LES) methods [9, 10, 11]. These methods have proven to be computationally
expensive, and current low-order methods (i.e., methods of second-order accuracy or less) can
exhibit excessive numerical error [12]. The numerical error that these low-order methods exhibit
is both dispersive and dissipative.
The potential of high-order methods to reduce the cost of simulations for these physically-
complex flows has been recognized, but this potential has not always been fully realized. For
this reason, development of effective high-order methods remains an active area of research.
Improved numerical efficiency may be achieved by raising the order of accuracy of the spatial
discretization, thereby reducing the number of computational cells required to achieve the
desired accuracy. For hyperbolic conservation laws and/or compressible flow simulations, the
challenge has been to achieve accurate discretizations while coping in a reliable and robust
fashion with discontinuities and shocks [13]. However, the overall benefit of high-order methods
could be a significant decrease in the overall computational cost and memory requirements to
obtain a solution for a desired or specified level of accuracy.
A decrease in overall computational cost has the potential to allow large scale computations
to be carried out on a more routine basis. The computations targeted here could include, but
are not limited to DNS and LES of turbulent non-reactive and reactive flows, numerical com-
putations of complex unsteady aerodynamic flows, aeroacoustic modelling, and computational
electromagnetics [12]. As these computations become more routine, CFD codes will become
more useful in developing designs of machinery involving fluid flow. Computer simulations
can be conducted in place of building and testing prototypes, reducing cost and development
time. As an example, this could lead to improved combustor designs capable of meeting power
generation requirements while responding to increasing environmental concerns and regulations.
Chapter 1. Introduction 3
1.2 Background
As high-order methods have been an active area of research now for several decades, various
CFD techniques have been applied to accomplish the goal of decreasing in the overall compu-
tational cost and memory requirements to obtain a solution for a desired or specified level of
accuracy. High-order finite-volumes schemes proposed in the past include the essentially non-
oscillatory (ENO) scheme by Harten et al. [13], the weighted essentially non-oscillatory (WENO)
schemes [14, 15, 16], central-essentially non-oscillatory (CENO) schemes [12, 17, 18, 19], Dis-
continuous Galerkin (DG) schemes [20], and Finite-Difference (FD) schemes [21, 22]. A major
challenge in high-order schemes is employing a method at the reconstruction stage to preserve
monotonicity.
Consider the ENO, WENO, and CENO schemes, all from a similar family of high-order schemes,
the main difference being they each employ a different technique for preserving monotonicity.
The ENO scheme avoids the use of computational stencils that contain discontinuities to achieve
solution monotonicity [13, 23, 24]. This is accomplished by reconstructing the solution on several
stencils and selecting the smoothest. The WENO scheme applies a solution-dependent weighting
to incorporate and appropriately select all of the stencils computed in the reconstruction [14, 15,
16]. Finally, the CENO scheme locally reduces the order of the reconstruction to a second-order
limited linear piecewise reconstruction where necessary [12, 17, 18, 19].
The application of the ENO scheme to unstructured mesh was first conducted by Abgrall [25],
and further investigations have also been considered [23, 26]. Additionally, WENO schemes
have also been applied on unstructured meshes [27]. Both ENO and WENO variants encounter
difficulties for general multi-dimensional unstructured meshes when selecting appropriate sten-
cils [25, 28, 29, 27] and they can result in poor conditioning of the linear systems that are
involved in the solution reconstruction [29, 27]. These, along with the associated computa-
tional cost and complexities involved in the ENO and WENO finite-volume schemes, have
limited the range of applications of these high-order methods.
The recently proposed CENO scheme of Ivan and Groth [17, 30] attempts to deal with the
somewhat restrictive computational issues associated with ENO and WENO schemes. The
CENO scheme avoids the complexity associated with the other schemes by using a fixed central
stencil. A central stencil in general provides the most accurate reconstruction due to cancella-
tion of truncation errors. This hybrid scheme first performs an unlimited, high-order, k-exact
least-squares reconstruction technique [31], and then automatically reverts to a monotonicity
preserving limited, piecewise, linear, least-squares reconstruction procedure in cells near shocks
Chapter 1. Introduction 4
or with under-resolved solution content. The switching is controlled by a solution smooth-
ness indicator. The CENO reconstruction is effective in eliminating the appearance of O(1)
numerical oscillations in under-resolved regions and in solution that contain strong discontinu-
ities and/or shocks. Although uniform accuracy is not achieved for non-smooth solutions, the
method would seem readily extendable to both multi-dimensions and unstructured mesh. The
ability to formulate a high-order scheme on unstructured computational mesh in a straightfor-
ward manner is particularly appealing due to the ready applicability of such mesh to practical,
complex, three-dimensional, flow-field geometries.
The CENO finite-volume scheme has been developed by Ivan and Groth [12, 17, 18, 19] for
application to solutions of the one- and two-dimensional Euler equations on structured meshes.
The extension to three-dimensional structured meshes and the Navier-Stokes equations has
been completed by Rashad [32]. An in-depth discussion of the CENO scheme which has been
implemented throughout this research can be found in Chapter 4.
1.3 Objectives
The primary objective of this research has been to develop and verify a higher-order CENO
finite-volume method capable of obtaining accurate solutions on unstructured meshes. In par-
ticular, cell-centered CENO schemes are examined for the solution of the conservation equations
of inviscid, compressible, gas dynamics on multi-block, unstructured meshes in two dimensions
using triangular computational cells. As noted above, the hybrid CENO approach avoids the
complexity associated with other ENO and WENO schemes that require reconstruction on mul-
tiple stencils, which in some cases can produce poorly conditioned coefficient matrices, and is
therefore well suited for solution reconstruction on unstructured mesh.
Verification of the proposed high-order CENO method for unstructured grids has been achieved
through comparison of results to other numerical solutions calculated using the existing high-
order structured mesh solution method. Additionally, the accuracy of reconstructed solutions
for arbitrary functions on unstructured mesh is examined and the influence of mesh resolution
on accuracy is assessed for several two-dimensional flow problems. The ability of the scheme
to accurately represent solutions with smooth extrema and yet robustly handle under-resolved
and/or non-smooth solution content (i.e., solutions with shocks and discontinuities) is demon-
strated.
The extension of the CENO finite-volume scheme to unstructured meshes is a logical step, as
experience with structured mesh solvers indicates that higher-order accurate approximations
Chapter 1. Introduction 5
can significantly improve the quality of numerical solutions [31]. The long-term application of
this research could be for the accurate solution of turbulent reactive flows using LES methods on
hybrid meshes (body-fitted structured and unstructured mesh) with adaptive mesh refinement.
In such an approach, quadrilateral elements would be used in the vicinity of solid boundaries,
and unstructured triangular elements elsewhere to facilitate greater automation in the mesh
generation procedure.
1.4 Overview of Thesis
This thesis provides a full description of the proposed high-order CENO finite-volume method
that has been implemented on two-dimensional general unstructured meshes. The computer
code developed has been thoroughly verified through comparison with existing numerical results
to good agreement.
Chapter 2 provides an outline of Godunov-type finite-volume methods which have been used
for this research. The purpose is to provide a background understanding of the methods used
in the high-order scheme. Additionally, the equations of interest for this research are presented.
Chapter 3 outlines information pertaining to unstructured meshes and general algorithms that
are used for their creation. Information is presented related to the specific tool that was used for
meshing, and the unstructured mesh data structure used within the code. Chapter 4 presents
information regarding the CENO finite-volume formulation, along with an in-depth description
of the k-exact reconstruction technique on which it is based. Chapter 5 shows the numerical
results that have been obtained through this work, and information regarding its validation
and discussion. Finally, chapter 6 outlines the overall conclusions of this thesis, and provides
details for continued work.
Chapter 2
Godunov-Type Finite-Volume
Methods
High-order extensions of Godunov-type finite-volume methods will be considered in this thesis
for solution of the Euler equations of compressible gas dynamics. This finite-volume method
discretizes the computational domain into many control volumes, then the integral form of
the conservation laws can be applied to each control volume. Finite-volume methods have
become very popular in CFD based on to two main advantages. First, they ensure that the
discretization is conservative, meaning that mass, momentum and energy will be conserved
discretely throughout the calculations. Second, a general finite-volume approach does not
require a coordinate transformation in order to be applied to irregular meshes, as is generally
required by other approaches, such as finite-difference methods [5]. These advantages make
finite-volume methods very suitable for the current research applying a high-order solution
technique to unstructured meshes.
Godunov-type methods are also particularly suitable to this research as they have been applied
successfully for the calculation of inviscid compressible flows described by the Euler equations
in numerous previous studies [33, 34, 35]. These methods are characterized by their robustness
and usefulness in computing flows with very complicated shock structures [36]. Godunov-type
finite-volume methods rely on the solution to the non-linear Riemann problem discussed in
section 2.4.1. It is worth noting that the exact solution to the Riemann problem requires an
iterative procedure, which can add unnecessary computational expense, particularly for systems
of equations beyond those of compressible gas dynamics. This expense can be overcome through
the use of approximate Riemann solvers which are explained in section 2.4.2.
6
Chapter 2. Godunov-Type Finite-Volume Methods 7
2.1 Conservation Equations
The system of equations conventionally used to describe fluid flow govern the conservation of
mass, momentum and energy of the fluid through a domain [5]. These equations are a coupled
set of non-linear partial differential equations (PDE’s), that describe the motion of a fluid
in space and time. This section first presents a mathematical description of this system of
equations, known as the Navier-Stokes equations. This is followed by the the description of
the Euler equations which govern inviscid fluid flow and are a simplification of their viscous
counterpart. It should be noted that while the Navier-Stokes equations are presented, it is the
Euler equations that are of particular interest to this work.
2.1.1 Navier-Stokes Equations in Cartesian Coordinate Frame
Using matrix-vector notation, which is the applicable form for use with finite-volume algorithms,
the integral form of the Navier-Stokes equations may be written as follows:
∫∫∫V
[∂U∂t
+∇ · (−→F −
−→Fv)
]dV = 0 , (2.1)
where U is the vector of conserved solution variables
U = [ρ ρu ρv ρw E]T , (2.2)
−→F = (F,G,H) is the inviscid flux dyad, with components
F =
ρu
ρu2 + p
ρuv
ρuw
u(E + p)
, G =
ρv
ρuv
ρv2 + p
ρvw
v(E + p)
, H =
ρw
ρuw
ρvw
ρw2 + p
w(E + p)
, (2.3)
Chapter 2. Godunov-Type Finite-Volume Methods 8
and−→Fv = (Fv,Gv,Hv) is the viscous flux dyad, with components
Fv =
0
τxx
τxy
τxz
uτxx + vτxy + wτxz − qx
, Gv =
0
τxy
τyy
τyz
uτxy + vτyy + wτyz − qy
,
Hv =
0
τxz
τyz
τzz
uτxz + vτyz + wτzz − qz
.
(2.4)
In the above equations, u, v, and w are the velocity components in the x, y, and z directions,
respectively, p is the pressure, ρ is the mass density, E is the total specific energy given by
E = e + 12 |~u|
2, and e is the specific internal energy. Introducing the fluid viscosity, µ, for
an isotropic fluid and using Stokes’ hypothesis, the stress tensor terms (i.e., components of ~~τ)
appearing in the viscous flux dyad can be related by the constitutive equations, as follows [37]:
τxx =µ
3
(4∂u
∂x− 2
∂v
∂y− 2
∂w
∂z
), τxy = µ
(∂v
∂x+∂u
∂y
),
τyy =µ
3
(4∂v
∂y− 2
∂u
∂x− 2
∂w
∂z
), τxz = µ
(∂w
∂x+∂u
∂z
),
τzz =µ
3
(4∂w
∂z− 2
∂u
∂x− 2
∂v
∂y
), τyz = µ
(∂w
∂y+∂v
∂z
).
(2.5)
Finally, using Fourier’s law of heat conduction, and introducing the coefficient of thermal ex-
pansion, k, and the temperature, T , we define the components of the heat flux vector, q, as
qx = −k∂T∂x
, qy = −k∂T∂y
, qz = −k∂T∂z
. (2.6)
2.1.2 Euler Equations in Cartesian Coordinate Frame
The Navier-Stokes equations presented in Section 2.1.1 can be simplified by neglecting viscosity
and heat conduction. This simplification leads to the Euler equations which govern compressible
inviscid fluid flow. The equations are shown below in integral form, suitable for solution using
a finite-volume method, as equation 2.7:
Chapter 2. Godunov-Type Finite-Volume Methods 9
∫∫∫V
[∂U∂t
+∇ ·−→F]dV = 0 , (2.7)
where the vector of conserved variables, U, and the inviscid flux dyad,−→F , are as given by
equations (2.2) and (2.3) above, respectively.
This thesis will focus on high-order solutions to the two-dimensional form of the Euler equations
on arbitrary unstructured meshes composed of triangles. The proposed high-order solution
methods are discussed further in Sections 3 and 4.
2.1.3 Thermodynamic Relations
The Euler equations discussed above must be closed by an equation of state that relates pressure,
density, and temperature. This work considers thermally and calorically perfect gases, and can
therefore be assumed they follow an ideal-gas equation of state given by equation 2.8,
p = ρRT , (2.8)
where R is the gas constant, p is the pressure, ρ is the density, and T is the temperature. The
specific energy e, the enthalpy h, and the speed of sound a can then be defined as
e =p
ρ(γ − 1), h =
γ
(γ − 1)p
ρ, a2 =
γp
ρ, (2.9)
where γ is the specific heat ratio for the gas of interest, taken to be 7/5 = 1.4 for air. These
equations makes the assumption that the average distances between molecules is so large that
the intermolecular potential energy may effectively be neglected. Therefore, the particles will
be independent from one another, and the situation obtained is referred to as an ideal gas [38].
Focusing on the two-dimensional Euler equations, as they are of particular interest to this
work, this thermodynamic relation allows for the mathematical description to be a system of
equations, with three independent variables (x, y and t). Additionally, in two-dimensions, there
are four unknown, dependent variables (ρ, u, v, and p or T ). Therefore, the Euler equations,
along with the thermodynamic closing equation provide a complete mathematical description
of the fluid dynamics that are considered for this work.
Chapter 2. Godunov-Type Finite-Volume Methods 10
2.2 Euler Equations in One Dimension
In an effort to best explain the proposed Godunov-type finite-volume method used within this
work, we will first consider the Euler equations in one spatial dimension given by 2.11,
∂U∂t
+∂F∂x
= 0, (2.10)
U =
ρ
ρu
e
, F =
ρu
ρu2 + p
u(E + p)
, (2.11)
where U is the vector of conserved variables, and F is the inviscid flux dyad for one-dimensional
fluid flow as given above. The simplification to one-dimensional geometry is useful for under-
standing the Godunov-type method; however, is important to recognize that Godunov-type
finite-volume methods are easily extended to multiple-dimensions and this extension will be
discussed in Section 2.7.
2.3 Godunov-Type Methods
As mentioned previously, Godunov-type finite-volume methods discretize the solution domain
into control volumes (or cells) and apply the integral form of the conservation equations to each
of the discrete control volumes [39]. They make use of the solution to a Riemann problem, in
order to evaluate the inviscid fluxes into and out of each control volume. For one-dimensional
planar flow problems this procedure results in the following expression for the update of the
solution in cell i
Un+1i = Un
i −∆t∆x
[Fni+ 1
2
−Fni− 1
2
], (2.12)
where the control volume of interest is identified by the index i, the time level is identified by n,
and the inviscid numerical solution-flux, F , at the cell interfaces are found from the solution to
the Riemann problem. This can be applied throughout the computational domain to advance
the solution forward in time. It is worth noting that this form of the equation uses a first-order
explicit Euler time-marching scheme. Applications to different time marching schemes will be
discussed in Section 2.6.
Chapter 2. Godunov-Type Finite-Volume Methods 11
2.3.1 Concept of Finite-Volume Methods
The basic concept of the finite volume method includes three operations. These operations
are: reconstruction in each cell; flux evaluation on each face or edge; and evolution in time of
the solution in each cell [40]. The reconstruction step is performed in each cell. Knowing the
cell-averaged values of the conserved solution variables at a given instance in time, a piecewise
polynomial is constructed that allows a specific value to be determined for each conserved
solution variable at any point within that cell. This research will focus on this step of the
finite-volume method, making use of the high-order CENO reconstruction technique to achieve
accurate spatial resolution on two-dimensional unstructured mesh. The CENO reconstruction
technique will be discussed fully in Chapter 4.
The flux evaluation at each cell face involves the application of a strategy to resolve the solution
discontinuities that can arise between neighboring cells. This requires a solution to the Riemann
problem as discussed in Section 2.4. The flux can be calculated, if necessary through performing
a high-order accurate flux quadrature. Finally, the solution in each cell can be marched forward
in time through a variety of time marching schemes. This research makes use of either second- or
fourth-order Runge-Kutta methods that will be explained in Section 2.6. The order of the time
marching method will be selected to at minimum match the order of the spatial reconstruction.
2.4 Flux Evaluation
The flux evaluation step requires the solution to the Riemann problem. It is at this step where
the flux of mass, momentum, and energy from adjacent cells is calculated. It is important to
point out that whatever solution flux exits one cell, must enter the adjacent cell. In this way the
finite-volume method is conservative at the discrete level. The following sections will describe
the Riemann problem and discuss appropriate solution techniques.
2.4.1 The Riemann Problem
The solution to the Riemann problem is of both practical and theoretical interest. The problem
is a special form of an initial-value problem such that the initial data is given by two piecewise
constant states described below by equation 2.13 and illustrated in Figure 2.1
Chapter 2. Godunov-Type Finite-Volume Methods 12
Figure 2.1: Depiction of the Riemann Problem
Uo(x) = U(x, t = 0) =
{Uleft if x ≤ 0,
Uright if x > 0.(2.13)
The figure shows two adjacent cells that have a sharp discontinuity between the two solution
states. This discontinuity must be resolved in order to compute the flux of mass, momentum,
and energy from one cell to the other.
2.4.2 Riemann Solvers
Provided that viscous effects are neglected, the exact solution to the Euler equations can be
obtained on the basis of simple waves separating regions of uniform conditions [3]. These waves
can be rarefaction waves, contact waves, or shock waves. For gasdyamics (Euler equations),
the solution to the Riemann problem will involve one of five patterns that are depicted in
Figure 2.2. The first four situations are various combinations of left and right moving shock or
rarefaction waves separated by a contact wave. The fifth situation that can be encountered is
when a vacuum state appears in the pattern center. The occurrence of the latter will not be
dealt with herein.
Riemann solvers can be categorized as either exact or approximate. Approximate solution
Chapter 2. Godunov-Type Finite-Volume Methods 13
Figure 2.2: Depiction of five possible solutions to the Riemann Problem - s = shock, c = contact,
r = rarefaction [42]
techniques are acceptable in many cases as it can be argued that in existing Godunov-type
finite-volume schemes much of the solution information is degraded by the discrete nature of the
solution method, and only certain features of the exact solution are worth striving for [41]. The
following sections discuss in further detail the exact Riemann solver of Gottlieb and Groth [42],
as well as Roe’s approximate Riemann solver [41], and the HLLE Riemann solver [36], and the
HLLL (Linde) [43] flux function.
Exact Riemann Solver of Gottlieb and Groth
The exact Riemann solver of Gottlieb and Groth [42] uses a standard Newton iterative method
in conjunction with an efficient initial guess to solve for the exact solution to the Riemann
problem. Additionally, this solver uses the state variables (p,a,u,γ,R) instead of (p,ρ,u,γ,R).
This is convenient because the speed of sound is a dependent variable which appears more
frequently than the density in the equations considered. The solver iterates by calculating the
intermediate velocity, and converges once the intermediate pressure difference across the contact
becomes smaller than a preset tolerance. The exact Riemann solver uses the Rankine-Hugoniot
relations and Riemann invariants to calculate the intermediate states. Once the solver has
converged, all other solution variables can be calculated.
Chapter 2. Godunov-Type Finite-Volume Methods 14
Roe’s Approximate Riemann Solver
In the approximate Riemann solver of Roe, a solution is sought for the linearized form of
∂U∗∂t
+A∗∂U∗∂x
= 0, (2.14)
where A∗ is a local linearization of the flux Jacobian. In this local linearization, A∗ is a
function of intermediate states U∗. These intermediate solution values are calculated based
on the left and right states in such a way as to satisfy satisfy several properties known as′′Property U′′ which are described by Roe [41]. The flux can be evaluated based on characteristic
decomposition of the flux differences as follows
F =12
(FL + FR)− 12
n=3∑k=1
|λ∗,k|α∗,krc∗,k, (2.15)
where λk are the eigenvalues, αk are the left eigenvectors multiplied by the solution change
across the disontinuity, and rc,k are the right eigenvectors. All quantities with a subscript ∗ are
evaluated using the Roe-averaged state quantities that will not be defined herein, but can be
found within [41]. It should be noted, that a situation can occurs where a sonic point exists
inside a rarefaction wave. In this scenario, Roe’s approximate Riemann solver will produce an
entropy violating solution to the Euler equations, referred to as a rarefaction shock, In order to
resolve this issue, an entropy correction is required [44].
The HLLE Flux Functions
The HLLE flux function assumes a three state solution to the Riemann initial value problem [36].
These three states are separated by two waves that represent the maximum and minimum signal
velocities. Taking the closed loop integral of half the initial Riemann problem, with vertical
boundaries of x/t = 0 and the cell edge, the flux through the cell boundary can be determined
as follows
F =λ+FL − λ−FR
λ+ − λ−+λ+λ−(UR −UL)
λ+ − λ−, (2.16)
where λ+ and λ− represent the largest and smallest signal velocities respectively. The subscripts
L and R denote quantities determined based on the left and right states. The integration loop
used to derive the flux function is depicted in Figure 2.3.
Chapter 2. Godunov-Type Finite-Volume Methods 15
Figure 2.3: Depiction of integration loop for HLLE flux function
The Linde Flux Functions
The HLLL flux function is a modification of the HLLE flux function. The modification is
to introduce a third wave when necessary, moving at the intermediate velocity. This third
wave is necessary for the recognition of intermediate waves such as contacts, entropy waves,
and shear waves. This flux function does not involve extensive characteristic analysis of the
governing equations but can improve significantly the solution resolution in the vicinity of
contact discontinuities and shear waves [43].
2.4.3 Comparison of Riemann Solvers
The solution to an initial-value problem has been calculated for the purposes of comparing the
various Riemann solvers that have been discussed above for evaluating the numerical flux. The
initial conditions have been chosen to represent a shock tube problem. These conditions are
ρl = 4.696 kg/m3, ul = 0 m/s, pl = 404.4 kPa, ρr = 1.408 kg/m3, ur = 0 m/s, pr = 101.1 kPa,
and 0 ≤ t ≤ 7 ms, and have been taken from the report by Groth and Gottlieb [45]. The results
that have been obtained for the different flux functions can be seen in Figure 2.4(a).
As shown in Figure 2.4(a), the solution obtained with a first-order accurate Godunov scheme
approximates the exact solution with each of the Riemann solvers. In all cases, the Godunov
scheme computes the general shape of the solution, however it has difficulties accurately cap-
turing the expansion wave, the contact surface, and the shock. Additionally, it should be
pointed out that the HLLL approximate Riemann solver is better able to resolve the contact
surface than the HLLE approximate Riemann solver. This result can be seen more clearly in
Figure 2.4(b), which shows a closeup of the contact. This result comes as no surprise as the
HLLL flux function accounts for the intermediate contact wave, while the HLLE flux function
Chapter 2. Godunov-Type Finite-Volume Methods 16
(a)
(b)
Figure 2.4: Shock tube problem: n=100 cells, CFL=0.5, t=0.007 s (a) Various Riemann solvers
(b) Close-up of contact wave
Chapter 2. Godunov-Type Finite-Volume Methods 17
does not.
2.5 Second-Order Godunov Methods
Given cell average values of the conserved solution vector, U, the purpose of reconstruction
is to determine the spatial distribution of the solution in each cell. Therefore, the solution
variables U becomes a function of the spatial coordinates. In one-dimension as we are currently
considering, we obtain U(x). Considering two-dimensions, which is the focus of this thesis, the
solution variables are then a function of both the x and y directions and we obtain U(x, y).
This reconstruction is computed by using information from nearby cells, referred to as the cell
stencil. In practice, this reconstruction is often computed using an over-determined system,
solving with a least-squares or Green-Gauss technique, and the reader is encouraged to consult
the paper by Barth [31] for further information on these techniques.
When considering second-order, or even high-order reconstruction techniques, one important
consideration is ensuring that solution monotonicity is preserved. A detailed description of
techniques used to ensure that no new extrema are created by the reconstruction procedure is
detailed in the following sections.
2.5.1 Godunov’s Theorem
Godunov’s Theorem states that among the class of constant coefficient schemes, there are
no schemes that are higher than first-order accurate and monotone [46]. Therefore in order
to implement higher-order schemes in a manner that preserves monotonicity, it is necessary
for the scheme to be non-linear, even for the solution of linear partial differential equations.
Monotonicity can be enforced through the use of slope limiters [40, 47, 48]. The strategy for
this method will be to revert to a first-order accurate monotone scheme when necessary, and
use a high-order scheme everywhere else. This method is essential for accurately capturing
discontinuities such as shocks or combustion flame fronts.
2.5.2 Piecewise Linear Reconstruction
For second-order reconstruction in one dimension, the derivative is calculated and the recon-
structed solution for cell i has the following linear form:
Chapter 2. Godunov-Type Finite-Volume Methods 18
Figure 2.5: Shock tube problem: n=100 cells, CFL=0.5, t=0.007 s - Order of Accuracy effect
on solution
Ui(x) = Ui +∂U∂x
∣∣∣i(x− xi) . (2.17)
Here U can be computed within any cell i in terms of the solution average value, slope, and
distance from the cell center. If this reconstruction is known in every cell, a piecewise linear
reconstruction of the entire computational domain is achieved.
The initial-value problem that has been described previously in Section 2.4.3 has also been
calculated using a second-order implementation of Godunov’s method. The results of the higher-
order algorithm are shown in Figure 2.5 along with the first-order accurate solution, and the
exact solution for comparison purposes. The second-order solution uses the slope limiter of
Barth-Jesperson [31] that will be discussed in detail in Section 2.5.3. The higher-order solution
is much more capable of accurately resolving the exact solution as would be expected.
While this equation is useful for obtaining a second-order accurate scheme, it does not address
Chapter 2. Godunov-Type Finite-Volume Methods 19
the issues related to Godunov’s Theorem. Therefore, the problem of maintaining monotonicity
with a higher-order scheme must still be addressed.
2.5.3 Enforcing Monotonicity: Slope Limiters
For one-dimensional second-order linear reconstruction, the solution states must be calculated
at the cell interface. In order to accomplish this goal, while still maintaining monotonicity, the
concept of a slope limiter is introduced. Therefore, the previously discussed piecewise linear
reconstruction of cell i, given in equation 2.17, is reformatted and re-written as
Ui(x) = Ui + φi∂U∂x
∣∣∣i(x− xi) , (2.18)
where the slope limiter, φ has been introduced. Notice that φ = 0 corresponds to a first-order
reconstruction, and φ = 1 corresponds to a second-order reconstruction. With the cell boundary
solution values calculated using equation 2.18, a Riemann problem can be solved to calculate
the flux between cells.
The slope limiters of Barth-Jesperson [31] and Venkatakrishnan [47] are considered here for
evaluation of φi. These limiters are calculated in such a way as to ensure the solution state
at the cell face is a value between the maximum and minimum average solution value of all
cells in the reconstruction stencil. In this way, monotonicity is preserved and the scheme can
accurately capture sharp discontinuities.
Barth-Jesperson Limiter
The Barth-Jesperson Limiter calculates the slope limiter, φ, using the expression
φik =
min(1, umax−uiuik−ui ) uik > ui
min(1, umin−uiuik−ui ) uik < ui
1 uik = ui
(2.19)
for which
φi = min(φik) (2.20)
and where u represents the primitive solution variable of interest, and the various terms of u
are defined as follows:
� u = cell average value (for cell i),
Chapter 2. Godunov-Type Finite-Volume Methods 20
� umax = max(u, uneighbours) = maximum cell average value amongst all cells used in the
reconstruction of cell i,
� umin = min(u, uneighbours) = minimum cell average value amongst all cells used in the
reconstruction of cell i, and
� uk = unlimited reconstructed value at the kth quadrature point.
The Barth-Jesperson slop limiter only limits the solution data when required, and as such is a
low-dissipation limiter. This limiting procedure has been shown to be very effective in removing
spurious solution oscillations [40].
Venkatakrishnan Limiter
The Venkatakrishnan limiter is a modification to the well known Van Albada limiter [49]. The
modification to the Van Albada limiter has been to improve two draw backs. The first, is that
in practice, second-order accurate schemes exhibited orders of accuracy less than second-order.
The modification assists in obtaining a higher order of accuracy. Secondly, the modification
improve convergence to steady state solutions [47]. The Venkatakrishnan limiter calculates the
slope limiter, φ, using the expression
φik =
y2+2yy2+y+2
uik > ui y = umax−uiuik−ui
y2+2yy2+y+2
uik < ui y = umin−uiuik−ui
1 uik = ui
(2.21)
where again
φi = min(φik) (2.22)
and where the various values of u are the same as in the Barth-Jesperson limiter. It is worth not-
ing here that the Venkatakrishnan limiter is slightly more dissipative than the Barth-Jesperson
limiter.
Effect of Slope Limiters
The effect of slope limiters on the second-order solution have been investigated for the same
initial-value problem as before, and these results are shown in Figure 2.6. Note that when there
is no slope limiter implemented the computed solution exhibits oscillations near the expansion
wave, the contact, and the shock. However, when the two slope limiters are implemented,
Chapter 2. Godunov-Type Finite-Volume Methods 21
Figure 2.6: Shock tube problem: n=100 cells, CFL=0.5, t=0.007 s - Slope limiter effect on
solution
monotonicity is preserved, and the solution oscillations are eliminated. Both slope limiters
shown here behave very similarly for this case.
2.6 Time Marching Schemes
Time-accurate solutions to systems of ordinary differential equations (ODE’s) can be achieved
by integrating the the solution in time by means of a time-marching method [5]. Section 2.6.1
discusses how to transform our system of conservation equations into a set of ODE’s for appli-
cation of a time-marching method.
Time-marching methods can be either explicit or implicit. Explicit time marching schemes
use the information from a previous time step to solve for the solution at a current time step.
Implicit methods use information from the current time step to solve for a solution at that time-
step. The latter will require the solution to a coupled system of nonlinear algebraic equations.
Chapter 2. Godunov-Type Finite-Volume Methods 22
The CENO approach to high-order reconstruction is applicable for use with both explicit and
implicit time marching schemes. However, due to the desire to compare results for the high-
order unstructured solver, with results which have been obtained using the CENO high-order
structured solver, the time-marching schemes that have been implemented for this work are
limited to explicit schemes. The schemes that have been used are further described in Sec-
tion 2.6.2. For this work, the time-marching schemes used have been selected to at least match
the order of accuracy of the spatial reconstruction.
2.6.1 Semi-Discrete Form
Application of Godunov-type methods, with the intention of achieving a high-order accurate
solution requires the implementation of a high-order time-marching scheme, in addition to
high-order spatial reconstruction. In order to implement a variety of time-marching schemes
the Godunov method shown in equation 2.12, can be recast in to the following semi-discrete
form:
dUdt
= − 1∆x
{[Fx,(i+ 1
2) −Fx,(i− 1
2)
]}. (2.23)
This is a set of ordinary differential equations to which a variety of different time-marching
scheme can then be applied to advance the solution forward in time.
2.6.2 Runge-Kutta Methods
In numerical analysis, Runge-Kutta methods are an important family of explicit and implicit
time marching methods. They are a special subset of predictor-corrector methods [5] that can
be derived for different orders of accuracy. The two methods that have been used for this work
will simply be presented here, but the reader is encouraged to consult numerical textbooks such
as [5, 50] for further reading.
The Runge-Kutta methods that have been implemented in this work are second- and fourth-
order Runge-Kutta techniques. The second-order method is a two-stage method and has the
form
Un+1 = Un + (k2, )
k1 = ∆tf(tn,Un),
k2 = ∆tf(tn + 12∆t,Un + 1
2k1),
(2.24)
Chapter 2. Godunov-Type Finite-Volume Methods 23
where Un+1 is the updated solution, Un is the solution, ∆t is the time step, and f is a function
of U and t for which the time marching procedure is being applied. Additionally, k1 and k2 are
required for the time marching scheme and are calculated as shown.
The fourth-order Runge-Kutta method is a four-stage scheme given by
Un+1 = Un + 16(k1 + 2k2 + 2k3 + k4),
k1 = ∆tf(tn,Un),
k2 = ∆tf(tn + 12∆t,Un + 1
2k1),
k3 = ∆tf(tn + 12∆t,Un + 1
2k2),
k4 = ∆tf(tn + ∆t,Un + k3),
(2.25)
where the variables are the same as the second-order method, with additional ki as required by
the scheme.
Within this work, the order of the time marching scheme has been selected to at minimum
match the order of the spatial resolution. Therefore, for a second-order spatial resolution,
a second-order time marching scheme has been implement. When the spatial resolution is
increased to third- or fourth-order, then a fourth-order time marching scheme was used.
Finally, it should be pointed out that the time-marching scheme can have an effect on the overall
solution monotonicity. While there has been work with slope limiters to ensure no new local
extrema will be introduced, when the solution state is updated in time, there is no guarantee
that the overall monotonicity of the scheme will be formally preserved. This is a consideration
that should be kept in mind when interpreting results from the high-order solutions, but will
not be discussed in detail here.
2.6.3 Courant Number
The stability of the explicit time-marching schemes that have been used for this work are
controlled by the appropriate selection of the time step, ∆t. An appropriate time step can be
calculated by making use of the Courant-Friedrichs-Lewy number, CFL, such that
∆t = CFL∆x
(|u|+ a)max. (2.26)
This ensures that the waves from adjacent Riemann problems do not travel far enough to
interact with one another. It should be noted that for time-accurate problems the time-step is
chosen by calculating the minimum time-step in each computational cell, and using the smallest
Chapter 2. Godunov-Type Finite-Volume Methods 24
computed. The value of the CFL for this work has typically been chosen as equal or less than
unity, in order to maintain the numerical stability of the scheme.
2.7 Godunov-Type Finite-Volume Schemes in
Multi-Dimensions
While to this point the description of the Godunov-type finite-volume method has been limited
to one-dimensional solution techniques, the extension to multiple-dimensions is possible. As
this work is primarily interested in the solution to the two-dimensional Euler equations, we will
consider the extension of the Godunov-type finite-volume method to two dimensions, noting
that an extension to three-dimensions follows in a very similar manner.
If we consider the two-dimensional integral form of the Euler equations given below
∫∫A
[∂U∂t
+∇ ·−→F]dA = 0, (2.27)
where, for the 2D Euler equations in Cartesian coordinates, U is the vector of conserved solution
variables given by
U = [ρ ρu ρv E]T , (2.28)
and−→F = (F,G) is the inviscid flux dyad, with
F =
ρu
ρu2 + p
ρuv
u(E + p)
, G =
ρv
ρuv
ρv2 + p
v(E + p)
, (2.29)
and where u and v are again the velocity components in the x and y directions respectively, p
is the pressure, ρ is the mass density, E is the total specific energy given by E = e + 12 |−→u |2,
and e is the specific internal energy.
The semi-discrete form of the Euler equations on a two-dimensional Cartesian mesh can be
reduced to the following expression
Chapter 2. Godunov-Type Finite-Volume Methods 25
dUdt
= − 1∆x
{[F(i+ 1
2),j −F(i− 1
2),j
]− 1
∆y
{[Gi,(j+ 1
2) − Gi,(j− 1
2)
]}, (2.30)
where we note that the only variation is the requirement for additional flux evaluations at the
y-direction interfaces. This can then be further extended to an arbitrary shaped mesh as
dUi
dt= − 1
Ai
Nf∑l=1
(−→F · −→n∆`)i,l, (2.31)
where−→F = Fx + Gy which is the flux dyad, Nf is the number of faces, Ai is the area, ∆` is
the edge length, and −→n is the unit vector normal to a given edge. The standard time-marching
schemes described above can then be applied to compute solutions to the resulting coupled
system of ODEs.
2.7.1 Multi-Dimensional Example
For the purposes of understanding, a simple shock box cases has been considered and solutions
computed on a Cartesian mesh with 200 cells in both the x and y directions. The results are
computed using the second-order Godunov-type finite-volume scheme described in the previous
sections. Fluxes are computed using Roe’s approximate Riemann solver [41] and monotonicity
is maintained with the slope limiter of Venkatakrishnan [47]. Second-order Runge-Kutta time
marching is used to advance the solution. The results are shown in Figure 2.7. The initial
conditions are shown in Figure 2.7(a), and are an area of high pressure and density, and an
area of low pressure and density. The two states begin to interact with one another as the high
density area expands into the low density area. This interaction produces a very unique wave
structure that is shown in the figure at 7 ms. At this time, the results will not be presented in
depth, but the reader should take from this that a multi-dimensional finite-volume flow solver
has produced these results.
Chapter 2. Godunov-Type Finite-Volume Methods 26
(a) (b)
Figure 2.7: Finite-volume Shock-Box calculation: (a) Density - Initial Conditions (b) Density
- Results at 7 ms
Chapter 3
Unstructured Mesh
There are two main classes of grids: structured and unstructured. A structured mesh is charac-
terized by regular connectivity that can be expressed as a two- or three-dimensional array. This
generally restricts the element choices to quadrilaterals in two-dimensions (2D) or hexahedra in
three-dimensions (3D). The regularity of the connectivity implies a neighborhood relationship
defined by the storage arrangement. An unstructured mesh is, in general, triangles or hexagons
in two-dimensions and tetrahedra, pyramids, or extruded triangles in three-dimensions. These
meshes require a connectivity matrix to explicitly define the connections between points in the
computational mesh [51].
The greater geometrical flexibility offered by unstructured grids can be very effective for dealing
with complex geometries that are more typical of practical engineering applications. Therefore,
unstructured grids are now commonly used in computational fluid dynamics [52]. Additionally,
there has more recently been an interest in the application of high-order methods to unstruc-
tured mesh. With the widespread use of unstructured mesh, an effort has been directed towards
developing efficient and robust algorithms for their automatic generation.
3.1 Unstructured Mesh Generation
There are a wide variety of different unstructured mesh generation tools which use a great
variety of different algorithms to compute the node and element locations of the mesh. The
volume of literature on the subject has grown enormously in recent years [33]. The mesh
generation tool that has been used for this work is Gmsh, which has been developed by Geuzaine
and Remacle [53]. Gmsh has a wide variety of tools, and several different unstructured mesh
27
Chapter 3. Unstructured Mesh 28
generation algorithms implemented that will be discussed in the following sections.
3.1.1 Gmsh
This work has relied entirely on meshing created using the widely available meshing tool Gmsh
developed by Geuzaine and Remacle [53]. Gmsh is a three-dimensional finite-element grid
generator that has a build in CAD engine and post-processor. Gmsh has been designed in
such a way as to provide a fast, light, and user friendly meshing tool. It’s capabilities include
parametric input as well as advanced visualization capabilities. Instructions can be provided
to Gmsh either through an interactive Graphical User Interface (GUI), or through text files,
written using Gmsh’s scripting language that can be read in by Gmsh.
Gmsh contains four separate modules:
1. a geometry module;
2. a mesh generation module;
3. a finite-element solver; and
4. a post processor.
The modules that have been important for this work have been the geometry description and
the meshing tool. These two modules will be described in the following sections.
3.1.2 Geometry Module
The geometry module in Gmsh uses a boundary representation to describe the geometries.
Geometric models are created using a bottom up flow. This begins by first defining points. The
points are then connected by defining lines. Next, surfaces are defined as a group of lines, and
finally volumes are described using a group of surfaces. It is then possible to define physical
groups based on these elementary geometric entities. These can all be parametrized using
Gmsh’s scripting language.
As this thesis is reliant on two-dimensional geometries, definition of points, lines, and surfaces is
all that is required. A two-dimensional geometry that has been created using Gmsh is depicted
in Figure 3.1. The figure shows how Gmsh can graphically represent a geometry that has curved
boundaries.
Chapter 3. Unstructured Mesh 29
Figure 3.1: Two-dimensional geometry created using Gmsh
3.1.3 Mesh Generation Module
Gmsh has the capabilities of creating both two-dimensional and three dimensional meshes. All
meshes that are created using Gmsh are considered to be unstructured, which implies that
the elementary geometrical elements are defined only by an ordered list of their nodes, but no
predefined ordering is assumed between any two elements.
The meshes are created using various algorithms which use a similar bottom-up flow as the
geometry creation. First all lines and line segments are discretized. The lines are then used
to mesh the surfaces. For a two-dimensional mesh, the procedure would be finished here. For
a three-dimensional mesh, the mesh of the surface are then be used to mesh the volume. The
geometry that was shown in Figure 3.1 can be seen after using Gmsh to create a two-dimensional
mesh in Figure 4.2. The resulting mesh is made up of 398 nodes and 657 elements.
Gmsh has the capability of using several different algorithms when generating a two-dimensional
mesh which will be discussed in Section 3.1.4.
Chapter 3. Unstructured Mesh 30
Figure 3.2: Two-dimensional mesh generated using Gmsh
3.1.4 Mesh Generation Procedure
Considering two-dimensional mesh generation, as two-dimensional meshes are of particular
interest to this work, it is worth investigating the various algorithms that Gmsh uses to generate
meshes. Regardless of which algorithm is used, first a Delaunay mesh that contains all the points
of a one-dimensional mesh is constructed using a divide-and-conquer algorithm [54]. When
generating a two-dimensional mesh, the initial one-dimensional mesh represents the boundary
discretization. Missing edges are recovered using edge swaps [51]. After the initial step, three
different algorithms can be applied to generate the final mesh:
1. MeshAdapt;
2. Delaunay; and
3. Frontal.
Each of these three algorithms will be described in the following sections, finishing with a
comparison between the three.
Chapter 3. Unstructured Mesh 31
Figure 3.3: Visualization of Mesh Modifications [53]
MeshAdapt
The MeshAdapt algorithm has been based on local mesh modifications. The technique makes
use of local edge swaps, splits, and collapses in parametric space to obtain a better geometrical
configuration. The advantages of this method is that it does not require the computation of
derivatives of the parametrization and is therefore quite robust.
The algorithm requires an initial mesh to be created. This can be done using a divide and
conquer technique [54]. Then, any missing edges can be recovered using edge swaps [51]. The
next steps of the technique makes use of adimensional lengths, which are simply lengths that
have been non-dimensionalized. At this point, local mesh modifications can be applied. These
modifications include splitting every edge that is too long, removing edges that are too short
using an edge collapse, edges for which a better configuration is obtained by swapping are
swapped, and vertices are relocated optimally. These four cell operations are described in more
detail as follows and can be seen represented in Figure 3.3:
1. Edge Splitting: An edge is considered too long when its adimensional length is greater
than le > 1.4. When split, the two new edges will have a minimal size of 0.7. In order to
converge to a stable configuration, an edge of size le = 0.7 should not be considered as a
Chapter 3. Unstructured Mesh 32
short edge.
2. Edge Collapsing: An edge is considered to be short when its adimensional length is smaller
than le < 0.7. An edge cannot be collapsed if one of the remaining triangles after the
collapse is inverted in the parametric space.
3. Edge Swapping: An edge is swapped if min (Ye1 , Ye2 ) < min (Ye3 , Ye4 ), unless
(a) it is classified on a model edge;
(b) the two adjacent triangles e1 and e2 form a concave quadrilateral in the parametric
space;
(c) the angle between the triangles normals is greater than a threshold, typically 30
degrees.
4. Vertex Re-positioning: Each vertex is moved optimally inside the cavity made of all its
surrounding triangles. The optimal position is chosen in order to maximize the worst
element quality.
In practice, this algorithm converges in about 6-8 iterations and produces anisotropic meshes
in the parametric space without computing derivatives of the mapping [53].
Delaunay
The Delaunay triangulation method that is implemented in Gmsh is based on the work of
the GAMMA team at INRIA [55]. Delaunay-type methods are used extensively for mesh
generation and engineering purposes. The Delaunay method requires knowledge of the location
of the circumcenter and the circumradius of each cell. The circumcenter of each cell is located
at the intersection of the perpendicular bisectors of the sides of the triangle. The circumradius
of a cell is the radius of the smallest possible circle for which the triangular cell can fit inside.
It is also useful to define an adimensional circumradius, which is simply a non-dimensionalized
circumradius.
The Delaunay method inserts new points sequentially at the circumcenter of the elements that
have the largest adimensional circumradius. The mesh is the reconnected using an anisotropic
Delaunay criterion. The fundamental concept for Delaunay triangulation is that any vertex
must not be contained within the circumcircle of any triangle. The method begins with the
mesh edge. A set of vertices are generated by marching along the existing internal edges at
a given spacing ratio. The spacing ratio is computed based on the edge length and length
Chapter 3. Unstructured Mesh 33
Figure 3.4: Hierarchical structure of triangle types [52]
information deduced from the surface mesh vertex distribution. Points are created on all edges
judged too long, then a filtering step is used to remove all points too close to one another.
It is worth noting, that given a set of points, the Delaunay triangulation is unique. Further
information describing the mathematics of Delaunay triangulations can be found in [55].
Frontal
The frontal algorithm is based on the work of Rebay [52]. The approach takes full advantage of
the sequential way in which the Delaunay triangulation is constructed. Additionally, the dis-
tinctive characteristic is that the point positions and connections are computed simultaneously.
In this way, the frontal approach is an efficient unstructured mesh generation method based on
Delaunay triangulation. The method is computationally efficient, and applicable to two- and
three-dimensions.
The frontal algorithm first requires an initial mesh to be generated. At this point, there is no
guarantee that from an arbitrary distribution of points the boundary mesh will be conforming.
It is therefore necessary to recover all missing boundary edges [51]. The next step is to identify
all internal and external triangles. The internal triangles can be further classified as those
that meet the required size, accepted, and those that do not, non-accepted. The triangles are
further categorized as active and waiting. An active triangle is a non-accepted triangle with at
least one accepted neighbor, and a waiting triangle is a non-accepted triangle surrounded by
non-accepted triangles. This hierarchical structure is depicted in Figure 3.4.
A new point is then inserted at the coarsest part of the domain on a segment associated with
an edge of an active triangle. The Bowyer-Watson [56, 57] algorithm is then used to generate
a new triangulation that differs from the previous one locally around the newly inserted point.
This is repeated until all triangles are accepted.
Chapter 3. Unstructured Mesh 34
A summary of the frontal algorithm as described by Rebay in [52] is then as follows:
1. Triangulate all the boundary points by means of the Bowyer-Watson algorithm [56, 57].
2. Check if the triangulation is body conforming and recover all missing boundary edges.
3. Divide all triangles into internal and external. Divide internal triangles into accepted and
non-accepted on the basis of their circumcircle radii. Divide non-accepted triangles into
active and waiting.
4. Order the active triangles according to their circumscribed circle radii.
5. Consider the top element of the ordered list of the active triangles and insert the new
point according to the Voronoi segment insertion criterion.
6. Regenerate the triangulation by means of the Bowyer-Watson algorithm.
7. Divide new triangles into accepted and non-accepted on the basis of their circumcircle
radii. Divide new non-accepted triangles into active and waiting.
8. Divide non-accepted triangles adjacent to the new ones into active and waiting.
9. If the active triangle list is empty stop, else go to step 5.
3.1.5 Comparison
Each of the meshing algorithms described above have different relative strengths and weaknesses
which are summarized in Table 3.1, with one representing the best. From this table, it can be
drawn that for very complex curved surfaces the MeshAdapt algorithm is the best choice. When
high element quality is important, the Frontal algorithm will likely yield the best results. For
very large meshes of plane surfaces the Delaunay algorithm is computationally the fastest [53].
Algorithm Robustness Performance ElementQuality
MeshAdapt 1 3 2
Delaunay 2 1 2
Frontal 3 2 1
Table 3.1: Comparison of Meshing Algorithms
For qualitative comparison purposes, Figure 3.5 shows three meshes, each using the same ge-
ometry, but generated using the three different algorithms. It can easily be seen that each
algorithm meshes the entire domain, produces different grids by placing nodes and elements in
different location.
Chapter 3. Unstructured Mesh 35
(a) (b)
(c) (d)
Figure 3.5: Various meshing algorithms: (a) Geometry (b) MeshAdapt (c) Delaunay (d) Frontal
3.2 Domain Decomposition and Multi-Block Partitioning
Computing the solution to practical engineering flows becomes extremely computationally ex-
pensive. For example, when computing the solution to fluid flows which involve turbulence, and
chemical reactions, which are typical of combustors, the vastly different spatial and temporal
scales of the flow make the calculation extremely expensive to compute accurately. A domain
decomposition technique can be used to make efficient use of large-scale parallel distributed-
memory computing facilities. In this approach, a computational domain is decomposed into
many smaller domains each residing on a different processor. The solutions on each domain can
then be calculated in parallel, vastly decreasing the elapsed wall-clock time required to achieve
a numerical solution.
The decomposition of the domain is carried out here via a partitioning of the unstructured mesh
into a multi-block mesh containing a specified number of sub-blocks. The mesh partitioning
can be accomplished in a variety of different ways. However, for this work PMETIS, developed
by Karypsis and Kumar [58] has been used, as it is already incorporated within the meshing
Chapter 3. Unstructured Mesh 36
software, Gmsh. Algorithms that find a good partitioning of highly unstructured graphs are
critical for developing efficient solutions for a wide range of problems in many application areas
using parallel computers [58]. The algorithms should be able to equally balance the number of
cells per processor, so that each processor has a similar amount of computations, and therefore
will complete the computations in a similar amount of time. Additionally, the distribution
should be done in a way that minimizes the number of cells at the interface, this will minimize
the amount of solution information that must be passed and exchanged from one process or
another.
3.2.1 PMETIS
PMETIS is a software package developed by Karypis and Kumar [58] for partitioning large
irregular graphs, partitioning large meshes, and computing fill-reducing orderings of sparse
matrices. Of particular importance to this work is the ability to effectively partition large
meshes. PMETIS uses a multilevel graph partitioning algorithm, which reduces the size of the
mesh by collapsing vertices and edges and then partitioning the coarser mesh. The mesh can
then be refined. While refining the mesh, PMETIS employs refinement to the partitioning as
well. This is in contrast to traditional methods which employ partitioning algorithms directly
to the original mesh. The multilevel graph partitioning algorithms allow PMETIS to efficiently
and quickly produce high quality partitions of general unstructured mesh [58].
PMETIS provides two different partitioning programs, partnmesh and partdmesh. Partnmesh
first converts the mesh into a nodal graph, where each node of the mesh becomes a vertex
of a graph which is then partitioned. Partdmesh converts the mesh into a dual graph, where
each element of the mesh becomes a vertex of a graph which is partitioned. An in-depth
understanding of the partitioning method is not required here, but the reader is referenced to
further information that can be found in [58, 59].
A mesh that has been partitioned using PMETIS is depicted in Figure 3.6. It can be easily
noticed that the partitions are all of a similar size depicting how PMETIS balances the load
that will be taken by each processor. Additionally, and somewhat more difficult to visualize,
it has been partitioned in a way that minimizes the number of cell interfaces shared between
blocks.
Chapter 3. Unstructured Mesh 37
(a) (b)
Figure 3.6: PMETIS Partitioned Mesh showing: (a) Blocks (b) Blocks and Mesh
3.3 Finite-Volume on Unstructured Mesh
The finite-volume method that was discussed in Chapter 2 can be applied to unstructured
meshes by using the semi-discrete form of the finite-volume discretized Euler equations given
in equation 3.1 as follows:
dUi
dt= − 1
Ai
Nf∑l=1
(−→F · −→n∆`)i,l (3.1)
where−→F is the flux dyad which has already been presented, Nf = the number of faces = 3 for
triangular elements, Ai is the area, ∆` is the edge length, and −→n is the unit vector normal to
a given edge. The various time marching schemes described previously can be applied to the
solution of this coupled system of ODEs.
The key consideration when working with unstructured meshes must be knowing the connec-
tivity between neighboring cells. Knowledge of the cell connectivity is essential to compute
fluxes transferred from one cell to the adjacent cell. There are various ways of storing the cell
connectivity and they rely on the data structure of the computational software.
Chapter 3. Unstructured Mesh 38
3.3.1 Data Structure
The choice of data structure is a key consideration when dealing with unstructured meshes as
the connectivity between neighboring cells needs to be known and easily accessible to carry out
the required computations. Depending on the type of solution algorithms being applied some
data structure types are more advantageous than others. Typical data structures can range
from finite element data structures [60], edge structures [31], vertex lists [61], and quad-edge
structures [62]. These structures are all described in [33].
The data structure type that has been implemented in this work is an edge type structure. This
type of structure lists the connectivity of vertices and adjacent faces by storing a quadruple of
each edge that consists of the origin and destination of each edge, as well as two faces (cells)
that share that edge. The form of this data structure can be seen in Table 3.2. The table
shows an example with cell and node numbers chosen at random to give the reader a better
understanding how this storage type works.
Celli Cellj Nodei Nodej
5 7 25 4
9 16 37 15
12 26 1 9
14 4 11 7
... ... ... ...
Table 3.2: Example of Edge Type Data Structure
This type of data structure has the advantage that it allows very easy traversal through the
mesh [33]. This is very useful in finite-volume schemes, as the mesh traversal can be done at
each time step, and used to compute the flux at each cell face. Additionally, each face is stored
once, therefore the flux is calculated, added to one cell and subtracted from the adjacent cell.
In this way there is no duplication of the calculation, producing an efficient implementation of
the scheme.
3.3.2 Finite-Volume Example on Unstructured Mesh
A similar example to the case shown in Figure 2.7, has been computed using a Godunov-type
finite-volume method applied on an unstructured mesh. The results are shown in Figure 3.7.
Once again, the example is a shock box calculation, where the initial conditions are shown
on the left, and the solution at 7 ms is shown on the right. The results shown here are on
Chapter 3. Unstructured Mesh 39
(a) (b)
Figure 3.7: Finite-Volume Shock-Box Calculation on Unstructured Mesh: (a) Density - Initial
Conditions (b) Density - Results 7 ms
a unstructured multi-block mesh that consists of 8 blocks, 46412 nodes, and 92026 triangular
elements. The spatial reconstruction is second-order, and the computation uses a second-order
Runge-Kutta time marching scheme.
It is evident from comparison between Figure 3.7 with Figure 2.7 that they are very similar
producing the same flow structure. However, there are some slight mesh effects that are visible
in the results of the unstructured case. The discontinuities in the flow are slightly less distinct
and show slight variations that do no occur on a Cartesian mesh that is in line with the
discontinuities. In general, the results are in excellent agreement with the structured case
shown in Figure 2.7 of the previous chapter, and provides first proof that the proposed finite-
volume scheme has been correctly implemented for multi-block unstructured mesh. Further
verification will be presented in Chapter 5.
Chapter 4
High-Order CENO Scheme
The development of high-order methods is currently a very active field of research in CFD.
Such schemes possess the potential to reduce the computational cost associated with achieving a
desired level of accuracy for a numerical simulation. This is accomplished through the improved
numerical efficiency of high-order schemes, and reduction of the number of computational cells
required to achieve the target accuracy. The greater computational efficiency of high-order
methods is particularly useful when computing the solution to complex numerical simulations
such as complex flows involving wide ranges of spatial and temporal scales. These types of flows
are often encountered in such physical phenomenons as combustion, aeroacoustic modelling,
computational electromagnetics, and other physically important situations.
The Central Essentially Non-Oscillatory (CENO) high-order finite-volume scheme has been de-
veloped by Ivan and Groth [12, 17, 18, 19] for the two-dimensional solution of the Euler equations
and the Advection-Diffusion equation on structured meshes. This has been further extended
by Rashad [32] for the solution of the Euler and Navier-Stokes equations in three-dimensions
on Cartesian grids. The focus of this work has been the extension of the CENO high-order
finite-volume method for the solution of two-dimensional compressible flows on unstructured
meshes.
This chapter will begin by outlining some previous high-order work that has been accomplished
relating to similar types of high-order reconstruction, such as ENO [13] and WENO [14] schemes.
This will lead into a description of the k-exact reconstruction method of Barth [31]. The k-
exact reconstruction method is the basis for the CENO method, and therefore an in-depth
explanation of the CENO scheme will follow. Next, an overview of the high-order multi-block
solution method used within this thesis will be described. Finally, a brief example will be
presented. However this will be a qualitative example, and a more complete investigation of
40
Chapter 4. High-Order CENO Scheme 41
the proposed high-order scheme for unstructured mesh is given in Chapter 5.
4.1 Previous High-Order Work
Godunov’s theorem states that among the class of constant coefficient schemes, there are no
schemes that are higher than first-order accurate and monotone [46]. This effectively means
that while more accurate for smooth solutions, higher-order accurate solution techniques will
tend to introduce oscillations near discontinuities. In order to avoid this drawback, and obtain
higher-order accuracy while still maintaining monotonicity it is necessary to introduce non-
linear solution techniques.
Harten introduced the concept of total variation [63], which led to the development of non-linear
solution techniques that could be classified as total variation diminishing (TVD). Additionally,
Essentially Non-Oscillatory (ENO) schemes were introduced by Harten et al. [13] to maintain
monotonicity and produce high-order accuracy. These schemes have less restrictive conditions
for satisfying monotonicity, therefore allowing them to increase the spatial accuracy while still
being able to guarantee convergence of the numerical solution to weak solutions of the solved
PDE. In general, the goal is to have accurate solutions where no new extrema are created.
A general framework for generating second-order, upwind, TVD discretizations was formulated
by Van Leer [64, 65] with the introduction of Monotone Upstream-Centered Schemes for Con-
servation Laws (MUSCL) scheme. In the MUSCL approach, the TVD conditions are ensured
by restricting the amplitude of the gradients appearing in the piecewise linear solution recon-
structions via non-linear slope limiting. Similar results can also be obtained by applying flux
limiting [66]. There are many different slope and flux limiters readily available in the liter-
ature [3, 66, 48]. This research as mentioned previously makes use of the slope limiters of
Barth-Jesperson [31] and Venkatakrishnan [47].
The ENO concept introduced by Harten et al. [13], provided a means for constructing schemes in
which oscillations on the order of the truncation error were permitted to exist in smooth regions,
thereby allowing the numerical discretizations to provide high-order accuracy while avoiding a
Gibbs-like phenomenon near discontinuities. The ENO reconstruction algorithm is based on
selecting the smoothest reconstruction stencil among several candidate stencils. An extension
to the ENO schemes is the Weighted Essentially Non-Oscillatory (WENO) schemes [14, 15, 16].
These types of schemes assign a weighting to the multiple reconstruction stencils in an attempt
to simplify the stencil selection and to assist the convergence to steady-state. These techniques
unfortunately have proven to be quite computationally expensive, particularly for unstructured
Chapter 4. High-Order CENO Scheme 42
mesh.
A more flexible high-order scheme that is easily extended to multiple dimensions, the k-exact
reconstruction procedure, has been developed by Barth and Fredrickson [31, 40]. Note that
the k-exact reconstruction is used as part of the CENO formulation developed by Ivan and
Groth [12, 17, 18, 19]. The CENO scheme uses a hybrid solution approach consisting of fixed
central stencil, such that the reconstruction must only be computed once. Additionally a
smoothness indicator is calculated to locate under resolved solution content and/or solutions
near shocks. If the solution is under resolved or in the vicinity of a shock, the reconstruction is
reverted to a limited linear piecewise reconstruction. In this way monotonicity can be preserved,
while still achieving high-order solution accuracy in smooth regions.
4.1.1 Overview of the CENO Scheme
The CENO scheme is a variant of the original ENO scheme [67]. However, the CENO scheme
is not based on either selecting or weighting reconstructions from multiple stencils. Instead,
a hybrid solution reconstruction procedure is used that combines the high-order k-exact least-
squares reconstruction technique of Barth [31] on a fixed central stencil, with a monotonicity
preserving limited piecewise linear least-squares reconstruction algorithm. In this way, the
CENO reconstruction method makes use of a single central stencil for each computational cell.
The method is performed in three separate steps:
1. perform k-exact reconstruction in each cell;
2. evaluate the solution smoothness indicator for each cell; and
3. perform piecewise linear reconstruction in those cells that are flagged as having non-
smooth solution content.
The k-exact reconstruction step performs a high-order reconstruction of the solution content
in each computational cell. The details of this step are described further in Section 4.2. Once
the reconstruction of the solution content has been completed, the next step is to calculate the
smoothness indicator. This is calculated based on the solution content of the cells within the
reconstruction stencil.
Once the smoothness indicator is calculated, it is compared to a pass / no-pass cutoff to
determine which cells are flagged as discontinuous or under-resolved. The cells that are flagged
are then treated using a piecewise linear reconstruction which preserves the monotonicity of
Chapter 4. High-Order CENO Scheme 43
the solution. At this stage the solution can be marched forward in time using a variety of time
marching schemes that have already been discussed in Chapter 2.
4.1.2 Motivation
As has previously been discussed, there is a clear motivation for the development of high-
order accurate solution methods to reduce the overall computational cost of obtaining accurate
solutions to complex physical flows. There have been many different proposed approaches to the
construction of high-order accurate schemes. Therefore, it is worth considering the advantages
and disadvantages of the CENO scheme, which make it a promising tool for computing the
solution of complex physical flow problems.
The main advantages to the CENO scheme are as follows:
1. Produces monotone solutions through the hybrid approach of computing high-order solu-
tions where the solution is smooth and reverting to piecewise linear reconstruction when
necessary. In this way, the CENO technique can still capture smooth extrema with high-
order accuracy.
2. Robustly handle under-resolved / non-smooth solution content by reverting to a linear-
piecewise reconstruction technique.
3. The use of a fixed central stencil will provide a more representative reconstruction of the
solution content taking information from all sides of the cell of interest. Additionally,
this eliminates the need to compute the reconstruction using several stencils which can
be computationally expensive.
4. The scheme is well suited for use on unstructured mesh, as it avoids the complexities
of multiple stencils, associated with ENO and WENO schemes, that can produce poorly
conditioned coefficient matrices.
5. The method is straight forward and avoids complications that are associated with different
types of high-order reconstructions such as ENO and WENO’s computation on several
different stencils. Additionally, the procedure of reconstruction, smoothness indicator,
piecewise linear reconstruction is very easy to follow.
As with any method however, there are some disadvantages associated with the CENO recon-
struction technique that are outlined below:
Chapter 4. High-Order CENO Scheme 44
1. Uniform accuracy is formally lost with the CENO reconstruction procedure, this is a
feature of traditional ENO and WENO schemes.
2. There is an increased computational cost associated with the calculation of the smoothness
indicator, and in some cases the requirement of a second reconstruction (piecewise linear)
to be calculated. However, this additional cost is balanced by the requirement of having
to use only one reconstruction stencil.
The scheme clearly has advantages and disadvantages, as would be expected with any numerical
solution procedure. However, it does seem to be a good compromise between the often com-
peting goals of providing accurate solutions in a robust manner while decreasing computational
costs. Additionally, the straight forward concept of the solution procedure does make it a very
attractive option for computing high-order accurate solutions, particularly for unstructured
mesh.
4.2 k-Exact Reconstruction
A high-order accurate finite-volume scheme for solving the Euler equations of gasdynamics, us-
ing a k-exact reconstruction, and high-order flux quadrature formulas was developed previously
by Barth [40]. The method proposed by Barth follows high-order solution techniques developed
previously for structured meshes which had proven to be extremely successful in significantly
improving the quality of the numerical solutions [31]. Therefore, the extension of these tech-
niques to unstructured meshes, that can be created using efficient algorithms, seemed like a
logical progression.
The k-exact higher-order reconstruction formulation begins by assuming that the solution with
each cell can be represented by the form
uki (x, y) =N1∑p1=0
N2∑p2=0
(x− xi)p1(y − yi)p2Dp1p2 (4.1)
where uki represents the reconstructed solution of the primitive solution variable of interest,
(xi,yi) are the coordinates of the cell centroid, and k is the order of the piecewise polynomial
interpolant. The upper bounds of the summations N1 and N2 must satisfy the condition that
(N1+N2) ≤ k. Dp1p2 , are the unknowns in Equation (4.1) which are the polynomial coefficients.
Clearly, depending on the order of accuracy the number of coefficients defining the reconstruc-
tion will vary. In general, the number of coefficients, N, for a particular order k and one solution
Chapter 4. High-Order CENO Scheme 45
variable is determined with the following relation
N =1d!
d∏n=1
(k + n) , (4.2)
where d represents the number of space dimensions. For 2D problems, d=2 and N becomes
N =(k + 1)(k + 2)
2. (4.3)
Therefore, since the order of accuracy exhibited is equal to k+1, third-order accurate solutions
will have six unknowns, and fourth-order accurate solutions will have ten unknowns.
4.2.1 Conditions on Reconstruction
When determining the unknowns it is essential that several conditions are satisfied within the
reconstruction procedure. Specifically, for the k-exact reconstruction procedure, Barth outlines
three essential conditions [40]:
1. conservation of the mean;
2. k-exactness; and
3. compact support for the stencil.
The first condition specifies that the reconstructed polynomial must have the correct cell av-
erage, such that it is equal to the original cell average. This constraint can be defined mathe-
matically as
ui =1Ai
∫∫Ai
uki (x, y) dA (4.4)
where ui is again the primitive variable of interest, in the cell i. Additionally, the second
condition states that the reconstruction must be k-exact such that the reconstructed polynomial
is of degree k or less. Mathematically this condition is equivalent to,
uki (−→X −
−→Xi)− ukexact(
−→X ) = O(∆xk+1). (4.5)
Chapter 4. High-Order CENO Scheme 46
Finally, the reconstructed polynomial in each cell must be independent of the mean solution vari-
able outside a relatively small area (i.e, the stencil for reconstruction should be compact) [40].
It should be noted that for a quadrilateral mesh, the current k-exact reconstruction scheme
uses a fixed central stencil which includes 8 neighbor cells for k=1 and 24 neighbors for k=2,
and k=3 [12]. For unstructured meshes in this work, the convention has been to reconstruct
using a fixed central stencil which includes three neighbor cells for k=1 and approximately 18
neighbor cells for k=2, and k=3.
It is worth noting that the stencil for high-order solutions is described further in Section 4.2.2.
However, the stencil is effectively three layers of neighbor cells around the cell of interest.
Neighbor cells are deemed to be those sharing a face with the cell of interest. This will typically
lead to a stencil of approximately 18 cells, but due to the inconsistent nature of unstructured
meshes can lead to stencils of 16 cells to 20 cells. However, this is still a sufficient stencil size
to solve for the derivatives.
4.2.2 Determination of Reconstruction Stencil
The k-exact reconstruction procedure leads to a system of overdetermined equations. Solu-
tions of this system can be computed using a least-squares technique that is also described by
Barth [68]. The objective of the least squares method is to minimize the sum of the errors taken
over the entire stencil. The errors that are being minimized are between the existing known
average value in the given neighbor and the average value that would result from the extension
of the reconstruction to the given neighbor. The details of setting up and solving this system
in a least squares manner are given in the Section 4.2.3.
The initial challenge that must be overcome in order to apply this method to general unstruc-
tured meshes will be the development of an algorithm to determine the neighbors and next to
nearest neighbors for each cell to be used in the reconstruction procedure. For a structured
mesh, this is a straight-forward task as depicted by Figure 4.1(a). In this figure, cells colored
in red depict the neighbors, while cells colored in blue depict the next to nearest neighbors for
cell i. This leads to a stencil of 24 cells, sufficient to solve the least-squares problem. When
applied to unstructured meshes, this task is not as clear. This is depicted in Figure 4.1(b),
where cells colored in red are obvious choices for neighbor cells. However, cells shown with a
question mark could be possible choices for next to nearest neighbors, or not considered in the
reconstruction of cell i. Nevertheless, once this challenge is overcome the CENO method can be
applied directly within a two-dimensional finite-volume scheme capable of calculating accurate
solutions on arbitrary unstructured meshes.
Chapter 4. High-Order CENO Scheme 47
(a) (b)
Figure 4.1: (a) Nearest and next to nearest neighbors on structured grid (b) Nearest and next
to nearest neighbors difficult to determine on unstructured grid
(a) (b) (c)
Figure 4.2: (a) Nearest neighbors (b) Nearest and next to nearest neighbors (c) All neighbors
The algorithm that has been used to determine all required neighbors for the reconstruction
process makes use of the grid data structure that has been described in Section 3.3.1. It is
easy to determine cells that share a common face as the data structure used stores adjacent
faces. Therefore, the nearest neighbors can be quickly determined as any cell sharing a face
with the cell of interest. This is shown in Figure 4.2(a). The next to nearest neighbors are then
determined as any cell that is sharing a face with the neighbors as depicted in Figure 4.2(b).
This should typically lead to a system with nine neighbors and one central cell, giving a total
stencil of ten cells. However, this does not lead to an overdetermined system of equations when
considering fourth-order accurate solutions, with piecewise cubic reconstructions which have
ten unknowns. It is therefore necessary to extend the stencil once more in a similar manner to
determine an additional ring of cells. This results in the stencil 4.2(c).
Chapter 4. High-Order CENO Scheme 48
The three-layer stencil of Figure 4.2(c) will lead to an overdetermined system of equations when
fourth-order accuracy is sought. It should be noted that while a smaller stencil could be used
when seeking third-order accuracy and piecewise quadratic reconstruction, the same stencil has
been implemented to alleviate additional programming situations, and remain consistent with
the structured solver; which uses the same stencil for third- and fourth-order accurate schemes.
4.2.3 Evaluation of the Derivatives for the Reconstruction
The next few sections will be focused on presenting a mathematical description of the overde-
termined system of equations that are required to determine the derivatives of the high-order
spatial reconstruction. This is done by dividing the development into three components:
� forming the overdetermined system;
� calculating the geometric coefficients and moments; and
� solving the system using a least-squares technique.
It is worth first considering a matrix of the form Ax6=b. Here A is a coefficient matrix, x is
the vector of solution quantities, and b is a vector of the right-hand sides of the equations.
It should be pointed out that for overdetermined systems of this type there is not a unique
solution that will satisfy the equations. Therefore, the goal of solving this system is such that
the least squares problem is minimized, i.e. that ‖Ax−b‖2 is minimized.
For convenience, we now introduce the vector c, which allows us to write our over-determined
system of equations in the form of an equality: Ax−b=c. The vector c is not actually formed
prior to solving the least-squares problem, but is representative of the resulting error incurred
by solving the least-squares problem. This system can then be solved. In this work we make use
of the pseudo-inverse matrix via Singular Value Decomposition (SVD) which will be described
later. In previous implementations of the CENO high-order schemes on structured meshes, a
Householder QR factorization method has also been used, and the reader is encouraged to review
the textbook by Lawson [69] for further information. However, the pseudo-inverse technique
has been used as it was shown in previous work to speed up the computation quite considerably.
The Overdetermined System
The evaluation of the coefficients, Dkp1p2, requires the least-squares solution of an overdetermined
system of linear equations Ax−b=c, where the coefficient matrix, A, of the linear system depends
Chapter 4. High-Order CENO Scheme 49
only on the mesh geometry and can be partially calculated in a pre-processing step. The average
solution data at each reconstruction step is contained in the matrix, b, and the mean value error
in each control volume is in matrix, c, which has the norm minimized in the least-squares sense.
The preservation of the solution variable average value ui within the reconstructed cell is ex-
plicitly enforced by expressing the coefficient, Dk00, as a function of the other unknowns as
follows:
D00 = ui −k∑
p1=0
k∑p2=0
k∑p3=0
(p1+p2+p3 6=0)
Dp1p2p3
(xp1yp2
)i. (4.6)
where the term(xp1yp2
)i
is defined in the next section. Thus, the linear system that needs to
be solved for all other unknowns, except Dk00, has the form
(x0y1
)i1
. . .(xp1yp2
)i1
. . .(xky0
)i1
......
......
......(
x0y1)ij
. . .(xp1yp2
)ij
. . .(xky0
)ij
......
......
......(
x0y1)iM
. . .(xp1yp2
)iM
. . .(xky0
)iM
D01
...
Dp1p2...
Dk0
i
−
(u1 − ui)......
(uj − ui)......
(uM − ui)
=
c1......
cj......
cM
i
,
M ×N N × 1 M × 1 M × 1
where M represents the total number of neighboring cells in the reconstruction stencil, and N
represents the total number of unknown derivatives, minus one, since D000 has been eliminated
by using Equation (4.6).
At this point we can apply geometric weighting to the system of equations. The geometric
weights, wij , are applied to each corresponding row in the matrix A and vector b. The geometric
weight is specific to each control volume and serves the purpose of improving the locality of
the reconstruction. Geometric weights of the form presented below are assigned to each control
volume in order to have a more localized reconstruction:
wij =1
|−→r j −−→r i|, (4.7)
Chapter 4. High-Order CENO Scheme 50
or
wij =1
|−→r j −−→r i|2, (4.8)
where −→r is the position vector from the indicated cell. In general, the inverse squared distance
weighting has been found in previous work to be more accurate. However, the inverse distance
was still implemented. In the next section we will explore a computationally efficient technique
by which the elements of the matrix A are calculated, followed by a technique for solving the
resulting overdetermined system.
Calculating the Geometric Coefficients
It is noted that the matrix A depends entirely on the geometry of the computational cells in
the stencil. Therefore, we seek to compute its entries in a computationally efficient manner,
taking into account both computational cost and memory usage. A computationally efficient
approach involves pre-computing and storing only the geometric coefficients of each cell about
its own cell center. That is, the quantity given by
(xp1yp2
)j≡ 1Aj
∫∫Aj
(x− xj)p1 (y − yj)p2 dA . (4.9)
We can make use of these stored coefficients to calculate the elements found in matrix, A, by
using the appropriate values for the powers (p1 and p2) of(xp1yp2
)j. Without going through all
the details, as they are well described within [70], it is then possible to express a final equation
for calculating the elements of matrix A as
(xp1yp2
)ij
=p1∑ξ=0
p2∑`=0
[Cξp1C
`p2 · ∆xξij∆y
`ij ·
(x (p1−ξ) y (p2−`)
)j−(xp1yp2
)i
]. (4.10)
Upon examination of Equation (4.10), it is noted that the RHS only contains geometric coeffi-
cients of neighboring cells taken about their own cell centers. To clarify this point, notice that
the term denoted(x (p1−ξ) y (p2−`)
)j, is simply a shift in the powers of the stored
(xp1yp2
)j
term. Hence, when computing the elements of matrix, A, it is a straightforward matter of car-
rying out the summations on the RHS of Equation (4.10), by selecting the appropriate values
for the powers of the pre-computed(xp1yp2
)j
belonging to the given neighboring cell j.
Finally, the coefficients of the binomial expansion can be computed, with initial coefficients
C0p1 = C0
p2 = 1, as follows:
Chapter 4. High-Order CENO Scheme 51
Cξp1 =p1 − ξ + 1
ξCξ−1p1 , C`p2 =
p2 − `+ 1`
C`−1p2 , (4.11)
It is therefore essential to compute(xp1yp2
)j
in an accurate and efficient manner. For general
triangular elements, of primary concern for the two-dimensional unstructured meshes considered
within this work, it is possible to map the triangles to a barycentric coordinate system. At which
point it is possible to apply a high-order numerical quadrature formula [71] to compute the
integration. In practise however, it is also possible, and slightly simpler to map the barycentric
quadrature points onto the triangle of interest and calculate the quadrature. This can be
accomplished through the use of the following relations:
x = λ1x1 + λ2x2 + λ3x3, (4.12)
y = λ1y1 + λ2y2 + λ3y3, (4.13)
where the λi’s are the barycentric quadrature locations, xi, yi are the vertex locations of the
triangle, and x, y are the mapped quadrature location on the triangle of interest. It is then
possible to apply a high-order quadrature equation to these positions to integrate the desired
function for(xp1yp2
)j
over the domain of the triangle. The quadrature equation implemented
is a 13 point, integration of Hammer [72] with seventh order accuracy.
Least-Squares solution of the Overdetermined System
While the system discussed can be solved in several different manners, we will limit the dis-
cussion here to solution via the pseudo-inverse matrix, which is found by the orthogonal SVD
of matrix A. The pseudo-inverse matrix, A+, has dimensions N ×M , can be used to solve the
lease-squares problem through the following equation:
x = A+b , (4.14)
where the resulting vector x, which is of length N , is such that we have minimized ||Ax− b||2.
The SVD method used to obtain the pseudo-inverse matrix, consists of a decomposition of the
the matrix A, such that
A = QΣVT , (4.15)
Chapter 4. High-Order CENO Scheme 52
where Q is an M×M orthogonal matrix, Σ is an N×N diagonal matrix with non-negative real
values along the diagonal, and V is an N ×N orthogonal matrix. The values on the diagonal
of the matrix Σ are referred to as the singular values. The reader is encouraged to consult
the textbook by Nocedal [73] for details on finding the matrices Q and V, however now the
pseudo-inverse may be calculated through the above decomposition. This is obtained simply
by using:
A+ = VΣ−QT . (4.16)
The pseudo-inverse method is very appealing as it is a technique which is very robust and
numerically stable. Additionally, the pseudo-inverse depends solely on the geometry of the
mesh. It is therefore possible to compute the pseudo inverse once, and store it throughout the
computation. This has the effect of reducing computational time, as the matrix, A, does not
need to be re-computed every time a reconstruction is performed.
The description of the solution to the least-squares problem has been kept very brief here,
but intended to give the reader a general understanding of the solution technique. For addi-
tional information regarding the pseudo-inverse matrix the reader is encouraged to refer to the
literature [74, 69, 73].
4.3 CENO Reconstruction
A high-order central essentially non-oscillatory finite-volume scheme in combination with a
block-based adaptive mesh refinement algorithm has recently been developed by Ivan and Groth
for the solution of the one- and two-dimensional Euler equations on structured meshes [12, 17].
The scheme has additionally been applied to the Advection-Diffusion equation [18, 19]. Unlike
other essentially non-oscillatory (ENO) schemes [13, 25], or weighted essentially non-oscillatory
schemes (WENO) [14, 16], the CENO scheme is not based on information from multiple stencils.
Instead the CENO scheme is based on a central stencil which makes it well suited for extension
to three dimensions and unstructured meshes. The extension to three dimensions has been
completed by Rashad [32], and the extension to unstructured meshes is the focus of this work.
4.3.1 Reconstruction
The high-order CENO method uses a hybrid solution reconstruction process. This process is
based on the high-order k-exact least-squares reconstruction technique of Barth [31], which
Chapter 4. High-Order CENO Scheme 53
has been described in the previous section, and on a fixed central stencil with a monotonicity
preserving limited piecewise linear least-squares reconstruction algorithm [68]. After the high-
order reconstruction, the hybrid CENO procedure calculates a smoothness indicator described
in Section 4.3.2. This smoothness indicator determines if the solution is resolved on the current
computational mesh. The limited piecewise linear (k=1) reconstruction procedure is applied to
computational cells with under-resolved solution content. Where the k-exact procedure is used
for cells where the solution is fully resolved [12, 17]. The limited piecewise linear reconstruc-
tion uses the limiters of Barth-Jesperson and Venkatakrishnan to preserve monotonicity near
discontinuities. In this way, the CENO reconstruction avoids the issues of capturing smooth
extrema [31, 47]. The slope limiters implemented are discussed in further detail in Section 4.3.3.
4.3.2 Smoothness Indicator
The smoothness indicator, S, that is used is a function of a smoothness parameter, α, the degree
off freedom, DOF , and the size of the stencil, SOS, used for the particular reconstruction in
question. The smoothness indicator is calculated as below,
S =α
max((1− α), ε)(SOS −DOF )DOF − 1
(4.17)
where ε is taken as a tolerance such that a divide by zero is avoided. The numerical value taken
for ε is 10−8. The smoothness parameter, α, is then calculated as follows
α = 1−∑
p(ukp(xp, yp)− uki (xp, yp))2∑p(ukp(xp, yp)− ui)2
(4.18)
where the ranges of the indexes p are the cells in the stencil, and i is the cell of interest. It can
be seen that α can have a value between negative infinity and one.
Considering those values for α in equation 4.19, it can easily be seen that as α approaches
unity the smoothness indicator, S will grow very rapidly. This is depicted in Figure 4.3, as
the term α1−α grows very quickly with increasing alpha. Once the smoothness indicator, S, has
been calculated it can be compared to a pass / no-pass cutoff limit. Experience has shown that
typical cutoff limits are in the range of 1,000-5,000 [12, 17]. Additionally, it should be noted
that typical values for S for smooth solutions tend to be orders of magnitude greater than the
cutoff limit [12, 17].
Chapter 4. High-Order CENO Scheme 54
Figure 4.3: Graph of f(α) = α1−α
4.3.3 Monotonicity Enforcement
It has previously been discussed that an important consideration in high-order finite-volume
schemes is an affective approach to maintain monotonicity of the solution. The CENO scheme
uses a hybrid solution reconstruction procedure. This procedure combines the unlimited high-
order k-exact least-squares reconstruction with a monotonicity preserving limited piecewise
linear least-squares reconstruction algorithm. The limited reconstruction procedure is applied to
any computational cells that are deemed non-smooth or under-resolved based on the calculation
of the smoothness indicator.
Without the additional step of applying a limited reconstruction procedure, the k-exact recon-
struction would introduce spurious numerical oscillations that would become large in under-
resolved regions generating a Gibbs-like phenomenon. Therefore, a reliable smoothness indi-
cator must be able to identify correctly the areas which are under-resolved and revert to the
Chapter 4. High-Order CENO Scheme 55
monotonicity preserving limited piecewise linear least-squares reconstruction.
For systems of conservation laws, the reconstruction procedure can be applied to different sets
of interrelated solution variables, such as conserved, primitive or characteristic variables. This
work is concerned primarily with the Euler equations, and the reconstruction procedure has
been calculated on the primitive solution variables. For situations where the piecewise linear
least-squares reconstruction procedure has bee applied, slope limiters must be used. Both the
slope limiters of Barth-Jesperson [31] and Venkatakrishnan [47] have been used.
4.3.4 Flux Evaluation
The numerical fluxes are determined for each cell by solutions of a Riemann problem. Given
the left and right solution states at the quadrature points, the numerical flux is given by
−→F · −→n = F(Ul,Ur,
−→n ), (4.19)
where the numerical flux, F , is evaluated by solving the Riemann problem in a direction that
is defined by the outward normal to the cell face [12]. The left and right solutions states
are calculated at the cell quadrature points by performing a piecewise k-order CENO poly-
nomial solution reconstruction as has been previously described. The spatial accuracy of the
finite-volume scheme is dependent on the order of the solution reconstruction. A k-order re-
construction provides a k+1 order accurate spatial reconstruction.
It is essential to compute the flux at the correct number of locations to preserve the order of
the scheme. Current practise has been to use one quadrature point for second-order schemes
(piecewise linear k=1 reconstruction), and two quadrature points for third- and fourth-order
schemes (piecewise quadratic, k=2, and cubic, k=3 reconstruction). This ensures that the order
of accuracy of the scheme is preserved. This is required at each cell face. A depiction of the
quadrature points on a particular cell is shown in Figure 4.4 where cell i is shown to have six
quadrature points, two on each cell face.
4.4 Multi-block Implementation
The proposed CENO high-order scheme also makes use of a multi-block implementation using
domain decomposition. This implementation takes advantage of the mesh partitioning de-
scribed in Section 3.2. The computational mesh is broken into smaller sub-meshes on which
Chapter 4. High-Order CENO Scheme 56
Figure 4.4: Quadrature points on a typical high-order unstructured cell
solutions can be obtained in a simultaneous fashion. This has the potential to greatly reduce
the time to obtain a solution as calculations on various sections of the mesh can be carried out
simultaneously.
The important consideration for this multi-block implementation is proper treatment of solution
content at block boundaries. This issue is overcome with ghost cells. Ghost cells in one block
overlap physical cells in the adjacent block. The ghost cells must be updated at every time step
throughout the computation with the average values of the cells they are overlapping. Since
the cell average values are being passed to the ghost cells, before the flux can be computed
the ghost cell solution must be reconstructed. Therefore, it is essential to ensure that enough
cells are passed to compute the solution reconstruction in the cell immediately adjacent to the
block. This is depicted with the use of Figure 4.5. The figure shows two blocks separated by
the highlighted line. If cell i is in the block of consideration, cell j is a ghost cell that is needed
to compute the flux between blocks. Therefore, all cells colored in blue must also be passed to
Chapter 4. High-Order CENO Scheme 57
Figure 4.5: Ghost cells required for message passing
the block of consideration to reconstruct the value of cell j.
It is worth noting that particular attention must be paid to the ghost cells required when
there are many blocks, and various cells required for the reconstruction are coming from several
different blocks. This situation has been treated within the current computational framework
of the code.
4.5 High-Order Treatment for Curved Boundaries
Correct high-order treatment of boundary conditions (BCs) is a crucial element for developing
accurate numerical schemes. It is especially important for high-order methods, where errors
due to geometrical approximation may dominate the discretization error, mitigating the full
capabilities of a high-order scheme [30]. In order to obtain high-order accuracy at boundaries,
Chapter 4. High-Order CENO Scheme 58
the geometric data (i.e., cell area, centroid, geometric moments, normals, edge lengths, locations
of the Gauss quadrature integration points) are computed to the same order of accuracy as that
of the interior scheme. Implementing BCs with additional layers of ghost cells can work well
for relatively straight boundaries, but may give rise to large errors when the geometry is highly
curved.
Curved boundaries present several immediate challenges, such as the problem of accurately
obtaining the geometric data. For instance, in order to compute the geometric moments, a
highly-accurate integration must be calculated over the area of the cell, which now includes
a curved surface. This is not a straightforward integration procedure. Similarly, the other
types of geometric data is not as straightforward to determine with the presence of a curved
boundaries.
Additionally, if we consider the example of an inviscid solid wall boundary, providing a suitable
normal for the mirroring process which results in accurate high-order reconstructions for the
velocity components is problematic for a curved boundary. Therefore, a better alternative is to
enforce the boundary conditions using only information from the interior domain and from the
required boundary values at the Gauss integration points along the boundary. By constraining
the least-squares reconstruction in control volumes adjacent to the boundary, complex boundary
conditions can be enforced such as those of Olivier-Gooch and Van Altena [75].
The treatment of curved boundaries has not been considered in this thesis. However, this issue
must be dealt with in future follow on studies.
4.6 Example
Continuing with the example that was investigated in the previous chapter, a two-dimensional
shock box, Figure 4.6 shows a second-order solution compared to a fourth-order result. Both
calculations were computed by the proposed Godunov-type finite-volume schemes on the same
computational mesh consisting of four blocks, 2840 nodes and 5482 elements. The flux in both
situations was computed using Roe’s approximate Riemann Solver [41]. Both simulations were
calculated until 7 ms.
It can be seen that both calculations compute a flow structure in good agreement with what
has previously been investigated. However, the high-order solution provides more detail, at
least qualitatively. In general, the discontinuities appear much sharper. It is also worth noting
that the area circled in red in block solutions shows much more symmetry in the high-order
Chapter 4. High-Order CENO Scheme 59
(a) (b)
Figure 4.6: Finite-Volume Shock-Box Calculation on Unstructured Mesh: (a) 2nd-order (b)
4th-order
solution than in the low-order case. In general, the high-order solution much closer resembles
the earlier results given in previous chapters. It is also worth noting that the mesh used for
these simulations is much coarser than what was previously investigated, and the high-order
solution does a fairly good job of providing a solution of equivalent quality.
This outcome is not a surprise as the goal of generating high-order solution schemes is to obtain
a greater level of accuracy on the same computational mesh. Alternatively, the goal is to obtain
the same level of accuracy but using a coarser mesh, but in this case it is more beneficial for
qualitative comparison on the same mesh. This situation will be investigated further, along with
other cases in the following chapter, where we will focus, not only on qualitative appearance of
the solution, but quantitative results.
Chapter 5
Numerical Results
An essential step in the development of algorithms in CFD is the verification and validation
process. The concepts of verification and validation have been defined in the AIAA guide-
lines [76]. Verification is the “process of determining that a model implementation accurately
represents the developer’s conceptual description of the model and the solution to the model”
[76], whereas validation is the “process of determining the degree to which a model is an accurate
representation of the real world from the perspective of the intended uses of the model” [76].
In this chapter, we present the verification of the high-order CENO finite-volume scheme as de-
veloped for multi-block unstructured mesh. Several key features of the scheme are highlighted,
and the numerical results from selected test cases are presented. The validation process will
be an important future consideration as the scheme is applied to engineering applications in
future follow-on studies. It is through the process of verification and validation that we build
confidence that the solutions generated by the algorithms we have implemented are producing
accurate results that represent the correct solutions to the flow problems of interest.
The CENO method has previously been through an extensive verification and validation process
by Ivan and Groth [12, 17, 18, 19], and additionally by Rashad [32] on structured meshes.
However, with the new implementation on multi-block unstructured meshes, it is once again
necessary to verify that the theoretical accuracy of the schemes is achieved on the unstructured
meshes to again gain confidence in the numerical results.
This chapter will begin by presenting the theory necessary to evaluate the scheme, followed
by several examples of function reconstructions in two-dimensions in order to first verify the
CENO reconstruction procedure for unstructured mesh. These reconstructions will consider
both smooth and non-smooth functions. Finally, there will be a demonstration of the application
of the proposed high-order CENO finite-volume scheme to the solution of two-dimensional Euler
60
Chapter 5. Numerical Results 61
equations, for several example flow problems.
5.1 Theory for Evaluating High-Order Algorithms
There are various examples in the literature of the verification of high-order methods such as
those described by Roach [77] and Zingg [78]. This research has followed these methods by
comparing high- and low-order solutions on the same grid resolutions, as well as systematic
grid convergence studies. The methods that are necessary for the convergence studies are
described in detail below focusing first on how to conduct a convergence study, followed by the
methodology for error calculations which are required.
5.1.1 Determining the Order of Accuracy
One critical step of determining the order of actual numerical accuracy that is achieved by a
scheme is determined via a systematic convergence study. The convergence study involves a
systematic increase in grid resolution while monitoring the L1, L2 and L∞ error norms. By
plotting this increase in grid resolution versus the error norms on a log-log plot, the best fit
through the results in log space yields the order of accuracy, as achieved by the numerical
scheme.
The convergence study therefore relies on the ability to calculate two things. First the exact
solution in each cell must be know, or at least accurately estimated. If the exact solution is
known, an average of the exact solution for each computational cell can then be computed as
Ui =1Ai
∫∫Ai
Uexact(x, y)dA , (5.1)
which is useful for beginning the computation. The second is the error between the recon-
structed solution and the exact solution. This calculation is described in the following section.
It is important to note that, for the unstructured mesh considered herein, the increase in
grid resolution is done through decreasing a characteristic length input into Gmsh [53]. This
characteristic length is connected to the size of the cells, and decreasing this length has the
effect of increasing the grid resolution. Therefore, for various orders of accuracy, the same
characteristic lengths can be used, which will ensure the same grids are used throughout the
various convergence studies of the different order methods.
Chapter 5. Numerical Results 62
5.1.2 Accuracy Assessment
The accuracy of the solution must be computed on each grid for the convergence study as
described above. This assessment includes calculating the L1, L2 and L∞ error norms, which
can be computed as
L1 = |E|1 =1AT
∑i
∫∫Ai
[Uk
i (x,y)−Uexact(x,y)]dA , (5.2)
L2 = |E|2 ={ 1AT
∑i
∫∫Ai
[Uk
i (x,y)−Uexact(x,y)]2dA}1/2
, (5.3)
L∞ = |E|∞ = max{ 1Ai
[ ∫∫Ai
[Uk
i (x,y)−Uexact(x,y)]dA}
over all cells i, (5.4)
where AT is the total area, Uki (x,y) is the reconstructed solution as a function spatial coordi-
nates, and Uexact(x,y) is the exact solution.
The integrations are carried out through high-order numerical quadrature rules for triangles.
As described in Chapter 4, the quadrature rules previously presented [71] have been used. This
numerical quadrature rule consists of 13 points and is accurate to seventh-order, which is higher
than the order of the spatial reconstructions considered herein.
5.2 Reconstruction of Two-Dimensional Functions
A useful first step in the verification of a high-order finite-volume scheme is to perform a spatial
reconstruction of various specified functions. We want to ensure that the reconstruction order
maintains the desired order of accuracy when a convergence studies is completed. We can
evaluate the error by first initializing the mesh with correct cell averages, then performing a
high-order reconstruction, and finally evaluating the error that has been incurred. Through this
reconstruction of functions. we can be sure that the error is a result of the spatial reconstruction,
and not due to the time marching schemes.
Several two-dimensional functions have been reconstructed and are presented below along with
the order of accuracy that was computed for each case. Initially, smooth functions are considered
to ensure that the desired order of accuracy is maintained. Then a non-smooth function will be
considered to verify the effectiveness of the smoothness indicator at maintaining monotonicity
when presented with solution content containing many discontinuities. In all cases throughout
this section it should be assumed that a smoothness indicator cutoff value of 1000 was used in
Chapter 5. Numerical Results 63
the CENO reconstruction, unless otherwise noted.
5.2.1 Spherical Cosine Function
The first case considered is the reconstruction of a smooth spherical cosine function. The
function is smooth in both the x and y directions and the exact solution is described by
uexact = 1 +13
cos(r) , (5.5)
where r is the radial position given as r =√x2 + y2. The solution is computed on a domain
that is 20×20 centered on x = y = 0, with various grid resolutions considered to complete the
convergence study.
The results for this reconstruct on are shown in Figure 5.1. More specifically, the exact solution
is given as Figure 5.1(a), a first-order (k=0) reconstruction is presented in Figure 5.1(b), and
a fourth-order (k=3) reconstruction is shown in Figure 5.1(c). The reconstructions were all
computed on the same mesh with 92040 triangular elements and 46419 nodes. This was the
most refined mesh for which the reconstruction of this function was computed. It should
be seen that the fourth-order reconstruction more closely matches the results of the exact
solution. The first-order reconstruction suffers from the mesh effects of prescribing the cell
average throughout the entire cell. Therefore, near areas of function variation the contours
are not a smooth transition as they are in the fourth-order reconstruction. As a result, the
first-order variation in the function appears fuzzy in the figure.
The L1, L2 and L∞ error norms associated with the reconstruction of the smooth trigonometric
function are depicted in Figure 5.2. This is shown on a log-log plot ranging from a course mesh to
a finer mesh. It can be seen that the error is decreased as we move from fist-order reconstruction
to fourth-order reconstruction as would be expected. Additionally, the slopes of the plot are
increased as the order of accuracy increases.
Finally, Table 5.1 presents the computed orders of accuracy for the L1, L2 and L∞ error norms.
In this case, each error norm was calculated by using the final three points that are shown in
the Figures above.
The reconstructions are reproducing the order of accuracy that are expected in the case of
the L1 error. In the other cases the reconstruction order of accuracy is fairly consistent with
what is expected, although slightly below the ideal value. However, the slopes of the error
are continuing to increase and it is possible that the asymptotic convergence has not yet been
Chapter 5. Numerical Results 64
(a) Exact solution.
(b) First-order CENO (k = 0) reconstruction. (c) Fourth-order CENO (k = 3) reconstruction.
Figure 5.1: Reconstruction of spherical cosine function.
achieved on the finest unstructured mesh considered.
5.2.2 Exponential Function
The next case considered is the reconstruction of a smooth exponential function. The form of
the exact function considered is
Chapter 5. Numerical Results 65
(a) |E|1 convergence study. (b) |E|2 convergence study.
(c) |E|∞ convergence study.
Figure 5.2: Convergence studies for spherical cosine function reconstruction.
Slopes
k |E|1 |E|2 |E|∞
0 -0.998 -1.009 -0.984
1 -1.984 -1.512 -0.844
2 -2.998 -2.681 -2.502
3 -4.443 -3.979 -3.508
Table 5.1: Orders of accuracy for the Spherical Cosine Function.
Chapter 5. Numerical Results 66
uexact = exp(xy) , (5.6)
and reconstruction results for a domain of 2×2 centered on x = y = 0 were assessed. Again,
many different grid resolutions have been considered in the convergence study.
The solutions to this function are depicted in Figure 5.3. Once again, the sub-figures show the
exact solution, a first order reconstruction, and a fourth-order reconstruction. This reconstruc-
tion was computed on an unstructured grid consisting of 22552 triangular elements and 11475
nodes. This mesh was selected as it was not as refined as what was shown in the previous
case, therefore more easily depicting the mesh effects caused by the first order reconstruction.
Once again, the fourth-order reconstructed solution is much more accurate at reconstructing
the exact solution.
The results of the convergence study for the reconstruction of the exponential function listed
above are shown in Figure 5.4. Once again, the L1, L2 and L∞ are shown on a log-log plot
verses the increased number of nodes. We can see that as the order of accuracy is increased
the error is decreased, and the slope of the error becomes greater achieving a higher-order of
accuracy in the reconstruction.
The slopes have been computed using the final three points on the plot, and are shown in
Table 5.2. We see that the L1 error norm again achieves the desired level of accuracy. The
plots detailing the convergence of the L2 and L∞ error norms are slightly below the expected
value, but are showing an increase in slope. Further grid resolutions were not computed due
to computational cost. However, it can still be seen that a higher-order of accuracy is being
achieved by the reconstruction, and certainly in the L1 error norms the expected order of
accuracy is well represented.
Slopes
k |E|1 |E|2 |E|∞
0 -1.015 -1.021 -0.972
1 -2.017 -1.540 -0.886
2 -3.051 -2.555 -2.154
3 -4.310 -3.801 -3.034
Table 5.2: Orders of accuracy for the Exponential Function.
Chapter 5. Numerical Results 67
(a) Exact solution.
(b) First-order CENO (k = 0) reconstruction. (c) Fourth-order CENO (k = 3) reconstruction.
Figure 5.3: Reconstruction of an Exponential Function.
5.2.3 Abgrall’s Function
The Abgrall function [25] is a function that presents a significant challenge for any high-order
scheme wishing to maintain monotonicity. The problems arise because the function has a
number of solution discontinuities. In order to capture these discontinuities accurately, mono-
tonicity must be maintained in the reconstruction. Therefore, this function is used to test
that the CENO schemes smoothness indicator can maintain monotonicity when presented with
many discontinuities.
Chapter 5. Numerical Results 68
(a) |E|1 convergence study. (b) |E|2 convergence study.
(c) |E|∞ convergence study.
Figure 5.4: Convergence studies for Exponential Function Reconstruction.
Chapter 5. Numerical Results 69
The Abgrall function is defined in as follows [25]:
Uexact(x, y) =
{f(x− cot
√π2 y) x ≤ cos πy
2 ,
f(x+ cot√
π2 y) + cos(2πy) x > cos πy
2 ,(5.7)
with
f(r) =
−r sin
(3π2 r
2)
r ≤ −13 ,
| sin(2πr)| |r| < 13 ,
2r − 1 + 16 sin(3πr) r ≥ 1
3 ,
(5.8)
where
r =√x2 + y2 . (5.9)
The reconstructed solutions to this problem have been depicted in Figure 5.5. These solutions
were computed of a mesh consisting of 91890 unstructured triangular elements and 46344 nodes.
The smoothness indicator cutoff value for this problem was selected as 2500. It is worth pointing
out that the fourth-order solution much more closely represents the exact solution then does
the first-order result. As has been seen in previous cases, the first-order reconstruction exhibits
mesh effects that cause transitions to appear less smooth. Additionally, the solution has been
compared with the exact solution computed on a structured mesh shown in Figure 5.5(b). The
unstructured high-order reconstruction does a very nice job producing a solution that closely
matches the exact solution, even when computed on a structured mesh of similar resolution.
The L1 error norms for this case are shown in Figure 5.6(a). In this case we see that the first-
and forth-order reconstructed solutions have similar orders of accuracy as shown from the slopes
in the plot. However, the error norm line is shifted downwards in the case of the fourth-order
reconstruction. This shows that while the order of accuracy may revert to first-order, due to
the many discontinuities present in this function, the solution is still more accurate. In fact, the
first-order reconstruction requires 91890 elements to produce an error less than 0.045, while the
fourth order reconstruction only requires 9916 elements to produce a similar error. Effectively,
this mean that the same error can be achieved using roughly 10 percent of the elements. This
is one of the key advantages to high-order methods, it is possible to use much fewer elements,
and still compute a solution to the same desired accuracy.
At this point it is worth inspecting the role of the smoothness indicator for this function. The
role of the smoothness indicator is to detect non-smooth areas in the solution reconstruction,
so that a limited linear piecewise reconstruction procedure can be applied in these areas in
order to maintain monotonicity. Inspecting the locations where the smoothness indicator has
deemed non-smooth in the reconstruction of Abgrall’s function can be done with reference
Chapter 5. Numerical Results 70
(a) Exact solution on unstructured mesh. (b) Exact solution on structured mesh.
(c) First-order CENO (k = 0) reconstruction. (d) Fourth-order CENO (k = 3) reconstruction.
Figure 5.5: Reconstruction of Abgrall’s function.
to Figure 5.6(b). Locations shown in red have been flagged as non-smooth solution content
and revert to a limited linear piecewise reconstruction. In this case, the smoothness indicator
does a very nice job at locating the discontinuities that require a lower-order reconstruction
to maintain monotonicity. The discontinuities can be seen with reference to Figure 5.5 and
compared with Figure 5.6(b) to ensure the correct locations are flagged as non-smooth. It
is because of the hybrid switching method and limited linear reconstruction that the scheme
reduces to first-order accurate for the reconstruction of this function.
Finally, the results of the slopes of the L1 error are shown in Table 5.3. In the two cases,
Chapter 5. Numerical Results 71
(a) L1 Error. (b) Smoothness Indicator.
Figure 5.6: Results for Abgrall’s function.
first-order (k = 0) and fourth-order (k = 3) reconstruction the order of accuracy of the scheme
is roughly first-order. This is an expected result, due to the discontinuities in Abgrall’s function
the high-order scheme will revert to first-order accurate near solution discontinuities lowering
the overall order of the scheme. However, it is worth once again mentioning that while the
overall order of the schemes are the same, the fourth-order reconstruction does produce more
accurate results, and a lower absolute error.
Slopes
k |E|1
0 -0.995
3 -1.143
Table 5.3: Orders of accuracy for the Abgrall’s Function.
5.3 Solution of Two-Dimensional Euler Equations
While the spatial reconstruction procedure has been proven through the above cases to produce
high-order accurate reconstruction, and the smoothness indicator has been shown to reduce the
order of accuracy as necessary, it is also essential to consider the high-order reconstructed
solutions to equation of fluid flow. We are considering the solution to inviscid compressible flow
governed by the Euler Equations.
This section will show that the unstructured solver yield similar results to those computed on a
Chapter 5. Numerical Results 72
structured mesh. Additionally, the smoothness indicator will once again be shown to behave as
expected, and that high-order accuracy is achieved. Moreover, the qualitative appearance of the
solutions will be shown to be better than those on computed using a second-order reconstruction
procedure.
Three cases are being investigated in the following section. First will be the solution to a
two-dimensional shock box. This will be followed by a spherical expansion case, and finally
a boundary value problem of a flow over a bump. In all cases it should be assumed, unless
otherwise noted, that a smoothness indicator cutoff value of 1000 was used with a CFL number
of 0.7. It can also be assumed that Roe’s approximate Riemann solver [41] and the slope-limiter
of Venkatakrishnan [47] have been used.
5.3.1 Unsteady Shock-Box Problem
The first case considered for high-order reconstruction of the Euler Equations is the Shock-
Box problem that has been discussed throughout this thesis. For completeness, the problem
is defined as a situation where two states are initially prescribed separated by a discontinuity.
The states considered are described below, where 1/4 of the domain is initiated as the left-state,
defined as
ρl = 1.408 kg/m3 ,
ul = vl = 0 m/s ,
pl = 101.1 kPa ,
(5.10)
and the remainder of the 10×10 m domain is initialized to right-state, defined as
ρr = 4.9 kg/m3 ,
ur = vr = 0 m/s ,
pr = 404.4 kPa .
(5.11)
The results are shown in Figure 5.7. The results are computed on an unstructured mesh
consisting of 46548 triangular elements with 23559 nodes. The figure shows a comparison of the
first-order solutions with the fourth-order solutions for density, pressure, and mach number. We
can see that the fourth-order solution content is much better resolved. The increased resolution
can be attributed to the reconstruction taking information from nearby cells to compute a
polynomial in each cell, as opposed to the piecewise constant representation of solution content
in the low-order case.
Chapter 5. Numerical Results 73
Figure 5.7 also shows the capability of the high-order solver to handle multi-block meshes. The
fourth-order solutions are shown as computed on four block meshes, which matches the single
block computations shown throughout earlier Chapters in this thesis.
Additionally, Figure 5.8 shows the impact of the smoothness indicator. Areas which are shown
in red have been flagged by the code as non-smooth and are then reconstructed using a limited
piecewise linear reconstruction. It can be seen that the non-smooth areas correspond with areas
of discontinuity in the density plot, and therefore it can be determined that the CENO hybrid
scheme is acting appropriately.
Finally, Figure 5.9 shows the density variation computed on a structured mesh, which should
be compared with Figure 5.8(a) computed on an unstructured mesh. The structured solver
uses second-order limited linear piecewise reconstruction with a second-order time-marching
scheme. Flux calculations are computed with Roe’s approximate Riemann solver [41] and
monotonicity is preserved using the slope limiter of Venkatakrishnan [47]. The structured grid
is composed of 40,000 quadrilateral elements. As expected, the results computed on the on
the structured mesh are more symmetric, and somewhat better resolved compared with the
solution on the unstructured mesh. The improvements that the structured case show compared
to the unstructured case can be attributed to the regularity of the structured grid.
5.3.2 Unsteady Cylindrical Expansion
The next case considered is a two-dimensional cylindrically symmetric expansion, taken from
Van Leer [79]. The expansion occurs as a homentropic process, and therefore entropy is uniform
and constant throughout the calculation. The initial values represent a purely radial expansion
extending from r=12 to r=3
2 . The radial velocity is given by
ur =
0 r ≤ 1
2 ,
1γ (1 + tanh r−1
0.25−(r−1)2) 1
2 < r < 32 ,
2γ r ≥ 3
2 ,
(5.12)
with other flow quantities obtained using the following,
ur +2
γ − 1a =
2γ − 1
, (5.13)
ρ = γa2
γ−1 , (5.14)
Chapter 5. Numerical Results 74
p =ρa2
γ, (5.15)
where
r =√x2 + y2 , (5.16)
and
θ = arctany
x. (5.17)
The comparison between the density for the first-order reconstruction and the fourth-order
reconstruction are shown in Figure 5.10. These solutions are shown at a time of T = 0.5 s.
Both have been computed on unstructured meshes with 12546 triangular elements and 6422
nodes. It is not difficult to see that the solutions with the high-order reconstruction procedure
and time marching scheme have a more symmetric appearance, and much smoother transitions
as the wave is expanding outwards over the solution domain.
In each case, several different meshes were used to provide the convergence study that is shown
for the L1 error norms of Figure 5.11. The third- and fourth-order reconstruction provides
much smaller errors, and also have a steeper slope indicating that the order of accuracy which
is being achieved is greater than in the case of the first-order computation.
The order of accuracy which are being computed using the last three points on each slope are
given in Table 5.4. As expected both the first- and third- orders of accuracy are being achieved
throughout this convergence study. The fourth-order case is not quite achieving fourth-order
accuracy, however, it is obtaining a greater order of accuracy, and less error than the third-order
case. The regime for the asymptotic convergence has possibly not been yet achieved on the
finest mesh considered here.
Slopes
k |E|1
0 -1.061
2 -3.091
3 -3.446
Table 5.4: Orders of accuracy for the Cylindrical Expansion.
Chapter 5. Numerical Results 75
5.3.3 Steady Supersonic Flow Over a Bump
The final case considered within this work has been a boundary driven problem of a compressible
inviscid flow over a bump. The west side of the domain is given by inlet boundary conditions
given by
ρ = 1.225 kg/m3 ,
u = 1361.18 m/s ,
v = 0 m/s ,
p = 101.325 kPa .
(5.18)
For these inlet conditions, the free stream Mach number is four. The east side of the domain
is prescribed as a constant extrapolation outlet condition, while the north and south boundary
conditions are reflecting walls.
The results are shown n Figure 5.12. The figure shows a comparison of the first-order solutions
with the fourth-order solutions for density, pressure, and mach number. The meshes used for
both cases are identical consisting of 10986 triangular elements and 5652 nodes.
It can easily be seen that the results in the high-order case show much smoother transitions
between the various states in the problems. This can be attributed to less effects of the mesh,
as the solution in each cell is represented by piecewise smooth functions, as opposed to a
piecewise constant representation. Therefore, the high-order solution does not exhibit the same
degradation in solution content due to mesh effects.
An error analysis has not been conducted for this case as the current high-order solver does not
include the functionality to correctly treat the presence of curved boundaries, and therefore the
desired orders of accuracy will not be achieved. However, the solution content of the high-order
reconstruction still shows a qualitative improvement compared to the first-order reconstruction
and the capability to handle curved boundaries remains an area of future research.
Chapter 5. Numerical Results 76
(a) First-order density. (b) Fourth-order density.
(c) First-order pressure. (d) Fourth-order pressure.
(e) First-order mach number. (f) Fourth-order mach number.
Figure 5.7: Unsteady Shock Box
Chapter 5. Numerical Results 77
(a) Fourth-order density. (b) Smoothness Indicator for density.
Figure 5.8: Demonstration of the Smoothness Indicator.
Figure 5.9: Density variation on a structured mesh.
Chapter 5. Numerical Results 78
(a) Fourth-order density in 3D.
(b) First-order calculation of density. (c) Fourth-order calculation of density.
Figure 5.10: Unsteady Cylindrical Expansion
Chapter 5. Numerical Results 79
Figure 5.11: L1 Error for the Cylindrical Expansion
Chapter 5. Numerical Results 80
(a) First-order calculation of density. (b) Fourth-order calculation of density.
(c) First-order calculation of pressure. (d) Fourth-order calculation of pressure.
(e) First-order calculation of mach number. (f) Fourth-order calculation of mach number.
Figure 5.12: Flow over a bump.
Chapter 6
Conclusions and Future Research
High-fidelity advanced numerical solution methods are today used extensively in engineering
design in a wide range of fields, including aerospace, automotive, energy, medical, and others.
Using such CFD tools, computer simulations can be conducted prior to building and testing
prototypes, reducing cost and development time. However, high-order methods have not yet be-
come widespread use by designers due to issues including solution monotonicity, computational
cost, robustness and simplicity of available high-order solution techniques. This research has
attempted to address these concerns by further developing a high-order finite-volume scheme
to compute solutions on two-dimensional unstructured meshes, in a manner that does not com-
promise solution monotonicity, while avoiding the complications of other high-order methods.
This development is a step in the direction of a solution method that could compute high-order
accurate solutions to physically complex phenomenon such as combustion, through the geome-
tries typically found in engineering applications. This future research could lead to improved
combustor designs capable of meeting power generation requirements while responding to in-
creasing environmental concerns and regulations. The overall outcome will assist in achieving
sustained improvements in society, quality of life, and the environment.
6.1 Conclusions
A high-order CENO finite-volume algorithm has been extended for the solution of the Eu-
ler equations governing compressible, inviscid, gaseous flows on two-dimensional unstructured
meshes. The scheme is based on a Godunov type finite-volume method and the CENO recon-
struction method of Ivan and Groth [12, 17, 18, 19]. The development began by first imple-
menting a two-dimensional solver using meshes created using Gmsh [53] as has been described
81
Chapter 6. Conclusions and Future Research 82
in Chapter 3. The solver was initially first-order accurate in both spatial and temporal dis-
cretizations. This was then extended to second-order accuracy by implementing a least-squares
limited piecewise linear reconstruction and a second-order time marching scheme. The spatial
reconstruction was then improved to third- and fourth-order accurate using the hybrid recon-
struction CENO method, and a fourth-order Runge-Kutta time marching scheme. The solver
is also capable of calculating solutions on multi-block meshes which have been partitioned using
PMETIS [58].
The CENO reconstruction procedure and the proposed high-order finite-volume method have
been thoroughly validated. Initial validation was provided through the high-order reconstruc-
tion of several functions. Third- and fourth-order accuracy was achieved and demonstrated
through the error analysis of the solutions. Additionally, the smoothness indicator was shown
to perform as anticipated, lowering the order of accuracy of the scheme near areas of disconti-
nuities and/or under-resolved solution content in order to maintain monotonicity.
Further validation was shown with solutions to the Euler equations. Three cases were inves-
tigated including an unsteady shock-box problem, an unsteady cylindrical expansion, and a
steady supersonic flow over a bump. The shock box case showed more accurate results with
the high-order solutions and the smoothness indicator worked as expected. The cylindrical
expansion cases proved that high-order solutions were achieved when computing the solution
to smooth inviscid compressible fluids. Finally, the solution to the bump case was shown to
produce improved results when using the CENO method.
6.2 Future Research
This thesis research represents the first steps in the development and application of the CENO
high-order finite-volume method to predictions of flow problems on multi-block unstructured
meshes. High-order accuracy has been achieved to the solution of test cases proving the effi-
ciency of the solver. However, there is still much work that can be done in order to apply this
method to real-world engineering problems.
First, the multi-block solver should be improved to be applied with a parallel implementation
on multiple processors to speed up computations. Additionally, the high-order reconstruction
should be extended to include the integrations, and flux computations over curved boundaries
as are often typically of engineering designs.
Following this, the unstructured high-order method as has been described in this thesis should
Chapter 6. Conclusions and Future Research 83
be extended to the solution of the Navier-Stokes equations, including turbulent effects as are
often encountered in most engineering applications of interest. Additionally, the application to
reacting flows should be included. These flows have a wide variation in spatial and temporal
scales, and show promise for improved solution content through the use of high-order solvers.
Finally, research should be carried out to combine the structured and unstructured CENO
schemes for application to hybrid meshes. These types of meshes may be extremely useful for
combining the improved solution content of structured meshes in the vicinity of solid bound-
aries with the ease of mesh generation in unstructured meshes elsewhere. The unstructured
solver should also be extended to three dimensions for handling complex geometries typical in
engineering applications, such as combustors.
While there is still much to be done, this study has been an effective proof of concept that the
CENO reconstruction method is applicable to high-order finite-volume schemes on unstructured
meshes. The use of unstructured meshes removes much work from the very user intensive
process of structured mesh generation, as unstructured meshes can be computed with efficient
algorithms as described in this thesis. Unstructured mesh solution methods have already been
shown to be extremely beneficial to the overall engineering design process. They have the
potential to reduce both development time and costs, while achieving improved designs.
References
[1] P. D. Lax. Hyperbolic Systems of Conservation Laws and the Mathematical Theory of Shock
Waves, volume 11 of CMBS–NSF Regional Conference Series in Applied Mathematics.
SIAM, Philadelphia, 1973.
[2] C. Hirsch. Numerical Computation of Internal and External Flows, Volume 1, Fundamen-
tals of Numerical Discretization. John Wiley & Sons, Toronto, 1989.
[3] C. Hirsch. Numerical Computation of Internal and External Flows, Volume 2, Computa-
tional Methods for Inviscid and Viscous Flows. John Wiley & Sons, Toronto, 1990.
[4] R. J. LeVeque. Numerical Methods for Conservation Laws. Birkhauser Verlag, Boston,
1992.
[5] H. Lomax, T. H. Pulliam, and D. W. Zingg. Fundamentals of Computational Fluid Dy-
namics. Springer, Berlin, 2003.
[6] P. Moin and K. Mahesh. Direct numerical simulation: a tool in turbulence research. Annu.
Rev. Fluid Mech., 30:539–578, 1998.
[7] H. H. Hu, N. A. Patankar, and M. Y. Zhu. Direct numerical simulations of fluid-solid
systems using the Arbitrary Lagrangian-Eulerian technique. Journal of Computational
Physics, 169:427–462, 2001.
[8] S. L. Rani and S. P. Vanka. Direct numerical simulation of two-way coupling effects in a
particle-laden turbulent pipe flow. Paper 00–3570, AIAA, July 2000.
[9] T.S. Lund. On the use of discrete filters for large eddy simulation. In Annual Research
Briefs, pages 83–95. Center for Turbulence Research, 1997.
[10] O. V. Vasilyev, T. S. Lund, and P. Moin. A general class of commutative filters for les in
complex geometries. Journal of Computational Physics, 146:82–104, 1998.
84
References 85
[11] H. Pitsch. Large-eddy simulation of turbulent combustion. Annual Review of Fluid Me-
chanics, 38:453–482, 2006.
[12] L. Ivan and C. P. T. Groth. High-order finite-volume scheme with adaptive mesh re-
finement. In Proceedings of the 54th Annual Conference Aerodynamics Symposium of the
Canadian Aeronautics and Space Institute, Toronto, Canada, April 24–26, 2007. CASI, to
be published, 2007.
[13] A. Harten, B. Enquist, S. Osher, and S. R. Chakravarthy. Uniformly high order accurate
essentially non-oscillatory schemes, iii. Journal of Computational Physics, 71:231–303,
1987.
[14] G.-S. Jiang and C.-W. Shu. Efficient implementation of weighted ENO schemes. Journal
of Computational Physics, 126:202–228, 1996.
[15] O. Friedrich. Weighted essentially non-oscillatory schemes for the interpolation of mean
values on unstructured grids. Journal of Computational Physics, 144:194–212, 1998.
[16] C. Hu and C.-W. Shu. Weighted essentially non-oscillatory schemes on triangular meshes.
Journal of Computational Physics, 150:97–127, 1999.
[17] L. Ivan and C. P. T. Groth. High-order central CENO finite-volume scheme with adaptive
mesh refinement. Paper 07–4323, AIAA, June 2007.
[18] L. Ivan and C. P. T. Groth. High-order central eno finite-volume scheme with adaptive
mesh refinement for the advection-diffusion equation. submitted for presentation at the
Fifth International Conference on Computational Fluid Dynamics, Seoul, Korea, July 7–11,
2008, July 2008.
[19] L. Ivan and C. P. T. Groth. High-order central eno finite-volume scheme with adaptive
mesh refinement for the advection-diffusion equation. Paper, 2008.
[20] T. A. Oliver, K. J. Fidkowski, and D. L. Darmofal. Multigrid solution for high-order discon-
tinuous galerkin discretizations of the compressible navier-stokes equations. In Proceedings
of the Third International Conference on Computational Fluid Dynamics, ICCFD3, 2004.
[21] D. W. Zingg. A review of high-order and optimized finite-difference methods for simulating
linear wave phenomena. Paper 97-2088, AIAA, June 1997.
[22] S. C. Dias and D. W. Zingg. A high-order parallel newton-krylov flow solver for the euler
equations. Paper 2009-3657, AIAA, 2009.
References 86
[23] C. F. Ollivier-Gooch. High-order ENO schemes for unstructured meshes based on least-
squares reconstruction. Paper 97-0540, AIAA, January 1997.
[24] C.-W. Shu, G. Erlebacher, et al. High-order ENO schemes applied to two- and three-
dimensional compressible flow. ICASE Report 91-38, Institute for Computer Application
in Science and Engineering, 1991.
[25] R. Abgrall. On essentially non-oscillatory schemes on unstructured meshes: Analysis and
implementation. Journal of Computational Physics, 114:45–58, 1994.
[26] C. F. Ollivier-Gooch. Quasi-ENO schemes for unstructured meshes based on unlimited
data-dependent least-squares reconstruction. Journal of Computational Physics, 133:6–17,
1997.
[27] A. Haselbacher. A WENO reconstruction algorithm for unstructed grids based on explicit
stencil construction. Paper 2005-0879, AIAA, January 2005.
[28] T. Sonar. On the construction of essentially non-oscillatory finite volume approximations
to hyperbolic conservation laws on general triangulations: polynomial recovery, accuracy
and stencil selection. Computer Methods in Applied Mechanics and Engineering, pages
140–157, 1997.
[29] D. Stanescu and W.G. Habashi. Essentially nonoscillatory Euler solutions on unstructured
meshes using extrapolation. AIAA Journal, 36:1413–1416, 1998.
[30] L. Ivan. Development of High-Order CENO Finite-Volume Schemes with Block-Based
Adaptive Mesh Refinement. PhD thesis, University of Toronto, October 2010.
[31] T. J. Barth. Recent developments in high order k-exact reconstruction on unstructured
meshes. Paper 93-0668, AIAA, January 1993.
[32] R. Rashad. Development of a high-order finite-volume method for the navier-stokes equa-
tions in three dimensions. Master’s thesis, University of Toronto, 2009.
[33] T. J. Barth. Aspects of unstructured grids and finite-volume solvers for the euler and
navier-stokes equations. In Lecture Notes Presented at the VKI Lecture Series., 1995.
[34] A. Jameson and D. Mavriplis. Finite volume solution of the two-dimensional Euler equa-
tions on a regular triangular mesh. AIAA Journal, 24:611–618, 1986.
[35] B. Perthame and C.-W. Shu. On positive preserving finite volume schemes for compressible
Euler equations. Numerical Mathematics, 73:119–130, 1996.
References 87
[36] B. Einfeldt. On Godunov-type methods for gas dynamics. SIAM Journal on Numerical
Analysis, 25:294–318, 1988.
[37] H. Schlichting. Boundary-Layer Theory. McGraw-Hill, Toronto, 7th edition, 1979.
[38] Richard E. Sonntag, Claus Borgnakke, and Gordon J. Van Wylen. Fundamentals of Ther-
modynamics. John Wiley & Sons, Inc., 2003.
[39] J. H. Ferziger and M. Peric. Computational Methods for Fluid Dynamics. Springer, Berlin,
2002.
[40] T. J. Barth and P. O. Fredrickson. Higher order solution of the Euler equations on un-
structured grids using quadratic reconstruction. Paper 90-0013, AIAA, January 1990.
[41] P. L. Roe. Approximate Riemann solvers, parameter vectors, and difference schemes.
Journal of Computational Physics, 43:357–372, 1981.
[42] J. J. Gottlieb and C. P. T. Groth. Assessment of Riemann solvers for unsteady one-
dimensional inviscid flows of perfect gases. Journal of Computational Physics, 78:437–458,
1988.
[43] T. Linde. A practical, general-purpose, two-state HLL Riemann solver for hyperbolic
conservation laws. International Journal for Numerical Methods in Fluids, 40:391–402,
2002.
[44] S. L. Brown. Approximate Riemann Solvers for Moment Models of Dilute Gases. PhD
thesis, University of Michigan, 1996.
[45] C. P. T. Groth and J. J. Gottlieb. On the actual numerical convergence rate of the random-
choice method for hyperbolic conservation laws. 1993.
[46] S. K. Godunov. Finite-difference method for numerical computations of discontinuous
solutions of the equations of fluid dynamics. Matematicheskii Sbornik, 47:271–306, 1959.
[47] V. Venkatakrishnan. On the accuracy of limiters and convergence to steady state solutions.
Paper 93-0880, AIAA, January 1993.
[48] M. J. Berger, M.J. Aftosmis, and S.M Murman. Analysis of slope limiters on irregular
grids. Paper 2005-0490, AIAA, January 2005.
[49] G.D. Van Albada, B. Van Leer, and W. W. Roberts. A comparative study of computational
methods in cosmic gas dynamics. Astron. Astrophysics, 108:76, 1982.
References 88
[50] Dennis G. Zill and Michael R. Cullen. Advanced Engineering Mathematics. Jones and
Bartlett Publishers International, 2000.
[51] N. P. Weatherill. Lecture series. VKI.
[52] S. Rebay. Efficient unstructured mesh generation by means of delaunay triangulation and
bowyer-watson algorithm. Journal of Computational Physics, 106, 1991.
[53] C. Geuzaine and J.-F. Remacle. Gmsh: a three-dimensional finite element mesh genera-
tor with built-in pre- and post-processign facilities. International Journal for Numerical
Methods in Engineering, 79(11), 2009.
[54] R. A. Dwyer. A simple divide-and-conquer algorithm for constructing delaunay triangula-
tions in o(n log log n) expected time. In Proceedings of the second annual symposium on
Computational geometry, 1986.
[55] P. L. George. Tet meshing : construction, optimization and adaption. In Proceedings, 8th
International Meshing Roundtable, South Lake Tahoe, CA, U.S.A., 1999.
[56] A. Bowyer. Comput. J., 24(2), 1981.
[57] D. F. Watson. Comput. J., 24(2), 1981.
[58] G. Karypsis and V. Kumar. Metis - a software package for partitionin unstructured graphs,
partitioning meshes, and computing fill-reducing orderings of sparse matrices. In University
of Minnesota, Department of Computer Science / Army HPC Research Center, 1998.
[59] R. Leland B. Hendrickson. A multilevel algorithm for partitioning graphs. Technical Report
SAND93-1301, Sandia National Laboratories.
[60] M. A. Scott, M. J. Borden, C. V. Verhoosel, T. W. Sederberg, and T. J. R. Hughes. Isoge-
ometric finite-element data structures based on bezier extraction of t-splines. International
Journal for Numerical Methods in Engineering, 00:1–40, 2010.
[61] R. C. Ripley, F.-S. Lien, and M. M. Yovanovich. Adaptive unstructured mesh refinement of
supersonic channel flows. International Journal of Computational Fluid Dynamics, 18:189–
198, 2004.
[62] D. P. Dobkin and M. J. Laszlo. Primitive for the manipulation of three-dimensional sub-
divisions. Algoithmica, 4:3–32, 1989.
[63] A. Harten. On a class of high resolution total-variation-stable finite-difference schemes.
SIAM Journal on Numerical Analysis, 21:1–23, 1984.
References 89
[64] B. van Leer. Towards the ultimate conservative difference scheme. III. Upstream-centered
finite-difference schemes for ideal compressible flow. Journal of Computational Physics,
23:263–275, 1977.
[65] B. van Leer. Towards the ultimate conservative difference scheme. iv. a new approach to
numerical convection. Journal of Computational Physics, 23:276–299, 1977.
[66] P. K. Sweby. High resolution schemes using flux limiters for hyperbolic conservation laws.
SIAM Journal on Numerical Analysis, 21:995–1011, 1984.
[67] A. Harten and S. Osher. Uniformly high order accurate non-oscillatory schemes. i. SIAM
Journal on Numerical Analysis, 24(2), 1987.
[68] T. J. Barth. An unstructured mesh newton solver for compressible fluid flow and its parallel
implementation. Paper 95-0221, AIAA, January 1995.
[69] C.L. Lawson and R.J. Hanson. Solving least squares problems. Prentice-Hall, INC, 1974.
[70] L. Ivan. High-order amr scheme for performing large eddy simulation of premixed turbulent
combustion. Doctoral Examination Committee Report.
[71] G. R. Cowper. Gaussian quadrature formulas for triangles. Technical report, National
Research Council of Canada, April 1972.
[72] P. C. Hammer, O. J. Marlowe, and A. H. Stroud. Numerical integration over simplexes
and cones. Math Tabl. natn. Res. Coun., 10, 1956.
[73] J. Nocedal and S.J. Wright. Numerical Optimization. Springer, New York, NY, 2006.
[74] K. Nicholson. Linear Algebra With Applicaitons. PWS Publishing Company, Boston, 1995.
[75] C. F. Ollivier-Gooch and M. Van Altena. A high-order accurate unstructured mesh finite-
volume scheme for the advection-diffusion equation. Journal of Computational Physics,
181(2):729–752, 2002.
[76] AIAA. Guide for the verification and validation of computational fluid dynamics simula-
tions. Paper G-077-1998, AIAA, 1998.
[77] P. J. Roache. Verification and Validation in Computational Science and Engineering.
Hermosa Publisher, New Mexico, 1998.
[78] D. W. Zingg and M. Yarrow. A method of smooth bivariate interpolation for data given
on a generalized curvilinear grid. SIAM Journal for Scientific and Statistical Computing,
13:687–693, 1992.
References 90
[79] B. van Leer. How accurate is 2-d dg. A.E. 623 Computational Fluid Dynamics II, Winter
2008.