You are on page 1of 116

The Florida State University

DigiNole Commons
Electronic Theses, Treatises and Dissertations

The Graduate School

6-13-2005

All Speed Multi-Phase Flow Solvers


Samet Yucel Kadioglu
Florida State University

Follow this and additional works at: http://diginole.lib.fsu.edu/etd


Recommended Citation
Kadioglu, Samet Yucel, "All Speed Multi-Phase Flow Solvers" (2005). Electronic Theses, Treatises and Dissertations. Paper 3391.

This Dissertation - Open Access is brought to you for free and open access by the The Graduate School at DigiNole Commons. It has been accepted for
inclusion in Electronic Theses, Treatises and Dissertations by an authorized administrator of DigiNole Commons. For more information, please contact
lib-ir@fsu.edu.

THE FLORIDA STATE UNIVERSITY


COLLEGE OF ARTS AND SCIENCES

ALL SPEED MULTI-PHASE FLOW SOLVERS

By
SAMET Y. KADIOGLU

A Dissertation submitted to the


Department of Mathematics
in partial fulfillment of the
requirements for the degree of
Doctor of Philosophy

Degree Awarded:
Summer Semester, 2005

The members of the Committee approve the Dissertation of Samet Y. Kadioglu defended
on June 13, 2005.

Mark Sussman
Professor Directing Dissertation

John Telotte
Outside Committee Member

Yousuff Hussaini
Committee Member

Qi Wang
Committee Member

Gordon Erlebacher
Committee Member

The Office of Graduate Studies has verified and approved the above named committee members.

ii

To my family

iii

ACKNOWLEDGEMENTS

I would like to acknowledge my deep gratitude to my committee members, Yousuff


Hussaini, Qi Wang, Gordon Erlebacher, and John Telotte.
I would like to thank my thesis advisor Mark Sussman. I am indebted to him for inspiring
my interest in the field of computational fluid dynamics. His readiness and willingness to
answer my questions made this work possible. His great sense of humor and nice personality
has lead us to many fruitful and beneficial discussions from which I have gained tremendously.
I also would like to thank Mimi Burbank for helping me in typesetting this thesis.

iv

TABLE OF CONTENTS

List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

vii

List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

viii

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

xi

1. INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. FLUID EQUATIONS . . . . . .
2.1 Continuity equation . . . .
2.2 Momentum equation . . . .
2.3 Energy equation . . . . . .
2.4 Thermodynamics Relations

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

6
7
9
13
15

3. ONE DIMENSIONAL ALL SPEED METHOD . . . . . . . .


3.1 One dimensional conservation laws . . . . . . . . . . . .
3.2 Algorithm (The Second Order Primitive Preconditioner)
3.3 Numerical results . . . . . . . . . . . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

18
18
18
25

. . . . . . . .
Mesh Refine. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .

49

5. CONCLUSIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

88

APPENDICES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

89

A. THE CLSVOF ADVECTION ALGORITHM . . . . . . . . . . . . . . . . . .


A.1 Computation of the fluxes when s represents the level set function . . . .
A.2 Computation of the fluxes when s represents the volume fraction function

89
91
92

B. DIMENSIONAL ANALYSIS OF THE GOVERNING EQUATIONS . . . . .

94

4. MULTI-DIMENSIONAL ALL-SPEED AMR METHOD . . . .


4.1 A multi-dimensional all speed multi-phase AMR (Adaptive
ment) method . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Governing equations . . . . . . . . . . . . . . . . . . . . .
4.3 Components of the new all speed AMR technique . . . . .
4.4 Numerical results . . . . . . . . . . . . . . . . . . . . . . .

49
51
54
71

C. EQUIVALENCY OF THE FIRST ORDER PRIMITIVE PRECONDITIONER


TO THE LOW ORDER SEMI-IMPLICIT METHOD . . . . . . . . . . . . .

96

REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

98

BIOGRAPHICAL SKETCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

vi

LIST OF TABLES

3.1
3.2
4.1
4.2
4.3

Error analysis for Sods shock tube problem based on three levels of grid
refinement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

Error analysis for the zero Mach test problem based on three levels of grid
refinement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

Comparison of the number of time steps with no sub-cycling versus sub-cycling


to achieve a given final time computation. Final run time is 15msecs. . . .

73

Comparison of the run time with no sub-cycling versus sub-cycling to achieve


a given final time computation. Final run time is 15msecs. . . . . . . . . .

73

Comparison of the number of cells advanced per second with no sub-cycling


versus sub-cycling to achieve a given final time computation. Final run time
is 15msecs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

73

vii

LIST OF FIGURES

2.1

Finite control volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2

An infinitesimal fluid element fixed or moving in space. . . . . . . . . . . . .

2.3

A fixed control volume for derivation of the governing equations. . . . . . . .

3.1

Numerical results of Sods shock tube problem at t = 0.15. Solid lines


represent the reference solutions and dashed lines represent the Mach uniform
results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

Numerical results of Laxs shock tube problem at t = 0.12. Solid lines


represent the reference solutions and dashed lines represent the Mach uniform
results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

Numerical results of a strong shock tube problem at t = 2.5 106 . Solid


lines represent the reference solutions and dashed lines represent the results
of the all speed primitive preconditioner. . . . . . . . . . . . . . . . . . . . .

30

Numerical results of a Mach 3 shock tube problem at t = 0.09. Solid lines


represent the reference solutions and dashed lines represent the results of the
all speed primitive preconditioner. . . . . . . . . . . . . . . . . . . . . . . . .

31

Numerical results of a high Mach number shock tube problem at t =


1.75 104 . Solid lines represent the reference solutions and dashed lines
represent the results of the all speed primitive preconditioner. . . . . . . . .

32

Numerical results of two interacting blast waves problem at t = 0.038. Solid


lines represent the reference solutions and dashed lines represent the results
of the all speed primitive preconditioner. . . . . . . . . . . . . . . . . . . . .

33

Numerical results of two symmetric rarefaction waves problem at t = 0.15.


Solid lines represent the reference solutions and dashed lines represent the
results of the all speed primitive preconditioner. . . . . . . . . . . . . . . . .

34

Numerical results of the two symmetric rarefaction waves problem with the
primitive Euler equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35

Numerical results of a smooth flow test with CFL=3 at zero Mach limit. . .

37

3.2

3.3

3.4

3.5

3.6

3.7

3.8
3.9

viii

3.10 Numerical results of a smooth flow test with CFL=3 at zero Mach limit. . .

37

3.11 Bubble interface (the material surface) represented by the level set function.

40

3.12 A moving boundary condition representation for pressure.

. . . . . . . . . .

41

3.13 Demonstration of the convergence of the all speed primitive precondioner for
different grid resolutions at t = 0.5msecs. . . . . . . . . . . . . . . . . . . . .

43

3.14 Demonstration of the convergence of the all speed primitive precondioner for
different grid resolutions (enlarged part of the shock front) at t = 0.5msecs. .

43

3.15 Comparison of numerical computations with benchmark results, using grid


size r = 1cm. The solid line represents the benchmark bubble radius and
the dashed line represents the solution obtained by our all speed primitive
preconditioner. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

3.16 A closed tube in which a column of water oscillates back and forth, water
column initially moves from left to right with speed U . . . . . . . . . . . . .

45

3.17 Time evolution of pressure coefficients at left and right boundaries . . . . . .

47

3.18 Time evolution of relative error in total mass of air. Left figure is generated
by using the conservative explicit building block, and right figure is generated
by using the primitive explicit building block. CFL=0.8 on left and CFL=3.0
on right. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47

3.19 Water velocity for oscillating water column problem at t = 10 with x =

1
.
80

48

4.1

Level set and volume-of-fluid representation of the bubble interface. . . . . .

53

4.2

A properly nested grid around a front. . . . . . . . . . . . . . . . . . . . . .

55

4.3

Tagging cells around the bubble interface using the level set function. . . . .

56

4.4

Rectangular grid patch with 65% efficiency. . . . . . . . . . . . . . . . . . . .

57

4.5

Illustration of the time sub-cycling AMR algorithm with space and time
refinement ratio r = 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

59

Illustration of the extrapolation procedure. Figure on the left represents the


one dimensional direction-wise extrapolation along the x-direction. Figure on
the right represents a multi-dimensional extrapolation which is based on the
closest cell to the interface along the normal probe direction. . . . . . . . . .

66

The synchronization step between level l + 1 and level l. The synchronization


equations are solved in the underlying level l region with the appropriate
boundary data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

70

Sketch of the underwater explosion test problem . . . . . . . . . . . . . . . .

72

4.6

4.7

4.8

ix

4.9

Evolution of the pressure field from the bubble jetting problem with the subcycling procedure off. The physical times for these figures are 0.14msecs,
0.31msecs, 0.78msecs, and 0.90msecs from the upper left to the lower right.

75

4.10 Evolution of the pressure field from the bubble jetting problem with the subcycling procedure on. The physical times for these figures are 0.14msecs,
0.31msecs, 0.78msecs, and 0.90msecs from the upper left to the lower right.

76

4.11 Evolution of the material surface from the bubble jetting problem with the
sub-cycling procedure off. The physical times for these figures are 3.14msecs,
7.41msecs, 9.40msecs, and 14.98msecs from the upper left to the lower right.

77

4.12 Evolution of the material surface from the bubble jetting problem with the
sub-cycling procedure on. The physical times for these figures are 3.14msecs,
7.41msecs, 9.40msecs, and 14.98msecs from the upper left to the lower right.

78

4.13 Comparison of the bubble radius: no sub-cycling (solid line) versus sub-cycling
(dashed line). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

79

4.14 Sketch of the bubble collapse problem. . . . . . . . . . . . . . . . . . . . . .

80

4.15 Comparison of the sliced pressure profiles for the bubble expansion problem.
Final run time is 0.5msecs. . . . . . . . . . . . . . . . . . . . . . . . . . . .

82

4.16 Comparison of the sliced pressure profiles for the bubble expansion problem.
Final run time is 1.4msecs. . . . . . . . . . . . . . . . . . . . . . . . . . . .

83

4.17 Comparison of the sliced pressure profiles for the bubble expansion problem.
Final run time is 2.9msecs. . . . . . . . . . . . . . . . . . . . . . . . . . . .

84

4.18 Pressure profile from the bubble expansion problem generated by an explicit
method. Final run time is 2.9msecs. . . . . . . . . . . . . . . . . . . . . . .

85

4.19 Pressure profile from the bubble expansion problem generated by the semiimplicit method. Final run time is 2.9msecs. . . . . . . . . . . . . . . . . . .

86

4.20 Pressure profile from the bubble expansion problem generated by the primitive
preconditioning method. Final run time is 2.9msecs. . . . . . . . . . . . . .

87

A.1 Representation of the grid location of the interface motion variables. . . . . .

90

A.2 Representation of the volume fraction fluxes. . . . . . . . . . . . . . . . . . .

92

ABSTRACT

A new second order primitive preconditioner technique (an all speed method) for solving
all speed single/multi-phase flow is presented.

With this technique, one can compute

both compressible and incompressible flows with Mach-uniform accuracy and efficiency (i.e.,
accuracy and efficiency of the method are independent of Mach numbers). The new primitive
preconditioner (all speed/Mach uniform) technique can handle both strong and weak shocks,
providing highly resolved shock solutions together with correct shock speeds. In addition,
the new technique performs very well at the zero Mach limit. In the case of multi-phase flow,
the new primitive preconditioner technique enables one to accurately treat phase boundaries
in which there is a large impedance mismatch.
When solving multi-dimensional all speed multi-phase flows, we introduce adaptive
solution techniques which exploit the advantages of Mach-uniform methods. We compute a
variety of problems from low (low speed) to high Mach number (high speed) flows including
multi-phase flow tests, i.e, computing the growth and collapse of adiabatic bubbles for study
of underwater explosions.

xi

CHAPTER 1
INTRODUCTION

We are interested in solving all speed flow phenomena including multi-material flow
systems. We will say that a flow is weakly compressible if the Mach number satisfies
0 < M 0.2, and compressible if M > 0.2.

There are many applications in fluid

dynamics where compressible and weakly compressible flow occur simultaneously (all speed
flow phenomena)[1]. A possible short list of such applications could be given as (1)solving
flow problems in the inlet of internal combustion engines; the flow is weakly compressible
in the bulk of the inlet channel and compressible near the valve, (2)predicting flow fields
around aircrafts during take-offs and landings; the flow shows compressible regimes around
the wings and weakly compressible regimes around the rest of the body, and (3)(the topic of
our current research) solving adiabatic bubble growth and collapse to simulate underwater
explosions; the numerical treatment in water requires a compressible treatment around the
shock front, and water behaves as a weakly compressible fluid elsewhere. There exist a
variety of good numerical techniques designed specifically for compressible or specifically for
incompressible flows. The difficulty arises when we use such numerical techniques in the
case when both compressible and weakly compressible flows exist at the same time. For
instance, if we apply a standard density-based compressible formulation to solve weakly
compressible flows, we must expect loss of accuracy and efficiency due to weak coupling
between pressure and density [2, 3, 4]. Such compressible methods are generally based
on explicit time integration methods that impose severe CFL (Courant Friedreichs Lewy)
restrictions for stability. Applying these kinds of schemes to low Mach number flows without
special treatment will lead to impractical computations (due to the large sound speed),
especially for three-dimensional problems. The situation is even worse when we tackle multiphase flow problems. Unphysical pressure oscillations and other computational inaccuracies
1

are often reported at or near material interfaces [5, 6]. This typically occurs with large density
ratios across a material interface (e.g., 1:1000 for air-water), or with a stiff equation of
state on one side of the interface. One way to overcome these difficulties is to introduce a
unified numerical procedure for computing both compressible and incompressible flows with
Mach-uniform accuracy and efficiency (i.e., the accuracy and efficiency of the scheme are
independent of the Mach numbers from subsonic to supersonic values [7]). The procedure
must include an effective way of eliminating unphysical oscillations associated with multimaterial discontinuities.
There are two approaches for developing a unified numerical technique for all speed flows.
The first approach extends the functionality of explicit methods in order to effectively handle
low Mach number flows. The second approach extends the functionality of semi-implicit (e.g.
projection methods or all-speed methods) methods in order to effectively handle flows with
strong shocks.
Of the unified methods that fall under the first approach, the most popular methods are
the so-called explicit preconditioning techniques [8, 9, 10, 11]. These techniques involve
multiplying the time derivative part of the system of the compressible equations by a
suitable preconditioning matrix, and then solving the resulting equations. However there
are drawbacks. First of all, since only the time derivatives are modified, temporal accuracy
is lost. And due to their explicit nature, they are still subject to severe CFL restrictions.
Furthermore, the preconditioning matrix may become singular in the limit M 0, and this
impairs the robustness of the computation [12]. An alternative unified method that attempts
to extend the functionality of an explicit approach to low-Mach number flows is based on
asymptotic expansions of the governing equations in terms of the Mach number [13, 14, 15].
Unfortunately, this methodology is applicable only for small Mach numbers (e.g., M 0.2).
As an alternative to unified methods which extend functionality of high Mach number
schemes to low-Mach number regimes, one can extend the functionality of a low-Mach
number, semi-implicit, scheme to be able to handle a high Mach number flow. One of
the earliest examples in this class is Harlow and Amsden [16]. In their original work known
as ICE (Implicit Continuous Eulerian), they pointed out that one has to separate out the
incompressible part of the flow and treat it implicitly. Implicit treatment can relax the severe
CFL restriction which is based on the fluid sound speed. Detailed information about ICE
methods can be found in [16, 17, 2] and the references therein. ICE methods perform well for
2

flows involving moderate shocks, but ICE is problematic when one wants to compute strong
shocks. This is because their nonconservative method leads to large conservation errors.
Yet another nonconservative approach in this class is Colella and Pao [18]. This method is
based on a Hodge decomposition of flow variables [19]. In other words, they decompose the
velocity field into two orthogonal components; one being the divergence free part and the
other orthogonal component being the curl-free part. Such a treatment enables a natural
extension from incompressible flow, in which there is no curl-free component, to compressible
flow. Although they obtained reasonably accurate results for low Mach number flows, they
did not report results for high Mach numbers. Recently, a conservative approach is taken by
van der Heul et al [20, 7] generalizing the MAC (Marker-and-Cell) method of Harlow and
Welch [21]. This scheme is based on a pressure correction method on a staggered grid. The
main theme in [20, 7] is essentially to improve the shock capturing ability of earlier schemes
[22, 23, 24]. In [22, 23, 24], they discretized the continuity and momentum equations in
conservation form, but they used a nonconservative discretization for the energy equation.
As a result, such nonconservative representation caused inaccurate calculation of the shock
speed. So in [20, 7], they extended their nonconservative schemes [22, 23, 24] to a fully
conservative one. Although they achieved some improvements, their method still suffers
from unphysical oscillations near shocks.
We note that extending the functionality of a fully implicit method [25] to solve all speed
flows can be added to the second category. The main concept behind these methods is that
the order of accuracy in time is dropped locally in regions where the time evolution of the
solution is not smooth. Applying these methods to the Euler equations results in highly
expensive non linear system of equations to solve.
All of the methods mentioned above are designed to solve single-fluid flow problems.
When we have a multi-fluid system, we need not only a Mach-uniform scheme but also
an effective way of eliminating unphysical oscillations near multi-material discontinuities.
In addition, we need a good interface capturing technique for accurate representation of
surfaces between different materials (i.e., gas with a liquid or solid). According to the Lax
theorem [26], the best flow description for the hyperbolic conservation laws is provided
through the conservative formulation of the governing equations. Karni [5] noted that
this may not be true in the case when we solve multi-phase flow problems. In fact, she
showed that conservative discretization gives rise to unphysical pressure oscillations near
3

material interfaces (contact discontinuities). Alternatively, she introduced non-conservative


