A Cut-cell, Agglomerated-Multigrid Accelerated, Cartesian Mesh Method for Compressible and Incompressible Flow

A Cut-cell, Agglomerated-Multigrid Accelerated, Cartesian Mesh Method for Compressible and Incompressible Flow
University of Pretoria etd – Pattinson, J (2007)
A Cut-cell, Agglomerated-Multigrid
Accelerated, Cartesian Mesh Method for
Compressible and Incompressible Flow
John Pattinson
Department of Mechanical and Aeronatical Engineering
University of Pretoria
Supervised by Prof. A.G. Malan and Prof. J.P. Meyer
A thesis submitted for the degree of
MEng
August 2006
University of Pretoria etd – Pattinson, J (2007)
Acknowledgements
I would like to give recognition and thanks to Professor Arnaud G.
Malan for his guidance and support as my primary supervisor. I would
also like to thank my co-supervisor Prof. J.P. Meyer for his support.
Further thanks must go to Dr. C. P. Crosby, for his foresight in being
the original initiator of the work. Special recognition and thanks
is also due to Angus Brown, Prevani Kistan, John O’Mahony and
Jonathan Fouche at Denel for their interest and support. Finally I
need to thank my mother for sorting out some of my hieroglyphics into
readable text. This work was sponsored by Denel Aerospace Systems
as well as the South African National Research Foundation (Grant
number: 2053287) and THRIP (Grant number: 3257).
i
University of Pretoria etd – Pattinson, J (2007)
Abstract
This work details a multigrid-accelerated cut-cell Cartesian mesh
methodology for the solution of a single partial differential equation
set that describes incompressible as well as compressible flow. The
latter includes sub-, trans- and supersonic flows. Cut-cell technology
is developed which furnishes body-fitted meshes with an overlapping
Cartesian mesh as starting point, and in a manner which is insensitive
to surface definition inconsistencies. An edge-based vertex-centred finite volume method is employed for the purpose of spatial discretisation. Further, an alternative dual-mesh construction strategy is
developed and the standard discretisation scheme suitably enhanced.
Incompressibility is dealt with via a locally preconditioned artificial
compressibility algorithm, and stabilisation is in all cases achieved
with scalar-valued artificial dissipation. In transonic flows, shocks are
captured via pressure switch-activated upwinding. The solution process is accelerated by the use of a full approximation scheme (FAS)
multigrid method where coarse meshes are generated automatically
via a volume agglomeration methodology. The developed modelling
technology is validated by application to the solution of a number
of benchmark problems. The standard discretisation as well as the
alternative method are found to be equivalent in terms of both accuracy and computational cost. Finally, the multigrid implementation
is shown to achieve decreases in CPU time of between a factor two to
one order of magnitude. In the context of cut-cell Cartesian meshes,
the above work has resulted in the following novel contributions: the
development of an alternative vertex-centred discretisation method;
the use of volume agglomerated multigrid solution technology and the
use of a single equation set for both incompressible and compressible
flows.
ii
University of Pretoria etd – Pattinson, J (2007)
Contents
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
i
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ii
vi
Nomenclature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
1 Introduction
1.1 Background and Project Motivation . . . . . . . . . . . . . . . . .
1
1
1.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Publication List . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.1 Journal Papers . . . . . . . . . . . . . . . . . . . . . . . .
2
4
4
1.3.2
1.3.3
Conference Papers . . . . . . . . . . . . . . . . . . . . . .
Technical Reports . . . . . . . . . . . . . . . . . . . . . . .
4
5
1.4 Purpose of Study . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2 Problem Formulation
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
7
2.2 Governing Equations . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Euler Equations . . . . . . . . . . . . . . . . . . . . . . . .
7
7
2.2.2 Constitutive Equations . . . . . . . . . . . . . . . . . . . .
2.2.3 Boundary Conditions . . . . . . . . . . . . . . . . . . . . .
2.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
11
13
3 Mesh Generation
14
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Cartesian Mesh Generation . . . . . . . . . . . . . . . . . . . . .
14
16
3.3 Redefinition of the Boundary
16
. . . . . . . . . . . . . . . . . . . .
iii
University of Pretoria etd – Pattinson, J (2007)
CONTENTS
3.3.1
3.3.2
Cell Cutting Algorithm . . . . . . . . . . . . . . . . . . . .
Cell Merging Operation . . . . . . . . . . . . . . . . . . .
17
19
3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
4 Spatial Discretisation
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
21
4.2 Finite Volume Discretisation of the Euler Equations . . . . . . . .
4.3 Dual Mesh Construction . . . . . . . . . . . . . . . . . . . . . . .
22
23
4.3.1 Standard Dual Mesh Construction . . . . . . . . . . . . .
4.3.2 Alternative Dual Mesh Construction . . . . . . . . . . . .
4.4 Discretisation of Convective Term . . . . . . . . . . . . . . . . . .
23
28
29
4.5 Stabilisation: Artificial Dissipation . . . . . . . . . . . . . . . . .
4.6 Semi-Discrete Equation . . . . . . . . . . . . . . . . . . . . . . . .
30
33
4.7 Boundary Conditions . . . . . . . . . . . . . . . . . . . . . . . . .
4.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
36
5 Temporal Discretisation and Solution Procedure
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Jacobi Iterative Scheme . . . . . . . . . . . . . . . . . . . . . . .
5.3 FAS Multigrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.1
5.3.2
37
37
39
40
Mesh Agglomeration Procedure . . . . . . . . . . . . . . .
Implemented Agglomeration Strategy . . . . . . . . . . . .
41
42
5.4 Formulation of FAS Multigrid . . . . . . . . . . . . . . . . . . . .
5.4.1 The V-cycle . . . . . . . . . . . . . . . . . . . . . . . . . .
46
48
5.4.2
5.4.3
Restriction Operator . . . . . . . . . . . . . . . . . . . . .
Prolongation Operator . . . . . . . . . . . . . . . . . . . .
49
49
5.4.4 Stabilisation . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
51
6 Results
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
52
6.2 Incompressible Flow: Cylinder in cross flow . . . . . . . . . . . . .
6.3 Incompressible Flow: Van de Vooren Aerofoil . . . . . . . . . . .
54
58
6.4 Subsonic Compressible flow: NACA0012 . . . . . . . . . . . . . .
60
iv
University of Pretoria etd – Pattinson, J (2007)
CONTENTS
6.5 Transonic Compressible flow: NACA0012 . . . . . . . . . . . . . .
6.6 Supersonic Compressible flow: 10◦ Double Wedge . . . . . . . . .
64
66
6.7 Spatial Convergence of Artificial Dissipation . . . . . . . . . . . .
6.8 Results discussion . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
69
6.9 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
7 Conclusions and Future Work
7.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
72
7.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
A Verification and Validation of Code
A.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2 Convergence Analysis . . . . . . . . . . . . . . . . . . . . . . . . .
75
75
75
B Preprocessor
79
B.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.2 Geometry Interpretation . . . . . . . . . . . . . . . . . . . . . . .
79
80
B.3 Mesh Data Structure Manipulations . . . . . . . . . . . . . . . . .
B.4 Speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
83
C Extrapolation and Interpolation Procedures
85
References
93
v
University of Pretoria etd – Pattinson, J (2007)
List of Figures
3.1 Cartesian meshes used to test preprocessor . . . . . . . . . . . . .
18
3.2 The result of cell-cutting and cell-merging . . . . . . . . . . . . .
19
4.1 Standard and alternative dual-mesh constructions . . . . . . . . .
23
4.2 Schematic of the standard dual-mesh construction methodology in
3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
4.3 Views of a 3D nodal dual-mesh volume . . . . . . . . . . . . . . .
4.4 An example of a skew face . . . . . . . . . . . . . . . . . . . . . .
25
26
4.5 Calculation of artificial dissipation term on the boundary . . . . .
4.6 Selection of points for boundary condition extrapolation . . . . .
33
35
5.1 Direct and indirect neighbours as identified via edge-connectivity.
44
5.2 The implemented course mesh generation strategy . . . . . . . . .
46
6.1 Cylinder incompressible flow test case - standard dual-mesh construction scheme meshes . . . . . . . . . . . . . . . . . . . . . . .
6.2 Cylinder incompressible flow test case - alternative dual-mesh con-
53
struction scheme meshes . . . . . . . . . . . . . . . . . . . . . . .
6.3 Cylinder incompressible test case - solution and convergence plots
54
55
6.4 Pressure contours of cylinder test case . . . . . . . . . . . . . . .
6.5 Van de Vooren test case - standard scheme meshes . . . . . . . . .
6.6 Van de Vooren test case - alternative scheme meshes . . . . . . .
56
57
58
6.7 Van de Vooren test case - solution and convergence plot. . . . . .
6.8 NACA0012 test cases - standard scheme meshes . . . . . . . . . .
59
60
6.9 NACA0012 test cases - alternative scheme meshes . . . . . . . . .
6.10 Compressible subsonic test case - solution and convergence plots .
61
62
vi
University of Pretoria etd – Pattinson, J (2007)
LIST OF FIGURES
6.11 Transonic test case - solution and convergence plot . . . . . . . .
6.12 Pressure contours of the NACA0012 transonic test case . . . . . .
62
63
6.13 Effect of choice of agglomeration strategy . . . . . . . . . . . . . .
6.14 Supersonic test case - standard scheme meshes . . . . . . . . . . .
63
64
6.15 Supersonic test case - alternative scheme meshes . . . . . . . . . .
6.16 Supersonic test case - solution and convergence plots . . . . . . .
65
65
6.17 Effect of boundary conditions on supersonic test case . . . . . . .
6.18 Mach number contours on supersonic test case . . . . . . . . . . .
6.19 Spatial convergence of artificial dissipation terms . . . . . . . . .
67
68
69
B.1 Face discrepancies in element-based data structure . . . . . . . . .
B.2 Performance of the 2D preprocessor . . . . . . . . . . . . . . . . .
82
84
B.3 Performance of the 3D preprocessor . . . . . . . . . . . . . . . . .
84
vii
University of Pretoria etd – Pattinson, J (2007)
Nomenclature
Roman Symbols
A
Coefficient matrix
A
Surface (m2 )
Ap
Artificial compressibility pressure sensor
a
Least squares plane coefficient
ar
Artificial compressibility related parameter
au
Generalised artificial compressibility preconditioning coefficient
B
Boundary edge coefficient
C
Edge coefficient
C
Artificial dissipation approximation coefficient
Cp
Specific heat at constant pressure (J/kgK)
Cv
Specific heat at constant volume (J/kgK)
CF L Courant-Friedrichs-Lewy number
c
Acoustic velocity (m/s)
cτ
Pseudo acoustic velocity
D
Stabilisation term
viii
University of Pretoria etd – Pattinson, J (2007)
NOMENCLATURE
d
Distance between points (m)
E
Total specific energy (J/kg)
e
Error between values approximated on a coarse mesh and those restricted
up from the finer mesh
F
Flux vector
F
Safety factor for GCI calculation
f
Characteristic parameter of solution e.g. lift
fexact Estimate of exact solution at zero grid spacing
G
Riemann invariant
GCI Grid Convergence Index
H
Total specific enthalpy (J/kg)
I
h
is known as
Grid transfer operator. Ih2h is known as restriction and I2h
prolongation. Grid transfer occurs from subscript to superscript.
L
Characteristic / non-dimensional length (m)
M
Number of points used in a least squares approximation of a plane
m
Equation order
n
Unit normal vector
P
Function value at a point
P
Pressure switch
p
Order of convergence
p
Pressure (P a)
Q
Conservative variables vector
ix
University of Pretoria etd – Pattinson, J (2007)
NOMENCLATURE
RHS Right hand side of algebraic equation
R
Gas constant (J/kgK). Taken as 287 J/KgK for air
r
Grid refinement ratio
r
Ratio of the distance from node 0 on an edge to the intersection of the
edge with its edge coefficient over the total length of the edge.
rasym Asymptotic convergence ratio
T
Temperature (K)
t
Time (s)
U∞
Free stream velocity (m/s)
u
The solution on a coarse mesh as restricted from the finer mesh
u
Velocity (m/s)
V
Computational volume (m3 )
V
V-cycle operator
v
Approximate solution to problem
v1
Number of relaxation sweeps on the downward traverse of the V-cycle
v2
Number of relaxation sweeps on the upward traverse of the V-cycle
W
Density dependant conservative variables vector
x∗
Centroid coordinate (m)
x
Position coordinates (m)
Greek Symbols
α
Runge-Kutta weighting coefficient
η
Compressible / incompressible switch
x
University of Pretoria etd – Pattinson, J (2007)
NOMENCLATURE
ε2
Empirical constant used in shock capturing dissipation formulation
ε4
Empirical constant used in JST dissipation formulation
ε cτ
Minimum pseudo acoustic velocity
γ
Ratio of a specific heats,
Λ
Dissipation scaling factor
φ
Exact solution to problem on the finest mesh
ρ
Density (kg/m3 )
τ
Multigrid coarse grid correction or source term
Υ
Refers to an edge. Υmn refers to the edge connecting nodes m and n
∆χ
Local measure of element / cell size (m)
Cp
.
Cv
Taken as 1.4 for air
Superscripts
B
Boundary entity
h
Mesh spacing. 2h would refer to double mesh spacing or one level of
coarsening from h.
JST Jameson, Schmidt & Turkel [1] dissipation term
sc
Shock capturing term
tet
Tetrahedron
∗
Dimensional quantity
Subscripts
b
Boundary entity
e
Extrapolated quantity (from the interior of the domain)
∞
Subscript denotes free-stream value
xi
University of Pretoria etd – Pattinson, J (2007)
NOMENCLATURE
i
subscript index
j
subscript index
m
Node index
n
Node index
Mathematical Operators
δij
Kronecker delta function: unity if i = j and zero if i 6= j
|•|
Euclidean norm of | • | (absolute value in case of scalar)
∇
Gradient operator
ƥ
Increment in •
Notes on Notation
In this thesis, both vector and index notation are used. Vectors and matrices are
printed in bold. Where index notation is used, component subscripts appear as
subscripts typically denoted by i, j and k. Einstein’s summation convention is
implied in the case of index notation.
xii
University of Pretoria etd – Pattinson, J (2007)
Chapter 1
Introduction
1.1
Background and Project Motivation
Computational fluid dynamics (CFD) is a growing field which is focused on obtaining approximate solutions, via numerical means, to a set of equations that
describe the motion of a fluid on a macroscopic or continuum level. The aforementioned numerical solution strategy has become essential for engineering related
flow systems where analytical methods are not at present adequate. The use of
these numerical techniques is impractical without the aid of a computer and as
a result, it was only in the 1970’s that CFD came into its own as a field. Since
then, with the massive advances in computer technology and advances in solution algorithms, CFD has become an important tool in the design of vehicles,
buildings and other structures and devices that interact in some way with a fluid.
At this time however, the accuracy of solutions to problems with complex flows
is not, as a general rule, of sufficient quality to accurately quantify all flow features found in a field such as aeronautics. It does however hold great promise to
describe the pressure field around arbitrary streamlined bodies in regions where
flow break-away or separation is not present. This is of practical value when
screening potential aerodynamic design concepts to obtain estimates of lift and
the positions of certain shocks.
The study group under which this work was completed, was approached by
DENEL Aerospace systems to develop an in-house tool that could replace or
supplement the analytical / empirical codes currently employed for concept phase
1
University of Pretoria etd – Pattinson, J (2007)
1.2 Overview
screening. Typical aerodynamic systems of relevance are geometrically complex
streamlined bodies which range from subsonic unmanned aerial vehicles (UAV’s)
to supersonic missiles. The technology to be developed is a CFD code which is
capable of quantifying physics such as out-of-boundary layer flows as well as body
surface pressure distributions. This is to be done over complex geometries while
being a precursor to more expensive and detailed CFD analyses which include
viscous flow effects.
1.2
Overview
As discussed in the previous section, the aim of this project is to design a CFD
tool that can be used effectively in the concept phase of an aerodynamic design.
The development of this tool starts with the selection of the governing equations.
The equation set that is most accepted to describe the fluid flows under consideration is generally referred to as the Navier-Stokes equations1 . Ideally one
would like to solve these equations directly but this is prohibitively expensive to
do on complex aerodynamic geometries at the current time. The terms in the
Navier-Stokes equations that require the most computational resources are the so
called viscous terms. When these terms are omitted, the so-called Euler equations
result. For globally attached flow at large Reynolds numbers, it has been shown
that the Euler equations predict the out-of-boundary layer flows as well as body
surface pressure distributions with reasonable accuracy [2]. As a consequence,
in this work, these equations will be in essence solved. The classic form of the
equations will be altered such that incompressible and compressible flow may be
modelled with the same equation set. This is the focus of Chapter 2.
Once the governing equations are chosen, it remains to solve them in an efficient and accurate manner. This solution process is the major focus of this work.
There are many ways to solve the Euler equations over complex domains. Most
methods begin by dividing the domain of interest into smaller non-overlapping
volumes and solving for the equations on each volume. The aforementioned process is called mesh generation and is the subject of Chapter 3. In this work
1
Note that this is a misnomer, as the Navier-Stokes equations in reality refer to the momentum equations only.
2
University of Pretoria etd – Pattinson, J (2007)
1.2 Overview
non-conforming cut-cell Cartesian meshes are used as they can be generated with
great efficiency on complex geometries [3]. This is ideal for the concept design
process, particularly where minor inconsistencies exist in CAD geometry surfaces
(known as “dirty” geometries). In the case of the latter, it can take more time
to generate the mesh, via body-fitted type mesh generation techniques, than to
solve the actual flow problem [4].
Once the domain has been decomposed into small non-overlapping volumes,
the Euler equations need to be “discretised” on each. This process involves transforming the analytical equations into weak form and generating approximate algebraic expressions which may be solved numerically. This process is the subject
of Chapter 4. As the solver developed in this work is to be started from scratch,
it was deemed an ideal opportunity to test alternative discretisation and stabilisation options. In this work therefore, the vertex-centred finite-volume technique
is used whereas most investigators use the cell-centred discretisation. The former technique should be competitive with the latter scheme and it has not been
extensively investigated in the context of Cartesian meshes. The vertex-centred
discretisation requires the construction of a so called dual mesh. In this work,
an alternative dual mesh construction is proposed in addition to the standard
method. These algebraic equations are stabilised using the artificial dissipation
scheme of Jameson et al. [1]. This scheme is also at present not popular in the
context of Cartesian meshes.
Following on from the spatial discretisation, the equations produced by the
discretisation process have to be solved. In this work only the steady state solution to the Euler equations is sought. This is achieved through an iterative
solution procedure in which the governing equation transient term is manipulated to render a Jacobi like process. Although this process is superbly memory
efficient, many iterations are required in order to reach a converged solution. For
this reason, in this work, solution acceleration is effected through the use of the
multigrid procedure of Brandt [5] in its nonlinear form vis. Full Approximation
Scheme (FAS) multigrid. This method requires the generation of successive coarse
meshes for which the agglomerated grid coarsening strategy of Lallemand et al.
[6] is employed. The description of the discretisation of the temporal term in
3
University of Pretoria etd – Pattinson, J (2007)
1.3 Publication List
the Euler equations as well as the subsequent acceleration of the solution process
using volume agglomerated multigrid is the subject of Chapter 5.
The developed solver is then evaluated by applying it to a variety of test cases
that encompass the entire flow range of interest, vis. from incompressible subsonic flow right through to compressible supersonic flow. The solutions obtained
are compared to either analytical solutions or published results of others. Grid
convergence studies are performed in all cases to ensure rigorous evaluation, while
the speed-ups obtained through the use of the agglomerated Multigrid method
are documented. The evaluation process is detailed in Chapter 6.
The work done as well as the most important findings are documented in
Chapter 7. Further, recommendations are also made for future work.
1.3
Publication List
The publications forthcoming from the research follow1 :
1.3.1
Journal Papers
• Pattinson, J., Malan, A.G. & Meyer, J.P. (2006). An agglomerated
FAS multigrid accelerated cut-cell non-collocated Cartesian mesh method
for incompressible and compressible flow. South African Journal of Science,
Under review.
• Pattinson, J., Malan, A.G. & Meyer, J.P. (2006). A cut-cell noncollocated Cartesian mesh method for compressible and incompressible flow.
International Journal for Numerical Methods in Engineering, Under review.
1.3.2
Conference Papers
• Malan, A.G., Pattinson, J. & Meyer, J.P. (2005). Modelling incompressible flow on cut-cell Cartesian meshes. 4th International Conference
1
The full text versions of these publications can be found in the CD attached to this thesis.
4
University of Pretoria etd – Pattinson, J (2007)
1.3 Publication List
on Heat Transfer, Fluid Mechanics, and Thermodynamics, HEFAT2005,
Cairo, Egypt.
• Malan, A.G., Pattinson, J. & Meyer, J.P. (2006). An edge-based
methodology for modelling incompressible flow on cut-cell non-collocated
Cartesian meshes. 5th SA Conference on Computational and Applied Mechanics, SACAM06, Cape Town, South Africa.
• Pattinson, J., Malan, A.G. & Meyer, J.P. (2006). An edge-based
methodology for modelling compressible flow on cut-cell non-collocated
Cartesian meshes. 5th SA Conference on Computational and Applied Mechanics, SACAM06, Cape Town, South Africa.
1.3.3
Technical Reports
• Malan, A.G., Pattinson, J. & Meyer, J.P. (2004). Development of a
fast non-conforming Cartesian mesh Euler solver for application to missile
design: Preliminary literature survey: Discretization and solution strategy.
for Denel Aerospace Systems (Pty) Ltd , Report number 0403, 1–18.
• Malan, A.G., Pattinson, J. & Meyer, J.P. (2004). Development
of a fast non-conforming Cartesian mesh Euler solver for application to
missile design: Preliminary report on the discretization: Developed 2-D
mesh-cutting and CFD capabilities. for Denel Aerospace Systems (Pty)
Ltd , Report number 0405, 1–21.
• Pattinson, J., Malan, A.G. & Meyer, J.P. (2005). Development of a
fast non-conforming Cartesian mesh Euler solver for application to missile
design: Multigrid solution acceleration: Developed solver technology. for
Denel Aerospace Systems (Pty) Ltd , Report number 0503, 1–8.
• Pattinson, J., Malan, A.G. & Meyer, J.P. (2005). Development of a
fast non-conforming Cartesian mesh Euler solver for application to missile
design: Multigrid solution acceleration: Mesh agglomeration technology.
for Denel Aerospace Systems (Pty) Ltd , Report number 0504, 1–11.
5
University of Pretoria etd – Pattinson, J (2007)
1.4 Purpose of Study
• Pattinson, J., Malan, A.G. & Meyer, J.P. (2005). Development
of a fast non-conforming Cartesian mesh Euler solver for application to
missile design - Multigrid solution acceleration: Further results. for Denel
Aerospace Systems (Pty) Ltd , Report number 0506, 1–17.
• Pattinson, J., Malan, A.G. & Meyer, J.P. (2006). Development of a
fast non-conforming Cartesian mesh Euler solver for application to missile
design: Developed 3D preprocessor. for Denel Aerospace Systems (Pty)
Ltd , Report number 0602, 1–10.
1.4
Purpose of Study
To summarise, the purpose of this study is to develop a CFD tool that can be
used effectively in the concept phase of an aerodynamic design. To do this a
solver for the compressible and incompressible Euler equations is to be developed
in which alternative methods, not currently in widespread use in the context
of Cartesian meshes, for discretisation and stabilisation are to be investigated.
Further, the solver is to employ an explicit solution method accelerated with nonlinear multigrid and using volume agglomeration to generate the coarse meshes.
6
University of Pretoria etd – Pattinson, J (2007)
Chapter 2
Problem Formulation
2.1
Introduction
The aim of this project is to model, to engineering accuracy, the steady-state
out-of-boundary layer flow patterns and pressures around complex geometries
subject to sub-, trans- and supersonic flow conditions. To do this efficiently,
current researchers [7, 8, 9, 10, 11, 12, 13] employ a subset of the Navier-Stokes
equations: the time-dependent compressible Euler equations1 . The application
of these equations to model both compressible and purely incompressible flow in
a meaningful manner is the subject of this chapter.
2.2
2.2.1
Governing Equations
Euler Equations
The system of partial differential equations that describes the inviscid flow of an
incompressible or compressible fluid, contains relations that enforce the principles
of mass, momentum and energy conservation. The governing system of equations,
with artificial compressibility implemented, may be written for a Cartesian coor1
Note that as per many others, the steady state solution of the Euler equations is obtained
by solving the transient system of governing equations from a given initial condition.
7
University of Pretoria etd – Pattinson, J (2007)
2.2 Governing Equations
dinate system in the following non-dimensional conservative form
∂W ∂Q ∂Fj
=0
+
∂Q ∂t
∂xj
(2.1)
where

