Directory UMM :Data Elmu:jurnal:A:Advances In Water Resources:Vol23.Issue5.2000:

Advances in Water Resources 23 (2000) 545±562

Calculation of shallow water ¯ows using a Cartesian cut cell approach
D.M. Causon *, D.M. Ingram, C.G. Mingham, G. Yang, R.V. Pearson
Centre for Mathematical Modelling and Flow Analysis, The Manchester Metropolitan University, Manchester M1 5GD, UK
Received 7 May 1999; accepted 16 August 1999

Abstract
A new grid generation method for the computation of shallow water ¯ows is presented. The procedure, based on the use of cut
cells on a Cartesian background mesh, can cope with shallow water problems having arbitrarily complex geometries. Although the
method provides a fully boundary-®tted capability, no mesh generation in the conventional sense is required. Solid regions are
simply cut out of a background Cartesian mesh with their boundaries represented by di€erent types of cut cell. For the ¯ow calculations a multi-dimensional high resolution upwind ®nite volume scheme is used in conjunction with an ecient approximate
Riemann solver to deal with complex shallow water problems involving steady or unsteady hydraulic discontinuities. The method is
validated for several test problems involving unsteady shallow water ¯ows. Ó 2000 Published by Elsevier Science Ltd. All rights
reserved.
Keywords: Cartesian cut cell; Shallow water equations; Riemann based schemes; Bore wave propagation; Finite volume method

1. Introduction
In the past two decades, the numerical modelling of
coastal and estuarine hydrodynamics has usually been
accomplished using ®nite di€erence discretisations of the

shallow water equations on Cartesian grids, e.g. [1,29].
However, most existing Cartesian mesh methods are
restricted in their ability to ®t geometries of arbitrary
complexity. This lack of generality is largely due to the
representation of curved boundaries by a staircase-type
approximation and because of the diculty of concentrating mesh cells in regions of speci®c interest without
the necessity to employ mesh patching or some similar
approach to remesh a subdomain. An approach that has
gained popularity recently is the use of boundary-®tted
grids which make the boundary contour a coordinate
surface [5,9,25,43]. The ¯ow equations are transformed
from Cartesian to curvilinear coordinates and then approximated using ®nite di€erences. A grid can be generated iteratively by means of an elliptic solver [37], or
directly by an algebraic technique such as trans®nite
interpolation [23]. However, the generation of a suitable
grid is non-trivial, case speci®c, and requires signi®cant
user expertise. The ¯ow equations are also more com*

Corresponding author. Tel.: +44-161-247-3557; fax: +44-161-2471483.
E-mail address: d.m.causon@doc.mmu.ac.uk (D.M. Causon).


plicated in the transformed coordinates and discretisation of the metric transformation derivatives can give
rise to geometrically induced errors [26].
Alternatively, the di€erential equations may be recast
in integral form with the solution variables stored at cell
centres as integral averages over each cell area. The
spatial discretisation then involves ¯ux balances across
each cell interface. Such ®nite volume approaches
[3,6,10,11,30,32,33,45,46] combine the simplicity of ®nite di€erence methods with the geometric ¯exibility of
®nite element methods. This is because, unlike methods
based on the curvilinear di€erential form of the ¯ow
equations, the ¯ow variables remain referenced to the
Cartesian frame, even when using a boundary-®tted
mesh. Finite volume methods lend themselves well to
techniques such as mesh patching and mesh adaptation.
However, there remains the need to generate a suitable
boundary-conforming mesh which is non-trivial, particularly for multi-component geometries of the type
illustrated in Fig. 1. The problem is that a grid topology
which is optimal in one part of the ¯ow domain is
generally sub-optimal in other regions. This has led to
multi-block approaches [36] where grids are generated in

blocks for each subdomain with coordinate line contiguity constraints satis®ed at each block interface, and to
so-called Chimera methods [7] which use a hierarchical
structure of overlapping meshes but these approaches
generally result in complicated computational methods.

0309-1708/00/$ - see front matter Ó 2000 Published by Elsevier Science Ltd. All rights reserved.
PII: S 0 3 0 9 - 1 7 0 8 ( 9 9 ) 0 0 0 3 6 - 6

546

D.M. Causon et al. / Advances in Water Resources 23 (2000) 545±562

Fig. 1. Boundary ®tted mesh for a multi-component ¯ow geometry.

An alternative is the use of a ®nite element approach
which can be combined with mesh adaptation to provide
a very e€ective calculation method. Examples of ®nite
element methods abound throughout computational
mechanics. However, in common with ®nite volume
methods, problems which involve large scale movement

of ¯ow domain boundaries inevitably require re-meshing several times during calculations. This can be timeconsuming and, with the attendant interpolation of
data, may reduce the formal accuracy of computed solutions.
Cartesian cut cell methods were ®rst developed within
the aerospace community speci®cally for handling
multi-component geometries [8,17,40±42]. However, the
basic principles have much wider application. The approach is conceptually quite simple. Boundary contours
are cut out of a background Cartesian mesh and cells
that are partially or completely cut are singled out for
special treatment. The remainder of the ¯ow cells are
treated in a straightforward manner. By using cut cells
the method fully retains the boundary-conforming
properties of a curvilinear mesh ®nite volume or ®nite
element method. Advantages of the cut cell approach
over other ®nite di€erence, ®nite volume or ®nite element approaches are:
1. There is no mesh generation in the conventional
sense. This is replaced by relatively straightforward
calculations for the boundary segment intersections
with the background Cartesian mesh.
2. The method can be implemented very eciently such
that only data relating to cells de®ning boundaries

and the ¯ow domain need be held in memory. Consequently, a long narrow meandering ¯ow domain like
a river estuary can be handled just as eciently as a
region which is nearly rectangular.
3. The majority of the ¯ow domain is overlaid with a
regular Cartesian mesh so that loss of solution accuracy due to any pathological cases involving excessively stretched or skewed cells is avoided.

