Anda di halaman 1dari 169

INFORMATION TO USERS

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

unauthorized copyright material had to be removed, a note will indicate


the deletion.
Oversize materials (e.g., maps, drawings, charts) are reproduced by
sectioning the original, beginning at the upper left-hand comer and
continuing from left to right in equal sections with small overlaps. Each
original is also photographed in one exposure and is included in reduced
form at the back of the book.
Photographs included in the original manuscript have been reproduced
xerographically in this copy. Higher quality 6 x 9 black and white
photographic prints are available for any photographs or illustrations
appearing in this copy for an additional charge. Contact UMI directly to
order.

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.

DESIGNING AN EFFICIENT SOLUTION STRATEGY FOR


FLUID FLOWS

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 Number: 9714119

UMI Microform 9714119


Copyright 1997, by UMI Company. All rights reserved.
This microform edition is protected against unauthorized
copying under Title 17, United States Code.

UMI

300 North Zeeb Road


Ann Arbor, MI 48103

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

Copyright 1997 by Margot Gerritsen


All Rights Reserved

ii

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

I certify that I have read this dissertation and that in my


opinion it is fully adequate, in scope and in quality, as a
dissertation for the degree of Doctor of Philosophy.

V Joseph Oliger
(Principal Adviser)

I certify that I have read this dissertation and that in my


opinion it is fully adequate, in scope and in quality, as a
dissertation for the degree of Doctor of Philosophy.

Pelle Olsson

I certify that I have read this dissertation and that in my


opinion it is fully adequate, in scope and in quality, as a
dissertation for the degree of Doctor of Philosophy.

Bob Street

I certify that I have read this dissertation and that in my


opinion it is fully adequate, in scope and in quality, as a
dissertation for the degree of Doctor of Philosophy.

'gjJA \h /< $ Andrew Stuart

Approved for the University Committee on Graduate Studies:

--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

Philosophy and scope ......................................................................................

1.2

Motivation of choices.........................................................................................

1.2.1

The computational g r i d ........................................................................

1.2.2

The d iscretization.................................................................................

1.2.3 Time in teg ratio n .....................................................................................

1.2.4 Choices m a d e ...........................................................................................

1.3

Stability and entropy conditions

....................................................................

1.4

Grid adaptation..................................................................................................

1.5 Suppression of spurious oscillations...................................................................

1.6 O v erv ie w .............................................................................................................

10

1.7 The compressible Euler equations......................................................................

10

The

12

2.1

2.2

Num erical Scheme


Stability and the energy m e th o d ....................................................................

13

2.1.1 The continuous energy method; an ex am p le........................................

13

2.1.2 A continuous energy estimate for the Euler e q u a tio n s ......................

14

2.1.3

Symmetrization via entropy v ariab les................................................

16

Deriving the SHOEC sc h e m e ..........................................................................

18

2.2.1 The semi-discrete equations...................................................................

18

2.2.2 Time integ ratio n ....................................................................................

19

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

2.3

2.4

2.2.3 Boundary p ro je c tio n s...........................................................................

19

2.2.4 Summation-by-parts..............................................................................

20

2.2.5 Effect of the non-conservative form on the speedof shocks ..............

22

Boundary conditions.........................................................................................

23

2.3.1 Characteristic boundary conditions.......................................................

23

2.3.2 Solid boundary conditions.....................................................................

24

Stability for the 2-D Euler equations..............................................................

25

2.4.1 The semi-discrete Euler equations in general coordinates

................

25

2.4.2 Semi-discrete eq u atio n s........................................................................

27

2.4.3 Stability estimates for homogeneous boundary c o n d itio n s................

31

2.4.4 Non-homogeneous boundary conditions ..............................................

34

3 Com posite Adaptive Grids


3.1

3.2

3.3

3.4

39

..............................................................................................

41

3.1.1 Component g r id s ....................................................................................

41

3.1.2 Interior points and overlap points..........................................................

41

3.1.3 Interpolation in the o v erlap ..................................................................

43

3.1.4 Effect of the overlap on s ta b ility ..........................................................

45

A Composite Grid Generator; XCOG ...........................................................

45

3.2.1 An XCOG work se ssio n ........................................................................

46

3.2.2 Computing interpolation information in X C O G ..................................

47

Local grid adaptation .....................................................................................

49

3.3.1 Where to refin e.......................................................................................

49

3.3.2 How to refin e ..........................................................................................

50

3.3.3 Interpolation information for fine overlap points

............................

54

3.3.4 Interior boundaries.................................................................................

54

3.3.5 Error c o n tro l..........................................................................................

55

Implementation.................................................................................................

59

Composite grids

4 Artificial viscosity for shocks

65

4.1

The artificial viscosity term in I D ...................................................................

66

4.2

Sharp resolution of sh o ck s...............................................................................

67

4.2.1 Modification of the scalar viscosity for moving shocks .....................

71

Extension to two dimensions .........................................................................

71

4.3

be

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

4.3.1
5

73

Modification of the artificial viscosity term at boundaries

D etecting phenomena with wavelets

75

5.1 Multi-scale analysis ...........................................................................................

76

5.1.1 The windowed Fourier transform and the Wavelet Transforms. . . .

77

5.1.2

Discrete wavelet families........................................................................

80

5.2 Selection of the discrete wavelet fam ily.............................................................

82

...................................................................

82

5.2.1 Non-orthonormal families

5.2.2 Relation between wavelet coefficients and the localregularity

of a

fu n ctio n...........................................................................................
5.2.3 Relation with conventional detection algorithms

83

...............................

86

5.3 The Fast Wavelet Transform ............................................................................

88

5.3.1 The orthonormal MRA .........................................................................

88

5.3.2 Filters for non-orthonormal wavelets............................................

92

5.4 Implem entation...................................................................................................


5.4.1 Discrete signals and sca l i n g ...........................................................

93

5.4.2 Treatment of the b o u n d a ry ...........................................................

94

5.4.3 Local oscillations and smearing by artificial viscosity.................

95

5.5 Wavelet detection in two dim ensions................................................................


6

97

Results

100

6.1 Linear advection of a cosine density w a v e .......................................................

101

6.2 Interaction of a strong shock with a sinusoidal density w a v e .........................

102

6.3 A traveling isentropic vortex...............................................................................

103

6.3.1

Order of spatial a c c u ra c y ..............................................................

106

6.3.2 Accuracy after long time integration............................................

106

6.4 Flow past a cy lin d e r..........................................................................................

93

6.4.1

Subsonic flow ...................................................................................

112

6.4.2

Subsonic flow with source t e r m .....................................................

114

6.4.3

Transonic f lo w ...............................................................................

117

107

Conclusions and Future Directions

124

7.1 Conclusions.........................................................................................................

124

7.1.1

Construction of the stable high order central finite differencescheme

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

124

7.1.2

Composite adaptive grids for high order m eth o d s..............................

125

7.1.3

Sharp shock resolution with grid refinementand artificial viscosity .

125

7.1.4

Detecting phenomena with w avelets...................................................

126

7.1.5

Summary of main contributions............................................................

127

7.2 Future directions................................................................................................

127

7.2.1

Open problem s.......................................................................................

127

7.2.2

Extending the wavelet detection algorithm..........................................

129

7.2.3

Enhancing the im plem entation............................................................

129

7.3 A future application: ocean u pw elling............................................................

130

7.3.1

Why the solution strategy is suitable...................................................

130

7.3.2

SHOECIE (SHOEC for Incompressible E q u a tio n s)...........................

131

A Symmetrization

134

B Difference operators and norms

136

C Wavelet theory; definition o f a Riesz basis

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

5.2 General outline of the detection algorithm

....................................................

98

6.1 Overview test p ro b le m s .....................................................................................

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

6.4 Test data for local grid a d a p ta tio n ..................................................................

116

6.5 P rofiling data for a typical SHOEC r u n ..........................................................

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

cil. The area in the dashed rectangle is magnified in 3.4.................................

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

3.5 Illustration of the ray le m m a ...........................................................................

48

3.6 Likely flagging round a cylinder when modeling transonic flow.......................

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

3.8 GRID structures and connections.......................................................................

60

3.9 INDEX and ROW structures for interior and overlap......................................

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

3.11 Example of a XCOG work session, part I I .......................................................

64

4.1 Pressure for stationary shock problem at t = 2, both second-order conserva


tive and second-order SHOEC scheme with E = e l and e given by 4.17; (a)
M = 1.1: with viscosity (-.); no viscosity (); (b) Af = 2: with viscosity ()

70

5.1 Different members of the wavelet fam ily..........................................................

78

5.2 Window function g and two basis functions gUitb ..........................................

79

5.3 Example of discrete function /, and the corresponding continuous function


/ ( s ) .......................................................................................................................
5.4 Lattice of wavelet centers for orthogonal families.............................................
xiii

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

81
83

5.5 Cone of influence of xo.........................................................................................

85

5.6 Example wavelet transformation........................................................................

87

5.7 Projections on two subspaces in a M R A .........................................................

89

5.8 Example filter operations

.................................................................................

91

5.9 Quadratic spline wavelet ip ..............................................................................

93

5.10 Damping Factors Filter H...................................................................................

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

6.4 Projected density of diagonally traveling vortex at t = 0, t = 2.5, t = 5, and


t = 10.....................................................................................................................
6.5
6.6

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

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 W E N O .............................................................................................

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

6.14 Evolution Mach contours for

120

6.15 Convergence plot for Mco = 0 . 5 0 ....................................................................

121

6.16 Mach profile at convergence

121

..........................................................................

6.17 Mach contours; (a)+(c) no artificial viscosity; (b)+(d) artificial viscosity


a d d e d ..................................................................................................................

122

6.18 Mach in first two ro w s ......................................................................................

122

6.19 Velocity field at steady state with rear stagnation points Ps

....................

123

6.20 Velocity field in the w a k e ................................................................................

123

xv

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

Chapter 1

Introduction
1.1

Philosophy and scope

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

Structured vs unstructured grids