(primitive) models to capture oscillation-free contact discontinuities [5]. Later Abgrall et al
[27, 28] improved Karnis work by introducing a quasi-conservative approach. Their work is
based on the GFM (Ghost Fluid Method) of Fedkiw et al [29, 30], i.e, they solve a single-fluid
problem for each fluid by defining ghost points on each side, and then they reconstruct the
material interface by solving the level set equation. There are several other multi-material
formulations [31, 32, 33], but none of them including Karnis and Abgralls methods are
all speed. Now we focus our attention on all speed multi-phase flow solvers with good
shock capturing ability and good multi-material discontinuity representations. Yabe et al
[6, 34, 35, 36, 4, 37] have put substantial effort in this direction. They utilize a CIP (Cubic
Interpolated Polynomial [38, 35]) based time splitting predictor-corrector technique. In other
words, they separate the governing equations into advection and non-advection parts by a
time splitting method [39]. They solve the advection terms including the interface advection
by the CIP method, then they employ a pressure-based predictor-corrector method to update
the flow variables. Their early works are based on a primitive formulation of both the fluid
and interface equations [34, 37]. These early methods [34, 37] worked well for solving low
speed flows and gave good multi-material solutions, but they failed to calculate correct
shock speeds due to their purely primitive formulations. More recently, they added artificial
viscosity [6, 4] and also adopted partially or fully conservative procedures [36, 40] to calculate
correct shock solutions, but they still have over and undershoots (Gibbs phenomenon) at
shocks and contact discontinuities. In addition, the fully conservative approach [40] is
untested for low speed or multi-phase flows, and more importantly these methods are only
first order accurate in time.
A review of the literature cited above clearly indicates that an efficient and accurate
method including good shock and multi-material discontinuity representations for all speed
multi-phase flows has not been developed yet. We know that fully conservative methods
create problems at contact discontinuities [5], and primitive (non-conservative) methods
fail to calculate correct shock speeds [34, 37]. On the other hand, conservative techniques
have the advantage of capturing correct shock speeds and primitive techniques are good at
representing accurate multi-material discontinuities. Thus we want to use the advantages
of both representations and introduce a new unified numerical procedure that will handle
flows at any speed and provide accurate interface representations in the case of multi-phase
4

flow phenomena. Our method consists of two steps. At the first step we solve the governing
equations by one of our favorite explicit solvers, and at the second step (preconditioning
step) we correct the explicitly calculated fluid variables by an implicit correction algorithm.
The explicit step provides sharp shock capturing together with correct shock speeds, and
the implicit correction step (the preconditioning step) enables one to use relatively large
time steps, compared to typical explicit CFL restrictions, together with better material
interface representations. The idea behind our method is similar to [41] in that we add and
subtract the compressibility terms in an implicit fashion in order to stabilize the solution for
pressure. We note that the explicit step, as a part of multi-material flows, can be performed
separately for each material without regard to material boundary conditions, i.e, ghost fluid
treatments [29, 30, 42, 43, 44] that respect material jump conditions are unnecessary for the
explicit part. Instead, the pressure and velocity continuity conditions are enforced during
the preconditioning step.
When solving multi-dimensional all speed multi-phase flows, we combine Mach uniform
methods with the the AMR (Adaptive Mesh Refinement) technology. In Chapter 4, there
will be detailed literature and discussion about the necessity of using an AMR technique
when solving a multi-dimensional all speed multi-phase flow problem.

CHAPTER 2
FLUID EQUATIONS

Figure 2.1: Left figure represents a finite control volume fixed in space with the fluid moving
through it. Right figure represents a finite control volume moving with the fluid such that
the same fluid particles are always in the same control volume.

Consider a flow field, represented by the streamlines in Figure 2.1. Let us imagine a
closed volume drawn within a finite region of the flow. This is defined as a control volume
with volume V and surface area S. The control volume may be either fixed in space with
the fluid moving through it, or moving with the fluid such that the same fluid particles are
always inside it[45].
Consider a flow field represented by the streamlines in Figure 2.2. Let us imagine
an infinitesimally small fluid element in the flow, with volume dV. The fluid element is
infinitesimal in the same sense as differential calculus; however, it is large enough to contain
a huge number of molecules so that it can be viewed as a continuous medium[45]. The fluid
element may be fixed in space with the fluid moving through it, or it may be moving along
a streamline with velocity V equal to the flow velocity at each point.
Below we shall derive integral and differential forms of the conservation equations for
inviscid flows.
6

Volume, dV

Volume, dV

V,M
B

Figure 2.2: Left figure represents an infinitesimal fluid element fixed in space with the fluid
moving through it. Right figure represents an infinitesimal fluid element moving along a
streamline with the velocity V equal to the flow velocity at each point.

2.1

Continuity equation

The continuity equation will be derived under the physical principle stating that mass can
be neither created nor destroyed. Let us apply this principle to the model of a fixed control
volume in a flow, as illustrated in Figure 2.3. The volume is V, and the area of the closed
surface is S. First, consider point B on the control surface and an elemental area dS around
B. Let n be a unit vector normal to the surface at B. Define dS = ndS. Also, let
V = (u, v, w) and be the local velocity and density at B. The mass flow through any
elemental surface arbitrarily oriented in a flowing fluid is equal to the product of density,
the component of velocity normal to the surface, and the area. Letting m
denote the mass
y

B
dS

S
z

Figure 2.3: A fixed control volume for derivation of the governing equations.

flow through dS, and referring to Figure 2.3,


m
= (V cos)dS = Vn dS = V dS,

(2.1)

where the product Vn is called the mass flux, i.e, the flow of mass per unit area per unit
time. The net mass flow into the control volume through the entire control surface S is the
sum of the elemental mass flows from equation (2.1), namely,
ZZ

V dS,

(2.2)

where the minus sign denotes inflow (in the opposite direction of V and dS in Figure 2.3.
Consider now an infinitesimal volume dV inside the control volume. The mass of this
infinitesimal volume is dV. Hence, the total mass inside the control volume is the sum
of these elemental masses, namely,
ZZZ
dV.

(2.3)

The time rate of change of this mass inside the control volume is therefore

ZZZ
dV.

(2.4)

Finally, the physical principle that mass is conserved states that the net mass flow into
the control volume must equal the rate of increase of mass inside the control volume. In
terms of the integrals given above, a mathematical representation of this statement is simply
ZZ

V dS =
t
S

ZZZ
dV.

(2.5)

This equation is called the continuity equation; it is the integral formulation of the
conservation of mass principle as applied to a fluid flow. Equation (2.5) is quite general;
it applies to all flows, compressible or incompressible, viscous or inviscid [45, 46, 47].
To obtain a differential equation for the conservation of mass principle, we will make use
of the following vector identities:
ZZ

ZZZ
A dS =

( A)dV,
V

(2.6)

ZZ

ZZZ
dS =

()dV,

(2.7)

where A and are vector and scalar functions, respectively, of time and space.
Using equation (2.6) in the form
ZZ

ZZZ
(V) dS =

(V)dV,

(2.8)

we combine equation (2.5) and(2.8) to obtain


ZZZ
[
V

+ (V)]dV = 0.
t

(2.9)

Since, the control volume is an arbitrary shape and size, and in general the only way
equation (2.9) can be satisfied is for the integrand to be zero at each point within the
volume. Hence,

+ (V) = 0.
t

(2.10)

Equation (2.10) is the differential form of the continuity equation.

2.2

Momentum equation

The momentum equation will be derived under the physical principle stating that the time
rate of change of momentum of a body equals the net force exerted on it. Written in vector
form, the above statement becomes
d
(mV) = F,
dt

(2.11)

where m, V, and F represent mass, velocity, and force respectively.


For constant mass, equation (2.11) yields
F=m

dV
= ma,
dt

(2.12)

which is the more familiar form of Newtons second law, namely, that f orce = mass
acceleration. However, the above physical principle with equation (2.11) is a more general
statement of Newtons second law than equation (2.12). In here, we will put Newtons second

law equation (2.11) in fluid mechanic terms by employing the same control volume utilized
in the previous section and sketched in Figure 2.3.
First, we consider two types of forces acting on the control volume:
1. Body forces acting on the fluid inside V. These forces stem from action at a
distance, such as gravitational and electromagnetic forces that may be exerted on the fluid
inside V due to force fields acting through space. Let f represent the body force per unit
mass of fluid. Considering an elemental volume, dV, inside V, the elemental body force on
dV is equal to the product of its mass and the force per unit mass, namely, (dV)f [45, 47].
Hence, summing over the complete control volume,
ZZZ
T otal body f orce =

f dV.

(2.13)

2. Surface forces acting on the boundary of the control volume. Surface forces in a
fluid stem from two sources: pressure and shear stress distributions over the surface. Since
we are dealing with inviscid flows here (i.e, we solve problems that require inviscid model
(Appendix B)), the only surface force is therefore due to pressure. Consider the elemental
area dS sketched in Figure 2.3. The elemental surface force acting on this area is pdS,
where the minus sign signifies that pressure acts inward, opposite to the outward direction
of the vector dS. Hence, summing over the complete control surface,
ZZ
T otal surf ace f orce due to pressure =

pdS.

(2.14)

We note that the sum of equation (2.13) and (2.14) gives F in equation (2.11). That is,
at any given instant time, the total force F acting on the control volume is
ZZZ

ZZ
f dV

F=
V

pdS.

(2.15)

Now, consider the left-hand side of equation (2.11). Since the control volume (Figure
2.3) is fixed in space, mass flows into the control volume from the left at the same time
that other mass is streaming out toward the right. The mass flowing in brings with it a
certain momentum. At the same time, the mass flowing out also has momentum. With
this picture in mind, let A1 represent the net rate of flow of momentum across the surface
S. The elemental mass flow across dS is V dS. Associated with this elemental mass
flow is a momentum flow (or flux) (V dS)V. Note from Figure 2.3 that the direction
10

of V is away from the control volume physically represents an outflow of momentum and
mathematically represents a positive value of V dS. Conversely, the direction of V is
toward the control volume physically represents an inflow of momentum and mathematically
represents a negative value of V dS. The net rate of flow of momentum, summed over the
complete surface S, is
ZZ
(V dS)V.

A1 =

(2.16)

In an unsteady flow, A1 does not represent the whole contribution to the left-hand side of
equation (2.11). There is, in addition, a time rate of change of momentum due to unsteady,
transient effects in the flow field inside V. Let A2 represent this fluctuation in momentum.
Also consider an elemental mass of fluid, dV. This mass has momentum (dV)V. Summing
over the complete control volume V, we have
ZZZ
T otal momentum inside V =

VdV.

(2.17)

Hence, the change in momentum in V due to unsteady fluctuations in the local flow
properties is

A2 =
t

ZZZ

ZZZ
VdV =

(V)
dV.
t

(2.18)

Finally, the sum A1 + A2 represents the total instantaneous time rate of change of
momentum of the fluid as it flows through the control volume. This is the fluid mechanical
counterpart of the left-hand side of equation (2.11), i.e,
d
(mV) = A1 + A2 =
dt

ZZ

ZZZ
(V dS)V +
V

(V)
dV.
t

(2.19)

Therefore, the physical principal, the time rate of change of momentum of the fluid that
is flowing through the control volume at any instant is equal to the net force exerted on the
fluid inside the volume, gives:
ZZ

ZZZ
(V dS)V +

(V)
dV =
t

ZZZ

ZZ
f dV

pdS.

(2.20)

Equation (2.20) is called the momentum equation. It is the integral formulation of


Newtons second law applied to inviscid fluid flows [45, 46, 47].
11

We obtain the differential form of the momentum equation by the following steps: first
we write equation (2.7) in the form
ZZ

ZZZ
pdS =

(p)dV,

(2.21)

then we combine equations (2.20) and (2.21) to obtain


ZZZ

ZZZ
f dV

ZZZ
(p)dV =

(V)
dV +
t

ZZ
(V dS)V.

(2.22)

Equation (2.22) is a vector equation; for convenience, let us consider cartesian scalar
components in the x, y, and z directions, respectively. The x component of equation (2.22)
is
ZZZ

ZZZ
fx dV
V

p
dV =
x

ZZZ
V

(u)
dV +
t

ZZ
(V dS)u.

(2.23)

However from equation (2.6),


ZZ

ZZ
(V dS)u =

ZZZ
(uV) dS =

(uV)dV.

(2.24)

Substituting equation (2.24) into (2.23),


ZZZ
[fx
V

p (u)

(uV)]dV = 0.
x
t

(2.25)

By the same reasoning used to obtain the continuity equation, equation (2.25) yields
(u)
p
+ (uV) =
+ fx .
t
x

(2.26)

Equation (2.26) is the differential form of the x component of the momentum equation[45,
46, 47]. The analogous y and z components are
(v)
p
+ (vV) =
+ fy ,
t
y

(2.27)

(w)
p
+ (wV) = + fz .
t
z

(2.28)

12

2.3

Energy equation

We derive the energy equation by following the physical principle that energy can be neither
created nor destroyed; it can only change in form. Let
B1 = rate of heat added to the fluid inside the control volume from the surroundings
B2 = rate of work done on the fluid inside the control volume
B3 = rate of change of the energy of the fluid as it flows through the control
volume.
By applying the first law of the thermodynamics, we have
B1 + B2 = B3 .

(2.29)

The rate of heat added to the control volume can be handled by first defining q to be the
rate of heat added per unit mass, and then writing the rate of heat added to an elemental
volume as q(dV).

Summing over the complete control volume,


ZZZ
B1 =

qdV.

(2.30)

Now consider the elemental area dS of the control surface in Figure 2.3. The pressure
force on this elemental area is pdS. The rate of work done on the fluid passing through dS
with the velocity V is (pdS) V. Hence, summing over the complete control surface,

Rate of work done on


RR
the f luid inside V due = S (pdS) V

to pressure f orces on S

(2.31)

In addition, consider an elemental volume inside the control volume. Recalling that f is
the body force per unit mass, the rate of work done on the elemental volume due to body
force is (f dV) V. Summing over the complete control volume,

Rate of work done on


the f luid inside V due

to body f orces

RRR

(f dV) V

(2.32)

Thus, the total work done on the fluid inside the control volume is the sum of equations
(2.31) and (2.32),
ZZ
B2 =

ZZZ
pV dS +

(f V)dV.
V

13

(2.33)

The energy per unit mass of the moving fluid is the sum of both internal and kinetic
energies, e + V 2 /2. The mass flowing in brings with it a certain energy, while at the same
time the mass flowing out also has energy. The elemental mass flow across dS is given by
V dS and therefore the elemental flux of energy across dS is (V dS)(e + V 2 /2). Summing
over the complete control surface,

N et rate of f low
RR
of energy across
= S (V dS)(e +

the control surf ace

V2
)
2

(2.34)

However, this is not necessarily the total energy change inside the control volume. If the
flow is unsteady there is also a rate of change of energy due to local transient fluctuations
of the flow field variables inside the control volume. The energy of an elemental volume is
(e + V 2 /2)dV, and hence the energy inside the complete control volume at any instant in
time is
ZZZ
(e +
V

V2
)dV.
2

(2.35)

Therefore,

T ime rate of change

of energy inside V due


=
to transient variations

of the f lowf ield variables

RRR
V

(e +

V2
)dV.
2

(2.36)

In turn, B3 is the sum of equations (2.34) and (2.36):

B3 =
t

V2
(e +
)dV +
2
V

ZZZ

ZZ
(V dS)(e +
S

V2
)
2

(2.37)

Recalling the physical principle stating that the rate of heat added to the fluid plus the
rate of work done on the fluid is equal to the rate of change of energy of the fluid as it flows
through the control volume (B1 + B2 = B3 ), i.e, energy is conserved, we have

ZZZ

ZZ
qdV

ZZZ
pV dS +

ZZZ
(f V)dV =

14

V2
[(e + )]dV +
t
2

ZZ
(e +
S

V2
)V dS.
2
(2.38)

Equation (2.38) is called the energy equation. It is the integral formulation of the first
law of thermodynamics applied to an inviscid fluid flow [45, 46, 47].
To obtain a differential equation for the conservation of energy, we first write equation
(2.6) in the forms
V2
(e +
)V dS =
2
S

ZZ

ZZZ
[(e +
V

V2
)V]dV,
2

(2.39)

and
ZZ

ZZZ
pV dS =

(pV)dV.

(2.40)

We then combine equations (2.38),(2.39), and (2.40) to obtain

ZZZ
{q (pV) + (f V)
V

V2
V2
[(e +
)] [(e +
)V]}dV = 0
t
2
2

(2.41)

Setting the integrand equal to zero, we obtain

V2
V2
[(e +
)] + [(e +
)V] = (pV) + q + (f V)
t
2
2
Equation (2.42) is the differential form of the energy equation.

2.4

(2.42)

Thermodynamics Relations

Thermodynamics is an essential ingredient in the study of compressible flow, since energy


concepts play a major role in the understanding of compressible flow phenomena. This
section gives a brief outline of thermodynamics concepts and relations.
A gas is a collection of particles (molecules, atoms, ions, electrons, etc,) which are in
random motion. Due to the electronic structure of these particles, a force field pervades
the space around them. The force field due to one particle reaches out and interacts with
neighboring particles is called intermolecular force. By definition, a perfect gas is one in
which intermolecular forces are neglected[45](A real gas is one in which intermolecular forces
are taken into account. In this section we will not consider real gases). For a large number of
engineering applications, the effect of intermolecular forces on the gas properties is negligible.
By ignoring intermolecular forces, the equation of state for a perfect gas can be derived
from the theoretical concepts of modern statistical mechanics of kinetic theory. However,
15

historically it was first synthesized from laboratory measurements. The empirical result from
the laboratory observation was
p = RT,

(2.43)

where p is pressure, is the specific volume, R is the universal gas constant, and T is the
temperature. Since the density = 1/, equation (2.43) becomes
p = RT.

(2.44)

In the view of a gas as a collection of particles in random motion, the individual kinetic
energy of each particle contributes to the overall energy of the gas. These energies, summed
over all the particles of the gas, constitute the internal energy of the gas [45, 47]. Let e
denote the specific internal energy (internal energy per unit mass), then the enthalpy (per
unit mass) is defined as
h = e + p.

(2.45)

and we have

e = e(T, )
h = h(T, p).

(2.46)

If the gas is not chemically reacting, and if we ignore intermolecular forces, the resulting
system is a thermally perfect gas, where internal energy and enthalpy are functions of
temperature only, and where the specific heats at constant volume and pressure, cv and
cp , are also functions of temperature only:

e = e(T )
h = h(T )
de = cv dT
dh = cp dT.
If the specific heats are constant, the system is a calorically perfect gas, where
16

(2.47)

e = cv T
h = cp T.

(2.48)

In many compressible flow applications, the pressures and temperatures are moderate
enough that the gas can be considered to be calorically perfect. Using equations (2.43),
(2.45), and (2.48) we write,
cp cv = R.

(2.49)

Equation (2.49) holds for a calorically perfect or a thermally perfect gas. It is not valid
for either a chemically reacting or a real gas. Some useful forms of equation (2.49);
cp =

R
,
1

(2.50)

and
R
,
(2.51)
1
where = cp /cv is the specific heat ratio. For a calorically perfect or a thermally perfect
cv =

gas, by equation (2.51) and (2.48), we have


p
,
( 1)
and using (2.52) in the definition of the total energy, we write
e=

(2.52)

1
(2.53)
E = e + u2 .
2
Yet another fundamental thermodynamics quantity is the entropy. Rougly speaking,
entropy measures the disorder in the system, and indicates the degree to which the internal
energy is available for doing useful work. The greater the entropy, the less available the
energy [48]. The specific entropy s (entropy per unit mass) is given by
s = cv log(p/ ) + constant.

(2.54)

Euler equations can be manipulated to derive the relation,


st + u s = 0,
which says that entropy is constant along particle paths in regions of smooth flow.
17

(2.55)

CHAPTER 3
ONE DIMENSIONAL ALL SPEED METHOD
3.1

One dimensional conservation laws

Our numerical computations will be based on inviscid (see an example that justifies an
inviscid model assumption (Appendix B)) compressible Euler equations with the assumption
that the flow system is adiabatic and body forces are neglected. Then the one dimensional
conservation equations derived in Chapter 2 can be written as:
U
F (U )
+
= 0,
t
x

(3.1)

where

U = u ,
E
and

u
F (U ) = u2 + p ,
(E + p)u
where , u, p, and E denote density, velocity, pressure, and the total energy per unit volume
respectively, E satisfies E =

3.2

p
1

+ 12 u2 with denoting the specific heat ratio.

Algorithm (The Second Order Primitive


Preconditioner)

We give the general structure of our second order primitive preconditioner algorithm which
is based on an implicit correction of an explicit building block of the Euler equations.

18

Basic structure of the algorithm:


Define n+1,0 = n , pn+1,0 = pT ait (n ), and un+1,0 = un ,
Given pn+1,k1 , un+1,k1 , and n+1,k1 ,
For k = 1, ..., M
Step 1) Explicit building block
Calculate pexp,k , uexp,k , exp,k , and eexp,k by an explicit solver,
(solving (3.1) either in conservation form or primitive form)
Step 2) Implicit correction step
Update pn+1,k , un+1,k , n+1,k , en+1,k , mn+1,k , and E n+1,k by the
second order primitive preconditioner.
end
In order to execute Step 2), we have (in multi-dimensional notation)
pn+1,k pexp,k
= (cn+1,k1 )2 n+1,k1 [ un+1,k un+1,k1 ],
t