4. Moving ¯ow boundaries can be accommodated by recomputing cell-boundary intersections as boundaries
move, rather than re-meshing the whole ¯ow domain
or large portions of it; furthermore, the amplitude of
boundary motion is unrestricted.
5. When used in conjunction with mesh adaptation
adapting to irregular static or moving boundaries
and/or static or moving ¯ow features (e.g. bathymetric data or moving fronts), the method can provide
®ne mesh resolution where required with much larger
coarse spacings in regions where spatial gradients are
low; thus the method o€ers the potential to be a highly ecient and versatile practical computational
modelling tool.
An assessment of the accuracy of Cartesian cut cell
approaches has been made by Coirier and Powell [14].
In recent years, a number of high resolution numerical schemes have been developed for use in computational hydraulics. In [21], a Roe-type approximate

Riemann solution of the two-dimensional shallow water
equations was given by Glaister. Total variation diminishing (TVD) and essentially non-oscillatory (ENO)
methods have also been applied to the computation of
free surface ¯ows [34,43]. Finite volume techniques
based on approximate Riemann solvers were employed
for the shallow water equations in [3,4,32,33]. All of
these schemes require two-dimensional rectangular or
transformed boundary-®tted structured meshes which
lead to the diculties referred to above, particularly for
complicated multi-component geometries.
In this paper, we present a new approach to mesh
generation for shallow water ¯ows. The method is based
on the Cartesian cut cell technique described above and
previously developed for compressible ¯ow applications
[41,42]. In the next section, the generation of a Cartesian
cut cell mesh is described. A ®nite volume integration
scheme suitable for solving the shallow water equations
on cut cell meshes is presented in Section 3; the ¯ow
solver is an upwind scheme of the Godunov-type based
on MUSCL reconstruction [38] and a suitable approximate Riemann solver. The method is then evaluated by

recourse to a variety of test problems in Section 4. Extensions of the method to include mesh adaptation are
discussed in Section 5, and ®nally, in Section 6, some
conclusions are drawn.

2. Principles of the cut cell method
2.1. Boundary de®nition
It is assumed that the physical boundaries of the ¯ow
domain are de®ned by a set of data points, such as
…x1 ; y1 †; …x2 ; y2 †; . . . ; …xmax ; ymax †, and that the data points
are speci®ed in an anti-clockwise direction. A more accurate representation of curved boundaries can be

D.M. Causon et al. / Advances in Water Resources 23 (2000) 545±562

547

achieved by adding more data points. If the ¯ow domain
is multiply connected, i.e. there is more than one solid
region, additional sets of data points are needed. In
order to cope with practical ¯ow geometries of arbitrary
complexity, the approach that we adopt is the use of socalled cut cells on a background uniform or non-uniform Cartesian grid [41,42]. The background Cartesian

mesh is constructed ®rst and then any solid regions are
simply cut out of it. The intersections of the boundaries
of solid regions with the background grid de®ne cut cells
that have one of their sides coincident with a boundary
segment; the method thus produces a boundary conforming mesh without the necessity to make the
boundary a coordinate surface. In fact, there is no grid
generation in the conventional sense; all that is necessary
is to calculate the intersections of a series of line segments with the background Cartesian mesh.
2.2. Finding the intersection points
Fig. 2. Finding the intersection points of a line segment.

Suppose the intersection points of a particular
straight line segment, de®ned in terms of its start and
end coordinates …xs ; ys † and …xe ; ye †, are to be found.
Before proceeding it is necessary to determine both the
slope Q of the line segment and identify which grid cells
contain the start and end points. The address …Is ; Js † of
the cell containing the start point is given by
x ÿ x 
s

0
‡ 1;
Is ˆ int
Dx
…1†



ys ÿ y0
Js ˆ int
Dy



‡ 1;

where int…x† returns the integer part of x and x0 and y0 are
the coordinates of the bottom left corner of the computational domain. The address …Ie ; Je † of the end point is
found in a similar way. For convenience we identify
which of the four quadrants …0°; 90°Š, …90°; 180°Š,

…180°; 270°Š or …270°; 360°Š the slope of the line lies in.
Once the grid cells containing the start and end points
of the line segment have been identi®ed and its slope
computed the required intersection points can be found.
Fig. 2 shows a line segment which cuts across a uniform
background Cartesian mesh. Suppose that the intersection points of the line segment with cell …i; j† are to be
found: clearly the point a at which the line segment
enters the cell is already known because it is the exit
point from the previous cut cell. It thus remains necessary only to determine the exit point, b, for the cell …i; j†.
Since a is on the left side of the cell and Q 2 …0°; 90°Š the
exit point must lie above and to the right of a, locating
the exit point on either the top or right-hand side of the
cell. The intersection points b, between the line segment
and the line yj‡1 ˆ y0 ‡ …j ‡ 1†Dy, and c, between the
line segment and the line xi‡1 ˆ x0 ‡ …i ‡ 1†Dx, are now

found. Since yc > yj‡1 the exit point must be …xb ; yb †.
This process is repeated for all subsequent grid cells
intersected by the line segment until the cell …Ie ; Je † is
reached. The cases where Q lies in the other quadrants

can be treated analogously.
In cases where a non-uniform Cartesian mesh is required, the grid is de®ned using two one-dimensional
arrays x…i† and y…j† and a slightly modi®ed version of the
algorithm is employed.
Initially, all cells in the background mesh are ¯agged
as ¯ow cells or solid cells. Once all the cut cell intersections have been established, the cells which intersect
the boundary of any solid region are registered as cut
cells. Sweeps across the background mesh are then
performed to identify which cells or rows of cells are
bounded by solid or partially cut cells: these are registered as solid cells. Three primary cell types are thus
formed in the computational domain. These are the cut
cell and two types of uncut cell, namely the ¯ow cell
and solid cell (see Fig. 3). In the case of cut cells, these
may be further categorised into four sub-types
depending upon the slope Q of the boundary intersection with the cell. Fig. 4 shows all possibilities for the
four di€erent sub-types of cut cell. Using these cell
types, the geometry of a solid region can be accurately
represented.

Fig. 3. Three types of cells.

548

D.M. Causon et al. / Advances in Water Resources 23 (2000) 545±562

bed shear stress term, D the bed slope term and the
viscous stress ¯ux vectors Fv and Gv are
3
3
2
2
0
0
/7
6
6 /7
Fv ˆ 4 rxx q 5; Gv ˆ 4 sxy q 5:
syx /q
ryy /q