All structured grid codes have simple and transparent data structures, are straightforward
to implement and lend themselves well for parallelization with languages such as High Per
formance Fortran [20] or auto-parallelizing compilers. The most commonly used structured
grids are boundary-conforming curvilinear grids, in which the physical domain is mapped
onto a square computational domain. Thompson, Warsi and Marston [94] and Knupp and

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

Finite element m ethods


Traditionally, computational fluids dynamics was dominated by finite differences. But in
the last five to ten years, much progress has been made in the development of finite element
codes for fluid flows by, amongst others, Hughes [38], Morgan [62], Mavriplis and Jameson
[59, 58], and Johnson [45]. Finite element methods are based on an integral formulation
of the flow equations. The resulting semi-discrete equations are coupled through a mass
matrix. Several approaches have been developed to alleviate this inherent implicitness which
increases computational costs. Mass-lumping in which the mass matrix is approximated by
a suitably chosen diagonal matrix is a well-known approach. A recent non-implicit finite
element method is the Discontinuous Galerkin method developed by Cockbum and Shu
[19, 18] which allows solutions to jump from one grid cell to the next. So far, these methods
have only been developed for differential equations with first-order derivatives.
Most commonly used finite elements are low-order. The construction of higher order
finite elements is much harder than high-order (central) finite differences. It requires an
increase in the number of degrees of freedom in the elements which leads to increased
complexity and expense. Recent techniques are described in [39].
Finite volume methods
Finite volume methods are derived by direct discretization of the physical conservation laws
that underly the Euler and Navier-Stokes equations in each cell. On structured grids, they
can often be written as finite difference schemes. On unstructured grids, some popular
finite volume methods, like the cell-vertex methods developed by Morton and coworkers
[64, 63, 66, 65], can be formulated as finite element schemes. Also the discontinuous Galerkin
method is in principle a finite volume method.
1.2.3

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 and entropy conditions

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

The Essentially Non-Oscillatory (ENO) schemes designed by Harten, Osher, Engquist


and Chakravarthy [84, 34] were inspired by the slope-Iimiter techniques employed in
the construction of TVD methods. They prevent the generation of spurious oscilla
tions and are third or higher order accurate away from shocks and smooth extrema.
They are not necessarily TV stable, nor can they in general be shown to satisfy an
entropy condition, but they resolve shocks very sharply. The underlying theory is
again based on scalar one-dimensional IVPs. Recent developments are the very com
plex fifth-order ENO schemes designed by Lindstrom [52] and the Weighted ENO
(WENO) schemes constructed by Shu [43].
The energy method, which will be discussed in more detail in chapter 2, is a wellknown technique to derive stability estimates for nonlinear initial boundary value problems
(IBVPs), and is also applicable to multi-dimensional problems on general domains [48].
Until recently, it was not known how to derive such stability estimates for high-order
central difference schemes. But advances by Kreiss, Scherer, Strand and Olsson [49, 91,
70] led to the construction of high-order boundary difference operators that enabled the
design of stable high-order schemes for linear systems. Olsson [69] extended the ideas to
include nonlinear conservation laws, and showed that entropy inequalities can be obtained
if artificial viscosity is added to the schemes at discontinuities. He proved that conservation
is possible for second-order schemes [72] by extending Tadmors results to IBVPs, but to
obtain estimates for higher order schemes the schemes are written in non-conservative form.
It is not known currently if it is possible to construct conservative high-order stable schemes
for IBVPs.
These results were built upon to design the stable high-order central difference scheme
for the Euler equations derived in chapter 2 of this dissertation. The derivation is based
on symmetrization of the equations through entropy variables and a suitable splitting of
the flux derivative vector. We refer to it as the Split High-Order Entropy-Conserving
(SHOEC) scheme. The SHOEC scheme is efficient and simple and therefore very suitable
for the solution strategy. In section 1.5 we discuss how spurious oscillations are dealt with.
We remark that stability for linear equations and systems arises naturally in finite
elements. This is in fact one of the attractions of finite element methods. Hughes, Franca
and Mallet [38] designed stable finite element methods for nonlinear problems. They also
use symmetrization based on entropy variables, much like our approach. But the finite
differences have our preference because of their simplicity and efficiency. Stability also leads

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

Suppression of spurious oscillations

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

Composite (overlapping) grids for complicated domains

Chapter 3

An artificial viscosity to suppress spurious oscillations

Chapter 4

A detection algorithm to locate phenomena for grid refinement

Chapter 5

Local grid adaptation in areas where

Ch. 3 Sec. 3.3

estimated numerical errors grow too large,

small scale phenomena need to be resolved accurately,

shocks are present.

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 compressible Euler equations

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

The state vector u and flux vectors / and g are given by

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

The Num erical Scheme


We argued that a desirable numerical method has three main attributes: simplicity, high
order of accuracy, and stability. Simplicity leads to efficiency. A high order of accuracy
leads to savings in memory usage and computational time in smooth parts of the flow, again
leading to efficiency. Stability ensures the numerical method is well-behaved and implies
knowledge about the numerical errors that can be used in a grid adaptive approach.
The simplest finite differences schemes are the central schemes. It is easy to construct
central schemes with a high order of accuracy. But until recently it was not known how to
construct high-order central schemes that satisfy a stability estimate for initial boundary
value problems. This changed when Kreiss and Scherer [49], Strand [91] and Olsson [70, 69]
developed a set of tools that allow the construction of stable central difference schemes for a
range of linear and non-linear partial differential equations. In this chapter we show how to
apply these tools to design a numerical scheme for the Euler equations of gas dynamics. We
have named it the Split High-Order Entropy Conserving (SHOEC) scheme. Split refers to
a splitting of the flux vector. The term Entropy Conserving is used as we derive generalized
energy estimates that can be interpreted as entropy estimates. For non-smooth solutions
entropy inequalities are obtained if artificial viscosity is added at discontinuities.
We derive the scheme in one spatial dimension to explain the underlying concepts with
out the added complexity of multiple space dimensions. In section 2.4 stability results
are given for the Euler and Navier-Stokes equations in two space dimensions and general
coordinates.

12

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPTER 2. THE NUMERICAL SCHEME

2.1

13

Stability and the energy method

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

T h e continuous en ergy m ethod; an exam ple

We illustrate the energy method with the linear one-dimensional problem


ut

= L(u) + f(x , t) = ux +iixx+ f(x ,t),

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 )

and the boundary conditions g(t). In short, we are

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

2. Substitution of the boundary conditions:


^ I M I 2 = 2(u, uxx) + 2(u, ux) = 2||uE||2 + 2 ( u , U*)+ ( , / ) + 2 ix ( l,% ( )

3. Cauchy-Schwartz inequality:

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPTER 2. THE NUMERICAL SCHEME

14

4. Algebraic inequality:
2|a;y| < ex2 + e~ly2,

with e = 1 and e = 1/2 to separate terms


| l M 2 < H M I 2 + M 2 + jlM I2 + ll/ll2 + N U ) 2 + g ( t )2

5. Sobolev inequality
M L < l . f + ( - ' + i) W I 2,

with e = 1, to eliminate the unknown boundary term u (l, t):


|lM I 2 < f

INI2 + ll/ll2 + s ( < ) 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

A continuous en erg y estim a te for th e E u ler equations

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)

CHAPTER 2. THE NUMERICAL SCHEME

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)

They satisfy Eulers differential equation


f ww =

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)

The symmetry of f w leads to the relation


^IM I5 = - w Tf ww j,

(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.

CHAPTER 2. THE NUMERICAL SCHEME

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

S y m m etriza tio n v ia entropy variables

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

from which it easily follows that


U = ( y - l ) h [3

-^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 =

where k is a constant, and

h{S) = K e KS = K (pp-7 )*,

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

= l / ( a + 7 ), e R . It follows that f3 = ( a + 7 ) / ( l 7 ). The

flux / ( w) has the same homogeneity constant.


Equations 2.14 and 2.15 yield the simple expressions
w

[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)

CHAPTER 2. THE NUMERICAL SCHEME

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)

The variable p* satisfies an equation similar to the equation of state 1.3

<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

simplify: for a = 1 we get

= 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?

= ph(S) in Hartens family of

generalized entropy functions. Hughes, Franca and Mallet [38] showed that the heat flux
term, if present, will only remain symmetric for

77

= pS. This symmetry is needed

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.

CHAPTER 2. THE NUMERICAL SCHEME

2.2

18

Deriving the SHOEC scheme

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

T he se m i-d isc r e te equations

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

back and forth between symmetrized and conservative

variables is not needed.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

19

CHAPTER 2. THE NUMERICAL SCHEME

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 +

2/3 u 2 + 2/3 A t L ( u 2),

t*i

u n+1

un

(2.25)

with time-step A t and intermediate variables Ui and u 2.


Here, L{u(w)) =
2.2.3

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

CHAPTER 2. THE NUMERICAL SCHEME

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

The continuous energy method employed integration-by-parts to derive an energy estimate.


In the semi-discrete case, difference operators are used for which a summation-by-parts
principle 2.26 holds, derived by Kreiss, Scherer and Strand [49, 91], which is a discrete
analogue to integration-by-parts.
The difference operators must satisfy the equation
(u, Dw)h = u w n - UqWq - (D u , w)h,

(2.26)

for arbitrary discrete grid vectors u and w, with respect to the weighted scalar product
n

(u,w)h = h 5 3 VijViV jij=0

(2-27)

The scalar product can also be written as


(u,w)h = h u THw.

(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

CHAPTER 2. THE NUMERICAL SCHEME

The corresponding matrix E is of the form


" 0.5
1
E =
1
0.5
The fourth-order operator has a sixth-order accurate interior stencil and third-order
accurate boundary closure, and is given by
(Du)j =
k T ^ d jiUi

j = 0 , .. ., 5

U ~ m u j-3 + m u i - 2 - iu z - i + ! u ;+i - m u j+* + m u :+3) 5 < j < n - 5


j 71 5, . .. , 71
The values of dy,-, 0 < j < 5, 0 < i < 8 and the values of the diagonal matrix E are given
in appendix B.
In general, interior difference operators of order 2q take the form
Du

= DoR2 qU, where


9-1
= 5 3 ( - l ) ,, 6l/(/l2T>+)_)1',
u0
bo = 1,