(3.2)

un+1,k uexp,k
1
= n+1,k1 [pn+1,k pn+1,k1 ],
t

(3.3)

where c is the speed of sound


c2 =

dp
.
d

(3.4)

The superscript k represents the iteration number where (n + 1, k) and (n + 1, k 1)


denote the newly computed and current values of the related field variables respectively.
(exp, k) represents the computed explicit values either calculated using a conservative explicit
building block or calculated using a non-conservative explicit building block (in Sections 3.2.1
and 3.2.2). is a constant, either = 0 or = 1 which automatically switches the scheme
to an explicit or implicit one. If we take the divergence of the velocity correction equation
(3.3) and replace un+1,k in the pressure correction equation (3.2), we obtain the following
elliptic system involving the new pressure field,

19

2 t2 [

pn+1,k
1
]

pn+1,k = t[ uexp,k un+1,k1 ]


n+1,k1
(cn+1,k1 )2 n+1,k1
1
n+1,k1 2 n+1,k1 pexp,k
(c
)
pn+1,k1
+ 2 t2 [ n+1,k1 ].
(3.5)

After solving the elliptic system 3.5, we update the velocity field. Using the newly
computed pressure and velocity fields, we then compute the other primitive variables using
the following approximations,
n+1,k exp,k
= n+1,k1 [ un+1,k un+1,k1 ],
t

(3.6)

en+1,k eexp,k
pn+1,k1
= n+1,k1 [ un+1,k un+1,k1 ],
t

(3.7)

and finally we update the momentum and total energy by using

3.2.1

mn+1,k = n+1,k un+1,k ,

(3.8)

1
E n+1,k = n+1,k en+1,k + n+1,k |un+1,k |2 .
2

(3.9)

Example of a conservative explicit building block

In this section, we describe how to obtain the explicit terms (the (exp, k)th values)
using the conservative explicit building block in preparation for the second order primitive
preconditioner algorithm. The conservative explicit building block is ideal for all speed flows
with shock capturing. The conservative explicit solver uses local Lax Friedrich numerical
fluxes together with second order ENO in order to obtain shock solutions with high resolution.
Our method is in the same spirit as the second order ENO central schemes developed by [49]
in that we do not use field-by-field decomposition in order to extrapolate the characteristic
variables. We remark that our proposed preconditioner is flexible in that we can use as an
alternative explicit building block, the less diffusive ENO/WENO schemes [50, 51, 52, 53, 54]

20

or third order central schemes [55]. We consider the one dimensional Euler equations (3.1)
and use the following conservative discretization,
(exp,k)
Ui

where superscript

(n+1,0)
Ui

LLF,

(n+1,k1)+(n+1,0)
2

Fi+ 1

(n+1,k1)+(n+1,0)
2

LLF,

Fi 1

(n+1,k1)+(n+1,0)
2

(3.10)

represents the simple average of the (k 1)th iterate and

LLF
the initial values of related flow variables, and Fi+
1 denotes the local Lax Friedrich numerical
2

flux function, i.e,

LLF,

Fi+ 1

(n+1,k1)+(n+1,0)
2

R,

(n+1,k1)+(n+1,0)
2