In the above, f is the Coriolis force, g the acceleration
due to gravity, q the water density, u; v the velocities in
the x and y directions, respectively, / the geopotential
(ˆ gh, h is the water depth), sxw ; syw the wind shear
stresses and sxf ; syf the bed shear stresses in the x; y
directions, rxx ; ryy ; sxy ; syx the normal and shear stress
terms, respectively, and bx ; by are the bed slopes (measured downwards) in the x, y directions.
The integral form of the equations is
Z
I
Z
I
o
U dA ‡ H  n dS ˆ
Qs dA ‡ Hv  n dS; …3†
ot A
S
A
S

Fig. 4. Four sub-types of cut cell.

3. The ¯ow solver on a cut cell mesh
3.1. The shallow water equations
The shallow water equations (SWE) are a reduced
form of the depth averaged Navier±Stokes equations
which represent the conservation of mass and momentum. Admissible solutions may admit ¯ow discontinuities such as bore waves.
In di€erential conservative form the equations are
oU oF oG
oFv oGv
‡
;
‡
‡
ˆ Qs ‡
ox
oy
ot
ox oy
where
2

3
/
U ˆ 4 /u 5;
/v

2

3
/u
2
F ˆ 4 /u2 ‡ /2 5;
/uv

…2†

2

3
/v
G ˆ 4 /uv 5;
2
/v2 ‡ /2

where H ˆ hF; Gi; Hv ˆ hFv ; Gv i and A is the area enclosed by the control surface S.
The homogeneous part of (3) are the convective ¯ow
equations that describe the time evolution of the depth
and velocity of the water over the physical region of
interest in the absence of source terms. These equations
are of hyperbolic type and admit discontinuous solutions (e.g. bore waves) which are dicult to resolve
numerically. Any numerical scheme applied to the full
¯ow equations (3) must be able to deal satisfactorily
with their behaviour. In the present work the viscous
transport and source terms, Qs , are ignored and the
equation set solved is
Z
I
o
U dV ‡ H  n dS ˆ 0;
…4†
ot V
S
where
0

1
/v
2
H ˆ @ /uv ‡ 12 / i A:
1 2
/vv ‡ 2 / j

…5†

Details of how the source terms are discretised in the
present ®nite volume method may be found in [27].
3.2. Finite volume discretisation of the ¯ow equations

Qs ˆ A ‡ B ‡ C ‡ D;
2

3
0
A ˆ 4 fv/ 5;
ÿfu/
2
3
0
D ˆ 4 /gbx 5;
/gby

3
0
g
B ˆ 4 q sxw 5;
g
s
q yw
2

3
0
g
C ˆ 4 ÿ q sxf 5;
ÿ qg syf
2

where F and G are the convective ¯ux vectors, A is the
Coriolis force term, B the wind shear stress term, C the

Since the inviscid shallow water Eq. (4) constitute a
genuinely hyperbolic system, the numerical schemes
developed for systems of conservation laws can be applied to them. Here, we apply the MUSCL-Hancock
®nite volume scheme [39] with appropriate modi®cations for Cartesian cut cell meshes.
This is a two-step, high resolution, upwind scheme of
the Godunov type. The predictor step uses a non-conservative approach, that de®nes an intermediate cell
centre value over a time interval Dt=2:

549

D.M. Causon et al. / Advances in Water Resources 23 (2000) 545±562

…AU†ijn‡…1=2† ˆ …AU†nij ÿ

m
Dt X
H…Uk †  Snk ;
2 kˆ1

…6†

where A is the cell area, cell side vector Snk the length of
side k multiplied by the outward-pointing unit normal
vector n and m is the maximum number of cell sides. For
a ¯ow (or uncut) cell, m ˆ 4; for a cut cell, m ˆ 3±5. The
¯ux vector function H…Uk † is evaluated at each cell side
k following a linear reconstruction of the ¯ow solution
within each cell, via
Uk ˆ Unij ‡ rk  rUnij ;

…7†

where rk is the normal distance vector from the cell
centroid to side k and rUnij is a limited gradient vector in
space (to be de®ned in Section 3.4).
The corrector step of the scheme is fully conservative.
The intermediate solution from the predictor step is used
to de®ne a set of left- and right-hand states for a series of
Riemann problems. The solution of these Riemann
problems provides a set of upwind cell interface ¯uxes
which are used to update the ¯ow solution over the time
interval Dt, i.e.
m
X
ÿ
 n
n‡1
n
…8†
H ULk ; UR
…AU†ij ˆ …AU†ij ÿ Dt
k  Sk ;
kˆ1

where the upwind ¯ux H…ULk ; UR
k † is obtained by solving
a local Riemann problem normal to the cell interface k
and the left- and right-hand states at the interface are
calculated by
n‡…1=2†

ULk ˆ Uij

n‡…1=2†

UR
k ˆ Ulm

‡ rLk  rUnij ;
n
‡ rR
k  rUlm ;

Fig. 5. Simpli®ed Riemann fan with one intermediate state.

FL ÿ FR ÿ sL UL ‡ sR UR
;
sR ÿ sL
ÿsL FR ‡ sR FL ‡ sL sR …UR ÿ UL †
:
F ˆ
sR ÿ sL

U ˆ

Hence, the HLL approximate Riemann solutions are
de®ned as
8
< UL for sL > 0;
UHLL ˆ U for sL 6 0; 6 sR ;
:
U
for sR < 0;
8 R
…11†
F
< L for sL > 0;

for sL 6 0 6 sR ;
FHLL ˆ F
:
FR for sR < 0:

In the general two-dimensional case, the upwind ¯ux
corresponding to (10) and (11) for use in (8) is
ÿ
 n
^
H UL ; UR  S
k

…9†

where l and m refer to the right neighbouring cell of the
cell i; j.
To solve the Riemann problem, the approximate
Riemann solver of Harten, Lax and van Leer (HLL) [24]
is used. Other approximate Riemann solvers could be
employed but we have found the HLL solver to be accurate and robust in practice.

…10†

k

k

…12†
^ n ÿ sL H R  S
^ n ‡ sL sR …UR ÿ UL †
sR H L  S
k
k
;
ˆ
sR ÿ sL
L;R
^ n is the outward pointing unit
where HL;R ˆ H…Uk †, S
k
normal side vector to cell side k and suitable wave speed
estimates sL ; sR (see Fig. 5) are given by Davis [16]

p
p
^ n ÿ / ; us ÿ / ;
sL ˆ min qL  S
…13†
L
s
k

3.3. HLL Riemann solver at cell interfaces


p
p
^ n ‡ / ; us ‡ / ;
sR ˆ max qR  S
s
R
k

The HLL Riemann solver provides the Riemann solution at each cell interface based on the following assumptions:
1. The star region between the two acoustic waves is
simpli®ed by a single intermediate wave state.
2. The only waves present are the left and right acoustic
waves which depend on a priori wave speed estimates
sL and sR , see Fig. 5.
Under these assumptions, the vector of conserved
variables U and the corresponding one-dimensional
¯ux vector F in the star region can be determined from
the
conservation laws in the integral form
R
F dt ÿ U dx ˆ 0, i.e.

p p
1
^n ‡ / ÿ /
us ˆ …qL ‡ qR †  S
L
R
k
2
and
p p
^n
p
/L ‡ /R …qL ÿ qR †  S
k
:
ÿ
/s ˆ
4
2
For shallow water problems with a dry bed, the wave
speed estimates that are used are [20]
p
^ i‡…1=2† ÿ / ;
right dry bed : sL ˆ qL  S
L
p
^ i‡…1=2† ‡ 2 /L ;
s R ˆ qL  S
p
…15†
^ i‡…1=2† ÿ 2 / ;
left dry bed :
s L ˆ qR  S
pR
^ i‡…1=2† ‡ /R :
s R ˆ qR  S

…14†

where

550

D.M. Causon et al. / Advances in Water Resources 23 (2000) 545±562

The time step employed is
Dt ˆ m min…Dtx ; Dty †;

…16†

Ufx ˆ G




Ui‡1;j ÿ Ui;j Ui;j ÿ Uiÿ1;j
;
;
Dxi‡…1=2†;j
Dxiÿ…1=2†;j

…19†

Ufy ˆ G




Ui;j‡1 ÿ Ui;j Ui;j ÿ Ui;jÿ1
;
;
Dyi;j‡…1=2†
Dyi;jÿ…1=2†

…20†

where
A

ijp
Dtx ˆ min
i
qij  Si‡…1=2†j ‡ /ij Si‡…1=2†j

…17†

with an analogous de®nition for Dty . The Courant
number m was taken in our calculations to be 0.5 which
is close to the stability bound based on a linear von
Neumann analysis.
3.4. Calculation of gradients and reconstruction technique
In order to achieve second-order spatial accuracy,
reconstruction of the ¯ow data within each cell is necessary, requiring appropriate gradient information. The
gradient calculation is straightforward on ¯ow cells
away from a solid boundary. First, a central di€erence
gradient of conserved variables is estimated using the
known values at neighbouring cell centres. Then, a slope
limiter function is applied to prevent spurious over- or
under-shoots. For cells near a solid boundary, however,
a di€erent gradient calculation is needed. In [17], a linear
reconstruction technique has been proposed for di€erent
types of cut cell, based on cells in the neighbourhood of
the cut cell interface and a suitable path integral.
However, since we wish to accommodate moving
boundaries in future work, we have modi®ed the gradient calculation appropriately.
If re¯ection boundary conditions are used on a solid
boundary, the variables in ®ctional cell R can be obtained by (see Fig. 6)
/R ˆ /ij ; ÿ

vR ˆ vij ÿ 2 vij  n n:

…18†

The gradients on cut cell …i; j† may be of two types: ¯uid
and solid. We calculate the ¯uid gradients and solid
gradients separately, i.e.

where Dxi‡…1=2†;j ˆ xi‡1;j ÿ xi;j ; Dyi;j‡…1=2† ˆ yi;j‡1 ÿ yi;j and


UR ÿ Ui;j Ui;j ÿ Uiÿ1;j
;
Usx ˆ G
;
…21†
Dxi;R
Dxiÿ…1=2†;j
Usy ˆ G




Ui;j‡1 ÿ Ui;j Ui;j ÿ UR
;
;
Dyi;j‡…1=2†
Dyj;R

…22†

where Dxi;R ˆ xR ÿ xi;j , Dyj;R ˆ yi;j ÿ yR and G is a slope
limiter function that is used to prevent over- or undershoots. The limiter function may take one of the following forms, e.g.:
I. The Superbee limiter
G…a; b† ˆ s  max‰0; min…2j b j; s  a†; min…j b j; 2s  a†Š;
s ˆ sign…b†:

…23†

II. The van Leer limiter
G…a; b† ˆ

aj b j ‡ j a jb
:
jaj ‡ jbj

…24†

Once the two types of gradients are calculated, a
length average technique is used to obtain unique gradients in the cut cell
Ux ˆ

Dys Usx ‡ Dyf Ufx
;
Dy

…25†

Dxs Usy ‡ Dxf Ufy
;
…26†
Dx
and
where
Dxf ˆ j AB j; Dxs ˆ j BC j; Dys ˆ j CD j
Dyf ˆ j DE j. Dx and Dy are the uncut cell side lengths in
the x and y directions, respectively.
Since Dxf ‡ Dxs ˆ Dx and Dyf ‡ Dys ˆ Dy, we note
that if Dyf ˆ Dy, Dys ˆ 0, so Ux ˆ Ufx ; otherwise, if
Dys ˆ Dy, Dyf ˆ 0, so Ux ˆ Usx . Ux and Uy are components of a gradient vector in the cut cell, i.e.
 
Ux
rUij ˆ
:
…27†
Uy
Uy ˆ

Given the gradient vector rUij , a reconstructed solution vector U…x; y† can be found anywhere within the
cut cell from
U…x; y† ˆ Uij ‡ r  rUij ;

…28†

where r is the normal distance vector from the cell
centroid to any speci®c interface or solid boundary.
3.5. Merging of cells

Fig. 6. Calculation of gradients on a cut cell.

Since, in practice, a cut cell may turn out to be arbitrarily small, numerical stability considerations may

551

D.M. Causon et al. / Advances in Water Resources 23 (2000) 545±562

force an unrealistically small time step. To overcome
this problem, a cell merging technique [12,13] is implemented that is simple and can be easily extended later to
moving boundary problems (that are not considered
here). The basic idea is to combine several neighbouring
cells together so that the interfaces between merged cells
are ignored and waves can travel in a newly combined
larger cell without reducing the global time step. To
implement this technique, we need ®rst to determine
which cells to merge. We de®ne a minimum area Amin for
a cut cell and then proceed as follows:
1. Check each cut cell area against the Amin criterion. If
its area is larger than Amin , no further processing is
needed so go to step 3; if its area is smaller than
Amin , a check is made to see whether the cell has already appeared in the cell merging list. If so, no further processing is needed so go to step 3; if not, a
neighbouring cell is needed for merging so go to step
2.
2. The choice of which neighbouring cell to merge with
depends on the slope of the solid side of the cut cell.
For example, suppose cut cell A in Fig. 7 is smaller
than Amin , and is of sub-type one. By comparing the
right hand and bottom ¯ow interfaces and merging
in the direction of the longer one we ®nd that a suitable cell for cut cell A to merge with is cut cell C. For
other sub-types of cut cell, an analogous approach is
used. Once a neighbouring cell has been identi®ed it is
saved to the cell merging list.
3. Proceed to the next cut cell and then repeat steps 1
and 2 until all cut cells have been processed.
The choice for the minimum area criterion Amin is
based in practice on a trade-o€ between the time-step
constraint and resolution accuracy. In our calculations,
we chose to set Amin to one half of the smallest ¯ow cell
size.
Having identi®ed suitable neighbouring cells for
merging, we now describe the adjustments made to the

¯ow solver. The following description relates to the
predictor step of the MUSCL-Hancock solver (6);
changes to the corrector step (8) at merged cut cells
follow analogously. Consider ®rst the standard unmodi®ed procedure for updating two cells A and B, see
Fig. 8
D…AU†A ˆ ÿ

D…AU†B ˆ ÿ

mA
Dt X
Hk  S k ;
2 kˆ1

…29†

mB
Dt X
Hk  S k ;
2 kˆ1

…30†

where the ¯ux vector function H…Uk † is evaluated at
each cell side k following a linear reconstruction of the
¯ow solution within the cell. In the case of merged cells,
we proceed instead by ignoring the interface between
cells A and B, and then update the merged cell C simply
by combining the volume updates of cells A and B:
D…AU†C ˆ D…AU†A ‡ D…AU†B

…31†

or
Dt
D…AU†C ˆ ÿ
2

mA
X

Hk  Sk ‡

mB
X

Hk  Sk

kˆ1

kˆ1

!

…32†

with the ¯ux vector function H…Uk † now based on volume averaged cell centre data
…AU†C ˆ …AU†A ‡ …AU†B :

…33†

In this case, it should be noted that the ¯uxes on the
interface between cells A and B cancel out automatically
via cell side vectors of opposite sense and as a consequence of the ¯ux calculation being conservative. Effectively, the ¯uxes balance is now being carried out
over each of the (generally more than four) sides of the
enlarged cell. The conserved variable U for cell C at time
tn‡1 is now
AnC UCn‡1 ˆ AnA UnA ‡ AnB UnB
ÿ

Dt
2

mA
X
kˆ1

Hk  S k ‡

…34†
mB
X

!

Hk  S k :

kˆ1

…35†

Although the cell merging process may in principle
reduce the integration accuracy on solid boundaries, it
has been found not to a€ect global solution accuracy
[15]. Since the update for the merged cell is based on a
volume-weighted average, the process is fully conservative. The cell merging procedures described above and
associated scheme formulation accommodate cases (not

Fig. 7. Finding a neighbouring cell to merge with.

Fig. 8. Cell merging.

552

D.M. Causon et al. / Advances in Water Resources 23 (2000) 545±562

considered in this paper) where cell boundaries move
during calculations.

4. Results and discussion
Numerical experiments for some external and internal bore wave di€raction problems are presented in this
section to illustrate the favourable properties of the
present calculation method for studying two-dimensional shallow water ¯ows with strong hydraulic jumps.
In the following calculations, two types of boundary
conditions are encountered: those corresponding to
solid and transmissive boundaries. No ¯ow is permitted
through a solid boundary and therefore, at a solid interface, q  S ˆ 0 which means that the corresponding
¯ux vector H  S depends only on the geopotential. The
required value for the geopotential is taken from the
adjacent ¯uid cell. At a transmissive boundary, the data
necessary to compute the ¯ux vector H at the interface
are taken to be that at the adjacent interior cell centre.
4.1. Two-dimensional dam-break problem
The two-dimensional dam-break problem has been
used previously as a benchmark test problem by Fennema and Chaudhry [19]. The problem models a partial
dam break or rapid opening of a sluice gate. The computational basin has dimensions of 200  200 m2 with
the reservoir headwater level H1 ˆ 10 m and the tailwater level H2 ˆ 5 m. A schematic representation of the
geometry is shown in Fig. 9. At the instant of failure of
the dam wall, water is released through a 75 m wide
breach, and a leading bore and abrupt depression are
formed in the basin travelling in opposite directions. In
the computations, a uniform Cartesian mesh with
40  40 cells was used on a computational domain of
200  200 m2 . Fig. 10(a) shows a 3D view of water
surface elevation and water depth contours at time
Fig. 10. Dam break problem: (a) water surface elevation and contours
(m) for H1 ˆ 10 m and H2 ˆ 5 m at t ˆ 7:2 s; (b) water surface elevation and contours (m) for H1 ˆ 10 m and H2 ˆ 0 m at t ˆ 7:2 s (dry
bed case).

Fig. 9. Reservoir geometry for the partial dam-break problem.

t ˆ 7:2 s. These results compare favourably with those
presented in [3,4,19,21].
To demonstrate that the present method can deal
with shallow water ¯ows with a dry bed, a dam-break
problem with initial heights H1 ˆ 10 m and H2 ˆ 0:0 m
has been simulated. The geometry and mesh are the
same as the above. In the dry bed case, the wave speed
estimates (14) are replaced by (15). Fig. 10(b) shows the
water surface elevation and water depth contours
at time t ˆ 7:2 s for 0 tailwater height (dry bed).

D.M. Causon et al. / Advances in Water Resources 23 (2000) 545±562

553

Comparing the two cases, we can see the leading bore in
the dry bed case is lower than that in the wet bed case
but travels much faster. At the same time stage, the
leading bore in the dry bed case reaches the computational boundary.
4.2. Bore re¯ection at an inclined boundary
Mach re¯ection of a bore wave is known to occur at
an inclined bank in shallow water [28]. Practical examples may arise during bore wave propagation in an estuary or wave interaction with a structure, e.g. a pier.
This phenomenon is equivalent to shock wave re¯ection
at a wedge in gas dynamics [22]. The problem can be
stated as follows: a planar incident bore wave at Froude
number FS moving from right to left encounters a
boundary inclined at a ®xed angle hw into the direction
of ¯ow and is subsequently re¯ected. Two primary types
of bore re¯ection occur depending on the Froude
number of the incident bore FS and the bank inclination
angle hw ; these are: regular re¯ection (RR) and Mach
re¯ection (MR). For the Mach re¯ection case, several
sub-types exist, namely: single Mach re¯ection (SMR),
transitional (or, complex) Mach re¯ection (TMR) and
double Mach re¯ection (DMR). The initial position of
the incoming bore can be arbitrarily placed a certain
distance to the right of the corner point on the boundary. The conditions between the pre-bore (L) and postbore (R) states are related by
8
< /R ˆ r/L ;
…36†
u ˆ S ‡ …uL ÿ S†=r;
: R
vR ˆ vL ;
where S is the speed of the bore and r is de®ned as
q

1 ‡ 8…FL ÿ FS †2 ÿ 1 ;
…37†
r ˆ 12

p
p
where FS ˆ S= /L and FL ˆ uL = /L are the Froude
number of the bore and the Froude number in the
pre-bore state, respectively. Initial conditions for the
four cases are given in Table 1. A uniform Cartesian
mesh with 270  270 cells was used on a computational
domain of 9:0  9:0 m2 . Fig. 11 illustrates the grid
layout. For illustrative purposes, the depicted grid
resolution is less than that actually used in the computations.

Table 1
Initial conditions for bore re¯ection at an inclined boundary
Type

FS

hw

hL

uL

vL

SMR
TMR
DMR
RR

2.03
4.0
4.0
4.0

27°
27°
50°
60°

1.0
1.0
1.0
1.0

0.0
0.0
0.0
0.0

0.0
0.0
0.0
0.0

Fig. 11. Bore re¯ection at an inclined boundary: grid layout.

At FS ˆ 2 and hw ˆ 27 , a single Mach re¯ection occurs (see Fig. 12(a)). In the SMR case, the incident and
re¯ected shocks meet at a triple point and a Mach stem is
formed, normal to the inclined boundary. The triple
point moves along a straight line trajectory originating
at the corner point on the boundary. A slip line extends
from the triple point into the region between the Mach
stem and the re¯ected shock.
If the bore Froude number FS is increased to 4 at the
same bank inclination angle hw ˆ 27 , a TMR is formed
(see Fig. 12(b)). The TMR case is similar to the SMR
case except that a kink occurs in the re¯ected shock,
while the slip line leading down to the inclined boundary
rolls up into a vortex.
At FS ˆ 4 and hw ˆ 50 , a DMR is obtained (see Fig.
12(c)). The DMR is similar to the TMR case except that
a second Mach stem appears between the kink in the
re¯ected shock and the slip line. Meanwhile, a second
slip line emanates from the second triple point.
Finally, increasing hw to 60 at FS ˆ 4, the Mach re¯ection becomes a regular re¯ection (see Fig. 12(d)). In
the case of RR, only two bores exist: the incident bore
and re¯ected bore. The two bores meet at a re¯ection
point on the surface of the bank. Transition from RR to
SMR occurs when acoustic disturbances originating at
the corner point on the bank catch up with the re¯ection
point.
Although experimental data are not available for
comparison purposes, the present results compare very
favourably with those obtained previously by the authors using a similar ¯ow solver on a conventional
transformed boundary ®tted grid [32]. Experimental
results corresponding to the analogous cases in gas dynamics have been given by Deschambault and Glass
[18]. In the present calculations, all of the primary ¯ow
features such as the re¯ected bore, di€racted bore, vortex and Mach stem are well resolved thus demonstrating
the ecacy of the cut cell approach.

554

D.M. Causon et al. / Advances in Water Resources 23 (2000) 545±562

Fig. 12. Bore re¯ection at an inclined boundary: water depth contours (m). (a) SMR; (b) TMR; (c) DMR; (d) RR.

4.3. Bore re¯ection at a circular pier
The case of unsteady bore wave re¯ection at a circular pier has been studied numerically by Yang and
Hsu [44] who used a high resolution ®nite di€erence
scheme on a curvilinear boundary conforming grid.
Initially, a plane bore wave at Froude number 2.81 is
located at a certain distance upstream of the pier and
travels towards it. In our calculations, a Cartesian mesh
with 260  346 cells was used on a computational domain of 3:9  5:19 m2 , where the diameter of the pier
was 1 m and its centre was located at the point …2; 2:5†.
The pre-bore and post-bore conditions were calculated
using the bore wave relations (36). Fig. 13 illustrates the
grid layout. Again, for clarity, a coarser grid than that

actually employed in the calculations is shown. For
comparison purposes, a sequence of frames depicting
the bore/pier di€raction process were obtained at approximately the same time stages as the ones in [44]. Fig.
14 shows ®ve sequential depth contour plots. As one can
see, regular re¯ection occurs initially due to the large
inclination angle at the pier surface. As the bore wave
di€racts around the pier the inclination angle at the
surface decreases until transition occurs from regular
re¯ection to Mach re¯ection. As the incident bore wave
passes the crown of the pier the Mach stem starts to
di€ract around the surface. Later, further downstream,
a Mach bore interaction takes place in the wake region
and a Mach disc gradually forms. The computed results
compare well with those in [44].

D.M. Causon et al. / Advances in Water Resources 23 (2000) 545±562

555

Fig. 13. Bore re¯ection at a circular pier: (a) grid layout; (b) grid close to body surface.

Fig. 14. Bore re¯ection at a circular pier ± depth contours at Fb ˆ 2:81: (a) t ˆ 0:03 s; (b) t ˆ 0:05 s; (c) t ˆ 0:1 s; (d) t ˆ 0:2 s; (e) t ˆ 0:25 s.

Finally, Fig. 15 shows a comparison of depth contours at time t ˆ 0:3 s (time t ˆ 0 corresponds to the
arrival of the incident bore at the front face of the
pier) for solutions obtained on four meshes each
having half the mesh interval in each coordinate direction of its predecessor. These results have been used
to derive a measure of grid convergence through the
use of a grid convergence index (GCI), as proposed by

Roache [35]. The idea of a GCI is to provide for the
uniform reporting of grid re®nement studies in computational ¯uid dynamics [2,31]. The method provides
an objective asymptotic approach to the quanti®cation
of uncertainty of grid convergence. The basic idea is to
approximately relate the results from any grid re®nement test to the expected results from a grid doubling
using a second-order method. The GCI is based upon

556

D.M. Causon et al. / Advances in Water Resources 23 (2000) 545±562

Fig. 15. Bore re¯ection at a circular pier ± depth contours (m) at Fb ˆ 2:81 and t ˆ 0:3 s with: (a) 60  60 cells; (b) 120  120 cells; (c) 240  240 cells;
(d) 480  480 cells.

a grid re®nement error estimator derived from the
theory of generalised Richardson extrapolation. The
simple formulae are independent of the equations being discretised and the dimensionality of the problem,
and can be applied a posteriori to solutions on two
grids with no reference to the codes, algorithms or
governing equations which produced the solutions
as long as the original solutions are second-order
accurate.
Given the water depth at the same location on a ®ne
grid and a coarse grid denoted by h1 and h2 , respectively,
the GCI is given by

j 21 j
;
…38†
rp ÿ 1
where p is the formal order of accuracy of the numerical
method (2 in the present case), r is the mesh re®nement
factor
GCI21 ˆ 3



Dx2
Dx1

and 21 is a measure of the percentage relative error
between the two solutions at the given location, i.e.
21 ˆ 100

h1 ÿ h2
:
h1

Table 2
Bore re¯ection at a circular pier: water depth (in metres) at selected points on four grids with the GCI at each location
Point

h4

h3

h2

h1

GCI43

GCI32

GCI21

…0:8; 2:5†
…3:4; 2:5†
…3:8; 4:5†
…3:8; 4:3†
…3:8; 4:0†
…3:4; 4:7†
…2:4; 4:7†
…2:1; 4:5†
…1:7; 4:3†
…1:5; 4:1†
…2:7; 3:0†

4.955
4.039
3.638
3.600
3.516
3.749
3.926
4.178
4.429
4.273
1.297

5.465
3.807
3.812
3.694
3.476
3.928
4.237
4.412
4.623
4.739
1.094

5.442
3.775
3.794
3.648
3.445
3.910
4.299
4.424
4.651
4.755
1.143

5.446
3.750
3.779
3.630
3.434
3.893
4.296
4.412
4.631
4.757
1.139

10.3
5.7
4.8
2.6
1.1
4.8
7.9
5.6
4.4
10.9
15.7

0.4
0.8
0.5
1.2
0.9
0.5
1.5
0.3
0.6
0.3
4.5

0.1
0.7
0.4
0.5
0.3
0.4
0.1
0.3
0.4
0.0
0.4

Dx…m†

0.08

0.04

0.02

0.01

D.M. Causon et al. / Advances in Water Resources 23 (2000) 545±562

If three or more grids are used in a mesh re®nement
study the solution is in the asymptotic region of grid
convergence if GCI21 6 rp GCI32 [35].
Table 2 shows predicted depths (in metres) and values
of the GCI at various points in the domain for the four
grids considered (see also Fig. 16). Since the present
method is second order (p ˆ 2) and the number of mesh
points is doubled each time (r ˆ 2) we require
CGI21 6 4 CGI32 to demonstrate a converged solution at
a particular point. Comparing CGI21 and CGI32 in this
way shows that the solution is convergent at the points
listed and the GCI provides a measure of the percentage
error in the solution at that point. An interested reader
may check other data points in the domain in a similar
way. A comparison between the CGI43 and CGI32 values, however, shows that the grid convergence was not
uniformly achieved on the coarse 60  60 grid when
compared with the ®ner 120  120 grid.

557

the width of the throat was 0.5 m. Fig. 17 illustrates the
grid layout using a coarser grid than that actually employed in the calculations. Fig. 18 shows a sequence of
depth contours of bore di€raction in the channel and
Fig. 19 illustrates depth contours and Froude number
contours at t ˆ 0:45 s. Initially the incident bore is re¯ected at the walls of the contraction section of the
channel where regular re¯ection occurs. As the incident
bore reaches the throat section of the channel transition
to Mach Re¯ection occurs. Mach stems are formed in
the throat region which subsequently di€ract to form a
secondary bore wave in the expansion section. Meanwhile, the re¯ected bore waves are re¯ected repeatedly at
the channel walls. At a later time the leading bore wave
continues to evolve with the secondary bore formed by
the interaction of the two Mach discs following behind
while the re¯ected bore waves develop into a planar bore
wave travelling upstream. Once again, the computed
results compare well with the calculations in [44].

4.4. Bore di€raction in a contraction±expansion channel
Finally, the case of an incident bore wave at Froude
number 3 travelling through a symmetric contraction±
expansion channel has been simulated. This case is relevant to bore propagation in an estuary. The channel is
formed by two cosine curves linked together at the
throat position. The describing equations for the lefthand (or upper) bank are as follows:
8
1:0
ÿ2 6 x 6 ÿ 1;
>
>
<
ÿ0:375 cos…px† ‡ 0:625 ÿ1 < x 6 0;
…39†

0 < x 6 2;
ÿ0:625 cos…p2 x† ‡ 0:875
>
>
:
1:5
2 < x 6 4:

5. Mesh adaptation

Fig. 16. Bore re¯ection at a circular pier: depth distribution (m) along
the line of symmetry for four levels of mesh re®nement.

Fig. 17. Bore di€raction in a contraction±expansion channel: grid
layout.

The pre- and post-bore conditions were determined
by the relations (36). The incident bore wave was positioned initially at the entrance to the curved portion of
the channel. A Cartesian mesh with 360  200 cells was
used on a computational domain of 5:4  3:0 m2 , where