bu =

4i/ + 2

(2.29)
and

(2.30)

bv-i-

Dq,D + and D - are defined by


( Dou)j

= -(uj+ i-uj-i),

( D+ u) j = ^ ( u j + i - u j ) ,

(D-u)j =

i ),

where h = Xj+1 Xj is the uniform mesh size.


Summation can be generalized to several space dimensions if we restrict ourselves to di
agonal norms. Here, we will give the two-dimensional formulations. For higher dimensions,
see [91]. The two-dimensional grid function

defined in the points

= ( iA x ,jA y ) , is

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

22

CHAPTER 2. THE NUMERICAL SCHEME

partitioned as uT = (v.q u), u j = (uq} ujy), j = 0, , n. To simplify notation, we


assume the same number of grid points in each dimension. We define the weighted scalar
product as

(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

Both Dx and Dy are assumed to satisfy 2.26. Therefore


n

(u,Dxv)h = A y 2 2 <Tj( 2 2 aiUij dikVkj),


j=0
t=0
fc=0
with a similar expression for (u,Dyv)h,. Because the terms in parentheses satisfy 2.26, we
get
n

(u,D xv)h = A y Y , VjUnjVnj - A y Y ^ o ^ O j ~ (Dxu,v)h,


j= o
j=o
n

(u, Dyv)h = A x Y aiuTnvin - A x Y


i=0
i=0

(Dyu,v)h,

(2.31)

which is the two-dimensional formulation of summation-by-parts.


2.2.5

E ffect o f th e n o n -co n servative form o n th e sp eed o f shocks

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.

CHAPTER 2. THE NUMERICAL SCHEME

2.3

23

Boundary conditions

2.3.1 C haracteristic b ou n d ary con d ition s


We denote the numerical value obtained at the boundary after a Runge-Kutta cycle 2.25
by Untimi and the far field uniform flow field by UooThe characteristic boundary conditions are obtained in three steps. First, we linearize
the equations about Uqo- This gives us the matrix A q0 which is the Jacobian of the flux
vector / evaluated at u ^ . We then diagonalize
as Aqo = QooAqoQtoi where the
diagonal matrix Ago contains the eigenvalues A,-, i = 1, , 4. The characteristic variables
ip are defined by xp =

The signs of the eigenvalues Af- are determined to decide

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)

Expressed in the primitive variables, the characteristic variables are given by


tfi(fi)

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

speed of sound in the far field.


We distinguish four cases:
1.

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.

CHAPTER 2. THE NUMERICAL SCHEME

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-

2.3.2 S o lid boundary con d ition s


It is not possible to have a mass flux through a solid boundary. Therefore we require the
normal velocity to vanish, i.e., i; n = 0. This single physical condition is sufficient as only
one characteristic is incoming. We compute the velocity field from

v n

0,

(2.41)

v r

Wnum Ti

(2.42)

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPTER 2. THE NUMERICAL SCHEME

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 =

. [ss , sy]T and

y/Sx + 4

* - [a;r , yr]T - Substitution in 2.41 and 2.42 gives the sought after velocity field.
fx

2.4

Stability for the 2-D Euler equations

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

T h e se m i-d isc r e te Euler equations in general coordinates

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)

and the characteristic boundary conditions are given by


ipT(x,y,t) = 0(x,y,t),

(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)

CHAPTER 2. THE NUMERICAL SCHEME

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.

Homogeneous boundary conditions could, for

example, follow from characteristic conditions in the form