= F LLF (Ui+ 1
=

2
(n+1,k1)+(n+1,0)
R,
2
i+ 12
(n+1,k1)+(n+1,0)
R,
2
1
i+ 2
i+ 12

1
[F (U
2
1
[U
2

L,

(n+1,k1)+(n+1,0)
2

, Ui+ 1

(3.11)

L,

(n+1,k1)+(n+1,0)
2

) + F (Ui+ 1

2
(n+1,k1)+(n+1,0)
L,
2
i+ 12

)]
].

Here
p(L,R)

i+ 1 = max|i+ 1 |,
p

p = 1, 2, 3

(3.12)

p(L,R)

L
with i+ 1 s denoting the left or right values of the eigenvalues of the system, and Ui+
1 ,
2

R
Ui+
1
2

represent the left and right values of the state variables respectively.

L
Ui+
1
2

and

R
Ui+
1
2

are defined as
L
Ui+
1 = Ui +
2

R
Ui+
1 = Ui+1
2

x
Ux,i ,
2

(3.13)

x
Ux,i+1 ,
2

(3.14)

where

Ux,i =

3.2.2

Ui+1 Ui
x
Ui Ui1
x

if |Ui+1 Ui | < |Ui Ui1 |


otherwise.

(3.15)

Example of a non-conservative explicit building block

In this section, we describe how to obtain the explicit terms using the non-conservative
explicit building block in preparation for the second order primitive preconditioner. The
non-conservative explicit building block is ideal when we solve zero Mach limit flows which
21

are dominated by acoustic waves or flows that contains no shock discontinuity. The main
idea is to give up the conservative form of the Euler equations in the explicit step whenever
there is no shock discontinuity in the flow. Instead, we solve the primitive Euler equations in
the explicit step, and then we apply the implicit correction algorithm. The primitive Euler
equations are
t + ux + ux = 0

(3.16)

1
ut + uux + px = 0

(3.17)

pt + upx + c2 ux = 0.

(3.18)

We discretize the primitive Euler equations as


exp,k
i

(n+1,k1)+(n+1,0)
2

n+1,0
i

(n+1,k1)+(n+1,0)
2

= ui

(n+1,k1)+(n+1,0)
2

(n+1,k1)+(n+1,0)
2

ui 1

ui+ 1
2

(n+1,k1)+(n+1,0)
2

= ui

(n+1,k1)+(n+1,0)
2

< u >i 1

(n+1,k1)+(n+1,0) < u >


i+ 1

un+1,0
i

(3.19)

(n+1,k1)+(n+1,0)
2

uexp,k
i

(n+1,k1)+(n+1,0)
2

< >i 1

< >i+ 1

(3.20)

x
(n+1,k1)+(n+1,0)
2

(n+1,k1)+(n+1,0)
2

pi1
2x

pi+1

1
(n+1,k1)+(n+1,0)
2

and

pexp,k
i

(n+1,k1)+(n+1,0)
2

(n+1,k1)+(n+1,0)
2

< p >i 1

(n+1,k1)+(n+1,0) < p >


i+ 1

pn+1,0
i

= ui

(n+1,k1)+(n+1,0)
2

(n+1,k1)+(n+1,0)
2

c2i i

(n+1,k1)+(n+1,0)
2
i+ 12

ui+ 1
2

(n+1,k1)+(n+1,0)
2

ui 1
2

Here
u

(3.21)

(n+1,k1)+(n+1,0)
2

ui+1

22

(n+1,k1)+(n+1,0)
2

+ ui
2

(3.22)

and

(
< V >i+ 1 =
2

Vi + x
V
if ui+ 1 > 0
2 x,i
2
x
Vi+1 2 Vx,i+1 if ui+ 1 < 0,

(3.23)

where Vi+ 1 denotes one of the primitive variables, i.e, , u, or p and Vx,i is defined in the
2

same way as (3.15).


The non-conservative explicit building block together with the primitive preconditioner
relaxes the CFL condition significantly; i.e, it allows us to use time steps that are f if teen
times larger than the typical explicit CFL condition. We remark that it is critical that in
order for one to take such large time steps, determined by the condition, |u|max t < x,
the ux terms in the primitive Euler equations must be discretized by central differencing.
We also remark that Yabes CIP scheme [35, 37] is equivalent to our preconditioning scheme
except that the temporal accuracy of our scheme is second order (see Appendix C).

3.2.3

Truncation error analysis of the primitive preconditioner

We will perform the truncation error analysis for only the pressure correction and velocity
correction equations (equations (3.2) and (3.3)). For = 1 and k = 1 representing (n + 1, 1)
values with n + 1 and (n + 1, 0) values with n, we have the following equations
pn+1 pexp
= (cn )2 n [ un+1 un ],
t

(3.24)

un+1 uexp
1
= n [pn+1 pn ].
t

(3.25)

and

We assume that the explicit building block provides first order accurate approximations
to the analytical solutions at this stage, in other words we have
pexp = P n+1 + O(t2 ),

(3.26)

uexp = U n+1 + O(t2 ).

(3.27)

23

Let Lp be the numerical operator for the pressure correction equation, then we have
Lp (p, u, ) = pn+1 pexp t(cn )2 n [ un+1 un ] 0.

(3.28)

Let Lp be an analytical operator corresponding to (3.28), and P, U, represent the


analytical solutions, then the local truncation error is defined as
= Lp (P, U, ) Lp (p, u, ).

(3.29)

Using (3.26) and the following Taylor series in (3.29)


U n+1 = U n + tUtn +

t2 n
U + ...,
2 tt

(3.30)

we obtain,
n = O(t2 )

(3.31)

This shows the scheme that computes the new pressure is first order accurate in time.
Similarly, letting Lu and Lu be the numerical and analytical operators for the velocity
correction equation (equation 3.25), and using the equation (3.27) together with the following
series expansion,
P

n+1

=P +

tPtn

t2 n
+
P + ...,
2 tt

(3.32)

we obtain,
= Lu (P, U, ) Lu (p, u, ) = O(t2 ).

(3.33)

In similar way, it can be easily seen that the density correction scheme (3.6) is also first
order in time for k = 1.
Now we shall show that the primitive preconditioner is second order in time for k = 2
and = 1. Representing (n + 1, 2) values with (n + 1) and (n + 1, 1) values with (), we
have the following equations
pn+1 pexp
= (c )2 [ un+1 u ],
t

(3.34)

un+1 uexp
1
= [pn+1 p ].
t

(3.35)

and

24

We assume that the explicit building block provides second order accurate approximations
to the analytical solutions at this stage, in other words we have
pexp = P n+1 + O(t3 ),

(3.36)

uexp = U n+1 + O(t3 ).

(3.37)

We know that at the first sweep, () values are first order approximations to the analytical
solutions, i.e,
p = P n+1 + O(t2 ),

(3.38)

u = U n+1 + O(t2 ).

(3.39)

Using equations (3.36), (3.37), (3.38), and (3.39) and following the similar analysis given
above, we obtain
= Lp (P, U, ) Lp (p, u, ) = O(t3 ),

(3.40)

= Lu (P, U, ) Lu (p, u, ) = O(t3 ).

(3.41)

This shows that the schemes for calculating the new pressure and velocity are second
order accurate in time. it can be easily seen that the density correction scheme (3.6) is also
second order in time for k = 2.
Remark: Only few stability analyses exist for Mach uniform algorithms. For instance
van der Heul et al [56] carried out a stability analysis based on Fourier analysis of the coupled
system, that gives a prediction for the maximum allowable time step for both (semi)-implicit
and explicit methods as a function of the Mach number. Similar analysis could be applied
here to show the stability of our scheme in terms of the Mach and CFL numbers.

3.3

Numerical results

The numerical examples are presented in two different subsections. The first part is
dedicated to single-fluid flow problems ranging from low to high Mach numbers. In the
25

second part, we provide numerical results of all speed multi-phase flow computations. For
calculations in Section 3.3.1.1 through Section 3.3.1.7 we used k = 3 (the number of
iterations) and for all other calculations, we used k = 2. We used = 1 for all computations
in this thesis.

3.3.1

Application of the second order primitive preconditioner


technique to single-fluid flow problems

For the single-fluid flow case, we solve similar test problems as in [40, 7] in order to explore
the resolution gained by our proposed preconditioner.
3.3.1.1

Sods shock tube problem

The shock tube problem considers a long, thin, cylindrical tube containing a gas separated
by a thin membrane. The gas is assumed to be at rest on both sides of the membrane, but
it has different constant pressures and densities on each side. At time t = 0, the membrane
is ruptured, and the problem is to determine the ensuing motion of the gas. This problem
was first studied by Riemann, and known as the Riemann problem. The solution to this
problem consists of a shock wave moving into the low pressure region, a rarefaction wave
that expands into the high pressure region, and a contact discontinuity which represents the
interface.
Table 3.1: Error analysis for Sods shock tube problem based on three levels of grid
refinement.

Number
Error in
Error in
Number
Error in
Error in

k = 2 iterations
of mesh points
100
200
total mass
5.99 104 3.54 104
total energy
2.47 103 1.75 103
k = 5 iterations
of mesh points
100
200
total mass
2.85 105 2.46 105
total energy
1.99 104 1.88 104

400
2.30 104
1.38 103
400
2.42 105
1.87 104

The shock tube problem of Sod [57] considers the Riemann problem with the following

26

initial data on the interval 0 x 1,



((x, 0), u(x, 0), p(x, 0)) =

(1, 0, 1)
if x 0.5
(0.125, 0, 0.1) if x > 0.5.

(3.42)

When producing computational results for this test problem, we used 400 grid cells and
the CFL (|u|max t <CFLx) number is 0.3. We used the conservative explicit building block
given in Section 3.2.1. Our numerical results indicate higher resolved solutions for a given
time step and given mesh size than the numerical results reported in [40, 7]. Our results,
shown in Figure 3.1, have no spurious oscillations at any shock or contact discontinuities.
A conservation study is done for the mass and total energy with different mesh resolutions.
Table 3.1 shows that the conservation errors are within acceptable ranges. Table 3.1 also
shows that the conservation property of our method improves when more iterations are
performed.
3.3.1.2

Laxs shock tube problem

We present the calculations for the Riemann problem,



(0.445, 0.698, 3.528) if x 0.5
((x, 0), u(x, 0), p(x, 0)) =
(0.5, 0, 0.571)
if x > 0.5,

(3.43)

used by Lax in [58]. The computational domain is taken to be [0, 1]. The grid resolution is 400
cells and the time stepping condition is CFL = 0.3 (|u|max t <CFLx). The conservative
explicit building block (Section 3.2.1) is used for this problem. Again as in the previous test
case, our results indicate higher resolution than [7] and comparable resolution to [40] for a
given mesh size and time step. Figure 3.2 displays well resolved shock and contact solutions.
3.3.1.3

Strong shock tube problem

Here we present a strong shock tube problem with the following initial condition,

(1, 0, 1010 )
if x 0.5
((x, 0), u(x, 0), p(x, 0)) =
(3.44)
(0.125, 0, 0.1) if x > 0.5.
The computational domain is taken as the interval [0, 1]. For this problem, we use the
conservative explicit building block (Section 3.2.1). As noted in [40], the initial condition(3.3)
creates a supersonic shock associated with extreme jumps in velocity and pressure. It is well
known that purely non-conservative schemes fail to compute strong shocks due to their
27

DENSITY

PRESSURE

VELOCITY

0.8

0.8

0.6

0.6

0.5
0.4

0.4

0.2

0.2

0.5

MACH NUMBER

0.5

ENTHALPY

0.5

ENTROPY

3.8
1.8

0.8
3.6

0.6

0.4

3.4

1.6

3.2

1.4

3
1.2

2.8

0.2

2.6

0.5

2.4

0.5

0.8

0.5

Figure 3.1: Numerical results of Sods shock tube problem at t = 0.15. Solid lines represent
the reference solutions and dashed lines represent the Mach uniform results.

intrinsic inability to calculate correct shock speeds. This is also discussed in [40]. Xiao
[40] computed correct shocks for this problem, yet there are still density overshoots in his
results. Figure 3.3 shows the numerical results at t = 2.5 106 . We used 400 grid cells
during the computation while keeping the CFL (|u|max t <CFLx) at 0.3 as in [40]. As
can be seen from Figure 3.3, there are no overshoots at any place while obtaining correct
shock calculations.
3.3.1.4

Mach 3 shock test

The Mach 3 shock tube experiment uses the following initial conditions,

28

PRESSURE

VELOCITY

DENSITY

1.6
1.4

3.5

1.2

3
2.5

1
0.8

0.6

1.5

0.4

0.2

0
0

0.5

0.5

0.5

0.8

ENTROPY

ENTHALPY

MACH NUMBER
1

0.5

30

12

25

10

20

15

10

0.6

0.4

0.2

0.5

0.5

0.5

Figure 3.2: Numerical results of Laxs shock tube problem at t = 0.12. Solid lines represent
the reference solutions and dashed lines represent the Mach uniform results.


((x, 0), u(x, 0), p(x, 0)) =

(3.857, 0.92, 10.333) if x 0.5


(1, 3.55, 1)
if x > 0.5.

(3.45)

Here we use the conservative explicit building block (Section 3.2.1) with 400 grid cells and
the CFL (|u|max t <CFLx) number 0.5 on the domain of [0, 1] to produce the numerical
results. Figure 3.4 indicates that our numerical results fairly compare to [40].
3.3.1.5

High Mach flow test

The High Mach number shock tube problem uses the following initial data on the interval
0 x 1,

((x, 0), u(x, 0), p(x, 0)) =

(10, 2000, 500) if x 0.5


(20, 0, 500)
if x > 0.5.
29

(3.46)

DENSITY

12

x 10

VELOCITY

x 10

10

PRESSURE

10

0.8
8

0.6

0.4
2

0.2

0
2

0.5

0.5

10

MACH NUMBER

3.5

x 10

ENTHALPY

0.5

12

3
1.5

x 10

ENTROPY

10

2.5
8

2
6

1.5
4

0.5

0.5
0

0.5

0.5

0.5

Figure 3.3: Numerical results of a strong shock tube problem at t = 2.5 106 . Solid
lines represent the reference solutions and dashed lines represent the results of the all speed
primitive preconditioner.

The number of grid cells are 400 and the CFL (|u|max t <CFLx) number is 0.4 for
this problem. The conservative explicit building block (Section 3.2.1) is used here. Figure
3.5 demonstrates well resolved shocks with correct shock locations and less smeared contact
discontinuities than [40]. Here the Mach number can reach 240. This problem illustrates
the robustness and stability of our method, even in the case of extremely high Mach number
(high speed) flows.
3.3.1.6

Interaction of blast waves

In this subsection we present the numerical results for the problem of two interacting
blast waves. This problem, introduced by Woodward and Colella [59], involves multiple

30

DENSITY

PRESSURE

VELOCITY

4
3.5

12

3.5

10

2.5

2.5

1.5

1.5

8
6
4

0.5

0.5

0.5

2
0
0

MACH NUMBER

0.5

10

2.5

1.5

0.5

0.5

INTERNAL ENERGY

ENTHALPY

3.5

0.5

0.5

0.5

Figure 3.4: Numerical results of a Mach 3 shock tube problem at t = 0.09. Solid lines
represent the reference solutions and dashed lines represent the results of the all speed
primitive preconditioner.

interactions of strong shock waves and other discontinuities. Initial conditions are

(1, 0, 103 ) if 0 x < 0.1


(1, 0, 102 ) if 0.1 x < 0.9
((x, 0), u(x, 0), p(x, 0)) =

(1, 0, 102 ) if 0.9 x < 1.

(3.47)

The boundary conditions at x = 0 and x = 1 are reflective solid wall conditions , i.e, we
n
n
n
define auxiliary states v0n , ..., vr+1
for the left wall and vM
+1 , ..., vM +r for the right wall by

ni+1 = ni ,

nM +i = nM i+1 ,

uni+1 = uni ,

pni+1 = pni ,

unM +i = unM i+1 ,

f or i = 1, ..., r

pnM +i = pnM i+1 ,


31

f or i = 1, ..., r

(3.48)

(3.49)

DENSITY
120

VELOCITY

x 10

PRESSURE

2000

100
1.5

1500

80
1000

60
500

40

0.5
0

20
0

500

0.5

0
0

0.5

MACH NUMBER

10

250

x 10

ENTHALPY

0.5

x 10

ENTROPY

200

4
150

100

3
2

50

0.5

0.5

0.5

Figure 3.5: Numerical results of a high Mach number shock tube problem at t = 1.75 104 .
Solid lines represent the reference solutions and dashed lines represent the results of the all
speed primitive preconditioner.

To make a consistent comparison with Xiaos [40] paper, we used 400 grid cells. 1600
cells were used to produce a numerical reference solution. We used the conservative explicit
building block with CFL (|u|max t <CFLx) number 0.3 for this test problem. Figure 3.6
shows that we achieved more accurate results compared to [40] and observed no spurious
oscillations which were noted in [40]. Here we note that there have been many reported higher
resolution results for this problem, e.g, using ENO [50, 51, 52], but these previous results
were based on using purely explicit non-preconditioned methods. We have observed with
our new preconditioner that shock resolution is not adversely effected by the preconditioner
itself. For instance if one uses high order ENO/WENO schemes [50, 51, 52, 53, 54] as the
explicit building block, then we expect that our primitive preconditioning technique would

32

produce similar shock resolution as explicit ENO/WENO methods [50, 51, 52, 53, 54].
DENSITY

VELOCITY

PRESSURE
500

15

6
400

10

300

4
5

200

100

1
0

0.5

0.5

0.5

MACH NUMBER
2.5

ENTROPY

ENTHALPY

1200

2000

1000
1500

800

1.5

600

1000

1
400
500

0.5

200

0.5

0
0

0.5

0.5

Figure 3.6: Numerical results of two interacting blast waves problem at t = 0.038. Solid
lines represent the reference solutions and dashed lines represent the results of the all speed
primitive preconditioner.

A justification for why the primitive preconditioner does not adversely effect the resolution of the explicit building block can be seen by considering the implicit correction equations
in Section 3.2, i.e, consider the pressure correction equation,
pn+1,k pexp,k
= c2 U n+1,k
t

(3.50)

where pexp is produced by an explicit building block. We observed that the difference term
U gets very small with an increasing number of iterations. This means that pn+1 gets
closer to pexp (i.e, U 0 as k , then pn+1 pexp ). This tells us that the implicit
correction step spatially preserves the accuracy of the explicit building block. In other words,
33

if one provides a high order explicit building block, then our method will spatially maintain
the high order of accuracy of the given explicit building block.
3.3.1.7

Two symmetric rarefaction waves

DENSITY

VELOCITY

PRESSURE
0.4

1.5
0.8

0.35

1
0.3

0.5

0.6

0.25

0
0.4

0.2

0.2

0.5

0.5

0.15

0.1

1.5

0.05

MACH NUMBER

0.5

2.5
2

1.6

0.9

1.4

0.8

1.2

0.7

1.5

0.5

ENTHALPY

INTERNAL ENERGY

0.6

0.8
0.5

0.6
0.4

0.5

0.4

0.3

0.5

0.2

0.2
0

0.5

0.5

Figure 3.7: Numerical results of two symmetric rarefaction waves problem at t = 0.15. Solid
lines represent the reference solutions and dashed lines represent the results of the all speed
primitive preconditioner.

Here we present a test problem that has two symmetric rarefaction waves. The initial
conditions, on the 0 x 1 interval, are

((x, 0), u(x, 0), p(x, 0)) =

(1, 2, 0.4) if x 0.5


(1, 2, 0.4)
if x > 0.5.

(3.51)

Our results are comparable to Xiaos [40] results. Figure 3.7 shows that there are some
computational inaccuracies observed in the flow fields as in [40], when using the conservative
34

VELOCITY

DENSITY

PRESSURE

0.4

1.5
0.8

0.35

0.3

0.5

0.6

0.25

0
0.4

0.2

0.5

0.15

0.1

1.5

0.05

0.2

2
0

0.5

0.5

INTERNAL ENERGY
MACH NUMBER

ENTHALPY

1.6

0.9
2.5

0.5

1.4

0.8
1.2

0.7

0.6

1.5

0.8

0.5
1
0.5
0

0.4

0.6

0.3

0.4

0.2
0

0.5

0.5

0.2

0.5

Figure 3.8: Numerical results of the two symmetric rarefaction waves problem computed by
the second version (preconditioning an explicit building block based on the primitive Euler
equations) of the algorithm at t = 0.15. Solid lines represent the reference solutions and
dashed lines represent the results of the all speed primitive preconditioner.

explicit building block. For instance, we have an overestimation in the pressure profile near
the expansion center, an unphysical pulse in the internal energy field near the center of
the low pressure region, and inaccurate velocity representation. These inaccuracies are
improved significantly (Figure 3.8) by using the second version of our algorithm.

For

instance, we precondition the non-conservative Euler equations (using the non-conservative


explicit building block, Section 3.2.2) during the implicit correction step. We note that the
improvements when using the non-conservative explicit building block are due to the fact
that there doesnt exist shock discontinuities in the flow.

35

3.3.1.8

Smooth flow test (Mach zero limit)

In this section, we show the results of the zero Mach limit flows which are dominated by
acoustic waves. We use the following smooth functions as initial conditions,
u(x, 0) = 0

(3.52)

p(x, 0) = p0 + p1 (x),


where p0 = 106 ,  = 1.0, and
p1 (x) = 60 cos(2x) + 100 sin(4x).

(3.53)

We initialize the density field by the following isentropic relation,



(x, 0) =

p(x, 0)
A

 1
,

(3.54)

where A is a constant which is determined by letting p0 = A0 with 0 = 103 .


Here we use periodic boundary conditions on 0 x 1. The numerical results are
produced by applying the second version of our algorithm where we precondition the nonconservative explicit building block (Section 3.2.2). Preconditioning the conservative explicit
building block works fine as shown in Section 3.3.2.4, but the computation would be less
efficient due to the explicit CFL restriction. Preconditioning the non-conservative explicit
building block enables us to use larger time steps, i.e, CFL= 3 ((|u| + c)max t <CFLx).
Figure 3.9 and 3.10 together with Table 3.2 clearly demonstrate the second order convergence
of our newly proposed scheme.
Table 3.2: Error analysis for the zero Mach test problem based on three levels of grid
refinement.

l1 norm
l norm

Error in acoustic pressure


from 200 to 400 mesh
48.70
27.94

Error in acoustic pressure


from 400 to 800 mesh
8.93
5.12

36

Order of accuracy
2.45
2.45

1.0001

PRESSURE

x 10

800 grid cells


400 grid cells
200 grid cells

1.0001
1.0001
1
1
1
1
1
0.9999
0.9999
0.9999

0.2

0.4

0.6

0.8

Figure 3.9: Numerical results of a smooth flow test with CFL=3 at zero Mach limit.

1.2

MACH NUMBER

x 10

800 grid cells


400 grid cells
200 grid cells

0.8

0.6

0.4

0.2

0.2

0.4

0.6

0.8

Figure 3.10: Numerical results of a smooth flow test with CFL=3 at zero Mach limit.

37

3.3.2

Application of the second order primitive preconditioner


technique to multi-phase flow problems

In this section, we present the application of the second order primitive preconditioner
technique to multi-phase flow problems. The major part of this section is dedicated to the
underwater explosion problem. In the first three subsections, the problem description of
an underwater explosion, its numerical procedure, and some computational results will be
given. In the last subsection, the oscillating water column problem in a 1-D tube and some
numerical results will be presented.
3.3.2.1

Problem statement and mathematical description (an underwater explosion)

We are interested in studying non-linear bubble dynamics, which plays an important role
in many areas of contemporary science and technology such as: oil industry, in which bubbles
are essential for lifting the heavy oil to the surface; chemical reactors, in which bubbles are
used to increase the contact surface between the gas-liquid phases; ship hydrodynamics, in
which collapsing bubbles are the main cause of the propeller damage and limiting factors for
the speed of vessels; some medical and many other technological applications (including our
current subject underwater explosions) can also be added [47, 60, 61, 62].
Here we pay special attention to underwater explosions.

An underwater explosion

generates a very strong shock wave and a high pressure gas bubble. Therefore an underwater
explosion can be modeled as the growth and collapse of a gas bubble. For this problem, we
make the following assumptions: bubble expansions are assumed to be spherically symmetric,
so variation only occurs in the radial direction. The system is assumed to be adiabatic, i.e, we
ignore heat convection. We assume that surface tension and viscous effects are negligible (See
Appendix B). We also assume that the gas contents of the bubble are spatially uniform (but
vary with time); i.e, we dont solve the gas-dynamics equations inside the bubble. Finally we
assume that water is compressible and obeys the Tait equation of state (see equation (3.66)
below), which is independent of internal energy [63].
With the above assumptions, the governing equations become the inviscid compressible

38

Euler equations in spherical coordinates,

1 (r2 m)
+ 2
= 0,
t r
r

(3.55)

m
1 (r2 um)
p
+ 2
= ,
(3.56)
t
r
r
r
where , u, m, and p represent density, velocity, momentum, and pressure of water
respectively.
We enforce a Dirichlet type moving boundary condition for water pressure, i.e, we specify
water pressure as the bubble pressure at the bubble wall.
The time dependent bubble pressure is determined by using the adiabatic form of the
JWL (Jones-Wilkins-Lee) equation of state for explosive materials,
V (t) (+1)
)
,
(3.57)
VI
where VI is the volume of the bubble at the radius RI , and A, B, R1 , R2 ,RI , and are the
R1 (

pbubble (t) = Ae

V (t)
)
VI

+ Be

R2 (

V (t)
)
VI

+ C(

standard constants for TNT, and C is an arbitrary constant which is determined by letting
V (t) = V0 , pbubble (t) = pbubble0 at t = 0.
The position of the bubble interface (the material surface) is captured by updating the
following level set equation,

+u
= 0,
(3.58)
t
r
where is the level set function and u is the external velocity field (water velocity). The
level set equation (3.58) states that is constant along particle paths. This means that if
the zero level set of is initialized as a material surface (bubble interface) between water
and gas, then it will always be a material surface at later times [64, 65]. We take < 0 in
the gas region and > 0 in the water region (Figure 3.11). Hence, we have

> 0 if r water
(r, t) = 0 if r

< 0 if r gas,

(3.59)

where represents the bubble interface, and it is defined as the zero level set of ,
= {r | (r, t) = 0}.
39

(3.60)

= 0 (bubble interface)
< 0

> 0

r
gas region

water region

Figure 3.11: Bubble interface (the material surface) represented by the level set function.

3.3.2.2

Numerical procedure

For an adiabatic underwater explosion, the governing equations of water are the continuity and momentum equations, (3.55) and (3.56). Thus the same second-order primitive
preconditioner algorithm given in Section 3.2 applies here (except for the energy part, due
to the Tait equation of state). Here we shall only concentrate on the details of the moving
boundary conditions; i.e., the extension procedure (extrapolation) of the water field variables
into the gas region at each time step, along with a short description of the level set algorithm.
We impose two different types of Dirichlet boundary conditions when solving the elliptic
equation for the new pressure field (3.5). At the left end of the computational domain (gas
region), we specify the water pressure as the bubble pressure which is calculated via the
bubble volume. At the right end, we specify the hydrostatic water pressure pinf as a pressure
boundary condition.
We call one particular cell, in front of the bubble interface, the critical cell (Figure
3.12). This critical cell plays an important role during the computation, because the moving
boundary condition at the left will be determined by this cell. At each time step, we will
have to find a new critical cell due to motion of the bubble interface.
When i equals the critical cell (i.e, i = critical) we impose the following boundary
conditions when discretizing (3.5),
pn+1
critical1 =

r n+1
r n+1
pbubble +
pcritical ,

where is the distance between the critical cell and the bubble interface.

40

(3.61)

Bubble interface

Pbubble
Pcritical-1/2

Pcritical Pcritical+1/2

PM-1/2

PM
r

gas region

PM+1/2

Pinf
L

Critical cell
water region

Figure 3.12: A moving boundary condition representation for pressure.

For i equals the last cell (i.e, i = M ) we have,


pn+1
M +1 =

r
L r n+1
pinf +
pM ,
L
L

(3.62)

where pinf is the water pressure at some distance L.


We also apply the following boundary condition for the gradient of the pressure; i.e., for
the pn+1,k term in (3.5),
pn+1
=
r,critical 1
2

and
pn+1
=
r,M + 1
2

n+1
pn+1
critical pbubble
,

pinf pn+1
M
.
L

(3.63)

(3.64)

Now we shall discuss the extension procedure for the flow variables from water region into
the gas region. We must use this extension since we dont solve the gas dynamics equation
inside the bubble for this particular problem, and we need the values of the flow variables in
the gas region because we have to solve the level set equation in the whole domain including
the gas and water. Also one has to solve (3.1) using values in the ghost regions. Here we
remark that the discretization of the explicit step does not use the ghost fluid treatment
to define the ghost values. The extension procedure to define the ghost values is done via
linear extrapolation of the flow variables from water into the gas, irrespective of the jump
condition that might exist at the moving boundary.
After finishing the extension procedure at each time step, we are ready to solve the level
set equation in the whole domain. The level set equation (3.58) is solved by way of the

41

following second order differencing,


(n+1,k1)+(n+1,0)
2

(n+1,k1)+(n+1,0)
n+1,k
n+1,0
i+1
i
i
2
= ui
t

3.3.2.3

(n+1,k1)+(n+1,0)
2

i1
2r

(3.65)

Numerical results of the underwater explosion

Here we present the numerical results of the underwater explosion test problem, to show
the performance of our second order non-oscillatory all speed multi-phase flow algorithm
developed in Section 3.2. We recall that underwater explosions can be modeled as the growth
and collapse of spherically symmetric gas bubbles, and considering the other assumptions
we made in Section 3.3.2.1 we note that the numerical results come from 1-D calculations
of the adiabatic inviscid Euler equations together with the level set equation in the radial
direction.
The method is tested by using the following initial data:
The initial water density is taken to be 1.00037984 g/cm3 .
The water pressure is calculated by the Tait equation of state [63],
p = B[(/) 1] + A

(3.66)

where B = 3.31E + 09d/cm2 , A = 1.0E + 06d/cm2 , = 1.0g/cm3 , and = 7.15.


The initial water velocity is taken to be 0.0, and initial water pressure is 1.0E + 07d/cm2 .
Finally the initial bubble radius is taken to be 16cm, and the initial bubble pressure is
P0 = 7.8039E + 10d/cm2 .
The conservative explicit building block (Section 3.2.1) is used here with CFL= 0.25
((|u| + c)t <CFLx). In Figure 3.13 and Figure 3.14, we demonstrate the second order
accuracy of the proposed scheme away from the discontinuities. The code is run for four
different grid settings, 250, 500, 1000, and 2000. The enlarged part of the pressure profile,
Figure 3.14, clearly indicates convergence of our method at discontinuities. Figure 3.15 shows
the bubble radius as a function of time during the growth and collapse of the explosion
bubble. It can be seen that our solution is in very good agreement with the benchmark data
[63].
We note that this problem is a difficult problem to compute due to the high impedance
mismatch at the explosive-water boundary. Nevertheless, we capture this discontinuity
42

PRESSURE

x 10

18

2000 grid cells


1000 grid cells
500 grid cells
250 grid cells

16
14

d/cm2

12
10
8
6
4
2
0

50

100

150

200

250

cm

Figure 3.13: Demonstration of the convergence of the all speed primitive precondioner for
different grid resolutions at t = 0.5msecs.

PRESSURE

x 10

2000 grid cells


1000 grid cells
500 grid cells
250 grid cells

16
14

d/cm2

12
10
8
6
4
2
0
115

120

125

130

135

cm

Figure 3.14: Demonstration of the convergence of the all speed primitive precondioner for
different grid resolutions (enlarged part of the shock front) at t = 0.5msecs.

43

BUBBLE RADIUS
250

200

cm

150

100

50

20

40

60

80
msec

100

120

140

160

Figure 3.15: Comparison of numerical computations with benchmark results, using grid size
r = 1cm. The solid line represents the benchmark bubble radius and the dashed line
represents the solution obtained by our all speed primitive preconditioner.

smoothly and with second order accuracy. We note that in this one dimensional test case,
we avoid complicated ghost fluid procedures [29, 30, 42, 43, 44, 52] which are necessary
for explicit multi-material methods. First order explicit ghost fluid treatments assume
a piecewise constant pressure profile which is an incorrect assumption for stiff fluids.
Second order explicit ghost fluid treatments are unstable unless complicated regularization
procedures are used to avoid small cell CFL constraints. In our method, the matching of
pressure on either side of the material boundary is handled simultaneously during the implicit
preconditioning step thus avoiding small cell CFL constraints. The explicit building block
step in our method is written independent of material boundaries involved.
3.3.2.4

Oscillating Water Column (a low Mach multi-phase flow test)

We consider a closed one dimensional tube with impermeable boundaries at the left and
right ends (Figure 3.16). With the given initial velocity the water column starts moving from
left to right compressing the air at the right and expanding the air at the left. Subsequently,
44

air

water

xfs

U
xfs

air
x

Figure 3.16: A closed tube in which a column of water oscillates back and forth, water
column initially moves from left to right with speed U .

a pressure difference is built up across the water column resulting that the column of water
decelerates to the right, makes a stop, and then accelerates to the left. This time a reverse
pressure difference is built up across the water column redirecting the flow from left to right
again. As a result of this continuous process, the water column starts to oscillate. The
governing equations and the numerical procedure are the same as in Section 3.3.2.1 and
3.3.2.2 except all formulations have to be written in cartesian coordinates. The following
initial data are used as in [66],

p + Bpref
=(
)
(1 + B)pref
ref

(3.67)

where the same equation of state (3.67) can be used for both water and air with pref =
ref = 1, w = 7, a = 1.4, Bw = 3000, Ba = 0, pw0 = pa0 = 1, u = 1, and xf s = 0.1. To be
consistent with Koren et al [66], we plot the time evolution of the pressure coefficients,
P (x = 1, t) =

p(x = 1, t) pa (0)
p(x = 1, t) pa (0)
, P (x = 1, t) =
,
pa (0)
pa (0)

(3.68)

and the time evolution of the relative mass error,


M (t)

ma (t) ma (0)
,
ma (0)

(3.69)

where ma (t) is the total mass of air in the tube at time t. Figure 3.17 and Figure 3.18
are produced by using both conservative and non-conservative explicit building blocks. We
used CFL= 0.8 ((|u| + c)max t <CFLx) for the conservative explicit building block, and
CFL= 3 ((|u| + c)max t <CFLx) for the non-conservative explicit building block. The
results from both building blocks are comparable, yet we observe that the non-conservative
explicit building block is more efficient (it uses large CFL numbers). With this problem,
we demonstrate the ability of our method for computing low Mach (weakly compressible,
i.e, it is evident by the Figure 3.19) that divergence of the velocity field is practically zero)
45

multi-phase flows. We note that our method preserves mass three orders of magnitude better
than Koren et al [66]. We also note that the amplitude of the pressure profile in Figure 3.17
is different from Koren et al [66], this is because of the fact that we are assuming constant
pressure in the gas whereas Koren et al [66] use a two-fluid model.
As a final remark, notice that this problem is an adiabatic problem as in the case for
the under water explosion problem. Using non-conservative explicit building block worked
fine for this problem, possibly it would work for the adiabatic under water explosions also.
However, using non-conservative explicit building block can not accurately track shocks
for non adiabatic problems. This is due to the fact that the non-conservative structure
formulates the entropy as constant across the shock, but in reality the entropy varies across
the shock.

46

0.6

0.5

0.5

0.4

0.4

0.3

0.3

0.2

0.2

0.6

0.1

0.1

0.1

0.1

0.2

0.2

0.3

0.3

10

10

Figure 3.17: Time evolution of pressure coefficients at left and right boundaries. Left figure
is generated by using the conservative explicit building block, and right figure is generated
by using the non-conservative (primitive) explicit building block. Solid line denotes left
boundary, and dashed line denotes right boundary. M = 80 cells points are used. CFL=0.8
on left and CFL=3.0 on right.

x 10

10
40 grid cells
80 grid cells
160 grid cells

x 10

40 grid cells
80 grid cells
160 grid cells

6
5

3
2

0
0
1

10

10

Figure 3.18: Time evolution of relative error in total mass of air. Left figure is generated
by using the conservative explicit building block, and right figure is generated by using the
primitive explicit building block. CFL=0.8 on left and CFL=3.0 on right.

47

0.8

1.2

1.4

1.6

1.8

2
0.14

0.12

0.1

0.08

0.06

0.04

0.02

0.02

0.04

Figure 3.19: Water velocity for oscillating water column problem at t = 10 with x =

48

1
.
80

CHAPTER 4
MULTI-DIMENSIONAL ALL-SPEED AMR
METHOD
4.1

A multi-dimensional all speed multi-phase AMR


(Adaptive Mesh Refinement) method

Here we combine Mach-uniform methods described in Chapter 3, with AMR (Adaptive


Mesh Refinement) technology. In other words, we introduce a new dynamic Adaptive Mesh
Refinement (AMR) technique loaded with the Mach-uniform methodology to compute all
speed multi-phase flows accurately and efficiently. When solving multi-dimensional all speed
multi-phase flow problems, it is important to resolve the flow around the high gradient regions
such as shock or material discontinuities in order to obtain accurate solution representations
and save CPU time. The new automating dynamic Adaptive Mesh Refinement (AMR)
technique is customized to serve this purpose. The idea behind Adaptive Mesh Refinement
[67, 68] is to overlay successively finer resolution grid patches on top of underlying coarse
levels. The fine grid patches will cover regions that need extra resolution, e.g, at free surfaces
or near shock fronts. After defining the coarse/fine grid levels, a time integration algorithm
is applied recursively such that coarse levels are advanced with coarse time steps and fine
levels are advanced with fine time steps until the fine level time reaches the coarse level time.
Subsequently, a synchronization algorithm is applied to synchronize the data between the
coarse and fine levels. We note that the fine grid patches can be dynamically deleted or
inserted depending on the changing flow conditions. In other words, a user specified error
procedure is employed in order to identify the regions where additional refinement is required,
and delete the formerly fine grid patches that are no longer needed. We shall see that in an
AMR method, the time sub-cycling procedure, advancing each level independently with its
own time step (coarse levels are advanced with large time steps and fine levels are advanced
49

with small time steps), will be crucial especially when capturing shock discontinuities or
material fronts with stiff surface tensions.
Early Adaptive Mesh Refinement (AMR) techniques [67, 68, 69] were developed for
solving hyperbolic conservation laws. These adaptive methods and their extensions [70, 71]
to the compressible Navier-Stokes equations are very effective, but they are limited to
compressible flows only. There have been significant efforts to solve incompressible or weakly
compressible flows adaptively [72, 73, 74, 75, 76, 77, 78, 79]. Among the incompressible or
weakly compressible AMR methods, only [72] and [79], which are developed for solving
atmospheric flows and combustion problems, include the time sub-cycling procedure.
The method, we present here, shares some common features with [72] in the sense that
we both sub-cycle in time and provide velocity continuity across the coarse/fine grids. The
continuity requirements are very important during the time advancing and synchronization
steps. For instance, it is necessary to provide velocity continuity across the coarse/fine
levels, otherwise there will be conservation errors and loss of accuracy in the fine regions.
This is an unwanted situation, after all the AMR is invented to gain maximum accuracy at
minimum cost. Almgrens et al [72] method includes so called MAC projection step and
refluxing procedure to provide velocity and pressure continuity across the coarse/fine grids.
In [72], the velocity field is advanced on each level separately allowing for the violation of
the velocity continuity condition across the coarse/fine levels, then a multi-level composite
projection step is applied to correct the velocity differences. Furthermore, since each level
is solved separately with only Dirichlet boundary data from the coarse levels, one has a flux
mismatch at the coarse/fine interface resulting in conservation errors. In order to correct
the solution, an auxiliary elliptic equation at two consecutive levels simultaneously with the
flux mismatch as a source term is solved. As a result, this correction procedure modifies the
entire solution on both the coarse and fine levels. Although the procedure in [72] provides
velocity and pressure continuity in the end, along with the conservation the accuracy at
fine levels is sacrificed. In our sub-cycling implementation, during the time advancing step,
at a level we solve the pressure equations at all levels above simultaneously. This not only
provides continuous pressure across the coarse/fine grids but also produces accurate pressure
boundary conditions for the next fine level. During the synchronization step, we solve
the synchronization equations in the underlying coarse regions only by supplying Neumann
pressure boundary data from the next finer level. In this way, we maintain velocity continuity
50

without modifying the solution at the fine levels, i.e, we assume that the fine level velocity is
correct and should not be changed. Due to the nature of our algorithm, pressure continuity
across coarse/fine grid interfaces is unnecessary at the synchronization step.
The AMR technology has been successfully adopted to low speed [72, 73, 74, 75, 76,
77, 78, 79] or high speed flows [67, 68, 69, 70, 71] separately, but there hasnt been any
serious attempt to use the adaptive methodology to solve all speed flows. Furthermore,
the time sub-cycling procedure is quite common in compressible methods, but only few
incompressible methods include this procedure. When solving all speed flows which exhibit
multiple temporal scales, one must exploit the sub-cycling technique. Here we developed an
all speed multi-phase AMR technique with time sub-cycling. As a test problem, we computed
growth and collapse of high pressure gas bubbles for simulating underwater explosions.

4.2

Governing equations

In this section, we will focus on the details of the multi dimensional bubble explosion
problem and its mathematical description.
Here we are interested in studying multi dimensional non-linear bubble dynamics to
simulate underwater explosions. An underwater explosion generates a very strong shock
wave and a high pressure gas bubble. Therefore an underwater explosion can be modeled
as the growth and collapse of a gas bubble. For this problem, we make the following
assumptions: bubble expansions are assumed to be axisymmetric. The system is assumed
to be adiabatic, i.e, we ignore heat convection. We assume that surface tension and viscous
effects are negligible (See Appendix B). We also assume that the gas contents of the bubble
are spatially uniform (but vary with time), i.e, we dont solve the gas-dynamics equations
inside the bubble. Finally we assume that water is compressible and obeys the Tait equation
of state (see equation (4.56) in Section 4.4), which is independent of internal energy [63].
With the above assumptions, the governing fluid dynamics equations for water become
the multi dimensional inviscid compressible Euler equations,

where

U
F
G
+
+
=0
t
x
y

U = u ,
v
51

(4.1)

u
F = u2 + p ,
uv
and

u
G = uv ,
v 2 + p

where , u = (u, v), and p denotes density, velocity, and pressure per unit volume, the
momentum field is defined as m = u. We enforce a Dirichlet type moving boundary
condition for water pressure, i.e, we specify water pressure as the bubble pressure at the
bubble wall. The time dependent bubble pressure is computed by adiabatic gas relations,
such as
pbubble (t) = p0 (

V0
) ,
V (t)

(4.2)

or the JWL (Jones-Wilkins-Lee) gas,


R1 (

pbubble (t) = Ae

V (t)
)
VI

+ Be

R2 (

V (t)
)
VI

+ C(

V (t) (+1)
)
,
VI

(4.3)

where VI is the volume of the bubble at the radius RI , and A, B, R1 , R2 ,RI , and are
standard constants for explosive material, and finally C is an arbitrary constant that can be
determined from the initial pressure and volume by letting V (t) = V0 , pbubble (t) = pbubble0 at
t = 0.
The material surface (bubble interface) is tracked by the following level set equation,

+ u = 0,
t

(4.4)

where is the level set function and u = (u, v) is the external velocity field (water velocity).
The level set equation (4.4) states that is constant along the particle paths. This means
that if the zero level set of is initialized as the material surface (bubble interface) between
water and gas, then it will always be a material surface at later times [64]. We take < 0
in the gas region and > 0 in water region (Figure 4.1). Hence, we have

> 0 if x water
(x, t) = 0 if x

< 0 if x gas,
52

(4.5)

>0
=0

: The Level Set Function


: Volume Fraction

Bubble Interface

<0

F=1
F=3/4
F=0

Gas

Water

Figure 4.1: Level set and volume-of-fluid representation of the bubble interface.

where represents the material surface (bubble interface), and it is defined as the zero level
set of ,
= {x | (x, t) = 0}.

(4.6)

The material surface (bubble interface) is reconstructed through the coupled level set
and volume-of-fluid method (CLSVOF)[64, 65] which requires that we solve the following
volume fraction equation in addition to solving the level set equation (4.4),
F
+ u F = 0,
t

(4.7)

where F represents the volume-of-fluid function (volume fraction) and u is the water velocity.
The volume-of-fluid function, F , (volume fraction) represents the fraction of computational
cell containing liquid. For instance, let be a computational cell, then according to the
value of the volume-of-fluid function (volume fraction) we will decide that either contains
water, gas, or both. In other words, if F (, t) = 1, then the region is all water. If
F (, t) = 0, then the region is all gas. If 0 < F (, t) < 1, then contains both water
53

and gas (Figure 4.1). Together with the definition of the level set function and making use
of the Heaviside function, F can be written as
1
F (, t) =
||

Z
H()dx,

(4.8)

where H is the Heaviside function,



H() =

4.3

1 if 0
0 otherwise.

(4.9)

Components of the new all speed AMR technique

In this section, we will describe the components of the new all speed Adaptive Mesh
Refinement (AMR) technique. In the first subsection, we will describe the basic structure of
the multi-level grids and give detail information about the grid management. In the second
subsection, we will describe the time integration algorithm. The third subsection will be
about the synchronization of solutions between different levels of refinements.

4.3.1

Grid description

Our grid description is the same as [72]. Here we will review some of the basic data
structures of the grid generation. The AMR methods are based on solving partial differential
equations on a sequence of logically nested rectangular grids. There are different levels of
grid refinement ranging from coarsest to finest. Each level is a finite union of rectangular
grid patches. In other words, a level Gl for l = 0, 1, ..., lmax is defined as
Gl = k Gl,k ,

(4.10)

where Gl,k s are the rectangular grids. In the grid hierarchy, grids at different levels must be
properly nested. This means that the union of level l + 1 grids is contained in the union of
level l grids for l = 0, 1, ..., lmax . Moreover, there must be (except at the physical boundaries)
at least one level l cell wide border surrounding each level l + 1 grid [72] . At the physical
boundaries, the proper nesting is not so strict, i.e, grids from all levels can extend to the
physical boundaries. When a fine grid has more than one parent grid, the fine grid can
cross a coarser grid boundary and still be properly nested. We refer Figure 4.2 for a clear
illustration of a properly nested grid.
54

Figure 4.2: A properly nested grid around a front.

The grids are generated and refined depending on evolving flow conditions. For our
specific problem, an underwater explosion, grids are needed to be refined around the bubble
interface and the shock front. Since the bubble interface is tracked by the level set function,
it is easy to refine the grids around the interface such a way that the level set function
changes sign across the bubble interface; so we tag the cells in which the level set function
changes sign, i.e,
if i,j i+1,j 0 or,
i,j i1,j 0 or,
i,j i,j+1 0 or,
i,j i,j1 0 ,
then tag the (i, j)th cell.
Here denotes the level set function. Figure 4.3 provides detailed information about this

55

: The Level Set Function


>0

=0

<0

Bubble interface

o
o
o
o

The tagged cells


in which the level
set function
changes sign.

Figure 4.3: Tagging cells around the bubble interface using the level set function.

tagging procedure. The refinement around the shock region is done by the following criteria,
=

(pi+1,j pi1,j )2 + (pi,j+1 pi,j1 )2 ,

(4.11)

where pi,j represents water pressure at (i, j)th cell. Here we tag the cells in which is greater
than some cutoff value. We note that we tag cells within buffer of tagged cells. These are
called buffer cells (the number of the buffer cells are determined by user defined criteria).
After the tagging process is done, rectangular grid patches are created following[80]. These
grid patches do not entirely consist of tagged cells. They will contain some untagged cells
in the vicinity of tagged cells. We dont want to include too many untagged cells, thus we
define the grid efficiency as the ratio of the tagged cells to the total cells in a patch (Figure
4.4). If the grid efficiency does not fall into at least 60 % range, then a grid patch is divided
into two separate patches. After the rectangular grid patches are created, they are refined to
generate the next level of grids by obeying the proper nesting requirement. The refinement
ratio is typically r = 2 or 4, i.e, in x-coordinate direction,
1
xl+1 = xl .
r
56

(4.12)

Figure 4.4: Rectangular grid patch with 65% efficiency.

The initial grid generation at all levels (from the coarsest to the finest) uses the initial data
at t = 0. Because of the changing flow conditions, grids except the coarsest one are redefined
at every user specified number of time steps. For instance, level l + 1 grids are modified at
the end of every kl level l time steps. Since we sub-cycle in time, e.g, tl+1 = 1r tl , grids at
l + 2 can be created or modified in the middle of a level l time step if kl+1 < r [72]. When
the new grids are created at level l + 1, new l + 1 data is either copied from the previous
l + 1 data where it existed previously, or new l + 1 data is interpolated from level l.

4.3.2

Multilevel time integration algorithm

Our new all speed AMR technique uses the strategy that a low order semi-implicit
algorithm based on Yabe et al [37] is applied in the coarser regions, and high order Machuniform methods (i.e, [81]) will be applied in the finest region. This is because in the coarse
regions the flow is smooth; therefore, for optimal efficiency, a low resolution method which
incorporates (very) large time step suffices. In the finest region however, the flow has material
or shock discontinuities, thus one has to use a method which is capable of capturing any
discontinuity accurately and efficiently. The new efficient all speed AMR method provides
sharp shock solutions and accurate material interface representations.
In our discretization, all of the flow variables are cell-centered except for the advective
velocities. The advective velocities are face-centered, and are used to update the level set
and volume-of-fluid equations. The face-centered velocities are defined as a simple average
of adjacent cell-centered velocities. The boundary conditions for fine level solutions are
57

provided by ghost cell values which are seeded in a narrow band around the fine grids. The
width of the band depends on the stencil of the finite difference scheme. In our case we use a
band consisting of three ghost cells as in [72]. The ghost values around a fine grid are defined
as time and space interpolation of the data from the previous coarse grid.
Below we outline the basic structure of the algorithm. The AMR structure of our
algorithm is the same as [82], but our integration algorithms and synchronization procedure
are different. In Figure 4.5, we illustrate the communication of the code for a refinement
ratio of 2 for space and time. In the first two subsections, we will describe the semi-implicit
and the Mach-uniform algorithms. In the third subsection, we will give some information
about the evolution of the material interface.
Basic structure of the new all speed AMR algorithm:
Define all levels from l = 0 to l = lmax with the initial data at t = 0.
Recursive procedure Advance (level l)
if time to re grid at level l + 1
Estimate errors at level l + 1
Generate new grids at level l + 1
if l + 1 < lmax then re grid l + 2
endif
if l = 0 obtain boundary data from physical boundaries
else obtain boundary data from coarser grids and physical boundaries.
Integrate level l in time
if l < lmax
integrate level l with the low order semi-implicit algorithm
else if l = lmax
integrate level l with a high order method
if l < lmax
for kl = 1, ..., rtimecycle
Advance (level l + 1)
end
endif
58

fine,n+1

t
Four level 2 compuations

level 2

t/4

fine,n+3/4

fine,n+3/4

t/4

fine,n+2/4

fine,n+2/4

fine,n+1/4

t/4

fine,n+1/4

t/4

fine,n

fine,n+1

t
Two level 1 compuations

level 1

t/2
fine,n+1/2

fine,n+1/2

t/2
fine,n

6
1

level 0
coarse,n+1

t
coarse,n

One level 0 compuation

Figure 4.5: Illustration of the time sub-cycling AMR algorithm with space and time
refinement ratio being r = 2. After performing a level 0 computation, the necessary level 0
data are interpolated through Steps 1 to supply boundary conditions for level 1. Then the
. Step 2 is executed for the same purpose as
f irst level 1 computation is performed with t
2
in Step 1. Then two consecutive level 2 computation is done with t
. Step 3 is performed
4
to synchronize the data between level 2 and 1. Then the second level 1 computation is done
to reach the same time level as in level 0. Step 4 is executed for the same purpose as in Step
2. Then another set of two f inest level computation is performed to reach the same time
level as in level 0. Step 5 is the same as Step 3. Finally, Step 6 is executed to synchronize
the data between level 1 and 0. This finishes one time step computation.
59

Synchronize the data between levels l and l + 1


End recursive procedure Advance

4.3.2.1

The low order semi-implicit algorithm

The low order semi-implicit algorithm consists of two separate phases, advection and
non-advection phases. The provisional advective quantities for density and velocity are
calculated by solving the advection equations. The advective pressure is computed by
the Tait equation of state (4.56), i.e, padvect = pT ait (advect ). Then an implicit algorithm is
applied during the non-advection phase in order to provide stable solutions.
Advection phase:
advect n
+ [u ]n = 0,
t

(4.13)

uadvect un
+ [u u]n = 0.
(4.14)
t
Here advective flux terms are evaluated by a second order van Leer [83] slope limiting
procedure ( See the example in Section 3.2.2).
Non-advection phase:
un+1 uadvect
1
= n pn+1 ,
t

(4.15)

pn+1 padvect
= n c2 (n ) un+1 ,
t

(4.16)

n+1 advect
= n un+1 .
(4.17)
t
Taking the divergence of equation (4.15) and replacing un+1 in equation (4.16), we
obtain the following elliptic system for pressure,

1
1
1
1
pn+1 ) 2 n 2 n pn+1 =
uadvect
padvect ,
edge
n
2
n
2
n