ρ


p
ρuj







 ρu u + pδ1j
 u1 
 ρu1 
j
, F =  1 j
, Q = 
W=
 ρu u + pδ
 u 
 ρu 
2j
 2 j
 2 
 2 
η(ρE + p)uj
ηT
ρE






(2.2)
and t is time, ρ is the density; uj the velocity component in direction xj , E is the
specific total energy (as given below), T is temperature, and p is the pressure.
Further, δij refers to the Kronecker delta function while η switches compressible
flow specific terms on and off as:
η=
(
1 for Compressible Flow
0 for Incompressible Flow
(2.3)
In the case of incompressible flow, the above definition results in the isothermal
form of the equations in which the energy equation plays no role. The artificial
compressibility preconditioning matrix ∂W
is defined as
∂Q


∂W 
=

∂Q

1
c2
au u 1
c2
au u 2
c2
E
c2
0 0
0
ρ 0

0 

0 

0 ρ
ρ
2
ρ
2

(2.4)
ρCp
where Cp denotes specific heat at constant pressure and au is the generalised
artificial compressibility preconditioning coefficient. For compressible flow, au is
1 while for incompressible flow au is calculated in its localised form as proposed
by Malan et al. [14] as
au = 2(1 − Ap )
8
(2.5)
University of Pretoria etd – Pattinson, J (2007)
2.2 Governing Equations
where Ap is a pressure sensor. In one dimension where p(x) is the pressure and
xm is a point in space, the latter is defined as
Ap = lim +
x→xm
where
|∇p(xm ) − ∇p(x))|
|∇p(xm )| + |∇p(x))|
∇p(xm ) = lim −
x→xm
(2.6)
p(x) − p(xm )
x − xm
(2.7)
This definition results in au varying from 2 in smooth regions to nearly 0 in
regions with high gradients. The acoustic velocity c is calculated as follows:
c=η
p
γRT + (1 − η)cτ
(2.8)
where γ is the ratio of specific heats and R is the gas constant. Also, cτ is the
pseudo-acoustic velocity as defined by Malan et al. [14]:
cτ =
where |u| =
√
ε cτ
|u|
if |u| ≤ εcτ
if |u| > εcτ
(2.9)
uj uj and εcτ is typically set to 10−5 Vmax with Vmax being the
maximum velocity magnitude in the field. εcτ is defined in this manner to ensure
that the pseudo-acoustic velocities do not go to zero at stagnation points.
In all of the above equations, non-dimensional quantities are related to their
dimensional counterparts (depicted with superscript ∗ ) through the following relations
t=
∗
t∗ U ∞
L∗
ρ=
uj =
ρ∗
ρ∗∞
u∗j
∗
U∞
xj =
p=
x∗j
L∗
p∗
∗2
ρ∗∞ U∞
E=
T =
E∗
∗2
U∞
T∗
∗2 /C
U∞
p
(2.10)
where t, L and T are respectively time, the characteristic length and temperature.
Further, the subscript ∞ denotes free-stream conditions with U∞ being the freestream velocity.
9
University of Pretoria etd – Pattinson, J (2007)
2.2 Governing Equations
2.2.2
Constitutive Equations
For the case of compressible flow, closure to the above formulation is obtained by
assuming the gas to be ideal. The implication is that the following relations hold
p∗ = ρ∗ RT ∗
(2.11)
where R is the gas constant given by R = Cp − Cv where Cv is specific heat at
constant volume. In this project it is assumed that the ratio of specific heats γ
is constant. Thus
γ=
Cp
Cv
(2.12)
which results in
R = Cp
(γ − 1)
γ
(2.13)
The resulting gas law written in terms of non-dimensional variables follows
p γ
T γ−1
(2.14)
T
uj uj
+
γ
2
(2.15)
ρ=
Further, the specific total energy is given by
E=
where the first term on the right-hand-side embodies internal energy. The corresponding non-dimensional expression for total specific enthalpy is
H=
T
p uj uj
+ +
γ
ρ
2
(2.16)
Finally, the dimensional acoustic velocity is given by
p
γRT ∗
(2.17)
p
(γ − 1)T
(2.18)
c∗ =
or in terms of non-dimensional relations
c=
10
University of Pretoria etd – Pattinson, J (2007)
2.2 Governing Equations
where c = c∗ /U∞ . The above description of the physical system is only valid
for media which may be accurately described as a continuous medium, and is as
a result not applicable to rarefied gas (low densities) such as would be the case
at the outer bounds of the atmosphere. It is further assumed that heat transfer
through radiation is negligible and that no chemical reactions take place in the
gas. Finally, gravitational body-forces have been assumed negligible, which is a
reasonable assumption in the case of convection dominated flows [15].
2.2.3
Boundary Conditions
For a unique solution to the Euler equations, appropriate boundary conditions
are to be prescribed. These include the application of artificial boundary conditions to the outer boundary which represents a truncated version of the spatial
domain. In the context of this work, two types of boundaries are encountered
vis. solid walls and far-field boundaries. In the case of the latter, characteristic
type boundary conditions are employed (this is to account for the truncation of
the domain).
The application of boundary conditions on the far-field of a domain depends
on the local Mach number (or pseudo Mach number in the case of incompressible
flow) and whether the flow is leaving or entering the domain. The four cases that
are encountered in this work are as follows: supersonic inlet, supersonic outlet,
incompressible as well as compressible subsonic in- and outlet conditions. At
the supersonic inlet, free stream conditions are prescribed, while at the outflow
all the flow variables are extrapolated from the interior of the domain via the
method described in Section 4.7. At a subsonic inlet, three flow characteristics
must enter the domain and one must leave, while at a subsonic outflow three
characteristics must leave and one must enter the domain. To determine which
characteristics must enter the domain and which must leave, an altered characteristic type analysis based on one-dimensional Riemann invariants [7] is used.
The alteration is required to extend the method’s applicability to incompressible
flow systems. The procedure is outlined next.
Riemann invariants G, based on the free-stream and extrapolated values are
calculated as:
11
University of Pretoria etd – Pattinson, J (2007)
2.2 Governing Equations
2c∞
γ−1
2ce
= ue · n +
γ−1
G∞ = u ∞ · n −
Ge
(2.19)
(2.20)
The subscript e denotes values determined from the extrapolated primitive variables (Section 4.7) and n denotes the boundary outward pointing normal unit
vector. The sonic velocities for both compressible and incompressible flows are
calculated as follows:
p
√
(γ − 1)T∞ + (1 − η) × max ( ar u∞ · u∞ , cτ )
p
= η (γ − 1)Te + (1 − η)c∞
c∞ = η
ce
(2.21)
(2.22)
Note that the above sonic velocities in the incompressible case are calculated as
shown in the interest of consistency with the artificial compressibility solution
method. Further, in this work the artificial compressibility related parameter, ar ,
is set to 1.2. Finally, γ in Equation (2.20) is calculated as
γ = γair η +
c2∞
+ 1 (η − 1)
T∞
(2.23)
where in the case of incompressible flow T∞ = 1.0.
From the above, the sonic velocity at the boundary is now calculated as follows
cb = 0.25η(γ − 1)(Ge − G∞ ) + (1 − η)c∞
(2.24)
and the magnitude of the velocity normal to the boundary is found by
un = 0.5(Ge + G∞ )
(2.25)
Using the normal velocity the velocity at the in- and outflow boundaries are
calculated as:
ub = u∞ + (un − u∞ · n) · n and ub = ue + (un − ue · n) · n
12
(2.26)
University of Pretoria etd – Pattinson, J (2007)
2.3 Conclusion
respectively. The temperature at the in- and outflow boundaries follow from
Tb = T ∞
c2b
c2∞
and Tb = Te
c2b
c2e
(2.27)
respectively. Finally, the pressure at the boundary is determined by applying the
ideal-gas constant-entropy relations at the inflow and outflow conditions respectively:
pb = p ∞
Tb
T∞
γ
γ−1
and pb = pe
Tb
Te
γ
γ−1
(2.28)
The above relations hold for both compressible and incompressible flow systems.
At the surface of the aerodynamic object, a symmetry or slip boundary condition is employed. Here the component of the velocity normal to the boundary
is set to zero i.e.
u·n = 0
(2.29)
while zero gradients in density and specific energy are applied as Neumann type
boundary conditions:
∂ρ
∂E
nj =
nj = 0
∂xj
∂xj
(2.30)
where the nomenclature is as previously defined.
2.3
Conclusion
In this chapter the mathematical description of the physics being modelled is
given. The governing equations are presented in a form appropriate for the solution of fully incompressible as well as fully compressible flows. The latter includes
sub-, trans-, and supersonic systems. Closure to the aforementioned system is
given by the definition of appropriate constitutive relations and boundary conditions.
13
University of Pretoria etd – Pattinson, J (2007)
Chapter 3
Mesh Generation
3.1
Introduction
The finite volume technique used in this work may be used to effectively solve
systems of coupled non-linear partial differential equations over arbitrary spatial
domains. It is however a prerequisite that the spatial domain be decomposed into
a number of discrete non-overlapping regions. This process is commonly known
as mesh-generation. A host of techniques have been devised by which to do this
as summarised by Baker [16].
The requirements for CFD computations during the concept design phase
poses strict limits on the choice of mesh generation technique. It is required that
the overall time taken to generate the mesh be short, while being insensitive to
surface definition inconsistencies and thus facilitate short total analysis times.
The amount of user input in the mesh and geometry generation is the major
factor in determining the speed at which these tasks are performed (which has
been shown can take more time to generate the mesh than model the flow [4]).
It is therefore required above all that the mesh be generated automatically and
with speed around complex geometries with as little user input as possible. At
present, this criterion leaves one with only two realistic choices of mesh generation
strategy:
• Unstructured triangular in 2D or tetrahedral meshes in 3D.
14
University of Pretoria etd – Pattinson, J (2007)
3.1 Introduction
• Cartesian meshes consisting of mainly quadrilaterals in 2D and hexahedra
in 3D.
The unstructured meshes are generated by either the Delaunay triangulation
or the advancing front method. They have been used extensively in solving problems of all types [17, 18, 19, 20]. Indeed most of the solution technologies used in
this work were first conceived for use on this type of mesh. The main hindrance
in generating such meshes is the need for a consistent or “clean” CAD geometry. The latter is essential for surface triangulation, and is often not naturally
available during the initial phase of an aerodynamic design. As automatic tools
to resolve inconsistencies in CAD geometry do not always work effectively, the
desired water-tight geometry is only achieved by direct user intervention. The
latter is a tedious and human resource intensive exercise.
Cartesian meshes do not suffer from the requirement of a consistent CAD
geometry to the same degree as unstructured body-fitted meshes. They can
further be generated with great efficiency on complex geometries. This is demonstrated by Aftosmis et al. [3] who shows that the complexity of the method is
O(N log N ) where N is the number of cells. Cartesian mesh generation is also
known to be highly amenable to automation as has been reported by several
authors [3, 10, 12, 21, 22] but do however have two main drawbacks, viz. the
boundary of a Cartesian mesh is by definition a stair-step one1 , and the cells are
refined as a rule in a two to one ratio. Related to the fixed refinement ratio is the
formation of so called hanging nodes (also referred to as non-conforming nodes).
These drawbacks can have unwanted accuracy implications if not appropriately
dealt with.
The choice between the above two competing mesh generation strategies depends entirely on the intended application. For the solution of the Euler equations, anisotropic meshes are not required and in addition the quality of a Cartesian mesh is theoretically superior to that of a tetrahedral mesh of the same
grid resolution in all areas except at the boundary and where hanging nodes are
present [23]. This superior quality over a large part of the domain significantly
reduces the computational complexity as shown by Aftosmis et al. [3]. Berger
1
Also, and perhaps more commonly known as a Cartesian mesh with embedded geometry.
15
University of Pretoria etd – Pattinson, J (2007)
3.2 Cartesian Mesh Generation
et al. [21] has shown that the higher mesh quality and local regularity can also
improve the cache and parallel performance of the solver if written to take advantage of this feature. A further advantage of Cartesian mesh generation is the
ease with which mesh refinement can be done. Adaptive mesh refinement is not
implemented in this work but has been shown to work on these meshes by Popinet
[24]. In the related area of moving body problems, Cartesian meshes have further
been used with success by Yang et al. [25] and Murman et al. [10]. For these
reasons it was decided that the Cartesian method is the superior option for the
application under consideration.
This chapter will cover aspects related to the generation and preparation of
the mesh in anticipation of the chosen discretisation strategy. The focus will
be on the processes pertaining to furnishing the cut-cell mesh using a stair-step
Cartesian mesh as a starting point.
3.2
Cartesian Mesh Generation
The focus of this work is not on the generation of Cartesian meshes and therefore
commercial packages were used for this purpose. Harpoon [26] was the primary
package employed, although Gambit [27] (from Fluent software) was also used
in the early stages of the work. As both packages are unable to generate 2D
Cartesian meshes, code was written to extracts the latter from a 3D mesh.
Cartesian meshes contain geometric planes that run through the mesh without
intersecting any elements. These planes are made up of faces of 3D elements and
are therefore similar to a 2D Cartesian mesh. It is one of these planes that is used
to create the 2D mesh. Note that the planes only occur naturally throughout the
domain on meshes where no 3D cell cutting has been performed. This is why the
latter feature, which is available in Harpoon, was not used for the 2D cases and
it was opted to develop it. This is detailed next.
3.3
Redefinition of the Boundary
Overlapping stair-step Cartesian meshes are not optimal for computational use
as the accuracy of the solution on the boundary is compromised. They are thus
16
University of Pretoria etd – Pattinson, J (2007)
3.3 Redefinition of the Boundary
altered to obtain a body conforming mesh. Two techniques are available for this.
The technique used by most groups is the so called cut-cell approach (Murman
et al. [11], Yang et al. [12], Aftosmis et al. [28], Coirier & Powell [8] and Ingram
et al. [4]). Here, the cells that intersect the boundary are cut so that their boundary conforms to the local domain boundary. The other technique, as devised by
Koh et al. [29], involves using a least squares mesh-less method to address the
mesh boundary - geometry boundary interface. In this work the cut-cell approach
was selected as the latter technique is not inherently conservative. Both 2- and
3D cases are considered. As noted previously, the mesh generator Harpoon is
capable of furnishing a 3D cut-cell mesh which is why cut-cell technology only
needed to be developed for 2D cases.
3.3.1
Cell Cutting Algorithm
The code developed to effect the cell-cutting requires as input an overlapping
Cartesian mesh together with a representation of the geometry (see Figure 3.1).
Detail on the representation of the geometry and supported geometry file formats
is provided in Appendix B.2. It is desired that this cell-cutting algorithm robustly
and automatically furnish the solver with a mesh that conforms to the geometry
supplied, while maintaining a tolerance to “dirty” geometries.
The cell cutting algorithm commences by visiting all boundary nodes and
checking the attached edges for an intersection with the geometry. If no intersection is found, the checked edges are deleted (as these are located inside the
geometry) and the boundary redefined. If an intersection is found the edge is
marked for cutting. The procedure is then repeated until all edges completely
interior to the geometry have been deleted and all edges that intersect the boundary found (which is the case when at least one edge attached to each boundary
node intersects the boundary). All boundary nodes are then deleted and the
new boundary is defined by creating nodes at edge-geometry intersections and
connecting these nodes with edges.
It is important to note that the above algorithm only works in isolation on
meshes that completely overlap the boundary. The generation of the 2D mesh
from a 3D one sometimes results in meshes where this is not so i.e. containing
17
University of Pretoria etd – Pattinson, J (2007)
3.3 Redefinition of the Boundary
Reversed search
directions
Non-overlapping mesh
Mesh
Boundary
Figure 3.1: Examples of overlapping Cartesian mesh test-cases (with body geometry definition) employed for testing of the developed preprocessor (cell cutting
and merging technology).
“voids”. An example of this can be found in Figure 3.1 (bottom right).
To address this, code has been written to find these voids and fill them with
triangles or quadrilaterals.
The above code has proven to be robust and generic in furnishing bodyconforming meshes. No information on the type of boundary element nor what
type of intersection the element has with the boundary is required. The algorithm
has also proven to be insensitive to “dirty” geometries because, for the redefinition
of an element, the intersections of only two edges with the boundary is all that is
required. The chances that either of these edges penetrate the geometry through
18
University of Pretoria etd – Pattinson, J (2007)
3.3 Redefinition of the Boundary
a geometric inconsistency is small.
Original cut-cell mesh
Merged mesh
Boundary
Overlapping mesh
PSfrag replacements
PSfrag replacements
Figure 3.2: Shown is an example (left) of an overlapping Cartesian mesh generated
with the Harpoon software and (right) the mesh resulting after applying cellcutting (denoted “original cut-cell mesh”) and cell-merging.
3.3.2
Cell Merging Operation
Pure cutting of the edges and filling of voids, as described above, may result
in minuscule elements being created at the boundary. These elements are often
many times smaller than adjacent elements, and can seriously impair the accuracy
and stability of the solution scheme as well as result in long solution times. To
deal with this, offending elements are merged into their neighbours.
Cell-merging commences by performing a loop over all boundary elements.
If an edge attached to a particular element is smaller than the largest edge of
that specific element by more than a certain factor (in this work a factor of 2
was found to yield acceptable results for the cases tested), the edge is collapsed.
Of the two nodes attached to the edge to be collapsed, the node that does not
lie on the boundary is omitted. If both nodes lie on the boundary, then either
is selected for deletion. Finally, a second loop is performed over the boundary
elements and those that contain less than three nodes removed. An example of
the resulting cell-merged mesh is shown together with the original overlapping
mesh in Figure 3.2 (right).
19
University of Pretoria etd – Pattinson, J (2007)
3.4 Conclusion
Note that the above algorithm does not, in most cases, explicitly collapse edges
within the small elements themselves. This is as all the edges in these elements
are often of similar lengths. Small elements are however destroyed from within
their neighbours. This means that the programmer does not have to choose the
neighbouring element in which to merge the small element. The aforementioned
makes for a robust and generic cell-merging operation.
Once again this algorithm does not require any information about the type
of element to be merged or the type of element that borders it. In this, it is
completely generic.
3.4
Conclusion
This chapter was concerned with the chosen mesh generation method viz. cut-cell
non-conforming Cartesian meshes. Technology developed to furnish 2D bodyconforming meshes from 3D ones was documented. In the following chapters the
resulting Cartesian meshes will be employed for the purpose of the discretisation
and solution of the system of governing equations previously detailed.
20
University of Pretoria etd – Pattinson, J (2007)
Chapter 4
Spatial Discretisation
4.1
Introduction
The coupled non-linear partial differential equation set, which describes the flow
under consideration, is not at present solvable via analytical means over complex
domains. Their solution by numerical means is a viable alternative, with the
methods of weighted residuals being well suited. Two popular techniques are the
finite volume methods and the finite element methods. The former is currently
the most popular scheme when solving the Euler equations on unstructured grids.
In particular, the cell centred finite volume method is used almost exclusively in
the context of cut-cell Cartesian meshes [4, 7, 8, 9, 10, 12, 13, 21, 22, 23, 24, 28,
30, 31, 32, 33]. This is attributed in part due to the cell-centred method being
applicable in an unaltered state to non-conforming meshes (i.e. meshes containing
hanging nodes) [23]. The work of French [34] is, to the authors knowledge, the
only previous application of the vertex-centred method to Cartesian grids.
In this work, a vertex-centred edged based finite volume approach is employed,
primarily to evaluate and promote such technology in the context of Cartesian
meshes. This method is expected to be competitive with the cell centred variant
as it offers similar accuracy vs. computational cost [14] while allowing Dirichlet
boundary conditions to be enforced more directly (no extrapolation or ghost cell
generation is required). It also works in an unaltered form at hanging nodes,
but it is expected to reduce to first order accuracy here. For this reason, an
alternative implementation is in addition investigated as part of this research.
21
University of Pretoria etd – Pattinson, J (2007)
4.2 Finite Volume Discretisation of the Euler Equations
The vertex-centred edged based finite volume method constitutes a notionally
second-order accurate (central difference) type method, which is known to exhibit
a tendency for odd-even decoupling of the solution. To suppress this tendency,
stabilisation has to be added. Stabilising such schemes without the loss of second
order accuracy is a major concern in the field of computational fluid dynamics
[35]. This has led to the development of various stabilising methods by researchers
such as Beam & Warming [36], Jameson et al. [1] and MacCormack & Baldwin
[37]. One such class of scheme is termed artificial viscosity or artificial dissipation,
and involves the addition of a biharmonic operator to the system of equations in
the regions devoid of discontinuities. A harmonic operator (first order accurate
upwinding) is to be added in the vicinity of shocks in order to render a stable
non-physical oscillation-free method [35]. Another class of method employed
to suppress non-physical oscillations is the so called upwind schemes (Godunov
type / Riemann solver). In the context of Euler flow on unstructured Cartesian
meshes, these schemes are the most popular [4, 8, 11, 13, 21, 23, 28, 30, 33] and
the artificial dissipation methods do not at present feature. Due to the latter, as
well as to in addition evaluate its applicability to Cartesian meshes, the Jameson,
Schmidt & Turkel [1] variant of artificial dissipation will be employed in this
work.
4.2
Finite Volume Discretisation of the Euler
Equations
The governing equations presented in Chapter 2 (Equation (2.1)) may be written
in non-dimensional integral form, on a three-dimensional Cartesian domain, by
integration over an arbitrary volume V ∈ R3 enclosed by bounding surface A as:
Z
V
∂W ∂Q
dV +
∂Q ∂t
Z
Fj nj dA = 0
(4.1)
A
The cell-centred and the vertex-centred finite-volume methods differ in the
manner in which the finite volume is constructed on a mesh. In the case of the
former, the cells generated during mesh generation constitute the finite volumes,
in each of which a node is placed at its geometric centre. The vertex-centred
22
University of Pretoria etd – Pattinson, J (2007)
4.3 Dual Mesh Construction
method differs in that computational nodes are placed at the vertexes, around
which finite volumes are then constructed in order to furnish the so-called dual
PSfrag replacementsmesh.
PSfrag replacements
Amn
Amn
o n
Amn1
Υ
mn
Amn
2
m
Amp Amp
B
Vm
p
ApmB
o
n
Υmn
Amn2 Amn1
m
Amp A
mp
B
p
ApmB
Vm
Figure 4.1: Schematic of the standard median-dual-mesh construction methodology (left) and the alternative scheme (right). Solid lines represent the computational edges and filled circles depict the nodes. The hatched region denotes the
finite volumes Vm (red) and Vo (blue). Note that both dual-mesh constructions
are derived from exactly the same mesh.
4.3
Dual Mesh Construction
As noted earlier, dual mesh construction is the process that produces the computational volumes employed by the vertex-centred scheme. In this work both the
standard dual mesh construction of Vahdati et al. [38] as well as a new alternative
method will be employed. The following sections describe each in detail.
4.3.1
Standard Dual Mesh Construction
This procedure will be discussed with reference to Figures 4.1 (left) and Figure 4.2.
In 2D, dual-mesh bounding surface facets (lines) are constructed by connecting
23
PSfrag replacements
University of Pretoria etd – Pattinson, J (2007)
4.3 Dual Mesh Construction
p
Amn2
o
Υmp
V
A A 2
t
mpB
rs1
st2
st1
1
Υst
3
A
m
u
s
2
AmpB
r
4
q
5
Vm
Figure 4.2: Schematic of the standard dual-mesh construction methodology in
3D. Black lines denote the inactive edges, while thick red lines are the active
edges. The hatched regions are dual volume bounding surface facets.
edge centres (stars in Figures 4.1) with element centroids (open circles). These
facets are then joined to form an enclosed volume around a node (filled circles) as
shown schematically for a node o in the figure. The dual-mesh is constructed in
3D, by the definition of finite volume bounding facets formed by connecting edge
centres (stars) with face-centroids (open circles) and element centroids (triangles
in Figure 4.2). Two of the resulting facets for an edge s-t are shown in the figure
as the blue hatched surfaces. Further, the completed 3D volume around node s
is shown from various perspectives in Figure 4.3.
The above construction made use of surface and volume centroids. It is clear
from the respective figures that these calculations are to be made on arbitrarily
24
1
University of Pretoria etd – Pattinson, J (2007)
4.3 Dual Mesh Construction
Figure 4.3: Two different views of the constructed dual-mesh volume for the
node indicated by the black circle. The figures on the left do not show any
hidden detail.
shaped elements and faces. These calculations are now discussed. A face centroid
(in 3D) or an element centroid (2D) refers the area weighted centroid of a 2D
element or a 3D element face. In order to ensure generic applicability, these are
calculated by a two step process. First an estimate of the centroid is obtained by
performing the vector average of all the nodal coordinates xi on the face as:
PN
xi
∗
xest = i=1
(4.2)
N
where N is the number face vertexes. By connecting all face vertexes to x∗est ,
a series of non-overlapping triangles are formed. The centroid of the face is
then calculated by performing the area weighted average of the centroids of these
25
University of Pretoria etd – Pattinson, J (2007)
4.3 Dual Mesh Construction
triangles as:
∗
PN
x = Pi=1
N
x∗i Ai
i=1
(4.3)
Ai
Here x∗ is the centroid of the face and x∗i denotes the centroid of triangle Ai . The
latter is calculated simply by the averaged vector sum of the triangles coordinates
(which gives the exact centroid).
The above centroid calculation is valid for all convex faces and slightly concave
ones. It is invalid however, if all the nodes of the face do not lie in a plane. These
so-called “skew” faces are encountered in the 3D case as depicted in Figure 4.4. It
was found that all such skew faces, generated by Harpoon, contain a maximum of
four nodes while the “skewness” is limited to 40 degrees (user setting in Harpoon).
The centroid of this face is therefore approximated by the mid-point of the line
joining either of the opposing corners. To maintain the conservative nature of the
discretisation scheme, the same set of opposite corners used to find the centroid
must be used for this face whenever it is visited. Note that it is expected that
skew faces containing exactly four nodes is not likely to be universal to Cartesian
meshes, rather it is thought to be a product of the mesh generator and settings
used in this work.
Approx. x∗
Approx. x∗
PSfrag replacements
Side view
Vm
Figure 4.4: An example of a skew face. The two possible positions of the approximate centroid are indicated.
The calculation of element centroid in 3D (the volume centroid of an arbitrary
3D element), again involves a two step process. Firstly, an estimate of the centroid
of the element is obtained by the sum of the nodal coordinates. The element is
26
University of Pretoria etd – Pattinson, J (2007)
4.3 Dual Mesh Construction
then divided into tetrahedra by triangulating each face of the element and joining
the resulting vertexes to the aforementioned centroid (two such tetrahedra are
shown in Figure 4.2).
The actual element centroid is then calculated as the volume weighted average
of the centroids of the tetrahedra as:
∗
PN
x = Pi=1
N
x∗i Vtet
i
i=1
(4.4)
Vtet
i
where xi is the centroid of the tetrahedron i (calculated from the average
vector sum of the vertexes) and Vi is the volume of the latter. This is calculated
as:
Vtet
i
1
x1
1 x21
= 3
6 x1
x4
1
x12
x22
x32
x42
x13
x23
x33
x43
1
1
1
1
(4.5)
where xji refers to the coordinates of each node j in the tetrahedron. Now that
the above geometric entities have been defined the construction of the dual mesh
is continued.
The volume associated with a node m is designated Vm and the bounding
surfaces by Am and AmB . The latter denote internal (dual) and computational
boundary surfaces respectively. To compute fluxes between nodes, the faces that
make up the boundary surface of the control volume have to be expressed mathematically. This is effected in an edge based manner through the definition of so
called edge coefficients. An edge coefficient is defined as the area of the bounding
surface of a computational volume associated with a particular edge multiplied
by the unit normal vector of that face. This is expressed for an edge between
nodes m and n as
Cmn =
X
nmnq Amnq
(4.6)
Amnq ∈Amn
where Amnq refers to a facet of this surface and nmnq is the unit normal vector
to Amnq (in this work the normal vector is chosen to point from the smaller to
the larger node number). For the case shown in Figure 4.1, the edge coefficient
27
University of Pretoria etd – Pattinson, J (2007)
4.3 Dual Mesh Construction
is formed from two surfaces q = 1 and q = 2. For the case shown in Figure 4.2,
the edge coefficient for the edge s-t is formed from four facets of which the two
corresponding to q = 1 and q = 2 are shown.
The calculation on the boundary is similarly performed for an edge m-p:
Bmp =
X
Bq
nmp AmpBq
(4.7)
AmpB q ∈AmpB
where B refers to a boundary edge coefficient and nmn
Bq
is the outward pointing
normal vector to AmnBq . For the 2D case shown in the figure q is not required as
the edge coefficient is made up of only one facet labelled AmpB . For the 3D case
shown in the figure for edge m-p, q = [1, 2] as depicted.
As Cmn = −Cnm , only one internal edge coefficient need be stored per edge.
This is where edge-based schemes are considerably more efficient than element
based methods. With respect to the boundary edge coefficient, two values are
stored at a node to ensure general applicability with regards to the dimension
of the problem (In 3D Bmp 6= Bpm ). The additional storage and computational
cost is negligible as this is only needed for boundary edges.
4.3.2
Alternative Dual Mesh Construction
It is evident from the previous section that, at hanging nodes, the standard
procedure results in dual-mesh volumes with geometric centres which are considerably removed from the node. This has serious accuracy implications. In an
attempt to circumvent this, an alternative scheme was developed wherein nodes
are placed in the centroids of the mesh elements, and the elements then constitute the dual-mesh or finite volumes. This is shown schematically in Figure 4.1
(right). The edges are then constructed between these nodes. The boundary volume is however to be given special treatment. As opposed to previously, a node
is not placed in the centroid of the element, but rather on the boundary. More
specifically, it is placed at the centre of the boundary edge (of the element). This
enables the boundary conditions to be applied as per the standard variant of the
vertex-centred scheme.
28
University of Pretoria etd – Pattinson, J (2007)
4.4 Discretisation of Convective Term
Having defined the dual mesh, edge coefficients are calculated as before.
Equation (4.6) again applies to edge Υmn as does Equation (4.7) to edge Υmp .
As in the standard scheme internal edge coefficients are stored once per edge
as Cmn = −Cnm . This is not possible for the boundary edge coefficients as
AmpB 6= ApmB even in 2D. On this account, two boundary edge coefficients need
to be stored. This however results in no alteration to the above methodology.
Importantly, the furnished dual-mesh fundamentally differs from that of the
standard vertex-centred scheme in that volume bounding surfaces may no longer
be assumed to intersect edges midway between nodes. In order to ensure spatial
accuracy on the new dual-mesh, the standard edge-based vertex-centred discretisation scheme is to be accordingly generalised. This is detailed in Section 4.4.
The scope of this work was limited to the application of this alternative scheme
to 2D only. The method is however not limited to 2D, and is expected to be easily
extensible to 3D.
4.4
Discretisation of Convective Term
To benefit from the edge-based nature of the numerical procedure employed, the
j
convective term ∂F
is discretised as
∂xj
Z
Am
F ij nj dA ≈
X
ij
j
F mn Cmn
+
Υmn ∩Vm
X
j
Fmij Bmn
(4.8)
ΥB
mn ∩Vm
where Υmn denotes the edge connecting nodes m and n, and Fmn is the averaged
flux along the edge. The standard method employed to calculate the latter [14,
38, 39, 40] is
1 ij
(4.9)
Fm + Fnij
2
On a finite difference mesh the above is thought of as formally second-order
accurate, which is however not the case [41]. In the case of the standard dualij
F mn =
mesh construction methodology, this deficiency may be rectified by employing
29
University of Pretoria etd – Pattinson, J (2007)
4.5 Stabilisation: Artificial Dissipation
the following relation:
j
Fmn