ipr(x,y,t) = S(x,y)i(>o{x,y,t),
which lead to
LT(x,y)w(x,y,t) = ( Q j(x ,y ) - SQ%(x,y) )w{x,y,t) = 0.

(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)

CHAPTER 2. THE NUMERICAL SCHEME

27

These equations imply that


^ : ( J ( r* + r v)) +

= *

(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

- p ^ - ( r x(fww)r + sx(fww)a + ry(gww)r + sy(gww)a)

(2.51)

(rxf wwr + sxf wwa + rygwwT + sygwwa).


Equation 2.50 is used to rewrite equation 2.51 as
{Ju)t =

( ( Jrx{fww) + Jry(gww) )r + ( J sx(fww) + Jsy{gww) )s )


P ^ ^ (jTx}wwr "I" JTy9vowr "I" JSxf wWa + JSygwWa ^,

=e R(w),

(2.52)

which will make it possible to derive a semi-discrete energy estimate.


2.4.2

S e m i-d isc r e te equations

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)

(u, v)h = A rA s ^ 2 (Ti<7ju[jVij = huTEv.


iJ=Q

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)

ur (x(r, s), y(r, s))v(x(r, s), y(r, s))Jdrds.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

28

CHAPTER 2. THE NUMERICAL SCHEME

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)

where the arc lengths q are defined as


Qo = A r |x r|,

COj = A s |xa|,

and similar definitions hold for

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.

The matrix representation of J is


Jo
J =
Jn

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.

CHAPTER 2. THE NUMERICAL SCHEME

29

The semi-discrete matrix representation of the Jacobian f w is

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

G ft*1. The outward

and Xio are given by

(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.

CHAPTER 2. THE NUMERICAL SCHEME

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, =

N |j[ = (u,PR(u))h = (u,R(u))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.

CHAPTER 2. THE NUMERICAL SCHEME

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)

If the boundary conditions LTw = 6 are homogeneous, equation 2.58 leads to


Pu

= u L (LTwuL)~l L t wuu

PTw =

w wuL (LTwuL)~l LTw =

u L (LTwuL)~l 0L Tw = u,
w.

The relations L T P T = 0, P L = 0 and J P = P J are readily established and will be used


later. The time dependence can be dealt with by augmenting the semi-discrete equations
with an extra term involving (LTwu)t which will be discussed later.
2.4.3

S ta b ility estim a tes for hom ogeneous boundary co n d itio n s

We discretize the Euler equations as


(Ju)t PRh( w) L(L t wuL)~1l J J w ,

(2.60)

with
Rh =

{ DrJrx(fww) + DrJ ry(gww) + DsJsx(fww) + DsJ s y(gww) )

~ P + l ( j r xfwDrw + JrygwDrw 4- J s xf mDsw + JsygwD aw )

(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.

CHAPTER 2. THE NUMERICAL SCHEME

32

P ro p o sitio n 2.1 The approximation 2.60 is strictly stable.


Proof We multiply 2.60 by w and take the scalar product (, -)a to get
(w,ut)h. = - (w ,P R h(w))h - { w ,L ( L w uLT)~l (Lr wu)tJ v ) h = (w ,PRh(w))h - {w,z)h.
Because E and P commute this is equivalent to
(w,ut)h = ~{PTw,Rh(w))h - (w,z)h.
P Tw = w gives
(w,ut)h = -{ w ,R h{v]))h - ( w , P z ) h.
But,
Pz =

(I L (LTwuL)~lLTwu) L (Lt whL)~1L J J w

( 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+

(DrW, Jrxf ww)h + (w , Jrxf wDTw)h

{Drw , JryQm'w'}h ~f~ ("Ui, Jry(J-l2jUrw')fi


(Dsw, Jsxf ww)h + (w, Jsxf wDsw)h
- ( D sw ,J s ygww)h + {w,JsygwDsw)hj
+ boimdary terms.

(2.63)

The precise definition of the boundary terms is given below.


The matrix representations of J , rx,ry,sx,sy, and f w commute, and f w and gw are
symmetric. This yields
(w,ut)h =

( ~ (DrWirxf ww)h + (rxf ww, Drw)h


- {Drw ,rygww)h + (rygww ,D rw)h
{DsW, sxf ww)ii + {sxf ww, Dsw)h
- (Dsw, sygww)h + (sygmw, Dsw)h)
+ boundary terms.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

(2.64)

33

CHAPTER 2. THE NUMERICAL SCHEME

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 2.31 it follows that the boundary terms are given by

[ As " a j {u% j (Jojrxfijf m + Jojryfijgw) w 0j} +


Ar

Oj {Wtfj (JiO&x,iofw "F Ji0sy,i09in) ^io} j

From equation 2.56, 2.50 and 2.55 we see that this equals
^

- 0 -j- [ 5 3 a3'Q>i K - (n i/w + n 29 w) WQj} + 5 3 a *i0 {wIo (1 fw + n 2gw) w<o} ],


P
j
i

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

+ n 2gw) w {j < -'Yij\wij \ 2.

If we set 7 = inf(7ij) > 0, then

- " Vj^Qj { n j m + n 2gw) w Qj} - ?

{To ( n J w

+ n 2gw) w i0}

< - 7 ( " ^Ojiw'Oji2 + ?^tT.o|^o|2.


Thus, we established that
w)h,uw + i i w , w }r < 0.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPTER 2. THE NUMERICAL SCHEME

2.4.4

34

N on -h om ogen eou s boundary con d ition s

Let L t w = 0, 0 ^ 0 , where L = Qj. We use the boundary projection operator defined by


2.58, and define the semi-discrete approximation as
(Ju)t = P R h W ~ L{LTwuL )~lL j j w + L (LTwuL)~l J9t.

(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

CHAPTER 2. THE NUMERICAL SCHEME

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

CHAPTER 2. THE NUMERICAL SCHEME

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)

where z = L(LTwuL)~l (0t Ltw). We have (w w) = PT (w w), so that


( w - w , [ J u ) t )h = ( w - w , R h(w))h + ( w - w , P z ) h = (w w,Rh(w))h,

(2.73)

since P z = (L(LTwuL)~l L{LTwuL)~l )[Qt L tw) = 0. Naturally,


(w w, (Ju(w u>))t)h = (w w, (Ju(w w) Ju(w))t)h + (w w, (Ju)t)h,
and so (by 2.73),
(w w, (Ju(w w))t)h = (w w, Ju(w w) Ju(w))t)h + (w w, Rh{w))hConsequently,
(w-w, (Ju(ww))t)h = (ww, Rh(ww))h + (ww, (Ju(ww)Ju(w))tRh(ww)+Rh(w))h.
Since 2.67 is a discretization of 2.43, u(w) and 72/,(w) are real analytic. Hence, according
to lemma 2.1 and 2.2, w satisfies 2.68, so that
(w - w, (Ju(w - w))t)h = ( w - w , R h( w - w ) ) h.
a

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPTER 2. THE NUMERICAL SCHEME

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)

for some positive constant c, where LTw = 0.


We can now show th a t th e solution of the semi-discrete equations 2.67 is given byw = w.

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.

Proof. Lemma 2.3 gives


(w w, (J u (vj w))t)h = (w w, Rk(w w))hLet v = w ui. Prom the previous section we know th a t su m m ation-by-parts results in
1

(v, u(v)t)h = ~g~ZT [ 5 3


P
j

where n = [ni

{^3 (ni f v + n29 v)Voj} + ] T a t<T,0 [vfo (n j v + n2gv) Vio} 1,


i

is the outw ard normal to the appropriate boundary. We write

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

Q i A i Q i (v ) < = c Q i A[Q i (w ). Thus,

(v, u(v)t)h < ~c

[ " <Tj%j (Qj(w)v)T Ai(w)(Qj(w)v) +

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.

CHAPTER 2. THE NUMERICAL SCHEME

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,

which, following the same procedures as in the previous section, leads to


d_

d t1

= ~ Y

i v0j (n !fv + n29v) voj} - Y

{vfo (ni/ + n2gv) *)},

which gives, using Q jw = 6,


^IMIa,u ^ Y aj ^ i eoj lAH0Oj + Y a*io9To |A/|0tO = (8, |A/|0)r = \8\lr
j
i
And so,

which is the desired estimate.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

Chapter 3

Com posite A daptive Grids


The central concern in this dissertation is to design solution methods that are general,
simple and efficient. At the same time, the methods should be able to dead with complicated
flow geometries. These criteria led to the choice of the composite grid (CG) method, adso
referred to as the overset grid method or the overlapping grid method. In this chapter, the
composite grid method and the local grid adaptation method used in the solution strategy
axe presented. We refer to the combination as the composite aidaptive grid (CAG) method.
It is based on the CAG method proposed by Zhu in [102]. We generalized amd extended it
to hamdle high-order finite differences and high-order time integration. Also, in our version
the grid mappings need not be known explicitly.
Composite grid methods were developed to build upon the best features of structured
and unstructured grids. They axe more flexible than the pure structured grids, yet require
less aLdministration than the unstructured grids. The idea is simple: the computationad
domain is subdivided into several sub domains, with each sub domain covered by a Caxtesian
or curvi-linear (body-fitted) structured grid. The sub domains (component grids) overlap
each other. An illustration is given in figure 3.1 which shows a composite grid that covers
part of the Gulf of Mexico. A curvi-linear grid fits the coast line and Caxtesian grids axe used
in the remainder of the domain. Eaxly practical work on CG methods in aerodynamics was
done by Benek, Steger, Buning amd Dougherty [5, 6] in the seventies. In these papers they
present a composite grid generator cailled PEGSUS. Concurrently, B. Kreiss and Starius
advocated the method and showed its potentiai theoreticailly in [47, 90, 89]. The last two
papers aure the first, and as yet the only, to discuss stability issues of composite grid methods.
In the mid eighties Chesshire and Henshaw developed CMPGRD [15], a comprehensive
39

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPTER 3. COMPOSITE AD APTIVE GRIDS

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.

Figure 3.1: Example composite grid.

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.

CHAPTER 3. COMPOSITE ADAPTIVE GRIDS

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

Interior p oin ts and overlap p o in ts

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

CHAPTER 3. COMPOSITE ADAPTIVE GRIDS

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

CHAPTER 3. COMPOSITE AD APTIVE GRIDS

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

In terp olation in th e overlap

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

CHAPTER 3. COMPOSITE ADAPTIVE GRIDS

A : point in stencil of interiorpoint A

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.

of these methods amd is generally expensive. Non-conservative interpolation schemes have


no such constraints and are simpler and cheaper. Straightforward Lagrangian interpolation
is an example. Part and Sjogreen [76] found that non-conservative interpolation cam alter
the speed of a shock propagating through an overlap. The standard conservative interpola
tion proposed by Berger [8] caused relatively large errors at the overlap. Part and Sjogreen
proposed a more accurate, conservative interpolation with a built-in filter to suppress po
tential spurious oscillations generated by the interpolation. As the SHOEC scheme is in
non-conservative form it does not pay to use expensive conservative interpolation schemes.
Instead we use a high-order (consistent with the order of the overall scheme) Lagrangian
interpolation. We believe that sufficient accuracy will prevent significant changes in flow
behavior. The fourth-order Lagrangian interpolation requires 16 donor points per overlap
point in two dimensions. As the donor points do not change at runtime, the interpolation
parameters are stored once and for all so that each interpolation costs a mere 16 multi
plications and additions. Its effect on propagating shocks has not yet been investigated.
In smooth regions of the flow the Lagrangian interpolation gives satisfactory results. The
artificial viscosity added to our scheme around shocks (chapter 4) is expected to suppress
oscillations that may be introduced by the high-order interpolation at the overlap bound
aries. Automatic grid refinement in the shock regions will keep the resolution sharp.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPTER 3. COMPOSITE ADAPTIVE GRIDS

3 .1 .4

45

Effect o f th e overlap o n stability

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

A Composite Grid Generator; XCOG

A composite grid generator has three main tasks:


Check consistency of the user defined component grids: Is it possible to construct an
overlap with the user defined grid densities, interpolation and discretization?
Minimize the size of the overlap to reduce computations. The resulting width of the
overlaps and the size of the gap between the overlap points depend on the widths of
the difference and interpolation stencils.
Compute the interpolation information: determine the location of the donor grid
points and compute the local computational coordinates of the overlap points in the
donor grids.
We chose the composite grid generator XCOG [79]. XCOG is an interactive software
package, written in C 3, that can be installed on all major Unix platforms (SGI, DEC, IBM,
SUN). The installation is simple, and it takes only a short time to get acquainted with the
command interpreter. Besides, the code is well documented and easy to extend. XCOG is
efficient and fast. Its speed is partly due to the efficient way in which it performs the third
3some recent extensions have been made in Fortran

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPTER 3. COMPOSITE ADAPTIVE GRIDS

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

We give an overview of a XCOG work session to show what is involved in setting up a


composite grid. It is illustrated graphically in figure 3.10 and 3.11.
1. Generate the geometry.
Simple boundaries are defined by complete mappings. Then, curves are constructed
that fit the remaining physical boundaries.
2. Create grids that discretize the domain close to each curve and fill the remaining part
of the domain with (Cartesian) background grids.
Five different types of grids can be constructed using XCOG:
(a) Cartesian grids. The user specifies the number of grid lines in both directions
and can add exponential or hyperbolic-tangent stretching.
(b) Normal grids. The grid is constructed in a direction normal to a curve. Again,
the user specifies the grid density. Besides the two different stretchings given
above, arclength stretching and layer stretching are available. This type of gridding is suitable for boundary layers.
(c) Linearly interpolated grids. The grid is constructed by linear interpolation be
tween two curves. All four types of stretching can be applied.
(d) Discrete point grids. The grid is constructed by interpolation of a discrete set
of grid points, supplied by the user in a file. The points could be output of an
external grid generator that can be used to set up grids that are not provided by
XCOG.
(e) Theodorsen-Garrick grids. This grid type is suitable for constructing grids around
airfoils [78].
3. Supply boundary information to XCOG.
To check for grid consistency, XCOG needs to know which boundaries are purely
physical, which axe purely overlap and which are mixed.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPTER 3. COMPOSITE ADAPTIVE GRIDS

47

4. Order the grids in the grid hierarchy.


The ordering G j, j = 1,2, is needed in cases where more than two grids overlap in
one particular location. The candidate with the lowest priority number j is selected
as donor grid.
5. Set the discretization width and the interpolation width .
6. Start the computation of the composite grid.
XCOG checks the consistency of the component grids, computes the minimal overlaps,
marks the interior and overlap points, marks the remaining points as exterior (they
will not be used), and computes the inteipolation information.
7. Save the composite grid information to file.
For each grid information is stored for the:
Boundaries
Characterization of boundaries: physical, overlap or periodic.
Coordinates
Physical and computational coordinates of all grid points.
Mappings
Jacobian of the mapping from physical to computational coordinates in all grid
points.
Overlap
(a) Indices and coordinates of the overlap points
(b) Indices of the corresponding donor points
(c) Computational coordinates of the overlap points in the donor grid for inter
polation purposes
3.2.2

C om p u tin g in terpolation in form ation in X C O G

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.

CHAPTER 3. COMPOSITE ADAPTIVE GRIDS

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
\>

\\

\\

\\

Ocuts 'V ocuts "

Figure 3.5: Illustration of the ray lemma

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.

CHAPTER 3. COMPOSITE AD APTIVE GRIDS

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

Local grid adaptation

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.

CHAPTER 3. COMPOSITE ADAPTIVE GRIDS

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.

CHAPTER 3. COMPOSITE ADAPTIVE GRIDS

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.

CHAPTER 3. COMPOSITE ADAPTIVE GRIDS

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.

CHAPTER 3. COMPOSITE ADAPTIVE GRWS

'

shock
decreasing in strength

flag points

near shock and rear stagnation

>-

add bufferzone

flag donor points


corresponding to flagged overlap points

final cylindrical grid

final cartesian grid

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.

CHAPTER 3. COMPOSITE AD APTIVE GRIDS

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

Interp olation inform ation for fine overlap p o in ts

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.

CHAPTER 3. COMPOSITE ADAPTIVE GRIDS

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

V coarse grid value

line gridvalue

O coarse spatial interpolation

coarse rime Interpolation/stepping

coarse spatial trrtarp. and time InterpMepping

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.

CHAPTER 3. COMPOSITE ADAPTIVE GRIDS

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)

the error satisfies a s im ilar estimate


Ileh(r)||j 7h < K e

(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.

CHAPTER 3. COMPOSITE ADAPTIVE GRIDS

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

CHAPTER 3. COMPOSITE ADAPTIVE GRIDS

k ( Ci(x, t)kq + C2(x, t)kp ) + k 0 { k q+l + hp+l)

(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)

where we assumed that p q.


The above technique can be applied to nonlinear equations after local linearization.
Linearization generally results in the introduction of an extra growth term e&1 that can be
estimated using the numerical solution. Zhu showed results for the shallow water equations.
Aczon and the author are currently implementing the error control in the SHOEC code.
Problems with high order o f accuracy
If p and q are small it is easy to compute the fine and coarse grid solutions needed in the
step-doubling at each grid point individually. For example, suppose that the problem is
one-dimensional, that the spatial interior discretization stencil has a width of three, and
that the temporal discretization is a one-step method. We assume further that one-sided
boundary stencils are applied at the boundary points x<j and XN- To compute u(xt', t + 2Ar)
the values of u (x ,_ x ,t + k), u(x,-, t + k) and v(xt-+i,t + k) are needed, which are, in turn,
computed from the small set v(xk, t)k, with t 2 < k < i + 2. We refer to this set as the
set of dependence. The coarse grid solution can be computed immediately from the values
v{xi- 2 it),v{xi, t) and v(xi+2,t). Equation 3.14 is valid provided the discretization stencil
used in the coarse and fine grid are the same. Therefore, the error estimation is not valid
in the interior points xi, x2, x ^ - 2 and x/v-i, but this is a very small set of points and can
easily be excluded.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

59

CHAPTER 3. COMPOSITE AD APTIVE GRIDS

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

the excluded regions are large and

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

CHAPTER 3. COMPOSITE ADAPTIVE GRIDS

structures axe implemented in C.


Each component grid at each level is stored in a single GRID structure. The structures
are linked between levels through the parent/child connection and within each level through
a linked list. The order of the grids in this linked list is determined by the user in XCOG: the
position of a grid in the linked list indicates its priority (see section 3.2.1). This facilitates
the administration of the donor grids. The grid connections are illustrated in figure 3.8.

- + +

1T

4J

/
u h4

Goo
w0,2
parent

neighbor

child

f I

Go*
w0,7
parent

I
|

linked list level 0

child

neighbor
*

1,1

linked list level 1

Figure 3.8: GRID structures and connections.

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

CHAPTER 3. COMPOSITE ADAPTIVE GRIDS

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.

However, they make inefficient

use of the computers cache as explained in chapter 7.


We have tested the composite adaptive grid method using flow past a cylinder. Results
are given in chapter 6. All tools discussed in this chapter have been implemented and
validated with the exception of the error control on which work is currently underway.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPTER 3. COMPOSITE ADAPTIVE GRIDS

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)

Interior INDEX Une grid

: ; : :
...

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.

CHAPTER 3. COMPOSITE ADAPTIVE GRIDS

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.

CHAPTER 3. COMPOSITE AD APTIVE GRIDS

The full component grids generated by XCOG


so far

I H N M H IlH M M M U M IItM H R in n tT IR IU M in in tM IIT

overlap-parameters
discretization-width 7
normal-width 6
tangential-width 6
comer-width 6
interpolation-width 4
exit
compute-overlap

A closer look at the overlap region generated

Figure 3.11: Example of a XCOG work session, part II

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

Chapter 4

Artificial viscosity for shocks


The stable high-order numerical scheme and the composite adaptive grids discussed so far
suffice to compute smooth flows in complicated domains. In this and the next chapter we
present two extra building blocks, an efficient scalar artificial viscosity and a detection al
gorithm, that will allow us to deal with more complicated flow situations without changing
the basic scheme and without violating the basic principles of stability, simplicity and effi
ciency. Both are used for the simulation of flows which contain sharp transitions or shocks.
It was already mentioned in section 3.3, that local grid adaptation is desired around shocks
to retain the accuracy of the difference scheme. Besides the loss of accuracy, which is inde
pendent of the numerical scheme used, we have to worry about spurious oscillations at the
shock or sharp gradients generated by the central high-order difference scheme. To sup
press the oscillations we designed a cheap but effective artificial viscosity term that can be
added to the difference scheme locally. The artificial viscosity is introduced on a (sequence
of) refined grid(s) around the shock, but not on the coarse grid. We remark that artificial
viscosity is not needed to stabilize the scheme globally (chapter 2).
Ideally, artificial viscosity terms should be constructed such that
1. the stability estimates are not destroyed
2. shocks are resolved sharply

3. the artificial viscosity terms can be computed cheaply.


We start by deriving a suitable artificial viscosity for one-dimensional applications.
65

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPTER 4. ARTIFICIAL VISCOSITY FOR SHOCKS

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

The artificial viscosity term in ID

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

are sometimes used, or combinations of lower and higher order terms.

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)

where the artificial viscosity term is given by


hQu = hR 2 qD+ E D -U .

(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,

this isa consistent discretization of (Eux)x which can bewritten

In contrast to

4.2,it

(4.3)
as(Euwwx)x.

can be shown that 4.3 preserves the stability estimates.We can

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)

CHAPTER 4. ARTIFICIAL VISCOSITY FOR SHOCKS

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

Sharp resolution of shocks

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),

Afc_i(u/) < s < Afc+i(ttr ),

k = 1,3.

Here, Ai = (v c), A2 = v, and A3 = (u + c) are the characteristic speeds.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPTER 4. ARTIFICIAL VISCO SITY FOR SHOCKS

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)

fj+i ~ f j - i ~ s (uJ+1 - Uji) = 2 e (uy+i - 2Uj + j-i).

(4.9)

or,

So here we let the grid move along with the shock.


We want to design e to support viscous shock profiles consisting of the states uj, ur and
one intermediate state itm. 1 We obtain the following equations at the points x = h,
x = 0, and x = h:
f m - f i - s(iim - Ul)
f r - f l - s(Ur - It/)
fr

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

CHAPTER 4. ARTIFICIAL VISCOSITY FOR SHOCKS

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)

We have pm = (pi + pr)/2 and pmvm = (pjtq + pTvT) / 2. Consequently,


pm - PrVr = (2e + s)(pi - Pr).

(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)

= ( s - 2e) (tir - Um).

4.15 represents a /.-shock between statesu; and

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 ) =

(a + 2e) (um - tq),

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

CHAPTER 4. ARTIFICIAL VISCOSITY FOR SHOCKS

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

CHAPTER 4. ARTIFICIAL VISCO SITY FOR SHOCKS

4.2.1

M od ification o f th e scalar v isco sity for m oving shocks

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

If oscillations are still

C4-1^)

4.18iscomputed using the approximations (A*(/) + A/t(ur ))/2.


present, which can be detected easilybythe algorithm discussed in

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

Extension to two dimensions

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

CHAPTER 4. ARTIFICIAL VISCOSITY FOR SHOCKS

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)

for stationary shocks, and


(4-26)
for moving shocks. Here, the wave vector k = Vr and h = A r if the shock isaligned with
the s-direction.If the shock is aligned with the r-direction, we use k = Vs and h = As.
If the shock is not aligned with the grid we take the average

e =

V 1 1 1 A v r - * '1 +

4 ^ 7 V 1 1 1 A v a -1' 1

( 4 -2 7 )

for stationary shocks, and


6 4 ^ r *Avr2 5 1 + 4^

I AVs,2-5 I

for moving shocks.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

(4.28)

73

CHAPTER 4. ARTIFICIAL VISCO SITY FOR SHOCKS

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

M odification o f th e artificial viscosity term a t boundaries

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)

which would render summation-by-parts unnecessary. We set Qw = D iEuwD2 W. The


artificial viscosity E is chosen as above. The matrices D\ and

axe factorizations of the

artificial viscosity operator Dav = D 1 D 2 . Eriksson [26] constructed operators Dav for which

Dnn

1
to

1
to

4.30 holds. The first one we mention is of the form

1 -4

1
-4

6 -4

1 - 2

(4.31)
1

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

74

CHAPTER 4. ARTIFICIAL VISCOSITY FOR SHOCKS

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)

The dissipation operator is given by


~ Q w lj