t c ( )
t
t c ( )
60

(4.18)

edge
edge
n
advect
where uadvect
un ) with Icell
denoting interpolation from cell-centered
edge = uedge + Icell (u

to edge-centered (or face-centered in 3D) velocity. For each time step, t, the new pressure
field is computed by solving the implicit system (4.18), then the new velocity and density
fields are explicitly computed via (4.15) and (4.16). We note that at a given level, (4.18)
is solved at all levels above simultaneously for ensuring the pressure continuity across the
coarse/fine grids.
4.3.2.2

High order Mach-uniform algorithms

We will describe two high order Mach uniform algorithms here. First one will be the
second order primitive preconditoner [81] using the conservative explicit building block, and
the second one will be the high order version of Yabes [37] algorithm, i.e, the high order semiimplicit algorithm. The second order primitive preconditoner [81] is based on the implicit
correction of an explicit building block of the governing equations.
Basic structure of the primitive preconditioner:
Define n+1,0 = n , pn+1,0 = pT ait (n ) ,and un+1,0 = un
Given pn+1,k1 , un+1,k1 , and n+1,k1 ,
For k=1,...,M
Step 1) Explicit building block
Calculate pexp,k , uexp,k , and exp,k by an explicit solver,
Step 2) Implicit correction step
Update pn+1,k , un+1,k , n+1,k , and mn+1,k
end
In order to execute Step 2) in the flow chart, we have
pn+1,k pexp,k
= (cn+1,k1 )2 n+1,k1 [ un+1,k un+1,k1 ],
t
un+1,k uexp,k
pn+1,k
pn+1,k1
= [ n+1,k1 n+1,k1 ],
t

where c is the sound speed


dp
c2 = ,
d
61

(4.19)

(4.20)

(4.21)

superscript k represents the iteration number, (n + 1, k) and (n + 1, k 1) denote the newly


computed and current values of the related field variables, (exp, k) represents the computed
explicit values for which we will give an example below (we note that the explicit water
pressure is computed by the Tait equation of state (4.56), i.e, pexp,k = pT ait (exp,k )), and
is a constant, either = 0 or = 1 to automatically switch the scheme to an explicit or
implicit one.
If we take the divergence of the velocity correction equation (4.20) and replace un+1,k
in the pressure correction equation (4.19), we obtain the following elliptic system involving
the new pressure field,

2 t2 [

pn+1,k
1
] n+1,k1 2 n+1,k1 pn+1,k = t[ uexp,k un+1,k1 ]
n+1,k1

(c
)
1
n+1,k1 2 n+1,k1 pexp,k
(c
)
pn+1,k1
+ 2 t2 [ n+1,k1 ].
(4.22)

After solving this elliptic system, we immediately update the velocity field. Again we
note that (4.22) is solved in the same fashion as (4.18). Using the newly computed pressure
and velocity fields, we compute the other variables by using the following approximations,
n+1,k exp,k
= n+1,k1 [ un+1,k un+1,k1 ],
t

(4.23)

mn+1,k = n+1,k un+1,k .

(4.24)

Example of an explicit building block: The numerical fluxes for the explicit building
block are based on using the local Lax Friedrich method as an approximate Riemann solver
and using the second order van Leer limited extrapolation procedure for calculating the
left and right states at cell faces. For the sake of simplicity, we consider one dimensional
conservation laws,
(exp,k)
Ui

(n+1,0)
Ui

LLF,

Fi+ 1

(n+1,k1)+(n+1,0)
2

LLF,

Fi 1
2

62

(n+1,k1)+(n+1,0)
2

(4.25)

where superscript

(n+1,k1)+(n+1,0)
2

represents the simple average of the (k 1)th iterate and

LLF
the initial value of the related flow variable, and Fi+
denotes the local Lax Friedrich
1
2

numerical flux function, i.e,

LLF,

Fi+ 1

(n+1,k1)+(n+1,0)
2

R,

(n+1,k1)+(n+1,0)
2

= F LLF (Ui+ 1
=

2
(n+1,k1)+(n+1,0)
R,
2
i+ 12
(n+1,k1)+(n+1,0)
R,
2
1
i+ 2
i+ 12

1
[F (U
2
1
[U
2

L,

(n+1,k1)+(n+1,0)
2

, Ui+ 1

(4.26)

L,

(n+1,k1)+(n+1,0)
2

) + F (Ui+ 1

)]

2
(n+1,k1)+(n+1,0)
L,
2
i+ 12

],

where
p(L,R)

i+ 1 = max|i+ 1 |,
p

p = 1, 2, 3

(4.27)

p(L,R)

L
with i+ 1 s denoting the left or right eigenvalues of the Jacobien matrix F 0 (U ), and Ui+
1 ,
2

R
L
R
Ui+
and Ui+
1 representing the left and right values of the state variables respectively. U
1
i+ 1
2

are defined as
L
Ui+
1 = Ui +
2

x V L
Ui ,
2

(4.28)

x V L
Ui+1 ,
2

(4.29)

R
Ui+
1 = Ui+1
2

where V L Ui represents the van Leer slope limited derivatives and they are defined as

VL


Ui =

Si min(2|Ui+1 Ui |, 2|Ui Ui1 |, 12 |Ui+1 Ui1 |) if i > 0


0
otherwise,

(4.30)

where
Si = sign(Ui+1 Ui1 ),

(4.31)

i = (Ui+1 Ui ) (Ui Ui1 ).

(4.32)

and

Another high order Mach uniform algorithm based on Yabes [37] method can be given
as
Basic structure of the high order semi-implicit algorithm:

63

Define n+1,0 = n , and un+1,0 = un ,


Given un+1,k1 , and n+1,k1 ,
Advection phase:
advect n
+ [u ]n+1,k1 = 0,
t

(4.33)

uadvect un
+ [u u]n+1,k1 = 0.
t

(4.34)

Here advective flux terms are evaluated by a second order van Leer [83] slope limiting
procedure ( See the example in Section 4.3.2.2).
Non-advection phase:
un+1,k uadvect
1
= n pn+1,k ,
t

(4.35)

pn+1,k padvect
= n c2 (n ) un+1,k ,
t

(4.36)

n+1,k advect
= n un+1,k .
t

(4.37)

Taking the divergence of equation (4.35) and replacing un+1,k in equation (4.36), we
obtain the following elliptic system for pressure,

1
1
1
1
pn+1,k ) 2 n 2 n pn+1,k =
uadvect
padvect ,
edge
n
2
n

t c ( )
t
t c2 (n )

(4.38)