ρmn uj mn
ρmn u1mn uj + pmn δ1j 
mn

=
ρmn u2mn uj + pmn δ2j 
mn
η(ρmn E mn + pmn )uj mn
(4.10)
where the over-line quantities are calculated for a scalar field φ as
(φm + φn )
(4.11)
2
with φm and φn denoting the nodal (vertex) values.
It is implicitly implied in Equation (4.11) that the dual mesh bounding surface
at which the flux is being calculated midway between the nodes. In the case of
φmn =
the proposed new dual-mesh construction procedure this is not always the case,
and Equation (4.11) is to be generalised as:
φmn = (1 − rmn )φm + rmn φn
(4.12)
where
qP
N
i
rmn = qP
N
i
(xmi − xAi )2
(xmi − xni
(4.13)
)2
Here xAi denotes the Cartesian co-ordinate i of the spatial position where the
bounding surface of volume Vm , namely Am , intersects edge m − n. Further, δjj
is the Kronecker delta.
To ensure the overall computational efficiency of the numerical scheme, the
above edge-based flux calculation procedure is employed in both forms shown viz.
Equation (4.11) and (4.12). The latter, which is more costly to compute, is only
used in the irregular parts of the cut-cell Cartesian mesh i.e. where rmn 6= 12 .
4.5
Stabilisation: Artificial Dissipation
As noted in the introduction to this chapter, the equations will be stabilised
without the loss of second-order accuracy by using the scalar valued dissipation
30
University of Pretoria etd – Pattinson, J (2007)
4.5 Stabilisation: Artificial Dissipation
(JST) model developed by Jameson et al. [1]. This method, which does not yet
feature in Cartesian mesh solvers, is suited to solving both compressible as well
as incompressible flows via the proposed single equation methodology. Further,
it has proven very effective when applied to complex flows [42] while offering a
balance between accuracy and computational efficiency [43].
As per Sørensen et al. [40], artificial dissipation is implemented in conjunction
with first-order accurate upwinding so as to avoid non-physical spurious oscillations across discontinuities in field variables i.e. across supersonic shocks. The
resulting stabilising term to be added to the right-hand-side of the discretised
governing equation is as follows
JST
Dm = ηDsc
m + Dm
(4.14)
JST
where Dsc
denote the shock-capturing and artificial dissipation terms
m and Dm
respectively. The shock-capturing or upwinding term is detailed first. It may
be calculated at each node via a scaled approximation of a Laplacian operator
similar to Mavriplis [18]:
Dsc
m =
X
Υmn ∩Vm
ε2 Λmn Pmn (Wn − Wm )
(4.15)
where ε2 is an empirical constant, the value of which is to be determined for each
problem through numerical experimentation (the objective is to use the smallest
possible value to stabilise and eliminate spurious oscillations). Further, Λmn is
the edge-based interpolated scaling factor and Pmn is the pressure switch. The
former scaling factor is calculated in an edge-wise manner at each node as
Λm =
X
Υmn ∩Vm
|umn · Cmn | + cmn |Cmn |
(4.16)
where |Cmn | denotes the Euclidean norm of Cmn and c is the non-dimensional
acoustic velocity. In the case of the standard edge-based finite volume method,
all edge-averaged quantities (over-line) are calculated as the average of the two
nodal values. For the new alternative dual-mesh construction strategy with associated proposed edge-based flux averaging procedure, the over-line quantities
31
University of Pretoria etd – Pattinson, J (2007)
4.5 Stabilisation: Artificial Dissipation
are however to be calculated via Equation (4.12). This is in the interest of consistency.
The pressure switch is tasked with sensing large pressure gradients, and scaling the above upwinding term accordingly. It is calculated in a similar way to
Mavriplis [18] for an edge m − n as follows
Pmn = max [|∆pm |, |∆pn |]
where
(4.17)
P
√
(pm − pn )
∆pm = 12 PΥmn ∩Vm
Υmn ∩Vm (pm + pn )
(4.18)
The above term is large across a shock and tends to zero in smooth fields. The
result is that the numerical scheme is reduced to first-order accuracy in the vicinity of shocks while the above upwinding term tends to zero away from shocks. In
these regions the JST stabilisation term is employed to effect stability and ensure
high resolution accuracy (notionally second-order accurate).
The JST stabilising term is constructed on a cut-cell Cartesian grid through
the use of a biharmonic operator as proposed by Mavriplis [18]. This involves
conducting two loops over edges, where the first loop entails the construction of
a harmonic operator. In the interest of computational efficiency, this is approximated for both compressible and incompressible flows as follows:
2
∇ Wm ≈ (1 − η)
X
Υmn ∩Vm
∂W (Q − Qm ) + η
∂Q mn n
X
Υmn ∩Vm
(Wn − Wm ) (4.19)
where summation is performed over all edges connected to node m, and W and
Q denote the dependent variable vectors. The preconditioned relation employed
above for incompressible flow, is due to Malan et al. [14].
The biharmonic operator is constructed by essentially repeating the above
procedure as follows
JST
Dm
=
X
Υmn ∩Vm
−max [0, (ε4 − ηε2 Pmn )] Λmn ∇2 Wn − ∇2 Wm
where ε4 is an empirical constant to be determined similar to ε2 .
32
(4.20)
University of Pretoria etd – Pattinson, J (2007)
4.6 Semi-Discrete Equation
JST
The calculation of Dm
is known to be problematic on a boundary. The procedure used in this work to calculate this term is that proposed by Mavriplis [18].
The contribution from an internal edge mn (see Figure 4.5) in Equation (4.19),
is approximated by replacing wn − wm with wn0 − wm . Here wn0 is the projec-
tion of the value of wn on to the boundary edge. If a normal gradient of zero is
assumed, it can be shown that the contribution from edge mn in Equation (4.19)
is equal to C(wo − wm ), where C is a constant. Note that the assumption of a
zero normal gradient here is consistent with the boundary condition applied at
slip boundaries. The calculation of the biharmonic operator (Equation (4.20)) is
unaffected.
wn
wo
wm
0
wn
Figure 4.5: Calculation of artificial dissipation term on the boundary
4.6
Semi-Discrete Equation
The semi-discrete form of the governing equations (Equation (2.1)), that results
from the vertex-centred discretisation process described above now follows:
33
University of Pretoria etd – Pattinson, J (2007)
4.7 Boundary Conditions
∂W ∂Q
≈
∂Q ∂t
X
ij
j
F mn Cmn
+
+η
Υmn ∩Vm
X
Υmn ∩Vm
j
Fmij Bmn
ΥB
mn ∩Vm
Υmn ∩Vm
X
X
ε2 Λmn Pmn (Wn − Wm ) +
−max [0, (ε4 − ηε2 Pmn )] Λmn ∇2 Wn − ∇2 Wm
(4.21)
where the second and third terms on the right-hand-side are the convective part of
the equations. The last two terms are the stabilisation terms. The discretisation
of the temporal term on the left-hand-side is detailed in the next chapter.
4.7
Boundary Conditions
This section details the numerical implementation of the characteristic boundary
conditions described in Section 2.2.3. These characteristic far-field boundary conditions require that an extrapolation be made from the interior of the domain to
the boundary. Unfortunately this is not as simple as it seems in the case of a supersonic outflow. Here it is necessary that no reflection of downstream boundary
effects is propagated back into the domain. Two methods of extrapolation were
investigated to ensure this viz. the method of linear least squares and the method
of inverse distance weighting of Watson [44] (see Appendix C for a detailed explanation). Both of the aforementioned methods require a minimum of three non
co-linear points in order to get a meaningful approximation. It has been found
that the selection of these points is crucial to ensure minimum reflection.
Figure 4.6 depicts a typical far field boundary on a Cartesian mesh. The
algorithm to find the points to be used in the extrapolation proceeds as follows.
Using stored local connectivity information around the boundary node of interest
(coloured red in the figure), the nearest internal node is found. In the figure it
is coloured blue. Again using local connectivity information all internal nodes
attached to this node are found (shown in green). These nodes, together with the
closest node, constitute the body of nodes from which information is extracted
for the purposes of extrapolation. If the boundary is a subsonic outflow, all the
34
University of Pretoria etd – Pattinson, J (2007)
4.7 Boundary Conditions
c
b
a
PSfrag replacements
Figure 4.6: Selection of points for boundary condition extrapolation.
nodes are employed. To prevent reflection of the boundary information in the
case of a supersonic outflow, only nodes that are upstream of the current node
are used in the approximation.
To identify upstream nodes for the supersonic case, the local velocity vector
on the boundary node itself is used. As an example of this we consider node c in
Figure 4.6. If the flow is parallel to the green arrow, then any node to the left
of the constructed perpendicular line (green dashed line) may be used (of which
there are three in this case). If however the local velocity at node c is in the
direction indicated by the red arrow, one can see that only one of the identified
nodes can be selected. As this solitary node is insufficient for extrapolation
purposes, its local connectivity is queried to find more upstream nodes. These
nodes are coloured pink. To alleviate difficulties in finding sufficient numbers of
nodes in close proximity to the boundary node, downstream nodes that were less
than 3◦ from the perpendicular (dashed) line were also used in this work. Note
that boundary nodes are naturally never selected.
Both of the two chosen extrapolation methods were tested in this work. The
method of inverse distance weighting is computationally less expensive than the
least squares method and was found to work better for all the test cases presented.
35
University of Pretoria etd – Pattinson, J (2007)
4.8 Conclusion
It was thus used as the method of preference.
4.8
Conclusion
In this section the procedure employed to discretise the governing equations on
Cartesian meshes is presented. To summarise, the vertex-centred finite volume
method is employed with two different definitions of the dual mesh viz. the
standard method of Vahdati et al. [38] and a newly developed alternative. To
account for the latter, the discretisation scheme is accordingly enhanced. A variant of the Jameson, Schmidt & Turkel [1] artificial dissipation scheme is used for
stabilisation purposes. Finally, the implementation of the characteristic far-field
boundary conditions is presented. In the following chapter, the procedure used
to solve the resulting semi-discrete equation set is discussed.
36
University of Pretoria etd – Pattinson, J (2007)
Chapter 5
Temporal Discretisation and
Solution Procedure
5.1
Introduction
The previous chapters described the set of spatially discretised governing equations used in this work. What remains is to discretise the temporal term ( ∂Q
∂t
in Equation (2.1)), followed by the simultaneous solution of the resulting set of
discrete equations. This is the subject of this chapter.
The two main temporal discretisation strategies which may be employed for
the work under consideration are explicit and implicit. Implicit methods can
be loosely defined as those methods that may require matrix inversions to be
performed, while explicit methods naturally do not [20]. The main advantage of
the basic explicit method is that the memory cost is O(N ), where N denotes the
number of unknowns to be solved for. The disadvantage is that there is a severe
time-step size restriction (Courant-Friedrichs-Lewy number), which results in the
need for a large number of time-steps (iterations) in order to reach the steadystate (converged) solution. The basic implicit method does not pose the same
time-step restriction, but requires the setting up of a matrix, the storage cost
of which may be O(N 2 ). Further, the computational cost of iterative matrixinverters is O(N 2 ).
Due to the disadvantages of the basic explicit and implicit solution strategies,
they are rarely used to model flow on unstructured Cartesian meshes. To cir-
37
University of Pretoria etd – Pattinson, J (2007)
5.1 Introduction
cumvent the aforementioned disadvantages, more advanced methods have been
developed, and a summary of these in the context of Cartesian meshes now follows.
An implicit-time integration scheme currently in use on unstructured Cartesian meshes, which solves a matrix without storing it, is the so-called Lower-upper
Symmetric Gauss-Seidel (LU-SGS) as implemented by Ogawa [22]. In the cited
work this method is used in conjunction with a variant of the Full Approximation
Storage (FAS) multigrid method in order to ensure acceptable computational cost
(solution times) in addition to low storage. Another implicit method employed in
recent relevant research is a block-lower-upper symmetric Gauss-Seidel method
used by Wang & Chen [23] and Zhang & Wang [33]. The LU-SGS (BLU-SGS)
method requires less memory than the fully implicit scheme, while involving a
comparable amount of iterations. Finally, a semi-implicit method is used by Ham
et al. [9]. This involves decomposing the system of discrete equations into a number of one-dimensional problems that can be solved directly by inverting a set of
tridiagonal matrices.
The majority of authors using Cartesian meshes use explicit schemes. These
vary from multi-stage time-stepping (Coirier & Powell [8]), to employing RungeKutta relaxation in conjunction with FAS-multigrid solution acceleration (Aftosmis
et al. [28] and Murman et al. [45]. The memory cost of these techniques is optimal
(O(N )), while computational cost tends toward O(N ). The split type (functional
step) method developed by Popinet [24] (developer of GERRIS), employs a pointrelaxation scheme (mathematically analogous to explicit time-stepping), which is
again accelerated via FAS-multigrid.
It is clear from the above that, in the context of unstructured Cartesian mesh
based solvers, both implicit and explicit type temporal discretisation methods
are currently in use. Implicit methods range from block-implicit to matrix-free
LU-SGS used in conjunction with multigrid solution acceleration. The drawback
of the aforementioned methods is that the memory cost still far exceeds that of
explicit type schemes. Further, implicit methods require linearisation due to the
non-linear nature of the system of PDEs being solved, which notably adds to
computational cost. Explicit methods which are employed in conjunction with
Runge-Kutta relaxation and FAS- multigrid, are on the other hand found to be
38
University of Pretoria etd – Pattinson, J (2007)
5.2 Jacobi Iterative Scheme
very promising. The required memory and solution cost is exceptional while no
linearisation is required. However, the cited explicit multigrid methods employ a
complex unstructured Cartesian-mesh data structure with which to generate the
course meshes. This data structure also limits the applicability of the solver to
Cartesian meshes.
Due to the above, a multigrid acclerated explicit temporal discretisation was
selected for the work under consideration. This ensures optimal memory efficiency, such that large meshes, which may contain millions of elements, may
be solved on a standard desktop personal computer. Next, Runge-Kutta timestepping is employed in conjunction with FAS-multigrid to effect fast solution
times, which is again required when dealing with large meshes. Further, as the
discretisation scheme discussed in Chapter 4 is generically applicable to any mesh
type, it is undesirable and unnecessary to employ a Cartesian mesh specific data
structure for multigrid accleration. Rather a more generic FAS agglomerated
multigrid technique similar to that recently used by Sørensen et al. [40] (which
was applied to hybrid unstructured body-fitted meshes) will be employed.
5.2
Jacobi Iterative Scheme
As noted previously, an explicit multi-stage Runge-Kutta temporal discretisation
is employed. This is to ensure the matrix free nature of the system and hence
optimal memory efficiency. The solution is advanced from time t to t + ∆t via
a four stage Runge-Kutta method designed for application to partial differential
equations (Tannehill et al. [46]) as follows:
Q0fm
= Qtm
Qkfm
= Q0fm + αk ∂W
∂Q
−1
k−1
∆tk−1 (RHSm
) for k = 1 to 3
(5.1)
Qtmfτ +∆tτ = Q4fm
where the coefficients αk are taken as 0.11, 0.2766, 0.5 and 1 as per Lallemand
et al. [6]. RHS constitutes all terms to the right of the equal sign in Equation (4.21). To save computational time, local time stepping is employed in
39
University of Pretoria etd – Pattinson, J (2007)
5.3 FAS Multigrid
addition to the stabilising terms (upwinding and artificial dissipation) being calculated only at the first and third stages [41].
The maximum allowable time-step size is calculated at a node m such that
stability is ensured as:
∆tτm =
CF L ∆χm
|um | + cm
(5.2)
where CF L is the Courant-Friedrichs-Lewy number (typically set to between 1.5
and 2) and ∆χm is a measure of the spatial cell / element size. The latter is
calculated as
∆χm =
s
−1 1
∆xj ∆xj
(5.3)
m
where ∆xj is the smallest distance in the xj direction to an adjacent node. This
time-step calculation procedure is similar to that used in finite difference electromagnetic wave propagation problems [47] and analogous to the effective element size used in explicit finite element computational fluid dynamics calculations
(Zienkiewicz & Taylor [48]). The methodology may be implemented at a node m
in an edge-based manner as follows
m
∆t = min Υmn ∩ Vm
CF L ∆χm
|umn | + cmn
(5.4)
where the over-line quantities denote edge averaged quantities.
5.3
FAS Multigrid
Multigrid is a solution acceleration algorithm that has the potential of reducing the number of floating point operations required to simultaneously solve an
N × N system of equations, in a matrix free manner, from O(N 3 ) when the
Jacobi iterative method is used (which is the current basic method discussed in
the previous section), to O(N ). This implies a significant potential reduction
in computational times. An explanation of the basic multigrid methodology is
detailed by Brandt [5], and more recently by Briggs et al. [49] and Sørensen [20].
40
University of Pretoria etd – Pattinson, J (2007)
5.3 FAS Multigrid
The underlying concept is relatively simple. When using an iterative scheme like
Jacobi or Gauss-Seidel, only high frequency errors are eliminated at each iteration. This is because the nodes are only strongly connected with their direct
neighbours and it takes time for information to propagate through the mesh.
In the multigrid procedure, successive levels of coarse grids1 are generated and
information is passed between these grids allowing information to pass between
nodes that are far apart from each other relatively quickly. This means that low
frequency errors are eliminated more rapidly which enhances the overall solution
scheme convergence rate.
There are a number of different types of non-linear multigrid. They essentially
differ in the method used to generate the coarse grids. Algebraic multigrid uses
a mathematical operator that gives the effect of the coarse grids. The geometric
multigrid methods use the actual geometry and generate new meshes for each
coarse mesh level. Agglomerated multigrid methods are a mix between the aformentioned two methods. Here, coarse meshes are generated by agglomerating
computational cells followed by the appropriate redefinition of volumes and edge
coefficients. In this work, the agglomerated multigrid method was selected as it
is possible to automate the agglomeration process and it is generally applicable
to any type of mesh.
5.3.1
Mesh Agglomeration Procedure
The strategy employed to generate the agglomerated or coarse mesh levels depends on the type of mesh that is used. Structured finite-difference type meshes
lead very naturally to coarsening viz. by simply removing major grid lines. Complex unstructured meshes need to be dealt with in a more sophisticated geometric
manner. Cut-cell Cartesian meshes fall somewhere in between. These grids contain structured type regions but also decidedly unstructured areas. Examples of
the latter are boundaries and areas where hanging nodes are present.
The approaches prevalent in the literature when dealing with cut-cell unstructured Cartesian meshes is essentially of the structured type [9, 28, 50]. This
1
Note that the term “coarse grids” will be used to refer to both the geometric multigrid
form and its matrix-based algebraic multigrid equivalent.
41
University of Pretoria etd – Pattinson, J (2007)
5.3 FAS Multigrid
method makes use of the hierarchical nature of unstructured Cartesian meshes.
There is an obvious parent-child relationship in these meshes in which a parent cell can consist of up to four children (conversely, four small quadrilateral
elements can be viewed as constituting one large quadrilateral element). The agglomeration strategy involves identifying children cells and agglomerating them
into their parent cell. The child cells may be identified via either a tree based
data structure (such as that used in the generation of the mesh) or by an unstructured approach using space filling curves (as per Aftosmis et al. [28]). Examples
of agglomeration strategies using a tree based data structure can be found in the
work of Charlton [50] and Ham et al. [9].
An alternative coarse mesh generation strategy, which currently does not feature in the context of cut-cell unstructured Cartesian meshes, is the completely
unstructured type. This approach does not rely on the structured nature of the
mesh at all, and is therefore in principle, applicable to any type of mesh. The
method hinges on employing the local connectivity of the mesh, whereby nodes
that surround a so called super-node are agglomerated into one another. This
scheme has been successfully applied to body-conforming unstructured-hybrid
meshes in two and three dimensions by a number of researchers viz. Lallemand
et al. [6], Sørensen [20], Hannemann [51], Mavriplis & Venkatakrishnan [52]. Due
to its generic applicability, it not requiring a specific data structure, as well as it
being novel in the context of Cartesian meshes, the unstructured mesh agglomeration method will be used in this work.
5.3.2
Implemented Agglomeration Strategy
The selected agglomeration procedure (Hannemann [51]) commences by selecting
a so called super-node from the fine cut-cell mesh. A super-node is selected
according to one of the following four user-selected strategies:
• The “simple” strategy. This is the most simple of the strategies, where in
any instance, the first possible node is selected. With this strategy the first
super node would be the first node in the node table.
42
University of Pretoria etd – Pattinson, J (2007)
5.3 FAS Multigrid
• The “closest node” strategy. In this strategy the selected node will always
be the one in the list that is closest to a user defined spatial point.
• The “furtherest node” strategy. The chosen node will always be the furtherest node from a user specified spatial point.
• The “finite difference” strategy. In this strategy a node numbering scheme is
assumed such that the resulting coarse mesh would still be a finite difference
mesh if the fine mesh was one. It was developed for debugging purposes
but has been found to work on the Cartesian meshes under consideration.
Once a super-node has been found, its neighbours are fused into it (by means
of combining dual mesh volumes) in the following manner: First a loop is performed over all the attached edges to identify the so called direct neighbours
(see Figure 5.1). The direct neighbours that have not already been fused with
a super-node, are fused to the super-node being dealt with. If there are four
or less direct neighbours attached to a specific super-node, a loop is in addition
performed over the edges attached to all non-fused direct neighbours, and indirect neighbours identified. An indirect neighbour is a node that is connected to
two direct neighbours of a specific current super-node, as depicted in Figure 5.1.
Identified indirect neighbour-nodes are then fused to the super-node if they have
not already been fused. Note that indirect neighbours are only fused if there are
already direct neighbours in the fused set.
Once the above procedure has been completed for a specific super-node, a
front of nodes is defined. This consists of all direct neighbours of the nodes
that have just been fused to the super-node under consideration, with the added
criteria that they have not already been fused to a super-node. From this front,
a new super-node is chosen according to the following criteria (listed in order of
descending preference):
1. It is a boundary node on a corner in the domain e.g. trailing edge or corner
of the mesh.
2. It is a boundary node on the geometry.
3. It is a far-field boundary node
43
University of Pretoria etd – Pattinson, J (2007)
5.3 FAS Multigrid
4. The node is chosen using one of the user selected strategies described previously
In the case where a specific super-node does not contain a front (all its neighbours have already been fused), the node table is traversed and a super-node
selected based on the user-selected strategy. This procedure continues until all
nodes in a specific mesh are either super-nodes or have been fused to one.
Edges
Current Node
Direct neighbour
Indirect neighbour
Figure 5.1: Direct and indirect neighbours as identified via edge-connectivity.
Once the above procedure has been completed, a loop is performed over all
super-nodes and those that are not agglomerated to at least one other node are
merged to a neighbouring super-node. This ensures that there is not an overly
large disparity between adjacent volume sizes in the new mesh.
On completion of the above procedure, coarse mesh edges are constructed by
connecting adjacent super-nodes. Adjacent super-nodes are defined as nodes that
share an agglomerated super volume boundary. These shared volume boundaries are identified by finding fine mesh edges that join nodes which are fused
into neighbouring super-node groups. The portion of the agglomerated or coarse
mesh volume bounding surface between two neighbouring super-nodes is mathematically expressed as the sum of the edge coefficients of the overlapping fine
44
University of Pretoria etd – Pattinson, J (2007)
5.3 FAS Multigrid
mesh edges. This can be expressed in mathematical form for the edge coefficient
associated with the coarse mesh edge, Υ2h
mn between super-nodes m and n as
X
C2h
mn =
Chmn
(5.5)
2h
Υh
mn ∩Amn
where Υhmn refers to the fine mesh edges that overlap the boundary between the
super-node volumes denoted A2h
mn . Edge coefficients of fine mesh edges that do
not overlap coarse mesh boundaries do not form part of the new mesh and are
ignored.
Boundary edge coefficients, which express the boundary of the domain, are
never ignored and all are added to their respective coarse mesh edges1
The above edge coefficient calculations apply to both discretisation schemes.
In the case of the alternative scheme, it remains to define the ratio rmn (Equation
4.13) on the coarse meshes. This is approximated using the following relation:
2h
rmn
=
P
2h
2h
Υmn ∩Vm
P
h
rmn
|Chmn |
2h
Υ2h
mn ∩Vm
|Chmn |
(5.6)
where h and 2h refer to fine and coarse mesh entities respectively.
An example of the agglomeration process on a simple Cartesian type grid is
depicted in Figure 5.2. Shown in the top left figure is the red node that has been
selected as a super-node. Its direct and indirect neighbours which will be fused
into it are coloured green. In the background of this, the dual mesh is indicated
with the red dashed lines. Some of the volumes have been greyed out to help
identify them. In the top right figure the nodal front is constructed around the
fused nodes (coloured blue). In the bottom left figure the new agglomerated
coarse volumes are depicted. Here the fine mesh edges are divided into two
groups viz. the dashed edges which do not cross the new volume boundaries, and
the solid edges that do. Remember that only the edges that cross over coarse
mesh volume boundaries contribute their edge coefficients to the new coarse edge
coefficients. The final figure (bottom right) depicts the agglomerated (coarse)
dual-mesh shown.
1
Note that to determine which edges these are, it is required that one determine to which
side of the super-node the fine mesh edge lies and to which adjacent super-node it is closest to.
45
University of Pretoria etd – Pattinson, J (2007)
5.4 Formulation of FAS Multigrid
Having completed the agglomeration exercise, a check is performed on the
new coarse mesh to ensure its integrity. This involves the summing of edge
coefficients around super-nodes. These should sum to zero and this sum gives a
good indication of whether there are holes in the mesh or edges that are missing.
The above algorithm has been successfully implemented and is completely
automatic and robust. It can, in principle, be applied to any conceivable mesh
as it operates only on the data structure of the fine mesh.
Super nodes
Un-fused fine mesh nodes
Fused fine mesh nodes
Nodal front
Fine mesh edges
Dual mesh
Coarse mesh edges
Contributing fine mesh edges
Non-contributing fine mesh edges
Figure 5.2: The implemented course mesh generation strategy.
5.4
Formulation of FAS Multigrid
A description of the FAS Multigrid method can be found in Briggs et al. [49].
Only the final result as applied in this work is presented here. The discretised
46
University of Pretoria etd – Pattinson, J (2007)
5.4 Formulation of FAS Multigrid
Euler equations to be solved (see Section 2.2) can be written in the following
non-linear algebraic form:
Ah (φ) = 0
(5.7)
where φ is the solution to the problem on the finest grid represented by the
superscript h , and A is the coefficient matrix. When an iterative solution method
is used, the above expression can be written as
Ah (v) ≈ 0
(5.8)
where v denotes the latest approximation to φ. The multigrid solution process
commences by performing a number of iterations or relaxation sweeps (employing
the multi-stage Runge-Kutta (RK) method as detailed in Section 5.2) on the finest
mesh. An improved approximate solution v is thus obtained. Next an altered
form of the above discrete equation is solved on a coarser grid. The discrete
equation solved for on the next coarser grid reads as
A2h (v2h ) = τh2h
(5.9)
where the superscript 2h denotes the next coarser grid’s values and expressions
and the coarse grid correction term (also referred to as the source term). τh2h is
calculated as:
τ 2h = A2h (Ih2h vh ) − Ih2h Ah (vh )
(5.10)
Here Ih2h represents the so-called restriction operator which is defined in Section 5.4.2. To aid in the discussion later and to prevent confusion, Ih2h vh is from
this point forward, referred to as u2h . Equation (5.9) is relaxed on the coarse
grids to give a new approximation to v 2h (an approximate solution to the altered
algebraic equation on the course mesh). Following on from the above, Equation (5.9) is set-up and solved for on all generated coarse meshes. Note that
boundary conditions are not applied on coarse grids explicitly.
47
University of Pretoria etd – Pattinson, J (2007)
5.4 Formulation of FAS Multigrid
After having traversed all meshes (from finest to coarsest), the error calculated
on each course mesh is passed back (formally known as prolongation) down to
the next finer grid. On a generic coarse grid this error is calculated as:
i
i
i
e2 h = v 2 h − u 2 h
(5.11)
from which the flow solution on the next finer mesh is updated as follows:
v2
i−1 h
where I22i h
5.4.1
i−1 h
= v2
i−1 h
i−1
i
+ I22i h h e2 h
(5.12)
is the prolongation operator that will be defined in Section 5.4.3.
The V-cycle
The solution process outlined above in which meshes are traversed from fine to
coarse and then back to fine is known as a V-cycle. This method is similar to
work done in the field by other researchers [6, 19, 20, 53]. The V-cycle has been
implemented in this work in the recursive form outlined by Briggs et al. [49]. In
a concise form the recursive V-cycle can be represented by:
v2
i−1 h
← V2
i−1 h
(v2
i−1 h
, τ2
i−1 h
)
i−1
(5.13)
i−1
which implies that given the approximations v 2 h and τ 2 h the V-cycle function
i−1
denoted V will return a new approximation v 2 h to the current mesh level. The
V-cycle function V 2
i−1 h
is defined as:
1. Iterate (relax) A2
i−1
grid τ 2 h = 0
i−1 h
(v2
i−1 h
) = τ2
i−1 h
, v1 times. Note that on the finest
2. If 2i−1 h represents the coarsest grid then go to step 3.
Else
i
2
h
• Calculate I22i−1
hA
i
i
i−1 h
(v2
2
h
• Compute A2 h (I22i−1
hv
i−1 h
i−1 h
i
2
h
) and I22i−1
hv
i−1 h
) on the next coarse grid.
i
i
i
2
h
• Calculate the correction source term τ 2 h = A2 h (I22i−1
hv
i−1
i−1
i
2
h
h
(v2 h )
I22i−1
hA
48
i−1 h
)−
University of Pretoria etd – Pattinson, J (2007)
5.4 Formulation of FAS Multigrid
i
i
2
h
• Set as an initial approximation on the coarse grid v 2 h = I22i−1
hv
i
i
i−1 h
i
i
• Evaluate this function again on the next mesh v 2 h ← V 2 h (v2 h , τ 2 h )
i
i
i
• Compute the error e2 h = v2 h − u2 h
• Update v2
3. Iterate A2
i−1 h
i−1 h
= v2
(v) = τ 2
i−1 h
i−1 h
i−1
i
+ I22i h h e2 h
, v2 times.
where v1 and v2 denote the number of relaxation sweeps performed on a mesh.
Note that this definition of V is recursive because the function V is called from
within itself (part of step 2). The optimal choice of v1 and v2 in the procedure has
been found to be flow regime dependent, i.e. sub-, trans- or supersonic. Typical
values used for v1 and v2 in this work range from as little as v1 = v2 = 1 on
supersonic cases to, v1 = v2 = 10 for subsonic cases. The values used for each of
the test cases is presented with the results (Chapter 6).
5.4.2
Restriction Operator
i
h
The restriction operator I22i−1
h on the interior nodes of an agglomerated coarse
mesh is computed as a volume weighted interpolation. The restriction of v 2
is computed as follows:
2i h
=
ih
2i−1 h
I22i−1
hv
=
Pn
p=0
vp2
i−1 h
Vp2
i−1 h
i−1 h
(5.14)
V 2i h
where n refers to the total number of fine mesh volumes fused into the coarse mesh
u
i
volume V 2 h . The restriction of the A2
5.4.3
i−1 h
(v2
i−1 h
) term is performed similarly.
Prolongation Operator
i−1 h
The prolongation operator I22i h
presents a challenge on unstructured agglomer-
ated grids. This is as there is no obvious way in which to pass the errors between
meshes in an accurate and efficient manner. To guarantee efficient convergence
rates, the order of accuracy of the prolongation and restriction operators should
satisfy the following relation [54]:
mr + m p > m
49
(5.15)
University of Pretoria etd – Pattinson, J (2007)
5.4 Formulation of FAS Multigrid
where mr and mp are defined as the highest degree plus one of the polynomials
that can be exactly interpolated by the restriction and prolongation operators
respectively. Further m is the order of the partial differential equation to be
solved, which for the Euler equations is one. As the order of restriction operator
defined in the previous section is one, mr equals 2 and the relation is satisfied
with a prolongation operator of order zero. The order zero prolongation operator
can be written as
vp2
i−1 h
i
= v2 h
(5.16)
for any p. This implies that the value on the coarse mesh node is applied to all
the fine mesh nodes (that make up that coarse mesh node). In this work it was
found that this operator was not sufficient and that improvements in convergence
could be realised if a higher order accurate prolongation operator was employed.
As a result, two different higher order operators were tested. These are the
inverse distance weighting operator of Watson [44] and the linear least squares
method as documented by Blazek [53]. After experimentation, the linear least
squares operator was found to result in superior multigrid performance and was
subsequently employed for all the cases presented in this report. Note that the
least squares method is presented in Appendix C.
5.4.4
Stabilisation
The stabilisation terms, described in Section 4.5, form part of the coefficient matrix A in the FAS Multigrid scheme. As the final solution on the fine mesh is not
influenced by the solution on the coarser meshes, first order accurate schemes are
sufficient here [53]. Therefore, on coarse meshes first order accurate stabilisation
can be employed with the higher order stabilisation only used on the finest mesh.
This tactic has been employed with success previously by Mavriplis & Venkatakrishnan [19] and Lallemand et al. [6]. In this work, it was found that it was only
necessary to use this on the compressible cases.
50
University of Pretoria etd – Pattinson, J (2007)
5.5 Conclusion
5.5
Conclusion
In this chapter methods are presented by which to solve the discrete equations
derived in the previous chapter. As the basic Jacobi method is slow to converge,
a FAS multigrid method is employed. This method uses coarse grids generated
by volume agglomeration. In the following chapter the developed modelling technology will be evaluated in terms of accuracy and computational cost.
51
University of Pretoria etd – Pattinson, J (2007)
Chapter 6
Results
6.1
Introduction
The preceding chapters detailed the mathematical development of a Cartesian
mesh-based solver for the efficient modelling of inviscid incompressible and compressible flow. It now remains to evaluate the developed technology in terms of
accuracy and computational cost. For this purpose, the solver was applied to a
number of benchmark test cases from the literature, which span the entire scope of
flow regimes. These are: incompressible flow over a cylinder and a Van de Vooren
aerofoil at an angle of attack; sub- and transonic flow over a NACA0012 aerofoil
at an angle of attack; and a double wedge under supersonic flow conditions. The
results obtained using the solver are compared to the analytical solutions (where
they exist) or the solutions of others. For the purposes of evaluation, the following
comparisons are made:
• The predicted flow via both the standard and alternative schemes are compared to that of a benchmark solution.
• The improvement in CPU time obtained from multigrid is assessed for each
discretisation method.
• The two discretisation methods are compared in terms of accuracy, as well
as computational cost.
52
University of Pretoria etd – Pattinson, J (2007)
6.1 Introduction
In the interest of a rigorous investigation, a mesh convergence study was
performed for each test
casereplacements
using the grid convergence index (GCI) method of
PSfrag replacements
PSfrag
Roache [55] (this procedure
detailed
CP U time [minutes]
CP Uis
time
[minutes]in Appendix A). The GCI error bound
obtained is quoted in all casesL2along
with the ratio that indicates whether, in
L2 (Residual)
(Residual)
each case, asymptotic convergence
hasgrid
been achieved. Further, actual CPU times
std. single
are quoted where computationalstd.performance
is documented. The analyses were
std. multigrid
multigrid
std. single grid
performed on a PC with 3GHzalt.
CPU
singleand
grid 2GB of 400MHz DDR RAM.
alt. single grid
alt. single grid
alt. single grid
std. single grid
std. single grid
std.& alt. multigrid
std.& alt. multigrid
alt. multigrid
alt. multigrid
top
PSfrag replacements
top
PSfrag replacements
bottom
CP U time [minutes]
bottom
CP U time [minutes]
std. scheme
L2 (Residual)
std. scheme
L2 (Residual)
scheme
std. alt.
single
grid
scheme
std. alt.
single
grid
analytical
std. multigrid
analytical
std. multigrid
Cp
alt. single grid
Cp
alt. single grid
alt. single grid
Coord
alt. single grid
std. single grid
std. single grid
std.& alt. multigrid
std.& alt. multigrid
alt. multigrid
alt. multigrid
top
top
bottom
bottom
std. scheme
std. scheme
alt. scheme
alt. scheme
analytical
analytical
Cp
Cp
Coord
Coord
Coord
Figure 6.1: Cylinder incompressible flow test case - standard dual-mesh construction scheme: The fine mesh (top left) and corresponding first, second and fourth
coarse dual meshes.
53
CP U time [minutes]
L2 (Residual)
std. single grid
std. multigrid
CP U time [minutes]
University of PLre2 (Residual)
toria etd – Pattinson, J (2007)
std. single grid
std. multigrid
6.2 Incompressible
Flow: Cylinder in cross flow
alt. single grid
alt. single grid
alt. single grid
alt. single grid
std. single grid
std. single grid
std.& alt. multigrid
std.& alt. multigrid
alt. multigrid
alt. multigrid
top
PSfrag replacements
top
PSfrag replacements
bottom
CP U time [minutes]
bottom
CP U time [minutes]
std. scheme
L2 (Residual)
std. scheme
L2 (Residual)
scheme
std. alt.
single
grid
scheme
std. alt.
single
grid
analytical
std. multigrid
analytical
std. multigrid
Cp
alt. single grid
Cp
alt. single grid
alt. single grid
Coord
alt. single grid
std. single grid
std. single grid
std.& alt. multigrid
std.& alt. multigrid
alt. multigrid
alt. multigrid
top
top
bottom
bottom
std. scheme
std. scheme
alt. scheme
alt. scheme
analytical
analytical
Cp
Cp
Coord
Coord
Coord
Figure 6.2: Cylinder incompressible flow test case - alternative dual-mesh construction scheme: The fine mesh (top left) and corresponding first, second and
fourth coarse dual meshes.
6.2
Incompressible Flow: Cylinder in cross flow
The incompressible cross flow over a cylinder case poses a severe test for numerical
schemes, as no natural physical dissipation effects are present [56]. Further, the
problem contains two stagnation points while the analytical solution exists for
validation purposes. The chosen case therefore provides a strict test for both
the spatial discretisation accuracy as well as stabilisation aspects of a numerical
scheme.
54
alt. multigrid
University of Pretoria etd – Pattinson, J (2007)
top
bottom
6.2 Incompressible Flow: Cylinder in cross flow
std. scheme
PSfrag replacements
alt. scheme
analytical
3.5
Cp
3
std. u1 [m/s]
std. u2 [m/s]
std. p [P a]
alt. u1 [m/s]
alt. u2 [m/s]
alt. p [P a]
std. single grid
Coord
2.5
std. multigrid
2
p [P a] / u [m/s]
alt. single grid
1.5
1
0.5
alt. multigrid
0
top
-0.5
bottom
-1
std.
scheme
Single
grid
2
1
0
alt.
scheme
M ultigrid
6
5
4
3
θ [rad]
0.1
analytical
Cp
Coord
0.01
p [P a] / u [m/s]
std. u1 [m/s]
std. u2 [m/s]
std. p [P a]
L2 (Residual)
θ [rad]
0.001
alt. single grid
std. single grid
0.0001
alt. u1 [m/s]
alt. u2 [m/s]
1e-05
alt. p [P a]
std.& alt. multigrid
Single grid
0
M ultigrid
50
100
150
200
250
300
350
CP U time [minutes]
Figure 6.3: Cylinder incompressible test case: Cylinder surface pressures and
velocities (top) where the lines denote the analytical solution and symbols are the
calculated counterparts via the standard (std.) and alternative (alt.) schemes;
and convergence plots (bottom). In the figure, θ is the angular position on the
cylinder measured from the leading stagnation point in a clockwise direction.
55
top
University of Pretoria etd – Pattinson, J (2007)
bottom
std. scheme
6.2 Incompressible Flow: Cylinder in cross flow
alt. scheme
analytical
Cp
Coord
θ [rad]
p [P a] / u [m/s]
std. u1 [m/s]
std. u2 [m/s]
std. p [P a]
alt. u1 [m/s]
alt. u2 [m/s]
alt. p [P a]
Single grid
M ultigrid
Figure 6.4: Pressure contours of cylinder test case.
The computational domain extends 10 diameters away from the cylinder. At
the far-field boundaries characteristic boundary conditions (Section 2.2.3) are applied while at the cylinder surface, slip conditions are employed. Various meshes
were generated for the purpose of the grid convergence study. A close-up view of
the finest meshes employed are depicted in Figures 6.1 and 6.2 (top left). These
meshes contained 27, 070 and 25, 886 computational nodes (cells) for the standard
and alternative schemes respectively. The finest three meshes produced results
which gave asymptotic convergence ratios of 1.033 and 1.06 for the standard and
alternative discretisation methods respectively. These results indicate that for
both discretisation schemes asymptotic convergence has indeed been achieved.
The finest mesh produced a solution with a GCI error bound of 0.95% for the
standard scheme, and 1.15% in the case of the alternative method (the error
bounds are calculated by comparing the analytical and predicted pressures on
the surface of the cylinder).
Five and four multigrid coarse meshes were employed for the standard and
alternative schemes respectively (depicted in Figures 6.1 and 6.2). The closest
node agglomeration strategy was used in the generation of these meshes. The
node-based coarsening ratios achieved were between 3.6 and 4.5 for all successive
56
bottom
CP U time [minutes]
std. scheme
L2 (Residual)
alt. scheme
std. single grid
analytical
std. multigrid
bottom
CP U time [minutes]
University of PLre2 (Residual)
torischeme
a etd – Pattinson, J (2007)
std.
alt. scheme
std. single grid
analytical
6.2 Incompressible
Flow: Cylinder in cross flow
std. multigrid
Cp
alt. single grid
Cp
alt. single grid
Coord
alt. single
grid
Coord
alt. single
grid
θ [rad]
std. single grid
p [P a] / u [m/s]
θ [rad]
std. single grid
p [P a] / u [m/s]
std.& alt. multigrid
std.& alt. multigrid
std. u1 [m/s]
alt. multigrid
std. u1 [m/s]
alt. multigrid
std. u2 [m/s]
top
std. u2 [m/s]
top
std. p [P a]
bottom
std. p [P a]
bottom
alt. u1 [m/s]
std. scheme
alt. u1 [m/s]
std. scheme
alt. u2 [m/s]
alt. scheme
alt. u2 [m/s]
alt. scheme
alt. p [P a]
analytical
alt. p [P a]
analytical
Single grid
Cp
Single grid
Cp
M ultigrid
M ultigrid
θ [rad]
θ [rad]
p [P a] / u [m/s]
p [P a] / u [m/s]
std. u1 [m/s]
std. u1 [m/s]
std. u2 [m/s]
std. u2 [m/s]
std. p [P a]
std. p [P a]
alt. u1 [m/s]
alt. u1 [m/s]
alt. u2 [m/s]
alt. u2 [m/s]
alt. p [P a]
alt. p [P a]
Single grid
Single grid
M ultigrid
M ultigrid
Coord
Coord
Figure 6.5: Van de Vooren test case - standard scheme: The fine mesh (top left)
and corresponding first, second and third coarse dual meshes.
levels of mesh coarsening. The number of relaxation iterations in the up- and
downward sweeps of the V-cycle (v1 and v2 from Equation 5.13) were set to 10
and 15 respectively.
The solution obtained and convergence plots are presented in Figure 6.3, with
pressure contours plotted in Figure 6.4. As shown, both alternative and standard
schemes resulted in similar solutions and at comparable multigrid computational
cost. The speed-up achieved via multigrid for the standard scheme was 12, and
6 for the alternative. Note however, that although there is a reasonable disparity
in speed-ups between the two schemes, the accelerated CPU times are almost
57
bottom
CP U time [minutes]
bottom
CP U time [minutes]
University of PLre2 (Residual)
torischeme
a etd – Pattinson, J (2007)
std.
std. scheme
L2 (Residual)
alt. scheme
std. single grid
alt. scheme
std. single grid
analytical
6.3 Incompressible
Flow: Van de Vooren Aerofoil
std. multigrid
analytical
std. multigrid
Cp
alt. single grid
Cp
alt. single grid
Coord
alt. single
grid
Coord
alt. single
grid
θ [rad]
θ [rad]
std. single grid
std. single grid
p [P a] / u [m/s]
p [P a] / u [m/s]
std.& alt. multigrid
std.& alt. multigrid
std. u1 [m/s]
alt. multigrid
std. u1 [m/s]
alt. multigrid
std. u2 [m/s]
top
std. u2 [m/s]
top
std. p [P a]
bottom
std. p [P a]
bottom
alt. u1 [m/s]
std. scheme
alt. u1 [m/s]
std. scheme
alt. u2 [m/s]
alt. scheme
alt. u2 [m/s]
alt. scheme
alt. p [P a]
analytical
alt. p [P a]
analytical
Single grid
Cp
Single grid
Cp
M ultigrid
M ultigrid
θ [rad]
θ [rad]
p [P a] / u [m/s]
p [P a] / u [m/s]
std. u1 [m/s]
std. u1 [m/s]
std. u2 [m/s]
std. u2 [m/s]
std. p [P a]
std. p [P a]
alt. u1 [m/s]
alt. u1 [m/s]
alt. u2 [m/s]
alt. u2 [m/s]
alt. p [P a]
alt. p [P a]
Single grid
Single grid
M ultigrid
M ultigrid
Coord
Coord
Figure 6.6: Van de Vooren test case - alternative scheme: The fine mesh (top
left) and corresponding first, second and third coarse dual meshes.
identical.
6.3
Incompressible Flow: Van de Vooren Aerofoil
The second numerical example involves the incompressible flow over a Van de
Vooren aerofoil with 15% thickness at 2◦ angle of attack. Once again this problem is purely convective and contains two stagnation points. An analytical solu-
58
alt. scheme
University of Pretoria etd – Pattinson, J (2007)
analytical
Cp
6.3 Incompressible Flow: Van de Vooren Aerofoil
Coord
θ [rad]
θ [rad]
1
p [P a] / u [m/s]
p [P a] / u [m/s]
0.1
0.8
std. u1 [m/s]
std. u1 [m/s]
0.6
std. u2 [m/s]
std. p [P a]
0.2
std. p [P a]
alt. u1 [m/s]
L2 (Residual)
0.4
Cp
std. u2 [m/s]
0
alt. u1 [m/s]
-0.2
alt. u2 [m/s]
-0.4
alt. p [P a]
-0.6
0.001
alt. single grid
std. single grid
1e-04
alt. u2 [m/s]
alt. p [P a]
analytical
std. scheme
alt. schemeSingle grid
-0.8
Single grid
-1
0
M ultigrid
0.01
0.2
0.4
Coord
0.6
0.8
1e-05
std.& alt. multigrid
1e-06
0
1
M ultigrid
10
20
30
40
50
60
70
CP U time [minutes]
Figure 6.7: Van de Vooren test case - Solution (left) and convergence plot (right).
Here std. and alt. denote the standard and alternative discretisation schemes
respectively.
tion to this problem is also available. Similar to the previous test-case, slip type
boundary conditions were applied at the surface of the aerofoil while characteristic conditions were prescribed at the outer boundary (15 chord lengths from the
profile). The computational meshes employed for the standard and alternative
dual-mesh construction strategies together with each set of multigrid agglomerated meshes, in the vicinity of the aerofoil, are shown in Figures 6.5 and 6.6
respectively. The fine meshes in each case contain 15, 420 and 14, 748 computational points. For the multigrid run, three coarse meshes, generated with the
finite difference strategy, were used throughout. Node based coarsening ratios of
between 3.8 and 4.6 were achieved. The V-cycle relaxation settings v1 and v2
were both set to 10.
Figure 6.7 compares the aerofoil surface pressure coefficients predicted via the
various scheme variants to the analytical solution. From the convergence plot in
the figure it is clear that the alternative method only marginally out-performs the
standard form in terms of computational cost. Multigrid speed-ups of 35.46 and
30.49 are obtained for the standard and alternative cases respectively. The GCI
error bound, based on the error between the computed and analytical solutions,
is 0.22% for the standard case and 0.36% for the alternative case. Asymptotic
convergence ratios of 0.996 and 1.11 were achieved for both cases respectively.
59
bottom
CP U time [minutes]
std. scheme
L2 (Residual)
alt. scheme
std. single grid
analytical
std. multigrid
bottom
CP U time [minutes]
University of PLre2 (Residual)
torischeme
a etd – Pattinson, J (2007)
std.
alt. scheme
std. single grid
analytical
6.4
Subsonic
Compressible flow: NACA0012
std. multigrid
Cp
alt. single grid
Cp
alt. single grid
Coord
alt. single
grid
Coord
alt. single
grid
θ [rad]
std. single grid
p [P a] / u [m/s]
θ [rad]
std. single grid
p [P a] / u [m/s]
std.& alt. multigrid
std.& alt. multigrid
std. u1 [m/s]
alt. multigrid
std. u1 [m/s]
alt. multigrid
std. u2 [m/s]
top
std. u2 [m/s]
top
std. p [P a]
bottom
std. p [P a]
bottom
alt. u1 [m/s]
std. scheme
alt. u1 [m/s]
std. scheme
alt. u2 [m/s]
alt. scheme
alt. u2 [m/s]
alt. scheme
alt. p [P a]
analytical
alt. p [P a]
analytical
Single grid
Cp
Single grid
Cp
M ultigrid
M ultigrid
θ [rad]
θ [rad]
p [P a] / u [m/s]
p [P a] / u [m/s]
std. u1 [m/s]
std. u1 [m/s]
std. u2 [m/s]
std. u2 [m/s]
std. p [P a]
std. p [P a]
alt. u1 [m/s]
alt. u1 [m/s]
alt. u2 [m/s]
alt. u2 [m/s]
alt. p [P a]
alt. p [P a]
Single grid
Single grid
M ultigrid
M ultigrid
Coord
Coord
Figure 6.8: NACA0012 test cases - standard scheme: The fine mesh (top left)
and corresponding first, second and fourth coarse dual meshes.
6.4
Subsonic Compressible flow: NACA0012
The first compressible test case presented here involves subsonic flow over a
NACA0012 aerofoil at M = 0.63 and 1◦ angle of attack. The cut-cell meshes
in the vicinity of the aerofoil resulting from the standard dual-mesh construction
scheme and accompanying agglomerated coarse meshes (closest node agglomeration strategy) are depicted in Figure 6.8. A similar plot, Figure 6.9, shows that
resulting from the new dual-mesh construction scheme. Four coarse meshes were
used for this problem, with resulting coarsening ratios of between 4.0 and 4.8
60
bottom
CP U time [minutes]
std. scheme
L2 (Residual)
alt. scheme
std. single grid
analytical
std. multigrid
bottom
CP U time [minutes]
University of PLre2 (Residual)
torischeme
a etd – Pattinson, J (2007)
std.
alt. scheme
std. single grid
analytical
6.4
Subsonic
Compressible flow: NACA0012
std. multigrid
Cp
alt. single grid
Cp
alt. single grid
Coord
alt. single
grid
Coord
alt. single
grid
θ [rad]
std. single grid
p [P a] / u [m/s]
θ [rad]
std. single grid
p [P a] / u [m/s]
std.& alt. multigrid
std.& alt. multigrid
std. u1 [m/s]
alt. multigrid
std. u1 [m/s]
alt. multigrid
std. u2 [m/s]
top
std. u2 [m/s]
top
std. p [P a]
bottom
std. p [P a]
bottom
alt. u1 [m/s]
std. scheme
alt. u1 [m/s]
std. scheme
alt. u2 [m/s]
alt. scheme
alt. u2 [m/s]
alt. scheme
alt. p [P a]
analytical
alt. p [P a]
analytical
Single grid
Cp
Single grid
Cp
M ultigrid
M ultigrid
θ [rad]
θ [rad]
p [P a] / u [m/s]
p [P a] / u [m/s]
std. u1 [m/s]
std. u1 [m/s]
std. u2 [m/s]
std. u2 [m/s]
std. p [P a]
std. p [P a]
alt. u1 [m/s]
alt. u1 [m/s]
alt. u2 [m/s]
alt. u2 [m/s]
alt. p [P a]
alt. p [P a]
Single grid
Single grid
M ultigrid
M ultigrid
Coord
Coord
Figure 6.9: NACA0012 test cases - alternative scheme: The fine mesh (top left)
and corresponding first, second and fourth coarse dual meshes.
for both schemes. The meshes extend 15 chord lengths away from the aerofoil
surface. In the case of the standard dual-mesh construction strategy, the computational mesh contains 12, 819 nodes, while the developed dual-mesh strategy
results in 12, 160 nodes.
Figure 6.10 compares the solution of Sørensen [20] to the predicted pressure
coefficient on the surface of the aerofoil. For this test case, the standard and newly
developed finite volume methodologies once again resulted in similar solutions,
and at comparable computational cost. The GCI error bound, based on the
computed lift coefficient, is 0.41% for the standard scheme, and 0.39% for the
61
alt. scheme
UnivPSfrag
ersity oreplacements
f Pretoria etd – Pattinson, J (2007)
PSfrag replacements
analytical
analytical
CP U time [minutes]
Cp
6.4 Subsonic Compressible flow: NACA0012
L2 (Residual)
Coord
std. single
grid
θ [rad]
0.8
p
[Pstd.
a] /multigrid
u [m/s]
10
std. u1 [m/s]
1
0.6
alt. single grid
std. u1 [m/s]
0.4
0.2
std. single grid
std. p [P a]
0
Cp
alt. single grid
std. u2 [m/s]
std.& alt. multigrid
alt. u1 [m/s]
0.1
std. single grid
std. p [P a]
0.01
alt. u1 [m/s]
0.001
alt. multigrid
alt. u2 [m/s]
1e-04
-0.2
-0.4
alt. multigrid
alt. u2 [m/s]
alt. single grid
std. u2 [m/s]
L2 (Residual)
p
θ [rad]
[Pstd.
a] /multigrid
u [m/s]
-0.6
alt. p [Ptop
a]
-0.8
alt. p [P a]
top
bottom
std. scheme
bottom
alt. schemeSingle grid
-1
Single grid
-1.2
0
0.2
M ultigrid
0.4
0.6
Coord
0.8
std. single grid
alt. single grid
1e-05
std.& alt. multigrid
1e-06
0
1
std.
scheme
M ultigrid
5
10
15
20
25
30
35
CP U time [minutes]
alt. scheme
analytical
analytical
θ [rad]
θ [rad]
Figure 6.10: Solution (left) and convergence plot (right) for the subsonic test
Cp
case. Here std. and alt denote the standard and alternative discretization schemes
Coord
respectively.
p [P a] / u [m/s]
1.5
p [P a] / u [m/s]
1
std. u1 [m/s]
1
std. u1 [m/s]
0.1
0.5
Cp
std. p [P a]
std. u2 [m/s]
L2 (Residual)
std. u2 [m/s]
0.01
std.& alt. multigrid
0.001
alt. single grid
std. p [P a]
0
alt. u1 [m/s]
alt. u1 [m/s]
alt. u2 [m/s]
-0.5
alt. u2 [m/s]
1e-04
alt. p [P a]
-1
alt. p [P a]
1e-05
top
bottom
std. scheme
alt. schemeSingle grid
Single grid
-1.5
0
M ultigrid
0.2
0.4
Coord
0.6
0.8
std. single grid
1e-06
0
1
M ultigrid
2
4
6
8
10
12
14
CP U time [minutes]
Figure 6.11: Solution (left) and convergence plot (right) for the transonic test
case. Here std. and alt. denote the standard and alternative discretisation schemes
respectively.
alternative method. Asymptotic convergence was achieved as indicated by GCI
ratios of 1.001 and 1.02 for the standard and alternative schemes respectively.
In terms of multigrid performance, the number of relaxation iterations in the
up- and downward sweeps of the V-cycle found to produce best performance was
10 in both directions. The improvement in computational time achieved using
multigrid, based on a drop in residual of 6 orders of magnitude, are circa 19 times
62
alt. multigrid
top
University of Pretoria etd – Pattinson, J (2007)
bottom
PSfrag replacements
std. scheme
CP U time [minutes]
alt. scheme
L2 (Residual)
analytical
std. single grid
Cp
std. multigrid
Coord
alt. single grid
θ [rad]
alt. single grid p
6.4 Subsonic Compressible flow: NACA0012
[P a] / u [m/s]
std. single grid
std. u1 [m/s]
std.& alt. multigrid
std. u2 [m/s]
alt. multigrid
std. p [P a]
top
alt. u1 [m/s]
bottom
alt. u2 [m/s]
std. scheme
alt. p [P a]
alt. scheme
Single grid
analytical
M ultigrid
Cp
Figure 6.12: Pressure contours of the NACA0012 transonic test case.
Coord
θ [rad]
p [P a] / u [m/s]
std. u1 [m/s]
0.1
Simple
Closest Node
Furtherest Node
Finite Difference
std. u2 [m/s]
std. p [P a]
0.01
alt. u1 [m/s]
alt. p [P a]
Single grid
M ultigrid
L2 (Residual)
alt. u2 [m/s]
0.001
1e-04
1e-05
1e-06
0
2
6
4
8
10
CP U time [minutes]
Figure 6.13: The effect of the choice of agglomeration strategy the NACA0012
transonic test case.
63
analytical
std. single grid
Cp
std.& alt. multigrid
Coord
alt. multigrid
θ [rad]
analytical
std. single grid
University of Pretoria eCtpd – Pattinson, J (2007)
std.& alt. multigrid
Coord
alt. multigrid
6.5 Transonic
Compressible flow: NACA0012
θ [rad]
top
top
p [P a] / u [m/s]
p [P a] / u [m/s]
bottom
bottom
std. u1 [m/s]
std. scheme
std. u1 [m/s]
std. scheme
std. u2 [m/s]
alt. scheme
std. u2 [m/s]
alt. scheme
std. p [P a]
analytical
std. p [P a]
analytical
alt. u1 [m/s]
Cp
alt. u1 [m/s]
Cp
alt. u2 [m/s]
alt. u2 [m/s]
alt. p [P a]
alt. p [P a]
Single grid
Single grid
Coord
θ [rad]
Coord
θ [rad]
p [P a] / u [m/s]
p [P a] / u [m/s]
M ultigrid
std. u1 [m/s]
M ultigrid
std. u1 [m/s]
std. u2 [m/s]
std. u2 [m/s]
std. p [P a]
std. p [P a]
alt. u1 [m/s]
alt. u1 [m/s]
alt. u2 [m/s]
alt. u2 [m/s]
alt. p [P a]
alt. p [P a]
Single grid
Single grid
M ultigrid
M ultigrid
Figure 6.14: Supersonic test case - standard discretisation scheme: The fine and
coarse dual meshes.
better than the Jacobi scheme for both discretisation schemes.
6.5
Transonic Compressible flow: NACA0012
The second compressible example is concerned with the transonic flow over a
NACA0012 aerofoil at M = 0.8 and 1.25◦ angle of attack. The same computational meshes used for the previous test case are once again employed (Figures 6.8
and 6.9). The solutions obtained are compared to the benchmark solution in Figure 6.11. The GCI error bound for the standard scheme is 0.737%, and for the
alternative scheme 0.835%. Asymptotic convergence was once again obtained as
indicated by calculated ratios of 0.999 for both cases. Once again these values
are based on the computed lift coefficient. The aforementioned is an indication
of the equivalence in accuracy between the two schemes employed. As further
shown in the figure, similar computational costs and multigrid speed-ups were
64
analytical
std. single grid
analytical
std. single grid
University of Pretoria eCtpd – Pattinson, J (2007)
Cp
std.& alt. multigrid
std.& alt. multigrid
Coord
Coord
alt. multigrid
alt. multigrid
6.5 Transonic
Compressible flow: NACA0012
θ [rad]
θ [rad]
top
top
p [P a] / u [m/s]
p [P a] / u [m/s]
bottom
bottom
std. u1 [m/s]
std. scheme
std. u1 [m/s]
std. scheme
PSfrag replacements
std. u2 [m/s]
PSfrag replacements
std. u2 [m/s]
alt. scheme
alt. scheme
std. p [P a]
CP U time [minutes]
analytical
std. p [P a]
analytical
u1 [m/s]
L2 alt.
(Residual)
Cp
alt. u1 [m/s]
Cp
u2 [m/s]
std.alt.
single
grid
alt. u2 [m/s]
alt. p [P a]
std. multigrid
p [P a]
std. alt.
multigrid
Singlegrid
grid
alt. single
Single grid
Coord
Coord
θ [rad]
θ [rad]
p [P a] / u [m/s]
p [P a] / u [m/s]
M ultigrid
alt. single
grid
std. u1 [m/s]
M ultigrid
alt. single
grid
std. u1 [m/s]
std. single grid
std. u2 [m/s]
std. single grid
std. u2 [m/s]
std.& alt. multigrid
std. p [P a]
std. p [P a]
alt. multigrid
alt. u1 [m/s]
alt. u1 [m/s]
top
alt. u2 [m/s]
top
alt. u2 [m/s]
bottom
alt. p [P a]
bottom
alt. p [P a]
Single grid
std. scheme
Single grid
M ultigrid
alt. scheme
M ultigrid
analytical
Cp
Figure 6.15: Supersonic test case - alternative discretisation scheme: The fine
Coord
and
coarse
dual
meshes.
θ [rad]
θ [rad]
p [P a] / u [m/s]
0.35
std. u1 [m/s]
0.3
p [P a] / u [m/s]
analytical
std. scheme
alt. scheme
std. u1 [m/s]
0.01
std. single grid
0.001
1e-04
0.25
Cp
std. p [P a]
std. u2 [m/s]
L2 (Residual)
std. u2 [m/s]
0.2
1e-06
alt. u1 [m/s]
alt. u1 [m/s]
alt. u2 [m/s]
1e-05
std. p [P a]
0.15
1e-07
alt. u2 [m/s]
alt. single grid
1e-08
alt. p [P a]
alt. p [P a]
0.1
std.& alt. multigrid
1e-09
Single grid
Single grid
1e-10
0.05
0
M ultigrid
0.2
0.4
0.6
0.8
Coord
1
1.2
1.4
1.6
0
1.8
M ultigrid
0.5
1
1.5
2
2.5
3
3.5
4
CP U time [minutes]
Figure 6.16: Supersonic test case: Solution (left) and convergence plots (right).
achieved. The latter was circa 3 in CPU time for a drop in residual of 6 orders
of magnitude. In this case, the number of relaxation iterations was set to 4 on
both up- and downward sweeps. A contour plot of the predicted non-dimensional
65
University of Pretoria etd – Pattinson, J (2007)
6.6 Supersonic Compressible flow: 10◦ Double Wedge
pressure around the aerofoil is presented in Figure 6.12. The shocks on both
upper and lower surfaces of the aerofoil are clearly visible.
Finally, as the transonic test case contains subsonic regimes as well as shocks,
(being representative of a range of flow regimes) it was selected to evaluate the
various coarsening strategies. The CPU times resulting from each are depicted
in Figure 6.13. What is clear from the figure is that all but the “furtherest node”
option resulted in similar CPU times. The latter was inferior to the others, which
is expected due to it generating coarse meshes which are least representative of
the fine mesh.
6.6
Supersonic Compressible flow: 10◦ Double
Wedge
For the supersonic flow test case, the 10◦ double-wedge benchmark problem at
M = 2.0 was modelled. The angle of attack for this problem is 0◦ and supersonic in- and outflow boundary conditions were employed to allow shocks to cross
the computational domain boundaries. The fine mesh for the standard and new
dual-mesh construction schemes is shown together with a selection of their agglomerated coarse meshes in Figures 6.14 and 6.15. The fine mesh on the standard
scheme contains 16, 237 nodes and the alternative scheme, 15, 770 nodes. The finite difference agglomeration scheme was used to generate the coarse meshes.
Node-based coarsening ratios of between 3.7 and 4.3 were achieved and a single
relaxation sweep on each leg of the V-cycle was found to yield best convergence.
The solution is compared to the analytical solution in Figure 6.16. The GCI
error bound for the standard scheme is 1.333% and the alternative scheme 1.264%,
with GCI convergence ratios of 1.022 and 0.998 for the standard and alternative
schemes respectively. These results are based on the error between the analytical
and computed solutions. As per the previous test cases, the two discretisation
schemes resulted in comparably accurate solutions and comparable computational
cost and multigrid speed-ups.
Finally, this test case further provides a strict test for the far-field boundary
conditions. This is as strong supersonic shocks cross this boundary. The calcu-
66
alt. multigrid
top
bottom
University of Pretoria etd – Pattinson, J (2007)
6.7 Spatial Convergence of Artificial Dissipation
std. scheme
alt. scheme
analytical
Cp
Coord
θ [rad]
p [P a] / u [m/s]
std. u1 [m/s]
std. u2 [m/s]
std. p [P a]
alt. u1 [m/s]
alt. u2 [m/s]
alt. p [P a]
Single grid
M ultigrid
Figure 6.17: Mach number contours of the supersonic test case indicating the
success of the non reflecting boundary conditions.
lated Mach number contours over the domain are presented in Figures 6.17 and
6.18. As shown, the shock clearly crosses the far field boundaries indicating the
efficiency of the boundary modelling technology.
6.7
Spatial Convergence of Artificial Dissipation
The stabilisation scheme used in this work is not popular in the context of Cartesian meshes, which is thought to be due to the scheme being better suited to
meshes with less dramatic mesh stretching ratios i.e. not a factor 2 or more.
Although overall asymptotic convergence is achieved in the test cases presented,
it is therefore of interest to quantify the influence of the artificial dissipation
terms. Of interest here is firstly, if the dissipation terms are showing asymptotic
convergence behaviour (these terms should tend towards zero), and secondly the
relative magnitude of these terms as compared to the discretised spatial (convective) term. It is proposed to obtain a measure of this by comparing the spatial
and the dissipation’s contribution to the converged residual, to one another.
67
top
bottom
University of Pretoria etd – Pattinson, J (2007)
std. scheme
6.7 Spatial Convergence of Artificial Dissipation
alt. scheme
analytical
Cp
Coord
θ [rad]
p [P a] / u [m/s]
std. u1 [m/s]
std. u2 [m/s]
std. p [P a]
alt. u1 [m/s]
alt. u2 [m/s]
alt. p [P a]
Single grid
M ultigrid
Figure 6.18: Mach number contours on supersonic test case.
For the purpose of this exercise, the subsonic case is considered as it does not
contain any shock regions. This is so that the artificial dissipation can be assessed
without the influence of the shock capturing (first order accurate) term. The Euclidean norm of the spatial contribution towards the residual as well as that of
the dissipation terms, for various meshes, is shown in Figure 6.19. It can be seen
from the figure that in the case of the standard scheme, the dissipation over the
finest three meshes shows asymptotic like convergence to the same extent as the
spatial terms. Further, the dissipation is always considerably smaller than the
spatial terms. However, in the case of the alternative scheme, the aforementioned
convergence is not evident, which is to the detriment of solution accuracy. This is
thought to be due to the off-centre face positions (with regard to placing on the
edges) being accounted for in the discretisation of the convective term, but not
when calculating dissipation. This is the case as artificial dissipation does not
naturally lend itself to account for off-centre face positions (apart from affecting
the dissipation scaling parameter Λ (Equation 4.16)). It may therefore be advantageous to employ a high-resolution upwinding flux limiter in conjunction with
the alternative discretisation method (that does explicitly account for off-centre
face positions).
68
analytical
University of Pretoria etd – Pattinson, J (2007)
Cp
Coord
6.8 Results discussion
θ [rad]
p [P a] / u [m/s]
std. u1 [m/s]
std. u2 [m/s]
std. p [P a]
alt. u1 [m/s]
0.01
alt. u2 [m/s]
Single grid
L2
alt. p [P a]
M ultigrid
|RHS − D| std.
|D| std.
|RHS − D| alt.
|D| alt.
0.001
0.001
Characteristic Length
Figure 6.19: Spatial convergence of artificial dissipation terms on the NACA0012
subsonic test case.
6.8
Results discussion
Table 6.1 summarises all the numerical results presented in this chapter. In
the first column, the number of nodes that the fine meshes contain is listed.
Looking first at solution accuracy, the GCI error bound for all cases is less than
2% and there is little difference between the standard and alternative schemes.
The ratio that indicates asymptotic convergence, denoted rasym , is again in all
instances comparably close to one. At this point a comment on the GCI process
is necessary. The definition of the characteristic length parameter used for the
evaluation of the GCI error bound and asymptotic convergence on a Cartesian
mesh, is not obvious. In this work three definitions were investigated as described
1/D
1
1
in Appendix A viz. r = N
;r= E
and where r is the smallest uncut edge in
N2
E2
the mesh (not on a cut cell). Unfortunately, it was found that the GCI process
is very sensitive to which definition is employed. It was found that the smallest
edge length parameter resulted in GCI error bounds which appeared the most
consistent with the actual error trend (difference between predicted and actual
69
University of Pretoria etd – Pattinson, J (2007)
6.9 Conclusions
solution) and it was therefore selected for the purposes of the study. Other
concerns about this process stem from the ideal requirement of a refinement ratio
of circa 2. This is not always achievable with the meshes under consideration
due to limitations in generating very fine meshes (memory cost) and accuracy
concerns with very coarse meshes. It is important to note however that despite
the aforementioned limitations, consistent convergence data is obtained from this
study and that the GCI process does serve as an indicator of spatial convergence.
In terms of multigrid, near optimal average node coarsening ratios (rcoarse )
were achieved for all cases. The multigrid speed-ups in CPU time range between
a factor 2 and one order of magnitude. The speed up is seen to be flow regime
dependent with the best performance achieved when no shocks are present. This
may be alleviated by applying more advanced relaxation operators[20]. Unfortunately, a comparison of the multigrid performance to others was not possible in
a quantitative sense, as little 2D multigrid accelerated results on Cartesian grids
have been published. A result found in the literature, that is qualitatively comparable, is the 5 times speed-up achieved by Aftosmis et al. [28] on a 3D ONERA
M6 wing transonic case. This is of similar order to that found in this work.
Finally, in the interest of completeness the CPU/time per node is given in the
last column. This value is based on the time taken for the multigrid accelerated
solution process to reach a residual of 1 × 10−6 (drop in residual of circa 5 orders). As opposed to multigrid speedup the worst performing case was that of
the incompressible flow over a cylinder. This may be a flow / mesh related effect,
but further investigation is in order.
6.9
Conclusions
The modelling technology presented in this work has been validated by application to incompressible and compressible sub-, trans- and supersonic flow problems. It is demonstrated that the new dual-mesh construction strategy with enhanced discretisation scheme, offers the same accuracy as the standard scheme.
Both methodologies were found to have similar computational cost and convergence characteristics. Achieved multigrid speed-ups ranged from one order of
magnitude for subsonic flow, to a factor 2 for the supersonic case.
70
University of Pretoria etd – Pattinson, J (2007)
6.9 Conclusions
Test Case
Finest
GCI
rasym
rcoarse
mesh size
Multigrid
CPU-time/Node
speed-up
(sec/node)
(nodes)
Incompressible
Cylinder std.
Cylinder alt.
Van de Vooren aerofoil std.
Van de Vooren aerofoil alt.
27, 070
25, 886
15, 420
14, 748
0.95%
1.15%
0.22%
0.36%
1.033
1.06
0.996
1.11
3.81
3.87
3.87
3.89
11.8
6.0
35.46
30.49
0.059
0.081
0.0033
0.0047
12, 819
12, 160
12, 819
12, 160
16, 237
15, 770
0.41%
0.39%
0.74%
0.84%
1.333%
1.264%
1.001
1.02
0.999
0.999
1.022
0.998
3.92
3.87
3.92
3.87
4.11
4.05
12.21
14.04
3.08
2.94
1.35
1.23
0.0127
0.0105
0.0168
0.0204
0.0053
0.0058
Compressible
NACA0012 subsonic std.
NACA0012 subsonic alt.
NACA0012 transonic std.
NACA0012 transonic alt.
Double wedge supersonic std.
Double wedge supersonic alt.
Table 6.1: Summary of results. Here rasym refers to the ratio that indicates
asymptotic convergence and rcoarse refers to the average node based coarsening
ratio between coarse grid levels.
71
University of Pretoria etd – Pattinson, J (2007)
Chapter 7
Conclusions and Future Work
7.1
Conclusions
The aim of this project was to develop an in-house CFD tool that could be
used effectively in the concept phase of an aerodynamic design. This tool solves
the Euler equations for compressible and incompressible flows through the use
of a single equation set. These equations are bounded though the application
of characteristic far-field boundary conditions that have been extended in their
application to incompressible problems.
Non-conforming cut-cell Cartesian meshes are employed for numerical solution purposes. These meshes can be generated with great efficiency on complex
geometries and have a high tolerance for so-called “dirty” geometries. Commercial mesh generators are employed to generate these meshes but are limited to
generating 3D meshes only. Thus code was developed to extract a 2D mesh from
a 3D one. Related to this was the development of a cell cutting algorithm to
furnish a body conforming mesh using an overlapping grid (that results from the
aforementioned extraction) as input. This algorithm was developed such that it
retains the innate tolerance for “dirty” geometries in Cartesian meshes.
As the CFD tool developed in this work was started from scratch, alternative
techniques, which are not at present popular in the context of cut cell Cartesian
meshes, were investigated. The foremost of these are the single equation set used
to model both incompressible (via artificial compressibility) and compressible
flow and the use of the vertex-centred finite volume discretisation strategy. This
72
University of Pretoria etd – Pattinson, J (2007)
7.1 Conclusions
strategy operates in an unaltered form in the cut cell and hanging node regions
of the mesh and should prove competitive with the cell centred scheme prevalent
in the context of cut cell Cartesian meshes. As the accuracy of the scheme in the
region of hanging nodes was expected to be reduced to first order, an alternative
dual mesh construction strategy was developed and the discretisation suitably
enhanced. The scope of this study was limited to applying this alternative strategy to 2D problems only, but it is expected that it will easily extend to 3D. To
prevent the odd-even decoupling of the solution known to occur with this type
of discretisation, the Jameson, Schmidt & Turkel [1] artificial dissipation scheme,
which is novel in the context of Cartesian meshes, was employed.
Explicit multi-stage Runge-Kutta temporal discretisation is employed to obtain the steady-state solution to the discretised governing equations. This is
coupled with FAS multigrid to accelerate convergence. The coarse grids used
in the multigrid process were generated through a generic volume agglomeration
technique. This method of generating the coarse grids is novel in the context of
Cartesian meshes.
The developed modelling technology was evaluated by applying it to suitable test cases that cover the entire flow range of interest. The accuracy of the
scheme is evaluated by comparing the predicted flows to published or analytical
solutions. The multigrid solution acceleration strategy employed in this work
has been shown to provide reductions in the CPU time needed for a converged
solution of between circa two and twenty. It is also noted that the standard and
alternative dual mesh construction strategies provide similar results with similar
convergence characteristics. In an attempt to provide a scientific validation process, a grid convergence study, based on the calculation of the GCI error bound,
was performed for all test cases. Overall asymptotic grid convergence was obtained throughout, with error bounds of less than 2% for all cases. To further
evaluate the method and to test the influence of the dissipation scheme, a study
was performed on the grid related convergence of the latter. It was found that although the dissipation was behaving appropriately when employed together with
the standard dual mesh construction, it was not in the case of the alternative
scheme. This is suspected to be due to the dissipation scheme not naturally
73
University of Pretoria etd – Pattinson, J (2007)
7.2 Future Work
lending itself to account for off-centre face positions that occur with the alternative construction. It is believed that this should be further investigated by the
application of a more compact stabilisation method.
7.2
Future Work
The scope of this study was limited to the solution of the 2D Euler equations. A
3D preprocessor, to implement the standard vertex-centred discretisation strategy, was developed but the alternative form was not implemented. The following
are recommended extensions of this work:
• First and foremost, is the extension of the solver to 3D as well as the implementation of the alternative discretisation scheme into the 3D preprocessor.
• As discussed the artificial dissipation does not work well together with the
alternative dual mesh construction scheme. It is recommended that a more
modern stabilisation scheme be implemented and the alternative dual mesh
construction re-evaluated. Here it is important that the stabilisation scheme
selected be capable of taking into account the off-centre face positions in
the dual mesh.
• In this work, grid independent solutions were obtained by brute force i.e.
generating a mesh, obtaining a solution and then refining the mesh manually where necessary. This method is not practical in the context of a
concept screening tool and a more elegant solution could be obtained by
the implementation of a grid adaption routine.
74
University of Pretoria etd – Pattinson, J (2007)
Appendix A
Verification and Validation of
Code
A.1
Introduction
In this work the results of the code are verified using the techniques presented
by Slater [57] in his tutorial. This tutorial follows published AIAA Guidelines
[58]. It should be noted here that there is no set standard for the verification and
validation of CFD software. Indeed there is, according to Slater [57], “professional
disagreement” on the exact procedures for this.
A.2
Convergence Analysis
Two types of convergence are assessed in this study. The first, iterative convergence, is a concerned with how much a solution changes per iteration. The
second, spatial or grid convergence, deals with how much a solution changes when
the grid is refined. An iterative convergence study for each test case can be found
the relevant sections in Chapter 6. Here, solutions in which the Euclidean norm
75
University of Pretoria etd – Pattinson, J (2007)
A.2 Convergence Analysis
of the residual (all terms on the right hand side of Equation 4.21) drops below
1e − 6 are said to have converged.
The procedure for verifying spatial grid convergence is based on the calculation
of three parameters that indicate if grid convergence has been achieved. These
parameters are; fexact an estimate of the solution at zero grid spacing, the socalled Grid Convergence Index (GCI) which is an estimated error bound for the
spatially converged solution, and rasym which indicates if asymptotic convergence
is achieved. These parameters are calculated from the results of three successively
refined meshes, differentiated by the definition of a characteristic length.
No standards exist for determining the characteristic length of a Cartesian
mesh and in this work three different characteristic lengths are defined. The first
is the physical length of the one side of the smallest Cartesian cell in the mesh
i.e. not a cut-cell. A further characteristic length based on the total number of
nodes is defined as per the tutorial as
N1 1/D
(A.1)
N2
where r is the grid refinement ratio, N the total number of nodes from a mesh
r=
and D is the mesh dimension. Note that N1 > N2 . The final parameter used is
based on the number of edges in the mesh and is defined as simply
E1
(A.2)
E2
where E is the number of edges in the mesh. Similar to the above convention,
E1 > E2 . All three characteristic lengths are used in the following stages and
the results are compared. To obtain accurate results it is desired that the charr=
acteristic lengths of successive grids vary by a ratio of 2 or as close as possible to
this. In other words if a grid has a spacing of h then the finer grid would have a
spacing of approximately h2 .
All three of the parameters to be calculated depend on an estimate of the
order of convergence of the scheme. To find this value, denoted p, it is instructive
to look at the error in any numerical method. The error e is defined as the
76
University of Pretoria etd – Pattinson, J (2007)
A.2 Convergence Analysis
difference between the actual solution φ and the estimated solution v and can be
written as
e = φ − v = Chp + Higher order terms
(A.3)
where C is a constant. This can further be rewritten as a function of a characteristic parameter of the solution, such as lift, denoted f from here on,
E = fexact − f h = Chp + Higher order terms
(A.4)
There are three unknowns in this equation and thus it can be solved with the
solutions of three successively refined grids. To this end the above equation is
rewritten in the following form.
f 4h − f 2h 1 − rp
=0
− 1
f 2h − f h
rp −1
(A.5)
This equation is solved for p using the bisection method [59]. It has been previously stated that the discretisation used in the work is notionally second order
accurate. This means that, in this work, p ≈ 2.
Given the value of p the first of the three parameters, fexact can be calculated.
This parameter, an estimation of the exact solution of a numerical problem at
zero grid spacing, is calculated using a Richardson extrapolation as suggested by
Roache [55]:
f h − f 2h
(A.6)
rp − 1
The second parameter, the GCI, is now calculated, for each pair of meshes as:
fexact = f h +
GCI0 = Fs ∗
2h h f −f fh 4h 2h f −f f 2h GCI1 = Fs ∗ p
(A.7)
rp − 1
r −1
where Fs is a factor of safety. In this work the value of 1.25 was used. Using this
information the third parameter can now be calculated,
rasym =
GCI1
2p GCI0
77
(A.8)
University of Pretoria etd – Pattinson, J (2007)
A.2 Convergence Analysis
This convergence parameter provides information on whether asymptotic convergence has been achieved. Asymptotic convergence is said to have been achieved
when it is evident that further levels of refinement will not change the value of p.
This is indicated by the value of rasym which will tend to one, once asymptotic
convergence has been achieved.
78
University of Pretoria etd – Pattinson, J (2007)
Appendix B
Preprocessor
B.1
Introduction
The major parts of the preprocessing phase of a run are covered in Chapter 3. In
this section a brief description of how the preprocessor interprets the geometry
for the cell-cutting algorithm will be given. Further, the method employed to
change the element based data structure of the mesh from the mesh generator to
the edge based data structure used in the solver is discussed.
The preprocessor and the preprocessing phase of any run is responsible for
taking the mesh generated by a mesh generator and delivering it in a form suitable
for the solver i.e. to perform all computations on the mesh that do not change per
iteration in the solver. This phase includes the extraction of a 2D mesh from a 3D
mesh, cell-cutting, marking boundaries for the application of boundary conditions
and applying the discretisation strategy.
This phase is to be performed on meshes that may contain, in 3D, hexahedron
(brick), tetrahedron, prism (wedge) and pyramid type elements and in 2D trianglar
and quadrilateral type elements. Further these meshes will contain hanging nodes.
The preprocessor should also be fast and exhibit O(N ) complexity, where N is
the number of nodes and should be able to interpret the chosen mesh generators
file format (Gambit neutral file format).
79
University of Pretoria etd – Pattinson, J (2007)
B.2 Geometry Interpretation
B.2
Geometry Interpretation
A multitude of geometry definitions are available. These range from very simple
systems such as STL (which is just a surface triangulation), to complex NURBS
format such as STEP. There also are a number of propriety formats available, with
an associated licence fee. Aftosmis [60] uses a surface triangulation approximation
of the CAD geometry. This triangulated geometry is then interpreted by the
preprocessor. Charlton [50] uses a parametric representation of the geometry. In
this work it was decided that the geometry be interpreted by the following existing
geometry protocols STL (used by Harpoon), STEP and IGES. OpenCASCADE
[61] open source C++ libraries were employed for this purpose as it contains all
the necessary file readers and geometry functions.
B.3
Mesh Data Structure Manipulations
In this work the preprocessor was separated into two separate codes for the 2D
and 3D cases respectively. This is not strictly necessary but it was found that
many of the algorithms used in the 2D work did not simply scale to 3D. This is
particularly noticeable in the algorithms used to change the element-based data
structure into an edge-based one.
A mesh generated using a typical mesh generator consists of a numbered
node table containing node coordinates and an element table consisting of node
numbers that make up individual elements. Other information such as boundary
nodes is communicated differently in the various formats but typically a list of two
dimensional boundary elements is stored. This is the case with the Gambit generic
mesh file format that the chosen mesh generator [26] is capable of generating. This
is what is referred to as the element based format. The construction of the edgebased vertex-centred dual-mesh requires the addition of, among other things, an
edge table to this existing format.
The mesh from the mesh generator is made up of four very specific 3D element
types and two, 2D element types. Boundaries between elements are not explicitly
defined and it is possible for elements of different types to lie next to one another.
80
University of Pretoria etd – Pattinson, J (2007)
B.3 Mesh Data Structure Manipulations
This results in both duplicate edges as well as overlapping faces. As the latter two
are mathematically unacceptable entities, they are removed by the preprocessor.
A graphical view of some of these discrepancies encountered in the various meshes
is presented in Figure B.1. This process will now be described.
To aid the discussion of the removal of these discrepancies it is necessary to
first mention the data structure of both 2 and 3D elements. It is obvious that in
removing these inconsistencies one can no longer retain the specific element types
used by the mesh generator and that a more generic format must be developed.
The format chosen in this work requires that three data-tables be constructed for
each element. The three tables are:
• A list of nodes. A numbered list of nodes that form the element.
• A face table. This contains a list of all faces in the element in terms of local
node number as defined by the above list.
• An edge table. This table lists all the edges in the element, once again in
terms of local node numbers.
All elements contain these tables but in the case where an element is of a
standard type, it is unnecessary to store the face table and edge table more than
once for the whole mesh. In 2D and for the 2D boundary element table in the
3D case the face and edge tables are redundant. Instead nodes are stored in the
element’s node list consecutively such that each node is connected with an edge
to its neighbours in the table.
The procedure for removing these discrepancies is divided into two phases,
detection and removal. In the 2D case the only discrepancies that occur are
those surrounding hanging nodes. To detect hanging nodes in this case a table of
all elements in which a node appears is created. As hanging nodes only occur in
Cartesian mesh regions one can correctly assume that an interior hanging node is
only surrounded by two neighbouring elements1 . On the boundary any existing
hanging nodes are detected because they are those boundary nodes that occur in
only one element.
1
Note. This step is performed after the splitting of the 3D mesh into a 2D mesh and before
the cell-cutting occurs.
81
University of Pretoria etd – Pattinson, J (2007)
B.3 Mesh Data Structure Manipulations
PSfrag replacements
CP U time [minutes]
L2 (Residual)
std. single grid
std. multigrid
alt. single grid
alt. single grid
std. single grid
std.& alt. multigrid
alt. multigrid
top
bottom
std. scheme
alt. scheme
analytical
Cp
Coord
θ [rad]
p [P a] / u [m/s]
std. u1 [m/s]
std. u2 [m/s]
std. p [P a]
alt. u1 [m/s]
alt. u2 [m/s]
alt. p [P a]
Single grid
M ultigrid
Figure B.1: Face discrepancies in element-based data structure. In this figure
adjacent elements have been moved apart to reveal the adjacent element faces
(coloured). It is then evident that the edges on the blue face on the left are not
duplicated exactly on the right. This implies duplicate edges and is corrected by
splitting up the blue face on the left to reflect the coloured faces.
82
University of Pretoria etd – Pattinson, J (2007)
B.4 Speed
The discrepancies caused by internal hanging nodes are removed by finding the
missing neighbouring element and adding the hanging node to its node table. To
reduce searching in the mesh, these elements are found using the node-element
table.
In 3D the procedure is different as mesh discrepancies are caused by mismatched faces as opposed to mismatched edges. These mismatches are not only
caused by hanging nodes but also by different elements types neighbouring each
other. An algorithm based on numbers of elements connected to a node is bound
to fail as there is no clear-cut criterion here. Instead discrepancies in the mesh
are detected by checking if every face in every element has a neighbouring face
in another element1 . Should a face not match any of its neighbouring faces, that
face is then marked. A search is then conducted of all unmatched faces to find
faces that should be combined. These will be faces that are co-planar with- and
completely contained within another unmatched face. If one is looking for neighbours of a small face that lie within a large face, this condition will not be met.
This is however, of no concern as the link will be made from the larger face.
Once the mismatched faces have been found, they are described consistently
in the large element by adding faces to that elements face table. As this process
then invalidates other faces the procedure is performed again to fix those faces. It
has been found that only two loops are necessary to fix any mesh although this is
not assumed in the program and this procedure will be repeated until no further
inconsistencies have been found. This procedure has been found to be robust and
capable of redefining all inconsistent faces encountered to date. Having removed
all these discrepancies an edge table is built for the dual mesh construction.
B.4
Speed
To compliment the speed of mesh generation and solution process it is important
to make the preprocessing step as fast as possible. In this work we seek to ensure
1
Note that this holds even on the boundary as all boundary faces are duplicated in a 2D
boundary element table. Thus each boundary element should match with the corresponding
face in its neighbouring 3D element.
83
std. single grid
Cp
University of Pretoria etd – Pattinson, J (2007)
std. multigrid
Coord
B.4 Speed
alt. single grid
θ [rad]
alt. single grid
p [P a] / u [m/s]
the computational
cost of preprocessing a mesh varies linearly with the number
std. single grid
std. u1 [m/s]
of nodes in the mesh. That this has been obtained is clear from Figure B.2 for
std.& alt. multigrid
the 2Dstd.
preprocessor
and Figure B.3 for the 3D preprocessor.
u2 [m/s]
alt. multigrid
std. p [P a]
55
top
50
alt. u1 [m/s]
45
bottom
alt. u2 [m/s]
alt. p [P a]
alt. scheme
Single grid
40
Time (sec)
std. scheme
35
30
25
analytical
M ultigrid
20
Cp
15
Coord
10
10000
15000
20000
30000
25000
35000
40000
45000
50000
Nodes
θ [rad]
Figure
Performance of the 2D preprocessor in terms of time on three
p [P a]B.2:
/ u [m/s]
NACA0012
test cases.
std. u1 [m/s]
std. u2 [m/s]
1100
std. p [P a]
1000
alt. u1 [m/s]
900
800
alt. p [P a]
Single grid
Time (sec)
alt. u2 [m/s]
700
600
500
400
300
M ultigrid
200
100
0
0
100000
200000
300000
400000
500000
600000
700000
800000
900000
1e+06
Nodes
Figure B.3: Performance of the 3D preprocessor in terms of time on three
NACA0012 test cases.
84
University of Pretoria etd – Pattinson, J (2007)
Appendix C
Extrapolation and Interpolation
Procedures
For the application of the characteristic boundary conditions and the prolongation operators extrapolation and interpolation operators are needed. Two such
operators have been employed. These are the method of linear least squares and
the method of inverse distance weighting of Watson [44].
The method of linear least squares attempts to generate a planar approximation to the values at the selected points. This plane is then used to provide an
approximation to the value at a particular point of interest . To determine the
coefficients of the plane P(x0 , x1 ) = a0 + a1 x0 + a2 x1 the following equation must
be solved,
 PM
 
PM
PM
 
Pi
M
x0i
x1i
a0
i=1
i=1
i=1
P
P
PM 2
PM
 M x1i Pi  =  M x1i


a1 
x
i=1 x0i x1i
Pi=1
Pi=1
PMi=1 1i
P
M
M
M
2
a2
i=1 x0i Pi
i=1 x0i
i=1 x0i x1i
i=1 x0i
(C.1)
where x0 and x1 are the coordinate directions, P refers to the value of interest at
each selected point. M is the total number of selected points. A direct Gausselimination solver [59] was coded to solve this equation.
85
University of Pretoria etd – Pattinson, J (2007)
The method of inverse distance weighting computes a weighted average of all
selected points to provide an estimate of the value at a point of interest. The
following equation is used
Pboundary =
where di =
PM
i=1 (xboundary
PM
Pi
i=1 di
PM 1
i=1 di
(C.2)
− xi )2 i.e. the shortest distance between the each of
the selected nodes and the current boundary node.
86
University of Pretoria etd – Pattinson, J (2007)
References
[1] Jameson A., Schmidt W. & Turkel E. (1981). Numerical simulation
of the Euler equations by finite volume methods using Runge-Kutta timestepping schemes. In AIAA paper 81-1259, AIAA 5th Computational Fluid
Dynamics Conference. xi, 3, 22, 31, 36, 73
[2] White F.M. (2006). Viscous Fluid Flow . McGraw-Hill International Editions, Singapore, 3rd edn. 2
[3] Aftosmis M.J., Berger M.J. & Melton J.E. (1998). Robust and efficient Cartesian mesh generation for component-based geometry. AIAA Journal , 36, 952–960. 3, 15
[4] Ingram D.M., Causon D.M. & Mingham C.G. (2003). Developments
in Cartesian cut cell methods. Mathematics and Computers in Simulation,
61, 561–572. 3, 14, 17, 21, 22
[5] Brandt A. (1977). Multi-level adaptive solutions to boundary value problems. Mathematics and Computation, 21, 333–390. 3, 40
[6] Lallemand M.H., Steve H. & Dervieux A. (1992). Unstructured
mulitgridding by volume agglomeration: Current status. Computers and Fluids, 21, 397–433. 3, 39, 42, 48, 50
[7] Clarke D.K., Salas M.D. & Hassan H.A. (1986). Euler calculations
for multi-element airfoils using Cartesian grids. AIAA Journal , 24, 353–358.
7, 11, 21
87
University of Pretoria etd – Pattinson, J (2007)
REFERENCES
[8] Coirier W.J. & Powell K.G. (1995). An accuracy assessment of
Cartesian-mesh approaches for the Euler equations. Journal of Computational Physics, 117, 121–131. 7, 17, 21, 22, 38
[9] Ham F.E., Lien F.S. & Strong A.B. (2002). A Cartesian grid method
with transient anisotropic adaptation. Journal of Computational Physics,
179, 469–494. 7, 21, 38, 41, 42
[10] Murman S.M., Aftosmis M.J. & Berger M.J. (2002). Numerical simulation of rolling-airframes using a multi-level Cartesian method. In AIAA,
vol. Paper 2002-2798, St. Louis. 7, 15, 16, 21
[11] Murman S.M., Aftosmis M.J. & Berger M.J. (2003). Simulations of
6-DOF motion with a Cartesian method. In AIAA, vol. Paper 2003-1246,
Reno. 7, 17, 22
[12] Yang G., Causon M., Ingram D.M., Saunders R. & Batten P.
(1997). A Cartesian cut cell method for compressible flows part A: Static
body problems. The Aeronautical Journal , 101, 47–56. 7, 15, 17, 21
[13] Yang G., Causon D.M. & Ingram D.M. (1999). Cartesian cut-cell
method for axisymmetric separating body flows. AIAA Journal , 37, 905–
911. 7, 21, 22
[14] Malan A.G., Lewis R.W. & Nithiarasu P. (2002). An improved unsteady, unstructured, artificial compressibility, finite volume scheme for viscous incompressible flows: Part I. Theory and implementation. International
Journal for Numerical Methods in Engineering, 54, 695–714. 8, 9, 21, 29,
32
[15] Prandtl L. (1904). Über flüssigkeitsbewegung bei sehr kleiner reibung. In
Proc. Third Int. Math. Cong., Heidelberg. 11
[16] Baker T.J. (2003). Three decades of meshing; a retrospective view. In
AIAA Computational Fluid Dynamics Conference, vol. Paper 2003-3563,
Orlando, Florida. 14
88
University of Pretoria etd – Pattinson, J (2007)
REFERENCES
[17] Jameson A. & Mavriplis D. (1986). Finite volume solution of the twodimensional Euler equations on a regular trianguler mesh. AIAA Journal ,
24, 611–618. 15
[18] Mavriplis D.J. (1990). Accurate multigrid solution of the Euler equations
on unstructured and adaptive meshes. AIAA Journal , 28, 213–221. 15, 31,
32, 33
[19] Mavriplis D.J. & Venkatakrishnan V. (1995). Agglomeration multigrid for two-dimensional viscous flows. Computers and fluids, 24, 553–570.
15, 48, 50
[20] Sørensen K.A. (2002). A Multigrid Acceleration Procedure for the Solution of Compressible Fluid Flows on Unstructured Hybrid Meshes. Doctor of
Philosophy Thesis submitted to the University of Wales Swansea, Swansea.
15, 37, 40, 42, 48, 61, 70
[21] Berger M., Aftosmis M. & Adomavicius G. (2000). Parallel multigrid
Cartesian meshes with complex geometry. In Proc. Parallel CFD Conference,
Holland. 15, 16, 21, 22
[22] Ogawa T. (1999). Development of a flow solver using the adaptive Cartesian
mesh algorithm for wind environment assessment. Journal of Wind Engineering and Industrial Aerodynamics, 81, 377–389. 15, 21, 38
[23] Wang Z.J. & Chen R.F. (2002). Anisotropic solution-adaptive Cartesian
grid method for turbulent flow simulation. AIAA Journal , 1969–1978. 15,
21, 22, 38
[24] Popinet S. (2003). Gerris: A tree-based adaptive solver for the incompressible Euler equations in complex geometries. Journal of Computational
Physics, 190, 572–600. 16, 21, 38
[25] Yang G., Causon M., Ingram D.M., Saunders R. & Batten P.
(1997). A Cartesian cut cell method for compressible flows part B: Moving
body problems. The Aeronautical Journal , 101, 57–65. 16
89
University of Pretoria etd – Pattinson, J (2007)
REFERENCES
[26] Harpoon (2005). CEI, http://www.ceintl.com/products/harpoon.html,
version 1.4.0 a 2 edn. 16, 80
[27] Gambit (2004). Fluent Inc., http://www.fluent.com/software/gambit/index.htm, version 2.1 edn. 16
[28] Aftosmis M.J., Berger M.J. & Adomavicius G. (2000). A parallel
multilevel method for adaptively refined Cartesian grids with embedded
boundaries. In AIAA, vol. Paper 2000-0808, Reno. 17, 21, 22, 38, 41, 42, 70
[29] Koh E.P.C., Tsai H.M. & Liu F. (2005). Euler solution using cartesian
grid with a gridless least-squares boundary treatment. AIAA Journal , 43,
246–255. 17
[30] Causon D.M., Ingram D.M., Mingham C.G., Yang G. & Pearson
R.V. (2000). Calculation of shallow water flows using a Cartesian cut cell
approach. Advances in Water Resources, 23, 545–562. 21, 22
[31] Tucker P.G. & Pan Z. (2000). A Cartesian cut cell method for incompressible viscous flow. Applied Mathematical Modelling, 24, 591–606. 21
[32] Ye T., Mittal R., Udaykumar H.S. & Shyy W. (1999). An accurate Cartesian grid method for viscous incompressible flows with complex
immersed boundaries. Journal of Computational Physics, 156, 209–240. 21
[33] Zhang L.P. & Wang Z.J. (2004). A block LU-SGS implicit dual timestepping algorithm for hybrid dynamic meshes. Computers & Fluids, 33,
891–916. 21, 22, 38
[34] French A. (2004). Solution of the euler equations on cartesian grids. Applied Numerical Mathematics, 49, 367–379. 21
[35] Hirsch C. (1990). Numerical Computation of Internal and External Flows,
Computational Methods for Inviscid and Viscous Flows, vol. 2. Wiley. 22
[36] Beam R.M. & Warming R.F. (1976). An implicit finite difference algorithm for hyperbolic systems in conservation law form - Application to
90
University of Pretoria etd – Pattinson, J (2007)
REFERENCES
Eulerian gas-dynamics equations. Journal of Computational Physics, 22,
87–110. 22
[37] MacCormack R.W. & Baldwin B.S. (1975). A numerical method for
solving the Navier-Stokes equations with application to shock-boundary layer
interactions. In AIAA paper 1-75 . 22
[38] Vahdati M., Morgan K., Peraire J. & Hassan O. (1989). A cellvertex upwind unstructured grid solution procedure for high-speed compressible viscous flow. In International Conference on Hypersonic Aerodynamics,
12.1–12.22, Royal Aeronautical Society, London. 23, 29, 36
[39] Crumpton P.I., Moinier P. & Giles M.B. (1997). An unstructured
algorithm for high Reynolds number flows on highly stretched meshes. Numerical Methods in Laminar and Turbulent Flow (ed. C. Taylor and J. T.
Cross), 561–572. 29
[40] Sørensen K.A., Hassan O., Morgan K. & Weatherill N.P. (2002).
Agglomerated multigrid on hybrid unstructured meshes for compressible
flow. International Journal for Numerical Methods in Fluids, 40, 593–603.
29, 31, 39
[41] Malan A.G. (2002). Investigation into the Continuum Thermodynamic
Modeling of Investment Casting Shell-Mould Drying. Ph.D. thesis, University of Wales Swansea. 29, 40
[42] Swanson R.C. & Turkel E. (1992). On central-difference and upwind
schemes. Journal of Computational Physics, 101, 297–306. 31
[43] Lin F.B. & Sotiropoulos F. (1997). Assessment of artificial dissipation
models for three-dimensional incompressible flow solutions. Journal of Fluids
Engineering, 119, 331–340. 31
[44] Watson D.F. (1992). Contouring, A guide to the analysis and Display of
Spatial Data. Pergamon Press, New York. 34, 50, 85
91
University of Pretoria etd – Pattinson, J (2007)
REFERENCES
[45] Murman S.M., Aftosmis M.J. & Berger M.J. (2003). Implicit approaches for moving boundaries in a 3-D Cartesian method. In AIAA, vol.
Paper 2003-1119, Reno. 38
[46] Tannehill J.C., Anderson D.A. & Pletcher R.H. (1997). Computational Fluid Mechanics and Heat Transfer . Taylor & Francis, Washington,
2nd edn. 39
[47] Taflove A. & Brodwin M.E. (1975). Electromagnetic scattering problems. IEEE Transactions on Microwave Theory and Techniques, 23, 623.
40
[48] Zienkiewicz O.C. & Taylor R.L. (2000). The Finite Element Method:
Volume 3 - Fluid Dynamics. Butterworth-Heinemann, Oxford, 5th edn. 40
[49] Briggs W.L., Henson V.E. & McCormick S.F. (2000). A Multigrid
Tutorial . Society for Applied and Industrial Mathematics, Philadelphia, 2nd
edn. 40, 46, 48
[50] Charlton E.F. (1997). An Octree Solution to Conservation-laws over Arbitrary Regions (OSCAR) with Applications to Aircraft Aerodynamics. Doctor
of Philosophy Thesis submitted to the University of Michigan, Michigan. 41,
42, 80
[51] Hannemann V. (2001). Structured multigrid agglomeration on a data structure for unstructured meshes. In Numerical Methods for Fluid Dynamics VII ,
329–337, Oxford. 42
[52] Mavriplis D.J. & Venkatakrishnan V. (1996). A 3D agglomeration
multigrid solver for the Reynolds-averaged Navier-Stokes equations on unstructured meshes. International Journal for Numerical Methods in Fluids,
23, 527–544. 42
[53] Blazek J. (2001). Computational Fluid Dynamics: Principles and Applications. Elsevier Science, Oxford, 1st edn. 48, 50
92
University of Pretoria etd – Pattinson, J (2007)
REFERENCES
[54] Wesseling P. (1992). An Introduction to Multigrid Methods. John Wiley
and Sons. 49
[55] Roache P. (1998). Verification and Validation in Computational Science
and Engineering. Hermosa Publishers, New Mexico. 53, 77
[56] Belov A., Martinelli L. & Jameson A. (1995). A new implicit algorithm with multigrid for unsteady incompressible flow calculations. In AIAA
Paper , vol. 95-0049. 54
[57] Slater J.W. (2005). Tutorial on CFD Verification and Validation.
NPARC Alliance, http://www.grc.nasa.gov/WWW/wind/valid/tutorial/
tutorial.html. 75
[58] AIAA (1998). Guide for the verification and validation of computational
fluid dynamics simulations. Tech. Rep. AIAA G-077-1998, AIAA. 75
[59] Burden R. & Faires J. (2001). Numerical Analysis. Brooks/Cole, seventh
edn. 77, 85
[60] Aftosmis M.J. (1997). Solution adaptive Cartesian grid methods for aerodynamic flows with complex geometries. In 28th Computational fluid Dynamics, vol. Lecture Series 1997-02, von Karman Institute for Fluid Dynamics.
80
[61] OpenCASCADE (2005). http://www.opencascade.org/, version 5.2 edn.
80
93
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement