© All Rights Reserved

2 views

© All Rights Reserved

- CBSE Class 8 Introduction to Graphs Assignment 4
- Fluent Tutorials Cornell University
- 0521888131OOP
- ma3H0
- Theory
- Special Mathematics
- Newton Raphson Method
- Historical Comments on Finite Elements Oden
- Virtual Work Principle
- f 0351028031
- Sample 7394
- Lesson Plan
- Maths Sample Paper 12
- matemarticas
- printable-act-practice-test-pdf-2013-2014.pdf
- CJR DE II
- IEO_Syllabus_Third_Year-Computer_Science_Engineering.pdf
- untitled document
- Numerical Methods Questions and Answers
- lesson plan day 6

You are on page 1of 140

in Complex Geometries

by

Doctor of Philosophy

Department of Mathematics

September 2013

UMI Number: 3602695

The quality of this reproduction is dependent upon the quality of the copy submitted.

In the unlikely event that the author did not send a complete manuscript

and there are missing pages, these will be noted. Also, if material had to be removed,

a note will indicate the deletion.

UMI 3602695

Published by ProQuest LLC (2013). Copyright in the Dissertation held by the Author.

Microform Edition ProQuest LLC.

All rights reserved. This work is protected against

unauthorized copying under Title 17, United States Code

ProQuest LLC.

789 East Eisenhower Parkway

P.O. Box 1346

Ann Arbor, MI 48106 - 1346

c Sandra Monika May

Dedication

iii

Acknowledgements

First and foremost, I would like to thank my advisor Professor Marsha Berger. With-

out her extraordinary insight in a wide range of computational challenges and her contin-

ual support and enthusiasm, this work would not have been possible. I am also grateful

for her help during my postdoc applications and my summer internships at Lawrence

Berkeley National Laboratory (LBNL). But above all, I appreciate the fact that her door

Another big thank you goes to my collaborators at the Center for Computational

Sciences and Engineering at LBNL, in particular to John Bell, Ann Almgren, and Andy

Nonaka. I had two wonderful and productive summers in Berkeley, both of which became

I am also grateful to all the professors at Courant that I have met, taken courses

from, and have collaborated with on research. It has been a pleasure to study at a place

with such a distinguished, broad, and vibrant numerical community. I would especially

like to thank Professor Olof Widlund for being an additional mentor throughout my

PhD. I would also like to thank Professor Margaret Wright for her help with the LP

limiter. Another thank you goes to the members of my thesis committee for their help

and feedback: Professors Marsha Berger, Aleksandar Donev, Jonathan Goodman, Leslie

Greengard, and Olof Widlund. Furthermore, I would also like to thank my former advisor

Professor Rolf Rannacher from the University of Heidelberg for his scientific advice over

the years and for providing me with a thorough foundation in numerical analysis.

A special thank you goes to all my wonderful friends at Courant, who have not only

been scientific peers but who have also encouraged me to take breaks and have enriched

Andras Pataki, Jim Portegies, Adam Stinchcombe, Giulio Trigila, and Irena Vankova, as

well as the Machu-Picchu-travelers and my Volleyball teammates, thank you all. And

for her reliable support through times of minor and major crises, I would like to thank

iv

Tamar Arnon.

Finally, I would like to thank my family, particularly my parents, for their never-

ending support throughout my life and especially in the past five years, when my studies

have taken me far from home. And the very last thank you is for Ulli for being

an essential part of my life, for providing constant encouragement and advice, and for

v

Abstract

In this dissertation, we develop Cartesian embedded boundary methods for flow around

bodies with complicated geometries. These methods, also referred to as cut cell methods,

cut the body out of a regular Cartesian grid. As a result, most of the grid is regular but

special methods must be developed for the cut cells that intersect the solid boundary.

The dissertation is divided in three parts. The first part describes a mixed explicit

implicit scheme for solving the linear advection equation. It couples an explicit finite

volume scheme to an implicit scheme on only the cut cells. This approach avoids the

small cell problem that standard explicit finite volume methods are not stable on

arbitrarily small cut cells. We examine two different ways of handling the coupling. We

refer to them as cell bounding and flux bounding, depending on the kind of information

that is used as input for the implicit scheme. For using flux bounding on our model

problem, we prove a TVD result. We also examine different candidates for the implicit

scheme. Numerical results in two dimensions for the resulting scheme indicate second-

order accuracy in the L1 norm and between first- and second-order accuracy in the L

norm.

The second part describes the extension of an existing projection algorithm for the

The mixed explicit implicit scheme is the main ingredient for extending the advection

step to cut cells. We also adjust all operators used in the projection step. We present

In the third part of this work we present a new slope limiter designed for cut cells.

Standard slope limiters do not easily apply to cut cells. Most practitioners use a scalar

limiter, where all components of a gradient are limited by the same scalar. We develop

a new limiter based on solving a tiny linear program for each cut cell, which separately

limits the x and y slope in a linearity preserving way. We present computational results

vi

Contents

Dedication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi

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

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

Introduction 1

Notation 5

1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

vii

2.5 Conclusions and future work . . . . . . . . . . . . . . . . . . . . . . . . . 75

3 The LP limiter 77

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Conclusions 105

Bibliography 117

viii

List of Figures

1.4 Two approaches for switching the schemes: cell bounding and flux bounding 15

ix

2.2 Interpolation from cell centroids to edge midpoints . . . . . . . . . . . . . 70

x

List of Tables

xi

Introduction

Cartesian embedded boundary methods, also referred to as cut cell methods, were

developed in recent years for computing fluid flow around bodies with complicated ge-

ometries. They cut the flow body out of a regular Cartesian grid, as illustrated in Figure

1.

circle burner

Cut cell methods are an alternative to methods employing body fitted or unstructured

grids. Body-fitted grids are significantly harder to generate for complicated objects. The

use of unstructured grids necessitates more complicated methods, which are harder to

parallelize. For cut cell methods, most of the grid is regular and standard methods for

Cartesian grids can be used. Special methods must be developed for the cut cells, which

1

Cut cells can have irregular shape. In two dimen-

Figure 2: Close-up of the em-

trarily small.

bedded boundary.

The irregular geometry of cut cells causes various

numerical problems; e.g., special methods for slope reconstruction and limiting must

be developed. The biggest challenge for cut cell methods is the small cell problem for

hyperbolic problems: explicit finite volume methods using a time step constraint coupled

to the size of regular Cartesian cells are not stable on the arbitrarily small cut cells.

This is not an issue for steady-state problems since local time stepping can be used, and

explains the early popularity of cut cell methods for this problem type [41, 48, 49, 55].

For unsteady flow the small cell problem must be overcome. One common approach is

cell merging. There, cut cells that are too small are merged with neighboring cells. Then,

standard methods that are adjusted to the irregular geometry of cut cells can be used.

Different versions have been developed by, e.g., Chiang et al. [35], Quirk [97], Falcovitz

et al. [51], Causon et al. [33], Hunt [72], Ji et al. [77], and Hartmann et al. [64, 65]. While

the idea of cell merging is very simple, the practical implementation, in particular in

Another approach to the small cell problem is to develop algorithms that can han-

dle arbitrarily small cells. The flux redistribution method, originally developed for shock

tracking by Chern & Colella [34], was extended to embedded boundary problems by Pem-

ber et al. [95] and Colella et al. [46, 47]. The method has successfully been used in two-

and three-dimensional simulations, but it is only first order accurate at the embedded

boundary. The h-box method developed by Berger, Helzel, and LeVeque [2325, 27, 66]

2

guarantees stability on small cut cells by constructing numerical fluxes that possess a

along the boundary, but there does not exist a three-dimensional implementation due to

its complexity.

In this dissertation, we do not use cell merging but develop specialized methods for

potentially very small cut cells. One major goal of our work has been to develop a

solution to the small cell problem that is second order at the embedded boundary but

In the following, we assume that the reader is familiar with finite volume methods

on Cartesian grids [82, 106]. To make second-order accuracy possible, we treat the cell

values of conserved quantities (density, etc.) as point values at the center of mass of a

cell. For cut cells, the center of mass must be calculated as part of the grid generation

process. We focus on cut cell methods in two dimensions throughout this work, but for

all our methods the possibility of straightforward extension to three dimensions has been

The dissertation is split in three parts. In each chapter, a more detailed discussion

In Chapter 1, we focus on solving the small cell problem for the linear advection

implicit scheme on cut cells only. We examine various ways of handling the coupling

and various implicit candidates for the one-dimensional problem. The most promising

version is then extended to two dimensions. Numerical results imply that our resulting

scheme is second order in the L1 norm and between first and second order in the L

norm.

The mixed explicit implicit scheme is then used in Chapter 2 to solve the incompress-

ible Euler equations. We extend an existing projection method by Bell et al. [7, 9, 19, 20]

from Cartesian meshes to embedded boundary meshes. This method uses an explicit

3

scheme to predict velocities at the next time step neglecting the incompressibility con-

dition. The mixed explicit implicit scheme is the main ingredient for extending this

part of the projection algorithm to cut cells. We also adjust the projection operator to

ators. We present preliminary numerical results employing the full projection algorithm

Chapter 3 is devoted to a different aspect of cut cell methods: the limiting of recon-

structed slopes on cut cells. Standard slope limiters cannot easily be used on cut cells

as their centroids do not align with neighboring cell centroids. Most practitioners use a

scalar limiter that limits the x and y slope with the same scalar . We use two different

scalars x and y for the two gradient components. We formulate the limiting as a

tiny linear program (LP) and suggest a very efficient method to solve these problems.

Numerical results show a significantly improved accuracy for the LP limiter compared

to the scalar limiter. This work has been published by May & Berger [87].

4

Notation

We begin by introducing some notation that we will use throughout the dissertation.

C S

cells, cut cells, and solid cells. The latter refers to cells C

F C

that are fully covered by the body. The three types are C

illustrated in Figure 3. F F F

these are flow cells that are edge neighbors of cut cells,

Figure 3: Three main cell

compare Figure 1.7. This term is not part of the stan-

types introduced by the cut:

dard terminology. We will introduce this cell type to

F denotes a flow cell, C a

refer to the cells on which we switch between the ex-

cut cell, and S a solid cell.

plicit and implicit time stepping scheme.

We note that we will not consider split cells in this dissertation. These are Carte-

sian cells that have been split into disjoint volumes by the geometry. Split cells add

much complexity to the implementation but do not change the fundamental numerical

algorithms.

As usual for finite volume methods, qij is the numerical approximation to the aver-

age value of the variable q on cell (i, j). For second-order accurate methods, this is a

sufficiently good approximation to the solution value at the centroid (center of mass) of

the cell. We will therefore think of qij as the numerical approximation to the value at

5

the cell centroid. We often say, informally, that qij is located at the cell centroid.

(xij , yij ) refers to the centroid coordinates of a

qi+1/2,j

cell, and (xi+1/2,j , yi+1/2,j ) to the coordinates qij

of the edge centroid of edge (i + 1/2, j). For a qi1/2,j

Figure 4: Notation used to denote the

centered) variable is an approximation of the

cell centered and edge centered vari-

value at this shifted location. This is in con-

ables.

trast to the approach taken by Colellas group

at Lawrence Berkeley National Laboratory (LBNL); they interpret the value qij for a

cut cell (i, j) as the value at the Cartesian center of the corresponding uncut cell.

By i+1/2,j , i,j+1/2 [0, 1] we refer to the area fractions of a cut cell of edges (i +

1/2, j) and (i, j + 1/2), respectively, compared to a Cartesian cell. The case i+1/2,j = 0

corresponds to a non-existing edge. The volume fraction, defined as the volume of a cut

cell divided by the volume of a Cartesian cell, is denoted by ij (0, 1]. (For our model

problem in one dimension in Chapter 1, we will use to denote the volume fraction of

Finally, we try to reserve the letter U for velocity; not always successfully though.

In two dimensions, capital U or bold u refer to the two velocity components (u, v),

whereas little u and little v refer to the velocity in the x and y direction only.

6

Chapter 1

stepping scheme

1.1 Introduction

st + (us) = 0

in one and two space dimensions on a Cartesian embedded boundary grid. Here, s(x, t)

represents an advected scalar field and u(x) denotes a given smooth, divergence-free

The main issue in solving the linear advection equation on a cut cell grid is the so

called small cell problem: for most (explicit) finite volume schemes, the time step t is

coupled to the size of a cell by means of the CFL condition. Cut cells can be arbitrarily

small. We want to use a scheme for which t is chosen according to the size of regular

Two well known methods that have this stability property are the flux redistribution

method [46, 47, 95] and the h-box method [27, 66]. The flux redistribution method

7

redistributes fluxes from small cut cells to neighboring cells in a volume-weighted way.

It has successfully been used in two- and three-dimensional simulations. However, the

redistribution leads to a loss of accuracy around the boundary of the object. The resulting

scheme is second order globally in L1 but only first order in L . In many interesting

the solution along the boundary is very important. Therefore, a higher order method

The h-box method extends the domain of dependence of a cut cell to guarantee

stability. To do so, h-boxes in various directions are constructed and rotated stencils are

used. This works very well in two dimensions. The method is second-order accurate in

both L1 and L . However, so far an extension to three dimensions is not known due to

Our goal is a solution to the small cell problem that is simple enough to be im-

plemented in both two and three dimensions and that results in second-order accuracy

at the boundary. Our approach is the following: we will use an implicit time stepping

scheme on cut cells to guarantee stability. Away from the cut cells we will use an explicit

scheme to avoid excessive cost. This necessitates switching between two different time

stepping schemes. The goal of this chapter is to find a good way to switch. Examining

efficient ways to solve the resulting implicit systems will be future work.

This approach is different from using IMEX (implicit - explicit) Runge-Kutta schemes

as, e.g., described by Ascher et al. [12]. In such a scheme, an equation of the form

ut + f (u) + g(u) = 0 is solved and an explicit scheme is used for the operator f and

an implicit scheme is used for the operator g. One common instance is the solution of

advection-diffusion equations, for which one often treats the diffusion term implicitly

and the advection term explicitly. In the scheme described in this chapter we solve an

equation of the form ut + f (u) = 0 and treat f explicitly in one part of the grid and

8

This chapter is structured as follows: In Section 1.2, we focus on theory in one

dimension. We first present our explicit scheme, the MUSCL scheme. Then, we discuss

several ways of switching between the explicit and implicit scheme and provide theoretical

results about their monotonicity and mass conservation properties. Next, we examine

several implicit schemes that might be suitable for our mixed time stepping scheme for

in one dimension. We present the explicit scheme used in two dimensions, describe how

we switch between the explicit and implicit scheme, and give details for the implicit

scheme. In Section 1.4, we present numerical results for one of the two potential can-

didates identified in Section 1.2, the trapezoidal rule. We conclude this chapter with

thoughts about future work in two dimensions and a discussion of the extension to three

dimensions.

ut

= . (1.2)

x

This section provides the theoretical part of the scheme development. Some numerical

As explicit scheme in our mixed explicit implicit method, we use the MUSCL scheme

(Monotonic Upwind Scheme for Conservation Laws). The MUSCL scheme was originally

9

introduced by van Leer [109] and extended by Colella [43]. It has been used in many

scientific codes.

Our main reason for using the MUSCL scheme, besides it being a good scheme, is the

following: The mixed scheme developed for linear advection equation in this chapter will

projection method for Cartesian grids to Cartesian embedded boundary grids. The use

of the MUSCL scheme allows us to easily use the incompressible flow algorithms and

We describe the version of MUSCL we use. The approximate solution values are

n+1/2 n+1/2

sn+1

i = sni si+1/2 si1/2 .

n+1/2

It uses time and space centered edge states si+1/2 . To construct the edge states, we

first reconstruct estimated slopes snx,i x s(xi , tn ). This is described below. Then we

n+1/2,L n+1/2,R

estimate left and right states si+1/2 and si+1/2 of edge i + 1/2 at time tn+1/2 , see

n+1/2,L x n t n

si+1/2 = sni + s + s ,

2 x,i 2 t,i

n+1/2,R x n t n

si+1/2 = sni+1 sx,i+1 + s .

2 2 t,i+1

n+1

sn+1

i1 sn+1

i sn+1

i+1

t

n+1/2,L n+1/2,L n+1/2,L

si1/2 si+1/2 si+3/2

n+1/2,R n+1/2,R n+1/2,R

si3/2 si1/2 si+1/2

tn

sni1 sni sni+1

10

Here, snt,i t s(xi , tn ). We replace the unknown time derivative st by the space derivative

n+1/2,L x n t x

si+1/2 = sni + s u snx,i = sni + (1 )snx,i , (1.3a)

2 x,i 2 2

n+1/2,R x n t x

si+1/2 = sni+1 sx,i+1 u snx,i+1 = sni+1 (1 + )snx,i+1 . (1.3b)

2 2 2

n+1/2

The state si+1/2 is then given by upwinding. Therefore, for our model problem, the

n+1/2,L n+1/2,L

sn+1

i = sni si+1/2 si1/2 . (1.4)

Based on its construction, the MUSCL scheme is second-order accurate for unlimited

slopes.

can choose any of the classical one-dimensional limiters [82, 104] as the MUSCL scheme

is used on the equidistant part of the grid. Typically, we use the monotonized central

difference (MC) limiter [109]. We note that in the case of piecewise constant data, i.e.,

n+1/2,L

without slope reconstruction, si+1/2 = sni . In this case, the MUSCL scheme coincides

with the classical upwind method/with using explicit Euler time stepping.

To study the small cell problem, we consider the model problem shown in Figure 1.2:

We assume an equidistant grid of width x except for cell 0, which has length x,

(0, 1]. The factor denotes the volume fraction (compared to a regular cell).

Using a conservative update formula, the update on the small cell takes the form

t h i

sn+1

0 = sn0 F1/2 F1/2 .

x

11

x x x x x

tn+1

tn

-2 -1 0 1 2

Figure 1.2: 1d model problem: Equidistant grid with one small cell of length x labeled

as cell 0.

Many standard finite volume schemes, such as the upwind scheme and MUSCL with

ut

0< <1

x

for stability. Therefore, we would need to choose t based on the size of the small cell.

ut

= < 1.

x

In that case, the value on the small cell may blow up for small, provided fluxes are

computed by a standard explicit finite volume scheme. The idea of the h-box method is

to construct special fluxes such that F1/2 F1/2 = O() to avoid this.

Our approach to overcome the small cell problem is to treat the small cell implicitly.

For unlimited slope reconstruction, we use second order central slopes given by snx,i =

(sni+1 sni1 )/(2x) wherever possible. But this is inappropriate at cells 1, 0, and 1.

12

Instead we use a least squares slope reconstruction. We define

xi+1 xi si+1 si

r= sx,i

xi1 xi si1 si

and find sx,i as the least squares solution to minsx,i krk2 . Some algebra gives

sx,i = D + s i + D si ,

(xi+1 xi )2 + (xi xi1 )2 (xi+1 xi )2 + (xi xi1 )2

with D+ si = (si+1 si )/(xi+1 xi ) and D si = (si si1 )/(xi xi1 ). The least squares

gradient is linearity preserving, i.e., exact for a linear function. On a uniform grid, it

For limited slope reconstruction, we use the minmod limiter. This limiter extends

cell centroids and makes sure to not over/undershoot the neighboring cells value. For

sminmod

x,i = minmod (D si , D+ si ) ,

a if |a| < |b| and ab > 0,

minmod(a, b) = b if |b| < |a| and ab > 0, (1.5)

0

if ab 6 0.

For a mixed explicit implicit scheme, we need to switch from the explicit scheme to

the implicit one and back. Some important criteria for this switch are

13

tn+1 updated by

explicit

scheme

tn

-3 -2 -1 0 1 2 3

Figure 1.3: Explicit cells have been updated (empty circles), the neighborhood of the

small cell has not yet been done.

3. to minimize the loss of accuracy when switching between the explicit and implicit

scheme,

4. to keep the number of cells treated implicitly as small as possible in order to keep

We will consider the third point in more detail in Section 1.2.5, where we will discuss

suitable implicit schemes to use. For now, we focus on the other three criteria.

For the discussion in this subsection we will focus on using implicit Euler as the

implicit scheme. This scheme is unconditionally SSP (strong stability preserving) [59,

Lemma 6.1]. There does not exist a second-order scheme with this property [80, 102].

Euler, it probably will also cause problems when combined with a higher-order implicit

scheme. For the explicit scheme, we will use the MUSCL scheme or explicit Euler time

stepping.

We first update the explicit cells and then update the implicitly treated cells. We

consider two different approaches, which we call cell bounding and flux bounding. We

will show that a mixed scheme using flux bounding has better stability and monotonicity

14

tn+1 impl. scheme

influence of

expl. on impl.

tn

scheme

-3 -2 -1 0 1 2 3

n+1 n+1

(a) Cell bounding: values s2 and s2 are input for implicit scheme.

influence of

expl. on impl.

tn

scheme

-3 -2 -1 0 1 2 3

(b) Flux bounding: fluxes F3/2 and F3/2 are input for implicit scheme.

Figure 1.4: Two approaches for switching the schemes: cell bounding and flux bounding.

Before examining the two options in detail, we give the main ideas. Consider Figure

1.3. Here, all cells except for cells 1, 0, and 1 have been updated to time tn+1 using an

2 as input for the implicit scheme

that is applied on cells 1, 0, and 1. This is shown in Figure 1.4(a). We refer to this

Another possibility is to employ the fluxes of the explicit scheme: in order to update

cell 2, we assumed a certain flux F3/2 (given by the explicit scheme). We can consider

this flux as given. The same holds true for F3/2 . This is shown in Figure 1.4(b). In this

case, we only compute fluxes F1/2 and F1/2 using the implicit scheme. We refer to this

15

1.2.4.2 Cell bounding

Here, we use the first-order upwind scheme as the explicit scheme. We first update

all cells except for cells 1, 0, and 1 using the upwind scheme. In particular this implies

sn+1 n n n

2 = s2 s2 s3 ,

sn+1

2 = sn2 (sn2 sn1 ) .

sn+1 n n+1 n+1

1 = s1 s1 s2 ,

n+1

sn+1

0 = sn0 s0 sn+1

1 ,

s1n+1 = sn1 sn+1

1 sn+1

0 .

(Note that the volume of the small cell is given by x.) We know sn+1

2 from applying

2 , we can solve for s1 , from which we get

sn+1

0 , which then is used to compute sn+1

1 .

This scheme however is not conservative. When updating cell 2 using the explicit

scheme, we assumed that the flux usn2 is leaving cell 2. But when we updated cell 1

2 is entering cell 1. There is

step. We focus on the problem between cells 2 and 1. Two possible options to fix

2 using the explicit scheme,

16

compute sn+1 n+1 n+1

1 using the implicit scheme, adjust s2 resulting in s2 , i.e,

sn+1 n n n

2 = s2 s2 s3 , (1.6a)

sn+1 n n+1 n+1

1 = s1 s1 s2 , (1.6b)

2 = s2 + s2 s2 . (1.6c)

2 using the explicit scheme, compute preliminary

1 using the implicit scheme, adjust s1 resulting in s1 , i.e.,

sn+1 n n n

2 = s2 s2 s3 , (1.7a)

sn+1 n n+1 n+1

1 = s1 s1 s2 , (1.7b)

1 = s1 + s2 s2 . (1.7c)

We will show that cell bounding with either of these two options might destroy

Lemma 1.1. The scheme (1.7) can create overshoot and is not monotonicity preserving.

Proof. Suppose sni = 0 for i 6 3 and sni = 1 for i > 2. A short computation shows

3

sn+1

1 = 1 + > 1,

1+

for > 0. This is outside of the range of values of sni and therefore an overshoot. Also,

i = 1 for i > 3.

We now consider the scheme (1.6), which fixes the explicit cells. This scheme can

i

51

Lemma 1.2. The scheme (1.6) is not monotonicity preserving or TVD for 2 ,1 .

17

0 1

-3 -2 -1 0 1 2 3

(a) given data at tn

0 1

-3 -2 -1 0 1 2 3

n+1

(b) computed solution at t

Figure 1.5: Data at tn and computed solution for explicit Euler and implicit Euler time

stepping and fixing explicit cells -2 and 2 for = 0.9 and = 1. (Even though we use

= 1 for simplicity we still apply the mixed explicit implicit scheme (1.6).)

Proof. Consider again sni = 0 for i 6 3 and sni = 1 for i > 2. We show that the

i

51

solution at time tn+1 is not monotone for 2 ,1 . The behavior is illustrated in

1 + 2

sn+1

2 = 1 +

2

and sn+1

1 = .

1+

Therefore,

sn+1 n+1

2 6 s1 2 + 1 6 0.

5+1 51

This is true for > 2 and 6 2 0.62.

The idea of flux bounding is shown in Figure 1.4(b). We first update all cells except

for cells 1, 0, and 1 using explicit Euler time stepping. For cells 2 and 2 this implies

sn+1 n n n

2 = s2 s2 s3 ,

sn+1

2 = sn2 (sn2 sn1 ) .

18

Therefore, the fluxes F3/2 = usn2 and F3/2 = usn1 are already determined from the

explicit scheme. We want to use the implicit Euler scheme on the small cell 0. This

sn+1 n n+1 n

1 = s1 s1 s2 , (1.8a)

n+1

sn+1

0 = sn

0 s sn+1

1 , (1.8b)

0

sn+1

1 = sn1 sn1 sn+1

0 . (1.8c)

Note that both cells 1 and 1 are transition cells with one flux computed explicitly and

the other one implicitly. We refer to these cells as irrflow cells: they are full Cartesian

j = H(sn ; j)

is said to be monotone if

H n

(s ; j) > 0, i, j, sn .

sni

Lemma 1.3. Consider explicit Euler time stepping coupled to implicit Euler time step-

ping through flux bounding as described in (1.8). The resulting scheme is monotone for

i

19

for the implicitly treated cells can be rewritten as

1 n n

sn+1

1 = s1 + s ,

1+ 1 + 2

1 1 1 n n

sn+1 = s n

+

sn+1 = sn +

s + s ,

0 0

1+ 1+ 1

1+ 0

1+

1 + 1 1 + 2

sn+1

1 = (1 ) sn1 + s0n+1 .

1 , s0 , and sn+1

1 can be written as convex combinations of data at

This result is good start. For combining the MUSCL scheme with implicit Euler,

however, we cannot expect to get a monotone scheme as monotone schemes are known

to be at most first-order accurate [84, Ch. 15]. One desirable property for the mixed,

are a subclass of monotone schemes and TVD schemes are monotonicity preserving: for

i , the solution {sn+1

i } is monotone in the same sense.

This implies that around an isolated discontinuity, which has monotone data, spurious

oscillations cannot occur. (For more detailed information see Toro [106, Ch. 13] and

j = H(sn ; j) is said to be TVD if

T V (sn+1 ) 6 T V (sn )

X

T V (s) = |si si1 |.

i=

The standard way to show that a scheme is TVD is to employ the theorem by Harten

n

[63]. This theorem gives criteria for Ci1/2 n

and Di+1/2 , which are sufficient for a scheme

20

of the form

n

sni sni1 + Di+1/2

n

sni+1 sni

i (1.9)

n

to be TVD. The coefficients Ci1/2 n

and Di+1/2 are often functions of the solution sni .

Using Hartens theorem, see [63, 82, 106], it is straightforward to show the following

lemma.

Lemma 1.4. The MUSCL scheme with minmod limiter is TVD for the linear advection

x x

sn+1

i = sni sni + (1 )snx,i sni1 (1 )snx,i1 .

2 2

n

Comparing with the form (1.9) in Hartens theorem, we set Di+1/2 = 0 and define

n

sni + (1 )snx,i x n n x

2 si1 (1 )sx,i1 2

Ci1/2 = ,

sni sni1

snx,i snx,i1

!

x x

= 1+ (1 ) n (1 ) .

2 si sni1 2 sni sni1

x snx,i 1 x snx,i1 1

06 n n 6 , 06 n n 6 .

2 si si1 2 2 si si1 2

Therefore,

1 1

n

1 (1 ) 6 Ci1/2 6 1 + (1 ) .

2 2

n

For 0 6 6 1, this implies 0 6 Ci1/2 6 1. This concludes the proof.

We now consider the mixed scheme using MUSCL as explicit scheme and implicit

Euler without slope reconstruction as implicit scheme, applied to our model problem,

21

i.e.,

..

.

x x

sn+1 n n n

3 = s3 s3 + (1 )sx,3 sn4 (1 )snx,4 , (MUSCL)

2 2

x

sn+1

2 = sn2 sn2 sn3 (1 )snx,3 ,

2

h i

sn+1 n n+1 n

1 = s1 s1 s2 ,

h n+1 i

sn+1

0 = sn0 s0 sn+1

1 ,

h i

sn+1

1 = sn1 sn1 sn+1

0 ,

x

sn+1

2 = sn2 sn2 + (1

,)snx,2 sn1

2

n x n x

sn+1

3

n n

= s3 s3 + (1 )sx,3 n

s2 (1 )sx,2 , (MUSCL)

2 2

..

. (1.10)

(Note that we dropped slopes for fluxes F3/2 and F3/2 .) We cannot directly use Hartens

theorem to show that this scheme is TVD, but we can reuse the idea of its proof.

n

sni sni1

i

n

with suitably defined Ci1/2 n

, which fulfill 0 6 Ci1/2 6 1. This relation holds on all cells

i 6 3 and all cells i > 3 as well as on cells 2 and 2 (where we drop the slopes on one

22

side). Therefore, for i 6 3 and i > 2, there holds

|sn+1 n+1

i+1 si

n

| 6 (1 Ci+1/2 )|sni+1 sni | + Ci1/2

n

|sni sni1 |,

n

|sni+1 sni | + Ci1/2

n

|sni sni1 |.

|sn+1 n+1

X X

i+1 si |6 |sni+1 sni | C5/2

n

|sn2 sn3 |

i63 i63

and

|sn+1 n+1

X X

i+1 si |6 |sni+1 sni | + C3/2

n

|sn2 sn1 |.

i>2 i>2

For the implicit part we use the convexity of the implicit Euler scheme to estimate

1 s2 |. Using the appropriate formulae there holds

1 n n

sn+1 n+1

s2 sn2 + C5/2

n

sn2 sn3 ,

1 s2 = s1 +

1+ 1+

1

sn1 sn2 + C5/2

n

sn2 sn3 .

=

1+

This implies

1

|sn+1 n+1

1 s2 | 6 |sn sn2 | + C5/2

n

|sn2 sn3 |.

1 + 1

23

We continue with sn+1

0 sn+1 n+1

1 , s1 sn+1

0 , . . . , to get the following estimates

1

|sn+1 n+1

1 s2 | 6 |sn sn2 | + C5/2

n

|sn2 sn3 |,

1 + 1

1 1

|sn+1

0 sn+1

1 | 6 |sn sn1 | +

0

|sn sn2 |,

1 + 1

1+ 1+

|sn+1

1 sn+1

0 | 6 (1 )|sn1 sn0 | + (1 )

|sn0 sn1 |

1+

+ (1 )

|sn sn2 |,

1+

1 + 1

|sn+1

2 sn+1

1

n

| 6 (1 C3/2 )|sn2 sn1 | + |sn1 sn0 |

+

|sn sn1 | +

|sn sn2 |.

1+ 0

1+

1 + 1

|sn+1 n+1

X X

i+1 si |6 |sni+1 sni |.

i i

|sn+1 n+1

|sn+1 n+1

| + |sn+1 n+1 n+1

sn+1

X X

i+1 si |= i+1 si 1 s2 | + |s0 1 |

i i63

X

1 0 2 1 |+ i+1 si |

i>2

|sn+1 n+1

X X X

i+1 si |6 |sni+1 sni | C5/2

n

|sn2 sn3 | + |sni+1 sni | + C3/2

n

|sn2 sn1 |

i i63 i>2

1 s2 | + |s0 sn+1 n+1

1 | + |s1 sn+1

0 | + |sn+1

2 sn+1

1 |. (1.11)

1 s2 | + |s0 sn+1 n+1

1 | + |s1 sn+1

0 | + |sn+1

2 sn+1

1 |

24

into its single terms results in

|sn2 sn3 | : n

C5/2 ,

1 1

|sn1 sn2 | : +

+ (1 )

+

= 1,

1+ 1+

1+ 1+

1+ 1+

1+

1

|sn0 sn1 | :

+ (1 )

+

= 1,

1+ 1+ 1+

|sn1 sn0 | : (1 ) + = 1,

|sn2 sn1 | : n

1 C3/2 .

Therefore,

1 s2 | + |s0 sn+1 n+1

1 | + |s1 sn+1

0 | + |sn+1

2 sn+1

1 |

n

6 C5/2 |sn2 sn3 | + |sn1 sn2 | + |sn0 sn1 | + |sn1 sn0 | + (1 C3/2

n

)|sn2 sn1 |.

|sn+1 n+1

X X

i+1 si |6 |sni+1 sni |.

i i

We have examined both the possibility of using cell bounding and of using flux

bounding. For cell bounding, we observe oscillations or overshoot that are caused by

the conservation fix. For flux bounding, we have shown a TVD result for using MUSCL

with implicit Euler (with piecewise constant data). Therefore, we will use flux bounding

25

1.2.5 Choice of implicit scheme

In our considerations so far, we have used implicit Euler as implicit time stepping

scheme. This scheme has very good stability properties, in particular it is unconditionally

SSP, but it is only first-order accurate. Our goal, however, is to develop a second-order

mixed explicit implicit scheme. We are looking for a second-order scheme with good

It is popular to use specific TVD/SSP Runge-Kutta schemes [58, 59, 100, 101] for

there is no second-order implicit scheme that is unconditionally SSP [80, 102]. In fact,

Denote by 0 the maximum step size for which the explicit Euler scheme is strongly

stable for a given spatial discretization. By c we denote the largest step size, such that

a second-order implicit time stepping scheme is strongly stable for 0 < t 6 c 0 . The

optimal one-stage method (optimal with respect to c) is the midpoint rule with c = 2

[53]. The factor c scales with the number of stages: for a scheme with s stages, it is

Therefore, to guarantee SSP property of the implicit scheme, when using, e.g., a two-

stage method, we could only increase the allowed time step by a factor of 4 compared to

the Euler time step constraint. Cut cells however can be arbitrarily small and we want

to choose the time step based on the size of regular Cartesian cells. Therefore, we cannot

hope to find a second-order scheme that is strongly stable on cut cells for our approach.

used to solve stiff ODEs [61, 62, 71, 83] fit our purposes. We use two theoretical tests to

26

tn+1

tn

M M M I I M M M

Figure 1.6: Sketch of scheme: mix MUSCL flux (M) and flux from implicit scheme (I).

assess the accuracy and stability properties of the resulting mixed scheme.

Test 1: (Accuracy) We apply the mixed scheme sketched in Figure 1.6 to a linear

test function and take one time step. The mixed scheme uses MUSCL as explicit

scheme and the respective implicit scheme with slope reconstruction as implicit

scheme. The connection is done by flux bounding. For simplicity, we replace all

slopes in our theoretical considerations by the true slope of the given linear test

Test 2: (Stability) We use discontinuous data sni = 1 for i 6 1 and sni = 0 for

i > 0. We take one time step and examine the value sn+1

0 , which depends on (, ),

for 0.

We note that the main purpose of Test 1 is not to assess the accuracy of the implicit

scheme but its compatibility with MUSCL. On the irrflow cells 1 and 1, which use fluxes

from both the explicit and implicit scheme, errors occur if the fluxes do not match. BDF2

(backward differentiation formula), for example, evaluates the flux at time tn+1 , whereas

MUSCL evaluates the flux at time tn+1/2 . We observe an O(x) error on cells 1 and 1

in Test 1. The same holds true for combining implicit Euler time stepping with MUSCL;

i.e., the mixed scheme consisting of MUSCL and implicit Euler with unlimited slopes is

In the following we present three implicit schemes. All of these schemes passed Test

1, i.e., did not show errors on cells 1, 0, and 1 when used in the mixed scheme. We

give the definition of the schemes based on their application to the ODE ut = f (u) and

27

focus on their behavior in Test 2. We note that all second-order candidates produce

Trapezoidal rule

t

un+1 = un + [f (un ) + f (un+1 )] . (1.12)

2

For the linear advection equation, it is similar to the implicit midpoint rule

1

u = un + tf (u ),

2

un+1 = un + tf (u ). (1.13)

2

sn+1

0 = 2 .

+1

overshoot.

To avoid this, we will use an FCT (flux-corrected transport) approach [30, 115] and

will combine the trapezoidal rule with implicit Euler. Based on Theorem 1.1 the resulting

scheme should be TVD, provided the switching between the two implicit schemes is done

28

TR-BDF2

TR-BDF2 (TR stands for Trapezoidal) is L-stable and second-order accurate [83,

p. 175]. It is given by

t

u = un + [f (un ) + f (u )] ,

4

t

un+1 = un + [f (un ) + f (u ) + f (un+1 )] . (1.14)

3

0 is roughly 1.21 for 0. However, as

the first stage is computed with the trapezoidal rule, s0 could have values up to 2. As

it is harder to use an FCT approach at the intermediate stage and this scheme is more

expensive than the trapezoidal rule, we eliminate TR-BDF2 from the list of potential

schemes.

u = un + tf (u ),

with the choice = (2 2)/2. The two values = (2 2)/2 are the only variable

values for which the resulting scheme is both second order and L-stable [61, p. 98]. Also,

for = (2 2)/2 this schemes passes Test 1, whereas for 6= (2 2)/2 we observe

an O(x) transition error. As (2 + 2)/2 > 1, we choose = (2 2)/2.

In Test 2, we found that s0 , which is computed with an implicit Euler step, has values

0 , values can increase up to approximately 1.21 for 0.

29

Table 1.1: One step error for mixed schemes

Implicit method N L1 order L order

160 4.70e-05 2.05 5.14e-03 0.90

320 1.16e-05 2.02 2.65e-03 0.95

Trapezoidal 80 2.39e-05 2.28e-03

160 2.95e-06 3.02 5.52e-04 2.04

320 3.65e-07 3.01 1.36e-04 2.02

SDIRK 80 2.59e-05 9.48e-04

160 3.18e-06 3.02 2.31e-04 2.04

320 3.94e-07 3.01 5.70e-05 2.02

We now test the mixed scheme sketched in Figure 1.6 numerically. For the implicit

part we use the trapezoidal rule, the SDIRK scheme (1.15) or implicit Euler, all combined

with unlimited slope reconstruction. As the implicit time stepping scheme is only used

for two fluxes, F1/2 and F1/2 , we expect the behavior of the MUSCL scheme, which is

We discretize the interval [0, 1 + x] to have N equal cells of length x and one

small cell in the middle of length x, = 104 . We use initial data sin 2x

1+x ,

periodic boundary conditions, and solve st + 2sx = 0 with CFL number = 0.8.

Table 1.1 shows the result for taking one time step. (We use the notation in [83]. By

one step error we refer to the error caused by taking one time step, i.e., s(t1 ) s1 ; the

one step error for the MUSCL scheme is of third order on a regular grid.) We observe

implicit Euler: the one step error measured in the L norm is of the order O(x);

trapezoidal rule or SDIRK scheme: the one step error measured in the L norm is

of the order O(x2 ). Due to the third-order one step error of the MUSCL scheme,

30

Table 1.2: Result at time T for mixed schemes

Implicit method N L1 order L order

160 3.16e-04 1.95 6.66e-03 1.05

320 8.21e-05 1.95 3.30e-03 1.01

Trapezoidal 80 2.10e-04 1.58e-03

160 5.68e-05 1.89 3.51e-04 2.17

320 1.48e-05 1.94 7.41e-05 2.24

SDIRK 80 2.04e-04 1.10e-03

160 5.59e-05 1.87 2.82e-04 1.96

320 1.47e-05 1.93 7.20e-05 1.97

To better understand this behavior, we isolate the two error sources: the irregularity

of the small cell and the switch in the scheme. Instead of switching on cells 1 and 1, we

switch away from the small cell so that overall the implicit scheme is used on one quarter

of the grid cells and MUSCL is used on the remaining three quarters. The results for

for implicit Euler: the switch in the scheme causes an O(x) error. This is due to

implicit Euler evaluating the flux at time tn+1 whereas MUSCL evaluates at time

for trapezoidal rule and SDIRK scheme: the errors caused by the switch and by

These results imply that for both our second-order implicit candidates, we make a

second-order one step error in the switch. If this error accumulated, this could result in

an overall first-order scheme. We therefore test running until time T , where T 0.5 is

chosen such that the sinusoidal curve is back to its original position (using the true

scheme with switching on cells 1 and 1). The result for this test is shown in Table

1.2. Apparently, the one step error caused by the transition between the schemes does

31

not accumulate. This behavior of the one step error accumulating in an unusual way is

an often observed phenomenon when working with non-uniform/cut cell grids, see, e.g.,

1.2.5.4 Summary

Based on the numerical test, both the trapezoidal rule and the SDIRK scheme (1.15)

with = (2 2)/2 are good candidates for the implicit scheme. In the theoretical

discontinuity test, the SDIRK scheme causes less overshoot than the trapezoidal rule,

but does not completely avoid it. The SDIRK scheme uses two stages and is therefore

twice as expensive as applying the trapezoidal rule. We will use the trapezoidal rule as

In this section we focus on extending the mixed explicit implicit approach presented

Here, s(x, t) denotes a cell centered, advected scalar field and u(x) = (u, v) denotes

u n = 0 on . (1.17)

Therefore, only an initial condition s(x, 0) = s0 (x) (and a given velocity field) is required

for a well-posed problem. We assume that the velocities are given at the edge midpoints,

As we said, small cut cells can cause stability problems. We explore solving this

32

small cell stability issue using mixed explicit implicit schemes that are implicit only near

the boundary. This will result in a layer of transition cells next to cut cells, which are

In the following, we first present the MUSCL scheme in two dimensions. Then, we

describe how we generalize the switch between the explicit and implicit scheme from

one to two dimensions. We conclude this section by giving formulae for computing the

As in one dimension, we use the MUSCL scheme as an explicit scheme. This version

of the scheme mostly coincides with the one used by Almgren et al. [7]. The main idea

is the same as in one dimension, which was described in Section 1.2.1. Taylor expansion

in time and space to determine the left and right edge states gives

n+1/2,L x n t n

si+1/2,j = snij + sx,ij + s ,

2 2 t,ij

n+1/2,R x n t n

si+1/2,j = sni+1,j sx,i+1,j + s .

2 2 t,i+1,j

We again use the equation st = usx vsy to replace the time derivative st , but we pay

n+1/2,L x n t

si+1/2,j = snij + sx,ij ui+1/2,j snx,ij + (vs

[ y )ij ,

2 2

n+1/2,R x t

si+1/2,j = sni+1,j snx,i+1,j ui+1/2,j snx,i+1,j + (vs

[ y )i+1,j .

2 2

(The b symbol is used for easy recognizability of the term (vsy )ij , which will be evaluated

n+1/2,L

in a specific manner.) Let us focus on si+1/2,j given by

x t n t [

n+1/2,L

si+1/2,j = snij + ui+1/2,j sx,ij (vsy )ij . (1.18)

2 2 2

33

We evaluate snx,ij , the normal derivative with respect to edge (i + 1/2, j), by slope recon-

reconstruction and slope limiting in the x direction: we use central difference quotients

for the unlimited gradient and the MC limiter for limited gradients. (For more detailed

[

The evaluation of the transverse derivative term (vsy )ij is more complicated. We first

use extrapolation from above and below to construct edge states using normal derivatives

n+1/2,B n+1/2,T

only; for edge (i, j + 1/2) we compute edge states si,j+1/2 and si,j+1/2 as

y t n

n+1/2,B

si,j+1/2 = snij + vi,j+1/2 sy,ij , (1.19a)

2 2

y t n

n+1/2,T

si,j+1/2 = sni,j+1 + vi,j+1/2 sy,i,j+1 . (1.19b)

2 2

Then we choose between these states using an upwinding procedure based on vi,j+1/2 to

get

n+1/2,B

si,j+1/2 , if vi,j+1/2 > 0,

n+1/2 n+1/2,T

si,j+1/2 = si,j+1/2 , if vi,j+1/2 < 0, (1.20)

n+1/2,B n+1/2,T

1 s

2 i,j+1/2+ s i,j+1/2 , if vi,j+1/2 = 0.

[ n+1/2 n+1/2 n

(vsy )ij = si,j+1/2 vi,j+1/2 si,j1/2 vi,j1/2 sij vi,j+1/2 vi,j1/2 . (1.21)

n+1/2,L

This concludes our description of the evaluation of si+1/2,j . We now use upwinding

n+1/2,L

analogous to (1.20), employing ui+1/2,j instead of vi,j+1/2 , to choose between si+1/2,j

n+1/2,R n+1/2 n+1/2

and si+1/2,j with the result being si+1/2,j . Analogously, we compute si,j+1/2 . Then we

34

update our solution from snij to sn+1

ij using the conservative update formula

t h n+1/2 n+1/2

i

sn+1

ij = snij ui+1/2,j si+1/2,j ui1/2,j si1/2,j

x

t h n+1/2 n+1/2

i

vi,j+1/2 si,j+1/2 vi,j1/2 si,j1/2 . (1.22)

y

Based on the results in one dimension, we use flux bounding in two dimensions to

connect the explicit MUSCL scheme with the implicit scheme. To minimize work, we

want to use the implicit time stepping for as few cells as possible. Therefore, as in one

dimension, we only treat cut cells in a fully implicit manner. By irrflow cells, we denote

the cells on which we switch the scheme. These are flow cells that are edge neighbors of

cut cells. They correspond to cells -1 and 1 from our one-dimensional considerations.

We use explicit fluxes on edges between irrflow cells and flow cells, and on edges between

irrflow cells. Implicit fluxes are used on edges between irrflow and cut cells, and on edges

A high level version of the mixed explicit implicit scheme is given in the following.

Given sn ,

1. compute explicit fluxes using the MUSCL scheme (with the adjustments from Sec-

tion 1.3.3),

ij using explicit fluxes and the conservative update for-

mula,

3. compute implicit fluxes making use of the explicit fluxes and the updated values

ij using implicit fluxes and a mixture of

explicit and implicit fluxes, respectively. For details see Section 1.3.4.

35

I I

I I

I I

I I

I I

I I

Figure 1.7: Switching the scheme in two dimensions: The domain used in the simulation

corresponds to the interior of the circle. Irrflow cells (marked with I) are flow cells

that are edge neighbors of a cut cell. Cut cells are marked with the rose color. Implicit

fluxes are marked by a bold, light blue line. The remaining fluxes are explicit. We note

that there is no flow through the embedded boundary. (In each cut cell, the boundary

arc is replaced by a straight line.) Unmarked white cells are standard flow cells. The

light gray parts are the parts of cut cells that lie outside the fluid domain. Dark gray

color marks solid cells.

36

Figure 1.8: For a Cartesian cell, reconstruction to edge midpoints is a one-dimensional

operation. This is not the case for cut cells.

We note that the main ingredient that enters from the explicit part into the implicit

part are the fluxes. However, values at tn+1 on explicitly treated cells are needed for

slope reconstruction at tn+1 on irrflow cells, if slopes are used for the implicit scheme.

The MUSCL scheme is only used to compute fluxes between any two Cartesian cells

both flow and irrflow. However, the computation of the MUSCL flux between two irrflow

cells could involve a cut cell in the evaluation of the transverse derivative term. (One

[

example is the computation of the transverse derivative term (usx )ij on the Cartesian

cell in Figure 1.8 assuming u < 0.) Therefore, we need to extend the computation of

n+1/2,L/R n+1/2,B/T

si+1/2,j and si,j+1/2 to cut cells.

x t n

n+1/2,R

si1/2,j = snij + ui1/2,j sx,ij .

2 2

For a cut cell, the edge midpoint and the cell centroid are not aligned, i.e., they do

not have the same y component. This is shown in Figure 1.8. Denoting by (xij , yij ) the

coordinates of the centroid of cut cell (i, j) and by (xi1/2,j , yi1/2,j ) the coordinates of

37

the edge midpoint of edge (i 1/2, j), we use

n+1/2,R

t n

si1/2,j = snij + xi1/2,j xij snx,ij + yi1/2,j yij sny,ij ui1/2,j s .

2 x,ij

Note that this formula reduces to the equation above in the case of a regular cell. The

slopes snx,ij and sny,ij are both computed by a least squares approach and limited using

As implicit second-order scheme we use the trapezoidal rule with slope reconstruction.

For slope reconstruction on cut cells and irrflow cells, see Chapter 3. We also test implicit

ij on a cut cell

t

sn+1 = snij u y sn+1 n+1

i+1/2,j ui1/2,j i1/2,j y si1/2,j

ij

ij xy i+1/2,j i+1/2,j

+ vi,j+1/2 i,j+1/2 x sn+1

i,j+1/2 vi,j1/2 i,j1/2 x sn+1

i,j1/2 .

Here,

sn+1 if ui+1/2,j > 0,

ij

sn+1

i+1/2,j =

sn+1

if ui+1/2,j < 0,

i+1,j

i1/2,j as well as si,j1/2 are computed analogously. (Note that for a non-existing

face = 0.)

On irrflow cells, we use both explicit and implicit fluxes. Assume that cell (i, j) is an

irrflow cell, cells (i 1, j) and (i, j 1) are cut cells, and that cells (i + 1, j) and (i, j + 1)

are either flow or irrflow cells. Then, for mixing implicit Euler with the MUSCL scheme,

38

the scheme on the irrflow cell (i, j) is given by

t

n+1/2

sn+1

ij = snij ui+1/2,j y si+1/2,j ui1/2,j y sn+1

i1/2,j

xy

n+1/2

+ vi,j+1/2 x si,j+1/2 vi,j1/2 x sn+1

i,j1/2 ,

n+1/2 n+1/2

with si+1/2,j and si,j+1/2 representing the MUSCL fluxes described in Section 1.3.1 and

sn+1 n+1

i1/2,j and si,j1/2 being the implicit Euler fluxes described above.

This can be formulated as a linear system. The variables are the values on the cut

cells and the irrflow cells. As the update on each irrflow cell uses at least one implicit

flux, the new value on an irrflow cell needs to be integrated in this system. Therefore,

the size of the system is N N with N being roughly twice the number of cut cells.

The explicit fluxes from the MUSCL scheme, used in the update of irrflow cells, enter

For using the trapezoidal rule with slope reconstruction on a cut cell, the update is

given by

t

sn+1 = snij u y (sni+1/2,j + sn+1

i+1/2,j )

ij

2ij xy i+1/2,j i+1/2,j

i1/2,j )

i,j+1/2 )

vi,j1/2 i,j1/2 x (sni,j1/2 + sn+1

i,j1/2 ) . (1.23)

Here,

sn n n

ij + (xi+1/2,j xij )sx,ij + (yi+1/2,j yij )sy,ij if ui+1/2,j > 0,

sni+1/2,j =

sn

+ (xi+1/2,j xi+1,j )snx,i+1,j + (yi+1/2,j yi+1,j )sny,i+1,j if ui+1/2,j < 0,

i+1,j

where (xi+1/2,j , yi+1/2,j ) denotes the location of the edge midpoint of face (i + 1/2, j),

39

(xij , yij ) denotes the centroid of cut cell (i, j), and sx,ij and sy,ij refer to the reconstructed

Even though the update formula for using trapezoidal rule with slope reconstruction

looks similar to the one for implicit Euler, it is more difficult to solve for sn+1

ij numerically

due to the slope reconstruction. In the slope reconstruction, typically slope limiters need

addition, slope limiters on cut cells, both the standard scalar limiter and our newly

developed LP limiter (see Chapter 3), are non-smooth. Therefore, unlike the situation

for implicit Euler with piecewise constant data, here we must solve a system of nonlinear

In the present work, we have used a direct solver from LAPACK [11] to solve the

linear system for implicit Euler time stepping at each time step. For the implicit scheme

consisting of the trapezoidal rule with limited slope reconstruction, we have used a pseudo

time stepping method [29, 73, 74]. We also experimented with a Quasi-Newton method,

which, for the second-order implicit scheme, uses a first-order space discretization for

the Jacobian. Exploring this approach as well as other possibilities further will be future

work. We note that even though solving an implicit system is generally not cheap, the

size of the implicit system will be roughly one dimension less than the overall number of

The software used for our tests in two (and three dimensions) is based on BoxLib

[50]. This is an open-source software library developed by the Center for Computational

It contains all the functionality for massively parallel, block-structured adaptive mesh

40

refinement (AMR) applications. The user must provide the finite volume scheme used

The package does not provide support for embedded boundaries. To generate cut

cell information we use patchCubes, a derivative of cubes, the mesh generation part of

Cart3D [1, 5, 6]. The input for patchCubes consists of the bounding box of the domain/a

computes all the geometry information needed for a second-order finite volume algorithm;

the location of the boundary edge midpoint and the length/area of the boundary

segment.

The combination of these two packages, BoxLib and patchCubes, forms the basis of our

BoxLib provides general functionality for high performance programming. The actual

time stepping algorithms for the Cartesian part of the grid were taken from existing

solvers of the CCSE group. We wrote most of the algorithms used for tests in this chapter

from scratch, partly following the structure of existing solvers used by the CCSE group.

Routines provided by BoxLib, like the setting of boundary conditions and the plotting

routines, needed to be adjusted to the presence of cut cells. During all these tasks and

the fusion of the two software packages we were actively supported by members of the

For visualization of the numerical results we use AmrVis [2] and VisIt [111].

We now present numerical results in two dimensions. In all tests we compute the

41

Initializations

..

.

Initialize Cartesian grid

Initialize cut cells:

do n=1, # levels

do k=1, #patches Input: Computational patch

call patchCubes Surface triangulation

end do Output: Cut cell information

.. end do

.

Time stepping patchCubes

..

.

AMR

If new grids

..

. Software based

on BoxLib

Figure 1.9: Sketch of the software setup used for our numerical tests.

measure the error e we define the classical L1 and L norm for the computational domain

1 X

L1 (e) = |eij | |ij |, (1.24)

|| i,j

i,j

where |ij | denotes the area of cell (i, j). If the error on the cells close to the embedded

boundary converges with at least first order, we expect the L1 error to converge with

second order as the MUSCL scheme is a second-order scheme and the cells close to the

embedded boundary have a lower dimensionality. (For L1 this follows from a counting

argument. An analog theorem for L2 was proven by Gustafsson [60].) The L error will

To measure the error along the embedded boundary separately, we also introduce

42

boundary norms L1bdy and L

bdy . For these norms, we use the computed solution to

reconstruct slopes on all cut cells and use these slopes to evaluate the solution at the

boundary edge midpoint of the cut cell. Let k = 1, . . . , N denote a numeration of cut

cells and ek,bdy denote the error at the boundary edge midpoint of cut cell k. Then we

define

1 X

L1bdy (ebdy ) = |ek,bdy | |k |, (1.26)

| | k

L

bdy (ebdy ) = max|ek,bdy |. (1.27)

k

Here, | | denotes the length of the embedded boundary and |k | the boundary segment

We compute errors for taking one time step and for simulating until time T . For the

definition of one step error we follow LeVeque [83] who distinguishes between truncation

and one step error. A second-order method on a regular grid typically has a third-order

!

x y

t = min , .

maxij |uij | maxij |vij |

We use = 0.8 for all tests presented in this section to fulfill the time step restriction

for the MUSCL scheme. We choose x = y in our tests but this is not a requirement.

Finally we note that determining the exact accuracy of a cut cell scheme is non-

trivial. Cut cells do not allow for a smooth error expansion. As a result, convergence

plots usually do not correspond to a smooth line but to a zig-zag line instead.

Our first test is advection parallel to the x axis. The setup is shown in Figure 1.10.

We cut the Cartesian grid parallel to the x axis, leading to (regular) cut cells at the

43

inflow outflow

b.c. b.c.

Figure 1.10: Setup for advection parallel to the x axis: cut cells (marked in rose) are

at the bottom of the grid. Light blue lines indicate implicit flux. The black thick line

indicates that there is no flux between cut cells and irrflow cells.

bottom of the grid. We choose u = 2 and v = 0, i.e., the velocity field is parallel to the

embedded boundary. The inflow is given by evaluating the flux on the low x edge based

on the true solution. We do not prescribe the outflow as it is determined by the finite

For this test, the cut cells do not need to be treated in a special way as they have

regular length in x direction and v = 0. (The face fraction with respect to the y direction

cancels with the volume fraction.) However, this test is very helpful to (a) find bugs in

the code and to (b) confirm some basic properties of the schemes. We note that for this

test, there is no interaction between the cut cells and the irrflow cells due to v = 0. This

is indicated by the thick black line in Figure 1.10. Consequently, our method reduces to

The original (uncut) problem domain is [0, 1]2 and the embedded boundary has height

0.1. We initialize the grid cells with the one-dimensional test function

s(x, y, 0) = sin(2x)

44

Table 1.3: Results for the mixed scheme for the domain norms L1 and L for advection

parallel to the x axis.

Implicit scheme N2 L1 error order L error order min

1282 4.12e-05 3.11 2.44e-02 0.99 0.19

2562 1.59e-05 1.38 1.23e-02 0.99 0.37

5122 6.78e-06 1.23 6.15e-03 1.00 0.74

7682 9.08e-07 4.96 4.10e-03 1.00 0.12

Trapezoidal 642 8.15e-05 1.12e-03 0.59

1282 1.92e-05 2.09 2.78e-04 2.02 0.19

2562 4.74e-06 2.02 7.01e-05 1.99 0.37

Table 1.4: Results for the mixed scheme for the boundary norms L1bdy and L

bdy for

advection parallel to the x axis.

Implicit scheme N2 L1bdy error order L

bdy error order min

1282 1.59e-02 1.23 2.82e-02 1.23 0.19

2562 8.79e-03 0.85 1.56e-02 0.86 0.37

Trapezoidal 642 8.15e-05 1.12e-03 0.59

1282 1.92e-05 2.09 2.78e-04 2.02 0.19

2562 4.74e-06 2.02 7.01e-05 1.99 0.37

Table 1.3 shows the results for the domain norms for using MUSCL scheme with

implicit Euler and trapezoidal rule, respectively. For the trapezoidal rule, we observe

second-order convergence both for the L1 and the L error. For using MUSCL with

implicit Euler we observe linear convergence in the L norm and irregular behavior in

the L1 norm: convergence orders jump between 1.23 and 4.96. We expected second-order

convergence as there are N cut cells compared to roughly N 2 total cells; therefore the

To better understand the inconsistency between the numerical result and our theo-

retical considerations, we examine the formula for the L1 error for this test problem in

45

detail. Let us denote by |eC F

ij | the average error on a cut cells and by |eij | the average

error on an irrflow or flow cell. (Note that the standard MUSCL scheme is used on

X X

L1 error = |eij |xy + |eij |xy /(1 ),

cut cell flow cell

irrflow cell

y C y

= |eij | + 1 |eFij |.

1 1

ij | is multiplied by y, which should improve the overall convergence

ij | is actually multiplied by y, i.e.,

the volume fraction also shows up in the formula. The volume fraction depends

on how the grid is cut by the embedded boundary, and varies randomly, see Table 1.3.

As doubles between grids N = 1282 and N = 2562 , and N = 2562 and N = 5122 ,

observed for these grids. This also explains the jump in convergence between grids

N = 5122 and N = 7682 . Therefore, on average, the L1 error for using MUSCL with

implicit Euler converges with second order; but the number of samples was not enough

to capture the behavior appropriately. Even in this very simple test problem, we have

the classical zig-zag behavior of the convergence plot, an often observed phenomenon

Finally, Table 1.4 shows the results for the boundary norms L1bdy and L

bdy . Here, we

observe roughly first order for implicit Euler. The mixed scheme using the trapezoidal

Next, we test advection along a ramp with angle 0 < < 90 . The test is illustrated

in Figure 1.11. We choose the velocity field (u, v)T = (2, 2 tan ) to be parallel to the

embedded boundary. Unlike our first test, there is interaction between the irrflow and

46

outflow b.c.

inflow outflow

b.c. b.c.

inflow b.c.

Figure 1.11: Setup for advection along a ramp: cut cells are marked in rose. Light blue

lines indicate implicit flux.

cut cells. Our test functions are one-dimensional quadratic functions with respect to a

line () that is perpendicular to the ramp and whose slope therefore depends on the

ramp angle . Since the MUSCL scheme has a third-order one step error, the error on

the domain should be negligible and the error at the boundary should dominate. We

advect until T = 0.1. For this test, we do not show the result for implicit Euler but focus

We first test a fully implicit version, i.e., we use the trapezoidal rule on all cells. This

eliminates errors caused by the switch in the scheme. We use slopes of the exact solution

to also eliminate errors caused by the slope reconstruction. For taking only one time

bdy norm are of order O(x ).

47

Table 1.5: Results for advection along a ramp, using trapezoidal rule with analytic slopes

everywhere.

Grid L1 error order L1bdy error order L

bdy error order

642 3.22e-06 1.99 1.36e-05 1.43 5.30e-05 1.68

1282 8.09e-07 2.00 4.95e-06 1.47 1.67e-05 1.66

2562 2.02e-07 2.00 1.80e-06 1.46 4.70e-06 1.83

20o 322 1.26e-05 - 6.18e-05 1.80e-04

642 3.15e-06 2.00 2.15e-05 1.52 5.47e-05 1.72

1282 7.89e-07 2.00 7.55e-06 1.51 1.60e-05 1.77

2562 1.97e-07 2.00 2.64e-06 1.52 5.07e-06 1.66

30o 322 1.24e-05 5.47e-05 1.56e-04

642 3.11e-06 1.99 1.83e-05 1.58 4.67e-05 1.74

1282 7.79e-07 2.00 6.26e-06 1.55 1.40e-05 1.74

2562 1.95e-07 2.00 2.15e-06 1.54 4.24e-06 1.72

40o 322 1.04e-05 3.18e-05 1.15e-04

642 2.60e-06 2.00 9.77e-06 1.70 3.39e-05 1.77

1282 6.52e-07 2.00 2.97e-06 1.72 9.72e-06 1.80

2562 1.63e-07 2.00 9.57e-07 1.64 2.76e-06 1.82

The results for running to time T = 0.1 are shown in Table 1.5. (The results for the L

bdy error and therefore are not shown here.) We observe

bdy error: convergence rates around 1.7 to 1.8.

The convergence rates vary a bit between the angles. We would need to run more tests,

for which we keep the angle but shift the ramp slightly to the left or right, to reliably

identify the reason. There might be a dependency on the angles, but it might also be

We note that we do not observe full second-order convergence for the maximum error,

most likely due to the irregularity of the cut cells. More surprisingly, the convergence

rates for the L1bdy error are worse than the convergence rates for the L

bdy error for the

48

Table 1.6: Results for advection along a ramp, using trapezoidal rule with unlimited

slope reconstruction everywhere.

Grid L1 error order L1bdy error order L

bdy error order

642 4.02e-06 2.23 2.25e-05 1.30 8.62e-05 1.60

1282 9.17e-07 2.13 9.62e-06 1.23 3.02e-05 1.51

2562 2.18e-07 2.07 4.03e-06 1.25 9.11e-06 1.73

20o 322 1.87e-05 2.34 1.88e-04 1.38 4.22e-04 1.61

642 4.09e-06 2.20 7.43e-05 1.35 1.45e-04 1.54

1282 9.43e-07 2.12 2.93e-05 1.34 4.84e-05 1.59

2562 2.27e-07 2.05 1.22e-05 1.26 1.84e-05 1.39

30o 322 2.04e-05 2.68e-04 4.79e-04

642 4.49e-06 2.18 1.00e-04 1.42 1.64e-04 1.54

1282 1.04e-06 2.11 3.87e-05 1.37 5.73e-05 1.52

2562 2.50e-07 2.06 1.53e-05 1.33 2.09e-05 1.46

40o 322 1.95e-05 2.65e-04 4.39e-04

642 4.24e-06 2.21 9.61e-05 1.47 1.45e-04 1.59

1282 9.59e-07 2.14 3.47e-05 1.47 4.93e-05 1.57

2562 2.24e-07 2.09 1.27e-05 1.44 1.71e-05 1.53

grids given here. In terms of absolute errors, the L1bdy errors are smaller though. (Note

that the one step error only converged with second order in the L1bdy norm.)

The results just presented are an upper bound to what we can expect from the

mixed explicit implicit scheme at least with respect to the L error, the L1bdy error,

and the L

bdy error. Compared to the mixed scheme, we eliminated two error sources:

the switch and the inaccuracy in the slope reconstruction. The purpose of the next test

Table 1.6 shows the results for using trapezoidal rule everywhere together with un-

limited least squares slope reconstruction. On flow cells away from the boundary this

reduces to standard second-order central difference quotients. But for cut cells these

slopes are only a first-order approximation and could cause a loss of accuracy. The nu-

merical results show that the L1 error is very similar to using analytic slopes, both in

terms of convergence rates and absolute numbers. For the L1bdy and the L

bdy error, the

49

convergence rates drop by about 0.1 to 0.2 compared to using analytic slopes. Also, the

Next, we test the scheme that we actually want to use: the mixed explicit implicit

scheme (compare Figure 1.11) with the trapezoidal rule as implicit scheme and unlimited

slope reconstruction. Numerical tests indicate that the one step error is of the order

O(x3 ) in the L1 norm and of the order O(x2 ) in all other norms. The results for time

The results are overall similar to the results for using trapezoidal rule with unlimited

bdy error: convergence rates around 1.4 to 1.6.

Comparing the L1 error for = 5o , we find that the results for using the mixed ex-

plicit implicit scheme are one order of magnitude better than for using the fully implicit

scheme. The MUSCL scheme seems to do particularly well for advection that is approx-

imately parallel to the coordinate axes. Overall, the L1 error using the mixed scheme is

somewhat smaller than the L1 error using trapezoidal time stepping with least squares

bdy error are pretty

This implies that the switch in the scheme does not lead to a significant loss of

accuracy along the boundary. There is some loss of accuracy on the irrflow cells though,

which is not reflected in the given tables. The maximum error, measured only over

irrflow cells, converges with second order for taking one time step and with only first

order for final time T = 0.1. But it is significantly smaller than the error on the cut

50

Table 1.7: Results for advection along a ramp, using the mixed explicit implicit scheme

with trapezoidal rule and unlimited slope reconstruction.

Grid L1 error order L1bdy error order L

bdy error order

642 2.60e-07 2.26 1.74e-05 1.53 8.20e-05 1.68

1282 6.03e-08 2.11 6.92e-06 1.34 2.74e-05 1.58

2562 1.62e-08 1.89 2.87e-06 1.27 7.91e-06 1.80

20o 322 3.32e-06 1.75e-04 4.10e-04

642 9.10e-07 1.87 7.06e-05 1.32 1.41e-04 1.54

1282 2.36e-07 1.94 2.87e-05 1.30 4.78e-05 1.56

2562 6.30e-08 1.91 1.24e-05 1.21 1.88e-05 1.35

30o 322 7.18e-06 2.69e-04 4.83e-04

642 1.83e-06 1.97 1.04e-04 1.36 1.71e-04 1.50

1282 4.75e-07 1.95 4.28e-05 1.29 6.22e-05 1.46

2562 1.24e-07 1.93 1.80e-05 1.25 2.40e-05 1.37

40o 322 1.07e-05 2.51e-04 4.36e-04

642 2.56e-06 2.07 9.36e-05 1.42 1.46e-04 1.58

1282 6.23e-07 2.04 3.53e-05 1.41 5.09e-05 1.52

2562 1.54e-07 2.01 1.38e-05 1.35 1.85e-05 1.46

cells and therefore does not influence the L error. Furthermore, it apparently does not

Our last test uses a spatially varying velocity field given by (u, v)T = (2y, 2x)T .

Test domain is the interior of a circle with radius 1.0 as shown in Figure 1.7 and we use

initial conditions

s(x, y, 0) = 1 + exp 60 (x 0.85)2 + y 2 .

We choose T = , at which time the solution is identical to its initial value. We use the

full explicit implicit scheme. As implicit scheme we use the trapezoidal rule. Unlimited

slopes are employed for both the explicit and implicit scheme. We run simulations for

16 different meshes with the width x varying between 0.003 and 0.010. The error is

51

Table 1.8: Results for advection in the interior of a circle. Convergence orders correspond

to a least squares fit based on 16 runs with grid width x [0.003, 0.010].

Norms conv. order for L1 error conv. order for L error

Boundary norm 1.06 1.00

Cut cell norm 1.34

Irrflow cell norm 1.87

bdy norm, as well as

in the L norm measured only at the cut cell centroids and only at the irrflow centroids

resulting in the L

c and the Lirr norm, respectively.

Figure 1.12 shows the convergence in the four variants of the maximum norm. The

error plots show the zig-zag behavior, which is characteristic for cut cell methods.

The straight lines indicate the convergence rates computed by a least squares fit. The

corresponding rates are listed in Table 1.8. In this table, we also list the convergence

both the L1 and L error measured over the whole domain converge with second

order; the former was expected, the latter implies that the maximum error is

probably caused by the peak of the Gaussian test function; Figure 1.12 shows that

for most grids, the L error is bigger than the maximum error measured over only

the maximum error measured over only irrflow cells converges with close to second

order; i.e., we do not observe accumulation of the transition error in this test;

the error measured at the boundary edge midpoints converges only with first order

bdy norm; the Lc error (measured at cut cell centroids),

however, has a convergence rate of 1.34; we are not sure what the reason for this

52

Domain

1

10 Boundary

Cut cell

Irrflow cell

Error

2

10

2

10

Mesh width

Figure 1.12: Results for advection in the interior of a circle. The error is measured in

the L norm over various sets: all grid cells (Domain), all boundary edge midpoints

(Boundary reconstruction was used to evaluate the error), only cut cells (Cut cells),

and only irrflow cells (Irrflow cell). The x axis corresponds to the mesh width x of

the underlying Cartesian grid and the y axis to the error measured in the corresponding

L norm. The straight lines correspond to the least squares fits with the convergence

orders given in Table 1.8.

53

(a) time t = 0 (b) time t = T =

Figure 1.13: Results for advection in the interior of a circle using x = 0.0059. Both

pictures use the scale implied by the data at the initial time. The computational domain

is split in four equal patches.

difference in convergence is; one possibility is that unlike our previous tests a

Finally, in Figure 1.13 we show the results for x = 0.0059 (which corresponds to

1922 grid cells to discretize the bounding box) at its initial and its final time. The shape

of the Gaussian has been well preserved and we do not observe excessive smearing along

the boundary.

In this chapter we have presented a new explicit implicit time stepping scheme for

solving the linear advection equation in two dimensions. The scheme uses a standard

explicit scheme, the MUSCL scheme, on Cartesian cells away from the embedded bound-

ary. On cut cells we use an implicit time stepping scheme, the trapezoidal rule. The

switch is done on the Cartesian cells next to the cut cells using flux bounding.

The numerical results are promising. The convergence rates along the embedded

boundary varied between 1.0 and 2.0, typically lying somewhere in the middle. Addi-

tional tests will be needed to explore the properties of the scheme further.

54

1.5.1 Future work in two dimensions

Some open issues in two dimensions that need to be examined more closely are:

Robustness of the scheme: In the discontinuity test in one dimension, the trape-

zoidal method caused overshoot for very small values of . We plan to develop an

FCT approach combining the trapezoidal method with implicit Euler time step-

ping to guarantee monotonicity. We would also like to examine the option of using

Solving the implicit system more efficiently: The focus of the work was on the

method development and we did not have time to investigate a way to efficiently

solve the resulting implicit systems. This is necessary though for a practical im-

existing methods in the literature, e.g., the h-box method or the flux redistribution

method.

During our scheme development one main design choice has been to ensure straight-

forward extension of the resulting algorithm to three dimensions. The explicit scheme

in three dimensions would be the extension of the two-dimensional MUSCL scheme pre-

sented in Section 1.3.1 and would contain corner-coupling. In an unsplit finite volume

scheme in two dimensions, diagonal neighbors, i.e., cells that differ by one in both the

i and j index, are used in the flux computation of cell (i, j) for a second-order accurate

and stable method [44]. In three dimensions, this extends to cells that differ by one

in all three coordinate directions [99]. A nice description of these issues is contained

in [88] and [92]. There, customized advection schemes in two and three dimensions are

developed that are based on tracing characteristics. As a side product, explanations are

55

provided concerning which neighboring cells need to be taken into account to advect a

in two dimensions, and its stencil is larger. In a first approach to extend the method

irrflow cells from edge neighbors in two dimensions to face and edge neighbors in three

dimensions. We also simplified the MUSCL scheme on irrflow cells to neglect corner

correction terms. Everything else was relatively straightforward and first results using

implicit Euler time stepping have been produced, see Figure 1.14. We conclude that our

method extends to three dimensions in a straightforward way, but that additional work

56

Figure 1.14: Initial results for the advection scheme in three dimensions using implicit

Euler time stepping. This test is a generalization of Test 2; the test function is a three-

dimensional Gaussian and the ramp is constant in the z direction.

57

Chapter 2

to embedded boundary grids

2.1 Introduction

by

ut + (uu) + p = 0, (2.1a)

u = 0. (2.1b)

Our starting point is a well-established projection algorithm for Cartesian grids [7, 9,

19, 20] and the corresponding high performance implementation provided by the CCSE

(Center for Computational Sciences and Engineering) at LBNL. Our goal is to extend

both the algorithm and the implementation to Cartesian embedded boundary grids,

using the mixed explicit implicit time stepping scheme developed in Chapter 1.

Chorin [36, 37]. The method typically consists of two main steps:

58

1. Step 1: Update of the velocity field U n to an approximation U at time tn+1 that

U , resulting in U n+1 .

For Step 1, the biggest issue in extending the method to cut cells is to overcome

the small cell problem. Here, we will rely on the results from Chapter 1. For Step

2, all operators involved in the projection step (divergence, gradient, and interpolation

operators) need to be adjusted to the irregular geometry of cut cells. Our goals for the

resulting method are second-order accuracy at the embedded boundary and straightfor-

ward extension to three dimensions. Initial numerical results indicate that the approach

is promising but that the desired accuracy has not yet been achieved.

embedded boundary grids have been examined before. Almgren et al. [8] present a pro-

The authors use the flux redistribution method [95] to overcome the small cell problem

in Step 1. Popinet [96] presents a solver for the incompressible Euler equations with

similar accuracy properties, which uses both AMR and embedded boundary techniques.

The focus of the paper is on AMR-related aspects. Popinet avoids the small cell problem

by cell merging. Both methods use a similar discretization for the advection terms on

There is much more literature about Cartesian embedded boundary methods for

solving the incompressible Navier-Stokes equations than for the incompressible Euler

equations. Different versions have been developed by Tau [105], Calhoun [32], Ye et

al. [114], Gao et al. [56], Barad et al. [13] and Miller & Trebotich [90], Meyer et al. [89],

and Wang et al. [112]. Because of the many differences between the equations, these

This chapter is organized as follows: We first introduce the projection method for

59

regular Cartesian grids. Then, we discuss adjustments to Step 1 and Step 2 of the

algorithm to account for the embedded boundary. In Section 2.4 we present initial

numerical results for flow past a half-cylinder. We conclude this chapter with a discussion

of open problems.

Cartesian grid. The idea of using a projection algorithm to solve the incompressible

Navier-Stokes equations was introduced by Chorin [36, 37]. Its theoretical basis is the

all the main features of a modern projection algorithm but was only first order. Second-

order projection algorithms were developed by Kim & Moin [81], van Kan [79] and Bell,

Our extension is based on the projection methods described in [7, 9, 19, 20]. These

methods are all revisions of the original BCG algorithm with varying details. The two

Step 1: The advection equation (2.1a) is solved without strictly enforcing the in-

U Un

+ [(U )U ]n+1/2 + pn1/2 = 0 (2.2)

t

is solved for U . The pressure gradient is evaluated at tn1/2 and is treated as a source

term. The nonlinear term [(U )U ]n+1/2 is approximated at tn+1/2 to second order in

space and time using an explicit predictor corrector scheme based on a MUSCL approach.

60

potential and a discretely divergence-free vector field. The former is used in the pressure

update, the latter in the update of the velocity field. Denoting the projection by P, one

obtains

U n+1 U n U Un

=P , (2.3a)

t t

U Un

pn+1/2 = pn1/2 + (I P) . (2.3b)

t

In the following we will give a short summary of the algorithms used for both steps.

The details of the advection step overall coincide with the descriptions given by Bell

et al. [19, 20] and Almgren et al. [7]. The main complication in computing U in (2.2) is

caused by the term [(U )U ]n+1/2 . The variable U n is cell centered but this non-linear

term needs to be evaluated on the edges with second-order accuracy in time. To deal

n+1/2 n+1/2

(i) Predictor: Velocities ui+1/2,j and vi,j+1/2 are predicted on the x edges and y

edges, respectively. The details of this step are described in [7]. Essentially, a

Then, a MAC projection is applied to enforce that the edge velocities are discretely

divergence-free, i.e.,

(ui+1/2,j , vi,j+1/2 ) (uM M

i+1/2,j , vi,j+1/2 ).

More information about the MAC projection is given below. This results in dis-

i+1/2,j on the x edges and vi,j+1/2 on

i+1/2,j , vi,j+1/2 )

61

M

vi,j+1/2

uM

i1/2,j uM

i+1/2,j

(u, v)ij

M

vi,j1/2

U Un h M in+1/2

+ (U )U + pn1/2 = 0 (2.4)

t

(2.4) for U is similar to applying the MUSCL scheme to the linear advection

DG = DU n+1/2

n+1/2 n+1/2

with U n+1/2 = (ui+1/2,j , vi,j+1/2 ) is solved for . Here, D and G denote discretizations

of the divergence and gradient operators; details are given in Section 2.2.2. Then, U M =

U n+1/2 G. We note that this enforces the incompressibility of the MAC velocities up

to machine precision with respect to the chosen D, i.e., the MAC projection is an exact

projection.

For Step 2, the projection, an approximate projection method is used, i.e., the in-

62

were introduced by Almgren et al. [7] as a response to the problems caused by exact

projections for the case that both the velocity and the pressure variables are cell cen-

tered: Discretizing the divergence operator D and the gradient operator G with standard

second-order difference quotients leads to an extended five point stencil for DG. As a

result, the stencil locally decouples and standard solvers like multigrid for the Poisson

equation cannot easily be used. For more information about approximate projections

P = I GL1 D.

For an exact projection, there holds L = DG. We use the standard approach of employing

cell centered second-order difference quotients for D and G and defining L as the standard

To make the extension to cut cells easier, we write the projection step in a different

(DU )ij = + .

x y

given by

Ui+1,j Uij

(Gx U )i+1/2,j x

= .

Ui,j+1 Uij

(Gy U )i,j+1/2 y

(These are the definitions of D and G used in the MAC projection.) Note that for D

and G defined this way, there holds L = DG. We also define interpolation operators

63

Using averaging for both interpolation operators, which is second-order accurate for

Cartesian grids, makes this approach equivalent to using cell centered divergence and

Applying the projection operator P to a cell centered vector field V , i.e., computing

V proj = PV = I G(DG)1 D V

1. Interpolation: Evaluate V = I1 V .

DG = DV

for . Note that lives at cell centroids and DG maps cell centroids to cell

centroids.

d = I2 (G). Note G

6. Subtraction: Compute

V proj = V G

d

In this section, we focus on extending the projection algorithm to cut cells. We first

discuss the extension of Step 1, the advection step, to Cartesian embedded boundary

grids. Afterwards, we discuss necessary changes for the projection step. We present

64

extensions of D, G, I1 , and I2 suitable for cut cells and show numerical results for the

projection step.

(i) adapt the way the MAC velocities are calculated, i.e.,

n+1/2 n+1/2

(a) predict ui+1/2,j and vi,j+1/2 on the edges in the presence of embedded bound-

aries,

(b) apply a MAC projection suitable for embedded boundary grids; (the adjust-

ments to the operators D and G are given in Section 2.3.2 where we extend

U Un h M in+1/2

+ (U )U + pn1/2 = 0

t

n+1/2

Even though the irregularity of cut cells complicates the prediction of ui+1/2,j and

n+1/2

vi,j+1/2 on the edges, the first part of Step (i) avoids the biggest problem related to cut

cells, the small cell problem. In this step we only predict to edges and do not divide

by the volume of potentially very small cut cells. For a Cartesian grid, the edge state

n+1/2,L

ui+1/2,j is given by

n+1/2,L

ui+1/2,j = unij + unx,ij (vuy )ij p ,

2 2 2 2 x,ij

[

with (vuy )ij referring to a specific evaluation of the transverse derivative term. (For

65

Two main changes were necessary to extend the algorithm from Cartesian cells to

cut cells. First, for a cut cell, cell centroid and edge midpoint are typically not aligned.

For spatial reconstruction from the cell centroid to the edge centers both the x and the

[

Second, on a Cartesian grid, the transverse derivative term (vuy )ij is evaluated by

n+1/2 n+1/2

upwind differencing of predicted edge states ui,j+1/2 and ui,j1/2 . For cut cells, the

lower and upper y edge might not both exist and their edges midpoints are not aligned.

Therefore, we just use the y slope uy computed by limited least squares reconstruction

(more fully described in Chapter 3) for the evaluation of the transverse derivative term.

Step (ii) is similar to solving a linear advection equation since the pressure gradient

pn1/2 is treated as a source term and the velocities U M are known. In Chapter 1 we

developed a mixed explicit implicit algorithm for solving the linear advection equation

st + (us) = 0.

Algorithm 2.1 in Section 2.2.2 summarizes the projection step for a fully Cartesian

66

A popular algorithm for solving the Poisson problem = with inhomogeneous

& Colella [78]. However, in this approach is centered at the Cartesian center of a cut

cell, i.e., at the center of the corresponding uncut cell. As our variables are centered at

the (geometric) cut cell centroid, we did not follow this approach.

(DU )ij = + . (2.5)

x y

Like Almgren et al. [8], we define the divergence operator on cut cells by

(DU )ij =

ij x

vi,j+1/2 i,j+1/2 vi,j1/2 i,j1/2

+ . (2.6)

y

Unlike a Cartesian cell, a cut cell also has a non-Cartesian face, which is part of the

this face. By choosing L = DG, by defining D as given in (2.6), and due to the Neu-

mann boundary conditions used for the Poisson problem, this property will be enforced

67

For projection methods, one typically tries to define G as the skew-adjoint operator of

For a Cartesian grid it is common, see, e.g., Bell et al. [20], to use the inner product

X

(, ) = ij ij h2 .

ij

For cut cells, the situation is more complicated. We define spaces S1 and S2 for cell and

S1 := ij cell centered ,

n o

y

S2 := = ( x , y ) i+1/2,j

x

centered on x edges, i,j+1/2 centered on y edges .

X

(, )S1 = ij ij Vij ,

ij

where Vij denotes the cell volume. It is non-trivial to define an inner product on S2 . We

y

yi,j+1/2 i,j+1/2 ,

X X

x

(, )S2 = i+1/2,j xi+1/2,j i+1/2,j + i,j+1/2

x edges y edges

with

We note that this is a somewhat arbitrary pick and does not correspond to a suitable

i+1,j i,j

Gx i+1/2,j x

= . (2.7)

i,j+1 i,j

Gy i,j+1/2 y

68

This operator G is not useful as a gradient operator. For a cut cell, the y coordinates

of the centroids of cells (i + 1, j) and (i, j) typically differ, which is not captured by

Gx i+1/2,j . But it works well when used in the projection. This gradient operator was

also used by Almgren et al. [8] in the MAC projection. (For the cell centered projection

Recently, we were made aware of the work by Lipnikov et al. [86]. Among other

things, the authors deduce a gradient operator, which is the skew-adjoint operator of

the divergence, on general polyhedral meshes. In the future, we plan to apply the very

general definition given in this work to the case of a cut cell and to test the resulting

than the currently used G but to be more accurate and to result in a more favorable

matrix DG.

For the projection algorithm on Cartesian grids, simple averaging is used. On edges away

from the embedded boundary, i.e., for an edge between two Cartesian cells, we keep this

operation. For edges between cut cells or between a cut and an irrflow cell, averaging is

p(x) = a + bx + cy + dxy

through the centroids of four cells and evaluate the polynomial at the appropriate edge

midpoints. This is illustrated in Figure 2.2, which shows the four cells used in the

69

Figure 2.2: The values at the four marked cell centroids are used to fit a bilinear poly-

nomial, which is evaluated at the edge midpoint marked with a red bar.

In the case of all four cells being uncut Cartesian cells, this procedure reduces to

averaging the lower two cell values. Therefore, this approach for interpolation on cut

This interpolation operator will be used to interpolate the gradient components from

the x and y edges to the cell centroids. For Cartesian cells (also for irrflow cells) we use

averaging, e.g.,

(Gx )i+1/2,j + (Gx )i1/2,j

(I2 Gx )ij = .

2

On cut cells we again have the problem that this is not accurate enough. Instead we use

polynomial interpolation.

The implementation details for this interpolation operator are more complicated than

for I1 . Figure 2.3 shows three possible situations. The goal is to interpolate values from

the center of x edges to the centroid marked with a gray circle. To do so, we use the

values at the x edges marked with a red bar. Depending on whether we have four or

three values available in the close neighborhood of the cell with the marked centroid, we

70

(a) bilinear (b) bilinear (c) linear

Figure 2.3: Illustration of the interpolation operator I2 : the values at the edge midpoints

marked with red bars are used to determine a polynomial, which is then evaluated at

the cell centroid marked with the gray circle. In situations (a) and (b) we use a bilinear

polynomial, for (c) a linear polynomial is used.

We now test the accuracy of the projection using the adjustments on cut cells we

just described. As test problem we use the interior of a circle (compare Figure 1.7). For

this geometry, one possible incompressible velocity field with the appropriate boundary

represents a scalar field. Then we test how well the projection removes the perturbation,

The result is shown in Table 2.1. We observe second order in the L1 norm. The

the form f1 (x) + f2 (y) or whether there is more interaction between the x and y terms.

In the first case, we observe second-order convergence in the L norm in this simple

71

Table 2.1: Accuracy of the projected velocity field compared to u = (2y, 2x)T . The

errors for u and v are the same.

perturbation Grid L1 error order L error order

642 0 0

1282 0 0

2562 0 0

1 + 0.2x + 0.3y + 0.4xy 322 4.98e-04 1.50e-02

642 1.69e-04 1.56 7.72e-03 0.96

1282 4.32e-05 1.96 3.71e-03 1.06

2562 1.16e-05 1.90 2.00e-03 0.89

sin(x) + sin(y) 322 2.48e-03 3.07e-03

642 6.34e-04 1.96 7.67e-04 2.00

1282 1.60e-04 1.98 1.96e-04 1.97

2562 4.03e-05 1.99 4.89e-05 2.00

sin(x) sin(y) 322 1.48e-03 2.03e-02

642 4.55e-04 1.70 1.04e-02 0.96

1282 1.19e-04 1.94 5.03e-03 1.05

2562 3.14e-05 1.92 2.66e-03 0.92

For testing the full projection algorithm we use the same software setup as described

in Section 1.4.1. The main work for the advection step had already been implemented for

our tests in Chapter 1. We extended the existing algorithms by a routine that predicts

For the cell centered projection and the MAC projection we started with a working

projection for Cartesian grids provided by the CCSE group. It uses a multigrid (MG)

solver to solve the corresponding Poisson problem. To make the projection work on cut

cells, we implemented the interpolation operators presented in Section 2.3.2.3 and the

divergence and gradient operators presented in Sections 2.3.2.1 and 2.3.2.2. During these

We only use cut cell geometry on the finest MG level. On coarser levels, cut cell

72

geometry can lead to split cells, which causes additional problems. In our initial tests,

this approach overall worked well. But it might be necessary in the future to adjust the

In our numerical test, the initial velocity field is computed by an initial cell-centered

projection. To determine a suitable pressure gradient, initial pressure iterations are used.

Here, several iterations of our 2-step algorithm are taken (consisting of advancing the

velocity field and applying the projection). Afterwards, the velocity field is reset to the

initial data. For theoretical justification see Bell et al. [18, 20].

ut + (uu) + p = 0,

u = 0,

st + (us)x + (vs)y = 0.

Figure 2.4: Flow past a

Almgren et al. [8]. The geometry for this problem is shown

half-cylinder in a channel.

in Figure 2.4. The test domain is [0, 8] [0, 24] and a half-

cylinder with diameter D = 2.0 is used. There are inflow and outflow boundary condi-

tions at the lower and upper y edge, respectively, and slip wall boundary conditions on

both x edges. The inflow velocity is v = 1. The initial velocity field is computed by an

initial projection. We add a small perturbation to break the symmetry. The scalar is

73

(a) vorticity (b) passive scalar

74

Figure 2.5 shows the vorticity and the passively advected scalar for a 96288 resolu-

tion at time T . The final time T was chosen such that the flow is periodic but before the

errors arising at the high y outflow boundary dominate. (To be able to run to a later

time T , we actually use the test domain [0, 8] [0, 48] and run with six patches of the

free-stream velocity and f being the vortex shedding frequency. We measure a Strouhal

We have presented initial results for extending a projection algorithm from Cartesian

grids to embedded boundary grids. Here, we relied on the mixed explicit implicit time

First numerical results are promising but there are still many open questions. Initial

numerical tests and theoretical considerations indicate that the discretization of the

nonlinear velocity term (uu) is only first-order accurate for cut cells. For this term,

boundary integrals over the cell edges are evaluated using the midpoint rule. Then, these

terms are summed up and the sum is divided by the cell volume. Due to this division,

accuracy is lost. On Cartesian cells, this is not an issue as error cancellation is more

favorable. For cut cells, one solution might be to use a higher order quadrature rule, such

as the two point Gaussian quadrature rule. Additional work will be needed to examine

Also, further tests for the projection step and the development of a fully second-order

projection (with respect to both the L1 and L norm) are probably necessary. We did

al. [86]. Further tests will be needed to assess whether one of these two approaches will

75

lead to a more suitable definition of G than the currently used one, but it seems likely.

A distant future goal is to extend this algorithm to three dimensions and to the solu-

tion of the Navier-Stokes equations. So far, we only used algorithms that extend to three

dimensions in a straightforward way. This will also be a main design criteria for future

need to solve an elliptic problem in each time step. We already solve an elliptic equation

in each iteration (for the projection), but with a different type of boundary conditions.

Future research will be necessary to assess the possibilities of extending the approach

76

Chapter 3

The LP limiter

3.1 Introduction

In this chapter we focus on slope reconstruction and limiting for embedded boundary

grids in two dimensions. On flow cells standard one-dimensional limiters [82, 104] can

be applied to the x and y direction separately. This is not the case for cut cells, since

the centroids are typically not coordinate-aligned and therefore the x and y direction do

not decouple.

Typically a scalar limiter is used on cut cells. This limiter multiplies both the x and

y slope with the same scalar factor . It was introduced for unstructured triangle grids

by Barth & Jespersen [16], with less diffusive versions of the scalar limiter developed in

[17, 94]. More multi-dimensional limiter versions, partly tailored to the special structure

of a triangle, have been proposed in [39, 70, 75, 85, 107]. Additionally, ENO/WENO-

type schemes have been developed for unstructured grids [3, 54, 68, 93]. For cut cells,

Here, we present a less diffusive alternative to the scalar limiter, the LP limiter.

and y slope separately by using two different scalar factors x and y . Due to the non-

77

coordinate-aligned geometry of cut cell centroids, x and y do not decouple but need

suggested by Berger et al. [28]. Such an LP needs to be solved on every cut cell in every

time step. To do that efficiently we use the all-inequality Simplex method, introduced to

us by Margaret Wright.

The idea of formulating a limiter as an optimization problem is also the main ingre-

dient for several limiters developed for unstructured triangular and quadrangular grids.

Hubbard [69, 70] examines the possibilities of using a projection approach or a quadratic

maximum principle region. Both Hubbard and Buffard & Clain [31], who propose a new

slope reconstruction method for the MUSCL scheme based on a minimization procedure,

do not provide a general optimization method but use a customized solution strategy for

the respective optimization problems. In [67], Hoteit et al. develop a limiter for discon-

tinuous Galerkin methods based on solving least squares problems with linear equality

and inequality constraints, and provide a general optimization algorithm for their solu-

tion. However, the solution of a constrained least squares problem is significantly more

expensive than the solution of our specific LPs by means of the all-inequality Simplex

method.

The LP limiter presented here is actually more a limiter framework than a specific

limiter. The choice of the monotonicity constraints influence the accuracy and robustness

of the limiter. In the following we will examine various formulations to determine suitable

Much of this chapter has been published in a modified form by May & Berger [87].

That paper also includes results using the LP limiter on unstructured, triangular grids

Park et al. [94] was tested. The LP limiter did well in these tests, and in particular

78

This chapter is structured as follows. In Section 3.2 we introduce the idea of the LP

limiter and discuss the suitability of various monotonicity constraints for cut cells. In

Section 3.3, we compare optimization algorithms for solving linear programs and provide

details for our method of choice, the all-inequality Simplex method. Numerical results for

the LP limiter on embedded boundary meshes are presented in Section 3.4. We conclude

show a non-negativity result for linear advection on cut cells using the LP limiter.

In Step 2, the scalar limiter computes a limited gradient (Dx , Dy ). For the LP limiter,

the limited gradient has the form (x Dx , y Dy ). Both limiters enforce certain mono-

tonicity constraints. We will present details for the two limiters and discuss suitable

monotonicity constraints for cut cells. For concreteness, however, we first describe the

For the computation of the initial gradient estimate (Dx , Dy ), we use a standard least

squares approach [15]. Consider a cut cell M with centroid (xM , yM ) and cell value sM

that has three neighbors with centroids (xi , yi ) and cell values si , i = 1, . . . , 3, as shown

79

in Figure 3.1. We define

x1 xM y1 yM s1 sM

Dx

r = x2 xM y2 yM , (3.1)

s2 sM

Dy

x3 xM y3 yM s3 sM

and find (Dx , Dy ) as the least squares solution of minDx ,Dy krk2 . This approach is exact

for linear functions. When formulating suitable monotonicity constraints we will focus

on preserving this property in the limiting step. On distorted meshes, the least squares

approach is somewhat more accurate than the Green-Gauss approach [4, 14].

For the gradient estimation, only edge neighbors of a cut cell are used, except for a

triangular cut cell. Since the latter has only two edge neighbors, the diagonal neighbor

is included. This ensures that we always use at least three pieces of information in (3.1)

(xM , yM )

(x1 , y1 ) (x3 , y3 )

(x2 , y2 )

The limited reconstruction using the scalar limiter has the form

Dx x xM

s(x, y) = sM +

Dy y yM

80

with [0, 1]. For each of the given monotonicity constraints (discussed in Section

3.2.4), a value i [0, 1] is determined such that the constraint is fulfilled. Then =

mini i . The possibility of sequentially enforcing the monotonicity constraints makes the

implementation of the scalar limiter very easy. The price is unnecessary diffusion.

The LP limiter uses two different scalars x , y [0, 1] to reduce the numerical

x Dx x xM

s(x, y) = sM + . (3.2)

y Dy y yM

For a coordinate-aligned mesh, x and y decouple. This is not the case for a cut cell. We

cannot sequentially enforce the monotonicity constraints as done with the scalar limiter.

The reason is that the scalar limiter only changes the length of the initial gradient,

lem: retain as much of the unlimited gradient as possible while fulfilling the monotonicity

conditions. We use the l1 -norm to measure the difference between the limited and un-

x ,y

= (1 x )|Dx | + (1 y )|Dy |

81

(x , y ). This results in a problem of the form

x

min |Dx |x |Dy |y subject to A > b, (3.4)

x ,y

y

We now present two sets of monotonicity constraints that are suitable for cut cells:

Standard constraints

In one space dimension, the minmod slope limiter reconstructs to the two neighboring

centroids and makes sure to not over- or undershoot the neighboring value. The standard

should be enforced. Typically, these are the edge neighbors of cell M . The constraints

are given by

(xj xM )Dx x

min(sM , sj ) 6 sM + 6 max(sM , sj ), for j = 1, . . . , N. (3.5)

(yj yM )Dy y

In words, we reconstruct to the centroid of a cell j and make sure to not exceed the

minimum and maximum value taken over the value of cell j and the value of cell M .

To use the LP formulation for limiting, we need to rewrite the constraints as linear

inequalities. For this purpose, we distinguish the cases sM 6 sj and sM > sj and

82

reformulate the constraints as

(xj xM )Dx x

if sM 6 sj : > (sj sM ), (3.6a)

(yj yM )Dy y

(xj xM )Dx x

> 0, (3.6b)

(yj yM )Dy y

(xj xM )Dx x

if sM > sj : > 0, (3.6c)

(yj yM )Dy y

(xj xM )Dx x

> sj sM . (3.6d)

(yj yM )Dy y

For each cell neighbor j we determine whether sM 6 sj . If this is the case, we add

inequalities (3.6a) and (3.6b) to the LP. Otherwise, we add constraints (3.6c) and (3.6d)

dimension of A and b in (3.4) depends on the number of constraints one wants to enforce.

Relaxed constraints

Figure 3.2: For cut cells, the edge

approach might limit even a linear function, since

midpoint typically does not lie on

typically the edge midpoint does not lie on the line

the line connecting neighboring

connecting the cell centroids as pictured in Figure

centroids.

3.2. If the level lines of a linear function are aligned

83

with this line, the value at the edge midpoint will be a relative extremum and the limiting

To mitigate this problem, some approaches reconstruct to the edge midpoints but

limit using the min and max over all neighboring cells [16]. Geometrically it corresponds

to extending the convex hull depicted in Figure 3.2 as a line to a polygon spanned by the

centroids of all cells used in the min/max computation. This approach will be linearity-

preserving if and only if the edge midpoints lie in this extended convex hull, compare

Swartz [103]. This is not true, however, for a cut cell with triangular shape. Consider

for example Figure 3.2 and assume that only the left edge neighbor and the (not drawn)

upper edge neighbor are used for limiting. Then, the edge midpoint marked with a

square does not lie in the convex hull spanned by these two centroids and the triangular

cells centroid.

boring centroids but limit using the min and max over all neighboring cells. The con-

(xj xM )Dx x

min(sM , s1 , ... . . . , sN ) 6 sM + 6 max(sM , s1 , . . . , sN ) (3.7)

(yj yM )Dy y

for j = 1, . . . , N .

We note that for both the standard and relaxed constraints, the resulting LP limiter

The boundary edge midpoint does not lie in the convex hull spanned by the centroids,

so any constraint of the form used for the other edge midpoints might lead to limiting

84

is necessary to ensure non-negativity. For example when simulating the Euler equations

pressure and density should not become negative. To address this issue, we add the

constraint

(xB xM )Dx x

sM + > 0, (3.8)

(yB yM )Dy y

where (xB , yB ) denotes the boundary edge midpoint. The non-negativity result presented

in Section 3.2.6 and the result in Appendix A include the addition of this constraint.

This concludes the discussion of the specific LPs used for limiting. We will either

use the standard constraints (3.6) or the relaxed constraints (3.7) in the LP of the form

All our constraints are formulated such that (x , y ) = (0, 0) is a feasible point.

The point (0, 0) corresponds to the zero gradient, i.e., to not reconstructing a slope.

the feasible set is bounded. These two facts imply that there must exist a bounded

optimal solution for each LP on every cut cell by the Fundamental Theorem of Linear

Programming [91].

Both the standard and the relaxed constraints only limit the reconstruction evaluated

the edge midpoints, which is used in the flux computation, is a relative extremum and

might become negative. For planar geometry, a straightforward but tedious geometry

85

(a) convex hull for cut (b) convex hull for Carte-

cell sian neighbor of cut cell

Figure 3.3: For a cut cell, all edge midpoints are contained in the convex hull of neigh-

boring centroids and the boundary edge midpoint. For a Cartesian neighbor, this might

not be the case for the respective convex hull.

Lemma 3.1. All edge midpoints of a cut cell lie in the convex hull spanned by the

This is illustrated in Figure 3.3(a). We note that the convex hull here includes the

boundary edge midpoint. Therefore, this convex hull is different from the one considered

A linear function evaluated over a convex hull attains the maximum and minimum

values at the corners of the convex hull. Consequently, Lemma 3.1 implies that the

reconstruction evaluated at the edge midpoints is bounded by the max and min over

the centroid values and the value at the boundary edge midpoint. Assuming that all

neighboring cells values are non-negative and that the boundary constraint (3.8) is

In Appendix A, the boundary constraint (3.8) and Lemma 3.1 will be used to prove

that for the linear advection equation and non-negative data at tn , the value on a cut

The Cartesian neighbor of a cut cell also has an irregular stencil and needs special

treatment. (In Chapter 1 we referred to these cells as irrflow cells.) One possibility

86

E

W M Ecen

Figure 3.4: Idea of recentering: instead of E, Ecen is used to determine the x slope.

is to use the LP limiter on these cells as well. Analogous to Lemma 3.1, we examined

whether the four edge midpoints are contained in the convex hull of the four neighboring

cells centroids. Unfortunately, this is not true in general. An example of this is shown

these cases. Though additional constraints can easily be included in the LP framework,

there is a cheaper option for this relatively regular cell which is presented next.

An alternative to using the LP limiter is the recentering approach [28, 76]. In re-

centering, the location of the point where the limiter is applied is altered, so that a

one-dimensional limiter can be applied. To do so, one makes use of the fully limited

a limited x slope, since in the situation shown, a standard one-dimensional limiter can

be used for the y slope. The problem is that the cell centroids W , M , and E do not

have the same y coordinate. Instead of E, we use the point Ecen for limiting, which

does have the same y coordinate as W and M . This reduces the limiting problem to

and between M and Ecen differ). One possibility is to use the minmod limiter (recall

87

(1.5)) resulting in the x slope

sM sW sEcen sM

minmod , .

x x(Ecen ) x(M )

To obtain a value at Ecen , we use the fully limited gradient on the cut cell E and

evaluate the linear reconstruction of cell E at Ecen . We note that even in the case of

the slimmest triangle, the point Ecen lies within the cell and in particular within the

reconstruction on cell M at the edge midpoint that lies on the line connecting M and

Ecen (assuming non-negative cell values). Also, this procedure is linearity preserving.

In this section we focus on the efficient solution of the LPs in our limiter. We first

compare standard optimization algorithms used to solve linear programs and then present

the scheme that is most suitable for our purposes, the all-inequality Simplex method.

x

with c, x R2 , A Rk2 , b Rk , and k depends on the geometry of the cut cell and the

constraints chosen, but is typically between 10 and 15. Such a problem must be solved on

every cut cell in every time step, or several times per time step for a multi-stage method.

The two standard methods for solving LPs are the Simplex method and the Interior

Point method, see, e.g., Nocedal & Wright [91]. The Simplex method starts at a corner of

88

the feasible set and then moves (along the edges) from corner to corner until it reaches

an optimal vertex. The Interior Point method starts with a strictly interior point of

the feasible set, computes iterates that lie strictly in the interior, and only approaches

the boundary in the limit of approaching the optimal point. We tried both methods

and concluded that the Simplex method is much more suitable for our specific problems

due to the choice of the starting point and the cost of the algorithm determined by the

It is usually non-trivial to find a suitable starting point for the Simplex method. One

common way is to solve a Phase-I problem [91] in addition to solving the actual LP.

The solution of the additional problem is roughly as expensive, which doubles the cost.

In our case, we have a starting point free of charge. The point (0, 0), corresponding to

the zero-gradient, is a vertex of the feasible set and therefore a suitable starting point. It

is non-trivial, however, for our LPs to find a strictly interior point to be used as starting

Once a starting point is found, the cost of the algorithm is determined by the number

of iterations needed and the cost of each iteration. In terms of the latter, the Interior

Point method is more expensive than the Simplex method as the matrix that needs to

be inverted in each iteration is significantly larger. The number of iterations needed for

to it by means of slack variables. Then, the standard Simplex algorithm, as, e.g.,

presented by Nocedal & Wright [91], can be used. However, the resulting computation

is not very fast, since in each iteration two linear systems need to be solved, and their

size depends on k, the number of original constraints. We typically solve several million

89

LPs during the course of a simulation. This situation is to some extent contrary to the

needs to be solved only a few times. We need to solve tiny LPs, but we need to solve

Wright, is much more suitable. The idea is the same as for the standard Simplex method:

the algorithm moves along the boundary of the feasible set from corner to corner. The

mathematical details differ as the algorithm is based on the all-inequality standard form.

As a consequence, the two linear systems that need to be inverted in each iteration are

only 2 2 systems (for our case of A Rk2 ). This makes each iteration significantly

cheaper than for the standard Simplex method, while the number of iterations stayed

the same. Therefore, the all-inequality Simplex method is our method of choice for these

specific LPs.

The all-inequality Simplex method is not widely known. The only description we

know of is by Gill et al. [57]. Since this book is out of print, the algorithm is included

in the Appendix of [87] and will be presented here as well. We follow the description by

Gill et al. .

x

case n=2 and m is typically 1015. The Simplex method is an iterative algorithm with

xk+1 = xk + k pk . (3.9)

90

In each iteration, the step length k and the descent direction pk need to be determined.

Working set Wk : Set of (exactly) n indices, each of which is the index of a constraint

that is active at xk .

T

a1 b1

. .

Ak = .. , and bk = .. ,

aTn bn

Set of decreasing constraints: For a given descent direction pk , the set of decreasing

constraints Dk is defined by

this vertex. In this case, the working set Wk is uniquely determined. The vertex is

degenerate if more than n constraints are active. This is the case for our LPs and it can

lead to cycling. We did not observe this behavior in any of our two-dimensional tests,

Algorithm 3.1. Let xk be a vertex of the feasible set satisfying Axk > b and let Wk be

91

2. Examine the Lagrange multipliers k :

Otherwise select q such that (k )q < 0. This constraint will be removed from

(b) If Dk = , STOP. In this case, the problem is unbounded. (This will never

be the case for our special LPs, since the constraints 0 6 x , y 6 1 guarantee

(c) For all i Dk calculate the maximum step length i that can be taken before

violating constraint i:

aTi xk bi

i .

aTi pk

(d) Calculate the largest step length possible that does not violate any constraints

as

k min (i ).

iDk

5. Update

92

i. Determine the set of blocking constraints Sk which contains all indices i

such that i = k .

vertex, Sk only contains one index. Details on which t to choose for our

(c) the working set matrix: Ak+1 Ak with row t replacing row q of A,

The algorithm assumes the existence of a suitable starting point. This is not an issue

for our specific LPs. We will therefore not discuss this point further.

the LP limiter

We now discuss our choices for constraint deletion and addition and some numerical

issues we encountered for solving the LPs used in the limiting step.

It can happen that there exist several indices i such that (k )i < 0. We follow

Dantzigs original rule of defining the most negative component of k to be the leaving

index q in Step 2.

For a non-degenerate vertex xk+1 , the entering constraint t is uniquely defined. But

for our degenerate LPs it can happen that several constraints (that are currently not in

Wk ) block the step at exactly the same maximum step length k . In this case, we choose

the constraint with the lowest index to enter the working set for Wk+1 .

93

Degeneracy and cycling

We use the zero-gradient, corresponding to x0 = (0, 0), as starting point for the

algorithm. We initialize W0 with the indices corresponding to the conditions x10 , x20 > 0.

(xj xM )Dx x

> 0 (3.10)

(yj yM )Dy y

will be active at the starting point, but not be part of the working set. Therefore, the

LP is degenerate.

The main problem with degenerate LPs is that they could encounter cycling: The

search direction is computed such that it does not violate any of the constraints in the

working set Wk \ q. If a constraint j is active but not in the working set (as, e.g., for

the starting point), one can end up with a search direction violating that constraint.

Therefore, the step length k will be determined to be zero, j will be added to the

working set and one index will be removed. In other words, the algorithm does not move

along the boundary of the feasible set in this step, but just replaces the indices in the

working set. This can lead to a cycle in which the algorithm changes the working set in

We did not encounter this issue in any of our numerical tests in two dimensions,

during which we solved a very high number of LPs coming from cut cells with differing

Numerical issues

If we solved that system exactly, then aTi pk = 0 for i Wk , i 6= q, i.e., for all indices in the

working set, which are supposed to stay in the working set in this iteration. Therefore,

none of these indices should qualify for the set of decreasing constraints Dk , out of which

94

the index is determined that will enter the working set Wk+1 in exchange for q.

Numerically, however, we found that aTi pk = with small but not identically zero.

This led initially to the problem that sometimes a constraint ended up twice in the

working set: in addition to staying in the working set, the constraint also entered the

set of blocking constraints and was chosen as the new constraint to enter Wk+1 . To

avoid this case (which would not occur in exact computations), we do not check whether

aTi pk < 0 but whether aTi pk < 1011 in the computation of Dk in Step 4. This worked

The cost of the LP limiter essentially depends on the number of iterations in the

Simplex algorithm. In all our two-dimensional tests, the average number of iterations

was between 2 and 3.5, and 2.5 iterations was typical. The maximum was always 6 or

less.

solving two two-by-two systems and checking each constraint for a possible violation

by the proposed step. This corresponds to more floating point operations than the

we count one iteration of the all-inequality Simplex method as roughly equivalent to the

For both the scalar and LP limiter one first computes a least squares gradient, so

this part of the work is identical. In sum, we estimate the cost of slope reconstruction

using the LP limiter to be about 2.5 times the cost of slope reconstruction using the

scalar limiter. We also like to note that the LP limiter is embarrassingly parallel.

95

3.4 Numerical results

Here we present numerical results comparing the LP limiter with the scalar limiter.

We first show results for a smooth steady-state test problem. Then we present results

for the time-dependent simulation of shocked flow diffracting around a cylinder. The

numerical methods used for time stepping are described in the respective sections.

We consider the case of inviscid, isentropic, supersonic flow between concentric arcs

as presented in Aftosmis et al. [4]. Since the flow is shock free, a limiter is not needed for

this test problem. But this way we can compare the unlimited solution to the solution

using the two different limiters. Also, there exists an analytic solution for this test

problem.

As this is a steady-state problem, we can use local time stepping and avoid the small

cell problem. We use the second-order TVD Runge-Kutta method due to Gottlieb &

Shu [58]. To solve ut = f (u), this two stage method is given by:

u = un + tf (un ),

1 1

un+1 = un + (u + tf (u )) .

2 2

The limiting is performed on the primitive variables, not the conserved variables, and

The grid for the simulation is shown in Figure 3.5. The cells are initialized with the

exact solution and the simulations are run to steady state. We use the same parameters

as [4], Mi = 2.25, inner radius 1.0, outer radius 1.43, and CFL number .9.

In our test, we only limit at the cut cells. If limiting was used on all cells the interior

error would dominate, and we would not be able to see the effect of using different

limiters in the cut cells as clearly. For the unlimited slope reconstruction on Cartesian

96

Figure 3.5: Only slopes on the marked cut cells are limited, using either scalar or LP

limiting.

cells, we use standard central difference quotients on flow cells, and the least squares

formulation on irrflow cells. Also, to minimize the error at the inflow, we specify the

exact fluxes into the first column of cells, and do not limit these cells either.

For the shaded cut cells of Figure 3.5 we use either the scalar or LP limiter, and

compare to the unlimited results and the exact solution. For both the scalar and LP

For the LP limiter, we also include a positivity constraint at the boundary segment.

used for limiting and p is 1 for density and pressure and 0 for the velocity variables.

Figure 3.6 shows the error in the L1 norm and L norm for various scenarios. The

solid lines correspond to a least squares fit, the symbols to the measured errors. For a

given set of constraints, the LP limiter leads to significantly more accurate results than

the scalar limiter. For the standard constraints, the LP limiter is about 4-5 times more

accurate in both the L1 and L norm. For the relaxed constraints, the results with the

LP limiter are about twice as accurate in the L1 norm and a factor of 4 better in the

L norm. Note that the LP-relaxed version yields results that are very close to the

unlimited case.

97

1

10

3

10

2

10

Error

Error

4

10

Unlimited Unlimited

Scstd Scstd

5 Screl 3 Screl

10 10

LPstd LPstd

LPrel LPrel

2 2

10 10

mesh width mesh width

Figure 3.6: Error in density over the domain for standard and relaxed monotonicity

constraints. The mesh width h on the horizontal axis denotes the length/height of a

Cartesian cell. The unlimited results show second-order convergence in L1 , and h3/2 in

the L norm. The solid lines are the result of a least squares fit, the symbols mark the

measured errors.

As typical for embedded boundaries, the error plots show a zig-zag-behavior, which

is significantly more pronounced for the L error than for the L1 error. Also, for the

unlimited case in the L norm, the error does not converge with full second order but

instead converges like h3/2 . Similar behavior has been observed by other authors before

[26, 42].

Figure 3.7 shows the actual error distribution for density for the scalar and LP lim-

iters, both using the standard formulation. Red represents overshoot, blue undershoot,

and green is negligible error. Both pictures use the same scale. For both limiters, the er-

rors bounce between the two arcs. However, the error for the scalar limiter is significantly

chatter. The convergence stalls due to the activity of the limiter. For both the scalar

and LP limiter we observe this issue, but for the LP limiter it kicks in later.

98

(a) scalar limiter (b) LP limiter

Figure 3.7: Error in density using the scalar limiter (a) and LP limiter (b) and standard

monotonicity constraints. The grid uses h = (1.43/244) 0.0059. Red represents

overshoot, blue undershoot, and green negligible error.

amined some cells in the inflow area more closely. The values on these cells along the

boundary are slightly increasing with some minor oscillations. However, due to these

minor differences the limiter becomes active for a few cells to guarantee monotonicity. As

a result, the flux to the neighboring cells is reduced (or increased) by a bit. Over several

iterations, the cell value at the neighboring cell becomes smaller (or bigger), changing

Common approaches to reduce limiter chatter are to use a smooth limiter and/or to

avoid clipping smooth extrema, i.e., to not strictly enforce monotonicity [75, 108, 110].

As it is non-trivial to transform the LP limiter into a smooth limiter, we tried the latter

approach and allowed some relative overshoot of the order of 103 . As a result, the

Here we test the behavior of the LP limiter with standard monotonicity constraints

(3.5) on a time-dependent problem with a shock to assess its robustness. This implies

that we need to use a time stepping method that can deal with the small cell problem.

We choose the h-box method [27, 66] for this purpose. For the h-box method and the

99

A E

B

QL

C

M

Figure 3.8: Due to the enlarged stencil of the h-box method, the gradient on cell M is

used in the flux computation for the edge marked with the blue square.

LP limiter we need to use more monotonicity constraints than usual for triangular cells.

This is made precise in Section 3.4.2.1. In Section 3.4.2.2, we present numerical results

The h-box method solves the small cell problem by essentially enlarging the domain of

dependence of cut cells in a way that enforces a cancellation property that gives stability.

By increasing the stencil, however, a cut cell can be used in the flux computation for

another cut cell that is not an edge neighbor but a diagonal neighbor (with respect to

the underlying Cartesian grid). We enlarge the monotonicity constraints to include these

In more detail, for triangular cells it can happen that the slope on the cut cell has

not been sufficiently limited in the direction of that diagonal neighbor. This is shown in

Figure 3.8. The edge between cells A and E, marked with a blue square, uses the h-box

state QL

in solving the Riemann problem to compute the flux. This state is computed

from a linear combination of the solution on the underlying Cartesian grid, in this case

is also determined from a linear combination of

the gradients in A and M . The problem is that the gradient in cell M might not have

been limited strongly enough to be used this way. Cell M only has one x face (shared

100

with cell C) in the negative x direction. The other edge neighbor, cell A, has a centroid

for which the difference in the y component, compared to cell M s centroid, is much

bigger than the difference in the x component. As a consequence, the x slope on cell M

might not have been limited strongly enough, and might cause a loss of positivity at the

This did not cause issues when using the h-box method with the more diffusive scalar

limiter and standard monotonicity constraints. But when using the LP limiter with the

Therefore, we add monotonicity constraints to the LP at triangular cut cells for any

equations for cells B, D, and E are added to the LP for determining the gradient on cell

M . Without this, only constraints for A and C would have been used. The additional

equations are of the same form as the standard monotonicity constraints (3.5). (We note

that cells D and E do not participate in the initial computation of the least squares

gradient.) It was very easy to adjust the LPs in this way and we did not observe further

We again solve the two-dimensional Euler equations for this test. We consider shock

reflection from a cylinder using the same setup as Helzel et al. [66]. The domain is [0, 1]2 ,

the cylinder has a radius of r = 0.15 and is centered at (0.5, 0.5). A Mach 2 shock starts

mesh for this computation is 302302. This results in 364 cut cells around the cylinder.

As this problem involves a shock, all cells must be limited. We use the MC limiter

for regular Cartesian cells. For cut cells, we use either the scalar or the LP limiter with

standard monotonicity constraints. For the LP limiter, we add the positivity constraint

at the boundary edge midpoint for the density and pressure variables.

101

Figure 3.9 shows contour lines of density at

For a more detailed look, we evaluate the Figure 3.9: Simulation of shock

solution on the embedded cylinder boundary at diffraction around a cylinder: Density

the final time T=0.30. The results for density contours at T=0.30 for the LP limiter.

of arc length are shown in Figure 3.10 for both the LP and the scalar limiter on two

different grids. The curve starts at the high density region in front of the cylinder and

Figure 3.10(a) shows the result for the same discretization as used for the density

contours in Figure 3.9. The maximum peak is 4.11 for using the LP limiter and 3.90 for

the scalar limiter. This corresponds to a 5% difference. We also did computations with a

coarser grid with h .008. The result is shown in Figure 3.10(b). There, the difference

is even more pronounced, and is slightly over 6%. For both grid sizes, the minimum

density values are also slightly lower for the LP limiter than for the scalar limiter.

At first glance it seems that the scalar limiter is doing better at the high density

in front of the cylinder, corresponding to the left and right boundary parts of our one-

dimensional plots. A more detailed analysis reveals, however, that the LP limiter is more

accurate there as well. Both comparison to results from [66] and computations on finer

grids imply that the solution converges to the lower value of the maximum density.

102

(a) fine grid (b) coarse grid

arc length around the cylinder on a fine and coarse grid, respectively. The LP limiter

gives density at the sharp peak that is 5% higher than the scalar limiter on the fine grid,

and 6% higher on the coarser grid.

In this chapter, we have presented a limiter that limits the x and y slope of the

gradient independently and that is suitable for the complicated geometry of a cut cell.

It is based on solving a tiny LP in every cell, which we solve very efficiently by means of

The standard limiter for cut cells, the scalar limiter, limits both slopes with the same

scalar factor . For this approach the constraints can be enforced one after the other,

which is not possible for limiting x and y slope independently. As a consequence, the LP

limiter is roughly 2-3 times as expensive as the scalar limiter, despite its very efficient

setup. In terms of accuracy, the results using the LP limiter are a factor of 2-5 more

accurate depending on the monotonicity constraints, which compensates for the higher

cost.

the solution of the LPs. Thus, it is easy to modify the constraints for special situations.

This was demonstrated by our modifications for the h-box method no changes besides

103

the additional constraints were needed.

The next step is to extend the LP limiter to three space dimensions and to use

Consequently, the corresponding LPs will have three variables instead of two and there

will be additional monotonicity constraints, but we can still use the same all-inequality

Simplex method to solve them. Initial tests have found occasional problems with cycling,

however, which was not the case in two dimensions. Even though the LPs used for

limiting are tiny, they are degenerate. Using Blands rule [40, 57] fixed the problem in

our initial tests and seems a promising way to go. Also, we observed some numerical

issues as the three-by-three systems that need to be inverted in the Simplex algorithm

became very ill-conditioned for a few cut cells. We could fix these issues easily though

by introducing an index check, which ensures that a constraint cannot show up twice in

In two dimensions, a geometric analysis showed that for planar geometry, the recon-

structed solution evaluated at the edge midpoints does not become negative. In three

dimensions, such an analysis would be very complicated, and the claim might not even

be true. In this case, additional positivity constraints would need to be included in the

LP, which can easily be done. Overall, we expect a significant improvement in accuracy

compared to the scalar limiter, which uses the same for all three coordinate directions.

104

Conclusions

We have developed new methods for simulating flow in complicated geometries us-

ing Cartesian embedded boundary grids. The dissertation is organized along the three

aspects that we have considered: In Chapter 1 we have presented a new method to solve

the small cell problem for the linear advection equation in two dimensions. The main

criteria for the scheme development has been to guarantee easy extensibility to three

dimensions and to achieve second-order accuracy at the embedded boundary. Our ap-

proach is to use an implicit time stepping scheme on the cut cells for stability and an

explicit scheme on cells away from the boundary to avoid excessive cost. The goal of

Theoretical considerations in one dimension show that flux bounding is more favor-

able than cell bounding. As implicit time stepping scheme we use the trapezoidal rule,

which is a good match with our explicit scheme, the MUSCL scheme. Numerical tests

in two dimensions indicate that the resulting scheme is second order in L1 and between

method for the incompressible Euler equations from Cartesian to Cartesian embedded

boundary grids. In the first step of the projection algorithm, the velocity field at the

new time is computed without enforcing the incompressibility condition. We have relied

on the algorithm from Chapter 1 to extend this part to cut cells. For the second step of

the algorithm, we have adjusted the operators involved in the projection to embedded

105

boundary grids. We have presented first results using the full projection algorithm for

In Chapter 3 we have developed a new slope limiter for cut cells. Due to the irregular

geometry of a cut cell, standard slope limiters for Cartesian or triangular grids cannot

easily be used. Usually, the scalar limiter is applied, which limits the x and y slope with

the same scalar factor . We have developed a new limiter, the LP limiter, which limits

the x and y slope separately using two scalars (x , y ). The limiter is formulated as

a tiny LP. We use the very effective all-inequality Simplex method to solve the specific

LPs. The LP limiter is somewhat more expensive than the scalar limiter but significantly

more accurate.

We have described plans for future work in the conclusions of each chapter. One

main goal is the extension of the algorithm developed in Chapter 1 and of the LP limiter

to three dimensions. Both schemes have been set up to easily extend to three dimensions

identified problems caused by our approach and have ideas how to fix them. We are very

hopeful that this will lead to a higher-order algorithm for solving the incompressible

Another goal for future work is a high performance implementation of our algorithms

for embedded boundary grids. Our software is based on BoxLib [50], which provides

grids. Our tests currently run in parallel on desktop computers (with four cores). Taking

care of AMR related aspects along the embedded boundary and running big simulations

106

Appendix A

A non-negativity result

Batten et al. [17] show a non-negativity result for linear advection on triangle grids.

Following their approach, we show a non-negativity result for linear advection on cut

st + usx + vsy = 0.

neighboring centroids (not edge midpoints) using either the standard or the

(ii) on neighboring cells a limiting equivalent to (i) is used, which guarantees non-

107

(v) the time step satisfies the CFL-like condition

VM

t 6 , (A.1)

j:unj >0 u nj ej

P

6

where VM denotes the volume of cell M , nj denotes the unit normal vector of the

If the data at time tn are non-negative, i.e. sni > 0 i, then sn+1

M > 0.

For the proof of the Lemma A.1 we need information that is provided by the following

Lemma. We will first prove Lemma A.1, assuming Lemma A.2 holds true, and then show

Lemma A.2.

Lemma A.2. Let the assumptions of Lemma A.1 hold and define the linear, LP limited

reconstruction as

i

where mi is the midpoint of the ith edge of cell M , and cell M has k edges including the

boundary edge.

Proof of Lemma A.1. We assume that Lemma A.2 is true. The standard finite volume

k

t X

sn+1 n

M = sM Fj (sM (mj ), sj (mj ))

VM j=1

where sM and sj denote the limited reconstruction on cell M and the neighboring cell

108

j, respectively, and

sL u nj ej if u nj > 0,

Fj (sL , sR ) =

s u n e

otherwise.

R j j

k

t X

sn+1 n

M > sM Fj (sM (mj ), 0)

VM j=1

t X

= snM sM (mj ) u nj ej

VM j:unj >0

t X

> snM ML u nj ej

VM j:unj >0

t X

> snM 1 6 u nj ej .

VM j:unj >0

M > 0.

The theorem given in [17] for triangles is overall very similar to Lemma A.1 but uses

limiting at the edge midpoints and has the time step constraint

VM

t 6 . (A.4)

3 maxj |u nj ej |

Bound for maxi s(mi ): for triangles it is straightforward to deduce the bound

maxi s(mi ) 6 3 snM , which is used in [17]. For cut cells the analysis is more

complicated and will be presented in the proof of Lemma A.2. (For a triangle cell

we also use the bound 3snM but the cases of a 4- or 5-sided cut cell imply the larger

bound 6snM .)

P

j:unj >0 u

109

D E C

D E C

y J I

A B G

(0, 0) A B G

F (0, 0)

1

L x

(a) 4-sided cell (b) 5-sided cell

Before showing Lemma A.2, we provide some basic results about the centroid loca-

Lemma A.3. Consider the 4-sided cut cell in Figure A.1(a). For varying between 0

1 1 1 2

L 6 xC 6 L, y 6 yC 6 y.

3 2 2 3

Consider the 5-sided cut cell in Figure A.1(b). For 1 varying between 0 and x and 2

1 1 1 2

x 6 xC 6 x, y 6 yC 6 y.

3 2 2 3

Proof. Let us start with the 4-sided cell. We first prove the lower bound for xC . We use

that the 4-sided cell ABCD corresponds to cutting the small triangle F BA out of the

110

large triangle F CD. We denote area by A. Then there holds

R R R

ABCD xdx F CD xdx F BA xdx

xC = R =

ABCD 1dx AABCD

R R

AF CD F CD xdx/AF CD AF BA F BA xdx/AF BA

=

AABCD

AF CD 13 L AF BA 31 AF CD 13 L AF BA 13 L 1

= > = L.

AABCD AABCD 3

For the upper bound we describe the cell as quadrilateral AGCD minus triangle BGC

to get

R R R

ABCD xdx AGCD xdx BGC xdx

xC = R =

ABCD 1dx AABCD

=

AABCD

AAGCD 12 L ABGC 21 L 1

6 = L.

AABCD 2

Here, we used that xC (BGC) > 23 L > 12 L. To determine yC , we interpret the 4-sided

cell as the sum of the quadrilateral ABED and the triangle BCE. Then, yC is a

of the centroid of cell ABED, we have yC (ABED) = 12 y. For yC (BCE) there holds

combinations of the x coordinate of the centroids of quadrilateral JICD and the 4-sided

cell ABIJ. Using the results for the 4-sided cell, this implies the claim for xC . For yC

With this information we now prove Lemma A.2. The proof relies on Lemma 3.1.

The LP limiting itself only ensures that the reconstruction evaluated at the neighboring

111

z2

c z3 (0, 0) e2

2 e3

z1 M e1

1 eB

the neighboring centroids assuming sni > 0 i . Lemma 3.1 implies that non-negativity

also holds true for sM evaluated at the edge midpoints of a cut cell. The main idea

of the following proof is this: since the linear reconstruction sM , which has a positive

centroids, edge midpoints, and the boundary edge midpoint), its slope cannot be too

steep. Otherwise it would violate one of these non-negativity constraints. This is made

precise in the following. For simplicity, we will drop the time index n in snM .

Proof of Lemma A.2. We consider the case of a 3-sided, 4-sided, and 5-sided cut cell

separately.

3-sided cell: This case is straightforward and can be handled as in [17]. By Lemma 3.1

and assumption (i) from Lemma A.1, we know that sM is positive at the two edge mid-

points e1 and e2 and the boundary edge midpoint eB of the triangle cell. Furthermore,

1 1

Z

(sM (e1 ) + sM (e2 ) + sM (eB )) = sM (x)dx = sM ,

3 VM M

4-sided cell: Consider Figure A.2(a). For a 4-sided cell, there holds 0 6 1 , 2 6 y.

112

(In the following we assume WLOG 1 > 2 .) The point c, which coincides with the

origin, lies in the convex hull of the neighbors as shown in Figure A.2(a). The reason

y

is that for centroid z1 , there holds x(z1 ) 6 x

2 and y(z1 ) > 2 . Using that sM

has non-negative values at the neighboring centroids due to limiting, it must also be

non-negative at c.

This in turn implies that sM is non-negative on the line marked in light blue in Figure

A.2(b). Denoting the location of the centroid of cell M by (xM , yM ) there holds

1 1 1 1

x 6 xM 6 x, 1 6 yM 6 1 .

3 2 2 3

sM 3sM

sM + (0 xM )x Dx + (yM yM )y Dy > 0 x Dx 6 6 .

xM x

Similarly, using that (xM , 0) also lies on the light blue line, we get

3sM

y Dy > .

1

We now need a lower bound for x Dx and an upper bound for y Dy . Consider the

distance between the centroid and the boundary midpoint eB . There holds 0 6 x(eB )

there holds

As x(eB ) xM > 0, we make the right hand side as negative as possible by using the

1 3sM 3

(y(eB ) yM )y Dy > sM x = sM .

6 x 2

113

This implies

3

2 sM 9sM

y Dy 6 6 .

yM y(eB ) 1

1 9sM

(x(e3 ) xM )x Dx > sM 1 = 4sM .

3 1

8sM

x Dx > .

x

Using the upper and lower bounds for x Dx and y Dy for evaluating sM at the edge

5-sided cell: The situation of the 5-sided cell is shown in Figure A.3. For the location

1 1 1 2

x 6 xM 6 x, y 6 yM 6 y.

3 2 2 3

e2

e3 2

e1

(0, 0) e4 1

eB

114

The upper right corner of the cell lies on the line connecting the centroid of the upper

neighbor with the centroid of the left neighbor. Therefore, sM is non-negative at that

point and consequently non-negative on the light blue line. We use the light blue line in

the same way as for the 4-sided cell to deduce the bounds

3sM 3sM

x Dx 6 , y Dy > .

x y

2sM

x Dx , y Dy > 0. Then we can use point e4 to deduce y Dy 6 y . The case x Dx > 0

deduce x Dx > 2s M

x . Now we are left with the tricky case.

8sM 6sM

x Dy > , y Dy 6 .

x y

6sM

We assume y Dy > y . Using the point e4 , there holds

| {z } | {z }

>0 60

Based on the assumptions and the geometry of the cell x Dx (x(e4 ) xM ) > 0 and

make sure that the overall sum is still positive. This implies

6sM 1

x Dx (x(e4 ) xM ) > sM y Dy (y(e4 ) yM ) > sM + y = 2sM .

y 2

As xM x(e4 ) 6 12 x, we deduce

4sM

x Dx 6

x

115

6sM

as a consequence of assuming y Dy > y .

| {z } | {z }

60 60

Using the upper bound for x Dx and the lower bound for y Dy , we define

4sM 6sM

f (x(eB ), y(eB ), xM , yM ) := (x(eB ) xM ) + (y(eB ) yM ).

x y

We deduce analytic formulae for the exact positions of x(eB ), y(eB ), xM , and yM de-

pending on 1 and 2 (compare Figure A.3(b)). Evaluating f with the exact coordinates

shows that

5

5sM 6 f (x(eB ), y(eB ), xM , yM ) 6 sM .

3

6sM

Therefore, there is no possible configuration of a 5-sided cell such that y Dy > y ,

x Dx 6 4s

x , and the evaluation of sM at eB is still positive. This implies that our

M

6sM

assumption was wrong and we conclude y Dy 6 y . We use the point e3 to deduce

x Dy > 8s M

x .

We now evaluate the 4 different cases at all edge midpoints and the boundary edge

Remark. The focus of this proof is not on computing optimal bounds. We want to

116

Bibliography

[2] https://ccse.lbl.gov/Downloads/downloadAmrvis.html.

ysis and implementation. J. Comput. Phys, 114:4558, 1994.

monotonicity of various reconstruction algorithms for unstructured meshes. AIAA-

94-0415, 1994.

mesh generation for component-based geometry. AIAA Journal, 36(6):952960,

1998.

for adaptively refined Cartesian grids with embedded boundaries. AIAA-2000-

0808, 2000.

incompressible Navier-Stokes equations based on an approximate projection. SIAM

J. Sci. Comput., 17(2):358369, 1996.

method for the incompressible Euler equations in complex geometries. SIAM J.

Sci. Comput, 18:12891309, 1997.

117

[9] A. S. Almgren, J. B. Bell, P. Colella, L. H. Howell, and M. L. Welcome. A conser-

vative adaptive projection method for the variable density incompressible Navier-

Stokes equations. J. Comput. Phys., 142:146, 1998.

Part I. Inviscid analysis. SIAM J. Sci. Comput., 22(4):113959, 2000.

A. Greenbaum, S. Hammarling, A. McKenney, and D. Sorensen. LAPACK Users

Guide. Society for Industrial and Applied Mathematics, Philadelphia, PA, third

edition, 1999.

for time dependent partial differential equations. Appl. Numer. Math, 25:151167,

1997.

A Cartesian grid embedded boundary method for the incompressible Navier-Stokes

equations. Preprint, 2009.

[14] T. J. Barth. Numerical aspects of computing viscous high Reynolds number flows

on unstructured meshes. AIAA-91-0721, 1991.

[15] T. J. Barth. Numerical methods and error estimation for conservation laws on

structured and unstructured meshes. Van Karman Institute Computational Fluid

Dynamics Lecture Notes, 2003.

[16] T. J. Barth and D. Jespersen. The design and application of upwind schemes on

unstructured meshes. AIAA-89-0366, 1989.

schemes for unstructured elements. Int. J. Numer. Methods Eng., 39:18211838,

1996.

118

[18] J. B. Bell, P. Colella, and H. M. Glaz. A second-order projection method for

viscous, incompressible flow. AIAA paper 87-1776-CP, 1987.

[19] J. B. Bell, P. Colella, and H. M. Glaz. A second order projection method for the

incompressible Navier-Stokes equations. J. Comput. Phys., 85(2):257283, 1989.

for viscous incompressible flow. In Proceedings of the Tenth AIAA Computational

Fluid Dynamics Conference, pages 360367. AIAA, 1991.

compressible flow. AIAA Paper 91-1599-CP, 1991.

[23] M. J. Berger and R. LeVeque. An adaptive Cartesian mesh algorithm for the Euler

equations in arbitrary geometries. AIAA Paper 89-1930-CP, 1989.

[24] M. J. Berger and R. LeVeque. Stable boundary conditions for Cartesian grid

calculations. Comput. Systems Engrg., 1:305311, 1990.

[25] M. J. Berger and R. LeVeque. A rotated difference scheme for Cartesian grids in

complex geometries. AIAA Paper CP-91-1602, 1991.

[26] M. J. Berger and J. Melton. An accuracy test of a Cartesian grid method for steady

flow in complex geometry. In Proc. 5th International Conference on Hyperbolic

Problems, Stony Brook, NY, 1994. RIACS Technical Report 95.02.

[27] M. J. Berger, C. Helzel, and R. LeVeque. H-Box method for the approximation of

hyperbolic conservation laws on irregular grids. Technical report, Courant Mathe-

matics and Computing Laboratory, New York University, 2002. Technical Report

02-001.

irregular grids. AIAA-2005-0490, 2005.

119

[29] P. Birken and A. Jameson. On nonlinear preconditioners in Newton-Krylov meth-

ods for unsteady flows. Int. J. Num. Meth. Fluids, 62:565573, 2010.

[30] J. P. Boris and D. L. Book. Flux corrected transport. I. SHASTA, a fluid transport

algorithm that works. J. Comput. Phys., 11:3869, 1973.

[31] T. Buffard and S. Clain. Monoslope and multislope MUSCL methods for unstruc-

tured meshes. J. Comput. Phys., 229:37453776, 2010.

[32] D. Calhoun. A Cartesian grid method for solving the streamfunction vorticity equa-

tions in irregular geometries. PhD thesis, Department of Applied Mathematics,

University of Washington, 1999.

for shallow water flows with moving boundaries. Advances in Water Resources, 24:

899911, 2001.

[34] I.-L. Chern and P. Colella. A conservative front tracking method for hyperbolic

conservation laws. Technical report, Lawrence Livermore National Laboratory,

Livermore, CA, 1987. Preprint UCRL-97200.

[35] Y.-L. Chiang, B. van Leer, and K. G. Powell. Simulation of unsteady inviscid flow

on an adaptively refined cartesian grid. AIAA paper 92-0443, 1992.

22:745762, 1968.

equations. Math. Comp., 23:341353, 1969.

Springer, 3rd edition, 2000.

triangulations for hyperbolic systems of conservation laws. J. Comput. Phys., 227:

57365757, 2008.

120

[40] V. Chvatal. Linear Programming. W. H. Freeman and Company, 1983.

airfoils using Cartesian grids. AIAA Journal, 24, 1986.

proaches for the Euler equations. J. Comput. Phys., 117:121131, 1995.

[43] P. Colella. A direct Eulerian MUSCL scheme for gas dynamics. SIAM J. Sci. Stat.

Comput., 6:104117, 1985.

J. Comput. Phys., 87:171200, 1990.

Toro, editor, Godunov Methods, pages 161177. Springer US, 2001.

boundary method for hyperbolic conservation laws. Technical report, Lawrence

Berkeley National Laboratory, Berkeley, CA, 2004. LBNL-56420.

boundary method for hyperbolic conservation laws. J. Comput. Phys., 211:347

366, 2006.

[48] D. DeZeeuw and K. Powell. An adaptively refined Cartesian mesh solver for the

Riemann problem for real gases. AIAA Paper 91-1542-CP, 1991.

[49] B. Epstein, A. Luntz, and A. Nachschon. Cartesian Euler method for arbitrary

aircraft configurations. AIAA Journal, 30:679687, 1992.

port, CCSE, Lawrence Berkeley National Laboratory, 2012.

https://ccse.lbl.gov/BoxLib/BoxLibUsersGuide.pdf.

121

[51] J. Falcovitz, G. Alfandary, and G. Hanoch. A two-dimensional conservation laws

scheme for compressible flows with moving boundaries. J. Comput. Phys., 138:

83102, 1997.

[52] L. Ferracina and M. N. Spker. An extension and analysis of the Shu-Osher rep-

resentation of Runge-Kutta methods. Math. Comput., 74(249):201219, 2004.

Runge-Kutta methods. Appl. Numer. Math., 58(11):16751686, 2008.

unstructured grids. J. Comput. Phys., 144:194212, 1998.

[55] R. Gaffney, H. Hassan, and M. Salas. Euler calculations for wings using Cartesian

grids. Paper AIAA 87-0356-CP, 1987.

Cartesian cut cell method for incompressible viscous flows. Int. J. Numer. Meth.

Fluids, 54:10331053, 2007.

[57] P. E. Gill, W. Murray, and M. H. Wright. Numerical Linear Algebra and Opti-

mization, volume 1. Addison-Wesley Publishing Company, 1991.

[58] S. Gottlieb and C. Shu. Total variation diminishing Runge-Kutta schemes. Math.

Comput., 67:7385, 1998.

discretization methods. SIAM Review, 43(1):89112, 2001.

[60] B. Gustafsson. The convergence rate for difference approximations to mixed initial

boundary value problems. Math. Comp., 29:396406, 1975.

[61] E. Hairer and G. Wanner. Solving ordinary differential equations II: Stiff and

differential-algebraic problems. Springer, 2nd edition, 2002.

122

[62] E. Hairer, S. P. Norsett, and G. Wanner. Solving ordinary differential equations:

Nonstiff problems. Springer, 1993.

[63] A. Harten. High resolution schemes for hyperbolic conservation laws. J. Comput.

Phys., 49:357393, 1983.

formulation for Cartesian hierarchical grid methods. Comput. & Fluids, 37:1103

1125, 2008.

cell method for compressible viscous flows on adaptive grids. Comput. Methods

Appl. Mech. Engrg., 200:10381052, 2011.

[66] C. Helzel, M. J. Berger, and R. LeVeque. A high-resolution rotated grid method for

conservation laws with embedded geometries. Siam J. Sci. Comput., 26:785809,

2005.

slope limiters for discontinuous Galerkin methods on arbitrary meshes. Internat.

J. Numer. Methods Engrg., 61(14):25662593, 2004.

meshes. J. Comput. Phys., 150:97127, 1999.

schemes. Numerical analysis report 2/98, Department of Mathematics, University

of Reading, 1998.

schemes on unstructured grids. J. Comput. Phys., 155:5474, 1999.

diffusion-reaction equations, volume 33 of Springer Ser. Comput. Math. Springer,

2003.

123

[72] J. D. Hunt. An adaptive 3D Cartesian approach for the parallel computation of

inviscid flow about static and dynamic configurations. PhD thesis, University of

Michigan, 2004.

unsteady flows part airfoils and wings. AIAA paper 91-1596, 1991.

and artificial compressibility based numerical algorithms for unsteady flow with

applications to flapping wings. AIAA Paper 2009-4273, 2009.

[75] P. Jawahar and H. Kamath. A high-resolution procedure for Euler and Navier-

Stokes computations on unstructured grids. J. Comput. Phys., 164:165203, 2000.

[76] H. Ji, F.-S. Lien, and E. Yee. An efficient second-order accurate cut-cell method for

solving the variable coefficient Poisson equation with jump conditions on irregular

domains. Intl. J. Num. Methods in Fluids, 52:723748, 2006.

[77] H. Ji, F.-S. Lien, and E. Yee. Numerical simulation of detonation using an adaptive

Cartesian cut-cell method combined with a cell-merging technique. Comput. &

Fluids, 39:10411057, 2010.

[78] H. Johansen and P. Colella. A Cartesian grid embedded boundary method for

Poissons equation on irregular domains. J. Comput. Phys., 147:6085, 1998.

pressible flow. SIAM J. Sci. Comput., 7:870891, 1986.

bility preserving Runge-Kutta methods. Appl. Numer. Math., 59:373392, 2009.

Navier-Stokes equations. J. Comput. Phys., 59:308323, 1985.

[82] R. J. LeVeque. Finite Volume Methods for Hyperbolic Problems. Cambridge Uni-

versity Press, 2002.

124

[83] R. J. Leveque. Finite Difference Methods for Ordinary and Partial Differential

Equations. siam, 2007.

[84] R. J. Leveque. Numerical methods for conservation laws. Birkhuser, 2nd edition,

2008.

[85] W. Li, Y.-X. Ren, G. Lei, and H. Luo. The multi-dimensional limiters for solving

hyperbolic conservation laws on unstructured grids. J. Comput. Phys., 230:7775

7795, 2011.

Comput. Phys, 2013.

[87] S. May and M. J. Berger. Two-dimensional slope limiters for finite volume schemes

on non-coordinate-aligned meshes. SIAM J. Sci. Comput. to appear.

Godunov method using quadratic reconstruction for advection in two dimensions.

Comm. App. Math. and Comp. Sci., 6:2761, 2011.

immersed interface method for large-eddy simulation of incompressible flows. J.

Comput. Phys., 229:63006317, 2010.

[90] G. H. Miller and D. Trebotich. An embedded boundary method for the Navier-

Stokes equations on a time-dependent domain. Comm. App. Math. and Comp.

Sci., 7:132, 2012.

Godunov method for scalar conservation laws. SIAM J. Sci. Comput., 33:2039

2062, 2011.

125

[93] C. F. Ollivier-Gooch. Quasi-ENO schemes for unstructured meshes based on un-

limited data-dependent least-squares reconstruction. J. Comput. Phys., 133:617,

1997.

[94] J. S. Park, S.-H. Yoon, and C. Kim. Multi-dimensional limiting process for hy-

perbolic conservation laws on unstructured grids. J. Comput. Phys., 229:788812,

2010.

Cartesian grid method for unsteady compressible flow in irregular regions. J.

Comput. Phys., 120:278304, 1995.

[96] S. Popinet. Gerris: a tree-based adaptive solver for incompressible Euler equations

in complex geometries. J. Comput. Phys., 190:572600, 2003.

[97] J. J. Quirk. An alternative to unstructured grids for computing gas dynamic flows

around arbitrarily complex two-dimensional bodies. Comput. & Fluids, 23(1):125

142, 1994.

mentation, variants and robustness. Technical report, LANL unclassified report

LA-UR-94-2000, Los Alamos National Laboratory, 1995.

Comput. Phys., 115:153168, 1994.

Comput., 9:10731084, 1988.

shock-capturing schemes. J. Comput. Phys., 77:439471, 1988.

[102] M. Spker. Contractivity in the numerical solution of initial value problems. Nu-

mer. Math., 42:271290, 1983.

126

[103] B. Swartz. Good neighborhoods for multdimensional van Leer limiting. J. Comput.

Phys., 154:237241, 1999.

[104] R. K. Sweby. High resolution schemes using flux limiters for hyperbolic conserva-

tion laws. SIAM J. Numer. Anal, 21:9951011, 1984.

equations in arbitrary domains. J. Comput. Phys., 115:147152, 1994.

[106] E. F. Toro. Riemann Solvers and Numerical Methods for Fluid Dynamics. Springer,

3rd edition, 2009.

element method for gasdynamics applications. Int. J. Numer. Anal. Model., 2(2):

163178, 2005.

computational methods in cosmic gas dynamics. Astron. Astrophys., 108:7684,

1982.

[109] B. van Leer. Towards the ultimate conservative difference scheme, V. a second

order sequel to Godunovs methods. J. Comput. Phys., 32:101136, 1979.

on unstructured grids with limiters. J. Comput. Phys., 118:120130, 1995.

[112] S. Wang, J. Glimm, R. Samulyak, X. Jiao, and C. Diao. The embedded boundary

method for two phase incompressible flow. Preprint, 2013.

systems. Comput. Math. Appl., 18(8):761767, 1989.

method for viscous incompressible flows with complex immersed boundary. J.

Comput. Phys., 156:209240, 1999.

127

[115] S. T. Zalesak. Fully multidimsional flux-corrected transport algorithms for fluids.

J. Comput. Phys., 31:335362, 1979.

128

- CBSE Class 8 Introduction to Graphs Assignment 4Uploaded byCHIRAG MATTA
- Fluent Tutorials Cornell UniversityUploaded byjasimned
- 0521888131OOPUploaded byDoctorOberman
- ma3H0Uploaded bydhurtados
- TheoryUploaded byKumar Ranjan
- Special MathematicsUploaded byMoldovan Denisa
- Newton Raphson MethodUploaded byMhdiBghri
- Historical Comments on Finite Elements OdenUploaded bylalbagh
- Virtual Work PrincipleUploaded byGajendra Singh
- f 0351028031Uploaded byInternational Journal of computational Engineering research (IJCER)
- Sample 7394Uploaded byinsan
- Lesson PlanUploaded byINshop
- Maths Sample Paper 12Uploaded byvarrshu
- matemarticasUploaded byChecoz
- printable-act-practice-test-pdf-2013-2014.pdfUploaded byrochelle
- CJR DE IIUploaded byAte Malem Sari Ginting
- IEO_Syllabus_Third_Year-Computer_Science_Engineering.pdfUploaded bynitheesh chandran r j
- untitled documentUploaded byapi-284725488
- Numerical Methods Questions and AnswersUploaded byZarqa Mirani
- lesson plan day 6Uploaded byapi-243105694
- حلول سكشن 4.3.pdfUploaded bysaleh
- Ab Flm Revisedv3Uploaded bygrinderfox7281
- Group1 AssigmtUploaded byHafiz Bin Harun
- Further Results on Systems of Equations and InvertibilityUploaded byJesus Palmer
- digital unit plan templateUploaded byapi-238888318
- Final Lecture 6 Maths-3Uploaded byrootveshmehta
- Euler %5bCompatibility Mode%5dUploaded byNitesh Chaudhary
- CFD-syllabusUploaded bySfwan A Mohammed
- 773Uploaded byIvan Avramov
- Chap12.pdfUploaded bybhassan 2007

- out24Uploaded bymfmechanics
- out16Uploaded bymfmechanics
- NPDF2Uploaded bymfmechanics
- out23Uploaded bymfmechanics
- out6Uploaded bymfmechanics
- NPDFUploaded bymfmechanics
- out19Uploaded bymfmechanics
- out3.pdfUploaded bymfmechanics
- out13Uploaded bymfmechanics
- out7.pdfUploaded bymfmechanics
- Rodič in Novak Hydro 2006Uploaded bymfmechanics
- Catalogo 21 - Howell BungerUploaded bymfmechanics
- Boundary Layer Flow of a Nanofluid past a Stretching SheetUploaded byAli Al-hamaly
- (4 5) 1D SS Conduction Part1.PDFUploaded bySalam Albaradie
- 1Uploaded bymfmechanics
- s03Uploaded bymfmechanics
- Analysis of Containment Volume Effect on the Pressure and Temperature during LOCA in the AP1000 Reactor ContainmentUploaded bySEP-Publisher
- PART(Mech 88.Blogfa.com)Uploaded bymfmechanics
- 2-Zaban-200.pdfUploaded bymfmechanics
- AB2_14Uploaded byAarfeenKamal
- Answer 3Uploaded bymfmechanics
- MSRT BlackList 1392 07Uploaded bySalar Salahi
- out20Uploaded bymfmechanics
- out7Uploaded bymfmechanics
- out3Uploaded bymfmechanics
- NPDF4Uploaded bymfmechanics

- Suruburi Si Piulite en 20898-2Uploaded bySILVIU
- delam.pdfUploaded bybnidhal
- Chapter 5 (Original)Uploaded byFahad Ali
- ComparatorUploaded byNeel K Modi
- BSSA_Electronic Supplement GuidelinesUploaded byJoseph772
- CV of Subasish MishraUploaded bypinku_subasish
- Toshiba Case StudyUploaded byMisael Rivera
- ASTM E1381-95Uploaded byAngelPenumbras
- pliko_p3Uploaded byMilan Jovicic
- FPC680 User ManualUploaded byIsai Soledad Cervantes
- Visual Basic Documentation Map1Uploaded byapi-3824063
- limiting reactants labnyUploaded byapi-242175324
- Engine Block Manufacturing ProcessUploaded byFadirul Ezwan
- e-portfolio course studyUploaded byapi-232250106
- Chemical ProgrammeUploaded byraneshkumar1992
- Sliding BearingsUploaded byRajib
- NUTRI - Jingle CriteriaUploaded byJhaeZa Sangcap Garrido
- 1 09 BukowskiUploaded bymy_khan20027195
- quartusUploaded byZarnescu George
- AbsoluteEncoders OCD IndustrialEthernet TCP IP Manual DataContentUploaded byVoicu Stanese
- Kawasaki Service Manual - KE125Uploaded by2e0ddb
- SeisImager2D Manual v3.3Uploaded byKarina Cadori
- WFA - 3 - WFA ConceptsUploaded byhsnel
- Basics of ForkliftUploaded byMichael Thompson
- ACI Code ListUploaded byeric bargas
- Aerogard Tropical Strength Personal InsectUploaded bydavmac79
- Glacial geological studies of surge-type glaciers in IcelandUploaded byvanhoesenj
- Digital Logic DesignUploaded bynayab
- SSE-Power-Distribution-SEPD-Embedded-Networks-DUoS-Charging-Statement-April-2015Uploaded byGenability
- Meta ProblemUploaded byIvan Eric Olea