In the cut cell approach, data input for meshing a
speci®c domain only requires one ®le containing the xand y-coordinates of the boundary nodes and descriptors of the boundary type. Required user inputs are
simply the initial size of the Cartesian cells in the x- and
y-directions, denoted by Dx and Dy, respectively. The
grid generator then proceeds to create an initial mesh.
This is a completely automatic procedure controlled by
the validity of the boundary subsequently cut from the
mesh whereby a grid is created such that each boundary
cell is cut a maximum of twice, implying that a cut cell
may be a three-, four-, or ®ve-sided polygon. When
using the initial Dx and Dy values prescribed by the user,
it is usually the case that in certain areas of the
boundary domain cell intersections exceed 2 per cell,
implying that the mesh resolution is too coarse to resolve the geometrical features in this region. In this case,
mesh adaptation is called for and o€ending grid cells are
automatically re®ned until an initial grid is created
where each boundary cell has at most two cuts and each
cut boundary forms a closed polygon. After the gener-

558

D.M. Causon et al. / Advances in Water Resources 23 (2000) 545±562

Fig. 18. Bore di€raction in a contraction±expansion channel ± sequence of depth contours: (a) t ˆ 0:067 s; (b) t ˆ 0:11 s; (c) t ˆ 0:125 s; (d) t ˆ 0:15
s; (e) t ˆ 0:19 s; (f) t ˆ 0:31 s; (g) t ˆ 0:36 s; (h) t ˆ 0:4 s.

Fig. 19. Bore di€raction in a contraction±expansion channel: depth in m (left) and Froude number (right) contours at t ˆ 0:45 s.

D.M. Causon et al. / Advances in Water Resources 23 (2000) 545±562

ation of the initial mesh, user interaction is possible to
realise the required mesh for a particular study. This
provides re®nement to all, internal only, or particular
individual boundaries as required, or re®nement to
speci®c interior zones of the mesh. At this point the grid
may also be re®ned to data such as a bathymetric depth
®eld.
The use of pointer structures in the adaptive grid
generation technique is fundamental to the hierarchical
nature of the data structures employed. Pointer structures allow storage allocation and deallocation at runtime resulting in very ecient memory management. A
high-level programming language such as Fortran 90 is
suitable for these purposes. Mesh generation commences by checking each cell in the background mesh
for intersection with the ¯ow domain whereupon the cell
is added to a linked list of cells forming the initial mesh.
By only adding cells which intersect the domain, storage
is only required for cells interior to the ¯ow domain.
This is particularly ecient in cases where the ¯ow do-

559

main is a long, thin, meandering shape such as a river
estuary. Next, the cut cell data are calculated from the
boundary data and the background cells and if any cell
is intersected more than twice this cell is subdivided into
four cells. It follows that each cell created has a parent
and four children which forms the basis of a quadtree
data structure and that each node in the linked list of
background cells has a quadtree associated with it.
A key feature of this data structure is that cells may
be created and removed with relative simplicity. The
hierarchical grid structure may be illustrated by reference to the following example. Fig. 20(a) shows an initial background mesh covering an arbitrary, slender,
headland type feature together with a representative
linked list. It can be seen that cells 6 and 8 are cut four
times and so these cells are targeted for subdivision.
Quadtree re®nement results in each cell being subdivided into four as shown in Fig. 20(b). To avoid excessive cell size variation locally, a nearest neighbour
strategy is taken with re®ned cells. Thus, upon re®ne-

Fig. 20. Quadtree mesh adaptation around a simple headland: (a) background mesh; (b) mesh after ®rst subdivision; (c) mesh after second subdivision; (d) mesh after cell level integrity checks.

560

D.M. Causon et al. / Advances in Water Resources 23 (2000) 545±562

ment, no neighbouring cell is allowed to be more than
one level of subdivision di€erent. This test is performed
by searching through the linked list/quadtree data
structure to identify o€ending cells and is continued
until no invalid cells exist anywhere in the mesh. The
pointer structure ensures that the searching process is
highly ecient and allows the mixed linked list/quadtree
data structure to be navigated in a very general way.
Fig. 20(b) shows that after re®nement the nearest
neighbour constraint is satis®ed. After the cell level integrity checking, the boundary is recut from the resulting grid. However, the fourth child of node eight is still
intersected four times and so, in a similar way, this cell is
subdivided into four children, as shown in Fig. 20(c).
After cell integrity checking is complete, the resulting
mesh is as shown in Fig. 20(d). At this stage, the cut
boundary satis®es the two cuts per cell criterion and
initial grid generation halts. Of course, the user may
then customise the grid as necessary by adapting to
particular interior zones and/or local bathymetry. The
®nal result is a high resolution boundary ®tted mesh.
The practical potential of the meshing technique is
demonstrated by application of the grid generator to an
area of the South±West Netherlands coast. This region is
multiply connected and Fig. 21(a) shows the result of
meshing the whole region using square background cells

with Dx ˆ Dy ˆ 5000 m and performing re®nement to
boundaries. Figs. 21(b)±(d) show enhanced detail of the
local mesh around the coastline. It can be seen how the
grid cell sizes vary from being small in coastal areas and
gradually increase as the mesh progresses out into the
open sea. Thus, a ®ne grid need only be used where strictly
necessary in terms of accuracy or topographical considerations thereby reducing computational overheads.

6. Conclusions
A new mesh generation technique for the computation of shallow water ¯ows has been presented. Based on
a Cartesian cut cell approach and multi-dimensional
high resolution upwind scheme, the present method has
the following attractive features:
1. By using cut cells on a background Cartesian mesh,
solid regions are simply cut out of a background grid;
hence the present method o€ers a fully boundary-®tted gridding capability which can cope with complex
shallow water ¯ows around arbitrarily complicated
topography. No grid generation is required in the
conventional sense.
2. A high-order MUSCL-Hancock ®nite volume scheme
used in conjunction with slope limiting and an HLL ap-

Fig. 21. Quadtree mesh for part of the South±West Netherlands coastline: (a) general layout; (b)±(d) enhanced detail of local features.

D.M. Causon et al. / Advances in Water Resources 23 (2000) 545±562

proximate Riemann solver provides high resolution
solutions to the shallow water equations. This enables
the method to deal with complex shallow water ¯ows
such as dam-breaks, bore waves and general subcritical
or supercritical ¯ows involving strong discontinuities.
The method has been validated for a range of test
problems involving unsteady shallow water ¯ows. When
used in conjunction with local mesh adaptation, the
method provides high resolution of local geometric
features such as irregular coastline and variable bathymetry. The results indicate the