( ( 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

= -4(cruwv)3J + SiaUyjv)^ - 4(<juwv )5j + (crUyjV^j,

with a similar definition at the opposite boundary. In the interior we have


- Q w ij = (o-iiwu)t_ 2j - 4(crutuu),_iJ- +

- 4(auwv)i+i j + (auyjv)i+2j . (4.37)

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

D etecting phenom ena w ith


wavelets
In the previous chapters we motivated the need for an accurate and efficient detection al
gorithm to locate sharp interfaces and shocks. To retain the accuracy of the numerical
scheme we need to refine the grid locally around shocks. Accurate detection of the shock
location will minimize the refinement costs. Detection can also be used to track interfaces
that normally require special treatment in a numerical code. In the ocean upwelling model
discussed in chapter 7 for example, interesting small scale phenomena occur at the frontal
interface that can only be resolved when the grid is refined. We are interested not only in
the position of the shocks or interfaces, but also in their orientation. If the grid is suffi
ciently aligned with a shock, refinement in the direction normal to the shock will suffice.
Also, addition of artificial viscosity can be restricted to this computational direction. In
the future, information about the orientation of (steady) interfaces or discontinuities could
be used to construct a new component grid around the feature, if the original grid is not
already aligned.
We developed a detection algorithm that gives us both the position and orientation of
shocks and regions of sharp gradients in the flow. It also locates local oscillations in the flow
variables that may arise near instabilities or gradients not detected separately. Efficiency
and accuracy are obtained by basing the algorithm on a multi-scale wavelet analysis of a
grid function. The pressure grid function is used for shocks. The detection algorithm is
not dependent on the numerical method used and it therefore of general interest. Also, the
75

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPTER 5. DETECTING PHENOMENA W ITH WAVELETS

76

algorithm can be easily extended to detect other phenomena of interest in computational


fluid dynamics. For instance, a different wavelet could be used to detect large vortices or
vortex sheets, which is of interest in aero-dynamics. The wavelet analysis is derived from a
noise-detection algorithm developed by Mallat, Zhong and Huang [55, 56] in signal process
ing. We present the relevant wavelet theory and. motivate the choice of the wavelet family
to make the chapter self-contained. We thereby focus on issues that are relevant in the
context of computational fluid dynamics. For a thorough discussion of wavelet transforms
and their applications we refer to [23] and [17]. Readers interested in implementation issues
of Windowed Fourier Transforms and Wavelet Transforms will find [100] of great use.
We introduce the Wavelet Transform (WT) by comparing it to the better known Win
dowed Fourier Transform (WFT) in section 5.1.1. Discrete wavelet transform s jure discussed
in section 5.1.2. The choice of the wavelet family is the topic of section 5.2. Section 5.3
presents the Fast Wavelet Transform algorithm. Implementation issues are discussed in 5.4.
In these first sections we lim it ourselves to one space dimension. Extension to two space
dimensions is the topic of 5.5.
A few notes:
Signals, referred to in this chapter by the sequences yt-, i

Z , represent discrete grid func

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.

CHAPTER 5. DETECTING PHENOMENA W ITH WAVELETS

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

T h e w in d ow ed Fourier transform and th e W avelet Transform s

The standard Fourier transform


/( ) = W ) M

= ^

je -< ^ H x )d x

gives a representation of the frequency content of a continuous function f{x): it measures


how close f(x ) resembles the harmonic

with frequency u. The function / can be

reconstructed from f(ui) by


=

(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)

CHAPTER 5. DETECTING PHENOMENA WITH WAVELETS

In its discrete version, b and cu take the values 6 = nbo,w =

ttujq

78

where bo,u 6 R + and

n,m 6 Z. The design of suitable window functions is difficult [100].


The Wavelet Transform (WT) provides similar information about the space-frequency
localization of a function, but instead of convolving the function / with a windowed har
monic, g[x b)e~tux, f is convolved with dilations and translations

of one and the

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

Figure 5.1: Different members of the wavelet fam ily.


lNote that the scale of a wavelet function is defined in physical space. The narrower the wavelet function,
the more high frequency components it will contain. Naturally, a a one-to-one correspondence between scales
and frequencies does not exist.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPTER 5. DETECTING PHENOMENA WITH WAVELETS

79

The continuous wavelet transform is defined by


(/, Va.ft) = ^ J f(x ) i>

(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#

Both functions represent a certain frequency through respectively

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)

Figure 5.2: Window function g and two basis functions gUi,b

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.

CHAPTER 5. DETECTING PHENOMENA W ITH WAVELETS

property that is not possessed by the basis functions

80

of the windowed Fourier transform.

We discuss the FW T in section 5.3.


We emphasize that classification of phenomena is possible with the traditional W FT or
shock detection algorithms, but the wavelet transform offers improved accuracy and robust
ness, and increased computational speed. Besides, the chosen wavelet detection algorithm
gives sin accurate estimate of the pressure jump across a shock, even in the presence of
spurious oscillations. In two dimensions it supplies information about the orientation of the
shock, next to its position, which is valuable in regridding and r efining algorithms.
5.1.2

D isc re te w avelet fam ilies

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)

The wavelet coefficients should contain enough information to fully characterize / . Or


thonormal fam ilies f ulfill this requirement as / can be expressed immediately as
/ = C ^

(/) V'm.n) Vm.n-

(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)

CHAPTER 5. DETECTING PHENOMENA WITH WAVELETS

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

CHAPTER 5. DETECTING PHENOMENA W ITH WAVELETS

5.2

Selection of the discrete wavelet family

The wavelet family is selected based on two criteria:


1. There must exist a clear relation between the behavior of the wavelet coefficients and
the local regularity of f{x).
2. The number of wavelet coefficients needed to determine the local regularity of f{x)
with sufficient accuracy should be small.

5.2.1

N o n -o rth o n o rm a l fam ilies

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.

CHAPTER 5. DETECTING PHENOMENA WITH WAVELETS

83

a
j+3

j+2

............................. 1
0

Figure 5.4: Lattice of wavelet centers for orthogonal families.

(corresponding to m = 0). Then, A b = 1 in 5.5, which gives


i>m,n =

TO > 0.

(5.9)

This normalization is used in the remainder of the chapter.


Having abandoned orthogonality, freedom in the design of the mother wavelet is gained.
The question is if and how this freedom can be used to construct non-orthogonal families
that satisfy the two criteria given above. Mallat and Hwang [56] showed that this is possible
if the mother wavelet ip(x) has compact and symmetric support [K, K\ for K > 0, and if
it is a derivative of a smoothing function. From now on, all mother wavelets are assumed
to be in this class. A smoothing function 9{x) is defined as a differentiable function that
satisfies
9(x) > 0 ,

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

R ela tio n b etw een w avelet coefficients and th e local regularity o f a


function

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.

CHAPTER 5. DETECTING PHENOMENA W ITH WAVELETS

84

Definition 5.1 (Lipschitz exponent) Let 0 < a < 1.


1. A function f{ x ), defined on a domain D f C R , is Lipschitz a over an interval
(xi,xr) C D f , if and only if there exists a constant C < oo such that for all x ,y 6
(xi,xr)
l/ ( * ) - /( y ) l < C \ x - y \ a.
2. A function f(x ) is Lipschitz a at a point xo, if and only if there exists a constant
C < oo such that
sup l / W - / ( * > ) I < a
xD f

l* -* o r

3. A function that is not Lipschitz 1 at a point

xq

is said to be singular at that point.

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

G (xj,xr ), and f{x)

is Lipschitz 1 over any subinterval of (xi,xr) that does not include x q .


So, a continuous function has a Lipschitz exponent a > 0, a bounded discontinuity
(shock) is Lipschitz 0, and a Dirac function (local oscillation) has a Lipschitz exponent
a = 1. For ease of presentation, the theorem that links the behavior of the wavelet
coefficients to the local regularity of a function is presented for continuous wavelet families
i>a,b =

>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)

The region C( xq;K ) = U0{a} x S(a,xo;K) is referred to as the cone of influence of


(figure 5.5). It is intuitive to think that the local regularity of / at

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

CHAPTER 5. DETECTING PHENOMENA W ITH WAVELETS

Figure 5.5: Cone of influence of xo.

T heorem 5.1

1. Let 9 be a smoothing function and letipk(x) = dk9[x)/dxk,k > 0 have

compact support [K ,K ]. Let b = B{a) be a curve in the cone of influence of x q , with


B(a) > x q as a - 0 (figure 5.5). The function f is Lipschitz a < k at

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)

2. Define a modulus maximum at the scale a as a local maximum of \( f , tpa,b) I in b. The


points b at which the modulus maxima are attained are referred to as the maximum
points at scale a. I f f has an isolated discontinuity at

xq

there exist a scale a and a

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.

CHAPTER 5. DETECTING PHENOMENA WITH WAVELETS

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

R ela tio n w ith con ven tion al d etection algorithm s

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.

CHAPTER 5. DETECTING PHENOMENA W ITH WAVELETS

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

Detecting modulus maxima therefore corresponds to detecting m axim a

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

which can be used as an extra criterion for shock selection.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

(5.15)

CHAPTER 5. DETECTING PHENOMENA W ITH WAVELETS

5.3

88

The Fast Wavelet Transform

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

In an orthonormal MRA we construct a sequence of closed spaces Vm C L2(R ) that satisfy


the conditions
1. ... V2 C Vx C Vo C

...,

2. L2 = UVm, and n Vm = {0},


3. There exists a function <f>such that the family <fo,n = 4>ip~n )n^z forms an orthonormal
basis for Vo4. If a function g(x) is an element of Vm then g(2x) is an element of Vm- i.
From the last two conditions it easily follows that the functions
An, =
form an orthonormal basis for the space Vm. The

(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.

CHAPTER 5. DETECTING PHENOMENA WITH WAVELETS

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)

Figure 5.7: Projections on two subspaces in a MRA

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.

can be written as a linear combination

So, there exists a sequence (h(n)} such that


(5.17)

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPTER 5. DETECTING PHENOMENA W ITH WAVELETS

90

or
4>(v) = H{ui(2)j>{u>/2).

(5.18)

The sequence h{n) is referred to as a filter sequence and is given by


h(n) = (<p(x), V2<f>(2x n ) ).
The associated filter H is defined by

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)

The function tp{x) is defined by


ip =

\/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)

CHAPTER 5. DETECTING PHENOMENA WITH WAVELETS

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

Figure 5.8: Example filter operations

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

CHAPTER 5. DETECTING PHENOMENA W ITH WAVELETS

5.3.2

F ilters for non -orth on orm al w avelets

To formulate a Fast Wavelet Transform, orthonormality is not essential. We are merely


interested in finding relations of the form 5.17 and 5.20. Mallat [56] showed that such
relations exist for a special class of functions <f>and ip given by

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

1/2 < x <

- 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

Scaling param eters


m
m
1
2
5
1.336
2
1.5
6
1.334
3
1.375
7
1.333
4
1.344 > 7
1.333

Table 5.1: Filter coefficients and scaling parameters for the spline wavelet

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPTER 5. DETECTING PHENOMENA WITH WAVELETS

93

Figure 5.9: Quadratic spline wavelet if;

We summarize the findings concerning the choice of the wavelet family:


