This manuscript has been reproduced from the microfilm master. UMI
films the text directly from the original or copy submitted. Thus, some
thesis and dissertation copies are in typewriter face, while others may be
from any type of computer printer.
The quality of this reproduction is dependent upon the quality of the
copy submitted. Broken or indistinct print, colored or poor quality
illustrations and photographs, print bleedthrough, substandard margins,
and improper alignment can adversely affect reproduction.
In the unlikely event that the author did not send UMI a complete
manuscript and there are missing pages, these will be noted.
Also, if
UMI
A Bell & Howell Information Company
300 North Zed) Road, Ann Arbor MI 48106-1346 USA
313/761-4700 800/521-0600
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
A DISSERTATION
SUBMITTED TO THE PROGRAM IN SCIENTIFIC COMPUTING AND COMPUTATIONAL
MATHEMATICS
AND THE COMMITTEE ON GRADUATE STUDIES
OF STANFORD UNIVERSITY
IN PARTIAL FULFILLMENT OF THE REQUIREMENTS
FOR THE DEGREE OF
DOCTOR OF PHILOSOPHY
By
Margot Gerritsen
December 1996
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
UMI
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
ii
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
V Joseph Oliger
(Principal Adviser)
Pelle Olsson
Bob Street
--IS/MM/.ill
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Voor pa,
ik m is je
iv
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Abstract
A simple and efficient solution strategy is designed for fluid flows governed by the compress
ible Euler and Navier-Stokes equations. It is constructed from a stable high-order central
finite difference scheme on structured composite adaptive grids. This basic framework is
suitable for solving smooth flows on complicated domains and is easily extendible with
extra tools to handle specific flow problems. This practical approach differs from the cur
rent trend in numerical analysis to design expensive sophisticated schemes for specific flow
situations. The stable high-order central difference scheme is mathematically formulated
using a recently derived semi-discrete energy method for initial boundary value problems.
The high order of accuracy reduces the number of grid points required in smooth parts of
the flow which leads to efficiency in both computational time and memory. A local grid
adaptation technique is used to increase the grid density where required.
In this dissertation extra tools are developed for the sharp resolution of shocks. The
grids are refined in the shock regions to retain accuracy, as all schemes reduce to firstorder at discontinuities. On the fine grids in these regions, a new effective scalar artificial
viscosity term is added to suppress spurious oscillations generated by the high-order central
difference method. The location and orientation of shocks is determined by a novel and
easy-to-implement wavelet-based detection algorithm. The wavelet theory provides clear
mathematical criteria for detecting shocks, sharp gradients, as well as local oscillations and
other phenomena that axe of interest in computational fluid dynamics.
Standard test cases for the Euler equations are used to validate the proposed methods
and computational modules. The overhead of the composite adaptive grid method and
detection algorithm is negligible compared to the computational kernel. The local grid
adaptation with the high-order scheme is shown to increase computational efficiency. The
resolution of shocks is sharp and compares well to results obtained with more expensive
high-order upwind methods.
v
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Acknowledgem ents
To
Joe Oliger. Thanks much for your kindness, continual support and the freedom you gave
me to pursue the things that were important to me besides SCCM. This includes
skiing, sailing, and my pitiful attempts in rock climbing, which I never would have
made if not for you.
Pelle Olsson. Hadske bra! I hope we can continue our collaboration and our discussions
about hamburgers and better things in life. I really enjoyed working with you.
Gene Golub, the boss. Lots of thanks for all you did for Dave and me; you have played
an important role in our lifes.
Donald Baganoff for his inspired teaching, Bob Street for always answering questions,
Andrew Stuart for supporting SCCM-Advice and his sense of humor, and all three
for cheering up my defense.
Amala Mahadevan and Oliver Ernst. You should have stayed until I was done.
Bill Behrman, Erik Boman, Dave Burgess, Arden King, Hamid Samandari, Tony Shardlow,
Ronnie Sircar, Jeremy Smith, Knut Solna, Ramana Venkatraman and Xiaolei Zhu for
at-work-entertainment. With a very warm, special thanks to Erik and Ronnie because
they will be reading these acknowledgments.
Melissa Aczon, Martin Gander, Ronnie Sircar, Tony Shardlow: no Advice without you.
Kurt Mitchener, Rob van der Wijngaart, Pauline Mollema and Krishna Venkatraman, for
reminding me there is (good!) life outside Stanford. Special thanks to Pauline for
lending ears.
vi
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Arden, Evelyn and Mary, for creating order in chaos and the Pony, for the coffee and the
bagels.
As always, to my wonderful family and my great love and soon-to-be-hubbie Dave. I
have dedicated this dissertation to dad, who passed away last spring and whom I loved
dearly. Its no cliche: I would not have achieved what I did without him.
This work was partially supported by a grant from NSF, DMS 9308471. Its support is
gratefully acknowledged.
vii
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Contents
Abstract
Acknowledgements
1
vi
Introduction
1.1
1.2
Motivation of choices.........................................................................................
1.2.1
1.2.2
The d iscretization.................................................................................
1.3
....................................................................
1.4
Grid adaptation..................................................................................................
10
10
The
12
2.1
2.2
13
13
14
2.1.3
16
18
18
19
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
2.3
2.4
19
2.2.4 Summation-by-parts..............................................................................
20
22
Boundary conditions.........................................................................................
23
23
24
25
................
25
27
31
34
3.2
3.3
3.4
39
..............................................................................................
41
41
41
43
45
45
46
47
49
49
50
............................
54
54
55
Implementation.................................................................................................
59
Composite grids
65
4.1
66
4.2
67
71
71
4.3
be
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
4.3.1
5
73
75
76
77
5.1.2
80
82
...................................................................
82
of a
fu n ctio n...........................................................................................
5.2.3 Relation with conventional detection algorithms
83
...............................
86
88
88
92
93
94
95
97
Results
100
101
102
103
6.3.1
106
106
93
6.4.1
112
6.4.2
114
6.4.3
Transonic f lo w ...............................................................................
117
107
124
7.1 Conclusions.........................................................................................................
124
7.1.1
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
124
7.1.2
125
7.1.3
125
7.1.4
126
7.1.5
127
127
7.2.1
127
7.2.2
129
7.2.3
129
130
7.3.1
130
7.3.2
131
A Symmetrization
134
136
138
D D ata structures
139
Bibliography
143
xi
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
List of Tables
5.1 Filter coefficients and scaling parameters for the splinew a v e le t....................
92
....................................................
98
100
6.2 Norms of the error es in entropy and the computed orderof accuracy q for
the steady vortex problem at t = 0.5.................................................................
106
6.3 Norms of the errors in density and energy for two component grids and
estimated order of accuracy q ...........................................................................
116
116
117
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
List of Figures
3.1 Example composite grid.......................................................................................
40
3.2 A shared physical domain and separate computational domains for the com
ponent grids G\ and G<i in a rectangular domain around a solid cylinder.
42
43
3.3 Composite grids around a cylinder for different widths of the difference sten
3.4 a: interior difference stencil covering overlap points; b: overlap points and
corresponding donor points.................................................................................
44
48
53
3.7 Fine grid/coarse grid boundaries necessitate computation of coarse grid val
ues at intermediate time steps and spatial in terp o latio n ..............................
55
60
62
3.10 Example of a XCOG work session, part I. The label 20 refers to a solid
boundary and 21 to a characteristic boundary (chapter 6).............................
63
64
70
78
79
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
81
83
85
87
89
.................................................................................
91
93
96
5.11 Wavelet coefficients (/, ipm,n) corresponding to an oscillatory grid function / t-. 97
6.1
Solid line exact solution, 6th order (-.), 2nd order (), 1st order (-)...................101
6.2 Density plots for 6.2 at t = 1.8s; exact shock location (*); (a) reference
solution, n = 2000; (b)+(c) SHOEC scheme with local grid adaptation; (b)
n = 200; (c) n = 400; (d) Position of refined grid, n = 200, exacted and
detected shock position (*); (e) 5th order ENO scheme with 3rd order limiter;
n = 400..................................................................................................................
104
6.3 Initial value of the density and the velocity in x-direction for the diagonally
traveling vortex
................................................................................................
105
107
Cut through density plot at x = 5 for T = 10. (a) n = 80; (b) n = 40; (c)
n = 20...................................................................................................................
108
Cut through density plot at x = 5 for T = 100. (a) n = 80; (b) n = 40;
109
. .
6.7 Results experiments Shu for n = 80 and T = 10; (a) second-order TVD
scheme ;(b) third-order ENO; (c) third-order Discontinuous Galerkin; (d)
fifth-order W E N O .............................................................................................
6.8
110
6.9
I ll
(a) Sub critical (Moo < 0.4) flow with stagnation points P3; (b) b: Super
critical (Moo > 0.4) flow with stagnation points Ps .......................................
112
6.10 Initial conditions for Moo = 0.38; (a) surface plot; (b) top view; (c) contour
lines with circumferential direction mapped on to the x-axis
.....................
113
6.11 Grids used in the computations (actual grid densities vary); (a) the composite
grid; (b) the single grid........................................................................................
xiv
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
114
6.12 (a) entropy deviation for the coarse grid; (b) entropy deviation for the fine
grid; (c) enthalpy deviation for the fine grid; (d) Mach number contours for
the fine grid
......................................................................................................
115
6.13 The grids created in the local grid adaptation procedure for r = 4 and r = 2;
(a) coarse grid; (b) coarse grid near cylinder; (c) high-order, r = 4; (d)loworder, r = 4; (e) high-order, r = 2;(f) low-order, r = 2
119
= 0.50
120
121
121
..........................................................................
122
122
....................
123
123
xv
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Chapter 1
Introduction
1.1
This dissertation discusses the ideas and tools that underlie a new general solution strategy
for solving fluid flows governed by the compressible Euler and Navier-Stokes equations.
The emphasis in the design is on sim plicity and efficiency. The basic method consists of
a stable high-order central difference scheme [28] that we derive in chapter 2, and is imple
mented on structured composite adaptive grids. This combination is effective for solving
smooth flows on complicated domains. Simple effective tools are built on top of this basic
framework to handle more complicated problems. This approach differs from the current
trend in academics to design highly sophisticated schemes for specific flow situations as, for
example, the Essentially Non-Oscillatory (ENO) [84, 34] and Total Variation Diminishing
(TVD) [96, 21] schemes that are designed to give well resolved non-oscillatory solutions at
shocks. These sophisticated methods are often complicated and difficult to understand and
implement efficiently by the average user. By providing a simple, general and extendible
solution framework, based on mathematically well behaved numerical methods, we hope to
bridge the gap between academics and engineering practice.
In this dissertation, we construct two extra tools that allow us to handle shock waves
that occur in transonic and supersonic flows. The tools are a fast accurate wavelet-based
detection algorithm and a cheap effective artificial viscosity term to suppress spurious os
cillations generated by the high-order central difference scheme. The detection algorithm
is not limited to locating shocks and can be used to detect spurious oscillations, sharp gra
dients or other phenomena that may be of interest. The composite grid method, detection
1
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CHAPTER 1. INTRODUCTION
algorithm and local adaptation approach discussed in this dissertation are independent of
the underlying numerical scheme and are therefore of general interest to the computational
fluid dynamics community.
The scope of the solution strategy is not limited to the flow problems discussed in this
dissertation. The research was initially motivated by the need to develop a fast numerical
method for ocean upwelling flows with unstable wavefronts. This oceanographic application
is discussed in [27] and in chapter 7 of this dissertation. Turbulence models can be added
to the scheme without effecting its basic properties. Both the local grid adaptation and the
detection algorithm are beneficial to this application.
However, the method cannot deal with intricate shock interactions, moving boundaries
or very complex domains. Intricate shock problems are best resolved by sophisticated
upwind methods. Moving boundaries or very complex domains can be handled best with
unstructured grid methods.
1.2
Motivation of choices
A large variety of solution methods are available for solving the compressible Euler and
Navier-Stokes equations. The key questions in the choice of a method axe: does the appli
cation lend itself to structured grids or are unstructured grids necessary; do we use finite
differences, finite elements or finite volumes; should the time integration be explicit or im
plicit; is it worth while to use a local grid adaptation approach? The ultimate choice is
generally dictated by the problem to be solved. To motivate the choices made in our pro
posed solution strategy we give a brief overview of the existing methods with a discussion
of each of the principal questions.
1.2.1
T h e co m p u ta tio n a l grid
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CHAPTER 1. INTRODUCTION
Steinberg [46] discuss various generation techniques for curvi-linear grids. For some com
plex geometries this mapping might not exist, or it might lead to low quality grids that
create unacceptable errors in the numerical scheme. Structured grids jure therefore not ex
tremely flexible. To overcome these limitations Berger, Melton and Aftosmis [2, 9] started
the development of methods based on non boundary-conforming Cartesian grids. Such
grids can handle complex configurations without the labor intensive case-by-case analysis
that is normally required with body-fitted grids. But special treatment is required for the
grid cells that are cut by the boundaries and it is difficult to maintain accuracy.
In unstructured grids the grid points can not be identified with coordinate lines. In
two dimensions a grid is typically formed by triangular and quadrilateral cells and in three
dimensions tetrahedra, prisms and pyramids are often used. The grids are body-fitted
and very flexible. The unstructured nature of the grid requires explicit bookkeeping of the
grid connectivity which causes a larger memory overhead. Parallelization of these codes
is much harder and requires explicit message-passing to perform communication between
processors. Much effort is being put into the development of parallel tools at present to try
to catch up with the structured grid world [13].
In summary, structured grids have the benefit of simplicity and are straightforward to
implement and parallelize. The memory overhead is lower than unstructured grid codes
and structured grid codes are generally faster because they have good data locality and do
not require as many bidirectional arrays. Unstructured grids have the benefit of flexibility.
Composite structured grids
Several strategies have been developed to combine the simplicity of the structured grids with
the flexibility of the unstructured grids. Hybrid methods use both types of grids on different
parts of the flow domain. In inviscid flow computations, for example, unstructured grids
can be used near complex boundaries and structured grids in the main flow domain [98]. In
viscous flows the situation is often reversed; structured grids are required to retain accuracy
in the boundary layers and unstructured grids are used in the outer regions of the domain
[25]. The solutions are generally coupled through interpolation. These techniques are still
young and are currently being developed. An alternative approach to the hybrid methods
is formed by the multi-domain methods which are also called composite grid methods.
They divide the flow domain into subregions, each of which can accommodate a smooth
curvilinear body-fitted structured grid. The underlying logical structure of composite grids
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CH APTER1. INTRODUCTION
allows the use of standard structured grid methods with little modification. The individual
component grids can be patched or overlapping. In patched grids the different component
grids share a common interface. Care must be taken so that overly skewed grid cells are not
generated at the interlaces. Discontinuous or non-smooth grid lines complicate the solutions
methods. In overlapping grids, communication of the solution between the component
grids is done through interpolation and this offers greater geometric flexibility with smaller
mesh generation times. Composite structured grid methods are chosen in this dissertation
because of this flexibility, simplicity, efficiency and relatively low memory overheads. Recent
developments and grid generation packages are discussed by Part-Enander in [77], Zhu in
[102], and in chapter 3 of this dissertation.
1.2.2
T he d iscretiza tio n
The choice of discretization is closely connected to the choice of grid. Finite differences
are restricted to structured grids, whereas finite elements were designed specifically for
unstructured grids. Finite volumes can be implemented on either type of grid. The number
of available methods is very large. A broad overview is given in Hirsch [35, 36] and for
finite elements in Hughes [38]. Simplicity and efficiency are the main criteria in the design
of our solution strategy. The underlying numerical method should also be well behaved and
therefore stability and entropy conditions also play important roles in the final choice of the
discretization.
Finite difference m ethods
Finite difference methods can be roughly divided into the central and upwind methods
with various orders of accuracy. In central difference methods the discretization ignores
directional preferences in the flow. This leads to very simple schemes that are easy to
implement and to construct for high orders of accuracy, but cause spurious oscillations to
be generated at shocks. Upwind methods are designed to follow the physics closer and
put greater weight on the upstream direction in the difference stencil. High-order upwind
methods, such as the ENO and TVD schemes, filter the information in a non-linear fashion
to obtain sharp shock resolution and avoid the generation of oscillations. An overview is
given in [101]. The construction of such schemes is not straightforward and the schemes are
computationally expensive.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CHAPTER 1. INTRODUCTION
T im e in tegration
Explicit time-stepping methods are fast and easy to implement. For hyperbolic equations,
the time step is usually controlled by a CFL condition. If the characteristic wave speeds
in the flow are high and time accurate solutions are required, the CFL condition severely
restricts the step size which leads to high computational times. Implicit schemes do not
suffer from this constraint, but each time step is more expensive. The resulting matrix
equations are usually solved iteratively [29]. Good parallel iterative solvers are available.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CHAPTER 1. INTRODUCTION
However, preconditioning is often required and parallel preconditioning is difficult and being
actively researched in the numerical analysis community. Explicit methods in general lend
themselves better to parallelization and the faster computational speed can outweigh the
cost of the CFL restriction. In some situations, it is possible to slow down the fastest waves
to increase the time step size artificially. This was proposed by Kreiss and Browning [12]
for the solution of ocean flows and will be used in the simulation of the ocean upwelling
problem described in [27] and chapter 7. Therefore, explicit time stepping is used for our
scheme. We elected an explicit third-order Runge-Kutta method developed by Shu [85]
which preserves TVD stability.
1.2.4
C h o ices m ade
We have chosen to use finite differences on composite structured grids for their simplicity,
efficiency and suitability for parallelization. The composite grids offer sufficient flexibility
for the applications of interest. The high-order central difference schemes are particularly
attractive because of their simplicity. In the past they have not been widely used because
it was not known how to ensure stability for high-order central schemes applied to initial
boundary value problems and because central schemes are notorious for the generation of
spurious oscillations at discontinuities. These problems have been successfully dealt with
in this dissertation. Below we discuss the strategy for gaining stability for finite difference
schemes in more detail. We then discuss grid adaptivity and propose a strategy to suppress
the spurious oscillations effectively and efficiently.
1.3
Stability of a numerical method ensures that the numerical error is not unduly amplified
during the computation, and is therefore a desirable property. If nonlinearities in the
partial differential equation (PDE) give rise to discontinuities, stability is not sufficient to
guarantee that the numerical solution is well-behaved. Solutions are then given in terms
of a weak integral formulation that is valid at discontinuities and equivalent to the PDE
in smooth regions. This integral formulation does not have a unique solution, but several
weak solutions exist. The correct weak solution can be picked out by imposing a suitable
entropy condition. This condition can be interpreted as the mathematical or numerical
equivalent of the second law of thermodynamics which requires entropy to increase over a
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CHAPTER 1. INTRODUCTION
shock. Thus, besides being stable the method should also satisfy an entropy condition to
avoid entropy-violating shocks. In spite of these conditions, the numerical solutions can still
exhibit unwanted behavior locally; spurious oscillations can still be generated at shocks.
The construction of finite difference methods that are stable, entropy-satisfying and
locally well behaved is very hard. Results are often limited to scalar equations in one
dimension. Many different schemes are proposed with different properties based on different
concepts. We briefly list some of the most well-known methods and ideas:
The class of conservative methods was formulated to guarantee that the numerical
solutions obtained are weak solutions so that the computed shock speeds are correct.
Conservation is a sufficient, but not necessary, condition formulated for initial value
problems (IVPs) in terms of a basic quadrature rule [50, 36].
Neumann and Richtmyer [97] showed that adding artificial viscosity to general finite
difference schemes may prevent entropy violating shocks. This technique was used by
Majda and Osher [54] for the Lax-Wendroff difference scheme for scalar conservation
laws.
The monotone schemes [50, 33] are conservative and non-oscillatory, and satisfy en
tropy conditions, but are at most first-order accurate.
The concept of Total Variation (TV) stability discussed in [50] led to the construction
of second-order conservative schemes that are stable for a wide class of one dimen
sional scalar nonlinear IVPs. The MUSCL scheme developed by van Leer [96], and the
PPM method proposed by Collela and Woodward [21] are based on this TV stability
and are referred to as Total Variation Diminishing (TVD) schemes or slope-limiter
schemes. These schemes employ a first-order time stepping method. The TVD con
dition prevents spurious oscillations at shocks, but does not ensure that an entropy
condition is satisfied.
Osher [73] introduced the E-schemes that compute TVD and entropy-satisfying solu
tions, but axe only first-order accurate. He later weakened the E-condition to include
second-order TVD schemes [74].
Tadmor [93] constructed a conservative and entropy conservative second-order scheme
for nonlinear initial value conservation laws.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CHAPTER 1. INTRODUCTION
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CHAPTER 1. INTRODUCTION
to well-defined numerical error estimates (at least for linear problems) which is important
in grid adaptation methods.
1.4
Grid adaptation
In large scale problems it is far more memory and time efficient to concentrate grid points
in regions where more accuracy is required while keeping the grid density low in regions
where the flow is smooth. Often, the locations of these regions are not known a priori and
they can change position in the flow domain. Thus, we use dynamic grid adaptation. Of
course, a high grid density is needed in regions where numerical errors exceed a predefined
tolerance. For linear problems, error estimation follows easily from stability estimates. For
nonlinear equations, the numerical errors can be approximated after linearization if the flow
is sufficiently smooth. Recently Sjogreen [87] showed that all numerical schemes for systems
will degrade to first-order accuracy at shocks so accuracy can only be retained by refining
the grid in the shock region. Error estimation techniques break down at discontinuities
and therefore shock detection algorithms are needed to find the location of the shocks. In
chapter 5 of this dissertation, a fast and accurate detection algorithm is developed based on
a wavelet-analysis of the pressure grid function. In two dimensions, it also gives information
about the orientation of the shocks. If the shock is sufficiently aligned with the grid, this
information can be used to refine the grid only in the direction normal to the shock in which
the flow variables change most rapidly. In the future, this intelligent information could be
used to construct an aligned composite grid in the shock region to enhance the solution
quality.
1.5
We mentioned that high-order central difference scheme are notorious for their generation
of spurious oscillations at discontinuities. The oscillations can be suppressed by addition
of an artificial viscosity term to the difference equations. This has to be done carefully
to avoid excessive smearing of the shock. We construct a scalar artificial viscosity term
that leads to sharper shock resolutions than conventional artificial viscosities, and retains
the stability properties of the SHOEC scheme. Smearing of the shock on the coarse grids
can further be avoided by adding artificial viscosity only on the finer grids
su rrou n d in g
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
the
CHAPTER 1. INTRODUCTION
10
shock that were introduced to retain accuracy. We remark that it is not necessary to add
artificial viscosity outside shock regions to stabilize the numerical method because of the
inherent stability of our finite difference scheme, and that the addition of artificial viscosity
at discontinuities leads to an entropy condition as discussed in section 1.3.
1.6
Overview
In summary, the solution strategy that we describe in this dissertation has the following
building blocks:
Stable high-order central finite difference
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Each of the above items constitutes a part of the dissertation as indicated. We validate
the components with an Euler test suite in chapter 6. Conclusions and future directions are
drawn in chapter 7.
The efficiency of a solution method depends to a large extent on the efficiency of the
computer implementation. The future directions section contains an extensive discussion
of a suitable implementation of the code.
1.7
The solution strategy and tools developed in the dissertation are tested on one and two
dimensional flow problems governed by the compressible Euler equations. We write them
as a system of conservation laws
ut + f x + 9y
0,
u ( x , y , t = 0)
<f>{x,y).
u J , g e ' R d,
( i , y ) e f i c R 2,
t > 0,
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(1.1)
11
CHAPTER 1. INTRODUCTION
u =
pu
.
pv
pu
p
pu
/ =
pu2+p
pu V
9 =
u(E+p)
puv
n
p ir+ p
_ v(E-hp) _
( 1.2)
The variables u, v, E and p are the velocity in the x direction, the velocity in the y direction,
the energy, and the pressure of the gas respectively. The pressure is related to the velocities
through the equation of state for a polytropic gas
P = (7 -1 ) ( - E - |p (2 +t>2)),
(1.3)
where 7 = 1.4 is the ratio of specific heats Cp/cy. At the boundaries of the domain we
prescribe data for the in-going characteristic variables u j by
ur(dl,t) = ip(t).
(1.4)
The flux vector /(it) is a homogeneous function of order one so f{9u) = 9f(u). The Jacobian
f u is non-symmetric.
The entropy S is given by
S = c log (pp-7 ) + constant.
In the remainder of this paper we will use a simplified scaled expression for the entropy of
the form
S = log(pp-7).
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(1.5)
Chapter 2
12
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
2.1
13
To obtain, stability estimates for the nonlinear Euler and Navier-Stokes equations we resort
to the energy method. The energy method can be applied to the continuous as well as the
discrete equations. It is also suitable for the study of problems in general, multi-dimensional
domains.
2.1.1
e (0,1),
t e [ 0 ,T ]
(2.1)
u(x, 0)
= u<j(x),
(2 .2)
u(0, t)
= 0,
(2.3)
= 9(t)-
(2.4)
*(M )
The idea behind the energymethod issimple: to derivean upper bound on some suitable
norm of u at time T. The upper bound is composed of a growth term eaT, determined by
the underlying physical system, multiplying a term depending on the force term f ( x , ), the
initial condition
uq ( x )
lo o k in g
for an
estimate
IN
<
ll/ll, M l)-
Equations for which such energy estimates can be derived are called stable. For more details,
see the extensive discussion by Gustafsson, Kreiss and Oliger in [48].
Generally, five steps are needed to obtain the estimate:
1. Integration-by-parts
^ IN I2 =
2 || x ||2 +
2(u , u x ) + (u, / ) + 2u u x \q
3. Cauchy-Schwartz inequality:
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
14
4. Algebraic inequality:
2|a;y| < ex2 + e~ly2,
5. Sobolev inequality
M L < l . f + ( - ' + i) W I 2,
The desired bound for u(x, T) follows by solving this last inequality analytically. This yields
2 + Jof
M 2 < e T(||u0||
||/|| 2d r + t g(r)2dr).
Jo
The example shown above is particularly simple. More machinery is needed to deal with
non-linear equations and semi-discrete systems. Olsson [69] studied nonlinear conservation
laws. Below we show how his ideas can be applied to the Euler equations that fall into
this category. To handle semi-discrete equations we need discrete analogues to the tools
used in the continuous energy estimate. Kreiss, Scherer and Strand [49, 91] formulated a
summation-by-parts principle to replace the continuous integration-by-parts. Olsson [70]
investigated analogues to the remaining inequalities. The summation-by-parts principle is
discussed in more detail in section 2.2.4.
The correct form of the semi-discrete equations that leads to a semi-discrete stability
estimate was deduced from the continuous energy estimate for the Euler equations which
will be discussed first.
2.1.2
As explained in [69], a continuous energy estimate can be derived for the one-dimensional
Euler equations 1.1 if they are written in symmetrized form using a variable transformation
w = w(u). We define f(w(u)) as f(w(u)) = /(u ). In the transformed system
ut + f{ u )x = ut + f(w(u))x = uwwt + f wwx = 0,
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(2.5)
15
the Jacobian fw is symmetric and 1% is symmetric and positive definite. The key to es
tablishing an energy estimate lies in a special splitting of the flux derivative vector f x and
ut referred to as the canonical splitting. We choose w such that both f(w ) and u(w) are
homogeneous functions of w, i.e.,
u(6w) =
f(0w)
u(w)
f l.jS e R .
= 9&f(w)
(2.6)
pf
(2.7)
UyjW = PU.
Then, the canonical splitting results in
fx
P -pi
P + \ f wWx
p + l ^ * + P +1 f wWx'
@^
Similarly we obtain
* =
+ i9 7 T w
(Z9)
Using the above splittings in 2.5 and taking the inner product with w gives
13 (w,ut) + -T^r i w ^ W t ) =- J r r r (w,fx) - ^ 7 - j { w , f wwx).
P+ l v w
P+1
p+l v
p+ 1
(2.10)
Integration by parts and the homogeneity relations 2.7 yield the following equation for the
norm ||u/||u defined by ||it?(|^ = (w, u^w)
^ IM Iu = ^ K w) = (wxjww) - {w,fwwx) - wr f ww\*1Q.
(2.11)
(2.12)
which is independent of p.
In [69] this is shown to result in
^ IM Iu < il>oAi(w(xo,t))ip0 + ip'[Al (w(xi,t))ipi,
(2.13)
where A/(to ( a )) are the absolute eigenvalues corresponding to the in-going characteristic
variables at the boundary in question. We remark that in general the boundary data must
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
16
be given in characteristic form to obtain an energy estimate. If not, the boundary terms may
depend on the solution u itself [69]. In more forceful terms we say that the characteristic
form kills the dangerous boundary terms. As u^, and A/ both depend on w inequality
2.13 is not an energy estimate in the usual sense. But as the two terms are both positive
definite we will refer to the inequality as a generalized energy estimate. Below we show this
is directly related to an entropy inequality.
2.1.3
Harten [32] derived a family of symmetric transformations w = rju, where 77(14) is a scalar
and convex function given by 77(74) = ph(S). The relation between entropy functions and
symmetrizing variables was found by Mock [61]. The function h(S) is an arbitrary but
differentiable function of the entropy S given by 1.5. The variables w are referred to as the
entropy variables. The relation w = rju gives
i
dh
Is
-^t,2
Wl ~ ^ /l/ ^ _ (7 + 1))]r -
t2'15)
The homogeneity requirements on / ( w) and u(w) restrict the choice of entropy functions.
Equation 2.15 shows that u(w) is homogeneous provided the terms h /h and (7 + 1) in the
expression for u\ p have the same dimension. Otherwise it is not possible to extract a
common power of 0. Thus, h/h =
K,
0.
(2.16)
This exponential family leads to a homogeneous function u(w) that satisfies u(8w) =
1
flur)*u(tt;). Functions h(S) of the form 2.16 were also discussed by Harten [32]. Us
ing his notation we choose
[u 3 + -
P
7_ 1
^[w i
- u 2 u i] r ,
(2.17)
-w 2
~ w2 wl/wz +p*
(2-18)
-
+ ~ ~ J P *) ]T>
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(219)
17
where
p* = x es/(a+i) = x (pp- 7)V(H-r)t p = x -/9 ( (p * ) X ) 1/(1- 7),
with x =
(2.20)
<2-21>
The homogeneity of f(w) follows from equations 2.20, 2.21 and 2.19. The convexity condi
tion on the entropy function given by r/ = ph(S) leads to the conditions x < 0, and a > 0
or a < 7 . This excludes the unacceptable case 0 = 1. We note that for a = 1 and
a = (1 27 ) the expressions for and
= xCpp)-7^12 and
= x 6(P*n>3)-7/2; for a = (1 - 27 ) we have = x(p/p)~7/2 and = X~l (P*/z)7/2Equation 2.17 and the homogeneity property
= (3u give
ll10!!2 = P [
wTu d x = (/3 + 1) f
JXq
K p e KSdx = (/3 + 1) f
*/xo
Jx 0
rjdx.
(2.22)
The right hand side of 2.11 can be shown to be equal to (/3+1) q |*J, where q is the entropy
flux (see [32]) corresponding to the entropy function rj. We get
I
= - ? ;
(2.23)
As indicated in section 2.4, this enables the formulation of an entropy inequality provided
that some artificial viscosity is added to the scheme in flows with discontinuities.
A similar procedure can be applied to the compressible Navier-Stokes equations. As
shown in [32] the viscous terms in the Navier-Stokes equations will be symmetric and
positive definite after symmetrization for any member
7?
generalized entropy functions. Hughes, Franca and Mallet [38] showed that the heat flux
term, if present, will only remain symmetric for
77
in the derivation of the energy estimate. For this entropy function the flux vector and
state vector are not homogeneous in the entropy variables w, but because of the different
character of the boundary conditions (no-slip) the homogeneity properties are not required.
The corresponding entropy inequality represents the second law of thermodynamics. Using
the discrete analogue to the energy estimate discussed below, this stability property is
automatically inherited by the semi-discrete solution.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
2.2
18
The final form of the discrete SHOEC-scheme was inspired by the continuous stability
results given above. In this section we first introduce the SHOEC-scheme and then discuss
summation-by-parts which is a necessary tool to derive the semi-discrete energy estimate.
We do not derive this semi-discrete estimate for the one-dimensional Euler equations, but
refer to [70, 69, 72] for the relevant material. In section 2.4 we derive a semi-discrete energy
estimate for the two-dimensional Euler equations in general coordinates.
2.2.1
When discretizing the Euler equations we apply the canonical splitting to the spatial vari
ables to obtain a system of ordinary differential equations (ODEs). By using 2.8, we obtain
the resulting semi-discrete equations
~ j ip [ f* Dw'
We use bold notation to denote grid vectors like u T =
(v,q,
P * L
u f , . . . , u), where *
(2-24)
*=
0 ,..., n. The difference operator D is defined below. Here, f w denotes the block-diagonal
matrix containing the Jacobians f w(wj(u)). In the remainder of this dissertation this con
vention is used for all matrices in vector equations. The Jacobian f w(w(u)) is given in
Appendix A. We note that it has a simple form if expressed in the variables u. Its com
putation is therefore cheap, also taking into account its symmetry. The variable p* is the
most computationally intensive term because of the exponentials in p and p in 2.20. For
fully isentropic flow, and also outside shock regions, p* is constant. Since p* appears in
the expression for it/,- and the reciprocal of p* in /*, it follows from 2.24 that in those cases
p* is canceled and the computations simplify. We use this simplification on all grids that
do not contain shocks. Also, as shown above, the computation of the exponential terms is
faster for several values of a , e.g., a = 1 and a = 1 27 . We remark that because of the
simplicity of 2.17 and the expression for the Jacobian }w, all computations are done in the
conservative variables and
sh u fflin g
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
19
2.2.2
T im e in teg ra tio n
The equations 2.24 are solved in time by the third-order Total Variation Diminishing
Runge-Kutta scheme formulated in [85]. Higher order TVD stable Runge-Kutta schemes
can be constructed but are more complicated. Although our spatial accuracy is generally
fourth-order, we elected this scheme for its simplicity and stability properties. For the
system of ODEs u* = L(u(w)), the scheme computes the solution ti n+1 at the (n + l)st
time step according to
+
A tL (un),
= 3/4 u n +
l/4 u L +
1/4 A tL (tii),
= 1/3 u n +
t*i
u n+1
un
(2.25)
Df -
f wDw.
B ou n d ary p rojections
The one-sided boundary stencils ensure that the partial differential equations are discretized
consistently at and near the boundary. But the discrete solution computed with the dis
cretization operators is not likely to satisfy the analytic boundary conditions since these
have not been accounted for so far. Therefore, we explicitly force the boundary conditions
by projecting the discrete solution on the vector space in which the boundary conditions are
satisfied. Suitable boundary projections are discussed in section 2.4. The use of projection
operators facilitates the derivation of the semi-discrete energy estimates.
The question is when this projection should be applied; after each intermediate step in
the Runge-Kutta procedure, or only after the new u n+1 is computed? This problem was
investigated by Carpenter, Gottlieb, Abarbanel and Don [14] who found that forcing the
boundary condition at each intermediate time step can reduce the formal accuracy of the
Runge-Kutta method to first-order locally (and second-order globally). This problem is
eliminated for linear problems and nonlinear conservation laws if the boundary condition is
applied at the end of the complete Runge-Kutta cycle.
For the Euler equations, the analytic boundary conditions are given in the form of
characteristic boundary conditions at open boundaries. At solid boundaries, we prescribe
a zero normal velocity. The general form of the boundary conditions is given in section 2.3
for two dimensions from which one-dimensional conditions can easily be derived. In section
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
20
2.4 the relation between the characteristic boundary conditions and projection operators is
discussed. For more detailed information on projection operators, we refer to [69, 71, 68].
2.2.4
S u m m a tio n - b y - p a r ts
(2.26)
for arbitrary discrete grid vectors u and w, with respect to the weighted scalar product
n
(2-27)
(2.28)
To establish the semi-discrete estimate for the Euler equations, E must be diagonal [72].
In [49], Kreiss and Scherer showed that there exist diagonal E anddifference operators D
of accuracy 2p inthe interior and p at the boundary, 1 < p < 4, such that summationby-parts holds. Several such difference operators D and matrices E are computed in [91].
At the boundary the discretization stencils are one-sided. In the experiments performed in
this dissertation we used discretization operators with an overall accuracy of two and four.
The first is second-order accurate in the interior and first-order at the boundary and is
given by
-1
-0.5
0.5
-0 .5
0.5
-1
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
21
j = 0 , .. ., 5
bu =
4i/ + 2
(2.29)
and
(2.30)
bv-i-
= -(uj+ i-uj-i),
( D+ u) j = ^ ( u j + i - u j ) ,
(D-u)j =
i ),
= ( iA x ,jA y ) , is
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
22
(u,v)h = h Y
ViVjVijVij,
i=0 j=0
where h = Ax A y is the cell area. The difference operator that approximates d /d x is given
by Dx and Dy denotes the difference operator for d/dy. They are given by
1 "
{Dxu)ij = Y dikUkj,
k=o
i
{Dyu)ij = Y djkuik.
k=o
(Dyu,v)h,
(2.31)
It is well known that if a scheme is in conservative form, the computed shock speeds will be
correct. This condition is sufficient, but not necessary. Tadmor [92] showed how to obtain
second-order schemes for initial-boundary value problems that are entropy stable and in
conservative form. It is unknown if such schemes exist for higher orders of accuracy. The
SHOEC scheme 2.24 is not written in conservative form. To check the shock speed, we
applied the SHOEC scheme to a one-dimensional Riemann problem with a single moving
shock as exact solution [50]. Several shock strengths were investigated. We used long time
integration with a fixed time (number of time steps of the order O( 103)) and a sequence of
decreasing grid sizes h where h varied from h = 2 10-1 to h = 2 10-4. In all cases, the
computed location of the shock was found to be within the correct grid-cell and thus to
converge with h.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
2.3
23
Boundary conditions
which characteristic boundaries are out-going and which are in-going. Finally, the in-going
characteristic variables are computed from Uqo and the out-going characteristic variables
from tinumi which gives a linear system for the state u.
The computations of At- and the corresponding characteristic variables xpi are straight
forward (see [36]). The eigenvalues are
Ai = A2 = Voo n, A3 = Voo-fi Cqo,A4 = Uoo -n + Coo-
(2.32)
ip2 (0 )
p - -f-,
oo
wiy vnx,
ipziu)
unx +
v riy
(2.33)
(2.34)
H
(2.35)
Poo Coo
^ 4(u) =
unx -
v riy
-I
(2.36)
Poo Coo
Here, n = [nx, ny]T is the unit normal at the boundary (pointing outward), and
is the
Subsonic inflow
In the case of inflow, the velocity normal to the boundary, given by Uqq n with
Woo = [l*ooj Woo]T,
is negative so that Ai, A2 < 0. The flow is subsonic if |uoo fi| < c x.
INote that if any one of the eigenvalues are zero, we consider the corresponding characteristic variables
to be out-going
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
24
Therefore, the two remaining eigenvalues satisfy A3 < 0 and A4 > 0. In other words,
there are three in-going characteristic and one outgoing. The in-going characteristics
are prescribed by Uqo, whereas the outgoing characteristics are given by Unum- This
results in the system of equations
(2.37)
(2.38)
which is solved for the state u at each boundary point.
2. Supersonic inflow
In supersonic inflow all eigenvalues are negative because tioo-n < 0 and |uoo-n| > c. So
all characteristics are in-going and determined by the far field values. We set u =
at each boundary point.
3. Subsonic outflow
Subsonic outflow is characterized by oo -n > 0 and Vgo -n < c. The eigenvalues satisfy
Ai, A2, A4 > 0 and A3 < 0. The state u at the boundary is computed by solving the
system of equations
f/iC1*) Vt (untim)i
lp3(u)
4.
* 1) 2, 4,
^(Uqo)-
(2.39)
(2.40)
Supersonic outflow
In supersonic outflow Uqo n > 0 and Uqo n > c, so all eigenvalues are positive and
the characteristic variables are determined completely by Unum-
v n
0,
(2.41)
v r
Wnum Ti
(2.42)
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
25
where f is the tangential unit vector. Equation 2.42 states that the tangential velocity
returned by the numerical scheme is preserved. The normal and tangential unit vectors
can be computed from the coordinate transformations. As an example, we look at the solid
wall at s 0, r G [0,1] in the circular component grid Gc. Here, n =
y/Sx + 4
* - [a;r , yr]T - Substitution in 2.41 and 2.42 gives the sought after velocity field.
fx
2.4
In this section we derive a stability estimate for the two dimensional Euler equations in
general coordinates. The derivations are built upon the techniques developed by Olsson in
[70, 69, 71, 72].
2.4.1
We are interested in finding a semi-discrete stability estimate for the split and symmetrized
Euler equations
( (/u;W)x + (9wW)y + fmWx + 9u>Wy),
(2.43)
where we used that f ww = (5f . The entropy variables w, fluxes / and g and the Jacobians
f w and gw are given in appendix A.
Initial and boundary conditions
The initial and boundary conditions are written in terms of the entropy variables w to
facilitate the derivation of the estimates. The initial conditions are
u/(x,j/,0) = <p{x,y),
(2.44)
(x , y ) e T ,
(2.45)
where ip[ arethe in-going characteristic variables, 6 are the boundary data prescribed and
T is the boundary of the physical domain. The characteristic variables ip are defined by
ip(x,y,t) = QT(x ,y )w (x ,y ,t)
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(2.46)
26
where the columns of Q are the eigenvectors of the matrix n \ f w 4- n 2 gw, and n = [ni ri2 ]T
the (outward pointing) normal to the boundary. We split the matrix Q according to
Q = (Qi,Qo), where Qi corresponds to the in-going variables and Qo to the out-going.
Assuming that the number of in-going characteristics is di, the dimensions of Qi and Qo
are (4xdi) and (4x(4di)) respectively. In terms of w we can write
LT(x,y)w{x,y,t) = Q f{x,y)w (x,y,t) = 6(x,y,t),
(2.47)
which shows that the above defined characteristic boundary conditions correspond to nonhomogeneous boundary conditions in w.
(2.48)
As the columns of Q are orthogonal, L given in 2.47 has full rank. The boundary operator
in 2.48 has full rank if the operator S(x, y) is small which meaning will become clear
later. We note that because the normal is pointed outwards, the eigenvalues corresponding
to the in-going characteristic variables are always negative. In the following, we assume
that L Tu = 6 is the general representation of the boundary conditions, where 9 can be zero
as well as nonzero, and L is full rank, and given by either 2.48 or 2.47.
We will focus on u and w supported in a neighborhood of (0,0) only, which will simplify
the presentation. Similar results will hold for other parts of the domain.
Com putational coordinates
We assume that the mapping between physical coordinates (x, y) and the computational
coordinates (r, s) G (0, 1) x (0, 1) is a diffeomorphism, that is, the mapping is one-to-one and
both the mapping and its inverse are continuously differentiable. The following relations
between the physical and computational coordinates exist
xr ~
JSy,
yr =
J s x,
J = det
xs =
Jry,
ya =
/Vx,
Xr Xs
Vr
Vs
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(2.49)
27
= *
(2*5)
The Jacobian of the transformation and its determinant J are of course independent of
time. We further assume that \J\ > 0 always (this will ensure that none of the grid cells
has zero volume).
In terms of the computational coordinates, equation 2.43 reads
ut
(2.51)
=e R(w),
(2.52)
Scalar product
For the derivation of the semi-discrete stability estimate we define the scalar product
(u, v)h = (tx, Jv)h = (Ju, v)h,
where
(2.53)
The term Uy represents the solution in the grid point Xy = (iA r, j'A s). For convenience
we chose an equal number of points n in each coordinate direction. In 2.53 each point is
scaled with the cell volume. This scalar product is a natural choice as the analytic scalar
product is equal to
(u, v) = I uTvdCl = /
Jn
J{o,i)x(o,i)
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
28
We also need to define boundary scalar products. Analytic boundary integrals at r = 0 can
be parameterized as
f
u(x,y)Tv{x,y)dT = f uT(x(0,s),y{0,s))v(x{0,s),y(p,s))\x\ds,
J(x,y)er
Jo
(2.54)
with x = [x(0,j) y(0,j)]T. A similar expression is obtained for the boundary represented
by s = 0. We define the boundary scalar product as
n
( u ,v ) r = ^ 2 O-jkoj-ufijVoj + CnjU^jUnj) +
0. (<f0Ufl)u0 +
j =0
iQ
(2.55)
COj = A s |xa|,
qn j
and
Qn .
We assume that E is chosen such that the difference operators Dr and Ds, which rep
resent the d /dr and d/ds derivatives respectively, satisfy a summation-by-parts principle.
The matrix E is diagonal, which is needed to define the summation-by-parts principle in
multiple space dimensions.
N o tatio n s
We denote the solution on the grid by
,.T
r..T
= K
..T \
n)>
uj
ulj)i
= ( 0j
6 5R4.
with
JojI
Jj =
Jnjl
Similar definitions hold for the matrix representation of r x, r y, sx and sy.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
29
fw
with
f w {u 0j )
fw{wij 6 ft4/u;(Unj)
Similar definitions hold for the Jacobians u^, wu and gw.
The discrete boundary conditions are written as
LjjUj = Qij,
i = 0, n, j = 1, , n 1,
and j = 0 , n, i = 0 , , n,
where
L[j = (0 0 L (tA r,;A s) 0 0) e ft4x4(n+1),
with the non-zero element being the ith entry. Note, that
normads at the boimdary in the point
xqj
(2.56)
In the corner (0,0) we have now defined two normals and prescribed two corresponding
boundary conditions. But, for the Euler equations it is natural to specify characteristic
variables in both the r and the s direction at comers. Besides, the double definition
simplifies the computations.
In the remainder of this section it is implicitly assumed that all variables axe represented
as described above.
Boundary projections
We mentioned in section 2.2.3 that when using one-sided boundary stencils the boundary
conditions have to be forced explicitly, which is done through projection operators. To
make the concept of boundary projections more intuitive we first focus on a general problem
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
30
ut = R(u) that does not require symmetrization. Several examples, including symmetric
hyperbolic systems, are discussed in [71, 72]. We assume that the corresponding boundary
conditions are homogeneous and given by LTu = 0, and that L is independent of time.
Let V be the space of solutions u that satisfy LTu 0, and P a projection on V. Then,
u satisfies the boundary conditions if u = Pu for all time t. Certainly that means that
ut = Put. The semi-discrete scheme used is inspired by this last relation; we substitute
ut = R(u) in its right hand side and obtain ut = PR(u). A suitably chosen projection
operator P will allow us to prove that the boundary conditions are now indeed satisfied
at all time, and will enable us to derive a stability estimate with the energy method. The
orthogonal projection on V, with respect to the weighted scalar product, is given by
P = I E -1 L (LTEL)~l LT .
For E = /, or diagonal E, this reduces to the standard orthogonad projection
P = I L (LTL)~lLT.
We see that LTP = 0, so that LTut = (LTu)t = LTPR(u) = 0, and we conclude that the
boundairy conditions are fulfilled at aill time, if the initiad condition satisfies the boundary
conditions. The relation u = Pu is used in the derivation of the semi-discrete energy
estimate to remove the projection term
(u,ut)h, =
(2.57)
The final estimate is derived from 2.57 with use of the summation-by-paxts principle and
appropriate bounds on the resulting boundauy terms [71].
If the boundary conditions aire inhomogeneous ( LTu = g) then we want u to satisfy
u = Pu + (J P)g, where L Tg = g. Such g exists if L has full rank, but is not necessarily
unique. If the projection is independent of t, the semi-discrete system cam be written as
ut = PR(u) + (I P)gt. Agaun, it follows that the boundauy conditions aue satisfied for all
time if we multiply this equation with LT leading to (LTu LTg)t = (LTu g)t = 0. The
relation u = Pu, which was used to derive the energy estimate, does not hold. But, if u and
some u both satisfy the inhomogeneous boundauy conditions then surely u u = P(u u).
In other words, we can derive an energy estimate by formulating the equations in terms of
translations of the solution u. This is the crux to the treatment of inhomogeneous boundary
conditions discussed in [70, 72].
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
31
The Euler equations bring two additional difficulties: the boundary conditions are timedependent; and besides the relation between u and Pu we also need a relation between w
and PTw to apply the energy method. We define the projection P as
P = I - L ( L TwuL ) - l LTwu.
(2.58)
= u L (LTwuL)~l L t wuu
PTw =
u L (LTwuL)~l 0L Tw = u,
w.
(2.60)
with
Rh =
(2.61)
First, it will be shown that this discretization ensures that the boundary conditionsare
satisfied at all time, provided the initial and boundary conditions are compatible. Multipli
cation of equation 2.60 by LTwu yields, with LTwuP = 0,
LTwuJut = LT Jw t = L j j w ,
or
(.LTw)t = 0.
(2.62)
Thus, we have taken into account that L may depend on time. We assumethat the initial
conditions satisfy the boundary conditions, so that LTip = 0 at t = 0 and (x, y) G T, and
consequently L Tw = 0 for all t.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
32
( L (LTwuL)~1L j L (LTwuL)~lL j ) Jw ,
0,
and so
(w,ut)h = ~(w ,Rh(w))h.
Now, we substitute the expression for Rh, and use the fact that the difference operators
satisfy summation-by-parts. Then,
{w,ut)h =
- p+
(2.63)
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(2.64)
33
So,
(w,ut)h = p + \ { boundary terms }.
Using the relation /3u = u^w, we obtain
(w,tit)h = p ^ T [ ^ ( w , u ww)h =
(2-65)
From equation 2.56, 2.50 and 2.55 we see that this equals
^
where n = [ni ri2 ]T is the outward normal to the appropriate boundary. Thus, we get
1
~ W + i I ? aj<;oj
p
j
Aoj ^
+ ?
A*oM
].
where if] are the characteristic variables defined in 2.46. We split ipTAif> according to
-ipTAip =
+ ipoAoipo)-
We remark that because the normal points outward from the boundary,the eigenvalues
corresponding to the in-going characteristic variables are always negative.Using the ho
mogeneous boundary conditions 2.48 we obtain
- { pjAi'ipr + ipoAo-ipo) = -ipo(Ao + STAIS)i>o.
(2.66)
We assume that in the boundary points Xij the eigenvalues of n \ f w + n 2gw satisfy |Ay| > jij.
If 5 is small enough, the term 2.66 will then be non-positive and we obtain
wjj (n ifw
{To ( n J w
+ n 2gw) w i0}
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
2.4.4
34
(2.67)
First, we show that this discretization ensures that the boundary conditions are satisfied at
all times. Multiplication of 2.67 with LTwu gives
LTwuut = L jw + 9t
or
LTwt + L jw 6t = (L t w 6)t = 0.
If the initial and boundary conditions are compatible, it follows that the boundary condi
tions are satisfied for any t > 0.
The relations Pu u and PTw = w are not valid as observed before. Because L has
full rank we know that there exist grid vectors w such that LTw = 6. This means that
Lt (w tZ>) = 0, which inspires us to formulate the semi-discrete equations in terms of the
translated variables (w w). The procedure to derive an energy estimate consists of several
steps and is nearly identical to the procedure used in [72] to derive a semi-discrete esti
mate for the one-dimensional Euler equations with non-homogeneous boundary conditions.
Lem m a 2.1 Let u(w) and Rh(w), defined as in section 2-4-1 and 2.4-3, be real analytic,
and assume that wu is nonsingular and J ^ 0. Then for any given real analytic function
w(t) : 3? -> afj4^ 1)2 of 2.67, there exists a real analytic function to : 5ft 5ft4(n+1)2 that
solves
(Ju(w - w))t - (Ju(w))t - Rh(w - w) + R h(w) = 0,
w(0) = 0
locally in time.
Proof. According to the chain rule we can rewrite 2.68 as
Juw(w w){wt - wt) = (Ju(w ))tR h (w )+ R h (w -w ),
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(z.oo)
35
so that
*' =
w(0) = 6,
(2.69)
where
F(w, t) = wt wu (w w)((Ju)t Rh(w) + Rh(w ~ w))-
(2.70)
But 2.69 has a real analytic solution w (locally in time) according to the Cauchy-Kovalevsky
theorem. Thus, 2.68 has a real analytic solution w.
The boundary conditions were not included in the above lemma. But relation 2.68 is
needed in the derivation of the energy estimate and we want it to be satisfied by w. Because
of the boundary conditions LTw = 0, d\ components of w in the boundary points Xij F
are accounted for. The remaining boundary components and the values of w in the interior
are free to be chosen, and we set them equal to the corresponding values of w. To make
sure that ui is indeed a solution of 2.68 compatibility relations must be formulated between
the boundary components of w and w. This is done through the next assumption.
A ssum ption 2.1 The boundary data w(t) is real analytic in t and satisfies the compatibility
conditions
^ ( 0 ) = F*(0,O),
fc = 0,1, ,
where
Fk(w,t) = ^ f M t M ) + ^ - ( w , t ) F ( w , t ) ,
F0(w,t) = w,
where F(ui, t) is given by 2.70.
With these compatibility conditions we can prove the following lemma.
Lem m a 2.2 If, in addition to the hypotheses of lemma 2.1, it is required that w and 9 be
as in assumption 2.1, then w = w, and so w is a solution of 2.68.
Proof. According to lemma 2.1 there exists a real analytic solution w of 2.68, and
therefore of 2.69, so that
dfiw
-^ifc-(i) = Fk(w,t),
* = 0,1, - - -.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
36
In particular, at t = 0 we obtain
r ( 0 ) = Fk(w, 0) = j ( 0 ) ,
fc
= 0, 1, ,
where the last equation follows from assumption 2.1. Since w and w are real analytic, we
conclude that w = w for t > 0.
Next, we derive a relation for scalar products in terms of the translated variables.
Lem m a 2.3 Let the boundary data 0 and the initial data <j>be such that assumption 2.1
holds. Then, for any real analytic solution w(t) of the semi-discrete equations 2.67 we have
( w w ,(J u (w w))t)h. = ( w w ,R h (w w))h.
Proof. The semi-discrete equations 2.67 give
(w - w, (Ju)t)k = (w - w , P R k ( w ) ) h + ( w - w , z ) h,
(2.72)
(2.73)
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
37
W hen deriving the energy estim ates in terms of the tran slated variables, the boundary
term s th a t are introduced by sum m ation-by-parts are given in term s o f these translations.
These boundary term s have to be related to the original term s, which is done through the
following definition.
D efinition 2.1 Let w satisfy the analytic boundary conditions LTw = 0, L = Qj. We
define the data manifold M associated with these boundary conditions as
Qi\Ar\ Q j ( w - w ) < cQ r |A ,|Q ?( ;)}
(2.74)
L em m a 2.4 Let the boundary data 9 belong to the data manifold 2.74 and let the initial
data 4> be such that assumption 2.1 holds. Then, any real analytic solution w(t) of the
semi-discrete equations 2.67 satisfies
w(t) = w(t),
t > 0.
where n = [ni
n i f v + n 2gv = Qi^iQ'i + Qo^oQoAt the boundary points, Qo^-oQoW) > = 0 , and according to definition 2.1 we have
E i i*o ( Q j ( w ) v f Ar(w)(Q?(w)v) ].
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
But Q j ( w ) v = Q j ( w ) ( w w
)=
38
L t w 9 = 0. Thus,
( v,u(v)t)h < 0,
or
^||u||/,u < 0.
Integration in time gives
IM Im .
<
I|u ( 0 ) I I m -
Since v(0) = w(0) tD(O) = 0 and Uw is positive definite it follows that v(t) = 0, so that
w(t) = w(t), t > 0.
Let us reiterate. We know now that if the boundary data belong to the m anifold defined
in 2.74 then the solution w to the semi-discrete equations 2.67 is given by w. According
to lemma 2.2, this solution is also equal to w. If we substitute w = w in 2.68 of lemma 2.1
then we see that
Ju{w)t = Rh(w),
w(0) = <f>.
This equation can now be used to derive a stability estimate.
Hence,
(w,ut)h =
(w,Rh)h,
d t1
= ~ Y
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Chapter 3
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
40
composite grid generation package that is still in use. The many features of the code make
it somewhat cumbersome to use in first instance. CMPGRD is currently being extended and
optimized at Los Alamos National Laboratory in an object orientated C + + package called
OVERTURE [1]. Recently, Petersson developed XCOG (eXtendible Composite Overlapping
Grid-generator) [79], a basic and fast and efficient two-dimensional grid generator. As the
name XCOG suggests, its simple design enables the user to extend the code. Therefore,
XCOG is the package of our choice. A three-dimensional version is developed under the
name CHALMESH [80] at Chalmers Center for Marine Research and Technology, Sweden.
We remark that the subdivision into several different grids can be used to other advan
tages. It leads to natural domain decomposition methods for parallelization. Also, different
equations can be modeled on different grids. An example of the latter is the use of full
Navier-Stokes on boundary grids and Euler on interior grids in high Reynolds number
flows [77].
In the first part of this chapter we discuss composite grids in detail, and describe an
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
41
XCOG work session to show what is involved in setting up a grid. The second part covers
the issue of grid adaptivity. We present the general procedures, the error control, and par
ticulars concerning the implementation of local grid adaptivity in composite grid methods.
Throughout the chapter, we assume the difference scheme is central and the time step
ping explicit.
3.1
Composite grids
3.1.1
C om p on en t grids
A composite grid is constructed from two or more component grids. Each component grid is
a Cartesian or a well-defined curvi-linear g rid x. We denote local computational coordinates
by (r,s) [0,1] x [0,1] and physical coordinates by (x,y). The union of the component
grids must cover the complete flow domain, and each physical boundary must be fitted by
one or more boundary-conforming component grids. The component grids share the same
physical space but have separate computational domains as illustrated in figure 3.2. The
figure shows a possible composite grid in a rectangular domain around a solid cylinder. The
cylindrical grid has a periodic boundary in r.
It is advantageous to cover as much of the physical domain as possible by Cartesian grids
instead of curvi-linear grids. The equations can then be left in the form 2.43 instead of
2.51 and the numerical calculations are cheaper. Therefore, we start with the construction
of (small) body-fitted grids surrounding curved boundaries and then cover the remainder
of the domain with a Cartesian grid. It may not be possible to surround each physical
boundary with one curvi-linear grid and maintain good grid quality at the same time.
Sometimes boundaries contain kinks or cusps in which case the boundary either has to be
smoothed, or more than one component grid has to be constructed. A good composite grid
generation package will assist the user and allow the gridding of complicated flow domains.
3.1.2
The grid points can be assigned to one of two classes: interior points and overlap points.
In figure 3.3 overlap points are indicated by squares in the Cartesian grid G\ and circles in
lThe mapping should be one-to-one and both the mapping and its inverse should be continuously dif
ferentiable (diffeomorphism).
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
42
SL
mapping
y
P*
xrt
f1
physical coordinates
mapping
-1
computational coordinates
Figure 3.2: A shared physical domain and separate computational domains for the compo
nent grids G\ and G i in a rectangular domain around a solid cylinder.
the curvi-linear grid Gi. The classes differ in the way their solution values are updated.
The values in the interior points are determined by the difference method. We remark that
the points at physical boundaries belong to the interior when one-sided boundary difference
stencils are used. Figure 3.4a shows that the difference stencils of interior points near the
overlap cover overlap points. A stencil of width five requires the overlap to be at least two
rows thick. One row of overlap points suffices for a stencil width of three, see figure 3.3.
The interior points of the component grids cover the complete flow domain ( with a
small overlay) so a new solution is computed everywhere after the time step is completed.
Next, the solutions in the overlap points are updated. As the overlap points in grid G\
in figure 3.3 cover the interior of grid G2 and vice versa, the solution in an overlap point
of one grid can be computed by interpolation of the values at appropriate interior points
in the other grid. Figure 3.4b shows examples of these so called donor points for bilinear
interpolation. Grid G\ is called the donor grid of G2 and G2 the donor grid of G\.
A gap exists between the overlap points in grid G\ and grid G2. The gap serves to
guarantee that none of the donor points themselves are overlap points of the donor grid.
Otherwise, solutions in G\ would depend on solutions in G2 which in turn are computed
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
43
stencil width 3
CJ ovwtop point G2
avwtap point Ct
(a)
standi width 5
(b)
Figure 3.3: Composite grids around a cylinder for different widths of the difference stencil.
The area in the dashed rectangle is magnified in 3.4.
from solutions in G\ and this circle could be repeated. An implicit relation between the
solution values in a grid would result. This is not desirable in an otherwise explicit setting.
In 3.3a the interpolation is assumed to be bilinear which results in a narrow gap, whereas
in 3.3b a higher order interpolation results in a wider gap.
For the interpolation, the computational coordinates of each overlap point in its donor
grid should be known. These coordinates are easy to determine if the mappings between
physical coordinates and computational coordinates are known explicitly for each grid. But,
often grids themselves are constructed by interpolation between points or curves which com
plicates the calculations 2. We discuss this issue further in section 3.2.2.
3 .1 .3
The two maun types of interpolation used to compute the overlap values are conservative and
non-conservative interpolation. Conservative interpolation is designed specifically for con
servative difference schemes or finite volume schemes to preserve the conservation principle
2For instance, airfoils are often given in terms of splines, generated by CAD-CAM packages.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
44
donor point in G2
m donor point in G1
(a)
(b)
Figure 3.4: a: interior difference stencil covering overlap points; b: overlap points and
corresponding donor points.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
3 .1 .4
45
The effect of the overlap on. the stability of the difference method was studied by Starius in
[90, 89]. He derived one dimensional stability results for hyperbolic equations computed by
the Lax-Wendroff method. His results indicated that the stability depends on the physical
width of the overlap and that, in general, this width should be independent of the grid
size. Stability of composite grid methods in multiple space dim ensions is an open and
hard research topic. For now, we assume that the overlap width generated by XCOG on
the coarsest grid level suffices. The width of the overlap is kept constant when refining
so that the number of overlap points grows as the grid size decreases. We note that Zhu
[102] assumed that the influence of the overlap is negligible if the order of interpolation
is higher than the order of accuracy of the difference method. Stability of the composite
grid difference method then follows from stability of the difference method on each of the
component grids.
3.2
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
46
task. This is described in section 3.2.2 and used in the local grid adaptation procedure
discussed in 3.3.
3.2.1
A n X C O G work session
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
47
XCOG uses a ray method to find the donor points if the mappings between physical and
computational coordinates are not known explicitly. The ray method is derived from a
lemma from computational geometry [79] that states that a point (X, Y) 6 R 2 is inside a
bounded domain with a continuous boundary if and only if a ray (any ray), which starts
at (X, Y) and continuous indefinitely, intersects this boundary on odd number of times.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
48
The lemma is illustrated in figure 3.5. The donor grid is divided into 4 parts in physical
space. Each part is bounded by a polygon through the boundary grid points. Counting
the number of cuts of the partitions by the ray, the correct partition is selected and again
divided into 4 parts. This procedure is repeated until the final donor grid cell is located.
This cell is used as first approximation to find the donor grid cell of neighboring overlap
points. Starting with this first guess the above algorithm is applied in reverse to zoom out
until an enclosing grid partition is found. Then, the ray method is applied again to zoom
back in on the new donor grid cell.
Ocjts
Oats
V, Ocuts
2a
\>
\\
\\
\\
The computational coordinates (i2, S) of the overlap point in the donor grid have to be
calculated. If the mapping Af(r, s) = (x,y) from computational to physical coordinates is
known explicitly, but not its inverse, XCOG uses a Newton iteration to solve for (X, Y) =
M (R , S). The average of the computational coordinates of the vertices of the donor grid cell
are taken as start values. If the mapping M is not known it is approximated by Lagrangian
interpolation applied to the donor grid points. The resulting Newton iteration is given
below.
s e le c t ( r , s )
[x, y , d x /d r, d x /d s , d y /d r, dy/ds] = in t e r p o l a t e ( r ,s )
w hile ( l y - Y l
+ |x-X|)
<
to lera n ce
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
49
C
dx * x - X
dy = y - y
d e t = dx/dr*dy/ds - d x /d s* d y /d r
r = r + (dy/ds*dx - d x /d s* d y )/d e t
s * s
+ (dx/dr*dy - d y /d r * d x )/d e t
[x, y , d x /d r, d x /d s, d y /d r , d y /d s] * in t e r p o la t e ( r ,s )
>
R * r
S * s
3.3
3.3.1
W h ere to refine
As mentioned in chapter 1 the purpose of grid adaptation is to restrict high grid density to
the regions in which an increased numerical accuracy is needed, thus allowing coarse grids
in the remaining parts of the domain. Increased accuracy is generally required in regions
in which
1. the flow variables change rapidly,
2. the flow is prone to instabilities,
3. small scale phenomena are present or expected and need to be resolved.
Examples of the first situation are boundary layers (in viscous flows), interfaces and shocks.
Recently, Sjogreen showed that the accuracy at a shock can not exceed first-order for
systems of equations, independent of the numerical scheme used. The low accuracy will
gradually pollute the solution away from the shock as the solution is stepped forward in
time. To retain accuracy, the grid has to be refined. Shocks will be discussed in further detail
in chapter 4. Instabilities may occur near stagnation points or points of separation. The
third situation can appear in turbulent flows, such as the ocean upwelling flow discussed in
chapter 7. Here, interesting small scale phenomena occur at and near the density interface.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
50
To detect these regions during simulation two complementary tools are needed:
numerical error estimation and interface/shock detection. Error estimation alone does not
suffice. Error estimation techniques are based on an approximation of the truncation error
and presume that the solution is smooth (see section 3.3.5). The estimation will break down
at interfaces or shocks. The detection of shocks and sharp interfaces is discussed, in chapter
5.
3.3.2
H ow t o refine
Grids can be refined statically or dynamically. In dynamic regridding the number of grid
points is constant. The grid points are moved and clustered in the flagged areas. Their
motion is controlled by a partial differential equation that is solved simultaneously with
the flow equations. Recent work was presented at the ICMS conference in Edinburgh [39].
The main practical advantage of dynamic regridding is that it conserves memory. But the
method is generally expensive and it is difficult to ensure grid quality, especially in two
dimensions. Grid lines may cross and undesirable coarsening may occur away from the
flagged regions.
We use a static regridding method. The coarse component grids (level 0) are left as is.
If a shock is present or numerical errors are larger than desired we inject extra grid points
in the flagged regions, and create an overlaying fine grid (level 1). If the percentage of
flagged points in a grid exceeds a certain fraction, the complete grid is refined. The optimal
fraction depends on the order of accuracy of the method and the ratio r between the grid
sizes of the coarse and fine grid. A good criterion needs to be developed. Fine grid points
are injected in between flagged coarse grid points amd in the interior of a coarse grid cell
whose vertices are all flagged. This ensures that the boundaries of the fine grid never cut
through coause grid cells. The ratio r is kept constamt. A ratio of r = 4 has been found to
work well for hyperbolic equations [7]. If the time step is controlled by a CFL condition,
the time step on the fine grid is decreased by the same factor r. The solution is stepped
forward in time on the complete coarse grid. Then, solutions on the overlaying fine grids
are computed for the same time, requiring r times as mamy time steps. The conditions at
the fine grid/coarse grid boundary at intermediate time steps aire derived from coarse grid
solutions (section 3.3.4). At the end of the cycle the coarse grid solutions are updated from
the fine grid solutions by injection. The refinement process is repeated recursively so that
a series of increasingly finer grids at levels i, * = !,, Mi may be created. The m ax im u m
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
51
number of levels Mi is fixed. Grids at level * and with priority j are denoted by GijThe size of the refined areas is kept to a m inim um if the regridding is done at each
step, but this is is prohibited by the regridding costs. Therefore, we create a buffer zone
of a few grid points wide around the flagged points and include it in the regridding. The
addition of the buffer zone will keep moving features inside fine grids longer, and takes care
of possible error growth directly outside a flagged region before the next regridding takes
place. If moving shocks or interfaces are detected, we approximate their speed and increase
the buffer zone in the direction of propagation.
Accuracy will be lost if we interpolate the values of fine overlap points from values in
the coarse donor grid. Therefore, we have to flag the donor points corresponding to flagged
overlap points to ensure that the donor grid is refined properly.
An overview of the adaptation process for a composite grid is given below, and a graph
ical illustration in 3.6. The flow is controlled by the routine in te g ra te , and is initiated by
the call in te g ra te (0) in the main program. The coarse time step is equal to dt.
INTEGRATE(level):
I f le v e l = 0
ADVANCE th e s o lu t io n d t in a l l coarse component g r id s
I f tim e fo r reg r id d in g
In each o f th e component g rid s
FLAG POINTS
I f M n ot reached and i f p o in ts fla g g ed
In each o f th e component g rid s
CREATE SUBGRID
INTEGRATE(level+1)
UPDATE l e v e l from le v e l+ 1 by in j e c t io n
E lse i f fla g g e d p o in ts
Warn u ser
E lse
For n=l through r do
ADVANCE th e s o lu t io n d t /r " le v e l in a l l g r id s a t t h i s l e v e l
I f time fo r r eg r id d in g
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
52
In each o f th e g rid s
FLAG POINTS
I f H n ot reached and i f p o in ts fla g g e d
In each o f th e component g r id s
CREATE SUBGRID
INTEGRATE(level+1)
UPDATE l e v e l from le v e l+ 1 by in j e c t io n
E lse i f fla g g e d p o in ts
Warn u ser
FLAG POINTS:
DETECT sh o ck s, in t e r f a c e s , reg io n s o f sharp t r a n s it io n s
ESTIMATE ERRORS in reg io n s o u tsid e th o se found in the p revious ste p
I f fla g g e d p o in ts and l e v e l < MAX-LEVEL
ADD BUFFER ZONE
I f f la g g e d overlap p o in ts
FLAG DONOR POINTS
As is illustrated in figure 3.6, the fine grid points do not usually form a contiguous
rectangular set, but gaps amd holes and ragged fine grid boundaries may be present. In
OVERTURE and other composite adaptive grid methods the finer grids are decomposed
into a set of rectangles. This allows the formulation of stability estimates on the refined
grids (but not on the composite adaptive grids) and simplifies the required data structures.
But it is hard to find the most efficient way to cover the flagged regions with rectangular
patches. Instead, we create a single fine grid structure to represent the complete set of fine
grid points independent of its shape. The required data structures are more complicated
than in patched grids, but can be created easily in languages like C and C++. An overview
of the data structures is given in section 3.4. The fine grids are referred to as stair step
grids for obvious reasons.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
'
shock
decreasing in strength
flag points
>-
add bufferzone
Figure 3.6: Likely flagging round a cylinder when m o d elin g transonic flow.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
54
Stair step grids are natural in CG methods as the coarse component grids have stair
step overlap boundaries. It is therefore easy to deal with refinements in the overlap regions.
Stability results developed for patched fine grids can still be applied because stair step
grids can always be subdivided into a set of patches. The concept of stair step grids has
been around for several years. Blom, Trompert and Verwer implemented stair step grids
in their Fortran VLUGR codes [11, 10], but this implementation is not as clear as the
C-implementation.
3 .3 .3
If coarse overlap points are flagged their coarse donor grid cells are refined to ensure that
solution values at fine overlap points can be computed through interpolation on a fine donor
grid. The interpolation information for the new fine overlap points is not known a priori
and has to be computed at run time. The enclosing fine donor grid cell is located with the
ray method described in 3.2.2. We take one of the fine grid cells in the coarse donor grid
cell as first guess. We zoom out to find the region in the fine donor grid that encloses the
fine overlap point and then zoom back in on the desired fine donor grid cell. This procedure
is fast. Afterwards we use the Newton iteration given in section 3.2.2 to compute the local
computational coordinates in the donor grid.
3 .3 .4
Interior boundaries
In adaptive gridding an extra type of boundary is created, namely, that of the fine grid in
the interior of the coarse grid. We refer to it as an interior boundary. Numerically, it is
treated as any other physical boundary; one-sided difference stencils are applied near and
on the boundary, and after the RK time stepping is completed the solution is projected
onto boundary conditions. An example of an interior boundary is shown in figure 3.7.
In this figure, the coarse grid time step is equal to dt and the ratio r = 2. At time t
and t + dt, both coarse and fine grid solutions are computed. At coarse grid locations,
the boundary conditions sire given by the coarse grid solutions. Elsewhere, the boundary
conditions are determined by spatial interpolation between coarse grid solutions. If the
interior boundary points are located in between two coarse grid points with equal r value,
this interpolation can be done in the s-direction only, and vice versa. At time t + dt/2,
only fine grid solutions are computed. But coarse grid solutions are needed to supply the
interior boundary conditions. They can be computed by time stepping the coarse grid from
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
55
t to t + d t/2. If the methods used are low-order, this computation can be done locally,
using a small set of coarse grid points on which the solution at the intermediate time level
depends. When the order in the spatial discretization and the number of stages in the time
stepping method increases, the number of points in the set grows rapidly. For a sixth-order
method combined with a third-order Runge-Kutta method, the width of the set on the
coarse grid is equal to (7 + 6 + 6) = 19, counting an initial stencil width of 7 and a growth
of 6 for each additional Runge-Kutta stage. Then, the chance that the set intersects the
overlap or reaches the boundaries is large and boundary stencils and overlap interpolations
need to be included. Another option is to compute the intermediate coarse grid values by
a (high-order) interpolation in time. We applied both methods in our experiments and
found that the local interpolation performs as well as time stepping. This is not surprising
because the interior boundaries are located in smooth regions thanks to the buffer zones.
time
a
t+dt
line gridvalue
Figure 3.7: Fine grid/coarse grid boundaries necessitate computation of coarse grid values
at intermediate time steps and spatial interpolation
3.3.5
Error control
It was indicated in the introduction and chapter 2 that (strict) stability enables efficient
error estimation. In the case of linear equations, or systems of equations, this follows
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
56
immediately from the stability estimates. Suppose that the spatial discretization of the
linear equation
th = Lu + f ,
u(x,0)
Bit =
on ft x [0, T]
u0(z),
g(t),
(3.1)
at
dCl,
where B is the linear boundary operator, Q is the spatial domain and dCl its boundary, is
given by
(vh)t = Lhvh( t) + fh{t),
vh(0) =
B hvh(t)
on
n h x [0,T]fc
u0fc,
(3.2)
= gh(t),
at
d n h-
Here, v/, denotes the solution to the discrete problem, that satisfies the analytic boundary
conditions, and Uh the projection of the exact continuous solution onto the discrete domain
fi&. This projection u/, satisfies the equation
[uh)t = Lhuh{t) + f h(t) + 77,,
(3.3)
where Ty, is the local spatial truncation error. Subtracting equations 3.2 and 3.3 yields the
following system for the error e/, =
u/, because of the linearity of the discrete operator
Lh.
(eh)t = Lheh{t) + rh,
on Dh x [0, T]k
c*(0) =
B h .6 fi( t)
0,
(3.4)
T b d ryi
3>t 312/,.
The error equations 3.4 have the same form as thediscrete equations3.2 with the source
and boundary terms replaced by truncation errors. Thus, if u/,satisfiesthe semi-discrete
stability estimate
IbfcCniln* ^ ^eaT(lluol|fih + ||//i|lnfcx[o,r] + ll^/illinfcx[o,T])>
(3-5)
(IMInfcx[o,:r] + Il'rbrfrvllar2fcx[o,T,])
(3-6)
Here, K and a are assumed to be independent of the time step k and the grid size h.
We assume that the discrete norms are appropriately weighted and satisfy the summationby-parts principle. In adaptive methods it is necessary to have K = 1 or K = l + O(k).
For ease of illustration we assume that the boundary conditions are homogeneous, that
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
57
the discrete solution satisfies the boundary conditions exactly, and that the forcing term is
zero. If we regrid at each time step, equation 3.5 leads to the following estimates at times
t = k, 2k, . . . , T
If K is larger than (1 + O(k)), the term K T/k goes to infinity as the time step k goes to
zero and the obtained bound is useless. Otherwise, we can absorb K into the exponential
term (which will change a). We remark that K has the correct size for the Euler and
Navier-Stokes equations. The exponent a in 3.6 can be derived from the growth rate of the
numerical solution.
Zhu [102] discussed a generalization of the error bound to stair step adaptive grids. He
derives a general error estimate for a grid G, j in the adaptive grid hierarchy, in which
extra terms are introduced that measure the sizes of the grid interior and grid boundaries.
Assuming th at the truncation errors in the interior of Gt-j dominate the boundary errors,
this general estimate is simplified to
< /i(GM)ea r (||r||2hiX[0T]).
The measure
(3.7)
is defined as the sum of the volumes of all grid cells in the interior.
We remark, that in the case of high-order methods the above assumption may not be valid.
This is currently being investigated by Aczon and Gerritsen.
The truncation error can be approximated by a variant of Richardson extrapolation
called step-doubling. This technique was used in Berger [7] and Zhu [102]. We discuss
it briefly and then indicate some complications that arise when it is implemented for a
high-order method with one-sided boundary stencils.
We write the time stepping method in closed form as
vh(t + k) = Rhvh(t).
(3.8)
If the order of accuracy of the time stepping method is equal to q and the order of the
spatial discretization is equal to p we obtain, using 3.3 and 3.8,
krh(X, t) = uh(x, t + k) - R hUh(<)
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(3-9)
58
(3.10)
k f + k 0{kq+l + h?*1).
(3.11)
The functions C\ and C2 are independent of the solution, the time step and the grid size.
If u is sufficiently smooth, the truncation error after two time steps on the fine grid with
grid size h is given by
Uh(x, t -F 2k) R\uh(t) = 2 k f + k 0 {kq+l + hp+l).
(3-12)
Applying one time step on the coarse grid with grid size 2h and time step 2k yields
uh(x, t + 2 k )~ R2huh{t) = 2p+lk f + kO(kq+2 + hp+2).
(3.13)
Subtraction gives
= ^
+ 0(W +1),
(3.i4)
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
59
However, the sets of dependence grow rapidly as the order of the spatial discretization
and the number of stages in the time stepping method increase. For a sixth-order spatial
discretization the sets are likely to reach grid boundaries. This has two consequences. First,
it affects the truncation errors as boundary difference operators or overlap interpolations
are included in the computations. The extent of this influence as a function of the distance
from the boundary needs to be investigated. Second, it is far too complex to write a
step-doubling routine for each point individually. Instead, the existing solvers and data
structures should be used as much as possible. Although this can increase the total number
of computations, it simplifies the code dramatically. For grids G ij, i > 1, the existing grids
G i- ij can be used to compute the coarse grid solutions in the step-doubling. If the ratio
r is four instead of two, a variant of step-doubling can be formulated in the form
+ 0(W H'i).
(3.15)
For the component grids Gqj new grandpa grid structures G - ij with step size 2ho must
be constructed. The creation of well-defined grandpa grids is possible provided the overlap
regions at level 0 are sufficiently wide. If we utilize existing data structures errors can only
be estimated at grid points that coincide with grid points in the parent or grandpa grids.
However, the buffer zone will make sure that neighboring points, which could have a large
error as well, are included.
Another problem is associated with the size of the boundary region. As the order of the
method increases, the one-sided boundary stencils are applied at an increasing number of
grid points. This will decrease the number of points in which step-doubling can be applied
correctly. For instance, in one dimension the third-order one-sided boundary stencils used
in the simulations are applied in the points a;,-, 0 < i < 5 and N 5 < i < N , on the fine
grid and in the points xt-, 0 < i < 5 r or N 5 r < t < N in the coarse grid. These points
are all excluded from step-doubling. In the grids
Gqj
may contain regions near solid boundaries in which error estimation is important. Hence,
step-doubling for high-order methods is non-trivial and will require some extra thoughts.
3.4
Implementation
We use three main data structures: GRID, INDEX, ROW. The precise content of the data
structures is given in appendix D. Below we discuss them in general terms. The data
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
60
- + +
1T
4J
/
u h4
Goo
w0,2
parent
neighbor
child
f I
Go*
w0,7
parent
I
|
child
neighbor
*
1,1
A GRID structure is build from INDEX structures that store information for specific
classes of grid points. The four main INDEX structures contain, respectively, the solution
values and positional information of all grid points (complete_index), discretization and
positional information of the interior points (interior), interpolation and positional infor
mation of the overlap points (overlap), and positional information of interior points that
are on projection boundaries (projection). Zhu further distinguishes between various
classes of interior and boundary points (exterior/interior boundaries, interior boundaries
with and without overlap points, periodic boundaries) for the step-doubling procedure. We
have kept the data structures as general and simple as possible and do not subdivide the
four main classes. Differences in treatment of the points in the same class will show up in
higher level data structures.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
61
An INDEX structure in turn is based on ROW structures, which allow easy implemen
tation of stair step grids. To explain the concept we turn to figure 3.9a. The figure shows
the interior and overlap INDEX corresponding to the Cartesian grid shown in 3.8. Each row
of grid points, corresponding to a specific j, contains one or more contiguous row segments
that are separated by a gap. The grid points in each row are stored using a ROW structure,
which is a linked list of row-segments. Each row-segment is bounded by a left (/) and right
(r) index.
In the complete_index, each row segment contains a pointer to a DATA_ROW structure
which stores the positional information of the grid points (POINTS) and the solution values
of the grid points (SOL). In the interior index, the rows point to DATAJNT structures that
administer the discretization data, including the location of the points in the difference
stencils and the stencil coefficients. Overlap rows refer to DATA_OVER structures that
store interpolation information, and the rows of the projection index store information
about the type of boundary condition.
In figure 3.9b the interior index is shown for the fine grid. We use
u n iform
indexing.
That is, if a coarse grid point has coarse grid index (i, j) the corresponding fine grid point
has index (ri, rj), where r is the ratio between the coarse and the fine grid size. The above
structures and indexing strategy provide a logical and clear storage scheme for the grid vari
ables and make it easy to design the computer
progra m s.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
r.l
overlap INDEX
complete grid
nag
1-4 rmS he r-7
now(6)
11
row(4)
t-4
r-7
Interior INDEX
row(8)
4
11
hO
r-11
. Interior
o overlap
projection
row(4)
hO r-3
he r-11
(a)
: ; : :
...
mw(17)
hio
17
j-
r-18
....
row(7)
hio
...
....
...
....
- - T 1-r
r-14
....
row(2)
--
h10 t12
...j . . . .
:
10
18
(b)
Figure 3.9: INDEX and ROW structures for interior and overlap.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
make-curve cyl-inner
drcular arc
radius 2
end-angle 360
exit
make-curve cyl-outer
circular arc
radius 10
end-angle 360
exit
63
I1
t
2
4
U
make-mapping background
Cartesian-mapping
xmin -20
xmax 20
ymin -20
ymax 20
set-r-lines 50
set-s-lines 50
exit
boundary-condition background
lower-s=0 21
upper-s=l 21
left-r=0 21
right-r=l 21
exit
make-mapping cylinder
linear-interpolation-mapping
cyl-inner
cyl-outer
set-r-lines 25
set-s-lines 14
exit
boundary-condition cylinder
lower-s=0 20
exit
Figure 3.10: Example of a XCOG work session, part I. The label 20 refers to a solid
boundary and 21 to a characteristic boundary (chapter 6).
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
overlap-parameters
discretization-width 7
normal-width 6
tangential-width 6
comer-width 6
interpolation-width 4
exit
compute-overlap
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Chapter 4
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
66
Later, we extend it to two dimensions and also discuss the added c o m p le x ity if artificial
viscosity is needed near boundaries.
4.1
A natural choice for the artificial viscosity term is a properly scaled discretization of a
diffusion term (Eux)x, which arises in many applications. Here, E = E(u) is a positive
definite matrix. For high-order schemes, discretizations of higher order viscosity terms like
(])q~l -^q{E
Examples of such blended artificial viscosity terms are given in [31] and [36]. In the former,
Gustafsson and Olsson use the augmented conservative central scheme
u t = - D f + hQu,
(4.1)
(4.2)
The operators D and R.2q are given by 2.29 and 2.30, and the matrix E contains the blocks
E(uj). In their paper a scalar artificial viscosity E = e/,e > 0 is derived that leads to
one-point shocks for scalar equations. The choice of artificial viscosity 4.2 ensures that
the sharp shock resolution is obtained for all orders of accuracy 2q. For the second-order
SHOEC scheme we use the discrete artificial viscosity
hQw = hD+EuwD-w.
Again,
In contrast to
4.2,it
(4.3)
as(Euwwx)x.
demonstrate this by taking the inner product of 4.3 with to. The operators D+ and D do not satisfy the summation-by-parts principle. We can still get the desirable estimate
if we assume that E j = 0 at the boundaries of the domain. This is a valid assumption if
the flow varies smoothly at the boundaries. The one dimensional test problems discussed
here satisfy this constraint. Near stagnation points at solid boundaries it may be necessary
to add some artificial viscosity, as in the flow past a cylinder (chapter 6). We will discuss
an alternative form of the artificial viscosity that is suitable for boundaries in section 4.3.1.
With E j = 0 at the boundaries, we get
h(w, D+EuwD -w ) = h^D -W iEuvjD -w ).
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(4.4)
67
This term is non-positive, and therefore has the correct sign, if E u ^ is positive definite. We
remark that positive definiteness is obtained for all scalar viscosities E = e l as the Jacobian
Uw discussed in chapter 2 is positive definite. The addition of the artificial viscosity term
4.3 reduces the SHOEC scheme to first-order. For q > 1 we could generalize 4.3 to
f h ( h 2D + D -) ( - l V 2 D + E u v D - {h2D + D -) ( * - l V 2w
hQw = <
{ - h ~ l (h2D + D -)q^2 Etiy, (h2D +D -)q/2w
q odd,
(4.5)
q even,
which would result in a scheme of order (2^1). However, Sjogreen [87] recently found that
any scheme for systems of conservation laws will reduce to first-order accuracy at shocks.
The simpler viscosity 4.3 therefore suffices. Sjogreens find also means that the high-order of
accuracy of a scheme can only be retained if the grid is refined in the shock region. But this
is exactly what we are doing. We note that we implement the viscosity only locally around
the discontinuity. Its location is returned by the wavelet detection algorithm discussed in
the next chapter.
4.2
Having satisfied the first two criteria for the artificial viscosity terms, it remains to discuss
how to construct a cheap artificial viscosity that leads to sharp shock resolutions. For
computational efficiency, we are primarily interested in scalar viscosities for which E = el.
Below, we derive a value for e that gives approximate one point shocks for weak shocks and
sharp resolution for strong shocks. The extra point is needed in practice to allow for the
representation of shocks that are not positioned in the center of a grid cell. We remark that
any (larger) positive scalar viscosity can be used if it isimplemented as shownabove, as
long as the refinedgrids on which the artificial viscosity is applied aresufficiently fine.
Following the approach in [31] we consider finite difference solutions of 1.1 with the
Riemann initial condition
,[ uj
x < 0
,
(*>0) = <
n
(4.6)
I Ur X > 0.
The shock states uj and uT are connected by a k-shock and satisfy the Lax entropy conditions
^fc(ut) > s > Afc(ur),
k = 1,3.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
68
For simplicity, we assume that ui is the downstream (supersonic) shock stateand that
the flow isin the positive x-direction so that A* = v c. For such problems, the
scalar
artificial viscosity is often chosen, proportional to max,- |A,-(u) s|, where u is some average
of U{ and Ur, see, for example, [42]. Johansson and Kreiss [44] show that this viscosity
indeed suppresses spurious oscillations, but leads to excessive smearing. Instead, we will
show that e = min,- |A,-(u)| gives good results for stationary shocks, and that |A2(u) s| or
max, |A,-(u) s| are suitable for moving shocks or very strong stationary shocks.
We apply the coordinate transformation (y = x s t,r = t) to 1.1 which then changes
to the stationary problem
(f - s u ) y
0,
(y,o)
( Ul y < '
{ r y > 0,
(4.7)
since Ur = 0 in the (y, T)-coordinates. Adding constant scalar artificial viscosity we dis
cretize 4.7 as
Do ( fj - s u j ) = heD+D-Uj.
(4.8)
(4.9)
or,
fm
s(**r
Um)
= 2e(um-ui),
(4.10)
= 2t(uT - 2 u m + U l),
(4.11)
= 2c(Um
(4.12)
Ur)-
At all other grid points, the equations are trivially satisfied. The left hand side of 4.11
vanishes because of the RH conditions which gives u = (ur+ui)/2. As f r = fi+ s(u i~ Ur),
equations 4.10 and 4.12 are in fact identical. For the Euler equations however, equation
lNote that 4.9 does not support zero-point shocks for e > 0. The left hand side of 4.9 vanishes because
of the RH conditions. This leads to e(tii Ur) = 0, which can only be satisfied for tt; = Ur.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
69
4.10 can not be satisfied exactly for scalar viscosities e (see also [41]). Consider the equation
corresponding to the first element of the flux vector in 4.10:
pm - PmVm = (2e + s){pi - Pm).
(4.13)
(4.14)
The RH conditions require pivi prvr s{pi pr), and so 2e(pi pr) = 0, which cannot
be fulfilled for e > 0. Equations 4.10 and 4.12 lead to
We seethat equation
f m - f i = (s + 2e)(um - tq ) ,
(4.15)
fr -fm
(4.16)
Um moving with
speed (s+ 2e), while 4.16 represents a fc-shock between states % and Ur
moving with
speed (s 2e). The interaction between two such shocks generally results in the formation
of a k-shock between iq and ur as well as a contact discontinuity and a rarefaction wave [22]
, resulting in the above described conflict for the Euler equations. But for weak shocks, 4.15
and 4.16 will be approximately satisfied. Using Roe-linearization equation 4.15 becomes
A ( u m i) { u m ~ u i ) =
where A(tqn/) is the Jacobian matrix f u evaluated at the Roe-averaged state-vector um/
determined by iq and % [82]. Thus, (um tq) is an eigenvector of A(umi) with eigenvalue
(s + 2e) = Ak(umi), or
e = 1/2(A k{u m i)-s)
to the left of the shock. Similarly, e = l/2 (s Afc(tq.m)) l/2(Afc(um/) s) to the right of
the shock. This choice of scalar artificial viscosity corresponds to that used by Jameson in
[41]. Since A*(tq) > s, Afc(u/r ) = s and the jump [tq um] is less than the jump [tq ur], it
can be expected that Ak(uim) > s also. In practical applications we set e = l/2|A(tqm)fc s|.
We note that |Afc(txmi) s| = min,- |A,-(,/) s|. Similar analyses for other flow situations
lead to the same choice
e = 1/2 nun ^-(u^p) - s|,
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(4.17)
70
where Up is the upstream state. For scalar equations, the equations 4.10, 4.11 and 4.12 are
satisfied exactly for the above artificial viscosity. We note that also for systems 4.10 can be
satisfied exactly if the matrix viscosity E = (A(uim) s i ) /2 is used. However, this matrix
E is not symmetric. So, even if its eigenvalues are all positive, it is not necessarily positive
definite.
We show the effectiveness of the artificial viscosity 4.17 for stationary shocks in figures
4.1a and 4.1b. They depict the pressure after long time integration. Both the second-order
conservative scheme, given by 4.1 and 4.2, as well as the second-order SHOEC scheme
with 4.3 were tested. The results were basically identical. The computations are done for
n = 100, a CFL-number of 0.5 and Mach number M = 1.1 and M = 2 without local grid
adaptation. The numerical solutions are indicated by dotted lines, and points in the shock
region are circled. The solutions have negligible small amplitude oscillations even for high
Mach numbers, although the derivation of the scalar viscosity was based on a weak shock
assumption.
i: :
r
; -;I
I ;-:i*
!'.'
.
, ------------------------wU-.-r-qS
-0.28
(a)
02 5
-0 2 S
02S
(b)
Figure 4.1: Pressure for stationary shock problem at t = 2, both second-order conservative
and second-order SHOEC scheme with E = el and e given by 4.17; (a) M = 1.1: with
viscosity (-.); no viscosity (); (b) M = 2: with viscosity ()
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
71
4.2.1
In the previous section the equations are discretized on a grid that moves with the shock,
which is not the case in reality. Results for scalar equations are still satisfactory [31]. But,
the damping by the viscosities is insufficient for the Euler equations if the shock speed s is
not identically zero, and a larger viscosity is needed. In the experiments whose results are
shown in chapter 6 we used
e = 11A2(uml) - s |,
(4.18)
where A2 = v, instead of 4.17 for moving shocks. For stationary shocks, we have 4.17 with
s= 0
e = 1/2 min lAiO^)!,
I
The shock speed s
in
C4-1^)
the next chapter, we resort to the common and larger scalar viscosity max, |Aj(u,/) s|
mentioned earlier. We remark that in the experiments the artificial viscosity is only used on
thelocally refined grids so that excessive smearing does not occur at the coarsegrid scale.
In fact,we can use as large an artificial viscosity as we want, as long as we keep the refined
grids on which it is applied sufficiently fine.
4.3
In two dimensions the semi-discrete Euler equations are given by ( chapter 2, section 2.4)
|J|u* = L( u(w))
= ~~jfjr[[Dr(ysf - x *9) + D( - V r f + *r)]
P _l_ ^ [ (.Us/m
x s9w)DrW {yrfw
2r9w)Ds'w j
(4.20)
(4.21)
If artificial viscosity is not needed at boundaries, we can easily generalize the one-dimensional
results. We include an artificial viscosity term analogous to 4.5 for each computational co
ordinate direction in which it is needed. That is,
|J |u t = L{u) + \J\(Qrw + Qsw ),
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(4.22)
72
where
' (Ar)2ti(Dr+D r_ )(q- 1)/2Dr+EuwDr_ (D ^ D r_ )(q- 1)/2w q odd,
Qrw = <
- ( A r ) 2?(D+>_)9/2 Euu (D+D_)*/2w
q even,
(4.23)
and similar for the s-direction. Here, the viscosity matrix E contains a suitable substitute
for the extra h-term in 4.5. If the grid is sufficiently aligned with a shock, artificial viscosity
is only needed in the coordinate direction normal to the shock. Without proper alignment we
resort to adding viscosity in both directions. The matrix Uw is given in appendix A for two
dimensions. Care must be taken to properly extend the scalar artificial viscosities 4.17 and
4.18 designed for one spatial dimension to multiple dimensions and general coordinates.
In contrast to the one-dimensional case, there are an infinite number of characteristic
propagation directions, given by wave vectors k. The corresponding eigenvalues
given by
X/g = { k vmp, k vmp, k vmp c[|AsH2, k vmp + c||As[[2 }
are
(4.24)
To extend 4.17 and 4.18 suitable propagation directions have to be chosen. Since we are
interested in information propagating in the direction of the computational coordinates r
and s, logical choices are k = V r = [dr/dx, d r /d y ] T and k = Vs = [d s/dx, d s / d y ] T .
We therefore propose the use of
e = 5 h vT
(425)
e =
V 1 1 1 A v r - * '1 +
4 ^ 7 V 1 1 1 A v a -1' 1
( 4 -2 7 )
I AVs,2-5 I
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(4.28)
73
We emphasize that artificial viscosity is not necessary to stabilize the numerical method.
But in some special situations the user might select to add artificial viscosity outside shock
regions. A possible location is the region near a stagnation point in the flow past airfoils
where the flow is prone to instabilities. In these cases, we follow Pulliam and Jameson et
al. [81, 42] and use
e = i / ( ~ ( | V r -t;|+ c ||V r|| 2) + ^ ( | V s u| + c||Vs||2) ),
(4.29)
where v is a small constant specified by the user. Although we prefer not to have (m)any
user defined parameters in the code, this parameter is kept to offer the user extra control
when desired.
4.3.1
If artificial viscosity is required at the boundary, 4.4 is not valid because E ^ 0 at the
boundary points. Ideally, we would like to use a consistent approximation to a high-order
diffusion term as before which satisfies the summation-by-parts principle. But then, we
need extra boundary conditions to handle the boundary terms for the diffusion. Alterna
tively, we could look for artificial viscosity terms Qw for which
(to, Qw)h < 0,
(4.30)
artificial viscosity operator Dav = D 1 D 2 . Eriksson [26] constructed operators Dav for which
Dnn
1
to
1
to
1 -4
1
-4
6 -4
1 - 2
(4.31)
1
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
74
with
Di =
,
1 -2
1----
i-H
1
H
1
O c-a
rH
pH
1 - 2
(4.32)
2 =
-1
1 ~2
-1
The matrix Dav is negative semi-definite. For the r-direction we can write
(to, Qw)h =
(D iw)t E E u w D 2 %o
(4.33)
Jirl nr2
=
V ij
5Z {<revT u w v ) i J ,
i2 j 2
- 2 W ij + Wi+ i j .
with
(4.34)
(4.35)
Here, S is the matrix defined in 2.28, i and j refer to values at location r = (i l)A r
and s (j l)A s in the computational domain, and the number of grid points in the
r- and s-direction are nr and n3 respectively. Since Uy, is positive definite, and both <r,j
and e*j are positive, 4.30 follows. This operator Dav models a fourth-order viscosity term
gi {E ||y ) in the interior of the domain.
Eriksson [26] also constructed a dissipation operator that models an eighth-order vis
cosity in the interior and a fourth-order viscosity on the boundary. This can be used in the
higher order SHOEC scheme. Again, we concentrate on the r-direction. Define
V ij = tDj_2j - 4u>i_ij + 6W ij - 4iot+i j + tol+2j ,
i = 3 ,...
- 2.
(4.36)
( ( T U w V ) 3j ,
- Q w 2j
= -4(atv,i>)3j + (aittt,t7)4j ,
- Q w 3j
= G ia u u v h j - 4{auwv ) 4j + ((TUwV^j,
- Q w 4j
Just as for the lower order viscosity operator, it is straightforward to prove that
(w,Qw)h < 0.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Chapter 5
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
76
tions (pressure, density or velocity for example) that are assumed to be in the space I2.
Continuous functions are denoted by f(x ) and are assumed to be in the space L2.
5.1
M ulti-scale analysis
Most existing shock detection algorithms search for maxima in the first derivative or for
points of inflection of the grid functions. The derivatives are evaluated numerically at the
scale of the grid. At this scale it is hard to distinguish m a x im a that belong to spurious
oscillations from those that correspond to shocks. Besides, it is difficult to extract infor
mation about the shock states when the discrete data are distorted by oscillations. These
problems are resolved if the grid function is analyzed on both the scale of the grid and a
sequence of larger scales. Shocks or sharp gradients dominate the behavior at the larger
scales, whereas local oscillations only influence the smaller scales. The number of available
scales is limited the domain of the grid function is discrete and finite. The question is how
to construct a reliable algorithm to determine the local behavior of the grid function based
on this limited multi-scale information.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
77
Motivated by the idea of a multi-scale approach we turn to the area of signal analysis
where many methods have been designed for the detection of sharp edges in images. The
images often contain noise, not unlike the presence of redundant oscillations in the grid
functions. A large class of multi scale edge-detectors first smooth the signal at various
scales and then analyze the derivatives of the smoothed signals. The wavelet-based edge
detection algorithm came about when Mallat and coworkers showed that for a special class
of wavelet families a direct correlation exists between the local regularity of the function and
the behavior of small, easy-to-determine, sets of wavelet coefficients. The corresponding
wavelet transforms can be computed fast and efficiently through a Fast Wavelet Transform
algorithm.
5.1.1
= ^
je -< ^ H x )d x
(5.1)
Although the f(u ) values tell us which frequencies are present in / they do not give any
information about where these frequencies can be found. The reconstruction formula shows
that small changes in / (a/) produce changes in / everywhere in the spatial domain. Infor
mation about the space-location can be obtained if we cut off a well-localized slice of / ,
before taking the Fourier transform. This is be done by convolving / with a compactly
supported function centered around the location of interest. Such functions are referred to
as window functions and are generally translations g(x b) of a smooth function g(x) that
is centered at x = 0.
The resulting Windowed Fourier transform (WFT) at x = 6 is defined as
(F'n/)(u , b) =
f(x ) g{x - b) e - ^ d x .
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(5.2)
ttujq
78
same mother wavelet ip(x). Roughly speaking a wavelet ip(x) is a well localized function
that integrates to zero, waving above and below the x-axis: Formally, a function ip(x) is
said to be a wavelet if and only if its Fourier transform tp(uj) satisfies
c ^ m i du= f
\ i ^
Jo
o)
J oo M
<+x
This admissibility condition requires that the wavelet has sufficient decay in the frequency
domain and that -0(0) = 0 which again leads to f rjj(x)dx = 0. The admissibility condi
tion is a necessary condition for reconstruction of a continuous function from its wavelet
coefficients. Translations by parameters i R and dilations by parameters a 6 R + of
the mother wavelet ip(x) give the wavelet family Vo.ft =
The parameter b is
referred to as the center of the wavelet Va,6 and a represents its scale. A mother wavelet
ip(x) and two members of the corresponding wavelet family are shown in figure 5.1. For
a > 1 the wavelet ipa,b stretches and can be viewed as representing a lower frequency, while
for a < 1 the wavelet narrows and can be viwed as representing a higher frequency. Thus,
the concepts of scale and frequency are closely related 1
a.b
a>1 b<0
a,b
a=1 b=0
a<1 b>0
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
79
(5-4)
The variables {/, V'a.d) are referred to as the wavelet coefficients and give information on the
frequency content of f{x ) in the neighborhood of x = b.
We remark that with orthogonal wavelet families, the factor 1/a is often replaced by
1/y/a to normalize the L2 norm of the wavelets to 1.
The definitions of the WT 5.4 and the WFT 5.2 are sim ilar; in 5.2 we take the inner
product of / with the function guj, = ewxg (xb), while in 5.4 we take the inner product with
tpa,b = (1/a )1#
u and a, and are localized around x = b. The difference between the two transforms
lies in the shape of these functions. The functions gUjb are pure translations of the basis
window function g which are then "filled in with frequency oscillations. The support of
gu,b is independent of lj. An example of g and two functions gw<b is shown in figure 5.2.
Wavelets V'a.ft adapt their support to their frequency: high frequency wavelets are very
narrow, whereas low frequency wavelets are broader (see figure 5.1). This means that
the WT can zoom in on discontinuities or steep gradients, which is important in shock
detection. Discontinuities usually take substantially fewer wavelet basis functions than
Fourier basis functions to achieve a comparable approximation.
9(x)
Fast Wavelet Transformation (FWT) algorithms exist, that are as efficient as Fast
Fourier Transformation (FFT) algorithms. The constructions of the FWT is possible be
cause all wavelets are mere dilations and translations of one and the same mother wavelet, a
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
80
For practical purposes we are only interested in discrete values for a and b. The dilation
parameter a is discretized a s a m = 2m, m 6 Z , where m represents the level. The base of 2
facilitates the formulation of the FWT. The corresponding fam ilies i/>2m,6 = 2 mV(%?r) axe
referred to as dyadic wavelet families. At each level m the wavelet coefficients are computed
at centers 6m>n = n A b, n G Z , where Ab may depend on m. This gives
= 1p2m,bm,n = 2"
),
^ 6 1
(5.5)
(5-6)
m,n
Redundant families have to satisfy frame bounds to possess reconstruction formulae and
thus contain enough information about the function. They are derived next.
Reconstruction of / from a sequence of wavelet coefficients is stable if two sequences
that are close originate from functions that are close also. To measure closeness we need
to assume that the sequences are in l2(Z2) so that m,n l(/>^m,n)| < oo. This is not a
stringent condition on the wavelets; any reasonable discrete wavelet with decay in space
and frequency gives
< B ||/ f
(5.7)
171,71
for B < oo [23]. The stability requirement can be interpreted as the requirement that ||/||2
is small if Em, K / . W I 2 is small, or
E
m,n
> A ll/H2
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(5.8)
81
for some A > 0. Wavelet families that satisfy the two bounds 5.7 and 5.8 are said to
constitute a frame. The frame bounds are a measure of the redundancy of the families.
The closer the ratio A /B is to 1 the more stable the reconstruction algorithm will be. The
family {^m)T} forms a basis case if A = B = 1 . The basis is orthonormal if ||^m,n||2 = 1The choice of the mother wavelet ip(x) and the discretization of 6 are essentially only
restricted by the frame and the admissibility conditions. These are met if the wavelet fam
ily forms a Riesz basis, defined in appendix C. From this it follows ([23]) that we can find
suitable discretizations of 6 if the mother wavelet is well concentrated in both the spatial
and the frequency domain.
The detection algorithm is based on a wavelet analysis of the pressure grid function
represented by the discrete function /,-, with t = 0 ,..., N 1. Consequently, m and n are
bounded; the smallest possible scale is determined by the grid size h and the largest scale
by the size of the domain. The maximum number of points at which the wavelet coefficients
can be evaluated is equal to N . Throughout this section, /,- is assumed to be the discrete
representation of a continuous function f( x ) ,x G [zojEn-i], T o facilitate the discussion of
the wavelet theory we consider functions f(x ) that can contain discontinuities at x = xJ+1/2,
represented in the discrete domain by a jump between f j and fj+ i, and local oscillations at
x = Xk when (fk+i fk) * Uk fk - i) < 0, see figure 5.3. Otherwise, f{x) is assumed to be
slowly varying. In section 5.4 we discuss grid functions that do not fit into this category,
such as smeared shocks, grid functions with spurious oscillations around shocks, and grid
functions that vary sharply in the vicinity of a shock.
shock
local oscillation
fi
W
--X. . X.
i-i
X. . X.
j+i
h-z
*k-t *k xk+1
xN_,
Figure 5.3: Example of discrete function /,- and the corresponding continuous function f{x).
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
82
5.2
5.2.1
Many popular wavelet families, e.g. the Haar, Daubechies or Meyer wavelets, are orthogonal
wavelets with A6 = 2m. They satisfy the first criterion [23], but fail to meet the second. To
understand this, we observe that shocks and local oscillations may travel through the flow
domain. The detection results should not depend on the position of the shocks or oscilla
tions, in other words, the wavelet transform should be shift-invariant. Figure 5.4 shows the
centers in part of the (a, x) space at which wavelet coefficients (/,
are computed in
an orthogonal wavelet analysis. This lattice is the same for all dyadic orthogonal wavelet
families. We assume that / has a bounded discontinuity at x s = 0, at which wavelet coeffi
cients are computed at each scale. If the function is shifted by a distance of, for example,
2J, only one wavelet coefficient is computed at the new location x3 = 23 at the levels shown.
Also, the wavelet coefficients evaluated at positions close to x 3 change as x3 is shifted. In
practise, only a finite number of levels can be evaluated, and we expect that the detection
results, which are based on this limited information, will change as well. Daubechies shows
that indeed a very large number of levels is needed to accurately determine the true local
behavior of the function for shifted singularities. Specifically, coefficients are needed at
scales close to or smaller than, the shift, which may not be available. So, orthogonal fam
ilies are not suitable for detection purposes in the context of this paper; shift-dependency
is unacceptable.
Clearly, shift dependency can be avoided if the wavelet coefficients are computed at the
same points at all scales, in other words, if A6 = constant. This constant, which represents
the smallest scale possible, is determined by the grid size. Because the grid size h is not
necessarily equal to a power or inverse power of 2, we normalize the smallest scale h to 1
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
83
a
j+3
j+2
............................. 1
0
TO > 0.
(5.9)
f 9{x) dx = 1,
and
lim ^ ^
x-foo
ax
=0,
k = 1,2,----
(5.10)
It follows that f ip(x)dx = 0 for rp(x) = dk9/dxk with k > 0. The wavelet ^(x) will satisfy
the admissibility condition 5.3 if it has sufficient decay in the frequency domain.
5.2.2
For compact mother wavelets with symmetric support that are derivatives of a sm o o th in g
function, the local regularity of /(x ) can be computed from a small and easy-to-determine
set of wavelet coefficients. The local regularity of a function is measured in terms of its
Lipschitz exponent a, defined below.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
84
l* -* o r
xq
4. A distribution is Lipschitz a over an interval (xi, xT), if and only if its primitive is
Lipschitz a + 1 on (xi,xr).
5. A distribution f{x) has an isolated singularity Lipschitz a at a point
if f(x ) is uniformly Lipschitz a over an interval (x[,xr) with
xq
xq
if and only
>a e -+i &G R . If the support of the mother wavelet ip is equal to [-K , K],
ipajb has support [6 Ka, b + Ka], At any scale a, the function value f( x o) will influence
the wavelet coefficients (/, ipaj,) computed at the centers b in the set
S(a,xo;K) = {b : \b zo| < K a }.
(5-11)
xq should
xq
be determined
by the wavelet coefficients evaluated at centers in C{xo; K ). Mallat and Hwang [56] proved
that this is true for the functions f(x ) considered in this paper. Mallat strengthened the
result further in the following theorem:
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
85
T heorem 5.1
xq,
if there
exists a constant C > 0 and a scale d such that along any B(a)
|( /) ipa,b >1 < C aa,
Va < a.
(5.12)
xq
curve b = Bm{o) such that for all a < a, B\f{a) are maximum points. Such curves
are referred to as maximum lines. The Lipschitz exponent of f at x q is determined by
5.12 evaluated along the maximum line converging to
xq
A similar theorem also holds for dyadic families, with am = 2m, and & E . [60, 57]. We
cannot compute coefficients at scales smaller than 1, nor at positions other than the grid
points. Therefore, we presume that the decay of the available wavelet coefficients at scales
larger than 1 characterizes the regularity of the function. If this is not the case, the mesh
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
86
must be refined (decreasing h). The second part of the theorem makes the wavelet detection
computationally attractive; the Lipschitz exponent a at a point x q can be estimated from a
small set of wavelet coefficients. We compute the wavelet coefficients at a sequence of levels
m, where 1 < m < nimax < log2(iV). Next, we find the modulus maxima at each level and
locate maximum lines that converge on the scale of the grid. Then, we determine a such
that
log2 I(/, Vm,n) I = log2 C + m a,
(5.13)
as close as possible, in a least squares sense, for the wavelet coefficients along the selected
maximum lines.
We remark that for orthogonal wavelet families, a theorem relating wavelet coefficient
behavior to local regularity is well known and easy to prove. For a discussion we refer
to [23]. The beauty of Mallats work and that of his coworkers is that they succeeded in
showing a similar relation for non-orthonormal wavelets, using the extra design freedom
gained by abandoning orthonormality. Besides Daubechies and Mallat other people that
have contributed to the theory have been Jaffard [40] and Chui [17].
As an example, figure 5.6a shows a signal with several points of distinct behavior, and the
modulus maxima computed with the detection algorithm at increasing levels m, m + 1,__
If the Lipschitz exponent a is positive, the amplitude of the modulus maxima increases with
m. The smooth variation points 1 and 4 exhibit this behavior. The singularity at 3 produces
modulus maxima that decrease as the scale increases, so sup(a) < 0. The amplitudes of the
modulus maxima corresponding to point 2 do not change and we conclude that sup (a) = 0.
5.2.3
The parameter k in ip(x) = dk9/dxk limits the maximum Lipschitz exponent that can
be determined. For our purposes k = 1 suffices because we are interested in detecting
discontinuities (a = 0) and spurious oscillations (a < 0). Larger values of k can be used in
turbulent flows, for example, so that large vortices or vortex sheets can be detected. For
k = 1, a direct connection exists between the wavelet detection and detection algorithms
that search for maxima in derivatives. To show this we define 0Oi& = a _10 ( ^ ) . The
function 9a,b is a smoothing function also as f 9afi(x)dx = f 6{x)dx = 1. Also,
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
i n
original signal
2
fl
nn
nn
nn
In
nn
in
.>
(0
1o y
87
.g
nn
Figure 5.6: Example wavelet transformation.
so that
(5.14)
In other words, the wavelet transform is the first derivative of the function / smoothed at
the scale a by 6a
in derivatives. If a function has a discontinuity, the derivative of the smoothed function will
have a maximum at this location. This means that a discontinuity has one m axim um line
converging to its location as the derivative of the smoothed function will have an absolute
maximum at this position. A Dirac function has two maximum lines.
The wavelet coefficients provide an estimate of the jump [/]a at scale a across the shock:
llfl.
d U M
db
= I</) ^a,6 ) 11
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(5.15)
5.3
88
For certain classes of wavelet families, the wavelet coefficients at a level m can be computed
by linear filter operations on the wavelet coefficients at level m 1. This technique is re
ferred to as the Fast Wavelet Transform (FWT). The FWT computes a complete wavelet
decomposition of a signal with n components in O(nlogn) operations. It is always possi
ble to formulate a FW T for orthogonal families. The relation between orthogonal wavelet
transforms and filter operations is easy to understand through a so called Multi-Resolution
Analysis (MRA). The MRA was first formulated by Mallat [55]. For several redundant
wavelet families that satisfy the conditions given in the previous section, fast wavelet trans
forms exist as well. The orthogonal MRA provides the framework for the derivation of filter
coefficients for the redundant wavelet family used in the detection algorithm.
We note that for detection purposes, it suffices to compute wavelet coefficient at three
or four scales, so that the workload is a mere 0(n) operations.
5.3.1
T he orth on orm al M R A
...,
(5.16)
dilation parameter a = 2m and the
translation parameter b = n2m. The factor 2-m/2is added to normalize the functions
that are referred to as scaling functions.
To illustrate the MRA we create the subspaces Vo and V_i with the function <fi given
by <f>{x) = 1 for x [0,1] and <f>[x) = 0 elsewhere. Figure 5.7 shows an arbitrary function
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
89
f(x ) E I? and its projections Pq/ on Vo and P - i f on V_i. The projection P - i f contains
more detailed information about / then Pof. The latter can be seen as a smoothed version
of P - i f . The details that are lost during this smoothing reside in a space
Wq
orthogonal
to Vo, so V -i = Vo Wo- In general, Pmf is a smoothed version of Pm- i f and the details
lost going from one space to the other are in the space Wm.
(a)
iP0 f)(2x)
V-1
(c)
. 1/2
V-1
1/2
(d)
We can find simple relations between the basis functions that span Vo,
Since Vo C V -i any function in Vo, including
of the members of the family
Wq
and VLi.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
90
or
4>(v) = H{ui(2)j>{u>/2).
(5.18)
The sequence {h(n)} is finite if the function <f>has compact support. Through equation 5.16
the basis functions of all spaces Vm are related to each other through filter operations like
5.17.
Mallat showed that orthonormal bases Tpm,n can also be found for the spaces Wm. These
basis functions are given by
^m,n = 2 -m/2 ip(2~mx - n) = 2"m/2
fx n2m>
( * 2m).
2m
(5.19)
\/2
(l)n h ( -n + l) <p{2x n)
(5.20)
V2 ^ 2 9in ) 0(2 n)
(5.21)
2Z 9(n)
(5.22)
We get
i>(u) = G(w/2) ^(w/2)
(5.23)
with
g{n) = (l)n h(n+1),
and
It can be shown that the functions Vm.n are wavelets. So, we found filter operations that
related all basis functions in all the spaces Wm and Vm to each other. It is now straight
forward to find the appropriate filter operations for the projections Pmf and the wavelet
transforms Wmf . We have
Pmi f = Pmf "F Wmf ,
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(5.24)
91
where
Pm f = ^"1 ( ft 4>m.n) <Pm.ni
(5.25)
Wmf
(/jV'm.n )^m,m
(5.26)
and
( / ,t f m , n >
if,Tpm,n)
A(f e - 2 ) ( / . A n - U > .
(5-27)
k
5 3 ^(fc-2n) ( / , ^ m_i,fc).
k
(5.28)
Because the signal Pmf is obtained by smoothing Pm- i f we refer to i f as a low-pass filter
with coefficients h(n). We can write equations 5.25 and 5.27 as Pmf = Pm- \ f * H. The
symbol * represents the convolution operator. The wavelet coefficients represent the details
lost in smoothing the function Pm- i f to Pmf . We see that they are obtained by applying
the high-pass filter G to Pm- i f withcoefficients g(n). We write Wmf = Pm- i f * G. If
the filter coefficients h(n), g{n) and the values (/, <f>mo,n) for some level mo are known all
wavelet transforms Wmf and projections Pmf for levels m greater than mo can be deter
mined efficiently by repeated use of the filters H and G. For example, suppose that mo = 0.
Then the wavelet coefficients at level m = 2 are given by G H (Pof). An illustration of the
filtering process is given in figure 5.8. For compact wavelets, for which the sequences {h(n)}
and {g(n)} are finite a Fast Wavelet Transform results 2.
grid function f
wavelet coef.
m=3
[ HHH\ \GHH\
/V
etc
filter H
smoothing
filter G
details
2For noncompact wavelets the sequences are truncated. If the wavelets have sufficient decay this will
not effect accuracy much.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
92
5.3.2
K ")
2p+2
with p G Z +.
The wavelet ip is the first derivative of a smoothing function 9 whose Fourier transform
is given by
2p+2
For 2p + 1 = 3 we get a quadratic anti-symmetric spline with compact support [1,1] given
by
2(a; + l)2
tp(x) = <
X <
-1 /2
4x(l + x) 2x2
- 1 /2 < x <
4x(l x) + 2x2
0 < x <
1/2
- 2 ( i - 1)2
1 <
(5.29)
This is the wavelet that is used in the detection algorithm. It is shown in figure 5.9.
The coefficients are given in table 5.1a. Note that the coefficients need to be shifted by
1/2 to get symmetry about 0.
F ilte r Coefficients
n
h(n)
9(n)
-1
0.125
0
0.375
-2.0
1
0.375
2.0
2
0.125
Table 5.1: Filter coefficients and scaling parameters for the spline wavelet
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
93
5.4
Implementation
5.4.1
To compute the wavelet and projection coefficients, we need the projection coefficients
(/>
at some scale 2m . In the discrete case, only the signal /,-, i = 1,..., N at scale
1 is available. It should represent the values of the projection Pof at the points x = i for
some function / 6 L2:
n
Mallat mentions in [56] that a (non-unique) / exists providing the functions <f>(xn) form a
Riesz basis for Vo- This is exactly the condition that we need to impose on the family to be
able to construct a FWT in the first place. It is therefore satisfied by the <f>corresponding
to the quadratic spline wavelet.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
94
The smoothing function used has compact support [K ,K \ for K < 1. Therefore
^o.nte) = 0 for n i, and equation 5.30 simplifies to
=
(5-31)
The projection coefficients are found irrespectively of / . It seems that all wavelet coeffi
cients can now be computed with the filter operations 5.27 and 5.28. However, there is
a fundamental difference between the discretized and continuous case. Suppose that the
discrete function / t- has a step at i = to, so that / t- = C, i < t'o and / t- = 0 elsewhere, for some
constant C. The algorithm should detect the step as a shock with jump |C |. In other words,
the absolute wavelet coefficients should remain constant and equal to \C\ across scales. But
the function / given by equation 5.31 could well be smooth, in which case the wavelet
coefficients will vary. This can be corrected through scaling of the wavelet coefficients. We
compute the true wavelet coefficients of a step function f(x ) with step height 1 with the
continuous wavelet transform. The scaling parameters Am aregiven by the ratios of the
continuous wavelet coefficients
with
the
with step height 1. The computed parameters are given in table 5.1b. 3
The wavelet coefficients at all scales a = 2m, m > 0 can now be found directly from
(/) 0m,k ) = y ! h(n 2k) ( / , <pmi,n)
(5.32)
and
( / , ipm,k ) = - r - ^ 2 g { n - 2 k ) ( f, <j>m- i,n )
m n
Using the same notations as in the orthonormal case we get
Pm =
Wm =
(5.33)
P m I * H m i,
T P m1 * Cmi.
*m
(5.34)
The filters H and G are given by the filter sequences h(k) and g(k) of table 5.1.
5.4.2
T reatm en t o f th e boundary
As in Fourier transforms, we need to extend the domain of the discrete grid function /,-, 1 <
i < N in some manner. If we extend the function by assum ing it is zero outside this domain
3Please note that the coefficients given in [56] are not correct. They correspond to filter coefficients
p(0) = 1.5 and p(l) = 1.5.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
95
we may introduce a jump at the boundaries. This jump will be detected as a shock and will
influence the detection close to the boundary. Periodizing the function can have a similar
disturbing effect. Instead the function is extended by reflection:
f i = f( 2 Ni)
(5.35)
The reflected image is continuous at the boundary, but its derivative may not. This potential
cusp or kink will be detected as a singularity also (oscillation). But unless shocks or other
special flow phenomena are traveling outside the domain, the flow is slowly varying at
the boundaries and the cusp or kink is small. The border effects will be m in im al if the
wavelet filter g is anti-symmetric; contributions on either side of the boundary are equal in
amplitude because of the reflection, but opposite in sign because of the anti-symmetry and
cancel at the boundary points. The points close to the boundary are still affected but for
signals that are smooth at the boundary the disturbance will be too small to be detected
in the interior of the domain. This is ensured in the local grid adaptation procedure by
confining shocks to the the interior of the refined grids.
5.4.3
The pressure grid function / t- may be distorted by spurious oscillations around the shock.
They are characterized by wavelength L, L > 2h and amplitude r. Figure 5.10 shows the
damping factors r g / r and r g g /r , where t h and t h h are the amplitudes of the smoothed
oscillations after respectively one and two applications of H. Oscillations with a wavelength
L = 2h are removed immediately, and oscillations with short wavelengths are dampened
quickly. Therefore, the oscillations have little and negligible effect on the computation of
the Lipschitz coefficient or with 5.13 for levels m > 2 in . An example is given in figure
5.11. It shows a pressure distribution obtained from a central finite difference scheme
applied to the Euler equations. The oscillations are prominent at the smallest scale but
quickly disappear. Note that the jump |[/]| across the shock is accurately represented by
the wavelet coefficients.
If a shock is smeared, the estimated Lipschitz exponent will be larger than zero. How
ever, as the scale increases, the modulus maxima will quickly converge to a constant, equal
to the total jump over the smeared shock. For one- and two-point shocks, the correct
Lipschitz exponent can generally be detected from the modulus maxima at levels m > 3.
Otherwise, local oscillations and/or large magnitudes of the wavelet coefficients at the larger
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
96
aa
-r_HH
L/h
Figure 5.10: Damping Factors Filter H.
scales will indicate that there is a steep gradient necessitating local grid refinement. We
remark that as a result of local grid refinement and an efficient artificial viscosity, smearing
is generally not an issue at the coarser scales.
If the grid function varies sharply close to a discontinuity, the Lipschitz exponent will
also be perturbed. However, the grid adaptation procedure will refine the grid locally as
the detection algorithm will pick up local oscillations. At the finest scales, the variation in
the grid function close to the shock will not be as strong and the discontinuity can again
be detected with sufficient accuracy (see chapter 6).
Approximations to the shock states uj and ur are needed to construct the artificial vis
cosity. If no local spurious oscillations are present, this task is trivial once the shock location
is known. Otherwise, the data at the scale of the grid is distorted and we approximate f i
and f n from the smoothed data Sm at scales m > 1.
In table 5.2 a general outline of the detection algorithm is given with references to the
relevant equations, theorems and sections.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
97
10
16
20
4
il
_ A _
= A =
i:t
_ 7 V_
5.5
The theory discussed in the previous sections can be extended to two dimensions in a
and ip2(x,y), that are derived
(5.36)
**(.> -
(5.37)
JJ
6(x, y) dxdy
*J5oo
dxkd y ^
= 1,
=
(fc + 0 = 1 ,2 ,....
(5.38)
(5-39)
-)).
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(5.40)
98
Reference
Eq. 5.35
Thm. 5.1
Eq. 5.13
Again, a represents the scale and b and c are centers of the wavelet in , respectively, the x and y-direction. Analogous to 5.14 it can be shown that
ysifiQajbfi)
'Scifi @a,b,c )
a V( /, 0Q)6iC).
(5.42)
(5-43)
v/KA^A>I2 +
K /.< * M 2-
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(5.44)
99
nJeZ^m eN .
(5.45)
As in the one dimensional case, we compute wavelet coefficients at several scales and at all
points x = n ,y = I. Mallat and coworkers [57] showed that theorem 5.1 may be extended
to two dimensions, relating the decay of the moduli Mm^nj of the wavelet coefficients to the
Lipschitz exponent a. The exponent a is determined by fitting
Mm,n,l < C (2m) ,
or
(5.46)
(5.47)
as close aspossible. Again, we compute the wavelet coefficients for the discrete pressure
function. To recover the shock curve, we chain adjacent local maximaif their respective
position is perpendicular to the direction indicated by the angle Amtnj,.
The smoothing function is simply chosen as 0(x, y) = 6o(x)Go(y), where do is the smooth
ing function used in one dimension. This leads to a Fast Wavelet Transform in two dimen
sions. As in the one-dimensional case given in 5.34, we can express the two-dimensional
FWT in terms of filter operations as
Pm
P T i i
=
Wl
{HTn 1 , H mi ) ,
- ^ - P m- i * (Gm- i , D ) ,
(5.48)
l).
(5.49)
Here, Pm_i *
Pm- i with the one-dimensional filter Gm- i and the columns of the signal with the one
dimensional filter D, and similar for the other expressions. The filter D is the Dirac filter
with impulse response 1 at 0 and 0 everywhere else.
The one-dimensional shock detection is tested and validated in chapter 6. The twodimensional shock detection has been tested and is currently being implemented in the
SHOEC code.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Chapter 6
R esults
In this chapter we present numerical results for the Euler equations in one and two dimen
sions. The test problems listed below are chosen to validate the computational modules
indicated in the tabel, and to show the effectiveness of the solution strategy.
One dim ension
Linear advection of a cosine density wave high vs. low-order
Interaction of shock with density wave
artificial viscosity
shock detection
grid adaptation
Two dimensions
Traveling isentropic vortex
accuracy
high versus low-order
Subsonic flow past a cylinder
without source term
boundary conditions
with source term
overlap
grid adaptation
high vs. low-order
Transonic flow past a cylinder
artificial viscosity
shock detection
Section 6.1
Section 6.2
Section 6.3
Section 6.4.1
Section 6.4.2
Section 6.4.3
The parameter a, given in section 2.1.3, is set equal to a = 1 27 , which simplifies the
computation of the entropy variable p*. We use the two sets of discretization stencils given
in appendix B. The low-order method is second-order accurate and the high-order method
100
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CHAPTER 6. RESULTS
101
6.1
ui(x, 0)
(6.1)
^ r=T + | ui (x>) ;
with periodic boundary conditions, correspond to the linear advection of a cosine density
wave. The velocity and pressure are equal to one and remain constant in time. This test
problem is chosen to illustrate the advantage of difference operators with a high order of
accuracy. The flow is smooth and therefore solved without local grid adaptation or artificial
viscosity. Figure 6.1 depicts the solutions at t = 0.3 obtained for the SHOEC scheme with
the sixth and second-order difference operators given in the appendix l, and the first-order
Godunov scheme for 50 grid points.
0.75
Figure 6.1: Solid line exact solution, 6th order (-.), 2nd order (), 1st order (-).
lNote that because of the periodic boundary conditions the global accuracy is sixth and second-order
respectively as well
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
102
CHAPTER 6. RESULTS
To achieve the same accuracy as the sixth-order scheme, a minimum of 250 grid points is
needed for the second-order scheme and at least 2000 grid points for the first-order scheme.
6.2
x < 4
39.166666
u(a:,0) = <
(6 .2)
^ 1 + 0.2 sin 5x ^
0
\
x > 4
2.5
correspond to a strong shock wave, moving to the right, that interacts with a density sine
wave of small amplitude. The shock speed s = 3.55, resulting in a Mach-number M w 3 in
front of the shock. The difficulty lies in resolving the low and high frequency oscillations
that are formed behind the shock wave in the density. This problem is a good test for
resolution, as well as the detection algorithm, artificial viscosity and local grid adaptation.
The solution is not known analytically. For comparison, an "exact solution is computed
using a formally conservative 4r-th order central scheme with n = 2000 (no grid adaptation)
and t = 1.8. The artificial viscosity term used is 4.2 with the scalar viscosity e given by
4.18. The conservative form will ensure that the shock location is correct, which is then
used as an extra check for the shock location returned by the SHOEC scheme. In all of the
following figures, the shock location is denoted by *. The density is shown in figure 6.2a.
Again, the computed solution is indicated by a dashed line and the points in the shock are
circled. The shock is resolved very sharply which illustrates the effectiveness of the artificial
viscosity.
Figures 6.2b and c show the coarse grid solutions for a fourth-order SHOEC scheme
obtained for n = 400 and n = 200 respectively. The difference operators are given in
appendix B. We used local grid adaptation and one level of refinement (n is the number of
coarse grid points). The shock location is determined with the detection algorithm; a priori
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CHAPTER 6. RESULTS
103
knowledge of the shock speed is not used. The ratio of fine to coarse grid points is 4. The
artificial viscosity is given by 4.3 and 4.18. In figure 6.2d we depict the location of the fine
grid relative to the coarse grid as time progresses for n = 400. The true and detected shock
locations coincide. Clearly, the refined grid is confined to the shock region. Slightly more
points are flagged downstream of the shock because of the oscillations. The solution for
n = 400 is very accurate. For n = 200 the peaks are somewhat damped, but the principal
features of the flow are clearly visible. In both cases, the shock is resolved very sharply.
The detection algorithm and the regridding procedure only accounted for 5% of the total
time in these experiments. The effectiveness of our proposed technique is more apparent
when we compare our results to those obtained with a fifth-order ENO scheme and thirdorder limiter as developed by Lindstrom in [52]. His result for n = 400 is shown in figure
6.2e. Although this solution is of slightly better quality than ours, the shockresolution
is comparable, and the costs of computing our solution are lowerthan these of the
ENO
scheme.
6.3
[ l j UOOj Woo,
_ ^
(6-3)
and perturb it by
Su
= - ^ e(1_r2)/2y
(6-4)
5v
= ^ -e ^ 1_r2^ 2i,
27T
(6.5)
ST
= - - ~27 h
(6-6)
42jt- e(1~r2)/2)2-
Here, T = p/p, (x, y) = (x c,y c) and r 2 = x2+y2. The flow is required to be isentropic,
so
pp-7 = constant = 1.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(6.7)
CHAPTER 6. RESULTS
Si
104
r- -
1
*
*
2-
CONSERVATIVE (2000)
SH O E C * t a p (400)
-1
-6
*1
(a)
(b)
DENSITY PROFILE
PO Sm O N R N EQ ftO
. . .
*
% *
IS
------- / V V V
shoec+
ad v (2 o o )
as
AA
-S
-4
(c)
j'
2
-6
(e)
Figure 6.2: Density plots for 6.2 at t = 1.8s; exact shock location (*); (a) reference solution,
n = 2000; (b)+(c) SHOEC scheme with local grid adaptation; (b) n = 200; (c) n = 400;
(d) Position of refined grid, n = 200, exacted and detected shock position (*); (e) 5th order
ENO scheme with 3rd order limiter; n = 400.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CHAPTER 6. RESULTS
105
= (1 C2e(l~r2^
(6.8)
pu
= p(uoo ~ C'ie(1_r2)/2y),
(6.9)
pv
= p(voo + C e ^ ~ r2^ 2x ) ,
(6.10)
= p 1.
(6.11)
This state represents a vortex that is centered at (c,c). The exact solution of the Euler
equations with these initial conditions is a vortex of the same width and strength traveling
with the constant speed (uoo, Vqo)- The solution is computed on a square n x n grid covering
the domain (x, y) (0,10) x (0,10). The boundary conditions are periodic in both x and
y direction. The constants C\ and C2 are chosen as C\ = 2.57T and C2 C2/ 7, and
c = 5. We consider a steady vortex (oo = Uoo = 0) and a diagonally traveling vortex
(uqo = Uoo = !) In figure 6.3 the initial values of the density and the horizontal velocity are
shown for the diagonal case. The vortex problem provides a good test for the computational
kernel because the exact solution is known and the stencil does not have to be adapted at
the boundary.
DENSITY
VELOCITY INX-OIRECTION
Figure 6.3: Initial value of the density and the velocity in x-direction for the diagonally
traveling vortex
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CHAPTER 6. RESULTS
6.3.1
106
To test the accuracy of the sixth-order SHOEC scheme we run the steady problem with
Uqq = t>oo = 0
fo r a
sequence of grids with decreasing grid step size hi = l/(n t- + 1), where
ni = (2*) 20, t = 0 ,..., 3. The final time is equal to t 0.5. The time steps are chosen to be
too small to affect the accuracy. In the following table the maximum norm, L\ norm and
Li norm of the error in the entropy, given by es,i = (pp-7 1), are displayed for each of
the grids. The last column contains the value of q = log2 flleslk/Hes^+ilk), which gives the
observed order of accuracy. This value should approach 6 as the step size decreases, which
is the behavior observed.
i
0
1
2
3
Tli
Halloo
M i
IMI2
20
40
80
160
3.210~3
1.610~4
3.210"6
8.3108
1.810~4
5.110~6
1.110"7
1.710"9
5.8104
1.910 5
4.210~7
6.810~9
9
4.9
5.5
6.0
Table 6.2: Norms of the error es in entropy and the computed order of accuracy q for the
steady vortex problem at i = 0.5.
6.3.2
For (uoo,oo) = (1 l)i the time it takes for the vortex to travel from the center, out of the
domain at the right upper comer, in the domain at the lower left comer and back to the
center is t = 10. Several stages of the solution during one period are shown in figure 6.4.
We compute the solution for the diagonally traveling vortex with the sixth-order SHOEC
scheme at t = 10 and t = 100, and observe the decay in the quality of the solution. Figure
6.5 displays the density profiles at x = 5 (cutting through the center of the vortex) for
T = 10 and the results for T = 100 are shown in 6.6. The dotted lines in the graphs shows
the initial solutions. For both n = 80 and n = 40 the solutions are very accurate, even after
long time integration. For n = 20 the solution quality decays quickly after T = 10.
We compare our results to the results obtained by Shu [86] for four different numerical
methods: a second-order TVD scheme (MUSCLE with the min-mod limiter [96]); a thirdorder ENO scheme [84]; a third-order Discontinuous Galerkin method [18]; and a fifth-order
Weighted ENO scheme [43]. The density plots for t = 10 are given in 6.7 and for t = 100
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
107
CHAPTER 6. RESULTS
t-0
t Z 5
in 6.8. The sixth-order SHOEC scheme performs as well as the third-order Discontinuous
Galerkin method (DG-3) and better than the fifth-order Weighted ENO scheme (WENO5), also for n = 40. Clearly, the second-order TVD scheme and third-order ENO scheme
result in poorer solutions. High-order accurate methods require a much lower grid density
to obtain the same solution quality.
6.4
The simulation of flow past a circular cylinder has been used extensively as a test problem
for numerical schemes in two dimensions for both inviscid and viscous compressible flows.
The simplicity of the geometry is deceptive; the flows are by no means simple to compute. In
viscous flows, the flows range from steady Stokes flows to viscous wake flows and turbulent
flows depending on the Reynolds number. The behavior of the inviscid flow depends on the
free stream Mach number M00. For low Mach numbers, the flow is steady and symmetric
about the horizontal and the vertical. The flow is accelerated over the cylinder and joins
smoothly at the rear stagnation point Pa shown in figure 6.9a. As
eventually develops a supersonic region around the top and bottom of the cylinder. The
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
108
CHAPTER 6. RESULTS
SHOEC.CtfMlo4.U-V-T.taia.n-40
^
------------------9
0
0
1.1
O
o
o
0
0
0J
o
at
ar
O
9
at
o
o
V*
9 1 2
04
0
99
as
10
(b)
(a)
S H O E C . U M n 6 .tfM -1 .ta 1 0 ,n 4 0
1 >-9~O* O-
10
(c)
Figure 6.5: Cut through density plot at x = 5 for T = 10. (a) n = 80; (b) n = 40; (c)
n = 20.
critical Mach number Mcr at which this occurs first is approximately Mcr = 0.4. Radial
shock waves are formed on the lee side of the supersonic region. Because of the pressure
gain over the shock, the flow separates before reaching the original stagnation point Ps
downstream of the cylinder. The new separation points are located at Ps and circulation
bubbles are formed in the wake (figure 6.9b), with nearly constant pressure. Initially the
flow is still symmetric about the horizontal, but Pandolfi and Larocca [75] reported that in
their numerical simulations for Mo- < Moo < 1 the symmetry of the flow eventually breaks
down after long time integration. Asymmetric periodic flows were formed reminiscent of
the well-known von Karman vortex sheet observed in the incompressible viscous case at
low Reynolds number. Also in physical experiments such behavior has been observed,
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CHAPTER 6. RESULTS
109
(a)
(b)
Figure 6.6: Cut through density plot at x = 5 for T = 100. (a) n = 80; (b) n = 40;
which indicates that the flow is unstable and easily affected by small perturbations. The
perturbations occur in numerical experiments as a result of round-off and discretization
errors. In the experiments run at the GAMM workshop [24] held in Rocquencourt similar
observations were made for long time integration. The transonic flows (1 >
> Mo-)
form good test cases for the two dimensional artificial viscosity and shock detection, and
the local grid adaptation, which will be required in the wake and the shock regions.
We derive an initial condition from the velocity field of an incompressible potential flow
past a circular cylinder with radius R, given by
divu
ux +Vy
= 0,
rot v
Uy
1+
te w )
~ R2 ( i2 + j 2)2'
(fU4)
vx = 0,
( 6 . 12 )
or
=
The expressions for the remaining variables p and E are found by requiring constant entropy
in the flow domain:
u n iform
far field
7 ( 7 - 1 ) ^ + 2^
which corresponds to the velocity field for ((x2 + y 2) -00) with Mach number M
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
(6,15)
We
CHAPTER 6. RESULTS
It
110
TVD-2. c u t a t x -5 . uv> t
OG-3, c u t a t 1 -5 , u -v -1
Figure 6.7: Results experiments Shu for n = 80 and T = 10; (a) second-order TVD scheme
;(b) third-order ENO; (c) third-order Discontinuous Galerkin; (d) fifth-order WENO
get
_
c ,-i
701
P = Cxp1,
E
(6.17)
+ | p ( u 2 + u2).
(6.18)
These initial conditions satisfy the solid boundary conditions, i.e., the velocity normal to
the cylinder is zero.
The boundary conditions are given in section 2.3 of chapter 2. The far field state in the
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
111
CHAPTER 6. RESULTS
ENO-3, a jta tx 5 . u - v l . t - 1 0 0
Figure 6.8: Results experiments Shu for n = 80 and T 100; (a) second-order TVD scheme
;(b) third-order ENO; (c) third-order Discontinuous Galerkin; (d) fifth-order WENO
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
112
CHAPTER 6. RESULTS
(b)
Figure 6.9: (a) Sub critical (Moo < 0.4) flow with stagnation points P3] (b) b: Super critical
(Moo > 0-4) flow with stagnation points P3
Subsonic flow
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
113
CHAPTER 6. RESULTS
(d
Figure 6.10: Initial conditions for M qq = 0.38; (a) surface plot; (b) top view; (c) contour
lines with circumferential direction mapped on to the x-axis
because we did not adapt the Euler equations nor did we change the solid or characteristic
boundary conditions. In figure 6.12 a and b entropy deviation contours are shown for two
different grids given by 32, respectively 64, grid points in the circumferential direction and
120, respectively 240, grid points in the radial direction, obtained after 2000 time steps.
The growth in entropy decreases as the grid density increases and is concentrated near the
stagnation points. In figure 6.12 c deviation contours are shown for the enthalpy on the
finer grid. The total pressure is higher near the front stagnation point and lower in the rear.
This leads to the slightly skewed Mach profile shown in 6.12 d. All profiles are perfectly
symmetric in the x-axis. Only for very fine grids (128 x 480) did the solution converge
to a steady solution with maximum Mach number approximately equal to Mmox = 0.925.
Results for a composite grid with 200 x 200 grid points in the Cartesian grid and 32 x 64
grid points in, respectively, the circumferential and radial direction of the circular grid, were
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CHAPTER 6. RESULTS
114
-40
Hi
40
Figure 6.11: Grids used in the computations (actual grid densities vary); (a) the composite
grid; (b) the single grid.
u n ifo rm
fax field
and the initial conditions. The time steps used are too small to affect the estimated spatial
accuracy.
The overall order of accuracy is found to be four, which is as expected. The fourth-order
overlap interpolation does not affect the accuracy.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
115
CHAPTER 6. RESULTS
entropy deviation
entropy deviation
(a)
(b)
Mach number
enthalpy deviation
-0.05
-0.15
(c)
Figure 6.12: (a) entropy deviation for the coarse grid; (b) entropy deviation for the fine
grid; (c) enthalpy deviation for the fine grid; (d) Mach number contours for the fine grid
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CHAPTER 6. RESULTS
||ep||x interior
8.810 7
5.310"8
||e#||i interior
1.610"5
9.410-7
otoo
h
ho
ho/2
116
D ensity
||ep||2 interior
9
2.0106
4.0
1.010"7
Enerf sy
Ile?[I2 interior 9
3.610-5
4.0
1.810-6
I M i grid
5.910~7
4.310"8
lleplb grid
1.310~6
8.110"8
9
4.0
Table 6.3: Norms of the errors in density and energy for two component grids and estimated
order of accuracy q
fourthorder
32 x 120
1
2
0.61
0.34
0.43
secondorder
64 x 240
2
4
1.63
2.50
1.71
A factor of 2.5 is gained by increasing the order of accuracy of the method on uniform
grids. We remark that this gain will likely increase with improved solid boundary conditions
that take into account the conservation of entropy and enthalpy. Local grid adaptation
reduces the computational time by another factor of 2. Local grid adaptation did not
increase the efficiency for the low-order method as the size of the refined areas is large and
the number of levels required high.
Profiling data for the local grid adaptation with r = 4 and the fourth-order SHOEC
scheme is given in tabel 6.5. This is representative of all simulations run. The Runge-Kutta
column displays the time to compute the flux derivatives in symmetrized split form. The
computations of the flux vectors / and g, entropy variables w and Jacobians f w and gw
are timed separately. The computational kernel takes by far the biggest chunk of CPU
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CHAPTER 6. RESULTS
117
time. The regridding procedure, which includes detection, error control and construction
and initialization of the finer grids, takes a mere two percent. Profiling data of composite
grid simulations show that the overlap overhead due to the interpolation is around one
percent of the total CPU time.
CPU%
Runge-Kutta
65
f ,9 , w
7
projection
1
misc.
11
(overlap)
1
6.4.3
Transonic flow
In the transonic flow case, we test the two-dimensional artificial viscosity and shock de
tection. Several results for this test case are reported in the proceedings of the GAMM
workshop held in Rocquencourt [24]. The initial conditions used are given by 6.16 through
6.18 with Moo = 0-50. These conditions lead to a steady state solution as shown in figure
6.9b. A supersonic region is formed near the top and bottom of the cylinder, resulting in
two shock waves on the lee side, and recirculation bubbles in the wake. The maximum Mach
number at steady state is approximately Mmax = 1.6. Naturally, the entropy increases as
the flow crosses the shock and the final state is non isentropic and non isenthalpic. Do a
few comparisons here with reported results.
We computed results on a single 32 x 120 cylindrical grid and a composite grid consisting
of a Cartesian 200 x 200 grid and a 32 x 64 cylindrical grid for the fourth-order SHOEC
scheme. The results were identical, also after long time integration 2.
In 6.14 the evolution of the Mach contours are displayed for the first 1600 time steps.
It clearly shows the formation of the lee shocks. At approximately 1700 time steps the
detection algorithm reports the shock which leads to refinement in the shock regions. In
this experiment, the buffer zone is equal to 4 and the whole lee side of the cylinder is
regridded. Both a ratio of two and a ratio of four is used, leading to s im ila r steady states
obtained after approximately 13,000 time steps. The residual is measured as the difference
in I2 norm between two consecutive solutions. The boundary conditions do not hinder the
convergence as entropy and enthalpy do not have to be conserved, but the
fin a l
entropy
2This is not surprising if the composite grid modules are implemented correctly as the flow is smooth in
the overlap region
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CHAPTER 6. RESULTS
118
levels are generally larger than for the numerical methods used in the GAMM workshop.
Figure 6.15 shows the residual up to convergence and figure 6.16 gives the Mach profile of
the fined state. The sharply resolved shocks are clearly visible.
Artificial viscosity at the shocks
The shocks are nearly stationary; they form at 60 degrees counting from the rear stagnation
point and travel upstream as the back pressure builds up to a final position at approximately
75 degrees. We added a second-order artificial viscosity given by 4.23 with r = 1 and 4.27
in the vicinity of the shock on the fine grid. Its effectiveness is illustrated in figure 6.17.
Figures 6.17a and c show contours close to the shock on the upper part of the cylinder at
1900 and 2300 time steps respectively when the SHOEC scheme is applied without artificial
viscosity. Figures 6.17 b and d show the solutions at the same time when artificial viscosity
is added after time step 1700. We obtain an approximate one point shock. The sharp
resolution is sustained after long time integration as is clear from figure 6.18 which displays
the Mach profiles on and immediately above the cylinder at 1800 and 6000 time steps. The
shock resolution compares well to the (mostly upwind) methods reported in the GAMM
workshop.
Recirculation and artificial viscosity in the wake
At approximately 6000 time steps in the simulation the detection algorithm picks up small
oscillations close to the rear stagnation point. This is at the time when the first circulation
(negative velocity in the x-direction) is established. Instead of refining the grid further we
suppressed the oscillations with a little bit of artificial viscosity. Two circulation bubbles
axe created in the wake. The back pressure pushes the stagnation points upstream as
conjectured. Figure 6.19 shows the velocity vectors around the cylinder at convergence. A
closer look at the circulation bubbles is provided by figure 6.20.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CHAPTER 6. RESULTS
(a)
(b)
,o * o
ooooi
oJ
400*4
-aytfa
(e)
-4 J
()
Figure 6.13: The grids created in the local grid adaptation procedure for r = 4 and r
(a) coarse grid; (b) coarse grid near cylinder; (c) high-order, r = 4; (d)low-order, r
(e) high-order, r = 2;(f) low-order, r = 2
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CHAPTER 6. RESULTS
pi
2 pi
Pi
2 pi
2 pi
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CHAPTER 6. RESULTS
*10'
2000
5000
10000
14000
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
122
CHAPTER 6. RESULTS
Figure 6.17: Mach. contours; (a)+(c) no artificial viscosity; (b)+(d) artificial viscosity added
l.6r
o.
j'N:-
X-
,:>
,y '
2pi
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
CHAPTERS. RESULTS
Figure 6.19: Velocity field at steady state with rear stagnation points Ps
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Chapter 7
Conclusions
In this dissertation we proposed a simple and efficient solution strategy for solving fluid
flows governed by the compressible Euler and Navier-Stokes equations. The general solution
framework is formed by a stable and central finite difference method of high order of accuracy
and implemented on composite adaptive grids. Special emphasis was put on the resolution
of shocks. For this purpose two new tools were constructed: a fast and accurate waveletbased detection algorithm and an effective and cheap artificial viscosity.
7.1.1
C o n stru ctio n o f th e stab le high order cen tral finite difference schem e
At the basis of the solution strategy proposed in this dissertation is a new high order
central finite difference scheme that satisfies a stability estimate. This stability estimate
was obtained by applying the semi-discrete energy method constructed by Kreiss, Scherer,
Strand and Olsson [49, 91, 70, 69] to the symmetrized Euler equations after a canonical
splitting of the flux derivative vector. The Euler equations were symmetrized by changing
to entropy variables, which are chosen so that the resulting scheme requires few compu
tations. The Split High Order Entropy Conserving (SHOEC) scheme was formulated in
general coordinates in two dimensions. Extension to three dimensions is possible. The
same techniques can be applied to the compressible Navier-Stokes equations as well as
other conservation laws that satisfy conditions outlined in [69]. Time-stepping was per
formed with a TVD Runge-Kutta scheme [85] which is suitable for nonlinear systems with
discontinuities. The resulting explicit structured method is straightforward to understand
124
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
125
and implement and lends itself well to parallelization, either with High Performance Fortran
or auto-parallelizing compilers.
Even though the scheme is in non-conservative form, the shock location obtained in
numerical experiments was correct and converged with h as the mesh was refined.
7.1.2
To handle complicated flow domains, yet maintain the efficiency of structured grid codes,
composite grids were used. The grids were generated with the XCOG package [79]. Local
grid adaptation was implemented to increase resolution where required, while keeping the
overall grid density low. The composite adaptive grid solver is based on the implementation
by Zhu [102]. The data structures were modified to deal with high order schemes and
extended to handle general curvi-linear grids. The number of data structures is minimized
to improve the clarity of the code. New routines were added to compute interpolation
information for fine overlap points. A different strategy was proposed for error estimation,
which fully utilized the existing grid structure.
The high order of accuracy of the SHOEC scheme combined with the local grid adap
tation approach leads to increased efficiency because coarser grids can be used in smooth
regions. A particular example in the Euler test suite showed a factor of six improvement in
computational time when using a fourth order method on a two-dimensional adaptive grid
compared to a second order method on a uniform grid. Just adapting the grid locally gave
a factor of two improvement for the high order method. These gains will be larger in three
dimensional applications.
The overhead of the composite adaptive grid method which includes the overlap in
terpolation, the detection and the construction and initialization of the finer grids, was
negligible compared to the computational kernel. Profiling showed that the computational
kernel is about eighty five percent of the total costs, whereas two percent is spent on local
grid adaptation and one percent on computing overlap interpolation.
7.1.3
Sharp shock reso lu tio n w ith grid refinem ent and artificial v isco sity
The grids were refined in the shock regions to retain accuracy because the accuracy at
discontinuities is at most first order, independently of the numerical method used. Spuri
ous oscillations generated by the high order central schemes were suppressed with a costeffective scalar artificial viscosity. The artificial viscosity is only added to the scheme on the
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
126
finer grid(s) in the vicinity of the shock. Artificial viscosity was not required outside shock
regions because of the inherent stability of the finite difference method. The scalar artifi
cial viscosity was constructed using a one dimensional analysis of the Euler equations at
discontinuities. The stability properties of the SHOEC scheme were retained. The viscosity
added is smaller than traditionally chosen viscosities and lead to very sharp (approximately
one-point) shock resolutions in both one and two dimensions. Fast moving shocks required
a slightly larger artificial viscosity, but the results obtained were comparable. To give the
user extra control outside shock regions, for example near stagnation points, another vis
cosity term was constructed. This term was a high order diffusion that agreed with the
order of the scheme.
7.1.4
A novel detection algorithm was designed based on wavelet analysis of the pressure grid
function. It was derived from an edge-detection algorithm in signal analysis [56, 55]. The
detection algorithm locates shocks, regions of sharp gradients and spurious oscillations. In
two dimensions it also determines the orientation of shocks. If a shock is sufficiently aligned
with the grid this information can be used to perform grid refinement only in the direction
normal to the shock. The detection algorithm is fast with only 0(n) computations needed
where n is the number of grid points. No a priori knowledge of the shock location is needed
and the resulting method is therefore shock capturing. The algorithm is independent of
the numerical method and can therefore be used in other solution packages. One possible
application could be the high order methods developed by LeVeque and Shuye [51] that
need an accurate shock detector. Also, the algorithm can be easily extended to detect
other phenomena of interest in computational fluid dynamics. For instance, a higher order
spline wavelet could be used to detect large vortices or vortex sheets. This is of interest in
aerodynamic applications and is currently being investigated.
The results obtained from the transonic flow past a cylinder showed the effectiveness
of the combination of shock detection, artificial viscosity and local grid adaptation. Sharp
shocks were computed inexpensively and the quality of the solutions compared well to results
obtained with more expensive high order upwind methods.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
7.1.5
127
7.2
Future directions
This dissertation is the first stepping stone in the realization of the proposed solution strat
egy. We feel that the results obtained in this dissertation warrant future research. Below
we discuss open and interesting areas of research related to the different building blocks of
the solution framework described in the dissertation together with future applications.
7.2.1
O pen problem s
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
128
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
7.2.2
129
The C language data structures used for the storage of the stair step grids are straight
forward to implement. Finite difference solvers written for rectangular grids can be easily
incorporated into the code with these data structures. However, at present the data struc
tures contain the solution and positional data corresponding to row segments in various
scattered chunks of memory. This leads to a substantial inefficient use of the computers
cache as every time data is retrieved the computer loads the data plus excess data stored in
the cache line into the cache and then does not use the excess cache line data in subsequent
calculations. This inefficiency can be overcome by organizing the solution and positional
data in contiguous chunks of memory. Therefore, the efficiency of the data structures needs
to be investigated further.
For future applications, a SGI Power Challenge shared memory parallel computer with
the latest R10000 processors will be used. SGI has an auto-parallelizing compiler that is
especially effective on structured grid solvers. This is because the compiler can determine
the data accessing patterns at compile time as the arrays (which represent the structured
component grids) are accessed simply by loop indices. Thus, the compiler can map the
data arrays onto the parallel machine and predict which data need to be communicated.
The compiler can also apply optimization strategies such as look-ahead techniques, loop
blocking and loop unrolling because the loops are over the indices of the arrays. Hence, the
compiler can parallelize and optimize structured grid codes written in C or Fortran based
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
130
7.3
The research presented in this dissertation was initially motived by the requirement to design
an efficient numerical method for a NSF funded Grand Challenge project [67] to build an
Earth Observing System (EOS) comprised of a satellite based observation system interacting
with a large scale computational model. The computational model predicts the atmospheric
conditions, detects where observational data are needed to retain the accuracy of the model,
and steers the satellite system to get the data requested. At the end of the cycle the acquired
data are assimilated into the computational model and a new prediction is made. As the
realization of EOS is intended in a decades time, a preliminary test base is set up using a
laboratory experiment that simulates upwelling flow, together with an observational system
that measures flow variables and interacts with the computational model. Upwelling flow
is a natural choice as it exhibits many of the characteristics of large scale atmospheric and
oceanographic flows: stratification; a rotating frame of reference; fronts and instabilities on
the front; the presence of different length- and time scales; and turbulence. A description
of the laboratory set-up and a thorough discussion of the upwelling flow are presented in
[27].
7.3.1
In an interrelated environment as described above, the computer model needs to solve the
equations in real time. The high requirement on computational speed to accurately simulate
the instabilities at an upwelling front creates a big challenge. With the current hardware
these requirements can not be met. Efficient solution methods are being designed with
adaptive grids to solve these applications on the next generation of parallel hardware.
The flow domain in this application is formed by a cylindrical tank with a sloping bottom
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
131
and lends itself well to structured composite grids. In the simulated upwelling flow most
of the interesting phenomena occur at and near the density interface. The boundary layers
are instrumental in the upwelling flow and need to be resolved accurately also. Before and
just after the formation of the unstable waves on the upwelling fronts the interface region
occupies a small part of the flow domain. Local grid adaptation is therefore suitable to
resolve this region. The grid can be refined around the interface and in the boundary layers
and coarse grids can be used elsewhere. High order methods will decrease the grid density
in large parts of the domain and increase the efficiency. The interface can be detected with
the wavelet detection algorithm constructed in this dissertation.
The upwelling flows are governed by the incompressible Navier-Stokes equations in a
rotating coordinate system, supplemented with a turbulence model. The rotating coordinate
system introduces extra Coriolis terms in the equations in the form of source terms that can
be handled well by the SHOEC scheme. The turbulence models used in previous versions of
the ocean upwelling model are based on eddy viscosity and diffusivity which are determined
from the flow state at each time step. They do not alter the basic form of the diffusion
terms in the Navier-Stokes equations and can be dealt with easily.
The major difficulty is created by the incompressibility. The derivation, of the SHOEC
scheme requires the compressible form of the Navier-Stokes equations. Below, we briefly
discuss how the SHOEC scheme could be used to solve incompressible flow.
7.3.2
The incompressibility constraint should simplify the partial differential equations, but in
reality it complicates the numerical scheme. Fast methods developed for hyperbolic or
parabolic systems can not be used, because the pressure does not have a time derivative
and must satisfy an elliptic equation. Traditionally, the momentum equations are solved
for the velocity using an initial guess for the pressure 1. The obtained velocity field is
substituted in the pressure equation, the pressure is updated and this iteration is repeated.
The elliptic pressure equation leads to a complete coupling of the pressure values at all
points in the numerical grid, which requires linear equation solvers.
Because successful and efficient methods are available for solving hyperbolic and parabolic
equations, several groups of researchers are fin d in g ways to use them to solve incompressible
1In two dimensions, the equations are often formulated with the vortidty and stream function. We refer
to [36] and [99] for a more elaborate discussion.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
132
Navier-Stokes despite of the ellipticity. There are three main approaches: the first one uses
artificial compressibility; the second one is based on projection methods; and the third one
is based on a scaling of the Navier-Stokes equations that alleviates the severe restrictions
of the CFL condition on the time step size. We discuss these approaches below.
The artificial compressibility method was initially proposed by Chorin in 1967 for the
solution of the steady incompressible Navier-Stokes equations [16]. He adds an artificial
pressure time derivative to the continuity equation, which can then be marched in time with
the momentum equations using a conventional method. The time evolution is non-physical,
but Chorin was only interested in steady solutions. Recently the method has been extended
to unsteady flows [4, 88, 95] by using it to solve intermediate time-steps in an otherwise
implicit method.
In the projection method an intermediate velocity field is computed by marching the
momentum equations with a suitable initial guess for the pressure. The obtained velocity
field is then split into a divergence free part and a part that can be written as the gradient
of a scalar function. This gradient is used to update the pressure. The divergence free part
gives the velocity field at the new time-step. In other words, the intermediate velocity is
projected onto a divergence free velocity field. Recent work has been performed in this area
by Almgren, Bell and Szymczak in [3], and Hou and Wetton in [37]. Projection methods
are natural to the SHOEC scheme; projection operators are used to force the boundary
conditions and are an integral part of the method. Therefore, it would not be difficult to
include projection of the solution on a divergence free flow field in our solution strategy.
The third approach was suggested by Browning, Holland, Kreiss and Worley [12]. The
compressible Navier-Stokes equations model flows that contain compression or sound-waves.
These waves are much faster than the waves of interest in the upwelling flow. However, the
time-stepping in the numerical method is determined by the fastest waves and is inversely
proportional to their speed. Thus, the presence of sound-waves significantly reduces the
allowable time-step and increases the amount of computational work that needs to be done
to obtain solutions at any given time 2. Browning and coworkers suggested to slow down
the sound waves artificially through an appropriate scaling of the equations to increase the
allowable time-step. If done properly, the effect on the general flow is small. This has been
successfully carried out in numerical experiments by Mahadevan [53] for the simulation
of the flow in the Mexican Gulf. The suggested scalin g of the compressible Navier-Stokes
2In incompressible flow sound-waves are completely removed by the incompressibility constraint.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
133
equations does not change the basic properties of the equations so a SHOEC scheme could be
formulated. We are currently investigating a suitable SHOEC1E (SHOEC for Incompressible
Equations) implementation based on an appropriate scaling.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Appendix A
Sym m etrization
For h(S) = es/ ^ \
-p u
w = [ E + - \p
P
7 -1
-p v
p] ,
and
ap
Uw =
apu
apv
|p (u 2 + u2) -
apu* p
apuv
apv* p
P*
- ^ - b p { u 2 + v 2) + \p{u2 + v 2)2
Here, p* and p are related through equations (2.20). The constants a,b and c are a =
(1 - a - 7 )/or, b = 7 /(7 - 1), and c = (1 - 27 )/(7 - 1).
...
w2
W2 W3
104
. 7 - o- p , ,) , r ,
7 1
(A.l)
103,
W4
7 a ,, ,r
* ) ] ,
7
(A.2)
W2 ,
(u /i +
and
-/ \
p r
p"
- [
-u>3
U72U>3
- +
W\
W\
(* + _
The upper triangular part of the symmetric matrix f(w )w expressed in the variables u
134
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
APPENDIX A. SYMMETRIZATION
135
is given by
apu
apu2 p
apuv
u{apv2 p)
u ( | p(u 2 + v 2 ) bp)
b*j + cpu2 + p(u 2 4- v2 )u 2 \p{u 2 + u2)
uv(cp + p(u2 + v2)
u(bc + cp(u2 + u2) + f p(tt2 + u2)2)
9 w ~ p*
apuv
apv p
v(apu2 p)
u(apv2 p)
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Appendix B
ao
doo
n3
5359/4320
II
2711/4320
= <7n - 5
and
= 0
= -21600/13649
12013/8640
crn_2
<75
aj
13649/43200
0"2
an
=
= n1
7877/8640
43801/43200
5 < j < n 5
d0i =
81763/40947
do4 =
20539/81894
do2 =
dos =
131/27298
0
doa =
-9143/13649
doe
dio
dl 3
die
dos = 0
0
do7 = 0
-81763/180195 dn = 0
di2 = 7357/36039
30637/72078
du = -2328/12013 die = 6611/360390
0
dn = 0
dis = 0
=
=
=
=
136
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
<*20
-131/54220
<*21
-7357/16266
<*22
<*23
=
=
645/2711
<*24
11237/32532
<*25
-3487/27110
<*27
<*28
<*31
-30637/64308
<*32
-645/5359
13733/32154
<*35
-67/4660
<*26
<*34
=
=
<*36
= 9143/53590
= 0
= 72/5359
<*37
<*38
<*40
-20539/236210
<*41
2328/7877
<*42
-11237/47262
<*43
<*44
<*45
89387/118155
<*46
-13733/23631
-1296/7877
<*47
144/7877
<*48
<*51
-6611/262806
<*52
=
=
3487/43801
1541/87602
<*54
-89387/131403
<*55
32400/43801
<*57
-6480/43801
<*58
720/43801
<*30
<*33
<*50
<*53
<*56
=
=
=
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
A ppendix C
where A > 0, B < oo independent of the c(k). Daubechies shows ([23]) that this is equivalent
to the condition
0 < A < F(u) = ^ 2 10(w + 27r/)|2 < B < oo.
(C.l)
Inequality ( C.l) is the constraint mentioned by Mallat in [56] that ensures that we can
find a / such that the discrete signal yt- is the projection of / on Vo (see section 5.4.1 of
chapter 5). Besides, the wavelets created by <f>will now constitute a frame [23].
138
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Appendix D
D ata structures
Only the main data structures are given in order of increasing detail.
T h e C O M P G R ID (c o m p le te co m p o site grid) str u c tu r e
typ ed ef s t r u c t {
double
in t
n_comp;
in t
le v e l_ u s e d ;
/ cu rren t maximum le v e l
GRID
g r id s ;
/ p o in te r t o component g r id s /
> COMPGRID
T h e G R ID stru ctu re
typ ed ef s tr u c t GRID_str {
in t
le v e l;
/ l e v e l o f th e g r id /
in t
number;
/ p r i o r i t y o f g r id /
in t
tste p ;
/ tim e s te p s a f t e r regrid d in g /
double
d r, ds;
/ g r id s i z e r - and s -d ir e c t io n /
double
d t;
/ tim e s te p /
double
t;
/* cu rren t tim e * /
INDEX
*com plete_index;
/ * com plete g r id */
INDEX
in t e r io r ;
/ * in t e r i o r d is c r e t iz a t io n p o in ts * /
INDEX
o v er la p ;
/ * o v erla p in te r p o la tio n p o in ts * /
139
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
INDEX
p ro jectio n ;
/ boundary p r o je c tio n p o in ts /
s tr u c t GRID.str parent;
/ p o in te r to i t s parent g r id /
s t r u c t GRID.str * ch ild ;
/ p o in te r to i t s f in e r g r id /
s t r u c t GRID.str ^neighbor;
/ p o in te r t o neighbor g r id /
> GRID;
The IN D E X structure
ty p ed ef s t r u c t INDEX.str {
in t
top;
/ in d ex top row /
in t
bottom;
ROW
row;
/ p o in te r s to rows in index /
> INDEX;
l e f t , r ig h t ;
in t
row .index;
DATA.ROW
d ata.row ;
/ * != NULL fo r
DATA.INT
* d a ta _ in t;
/* != NULL fo r in t e r io r * /
DATA.OVER
d a ta .o v er;
/* != NULL fo r o v erla p */
s t r u c t ROW.str
*next;
s t r u c t ROW.str
indexrow;
/ l e f t , r ig h t in d ex in segment /
com p lete.in d ex * /
> ROW;
T h e D A TA .R O W stru ctu re
typedef s tr u c t DATA.ROW.str {
in t
l e f t , r ig h t;
/ l e f t , r i g h t f o r each segment /
in t
SOL
so l;
/ s o lu t io n a t tim e t /
SOL
so lo ld ;
/ s o lu tio n a t tim e t - d t /
SOL
s o i l ,^ 8012 , s o lS ;
SOL
f, g, w;
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
141
POINT
* p o in ts ;
/* p o s it io n a l in form ation * /
in t
* r e g r id fla g ;
/* f l a g fo r reg rid d in g * /
s tr u c t DATA.ROW.str
*n ex t;
} DATA.R0V;
l e f t , r ig h t;
/* l e f t , r i g h t index fo r segment * /
in t
ro w .in d ex ;
DISC.POINT
* d is c p o in ts ;
/ * d is c r e t iz a t io n in fo rm a tio n * /
> DATA.INT;
l e f t , r ig h t ;
/ * l e f t , r i g h t index fo r segment * /
in t
row .index;
D0N0R.P0INT
*donorpoints;
/* in te r p o la tio n in fo rm a tio n * /
> DATA.OVER;
r;
/* d e n s ity * /
double
mx;
/* momentum x d ir e c tio n * /
double
my;
/* momentum y d ir e c tio n * /
double
E;
/* energy * /
double
p;
/ * p ressu re * /
> SOL;
The PO IN T structure
typ ed ef s t r u c t {
double
x , y;
double
r , s;
*/
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
double
d x .d r, d x .d s;
double
dy_dr, dy_ds;
double
d et;
142
> POINT;
in t
/* in d ic e s e n c lo s in g donor c e l l * /
IVEC
*im;
/* in d ic e s in t e r p o la t io n s t e n c il * /
IVEC
*jm;
MAT
*d on or_coef;
stru ct GRID.str
/ * in te r p o la tio n c o e f f i c i e n t s
* f rom .gr id ;
/ * p o in ter to donor g r id
*/
*/
> DONOR.POINT;
/* r -in d ic e s d if f e r e n c e s t e n c il */
VEC
/ * r - c o e f f i c ie n t s d if f e r e n c e
*rco ef;
stru ct DATA.ROW.str
VEC
* sco ef;
**sin d ex;
s te n c il * /
/* p o in ters to d a ta rows s - d ir e c t io n * /
/ * s - c o e f f ic i e n t s d if f e r e n c e
s te n c il
> DISC.POINT;
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
*/
Bibliography
[1] 3rd Symposium on Overset Composite Grid and Solution Technology. Overture: An
Object-Oriented Framework for Solving PDEs on Overlapping Grids, Los Alamos Na
tional Laboratory, 1996.
[2] M. Aftosmis, J. Melton, and M. Berger. Adaptation and surface modeling for cartesian
mesh methods. AIAA Paper 95-1725, 1995.
[3] A.S. Almgren, J.B. Bell, and W.G. Szymczak. A numerical method for the incom
pressible Navier-Stokes equations based on an approximate projection. SIAM Journal
of Scientific Computing, 17(2), 1996.
[4] M. Beddhu, L.K. Taylor, and D.L. Whitfield. A time accurate calculation procedure
for flows with a free surface using a modified artificial compressibility formulation.
Applied Mathematics and Computation, 65, 1994.
[5] J. A. Benek, J.L. Steger, and F.C. Dougherty. A flexible grid embedding technique
with application to the Euler equations. Technical Report 83-1944, AIAA, 1983.
[6] J.A. Benek, P.G. Buning, and J.L. Steger. A 3-d chimera grid embedding technique.
In Proceedings of the 7th AIAA computational fluid dynamics conference, Cincinnati,
1985.
[7] M. Berger. Adaptive mesh refinement for hyperbolic differential equations. PhD thesis,
Computer Science Department, Stanford University, 1982.
[8] M. Berger. On conservation at grid interfaces. SIAM Journal of Numerical Analysis,
24, 1987.
143
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
BIBLIOGRAPHY
144
[9] M. Berger and J.Melton. An accuracy test of a cartesian grid method for steady flow
in complex geometries. In Proc. 5th Int. Conf. Hyperbolic Problems, 1994.
[10] J. G. Blom and J. G. Verwer. A vectorizable adaptive grid solver for pdes in 3d; part
i: Algorithmic aspects and applications. Applied Numerical Mathematics, 16:129-156,
1994.
[11] J.G. Blom, R.A. Trompert, and J. G. Verwer. Vlugr2: A vectorizable adaptive grid
solver for pdes in 2d. Technical Report NM-R9403, Department of Numerical Math
ematics, Center for Mathematics and Computer Science, 1994.
[12] G.L. Browning, W.R. Holland, H.-O. Kreiss, and S.J. Worley. An accurate hyper
bolic system for approximately hydrostatic and incompressible oceanographic flows.
Dynamics of Atmospheres and Oceans, 14:303-332, 1990.
[13] David Burgess. Parallel Computing for Unstructured Mesh Algorithms. PhD thesis,
Oxford University, 1996.
[14] M.H. Carpenter, D. Gottlieb, S. Aberbanel, and W.-S Don. The theoretical accuracy
of Runge-Kutta time discretizations for the initial boundary value problem: a study
of the boundary error. SIAM Journal on Scientific Computing, 16(6), 1995.
[15] G. Chesshire and W.D. Henshaw. Composite overlapping meshes for the solution of
partial differential equations. Journal of Computational Physics, 90, 1990.
[16] A.J. Chorin. Journal of Computational Physics, 2, 1967.
[17] C. Chui. An Introduction to Wavelets. Academic Press, New York, 1992.
[18] B. Cockbum and Shu. The Runge-Kutta local projection discontinuous galerkin fi
nite element method for conservation laws. ii. general framework. Mathematics of
Computation, 52, 1989.
[19] B. Cockbum and Shu. The Runge-Kutta local projection discontinuous galerkin finite
element method for conservation laws. iv. the multidimensional case. Mathematics of
Computation, 54, 1990.
[20] C.H. Coelbel.
Press, 1994.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
BIBLIOGRAPHY
145
[21] P. Collela and P. Woodward. The piece-wise parabolic method (ppm) for gasdynamical simulations. Journal of Computational Physics, 54, 1984.
[22] R. Courant and K.O. Friedrichs. Supersonic Flow and Shock Waves. Springer-Verlag,
1948.
[23] I. Daubechies. Ten Lectures on Wavelets. SIAM, 1992.
[24] A. Dervieux, B. van Leer, J. Periaux, and A. Rizzi (Eds.), editors. GAMM workshop
on Numerical Simulation of Compressible Euler Flows, INRIA, 1986. GAMM, Vieweg.
[25] E.-P. N. Duque. A structured/unstructured overset grid flow solver for helicopter
rotor flows with adaption. In 2nd Overset composite grid and solution technology
symposium, 1994.
[26] L.-E. Eriksson. Boundary conditions for artificial dissipation operators. Technical Re
port FFA TN 1984-53, The Aeronautical Research Institute of Sweden, Aerodynamics
Department, Stockholm, 1984.
[27] M. G. Gerritsen. Ocean upwelling: observations, analytical modeling and numer
ical simulation. Technical Report 96-20, Scientific Computing and Computational
Mathematics, Stanford University, 1996.
[28] M. G. Gerritsen and P. Olsson. Designing an efficient strategy for fluid flows: 1.
a high-order stable finite difference scheme and sharp shock resolution. Journal of
Computational Physics, November 1996.
[29] G. Golub and C. van Loan. Matrix Computations. John Hopkins University Press,
third edition, 1996.
[30] B. Gustafsson. The convergence rate for difference approximations to general mixed
initial boundary value problems. SIAM Journal of Numerical Analysis, 18(2), 1981.
[31] B. Gustafsson and P. Olsson. High-order centered difference methods with sharp
shock resolution. Technical Report RIACS-94.07, Research Institute of Advanced
Computer Science, 1994.
[32] A. Harten. On the symmetric form of systems for conservation laws with entropy.
Technical Report ICASE 81-34, NASA Langley Research Center, 1981.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
BIBLIOGRAPHY
146
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
BIBLIOGRAPHY
147
[43] G. S. Jiang and C.-W. Shu. Efficient implementation of weighted eno schemes. Journal
of Computational Physics, 126(1):202-208, 1996.
[44] G. Johansson and G. Kreiss. A note on the effect of artificial viscosity on solutions
of conservation laws. Technical Report TRITA-NA-9219, Department of Numerical
Analysis and Computational Science, Royal Institute of Technology Sweden, 1992.
[45] C. Johnson. The characteristic streamline diffusion finite element method, matematica
aplicada e computacional, 10(3).
[46] P. Knupp and S. Steinberg. Fundamentals of Grid Generation. Boca Raton, 1993.
[47] B. Kreiss. Construction of a curvilinear grid. SIAM journal on Scientific and Statis
tical Computing, 4(2):270-279, 1983.
[48] H.-O Kreiss, B. Gustafsson, and J. Oliger. Time dependent problems and difference
methods. John Wiley and Sons, Inc., 1995.
[49] H.-O. Kreiss and G. Scherer. On the existence of energy estimates for difference
approximations for hyperbolic systems. Technical report, Department of Scientific
Computing, Uppsala University, 1977.
[50] R. LeVeque. Numerical Methods for Conservation Laws. Birkhaeuser Verlag, second
edition, 1992.
[51] R. J. LeVeque and K.-M. Shyue. One-dimensional front tracking based on high reso
lution wave propagation methods. SIAM Journal of Scientific Computing, 16(2) :348377, March 1995.
[52] D. Lindstrom. Accurate Numerical Solution of Hyperbolic PDEs with Source Terms.
PhD thesis, Department of Scientific Computing, Uppsala University, June 1996.
[53] A. Mahadevan, J. Oliger, and R. Street. A model for mesoscale ocean dynamics.
Technical report, Environmental Fluid Mechanics Laboratory, Stanford, 1993.
[54] A. Majda and S. Osher. Numerical viscosity and the entropy condition. Communi
cations in Pure and Applied Mathematics, 32:797-838, 1979.
[55] S. Mallat. Multiresolution approximation and wavelets. Transactions of the American
Mathematical Society, 315:69-88, 1989.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
BIBLIOGRAPHY
148
[56] S. Mallat and W.L. Hwang. Singularity detection and processing with wavelets. IEEE
Transactions Information Theory, 38:617-643, 1992.
[57] S. Mallat and S. Zhong. Characterization of signals from multiscale edges. IEEE
Transaction on Pattern Analysis and Machine Intelligence, 14(7):47-67, 1992.
[58] D. Mavriplis and A. Jameson. Multigrid solution of the tw o -d im en sio n al Euler equa
tions on unstructured triangular meshes. Technical Report 87-0353, AIAA, 1987.
[59] D. J. Mavriplis. Unstructured mesh algorithms for aerodynamic calculations. Tech
nical Report 92-35, ICASE, 1995.
[60] Y. Meyer. Wavelets and Operators. Cambridge University Press, 1992.
[61] M. S. Mock. Systems of conservation laws of mixed type. J. Differential Equations,
37:70-88, 1980.
[62] K. Morgan, J. Peraire, and J. Peiro. Unstructured grid method for compressible flows.
AGARD, R-787, May 1992.
[63] K.W. Morton. Finite volume methods and their analysis. Journal of Computational
Physics, 80(1), January 1989.
[64] K.W. Morton and M.F. Paisley. A finite volume scheme with shock fitting for the
steady Euler equations. Journal of Computational Physics, 80(1), January 1989.
[65] K.W. Morton, M.A. Rudgyard, and G.J. Shaw. Upwind iteration methods for the
cell vertex scheme in one dimension. Technical Report 91-09, Oxford University
Computing Laboratory, 1991.
[66] K.W. Morton and E. Suli. Finite volume methods and their analysis. IMA Journal
of Numerical Analysis, 11:241-260, 1991.
[67] J. Oliger, R.L. Street, J.H. Ferziger, J.R. Koseff, and S. Monismith. Adaptive coor
dination of predictive models with experimental observations. School of Engineering,
Stanford University, 1993.
[68] P. Olsson. High-order difference methods and dataparallel implementation. PhD
thesis, Department of Scientific Computing, Uppsala University, 1992.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
BIBLIOGRAPHY
149
[69] P. Olsson. Energy and maximum norm estimates for nonlinear conservation laws.
Technical Report RIACS 94-01, Research Institute of Advanced Computer Science,
1994.
[70] P. Olsson. Summation by parts, projections and stability. Mathematics of Computa
tion,, 64:1035-1065, 1995.
[71] P. Olsson. Summation by parts, projections and stability II. Mathematics of Compu
tation, 64(212), 1995.
[72] P. Olsson. Summation by parts, projections and stability m . Technical Report RIACS
95-06, Research Institute of Advanced Computer Science, 1995.
[73] S. Osher. Riemann solvers, the entropy condition and difference approximations.
SIAM J. NUMER. ANAL., 21(2), April 1984.
[74] S. Osher and S. Chakravarthy. High resolution schemes and the entropy condition.
SIAM J. Numer. Anal., 21(5), October 1984.
[75] M. Pandolfi and F. Larocca. Transonic flow about a circular cylinder. Computers and
Fluids, 17, 1989.
[76] E. Part-Enander and B. Sjogreen. Conservative and non-conservative interpolation
between overlapping grids for finite volume solutions of hyperbolic problems. Com
puters and Fluids, 23, 1994.
[77] Eva Part-Enander. Overlapping Grids and Applications in Gas Dynamics. PhD thesis,
Uppsala University, Department of Scientific Computing, 1996.
[78] N. A. Petersson. Users guide to XCOG. Technical report, Chalmer Center for Marine
Research and Technology, Sweden, 1996.
[79] N. A. Petersson. Xcog: A new algorithm for generating overlapping grids. Technical
report, CHALMERS, Sweden, 1996.
[80] N. A. Petersson and J.F. Malmliden.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
BIBLIOGRAPHY
150
[82] P.L. Roe. Approximate Riemann solvers, parameter vectors, and difference schemes.
Journal of Computational Physics, 43:357-372, 1981.
[83] M. D. Salas and A. Iollo. Entropy jump across an inviscid shock wave. Technical
Report ICASE 95-12, NASA Langley Research Center, 1995.
[84] C. Shu and S. Osher. Efficient implementation of essentially non-oscillatory shock
capturing schemes. Journal of Computational Physics, 77, 1988.
[85] C.-W. Shu. Total-variation-diminishing time discretizations. Siam Journal on Scien
tific (and Statistical) Computing, 9(6):1073-1084, Nov. 1988.
[86] C.-W. Shu. private communication, September 1996.
[87] B. Sjogreen. private communication, 1996.
[88] W.Y. Soh and J.W. Goodrich. Unsteady solution of incompressible Navier-Stokes
equations. Journal of Computational Physics, 79, 1988.
[89] G. Starius. Composite mesh difference methods for elliptic boundary value problems.
Numer. Math., 28:243-258, 1977.
[90] G. Starius. On composite mesh difference methods for hyperbolic differential equa
tions. Numer. Math., 35:241-255, 1980.
[91] B. Strand. Summation by parts for finite difference approximations for d/dx. Journal
of Computational Physics, 110(1) :47-67, 1994.
[92] E. Tadmor. Numerical viscosity and the entropy condition for conservative difference
schemes. Mathematics of Computation, 43:353-368, 1984.
[93] E. Tadmor. The numerical viscosity of entropy stable schemes for systems of conser
vation laws. I. Mathematics of Computations, 49:91-103, 1987.
[94] J.F. Thompson, Z.U.A. Warsi, and C.W. Mastin. Numerical Grid Generation. NorthHolland, 1985.
[95] E. Turkel. Preconditioned methods for solving the incompressible and low speed
compressible equations. Journal of Computational Physics, 72, 1987.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
BIBLIOGRAPHY
151
[96] B. van Leer. Towards the ultimate conservative difference scheme V. a second order
sequel to Godunovs method. Journal of Computational Physics, 32, 1979.
[97] J. von Neumann and R. Richtmyer. A method for the numerical calculation of hy
drodynamics shocks. Journal of Applied Physics, 21:232-237, 1950.
[98] N. P. Weatherhill and D.K. Natakusumah. The simulation of potential flow around
multiple bodies using overlapping meshes. Appl. Math. Comp., 46, 1991.
[99] F. M. White. Viscous Fluid Flow. McGraw-Hill, 1991.
[100] M. Wickerhauser. Adapted Wavelet Analysis from Theory to Software. A K Peters,
Wellesley, Massachusetts, 1994.
[101] H.Q. Yang and A.J. Przekwas. A comparitive study of advanced shock-capturing
schemes applied to Burgers equation. Journal of Computational Physics, 102:139
159, 1992.
[102] X. Zhu. Composite Adaptive Grid Methods for Partial Differential Equations. PhD
thesis, Scientific Computing and Computational Mathematics, Stanford University,
1996.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.