edge
edge
n
advect
where uadvect
un ) with Icell
denoting interpolation from cell-centered
edge = uedge + Icell (u

to edge-centered (or face-centered in 3D) velocity. For each time step, t, the new pressure
field is computed by solving the implicit system (4.38), then the new velocity is computed
by un+1,k =

un+1,k +un+1,k1
,
2

and the density field is explicitly computed via (4.37). We note

that at a given level, (4.38) is solved at all levels above simultaneously to ensure continuity
of the pressure across the coarse/fine grids.

64

4.3.2.3

Implementation issues for the primitive preconditioner

For the sake of simplicity of the code implementation, we give the following alternative
equivalent version of the Mach-uniform algorithm.

This alternative version is a more

consistent representation with the low order algorithm (i.e, Yabes algorithm[37] in Section
4.3.2.1). In fact, it is equivalent to [37] for k = 1 (see Appendix C). We note that is taken
to be 1 for this representation.
Advective prediction step:
advect = exp,k + tn+1,k1 un+1,k1 ,

uadvect = uexp,k + t

pn+1,k1
,
n+1,k1

padvect = pT ait (exp,k ) + t(cn+1,k1 )2 n+1,k1 un+1,k1 .

(4.39)

(4.40)

(4.41)

Implicit correction step:


u

n+1,k

=u

advect

pn+1,k
t n+1,k1 ,

pn+1,k = padvect t(cn+1,k1 )2 n+1,k1 un+1,k .

(4.42)

(4.43)

Taking the divergence of the equation (4.42) and replacing un+1,k term in (4.43), we
get the following implicit pressure equation,

t2 [

pn+1,k
1
] n+1,k1 2 n+1,k1 pn+1,k = t uadvect
n+1,k1

(c
)
1
padvect . (4.44)
n+1,k1
(c
)2 n+1,k1

The other variables are updated as


n+1,k = advect tn+1,k1 un+1,k ,

(4.45)

mn+1,k = n+1,k un+1,k .

(4.46)

65

4.3.2.4

Extension of the one dimensional Mach-uniform algorithm to multidimensions ( Directional extrapolation procedure on the finest level)

On the finest level, our desire is to do more accurate and more efficient computations.
In essence, it is the finest level which contains the discontinuities that require costly
computations due to time step restrictions and demands for high resolution due to existence
of shocks. As indicated before, we use a multi-dimensional version of a Mach-uniform method
(i.e, [81]) on the finest level. For instance, [81] is tested and proven to be effective for
one dimensional problems. In order to extend our all speed method , i.e,[81], from one
dimension to multi-dimensions in the most consistent manner we incorporate a directionwise extrapolation procedure(Figure 4.6) so that the present method reduces to the one
dimensional method in each direction. In this way we avoid complicated and expensive
multi-dimensional extrapolations.

gas
gas

water

water

1
0

1
0

1
0

1
0

1
0

1
0
a gas cell filled with
the extrapolated
information along the
xdirection.

a gas cell filled with


the extrapolated
information along the
normal probe direction

normal probe
direction

Figure 4.6: Illustration of the extrapolation procedure. Figure on the left represents the one
dimensional direction-wise extrapolation along the x-direction. Figure on the right represents
a multi-dimensional extrapolation which is based on the closest cell to the interface along
the normal probe direction.

Below we provide some pseudo codes using the primitive preconditioner together with
66

the conservative explicit building block for the calculation of the terms by the direction-wise
extrapolation procedure.
Explicit solver:
Given U exp = U n
For direction=1,..., spacedimension
Extend the liquid variables into the bubble by direction-wise extrapolation,
Calculate the slopes, i.e, V L U in (4.28 and 4.29), by direction,
Calculate the fluxes, i.e, F or G in (4.25), by direction,
Update the explicit solution, i.e,
if direction=1 U exp = U exp
if direction=2 U exp = U exp

t
(Fi+ 1 ,j
x
2
t
(G
i,j+ 12
y

Fi 1 ,j ) or,
2

Gi,j 1 ).
2

end
Implicit solver:
Advective prediction step:
Set Divun+1,k1 = 0
For direction=1,..., spacedimension
Extend the liquid variables into the bubble by direction-wise extrapolation,
Calculate Divun+1,k1 (used by (4.39) and (4.41)) by direction, i.e,
if direction=1 Divun+1,k1 = Divun+1,k1 +
if direction=2 Divun+1,k1 = Divun+1,k1 +

ui+ 1 ,j ui 1 ,j
2

x
vi,j+ 1 vi,j 1
2

end
Set uadvect = uexp
For direction=1,..., spacedimension
Update the advective predictor velocity field by direction, i.e,
n+1,k1

if direction=1 uadvect = uadvect + t pxn+1,k1


pn+1,k1

if direction=2 v advect = v advect + t yn+1,k1


end
67

Update the other advective predictor quantities,i.e, (4.39) and (4.41)


Implicit correction step:
Update the multi-dimensional implicit pressure equation (obtained
from (4.44) or equivalently (4.22).
Set un+1,k = uadvect
For direction=1,..., spacedimension
Calculate the new pressure gradient, pn+1,k , by direction,
Update the velocity field (4.42) by direction,i.e,
n+1,k

px
if direction=1 un+1,k = un+1,k t n+1,k1
pn+1,k

y
if direction=1 v n+1,k = v n+1,k t n+1,k1

end
Set Divun+1,k = 0
For direction=1,..., spacedimension
Extend the new velocity field into the bubble by direction-wise extrapolation,
Calculate the divergence term, Divun+1,k , by direction, i.e,
if direction=1 Divun+1,k = Divun+1,k +
if direction=2 Divun+1,k = Divun+1,k +

ui+ 1 ,j ui 1 ,j
2

x
vi,j+ 1 vi,j 1
2

end
Update the remaining variables, i.e, (4.45) and (4.46).
4.3.2.5

Evolution of the material surface (bubble interface)

Before going into the interface discretization, we have to remark that we are solving the
governing equations only in the water region, in other words, we dont solve the gas dynamics
equations inside the bubble. On the other hand, one needs to have the values of the flow
variables, e.g, velocity, in a narrow band about the zero level set, since the interface equations,
the level set equation (4.4) and the volume fraction equation (4.7), are solved in a narrow
band about the zero level set. Consequently, we extend the flow variables from water region
into the gas region. The extension procedure is described in detail in [65, 64]. After carrying
out the extensions, we are ready to solve the interface equations. The interface equations,
the level set equation (4.4) and the volume fraction equation (4.7), are solved by the second
68

order coupled level set volume-of-fluid method (the CLSVOF advection algorithm is given
in the Appendix A, also in [65, 64]). The CLSVOF uses second order operator split (StrangSplitting) advection algorithms for both the level set function and the volume fractions
n
[65, 64]. The discrete level set function ni,j and the discrete volume fraction function Fi,j
are

located at cell centers. The motion of the material surface is determined by face-centered
velocities. The extrapolation from cell to face is done by the directional extrapolation
procedure (Figure 4.6). At every time step, the level set function is reinitialized as the
signed distance function from the volume-of-fluid reconstructed interface. In the CLSVOF
method, the volume fractions are used to construct volume preserving distance functions. In
addition, the level set function is used to truncate the volume fractions, i.e, the truncation
step removes spurious volumes. For more algorithmic details about CLSVOF method, we
refer to [65, 64].

4.3.3

Synchronization procedure

The synchronization procedure is performed to ensure velocity continuity across coarse/fine


levels at the end of a coarse level time integration step, i.e, after finer levels have been
updated. We execute the synchronization step in such a way that first we average down the
level l + 1 data to the level l grids. Face velocities from level l + 1 are also averaged down
to faces of the level l grids:
U l

1 X X l+1
U
r2

(4.47)

where U l+1 represents a computed flow variable from level l + 1, and r is the mesh refinement
ratio.
Then we solve the following synchronization equations in the underlying coarse regions
by supplying Neumann pressure boundary data from the next finer level (Figure 4.7 provides
a clear picture of the computational domain for a synchronization step).
We consider,
advect = n+1,avrg + t un+1,avrg

(4.48)

padvect = pT ait (advect )

(4.49)

69

level l1

p=0
level l
p . n=0

p=0

level l data in this


overlaping region are
replaced by the average
of level l+1 data .

p . n=0

p . n=0

p=0

level l+1

p . n=0
The synchronization equations are solved in here
p=0

Figure 4.7: The synchronization step between level l + 1 and level l. The synchronization
equations are solved in the underlying level l region with the appropriate boundary data.

1
uadvect = un+1,avrg + t pn+1,avrg

(4.50)

where = n+1,k1 . Next we consider the following set of equations,


1
un+1 = uadvect t pn+1 ,

(4.51)

pn+1 = padvect tc2 un+1 ,

(4.52)

n+1 = advect tun+1 ,

(4.53)

Letting p = pn+1 pn+1,avrg , taking the divergence of the equation (4.51) and substituting
into the equation (4.52), we obtain the following pressure correction equation,

t2 (

p
pn+1,avrg padvect
1
) 2 p = t un+1,avrg +

c
c2
70

(4.54)

The equation (4.54) is solved with p n = 0 at the boundary between level l + 1


and level l, and p = 0 at the boundary between level l and level l 1. It is clear from
the equation (4.50) and (4.51) together with Neumann pressure boundary condition that
our synchronization procedure guarantees continuous velocity across the two different levels.
The velocity continuity is provided under the guiding principle that the finest level velocity
is correct and should not be changed through any procedure.

4.4

4.4.1

Numerical results

Bubble jetting

In this section, we present the computational results of an underwater explosion test problem.
The problem description follows the description in [63].

An explosive device weighing

17.08grams and located below a flat plate is detonated at a depth of 98.5meters. A diagram
of this problem is shown in Figure 4.8. The plate is circular with a radius of 88.9cm and has
a thickness of 5.08cm. The initial material states for this problem are:
The initial water density is 1.00039080 g/cm3 .
The initial water pressure is 1.026E + 07d/cm2
Note that the water initial state corresponds to a depth of 98.5meters. As a consequence
of gravity, the water density decreases linearly to 1 at the surface. Water density as a function
of depth is calculated by
(y) = 1 + (dep 1)(h + k y)/h,

(4.55)

where dep is water density at the depth where the explosive is located, i.e, dep =
1.00039080g/cm3 , h is the distance between the bottom and the surface of the sea, specifically
h = 200meters, k is the distance between the bottom of the sea and the location of the
explosive.
The water pressure is calculated by the Tait equation of state [63],
p = B[(/) 1] + A
where B = 3.31E + 09d/cm2 , A = 1.0E + 06d/cm2 , = 1.0g/cm3 , and = 7.15.
71

(4.56)

water surface, p=1.0E+06 d/cm2

g=981 cm/sec2

98.5 m

88.9 cm

5.08 cm

13 cm

a flat plate

explosive (17.08 g)

Figure 4.8: Sketch of the underwater explosion test problem

The initial water velocity is 0.0 cm/sec.


The initial bubble pressure is P0 = 8.3837E + 10 d/cm2 . The initial bubble radius is
1.36 cm. The JWL constants (refer to equation 4.3) for this problem are A = 3.71E + 12,
B = 0.03231E + 12, = 0.3, R1 = 4.15,R2 = 0.95, and 0 = 1.63g/cm3 . This problem is
cast in 2-D cylindrical coordinates and uses a gravitational constant of 981 cm/s2 .
The hydrostatic data are used in all directions as outflow boundary conditions.
Results in this section are produced by using the high order semi-implicit method on the
finest level. In Figure 4.9 and 4.10, the contour plots of the pressure field are illustrated for
both sub-cycling procedure on and off. We notice that the run with the time sub-cycling
procedure produces nearly identical shock resolution. We have to bear in mind though, the
run without the time sub-cycling procedure uses the finest level time step on every grid
level. On the other hand, the run with the time sub-cycling uses different time steps in each
level, i.e, coarse time steps are used on coarse grid levels and fine time steps are used on fine
grids. Therefore without the time sub-cycling, coarse regions have better resolution ( Figure
4.9). However, the coarse regions are not the main area of interest so that high resolution

72

is not required in these regions. Including the time sub-cycling procedure makes our AMR
technique very efficient. In Table 4.1, we demonstrate the efficiency of the
Table 4.1: Comparison of the number of time steps with no sub-cycling versus sub-cycling
to achieve a given final time computation. Final run time is 15msecs.
The number of time steps The number of time steps
without sub-cycling
with sub-cycling
Level 0
6290
394
Level 1
6290
1576
Level 2
6290
6304

Table 4.2: Comparison of the run time with no sub-cycling versus sub-cycling to achieve a
given final time computation. Final run time is 15msecs.
Run time without sub-cycling Run time with sub-cycling
40923 seconds
18986 seconds

sub-cycling procedure when 3levels of adaptivity are used and the temporal refinement
ratio, rtimecycle is 4. For instance, it takes sixteen times more time steps without the subcycling to advance the Level 0 grids than with the sub-cycling included. Table 4.2 compares
the speed of the two procedures. When considering the overall run time, the time sub-cycling
is twice faster. In addition to its efficiency, the time sub-cycling provides the same shock
solutions as evident by the Figures 4.9 and 4.10.
Table 4.3: Comparison of the number of cells advanced per second with no sub-cycling versus
sub-cycling to achieve a given final time computation. Final run time is 15msecs.
The total number of cells advanced
The total number of cells advanced
per second without sub-cycling
per second with sub-cycling
Total number of cells advanced/runtime= Total number of cells advanced/runtime=
280086976/40923=6844 cells/second
124641280/18986=6565 cells/second

Figure 4.11 and 4.12 show the interface evolution of the explosion bubble at different
73

times. We note that at the time the interface collapses, there is no shock wave in the region.
After reaching its maximum radius around 6msecs (see Figure 4.13) , the bubble starts
collapsing. Due to the increased mobility of the liquid away from the wall, a jet penetrates
the bubble, forming a toroidal bubble. As we can see, the results (Figure 4.12) with the
time sub-cycling procedure are comparable to the results (Figure 4.11) without the time
sub-cycling. This can also be observed by Figure 4.13. Here also we note that the time
sub-cycling AMR method captures the same interface resolution, yet it is twice faster.
Table 4.3 compares the total number of cells advanced per second with or without time
sub-cycling procedure. The total number of cells advanced per second are very close to each
other for both procedures indicating that the sub-cycling procedure doesnt spend too much
of time during the synchronization step and during the multi-level implicit pressure solve;
recall that the implicit pressure solver computes the pressure simultaneously at all levels
above a coarse level for the sub-cycling timestep procedure.

74

Figure 4.9: Evolution of the pressure field from the bubble jetting problem with the subcycling procedure off. The physical times for these figures are 0.14msecs, 0.31msecs,
0.78msecs, and 0.90msecs from the upper left to the lower right.
75

Figure 4.10: Evolution of the pressure field from the bubble jetting problem with the
sub-cycling procedure on. The physical times for these figures are 0.14msecs, 0.31msecs,
0.78msecs, and 0.90msecs from the upper left to the lower right.
76

Figure 4.11: Evolution of the material surface from the bubble jetting problem with the
sub-cycling procedure off. The physical times for these figures are 3.14msecs, 7.41msecs,
9.40msecs, and 14.98msecs from the upper left to the lower right.

77

Figure 4.12: Evolution of the material surface from the bubble jetting problem with the
sub-cycling procedure on. The physical times for these figures are 3.14msecs, 7.41msecs,
9.40msecs, and 14.98msecs from the upper left to the lower right.

78

BUBBLE RADIUS

20
18
16
14

cm

12
10
8
6
4
2
0

msec

10

15

Figure 4.13: Comparison of the bubble radius: no sub-cycling (solid line) versus sub-cycling
(dashed line).

4.4.2

Bubble expansion

A region of high-pressure JWL gas, with a radius of 16 cm, fills a small bubble at the
lower left corner of a two dimensional, cylindrical mesh as shown in Figure 4.14. The initial
material states for this problem are
JWL: = 1.63g/cm3 , p = 7.8039E + 10d/cm2
Water: = 1.00037984g/cm3 , p = 1.0E + 7d/cm2 , u = 0.0.
For this problem, the primitive preconditioner method using the conservative explicit
building block, the high order semi-implicit method based on Yabe et al [37], and an explicit
conservative method are used on the finest level. All three methods use the time subcycling procedure. Figure 4.15 compares the results computed by using three methods at
t = 0.5msecs. The primitive preconditioner and the explicit results seem to be in good
agreement together with providing non-oscillatory shock solutions. On the other hand, the
high order semi-implicit method gives rise to unphysical oscillations at the shock. This might
be associated to the fact that the semi-implicit method is purely non-conservative. Here we

79

10 meters

wall

water

JWL
gas

wall

r
10 meters

Figure 4.14: Sketch of the bubble collapse problem.

have to note that the semi-implicit method calculates correct shock speed. At later times,
for instance t = 1.4msecs and t = 2.9msecs, Figures 4.16 and 4.17 indicate that the semiimplicit method becomes less or non oscillatory while the strength of the shock weakens.
At t = 2.9msecs, Figure 4.17 and the contour plots (i.e, Figures 4.18, 4.19, and 4.20)
indicate that all three methods work quite well, i.e, similar shock and interface resolution
are obtained. Notice that this problem is an adiabatic problem. Although the high order
semi-implicit method works fine for this problem, especially later times, i.e, at t = 1.4 or
2.9msecs it provides sharp shock solutions together with calculating the correct shock speed,
it fails for non-adiabatic problems, i.e, it over predicts the shock speed by 25%. The results
indicate that the explicit method works as good as the preconditioner. We note that the
explicit method is slightly more efficient than the preconditioner, since no preconditioning
step needed. As far as contact discontinuity solutions concern, one dimensional underwater
80

explosion results (Section 3.3.2.3) indicate that the preconditioner outperforms a purely
explicit method, but two dimensional results indicate that the preconditioner is not better
than an explicit method. We also note that any explicit conservative method would work
just fine for this problem, but we expect that they will have problems, as addressed in
Chapter 3, for very low Mach number interfacial flows; i.e, oscillating water column problem
in Section 3.3.2.4. In addition, the AMR sub-cycling technique with the explicit method can
use the largest refinement ratio of two. On the other hand, the primitive preconditioner or
the semi-implicit method can use significantly larger refinement ratios, i.e, f our, eight etc.

81

PRESSURE

20

x 10

primitive preconditioner
an explicit method
semiimplicit method
15

d/cm2

10

50

100

cm

150

200

250

Figure 4.15: Comparison of the sliced pressure profiles for the bubble expansion problem.
Final run time is 0.5msecs.

82

PRESSURE

x 10

primitive preconditioner
an explicit method
semiimplicit method

d/cm2

50

100

150

200
cm

250

300

350

400

Figure 4.16: Comparison of the sliced pressure profiles for the bubble expansion problem.
Final run time is 1.4msecs.

83

PRESSURE

2.5

x 10

primitive preconditioner
an explicit method
semiimplicit method
2

d/cm

1.5

0.5

0.5

100

200

300

400
cm

500

600

700

800

Figure 4.17: Comparison of the sliced pressure profiles for the bubble expansion problem.
Final run time is 2.9msecs.

84

Figure 4.18: Pressure profile from the bubble expansion problem generated by an explicit
method. Final run time is 2.9msecs.

85

Figure 4.19: Pressure profile from the bubble expansion problem generated by the semiimplicit method. Final run time is 2.9msecs.

86

Figure 4.20: Pressure profile from the bubble expansion problem generated by the primitive
preconditioning method. Final run time is 2.9msecs.

87

CHAPTER 5
CONCLUSIONS

In summary, a second order primitive preconditioner technique for solving all speed multiphase flows has been presented. This new technique enables us to compute both compressible
and incompressible flows with Mach uniform accuracy and efficiency; i.e, we solved problems
from the zero Mach number to very high Mach numbers with the same accuracy and
efficiency. We showed through various test problems that our technique can efficiently
handle strong or weak shocks. Throughout all the test cases we obtained highly resolved
shock discontinuities together with calculating correct shock speeds. In the smooth flow test
and the low Mach flow test(oscillating water column) cases, we introduced an alternative
application of our preconditioner in which we preconditioned an explicit building block based
on the non-conservative (primitive) form of the Euler equations. This alternative application
allows us to use large time steps with high order of accuracy. The present method performs
very well when solving multi-material flow problems. The underwater explosion test case
shows that we have eliminated the spurious pressure oscillations at the material surfaces.
The multi-phase flow test also shows that our method can handle high impedance interface
flows very efficiently and accurately.
When solving multi dimensional all speed multi-phase flow problems, we introduced a
new AMR (Adaptive Mesh Refinement) technique. The numerical results indicate that our
strategy, using a low order semi-implicit algorithm on coarser levels and a high order Machuniform algorithm on the finest level, works quite well. With this strategy we spend less
time on coarser regions while obtaining highly accurate and sharp shock solutions on the
finest region which is the region of main interest. Our simultaneous implicit pressure solver
and synchronization procedure provides accurate and physically correct material surface
representations. Moreover, including the crucial time sub-cycling procedure improves the
efficiency of our method significantly.
88

APPENDIX A
THE CLSVOF ADVECTION ALGORITHM

In this section, we describe the coupled level set volume-of-fluid (CLSVOF) advection algorithm for interface advection. For simplicity, we describe the algorithm in two dimensional
cartesian coordinates. We assume that the variables are discretized on a uniform grid with
the grid spacing of x = y. The discrete level set function i,j and the volume fraction Fi,j
are located at cell centers. The discrete velocity field is defined at cell faces, i.e, ui+ 1 ,j , vi,j+ 1 .
2

Figure A.1 illustrates the location of the discrete variables.


We can rewrite the interface advection equations in the following form,
t + (u) ( u) = 0,

(A.1)

Ft + (uF ) ( u)F = 0.

(A.2)

and

At t = 0 the level set function is initialized as the signed normal distance from the
interface. And the volume-of-fluid function is initialized as the volume fraction of water
contained in a cell, e.g,
0
Fi,j

1
=
xy

Z
H((x, y, 0))dxdy,

(A.3)

i,j

where
i,j = {(x, y)|xi x xi+1 and yj y yj+1 }.

(A.4)

To update the level set and the volume fraction functions, we use a second order
conservative operator split advection algorithm. In the implementation of this algorithm,
equations A.1 and A.2 are first solved in the x direction and next in the y direction for one
89

vi,j+1/2
i,j

ui1/2,j

Fi,j

ui+1/2,j

vi,j1/2

Figure A.1: Representation of the grid location of the interface motion variables.

time step. For the next time step, the interface equations are first solved in the y direction
and in the x direction next.
In here we shall describe the operator split algorithm in detail. Let s represent one the
interface variables, e.g, the level set function or the volume fraction F . A provisional value
of s can be obtained by considering the following discretization,
Gi+ 1 ,j Gi 1 ,j ui+ 1 ,j ui 1 ,j
si,j sni,j
2
2
2
2
=
+
si,j ,
t
x
x

(A.5)

where Gi+ 1 ,j = si+ 1 ,j ui+ 1 ,j and si+ 1 ,j represents the flux of s across the right face of the
2

th

(i, j)

cell (Figure A.1).

90

Solving (A.5) for si,j , we obtain


si,j =

sni,j + (t/x)(Gi 1 ,j Gi+ 1 ,j )


2

1 (t/x)(ui+ 1 ,j ui 1 ,j )
2

(A.6)

Next the provisional value is corrected by the following discretization,

sn+1
i,j = si,j +

vi,j+ 1 vi,j 1
t
2
2
(Gi,j 1 Gi,j+ 1 ) + si,j
,
2
2
y
y

(A.7)

where Gi,j+ 1 = si,j+ 1 vi,j+ 1 .


2

We compute the flux term si+ 1 ,j differently depending on whether s represents the level
2

set function or the volume fraction function.

A.1

Computation of the fluxes when s represents the


level set function

The flux term si+ 1 ,j is defined as


2

(
si+ 1 ,j =
2

t
sni,j + 41 (1 ui+ 1 ,j x
)(sni+1,j sni1,j ) if ui+ 1 ,j > 0
2
2
t
sni+1,j 41 (1 + ui+ 1 ,j x
)(sni+2,j sni,j ) if ui+ 1 ,j < 0
2

(A.8)

The derivation of si+ 1 ,j is based on a simple Taylor series expansion. Consider,


2

si+ 1 ,j si,j +
2

x
t
sx,ij +
st,ij ,
2
2

(A.9)

for ui+ 1 ,j > 0. If we recall the definition of the operator split algorithm, we note that we
2

only solve for one direction at a time. This means that we are solving
st + usx = 0.

(A.10)

Substituting st,ij = usx,ij into the equation (A.9), we obtain,


si+ 1 ,j si,j
2

Replacing u with ui+ 1 ,j and sx,ij with


2

x
t
(1 u
)sx,ij .
2
x
n
(sn
i+1,j si1,j )
,
2x

91

we obtain (A.8).

(A.11)

A.2

Computation of the fluxes when s represents the


volume fraction function

The volume-of-fluid flux si+ 1 ,j represents the fraction of total fluid being advected across the
2

right face of the (i, j)th cell. The description of si+ 1 ,j is illustrated in Figure A.2. In Figure
2

A.2, the slope term is defined as

i+1/2,j

y=mx+b
x
m=
y

i+1/2,j

Shaded
u i+1/2,j t y

u i+1/2,j t

Figure A.2: Representation of the volume fraction fluxes.

m=

R
x,ij
,
R
y,ij

(A.12)

th
where R
cell. In
i,j (x, y) represents the linear reconstruction of the interface in the (i, j)

other words, R
i,j (x, y) has the form
R
i,j (x, y) = ai,j (x xi ) + bi,j (y yj ) + ci,j .
The evaluation of the coefficients ai,j , bi,j , and ci,j can be found in [64].

92

(A.13)

The coupling procedure is performed after the level set and the volume fraction functions
are updated by (A.6) and (A.7). The level set function is coupled to the volume fractions by
assigning the level set function to be the exact signed normal distance to the reconstructed
interface. The algorithm to find the signed normal distance to the reconstructed interface
can also be found in [64].

93

APPENDIX B
DIMENSIONAL ANALYSIS OF THE GOVERNING
EQUATIONS

In this section, we will non-dimensionalize the momentum and the surface tension
equations to show that the viscous and surface tension effects are negligible when modeling
an underwater explosion.
First we consider the momentum part of the Navier Stokes equation in the following
form,


u
+ u u
t

= p + 2 u

(B.1)

where is the viscosity. Next, we introduce the following non-dimensional variables,


t =

tU0
x
u
p
, x = , u =
, and p =
L
L
U0
U02

(B.2)

where
U0 : characteristic velocity
L: characteristic length
L
: characteristic time
U0
U02 : characteristic pressure

Rewriting the momentum equation with the dimensionless variables,


U02
L

u
+ u u

U02 U0 2
=
p +
u
L
L

(B.3)

or
u
1 2
+ u u = p +
u

t
Re
where Re =

U0 L

is the Reynolds number.


94

(B.4)

We use the following values for water


= 0.0114gram/cmsec
= 0.9999gram/cm3
L = Rmax
U0 =

Rmax Rmin
totalexpansiontime

where Rmax and Rmin represent the maximum and minimum bubble radii. For the spherical
bubble collapse problem described in Section 3.3.2.3, we have Rmax = 217cm, Rmin = 16cm,
and expansiontime = 66msec. Thus the Reynolds number becomes, Re = 57912523.9, and
1
Re

= 1.7E 08. This shows that the inertial forces dominate the flow and the viscous forces

are insignificant (See equation (B.4)).


Now we shall consider the following surface tension equation,
[p] =

2
,
R

(B.5)

where [.] represents the jump in pressure, is the surface tension of water, and R is the
bubble radius. In dimensionless form, we have
[p ] =
where W e =

LU02

2
1 2
=
,
2
LU0 R
W e R

is the Weber number.

We use = 73.5dyn/cm[47].

(B.6)
For the

spherical bubble collapse problem, we use the same values used above. Then we obtain
W e = 27355340.6 and

1
We

= 3.6E 08. Again this shows that the inertial forces overcome

the surface tension forces indicating that the surface tension forces can be neglected.

95

APPENDIX C
EQUIVALENCY OF THE FIRST ORDER
PRIMITIVE PRECONDITIONER TO THE LOW
ORDER SEMI-IMPLICIT METHOD

In this section, we will show that the first order primitive preconditioner (i.e, k = 1
throughout (4.39) to (4.46)) with the non-conservative explicit building block is equivalent
to the low order semi-implicit method (i.e, Yabes algorithm[37] in Section 4.3.2.1). For
k = 1, clearly, the implicit correction steps from both algorithms are equivalent. Thus we
shall only show that the Advective prediction steps are also equivalent. We consider the
following expressions, i.e, the equations in the Advective prediction step of the first order
primitive preconditioner.
advect = exp + tn un ,

(C.1)

1
pn ,
n

(C.2)

uadvect = uexp + t

padvect = pT ait (exp ) + tn c2 un ,

(C.3)

where pT ait (exp ) means that the explicit pressure is calculated by the Tait equation of state
(4.56). Now we consider the following non-conservative explicit discretization,
exp = n tun n tn un ,
1
pn .
n

Substituting (C.4) and (C.5) in (C.1) and (C.2) , we get


uexp = un tun u t

advect = n tun n ,
96

(C.4)

(C.5)

(C.6)

uadvect = un tun u,

(C.7)

padvect = pT ait (n tun n tn un ) + tn c2 un .

(C.8)

Using the following Taylor expansion,


pT ait (advect,Y abe tn un ) = pT ait (advect,Y abe ) tn un p0T ait (advect,Y abe ) + O(t2 ),
(C.9)
advect,Y abe

where

= tu . Finally using the fact that c =


padvect = pT ait (advect,Y abe ).

p0T ait ,

we obtain
(C.10)

Obviously (C.6), (C.7), and (C.10) are equivalent to (4.13) and (4.14) in Section 4.3.2.1.

97

REFERENCES
[1] P. Wesseling. Principles of Computational Fluid Dynamics. Springer Series in Computational Mathematics, 2000. 1
[2] C.W. Hirt, A.A. Amsden, and J.L. Cook. An Arbitrary Lagrangian-Eulerian Computing
Method For All Flow Speeds. J. Comput. Phys., 135:203216, 1997. 1
[3] I. Wenneker, A. Segal, and P. Wesseling. A Mach-uniform unstructured staggered grid
method. Int. J. Numer. Meth. Fluids., 40:12091235, 2002. 1
[4] T. Yabe, F. Xiao, and T. Utsumi. The constrained interpolation profile method for
multiphase analysis. J. Comput. Phys., 169:556593, 2001. 1
[5] S. Karni. Multicomponent Flow Calculation by a Consistent Primitive Algorithm. J.
Comput. Phys., 112:3143, 1994. 1
[6] Y. Ogata and T. Yabe. Shock capturing with improved numerical viscosity in primitive
Euler representation. Comput. Phys. Commun., 119:179193, 1999. 1
[7] D.R. van der Heul, C. Vuik, and P. Wesseling. A conservative pressure-correction
method for flow at all speeds. Comput. Fluids., 32:11131132, 2003. 1, 3.3.1, 3.3.1.1,
3.3.1.2
[8] E. Turkel. Preconditioning techniques in computational fluid dynamics. Annu. Rev.
Fluid Mech., 31:385416, 1999. 1
[9] E. Turkel, R. Radespiel, and H. Kroll. Assessment of preconditioning methods for
multidimensional aerodynamics. Comput. Fluids, 26:613634, 1997. 1
[10] J.M. Weiss and W.A. Smith. Preconditioning applied to variable and constant density
flows. AIAA J., 33:20502057, 1995. 1
[11] B. Koren. Improving Euler computations at low Mach numbers. Int. J. Comp. Fluid
Dyn., 6:5170, 1996. 1
[12] R. Rudnik, S. Melber, A. Ronzheimer, and O. Brodersen. Three-Dimensional NavierStokes Simulations for transport aircraft high lift configurations. AIAA J., 38:895903,
2001. 1
[13] J. Guerra and B. Gustafsson. A numerical method for incompressible and compressible
flow problems with smooth solutions. J. Comput. Phys., 63:377, 1986. 1
98

[14] S. Klainermann and A. Majda. Compressible and incompressible fluids. Comm. Pure
Appl. Math., 35:629, 1982. 1
[15] R. Klein. Semi-implicit extension of a Godunov-type scheme based on low Mach number
asymptotics I: One-dimensional flow. J. Comput. Phys., 121:213, 1995. 1
[16] F.H. Harlow and A.A. Amsden. Numerical calculation of almost incompressible flows.
J. Comput. Phys., 3:8093, 1968. 1
[17] V. Casulli and D. Greenspan. Pressure method for the numerical solution of transient,
compressible fluid flows. Int. J. Numer. Methods Fluids, 4:1001, 1984. 1
[18] P. Colella and K. Pao. A projection method for low speed flows. J. Comput. Phys.,
149:245269, 1999. 1
[19] A. Chorin and J.E. Marsden.
Springer-Verlag, 1979. 1

A Mathematical Introduction to Fluid Mechanics.

[20] D.R. van der Heul, C. Vuik, and P. Wesseling. A conservative pressure-correction
method for the Euler and ideal MHD equations at all speeds. Int. J. Numer. Meth.
Fluids., 40:521529, 2002. 1
[21] F.H. Harlow and J.E. Welch. Numerical calculation of time dependent viscous incompressible flow of fluid with a free surface. Phys. Fluids, 8:2182, 1965. 1
[22] H. Bijl and P. Wesseling. A unified method for computing incompressible and compressible flows in boundary-fitted coordinates. J. Comput. Phys., 141:153173, 1998.
1
[23] P. Wesseling, van der Heul, and C. Vuik. Unified methods for computing compressible
and incompressible flows. In Proceedings European Congress on Computational Methods
in Applied Sciences and Engineering, ECCOMAS, 2000. Barcelona. 1
[24] P. Wesseling and D.R. van der Heul. Uniformly effective numerical methods for
hyperbolic systems. Computing., 66:249267, 2001. 1
[25] K. Duraisamy, J.D. Baeder, and J.G. Liu. Concepts and application of time-limiter to
high resolution schemes. J. Scien. Comp, 19:139162, 2003. 1
[26] P. Lax and B. Wendroff. Systems of conservation laws. Commun. Pure Appl. Math.,
13:217237, 1960. 1
[27] R. Abgrall. How to prevent pressure oscillations in multicomponent flow calculations:
A quasi conservative approach. J. Comput. Phys., 125:150160, 1996. 1
[28] R. Abgrall and S. Karni. Computations of compressible multi-fluids. J. Comput. Phys.,
169:594623, 2001. 1

99

[29] R. Fedkiw, T. Aslam, B. Merriman, and S. Osher. A non-oscillatory Eulerian approach


to interfaces in multi-material flows (the Ghost Fluid Method). J. Comput. Phys.,
152:457, 1999. 1, 3.3.2.3
[30] R. Fedkiw, T. Aslam, and S. Xu. The Ghost Fluid Method for deflagration and
detonation discontinuities. J. Comput. Phys., 154:393, 1999. 1, 3.3.2.3
[31] X.Y. Hu and B.C. Khoo. An interface interaction method for compressible multi-fluids.
J. Comput. Phys., 198:3564, 2004. 1
[32] J. Wackers and B. Koren. A fully conservative model for compressible two-fluid flow.
Int. J. Numer. Meth. Fluids, 00:16, 2004. 1
[33] S.P. Wang, M.H. Anderson, J.G. Oakley, M.L. Corradini, and R. Bonazza. A thermodynamically consistent and fully conservative treatment of contact discontinuities for
compressible multicomponent flows. J. Comput. Phys., 195:528559, 2004. 1
[34] T. Yabe. Interface capturing and universal solution of solid, liquid, and gas by CIP
method. In Proceedings Conf. High-Performance Computing on Multi-phase Flow, 1997.
Tokyo. 1
[35] T. Yabe and T. Aoki. A universal solver for hyperbolic equations by cubic-polynomial
interpolation. Comput. Phys. Commun., 66:219242, 1991. 1, 3.2.2
[36] T. Yabe, Y. Ogata, K. Takizawa, T. Kawai, A. Segawa, and K. Sakurai. The next
generation CIP as a conservative semi-Lagrangian solver for solid, liquid, and gas. J.
Comput. Appl. Math., 149:267277, 2002. 1
[37] S.Y. Yoon and T. Yabe. The unified simulation for incompressible and compressible flow
by the predictor-corrector scheme based on the CIP method. Comput. Phys. Commun.,
119:149158, 1999. 1, 3.2.2, 4.3.2, 4.3.2.2, 4.3.2.2, 4.3.2.3, 4.4.2, C
[38] H. Takewaki, A. Nishiguchi, and T. Yabe. Cubic interpolated pseudoparticle method
(CIP) for solving hyperbolic type equations. J. Comput. Phys., 61:261268, 1985. 1
[39] A. Chorin. A numerical method for solving incompressible viscous flow problems. J.
Comput. Phys., 2:1226, 1967. 1
[40] F. Xiao. Unified formulation for compressible and incompressible flows by using multiintegral moments I: One-dimensional inviscid compressible flow. J. Comput. Phys.,
195:629654, 2004. 1, 3.3.1, 3.3.1.1, 3.3.1.2, 3.3.1.3, 3.3.1.4, 3.3.1.5, 3.3.1.6, 3.3.1.7
[41] P. Smereka. Semi-Implicit Level Set Methods for Curvature and Surface Diffusion
Motion. J. Scien. Comput., 19:439456, 2003. 1
[42] T. Aslam. A Level Set Algorithm for Tracking Discontinuities in Hyperbolic Conservation Laws I (Scalar Equations) . J. Comput. Phys., 167:413438, 2001. 1, 3.3.2.3
[43] T. Aslam. A Level Set Algorithm for Tracking Discontinuities in Hyperbolic Conservation Laws II (System of Equations). J. Scien. Comput., 19:3762, 2003. 1, 3.3.2.3
100

[44] R. Nourgaliev, N. Dinh, and T. Theofanous. Direct Numerical Simulation of Compressible Multiphase Flows: Interaction of Shocks Waves with Dispersed Multiphase Media.
In 5th International Conference on Multiphase Flow, ICMF04, 2004. Yokohama, Japan.
1, 3.3.2.3
[45] Jr. J.D. Anderson. Modern Compressible Flow. Mc Graw Hill, 1990. 2, 2, 2.1, 2.2, 2.2,
2.2, 2.3, 2.4, 2.4
[46] Robert A. Granger. Fluid Mechanics. Dover, 1995. 2.1, 2.2, 2.2, 2.3
[47] G.K. Batchelor. An Introduction to Fluid Dynamics. Cambridge University Press, 1967.
2.1, 2.2, 2.2, 2.2, 2.3, 2.4, 3.3.2.1, B
[48] R. J. Leveque. Finite Volume Methods for Hyperbolic Problems. Cambridge University
Press, 2003. 2.4
[49] H. Nessyahu and E. Tadmor. Non-oscillatory central differencing for hyperbolic
conservation laws. J. Comput. Phys., 87:408463, 1990. 3.2.1
[50] C.W. Shu and S. Osher. Efficient implementation of essentially non-oscillatory shock
capturing schemes. J. Comput. Phys., 77:439, 1988. 3.2.1, 3.3.1.6
[51] C.W. Shu and S. Osher. Efficient implementation of essentially non-oscillatory shock
capturing schemes II. J. Comput. Phys., 83:32, 1989. 3.2.1, 3.3.1.6
[52] H.S. Udaykumar, L. Tran, D.M. Belk, and K.J. Vanden. An Eulerian method for
computation of multi-material impact with ENO shock capturing and sharp interfaces.
J. Comput. Phys., 186:136177, 2003. 3.2.1, 3.3.1.6, 3.3.2.3
[53] G. Jiang and C.W. Shu. Efficient implementation of weighted ENO schemes. J. Comput.
Phys., 126:202, 1996. 3.2.1, 3.3.1.6
[54] X.D. Liu, S. Osher, and T. Chan. Weighted essentially non-oscillatory schemes. J.
Comput. Phys., 115:200, 1994. 3.2.1, 3.3.1.6
[55] X. D. Liu and S. Osher. Convex ENO High Order Multi-dimensional Schemes without
Field by Field Decomposition or Staggered Grids. J. Comput. Phys., 142:304330, 1998.
3.2.1
[56] D.R. van der Heul, C. Vuik, and P. Wesseling. Stability analysis of segregated solution
methods for compressible flow. Appl. Numer. Math., 38:257274, 2001. 3.2.3
[57] G.A. Sod. A survey of several finite difference methods for systems of nonlinear
conservation laws. J. Comput. Phys., 27:131, 1978. 3.3.1.1
[58] P.D. Lax. Weak solutions of nonlinear hyperbolic equations and their numerical
approximations. Comm. Pure Appl. Math., 7:15993, 1954. 3.3.1.2
[59] P. Woodward and P. Colella. The numerical simulation of two-dimensional fluid flow
with strong shocks. J. Comput. Phys., 54:115, 1984. 3.3.1.6
101

[60] C.E. Brennen. Cavitation and Bubble Dynamics. Oxford University Press, 1995. 3.3.2.1
[61] F.G. Hammitt. Cavitation and Multiphase Flow Phenomena. McGraw-Hill, 1980.
3.3.2.1
[62] F.R. Young. Cavitation. McGraw-Hill, 1989. 3.3.2.1
[63] A. Wardlaw. Underwater explosion test cases. In Technical Report IHTR 2069,
ADB238684, Office of Naval Research, 1998. 3.3.2.1, 3.3.2.3, 3.3.2.3, 4.2, 4.4.1, 4.4.1
[64] M. Sussman. A second order coupled level set and volume-of-fluid method for computing
growth and collapse of vapor bubbles. J. Comput. Phys., 187:110136, 2003. 3.3.2.1,
4.2, 4.2, 4.3.2.5, A.2
[65] M. Sussman and E.G. Puckett. A coupled level set and volume-of-fluid method for
computing 3D and Axisymmetric incompressible two-phase flows. J. Comput. Phys.,
162:301337, 2000. 3.3.2.1, 4.2, 4.3.2.5
[66] B. Koren, M. R. Lewis, E.H. van Brummelen, and B. van Leer. Riemann problem and
level set approaches for homentropic two-fluid flow computations. J. Comput. Phys.,
181:654674, 2002. 3.3.2.4, 3.3.2.4, 3.3.2.4
[67] M.J. Berger and J. Oliger. Adaptive mesh refinement for hyperbolic partial differential
equations. J. Comput. Phys., 53:484512, 1984. 4.1
[68] M.J. Berger and P. Colella. Local adaptive mesh refinement for shock hydrodynamics.
J. Comput. Phys., 82:6484, 1989. 4.1
[69] J.B. Bell, M.J. Berger, J.S. Saltzman, and M. Welcome. Three Dimensional Adaptive
Mesh Refinement for Hyperbolic Conservation Laws. SIAM J. Sci. Statist. Comput.,
15:127138, 1994. 4.1
[70] E. Steinthorsson, D. Modiano, W.Y. Crutchfield, J.B. Bell, and P. Colella. An adaptive
semi-implicit scheme for simulations of unsteady viscous compressible flow. In In 12th
AIAA Computational Fluid Dynamics Conference, June 1995. Orlando, FL. 4.1
[71] W.C. Skamarock and J.B. Klemp. Adaptive grid refinement for two dimensional and
three dimensional nonhydrostatic atmospheric flow. Monthly Weather Review, 121:788
804, 1993. 4.1
[72] A.S. Almgren, J.B. Bell, P. Colella, L.H. Howell, and M.L. Welcome. A conservative
adaptive projection method for the variable density incompressible Navier-Stokes equations. J. Comput. Phys., 142:146, 1998. 4.1, 4.3.1, 4.3.1, 4.3.1, 4.3.2
[73] R.B. Pember, L.H. Howell, J.B. Bell, P. Colella, W.Y. Crutchfield, W.A. Fiveland, and
J.P. Jessee. An adaptive projection method for unsteady low-Mach number combustion.
Comb. Sci. Tech., 140:123168, 1998. 4.1
[74] L.H. Howell and J.B. Bell. An adaptive-mesh projection method for viscous incompressible flow. SIAM J. Sci. Comput., 18:9961013, 1997. 4.1
102

[75] M.L. Minion. A projection method for locally refined grids. J. Comput. Phys., 127:158
178, 1996. 4.1
[76] A.S. Almgren, J.B. Bell, and W.G. Szymczak. A numerical method for incompressible
Navier-Stokes equations based on an approximate projection. SIAM J. Sci. Comput.,
17:358369, 1996. 4.1
[77] A.S. Almgren, J.B. Bell, L.H. Howell, and P. Colella. An adaptive projection method
for incompressible Navier-Stokes equations. In In Proceedings of the IMACS 14th World
Conference, July 1994. Atlanta, GA. 4.1
[78] T.L. Clark and R.D. Farley. Severe downslope windstorm calculations in two and three
spatial dimensions using anelastic interactive grid nesting: A possible mechanism for
gustiness. J. Atmos. Sci., 41:329350, 1984. 4.1
[79] D.E. Stevens and C.S. Bretherton. A forward-in-time advection scheme and adaptive
multilevel flow solver for nearly incompressible atmospheric flow. J. Comput. Phys.,
129:284295, 1996. 4.1
[80] M.J. Berger and I. Rigoustsos. An algorithm for point clustering and grid generation.
In Technical Report NYU-501, 1991. New York University-CIMS. 4.3.1
[81] S. Y. Kadioglu, M. Sussman, S. Osher, J. P. Wright, and M. Kang. A Second Order
Primitive Preconditioner For Solving All Speed Multi-Phase Flows. J. Comput. Phys.,
to appear, 2004. 4.3.2, 4.3.2.2, 4.3.2.4
[82] C.A. Rendleman, V.E. Beckner, M. Lijewski, W.Y. Crutchfield, and J.B. Bell. Parallelization of structured, hierarchical adaptive mesh refinement algorithms. Computing
and Visualization in Science, 3:147157, 2000. 4.3.2
[83] B. van Leer. Toward the ultimate conservative difference scheme ii. monotonicity and
conservation combined in a second order scheme. J. Comput. Phys., 14:361370, 1974.
4.3.2.1, 4.3.2.2

103

BIOGRAPHICAL SKETCH

Samet Y. Kadioglu
Samet Y. Kadioglu was born on November 1, 1975, in a village (Baykara), Kars-Turkey.
In the spring of 1996, he completed his Bachelor degree as an honors student in Pure
Mathematics at Ankara University (Turkey). He obtained his Masters degree in the spring of
1998 under the advisement of Sait Halicioglu, also in Pure Mathematics at Ankara University.
In the fall of 1998, he earned his English certificate from Middle East Technical University
(Turkey). In the summer of 1999, he was awarded a full scholarship from the Turkish
Government Ministry of Education to pursue a PhD degree in the USA, in the field of
Instructional Systems and Technology. After spending one semester in the Educational
College at Florida State University, he went back to his real love, Mathematics. He
enrolled in Applied and Computational Mathematics graduate program at Florida State
University in the Fall of 1999. In the summer of 2005, under the supervision of Mark
Sussman, he graduated from Florida State University with MS & PhD degrees in Applied
and Computational Mathematics.
Samets research interests include Numerical Analysis, Numerical Solutions of Partial
Differential Equations, Computational Fluid Dynamics, High Performance Scientific Computing.

104

You might also like