The family is dyadic for computational purposes.
The family is redundant to obtain shift-invariance.
The mother wavelet is compact, differentiable and the first derivative of a smoothing
function so that theorem 5.1 is valid.
A Fast Wavelet Transform exists, leading to an 0(n) detection algorithm.

5.4

Implementation

5.4.1

D iscrete sig n a ls an d scaling

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

CHAPTER 5. DETECTING PHENOMENA W ITH WAVELETS

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

wavelet coefficients ofa discretestep function /,

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.

CHAPTER 5. DETECTING PHENOMENA W ITH WAVELETS

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)

for N < i < 2 N - 1.

(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

Local oscilla tio n s and sm earing by artificial viscosity

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.

CHAPTER 5. DETECTING PHENOMENA W ITH WAVELETS

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

CHAPTER 5. DETECTING PHENOMENA W ITH WAVELETS

10

16

20

4
il

_ A _
= A =

i:t

_ 7 V_

Maxima Wavelet Coefficients


Figure 5.11: Wavelet coefficients (/, V'm.n) corresponding to an oscillatory grid function

5.5

Wavelet detection in two dimensions

The theory discussed in the previous sections can be extended to two dimensions in a
and ip2(x,y), that are derived

straightforward way. We now define two wavelets

from a two-dimensional smoothing function d(x, y) according to


/ ( * ,! /)

(5.36)

**(.> -

(5.37)

A two-dimensional smoothing function is defined as a differentiable function that satisfies


9(x, y) > 0,

JJ

6(x, y) dxdy

*J5oo

dxkd y ^

= 1,
=

(fc + 0 = 1 ,2 ,....

(5.38)

This definition is similar to 5.10.


The continuous wavelet transform of a function f(x ,y ) has the two components
(/>^,6,c) 55
= ( / , o _1V2( ^ ^

(5-39)
-)).

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

(5.40)

98

CHAPTER 5. DETECTING PHENOMENA WITH WAVELETS

Periodize the grid function / t- by reflection.

Reference
Eq. 5.35

Compute (/, i>m,n) in the extended domain at the scales


am = 2m, m = 1 ,..., TOmax with a Fast Wavelet Transform.

Eqs. 5.32 5.33,


Table 5.1

Locate the maxima of |(/,^m ,n)| at each scale.


Determine the converging maximum lines.

Thm. 5.1

Compute the Lipschitz exponents from the evolution of the


wavelet coefficients along the converging maximum lines.

Eq. 5.13

Locate shocks, sharp gradients and spurious oscillations.

Sec. 5.2, 5.4

Table 5.2: General outline of the detection algorithm

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)

Consequently, the components of the two dimensional wavelet transform at (x = b,y = c)


are proportional to the components of the gradient vector of f(x , y) smoothed at the scale a.
The direction of the gradient vector indicates the direction in which f[x,y) has the largest
variation. Thus, the angle Aa)&iC with the horizontal can be found as
Aa,b,c = argument((/, 1/^ 6,c) + i (/, ^ , 6,0))-

(5-43)

The orientation of the shock or sharp interface follows.


At each scale a, the modulus Ma^ c of the gradient vector is proportional to
=

v/KA^A>I2 +

K /.< * M 2-

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

(5.44)

CHAPTER 5. DETECTING PHENOMENA W ITH WAVELETS

99

The discrete wavelets are defined by


2 " " * ^ ^ ,^ ) ,

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)

log2(Mm,n,/) < log2C + a m ,

(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 *

D ) denotes the convolution of the rows of the two-dimensional signal

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

Table 6.1: Overview test problems

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

is sixth-order accurate in periodic problems and fourth-order accurate otherwise.

6.1

Linear advection of a cosine density wave

The initial conditions


^ 1 + 0.5 cos (8rz) ^
u(x,0) =

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

Interaction of a strong shock with a sinusoidal density


wave

The initial conditions


3.857143
10.141852

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

A traveling isentropic vortex

As initial conditions, we take the uniform flow field


Uoo =

[ 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

The resulting state is given by


p

= (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

O rder o f sp a tia l accuracy

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

A ccu ra cy after long tim e integration

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

Figure 6.4: Projected density of diagonally traveling vortex at t = 0, t = 2.5, t = 5, and


t = 10.

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

Flow past a cylinder

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

increases, the flow

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:

= Ci, and constant total enthalpy: (E + p)/p = Ci- The

constants C\ and C2 are determined by the


U = [1

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

ENO-3. cut a t x -5 . u-v -1

OG-3, c u t a t 1 -5 , u -v -1

WENO-5, cut at x -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

TVD-2. out a t *5. uv t . U 100

ENO-3, a jta tx 5 . u - v l . t - 1 0 0

DG-3, cut a t x5. uv1. U100

WENO-S. cut a t xS, i n n l , t-100

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

characteristic boundary conditions is given by 6.15.


As the geometry is simple and composite grids are not necessarily needed, composite
grid results can be compared with results obtained on a single grid. The composite grids
are formed by a circular component grid around the cylinder with outer radius r = 15, and
a Cartesian background grid covering the square (40,40) x (40,40). The single circular
grid has an outer radius of r = 40. Both grid are depicted in figure 6.11. The domain
is chosen large such that the discrepancy between the initial conditions and the far field
boundary conditions is small and does not effect the solution near the cylinder. The radius

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

of the solid cylinder is set to R = 1.


6.4.1

Subsonic flow

Solid boundary conditions


In the experiments in this section we set Moo = 0.38 < Mo-. Figure 6.10 shows the Mach
number distribution of the initial condition. Figure 6.10c depicts contour lines with the
circumferential coordinate mapped onto the x-axis. The positions 0 and 2ir both corre
spond to the rear stagnation point. The initial conditions should lead to a steady subsonic
isenthalpic and isentropic state, which is perfectly symmetric in both the x-axis and the
y-axis, and which has a maximum Mach number at the top of the cylinder of approxi
mately Mmax = 0.92. In the GAMM workshop, correct steady state solutions were only
obtained for difference methods designed specifically to preserve enthalpy and entropy. This
is achieved by replacing the energy equation in the Euler system with am appropriate form
of Bemoiiillis equation, and/or by imposing constant entropy and enthalpy at the bound
ary. The SHOEC scheme changes the entropy locally and does not preserve the enthalpy,

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.

identical to the coarser single grid solutions.


6 .4 .2

Subsonic flow w ith source term

Validation boundary stencil and overlap interpolation


According to Gustafsson [30], the combination of third-order accurate boundary stencils
and sixth-order accurate interior stencil should lead to fourth-order accuracy overall. To
check this, the equations are augmented with a source term F , so that the exact solution is
constant in time and equal to the initial conditions 6.13 through 6.18. We compute the error
on two composite grids. The Cartesian component grids contain 200 x 200 and 400 x 400
grid points respectively, and the cylindrical grids have 32 x 64 and 64 x 128 grid points.
We are interested in the influence of the fourth-order interpolation in the overlap and the
third-order boundary stencils on the overall accuracy. In 6.3, we display the discrete L l
and L 2 norms of the error in density and energy, and the computed order of accuracy
q = log2 (lletib/llei+ilb) both for the complete cylindrical grid, including overlap, and the
interior of the cylindrical grid. We note that computed norms for the Cartesian background
grid give misleading information because of the discrepancy between the

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

Local grid adaptation; high order versus low order


We used this test problem to validate the computational modules of the local grid adap
tation method. The regridding was based on the exact error, because the error estimation
technique discussed in section 3.3 of chapter 3 has not yet been implemented. We inves
tigated the efficiency of the fourth-order SHOEC scheme compared to the second-order
SHOEC scheme, and adapted grids compared to uniform grids, using a single circular grid,
lab el 6.4 first shows the required grid densities to obtain a numerical solution within a
fixed error tolerance at a fixed time. Next, the number of fine grid levels needed to reduce
the error to the desired tolerance are displayed, when starting with a coarse 12 x 40 grid.
The total CPU times are given also. The ratio r is the ratio between the coarse and fine
grid size in the grid refinement. The grid hierarchies are shown in figure 6.13. We note,
that for the low-order method, a buffer of 2 grid points is used whereas for the high-order

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

method a buffer of 4 grid points is necessary.

uniform grid size


levels of refinement r = 4
levels of refinement r = 2
CPU uniform grid
CPU refinement r = 4
CPU refinement r = 2

fourthorder
32 x 120
1
2
0.61
0.34
0.43

secondorder
64 x 240
2
4
1.63
2.50
1.71

Table 6.4: Test data for local grid adaptation

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

fwi 9vj regridding


13
2

projection
1

misc.
11

(overlap)
1

Table 6.5: Profiling data for a typical SHOEC run

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

100 time steps

pi

2 pi

600 time steps

1200 time steps


2.5

Pi

2 pi

1600 time steps

2 pi

Figure 6.14: Evolution Mach contours for Moo = 0-50

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPTER 6. RESULTS

*10'

2000

5000

10000

14000

Figure 6-15: Convergence plot for Afoo = 0.50

Figure 6.16: Mach profile at convergence

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

122

CHAPTER 6. RESULTS

1900 time s te p s - n o e f t vise.

1900 time step* - art. visc.

2300 time step s - no s i t vise.

2300 time steps - art. vise.

Figure 6.17: Mach. contours; (a)+(c) no artificial viscosity; (b)+(d) artificial viscosity added

1800 time steps

6000 lime steps

l.6r

o.

j'N:-

X-

,:>

,y '

2pi

Figure 6.18: Mach in first two rows

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

Figure 6.20: Velocity field in the wake

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

Chapter 7

Conclusions and Future D irections


7.1

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.

CHAPTER 7. CONCLUSIONS AND FUTURE DIRECTIONS

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

C om p osite a d a p tiv e grids for high order m eth od s

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.

CHAPTER 7. CONCLUSIONS AND FUTURE DIRECTIONS

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

D etectin g p h en om en a w ith w avelets

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.

CHAPTER 7. CONCLUSIONS AND FUTURE DIRECTIONS

7.1.5

127

S u m m ary o f m ain contributions

The main contributions in the dissertation are:


the design of the overall solution strategy
the construction of the SHOEC scheme in two dimensions and in general coordinates
the implementation of the SHOEC scheme on general composite adaptive grids
the construction of an effective scalar artificial viscosity
the design of a fast and accurate detection algorithm

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

Completion o f th e m athem atical theory of the SHOEC scheme


When expressed in conservative variables, the Euler equations have been shown to satisfy
the Rankine-Hugoniot jump conditions. In [83], Salas and Iollo formulated shock jump
conditions for the Euler equations in their primitive non-conservative form. As the relations
between entropy variables and the conservative and primitive variables are simple, it seems
likely that similar jump conditions can be formulated in terms of the entropy variables.
Also, it would be interesting to determine whether a Roe-linearization can be found for the
Euler flux vector in terms of the entropy variables. If such relations exist, they might lead
to a better understanding of the seemingly conservative behavior of the SHOEC scheme
observed in chapter 2. We will also investigate if conservation for the SHOEC scheme can
be formulated in terms of a quadrature rule different from the basic quadrature rule used
in conservative finite difference schemes.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPTER 7. CONCLUSIONS AND FUTURE DIRECTIONS

128

Conditions on solid boundaries


On solid physical boundaries we used the condition of zero normal velocity. In the sub sonic
test problems of flow past a cylinder we obtained spurious growth in entropy and enthalpy
at these boundaries, which was expected as the boundary conditions were not designed
to conserve these properties. For the simulation of inviscid flows past airfoils better solid
boundary conditions could be constructed and thus the projection operators would also need
to be adapted. It is doubtful that this can be done with the linearized approach applied in
this dissertation, and it may be necessary to construct boundary projections in a nonlinear
fashion.
Error estim ation
The error estimation procedure is still to be implemented into the code. The approximation
of the truncation error with step-doubling is non trivial for high order methods. Emphasis
will be put on an efficient estimation of the growth terms resulting from the linearization.
These terms involve derivatives of the Jacobians of the flux vectors and are too expensive to
compute exactly. In smooth regions and for short time steps the errors are likely to behave
in a similar nonlinear fashion as the solution. We could therefore postulate a nonlinear
estimate by translating the stability estimates satisfied by the solution. Tests should be run
to compare the linear method against the nonlinear approach.
Stability o f composite grid m ethods
So far only Starius [90, 89] has investigated the effect of composite grids on the stability of
numerical schemes. The problem is hard to solve but important to work on. Sjogreen and
Part of the University of Uppsala in Sweden have expressed interest in collaborating in this
research.
Propagation o f phenomena through overlaps
We still need to fully investigate the effect of the overlap on propagating phenomena. This is
important in oceanographic and atmospheric applications where phenomena are not neces
sarily solely contained in one component grid. This research will be carried out in connection
with the ocean upwelling project discussed in section 7.3.

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

CHAPTER 7. CONCLUSIONS AND FUTURE DIRECTIONS

7.2.2

129

E x te n d in g th e w avelet d etectio n algorith m

An extension of the wavelet detection algorithm to three dimensions needs to be developed.


A fully three-dimensional wavelet analysis is not formulated at present. An alternative
option is to directly use the two dimensional algorithm discussed in this dissertation and
analyze the grid functions on two-dimensional cutting planes.
The detection algorithm determines the orientation of the shocks as well as their loca
tions. The orientation could be used to restrict local grid refinement to the direction normal
to the shock if the shock and the grid are sufficiently aligned. AJso, artificial viscosity could
be applied only to the normal direction to improve computational efficiency. The fast com
posite grid generator XCOG could be incorporated into the code so that component grids
can be aligned with shocks or other phenomena at runtime.
7.2.3

E n h a n cin g th e im p lem en tation

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.

CHAPTER 7. CONCLUSIONS AND FUTURE DIRECTIONS

130

on the array information before runtime.


It is also possible to implement our structured grid code efficiently using High Perfor
mance Fortran (HPF), so that the code is more efficient across parallel machines. However,
this is a longer term proposition as HPF has not fully matured yet and quality compilers
for it are only starting to appear on the market. We prefer to put our efforts into the devel
opment of our solution strategy by extending our C implementation and using the XCOG
C-implemented composite grid package.

7.3

A future application: ocean upwelling

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

W h y th e solu tion str a teg y is suitable

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.

CHAPTER 7. CONCLUSIONS AND FUTURE DIRECTIONS

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

SH O E C IE (SH O EC for Incom p ressib le Equations)

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.

CHAPTER 7. CONCLUSIONS AND FUTURE DIRECTIONS

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.

CHAPTER 7. CONCLUSIONS AND FUTURE DIRECTIONS

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

u(p(tx2 + v2) - bp)

apv* p

u(p(u 2 + v2) bp)

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).

The flux vector


Pr

...

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(apu2 3p) v(apu2 p)


f w ~ p*

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)

and for g(w)w by


apv

9 w ~ p*

apuv

apv p

t>(p{u2 + v2) bp)

v(apu2 p)

u(apv2 p)

uv(cp + | p{u2 + v2)

v{apv2 3p) -b * j + cpv2 - jp ( 2 + v2) + %pv2 (u2 + v2)


v{bc^r + cp(u2 + v2) + | p[u2 + v2)2)

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

Appendix B

Difference operators and norms


The S matrix corresponding to the sixth order interior difference operator with third order
boundary closure is diagonal, i.e. <Jij = 0, i j . Its diagonal elements an = ai are

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.

APPENDIX B. DIFFERENCE OPERATORS AND NORMS

<*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

W avelet theory; definition o f a


Riesz basis
We assume here that <f>is normalized such that f <f>dx = 1 = 0(0). The <f>(xk) are a Riesz
basis for Vo if and only if they span Vo and if, for all {c(fc)}*ez I2,

A i c(fc))2 < I E * * ) . - * ) ! < B'Ewcm2,


k

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

xmin, zmax, ymin, ymax;

in t

n_comp;

/ number o f component g rid s

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.

APPENDIX D. DATA STRUCTURES

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;

/ index bottom row /

ROW

row;

/ p o in te r s to rows in index /

> INDEX;

The ROW structure


ty p ed ef s t r u c t ROW.str {
in t

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;

/* n ext segment on same l e v e l * /

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 * /

/ * segment in 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

row .in dex;

/* number o f corresponding row /

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 ;

/ in term ed ia te s o lu tio n s RK scheme

SOL

f, g, w;

/ E uler flu x e s and entropy var. /

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

141

APPENDIX D. DATA STRUCTURES

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;

/ * lin k t o data o f n ext segment * /

} DATA.R0V;

The DATA-ENT structure


typ ed ef s t r u c t DATA.INT.str {
in t

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 ;

/* number o f corresponding row * /

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;

The DATA.O VER structure


typ ed ef s t r u c t DATA.OVER.str {
in t

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;

/* number o f corresponding row * /

D0N0R.P0INT

*donorpoints;

/* in te r p o la tio n in fo rm a tio n * /

> DATA.OVER;

The SOL structure


typ ed ef s t r u c t {
double

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;

/* p h y sic a l coord in ates * /

double

r , s;

/* com putational co o rd in a tes

*/

Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.

APPENDIX D. DATA STRUCTURES

double

d x .d r, d x .d s;

double

dy_dr, dy_ds;

double

d et;

142

/ * two dim ensional Jacob ian * /


/ * determinant o f Jacobian * /

> POINT;

The D O N O R .PO IN T structure


typedef s tr u c t {
double r_don, s_don;

/* coord inates in donor g r id * /

in t

ile ftc , jle ftc ;

/* 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;

The D ISC .PO IN T structure


typedef s tr u c t {
IVEC *rindex;

/* 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.

The High Performance Fortran handbook. Cambridge, Mass. MIT

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

[33] A. Harten, J. Hyman, and P. Lax. On finite-difference approximations and entropy


conditions for shocks. Communications in Pure and Applied Mathematics, 29:297-322,
1976.
[34] A. Harten, S. Osher, B. Engquist, and S. Chakravarthy. Some results on uniformly
high-order accurate essentially non-oscillatory schemes. Applied Numerical Mathe
matics, 2, 1986.
[35] Ch. Hirsch. Numerical computation of internal and external flows, volume 1. John
Wiley and Sons, 1988.
[36] Ch. Hirsch. Numerical computation of internal and external flows, volume 2. John
Wiley and Sons, 1988.
[37] T. Y. Hou and B.R. Wetton. Second-order convergence of a projection scheme for the
incompressible Navier-Stokes equations with boundaries. SIAM Journal of Numerical
Analysis, 30(3), 1993.
[38] T.J.R. Hughes, L.P. Franca, and M. Mallet. A new finite element formulation for
computational fluid dynamics: 1. symmetric forms of the compressible Euler and
Navier-Stokes equations and the second law of thermodynamics. Computer Methods
in Applied Mechanics and Engineering, 54:223-234, 1986.
[39] International Centre for Mathematical Sciences. Grid Adaptation in Computational
PDEs Conference: Theory and Applications, 1996.
[40] S. Jaffard. Exposants de Hoelder en des points donnes et coefficients dondelettes
(Hoelder exponents in a given point and wavelet coefficients). C. R. Acad. Sci. Paris,
308(1):79-81, 1989.
[41] A. Jameson. Analysis and design of numerical schemes for gas dynamics 2, artifi
cial diffusion and discrete shock structure. Technical Report RIACS 95-16, Research
Institute of Advanced Computer Science, 1995.
[42] A. Jameson, W. Smith, and E. Turkel. Numerical solutions of the Euler equations
by finite volume methods using the runge-kutta time-stepping schemes. Technical
Report 81-1259, AIAA, 1981.

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.

The 3-d overlapping grid generator

CHALMESH. Technical report, Prosolvia Consulting, Gothenburg, Sweden, 1996.


[81] T. E. Pulliam. Artificial dissipation models for the Euler equations. AIAA Journal,
24(12):1931-1940, 1986.

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.

Anda mungkin juga menyukai