CCHE2D Technical Report National Center for Computational Hydroscience and Engineering CCHE2D:Two-dimensional Hydrodynamic and Sediment Transport Model For Unsteady Open Channel Flows Over Loose Bed Technical Report No. NCCHE-TR-2001-1 Feb. 30 ,2001 Yafei Jia and Sam S.Y. Wang School of Engineering The University of Mississippi University, MS 38677
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
CCHE2D Technical Report
National Center for Computational Hydroscience and Engineering
CCHE2D:Two-dimensional Hydrodynamic and Sediment Transport
Model For Unsteady Open Channel Flows Over Loose Bed
5.2. Inlet Boundary .................................................................................................. 56 Case a: Prescribed specific discharge qi...............................................................................................56 Case b: Specifying total discharge Q ...................................................................................................57 Case c: Prescribing the flow velocity that is not normal to the inlet cross-section ..............................57 Case d: Prescribing a hydrograph Q(t).................................................................................................58
I. Digitized hydrograph (irregular, multi-peak floods)....................................................................58 II. Hydrograph formula (Gama function, single flood event) .........................................................58
Case e: Specifying water surface elevation..........................................................................................59
5.3. Outlet Boundary................................................................................................ 60 Case a: Constant water surface elevation.............................................................................................60 Case b: Free surface elevation .............................................................................................................60 Case c: Outlet boundary condition for velocity ...................................................................................60
5.4. Solid Wall Boundary ......................................................................................... 62 5.4.1. Slipness determined boundary velocity.................................................................................62 5.4.2. Law of the wall .....................................................................................................................62 5.4.3. Water Surface Elevation .......................................................................................................64
Table of Contents
6
5.5. Boundary Condition for k-ε Model ................................................................... 65
5.6. Initial Conditions .............................................................................................. 67 Cold start..............................................................................................................................................67 Hot start ...............................................................................................................................................67
Figure 3.2 Transformation of a two dimensional element………………… …15
Figure 3.3. Definition of the calculation for the continuity equation……………18
Figure 4.1. Convective interpolation function (x0=0)…………………………...22
Figure 4.2. Definition sketch of angles ξθ and κηθ …………………………………24
5.1. Definition of velocity angle at inlet section……………………………………28
5.2. Hydrograph computed using equation (5.7b)………………………………….30
5.3. Definition for calculating boundary velocity at outlet section…………………33
5.4. Calculation of velocity on the wall that satisfies the law of the wall……….…35
6.1. Non-physical distribution of velocity in an element…………………………...39
7.1. Bed load motion affected by the secondary flow and the gravity………………46
7.2. Situation where component of velocity and shear stress have opposite direction due
to the secondary flow…………………….32
9.1. Flow chart of the CCHE2D model…………………………………………………..55
Table of Contents
11
Chapter 1
Introduction
CCHE2D is a hydrodynamic model for unsteady turbulent open channel flow and
sediment transport simulations developed at the National Center for Computational
Hydroscience and Engineering (NCCHE), the University of Mississippi School of
Engineering. This report summarizes the details of CCHE2D, version 2.0. This new
version replaces the previous one (version 1.1) released in 1997. The methodologies and
verification of the version 1.1 have shown solid results (Jia, and Wang, 1999). The new
version has many additional improvements include implicit scheme for time marching,
staggered grid for computing free surface elevation, depth-integrated k-ε model and
suspended sediment transport model. As a result, numerical stability is enhanced, node to
node oscillation is eliminated, and the CCHE2D model offers more capabilities to users
for solving more involved problems. The special finite element method for spatial
discretization is unchanged.
The mathematical model, detailed numerical method, and boundary conditions provided
the readers with sufficient information to understand the models validity, accuracy and
limitations. Examples of numerical simulations with the step by step instructions and
detailed procedures to run the model are given in the CCHE2D User’s Manual, which is
published separately. Verification has been conducted continuously during the
development of the model. This report updates its predecessor: CCHE-TR-2001-1, which
details all the 2D flow simulation capabilities. Modifications to the model such as for the
surface elevation solver and upwinding methods are added in this report.
This version of the model is capable of simulating unsteady open channel flows with the
steady state solution as a special case. Both subcritical and supercritical flows as well as
transitions of the two states can be simulated. Large scaled natural channel flows, small
Table of Contents
12
scaled laboratory flume flows have been used to verify the model’s capability, the results
for the main flow and near field details are both satisfactory. The secondary flow effect
on the bed load transport in curved channels is studied by using results of an analytical
solution which was derived by considering the velocity variations along the water depth.
As a result, the simulated bed elevation changes and topography of meandering channels
have been more reasonable than those obtained by traditional depth-averaged models.
The computational code is developed based on the Fortran 90 language evolved from
Fortran 77 of the previous version. The new program fully takes the advantages of
dynamic array allocation capability and module programming capability to allocate
memory for arrays automatically according to the requirement of the application and add
new functionalities.
Descriptions of the model are presented in the following chapters. Chapter 2 introduces
the mathematical equations used in the hydrodynamic model. The detailed numerical
approach (a special finite element method) and time integration method is discussed in
the Chapter 3. Chapter 4 describes the upwinding schemes for the flow and transport
phenomena simulation. Chapter 5 gives all the boundary conditions used for the flow
model and the sediment transport calculation method and bed form change simulation is
described in the Chapter 6. Chapter 7 provides some insights into the approach adopted
by the model to handle complex channel bed form and plane geometry. Chapter 8 gives
an overview the data flow structure of the model.
This model has been developed under the supervision of Dr. Sam S.Y. Wang, the director
of NCCHE. Dr. Yafei Jia and Dr. K.K. Hu have made the major contributions to the
development, improvement and modification of the model. Dr. Yafei Jia made the latest
development and improvement for the CCHE2D version 2. During the development,
verification, preliminary application tests, and refinement of this new version, members
of CCHE’s researchers and students have participated. Dr. Y. Xu tested the suspended
sediment transport model; Dr. W. Wu developed the non-uniform and non-equilibrium
Table of Contents
13
sediment transport module. Research associate Dr. Y. Zhang improved the configuration
of mesh system so that hydraulic structures like line dikes can be modeled more
efficiently; Miss. TingTing Zhu tested the water quality modules to be released. Their
contributions are acknowledged.
This report is a result of a project support in part by the Specific Cooperative Agreement
(No. 58-6408-2-12, CRIS 6408-1360-006-02S) between the USDA Agricultural Research
Service and the NCCHE of the University of Mississippi. The monitor of the project is
the USDA-ARS National Sedimentation Laboratory, Oxford, Mississippi.
CCHE2D Documentation 14
Chapter 2
Governing Equations for Hydrodynamics
2.1. Governing Equations
Because many open channel flows are of shallow water problems, the effect of vertical
motions is usually of insignificant magnitude. The depth integrated two-dimensional
equations are generally accepted for studying the open channel hydraulics with
reasonable accuracy and efficiency. The momentum equations for depth-integrated two-
dimensional turbulent flows in a Cartesian coordinate system are:
vfhy
hx
hhx
gyuv
xuu
tu
Corbxxyxx +−⎟⎟
⎠
⎞⎜⎜⎝
⎛∂
∂+
∂∂
+∂∂
−=∂∂
+∂∂
+∂∂
ρτττη 1 (2.1a)
ufhy
hx
hhy
gyvv
xvu
tv
Corbyyyyx −−⎟⎟
⎠
⎞⎜⎜⎝
⎛∂
∂+
∂
∂+
∂∂
−=∂∂
+∂∂
+∂∂
ρτττη 1 (2.1b)
where u and v are depth-integrated velocity components in x and y directions,
respectively; t is the time; g is the gravitational acceleration; η is the water surface
elevation; ρ is the density of water; h is the local water depth; is the Coriolis
parameter;
Corf
xxτ , xyτ , yxτ , and yyτ are depth integrated Reynolds stresses; and bxτ and byτ
are shear stresses on the bed and flow interface. The shear stress terms at the water
surface are dropped since wind shear driven effect is not considered in this version of the
model.
Free surface elevation for the flow is calculated by the depth-integrated continuity
equation:
CCHE2D Documentation 15
0=∂∂
+∂
∂+
∂∂
yvh
xuh
th (2.2)
Assuming the bed elevation, ζ, would not change in the flow simulation process:
0/ =∂∂ tζ , the continuity equation is then simplified to
0=∂∂
+∂
∂+
∂∂
yvh
xuh
tη (2.3)
where η is the free surface elevation, h is the water depth. Because bed morphological
change is a much slower process than hydrodynamics, this equation is widely accepted
and utilized for computing free surface elevation with two-dimensional models. One may
note in cases when the bed elevation changes fast due to erosion or deposition, equation
2.2 should be applied.
The turbulence Reynolds stresses in the equations (2.1a) and (2.1b) are approximated
according to the Bousinesq’s assumption that they are related to the main rate of the
strains of the depth-averaged flow field with a coefficient of eddy viscosity:
)( ,, ijjitjiij uuvuu +=′′−=τ (2.4)
xuvtxx ∂
∂= 2τ (2.5a)
⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
+∂∂
=xv
yuvtxyτ (2.5b)
yvvtyy ∂
∂= 2τ (2.5c)
⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
+∂∂
=xv
yuvtyxτ (2.5d)
CCHE2D Documentation 16
As it is well known, that eddy viscosity is a function of the flow, and it can be related to
the flow properties in different ways.
2.2. Eddy Viscosity Models
Two methods for calculating eddy viscosity are available in the current model. First, the
eddy viscosity coefficient is calculated using the depth integrated parabolic eddy
viscosity formula
tv
huCAv sxyt *κ= (2.6)
where
∫ =−=1
0 611 ςςς d)(Cs , (2.6a)
u* is shear velocity, κ is the von Karman’s constant (0.41) and ς is the relative depth of
the flow. is a coefficient to adjust the value of the eddy viscosity. Its default value is
set to 1 and it can be adjusted by users from 1~10.
xyA
In addition to this approach, depth integrated mixing length eddy viscosity model is also
available:
22222
22 ⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
+⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
+∂∂
+⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
+⎟⎠⎞
⎜⎝⎛
∂∂
=−
zU
xv
yu
yv
xulvt (2.7)
where
hdhdzhzz
hl κςςςκκ 267.0)1(11 1
0≈−=⎟
⎠⎞
⎜⎝⎛ −= ∫∫
−
(2.7a)
The depth integrated velocity gradient along vertical coordinate zU
∂∂ is introduced to
account for the effect of turbulence generated from the bed surface. The eddy viscosity
defined by (2.7) would be zero in the uniform flow condition without this term. It is
determined in the way that eddy viscosity shall be the same as that of the uniform flow in
CCHE2D Documentation 17
absence of other terms. Assuming the flow is of logarithmic profile along the depth of the
water, the vertical gradient should be
zu
zU
κ*=
∂∂ (2.8)
The equation (2.8) is integrated vertically to obtain depth averaged vertical gradient,
which is represented by
κκη
huCdz
zhudz
zU
hzU
mzo
** 11==
∂∂
=∂∂
∫∫ (2.9)
where U is total velocity, is the total shear velocity and is a coefficient. Instead of
directly calculating , this coefficient is assigned in such a way that equation (2.7) shall
recover equation (2.6) in the absence of all the horizontal velocity gradients (uniform
flow). Thus, the assigned value is 2.34375.
*u mC
mC
Another important problem
regarding both mixing
length model and parabolic
model is the wall effect.
Very close to the wall, the
distance to the wall should
be used as the length scale
instead of that to the bed.
Otherwise, the depth
integrated coefficients for
the eddy viscosity would
be too large when the
interior nodes are close to
the wall. In this CCHE2D
model the normal distance from a node to the wall ( ) is used to calculate the mixing wd
wall
hd
=δ
)1( δδκ −=−
hlhl κ267.0=
−
hdd w 3245.0==
d
)1(* δδκ −= huvt
hd
=δ
wall 6* huvt κ=
hdd w 21.0==
Figure 2.1 Calculation of eddy viscosity near the vertical wall.
d
CCHE2D Documentation 18
length in the region 3245.0<hd w . And it is also used to calculate the parabolic profile
in the range 21.0<hdw . The number 0.3245 and 0.21 are the relative distances where
mixing length and the parabolic profile are equal to their depth averaged values,
respectively. This approach avoids the prediction of very large eddy viscosity near the
wall. Figure 2.1 illustrates this methodology:
CCHE2D Documentation 19
2.3. Two-dimensional k-ε model for depth-integrated
flow
In addition to these two zero equation closure models, the two-equation turbulence
closure model, k-ε model for depth-integrated flows has also been included as an options
for applications when the accuracy of turbulence closure is critical (Rodi, 1979).
kVk
t
k
t PPyk
yxk
xykv
xku
tk
+−=∂∂
∂∂
−∂∂
∂∂
−∂∂
+∂∂
+∂∂ ε
σν
σν
][][ (2.10)
Vtt P
kcP
kc
yyxxyv
xu
t εεεεε
εεεσνε
σνεεε
+−=∂∂
∂∂
−∂∂
∂∂
−∂∂
+∂∂
+∂∂ 2
21][][ (2.11)
where
])()(2)(2[ 222
,
xv
yu
yv
xuv
uuuP
t
jiji
∂∂
+∂∂
+∂∂
+∂∂
=
′′−= (2.12)
2
43
,h
UCP
hU
CP VkkV∗∗ == εε (2.13)
and
µε
ε ccc
Cc
CvucUff
kf 4/3222 6.3,1,)( ==+=∗ (2.14)
and cµ=0.09, σk=1.0, σε=1.3, cε1=1.44, cε2=1.92. The eddy viscosity coefficient is
computed by the solution of k-ε model
εµ
2kcvt = (2.15)
CCHE2D Documentation 20
The term PkV and PεV were added to the two-dimensional model to account for the
generation of turbulence energy and dissipation due to bed friction in case of uniform
flows.
2.4. Shear Stress on the Bed
There are many ways in hydraulics to evaluate the shear velocity on the channel bed; two
alternatives are adopted in the current model. The first is using the depth-integrated
logarithmic law:
⎥⎦
⎤⎢⎣
⎡⎟⎟⎠
⎞⎜⎜⎝
⎛+−=
o
o
* zhln
hz
zuU 11 (2.16)
where
22 vuU += (2.17)
The velocity components, u and v are the previous numerical results of the time-stepping
scheme. The variable is calculated with different formulas for different flow
conditions of hydraulic smooth, rough and transition:
oz
511.0 **
≤= vkuuvz so (2.18a)
700333.0 * ≥= vkukz sso (2.18b)
7050333.011.0 **
<<+= vkukuvz sso (2.18c)
sk is the roughness height of the bed surface and is the kinematic viscosity of the fluid.
Since is implicit, Equation (2.16) is solved iteratively. It can be seen that the Darcy-
Weisbach coefficient can be conveniently obtained after the calculation of (van
Rijn, 1993):
v
*u
cf *u
CCHE2D Documentation 21
55238
50
≤⎟⎠⎞
⎜⎝⎛+=⎟
⎠
⎞⎜⎝
⎛−
vku
vhu
ln.f s**
.c (2.19a)
705268
50
≥⎟⎟⎠
⎞⎜⎜⎝
⎛+=⎟
⎠⎞
⎜⎝⎛
−
vku
khln.
f s*
s
.c (2.19b)
70533
5268
50
<<⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜
⎝
⎛
++=⎟
⎠⎞
⎜⎝⎛
−
vku
uv.k
hln.f s*
*s
.c (2.19c)
The shear stress components are finally obtained:
uUfcbx ρτ81
= (2.20a)
vUfcby ρτ81
= (2.20b)
The second method to calculate shear velocity and stress components on the bed surface
is to utilize the Manning’s coefficient.
uUgnh
bx2
31
1 ρτ = (2.21a)
vUgnh
by2
31
1 ρτ = (2.21b)
and the shear velocity is conveniently computed by:
222 1bybx*u ττ
ρρτ
+== (2.22)
CCHE2D Documentation 22
The Manning’s coefficient n is a local constant, which does not change with the flow
condition and the calculation needs no iterations, the second approach is thus more
efficient then the first. For practical applications the second method is recommended
because it is easier to lump the effects of bed form, channel geometry, sediment size and
vegetation, etc. into this coefficient. But for detailed near field simulation/verification
with experimental data, the first approach is physically sound and thus worth adopting if
roughness parameter is available.
It is important that when loose bed and bank are considered (with or without sediment in
motion), the roughness height and Manning’s n used for calculating shear stress
should include both bed material grain size and bed form roughness effects. These two
parameters representing bed resistance to the flow can be converted from each other
using Strickler’s formula:
sk
Akn s
6/1
= (2-23)
The value of parameter A is in the neighborhood of 20 depending on the sediment size,
bed form, vegetation, channel morphology.
CCHE2D Documentation 23
Chapter 3
Finite Element Approach
3.1. Introduction
The finite element method used in CCHE2D is called Efficient Element Method which
was initiated by Wang and Hu (1992). Collocation approach of the finite element method
is adopted to discretize the mathematical equation system. Interpolation functions, finite
element transformations and solution methods are discussed in this chapter. The current
version of this model is still based on this method but it is updated/improved with respect
to numerical integration procedure and methodology. Readers will find it is different
from the previous version in many aspects.
3.2. Interpolation Functions
Multi-dimensional interpolation functions of Lagrangian type in the finite element
methods are usually constructed by those of one-dimensional elements. For simplicity, it
is desirable to introduce the one dimensional interpolation function first. The derivation
of the interpolation function is based on a non-uniformly spaced 1D element as shown in
the Figure 3.1. By applying the Taylor series expansion of a function u in the
neighborhood of x=0, the values of u1(x=-∆x1) and u3(x=∆x2) may be approximated by:
212
2
121 xdx
ud21x
dxduuu ∆∆ +−≈
CCHE2D Documentation 24
222
2
223 xdx
ud21x
dxduuu ∆∆ ++≈ (3.1)
If u1(x=-∆x1), u2(x=0) and u3(x=∆x2) are known, the derivatives of the function
02
2
0
,== xx dx
uddxdu can be calculated and the distribution of the parabolic variable u in the
domain 21 xxx ∆∆ ≤≤− is then determined by the following quadratic interpolation
function:
)]())()((
)([)(
11321212
2212121
xxuxxu
xxu1u
∆∆∆∆∆∆
∆∆∆∆∆∆
++−++−
−+
= (3.2)
As can be seen, this interpolation function is defined in physical space. x is the global
coordinate being translated so that its region is at the node of central attention of an
element. To take advantage of the finite element method, one needs to find the
interpolation functions in terms of the local element coordinates. For this purpose, a
linear relationship between x and ξ the local element coordinate is assumed and
according to Figure 3.1, we have
11x ∆ξ∆ −+= )( (3.3)
where
221 )( ∆∆
∆+
= (3.3a)
This is the transformation from x to ξ . The interpolation function defined in ξ space is
obtained by substituting equation (3.3) into (3.2)
332211 uuuu ϕϕϕ ++= (3.4)
where
( 121
11
11 −⎟⎟
⎠
⎞⎜⎜⎝
⎛∆∆
+∆
∆−∆= ξξϕ ) (3.4a)
CCHE2D Documentation 25
( )12
21
2
2 −∆∆
∆= ξϕ (3.4b)
( 121
22
13 +⎟⎟
⎠
⎞⎜⎜⎝
⎛+
−= ξξ
∆∆
∆∆∆
ϕ ) (3.4c)
Note that the equation (3.2) is defined in a physical space, and (3.4) is in a local element
space according to the one-dimensional transformation (3.3). 0ξ is the point that
corresponds to x=0 in the physical space, it can be determined according to (3.3):
21
21o ∆∆
∆∆ξ
+−
= (3.5)
2∆ 1∆
1x∆−
10 1−
ξ 0ξ 2x∆
Figure 3.1 One dimensional element.
If this element is symmetric: ∆1=∆2, and x0=0, the interpolation function recovers the
standard Largragain interpolation function. Two-dimensional element used in CCHE2D
is of 9 node quadrilateral (Figure 3.2). The numbering order, m, is from top to bottom and
from left to right. Five is the central node, 1, 3, 7, 9 are the four corners and 2, 4, 6, 8
represent side nodes on the local ξ and η coordinates. The interpolation function of the
2D element is constructed by using that of the 1D element (3.4).
)3,2,1,.9,...,2,1( === jimN jim ϕϕ (3.6)
CCHE2D Documentation 26
3,3,92,3,81,3,73,2,62,2,51,2,43,1,32,1,21,1,1
===========================
jimjimjimjimjimjimjimjimjim
(3.7)
Or simply: 1)3
1int( +−
=mi , )1(3 −−= imj
Equation (3.7) shows the relation of the nodal number of the element, m, and those for
each coordinate, i and j. Equation (3.8) is for computing values of interpolation functions
at points along each i and j lines.
( )
( )
( )
( )
( )
( )121
1
121
121
1
121
2,2,
1,3
2
2,1,
22
1,1,
1,1
2,2,
1,3
2
2,1,
22
1,1,
1,1
+⎟⎟⎠
⎞⎜⎜⎝
⎛
∆∆
+∆
∆−∆=
−∆∆
∆=
−⎟⎟⎠
⎞⎜⎜⎝
⎛
∆∆
+∆
∆−∆=
+⎟⎟⎠
⎞⎜⎜⎝
⎛
∆∆
+∆
∆−∆=
−∆∆
∆=
−⎟⎟⎠
⎞⎜⎜⎝
⎛
∆∆
+∆
∆−∆=
ξξϕ
ξϕ
ξξϕ
ηηϕ
ηϕ
ηηϕ
j
j
j
jjj
jj
jj
j
j
j
jjj
i
i
i
iii
ii
ii
i
i
i
iii
(3.8)
ξ j=1,2,3
987
64
321
5
η, i=1,2,3
Figure 3.2 Nodal indices of the 9
node element (logic space)
CCHE2D Documentation 27
Figure 3.3 shows the transformation of the two dimensional local and physical elements.
As one can easily see that the geometry of a physical element is in general irregular and
asymmetric to the central point, and after the transformation into the local element
domain, it becomes very smooth and regular. Computed curves of the interpolation
function along η=const are shown. The second order interpolation function represents the
physical geometry very well. As have been pointed out earlier that the location of the
central mesh point is transformed local central point (i=2, j=2), it is located at the position
proportional to that in the physical space.
Figure 3.3. Transformation from logic space to physical space using the interpolation
functions of equation (3.6)
CCHE2D Documentation 28
3.3. Finite Element Operators for Calculating
Derivatives
CCHE2D is a finite element model, governing equations are solved in physical space.
Transformations are performed to obtain differential operators in physical space, the
differential equations are then converted to algebraic equation systems. The
transformation of partial derivatives from local spaces to physical space can be performed
using the following relation:
⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜
⎝
⎛
∂∂
∂∂
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
∂∂
∂∂
−
∂∂
−∂∂
=⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜
⎝
⎛
∂∂∂∂
η
ξ
ξη
ξη .1xx
yy
Dy
x (3.9)
In this two dimensional transformation, ξ and η are the local coordinates which
corresponding to the global coordinates x and y, respectively. It is seen, the variables on
the right hand side in the local logic space are transformed into those in terms of physical
space on the left side. D is the Jacobian determinant of the transform matrix
ξηηξ ∂∂
∂∂
−∂∂
∂∂
=yxyxD (3.9a)
and the first order local operators are calculated by:
∑= ∂
∂=
∂∂ 9
1m
mNξξ
(3.10a)
∑= ∂
∂=
∂∂ 9
1m
mNηη
(3.10b)
The second order derivative operators are given by
ηξηξ
ηη
ξξ
∂∂∂
+∂∂
+∂∂
=∂∂ 2
xx2
22x2
22x2
2
2x
(3.11a)
ηξηξ
ηη
ξξ
∂∂∂
+∂∂
+∂∂
=∂∂ 2
yy2
22y2
22y2
2
2y
(3.11b)
CCHE2D Documentation 29
ηξηξηξ
ηηη
ξξξ
∂∂∂
++∂∂
+∂∂
=∂∂
∂ 2
yxxy2
2
yx2
2
yx
2
)(yx
(3.11c)
where the coefficients are defined by
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
∂∂
∂∂
−
∂∂
−∂∂
=⎟⎟⎠
⎞⎜⎜⎝
⎛
ξη
ξηηξηξ
xx
yy
D1
yy
xx (3.12)
∑= ∂
∂=
∂∂ 9
12
2
2
2
m
mNξξ
(3.13a)
∑= ∂
∂=
∂∂ 9
12
2
2
2
m
mNηη
(3.13b)
∑= ∂∂
∂=
∂∂∂ 9
1
22
m
mNηξηξ
(3.13c)
It can be seen that all the finite element operators needed to assemble the equation (2.1a)
and (2.1b) are prepared by equation (3.9) and (3.11). However, the first order derivatives
obtained from the equation (3.9) do not take the flow characteristics into account,
because the interpolation functions are of Lagrangian, they are related only to the mesh
geometry. When strongly convective flow is encountered, which is common for most of
open channel flows, this type of operators will cause node to node oscillations. To model
the physics more realistically, the convective interpolation functions are introduced to
reduce the node to node oscillations. For all the non-convective physical phenomena,
however, the operators (3.9) are capable of producing accurate results.
CCHE2D Documentation 30
3.4. Four Node Bilinear Element
It will be shown later that the staggered mesh is used for solving free surface elevation.
An obvious choice for computing surface slope in the momentum equations and for the
velocity correction equation is the bilinear finite element engaging the four staggered
points around a velocity point. The bilinear element can only be used to compute first
order derivatives but this is exactly what we need. The finite element operators for first
order differential derivatives are computed in a way similar to those for the nine node
quadrilateral elements. The difference is to compute the transformation scale using the
four node bilinear element. Because the derivatives in the bilinear element are constants,
it doesn’t matter if the central node is located at the geometric center of the physical
space. Classic interpolation function for this type of element is applied (Figure 3.4):
4,3,2,1)1)(1(41
=++= lM lll ηηξξ (3.14)
The functions at each corner are simple bilinear functions
)1)(1(41
)1)(1(41
)1)(1(41
)1)(1(41
4
3
2
1
ηξ
ηξ
ηξ
ηξ
++=
−+=
−−=
+−=
M
M
M
M
(3.15)
The derivatives of these functions are the differential operators in the local space.
∑
∑
=
=
∂∂
=∂∂
∂∂
=∂∂
4
1
4
1
l
l
l
l
M
M
ηη
ξξ (3.16)
Employ equation (3.12) and then (3,9), the differential operator in the physical space is
obtained.
CCHE2D Documentation 31
9 node quadrilateral element Staggered
surface nodes
4 node bilinear element
-1,-1 1,-1
1,1 -1,1
ξ
η
Figure 3.4 Definition sketch of the bilinear element.
3.5. Staggered Mesh for Solving the Continuity
Equation
Depth-integrated continuity equation for free surface flows is used for computing the
surface elevation for steady and unsteady flows. Because of the hydrostatic pressure
assumption adopted in the governing equations, the surface elevation is actually plays the
role of pressure fields. The previous version of the CCHE2D applied collocated grid: the
velocity components and the water surface elevation are located at the same node, the
mass conservation is expressed by the integral equation
01=+
∂∂
∫ dsnuAt
vvη (3.17)
CCHE2D Documentation 32
Figure 3.5 defines the geometric variables of this equation, A is the area of the cell of the
element. The central cell was used for the flux integration instead of the total element
which can avoid overlapping of the integration area. The velocity vectors at the cell
boundary lines are interpolated from the element points. Because the solution of the
continuity equation is de-coupled from that of the momentum equations, it is very simple
to solve this equation and update the water surface elevation. Because this configuration
would likely induce oscillation due to velocity and pressure (surface elevation)
decoupling, partially staggered mesh configuration is adopted for solving continuity.
ds
Element
Cell
A
Figure 3.5 Definition sketch of the calculation for the continuity equation.
Velocity location
Pressure location
Figure 3.6. Staggered grid used in CCHE2D
In this version of CCHE2D, colocated grid is used only for the monentum equations, and
the pressure field (free surface elevation) is computated on the staggered grid, as
CCHE2D Documentation 33
illustrated in Figure 3.6. This partially staggered arangement takes the advantage of the
simplicity of colocated grid for computing velocity and that of the staggered grid to
eliminate oscillation. Fully staggered grid would require too much computational effort to
calculate vilocity components with finite element method. Figure 3.7 shows the partially
staggered grid in physical space with staggered points. These points are located at the
geometric center of each mesh cell. At the domain boundary, the staggered points are
located on the boundary instead of placed outside the domain. Additional finite element
differential operators, and hence more computer memory, have to be provided for solving
the continuity equation. These operators should be computed in the same fasion as those
for the momentum equations, but the computations have to be based on the staggered
points.
Figure 3.7 Partially staggered grid for solving continuity equation
(Physical space).
x
y
3.6. Solution Method
The system of algebriac equations for the momentum equations (2.1) and continuity
equation (2.2) are solved with the velocity correction method. This method is widely
applied in finite volume method for 3D computations. The CCHE2D model takes concept
of the velocity correction method, the continuity equation is solved with an unique
CCHE2D Documentation 34
procedure specially developed for the two-dimensional models. The algorithm of solving
the governing equations is as follows.
The descritised momuntum equations can be arranged in the vector form as
)'(1 ηη +∇∆−∆+=+ nnn tgftuuvrr (3.18)
where represents all the terms in these equations except the pressure terms (the free
surface elevation), n is the time step number and η’ is the variation of the surface change
in one time step, it is often called the correction term to be computed later. Let the
provisional velocity be
fv
nn gtftuu η∇∆+∆+=∗vrr (3.19)
The final velocity for the next step can be written in the form of
' (3.20) 1 η∇∆−= ∗+ tguu n rr
Note, the provisional velocity is not solved with the constaint of continuity equation, this
constaint is applied to equation (3.20) in the correction procedure. Substitute Eq. (3.20)
into the continuity equation (2.3), one has
0'')( 2 =∇⋅∇∆−∇∆−⋅∇+∂∂ ∗ ηηη htgtghuh
tr (3.21)
The third and fourth term of this equation is generated by the divergence operation and
they are kept in the differential form, and the fourth term is dropped from this equation
because it is negligable. Considering
' (3.22) 1 ηηηηη =−=∆≈∂ + nn
and ∫ ∗∗ =⋅∇ sduhA
uhrrr 1)( , Eq. (3.21) then becomes
∫ ⋅∆
−=∇∆− ∗ sduhAtght
rr')1( 22 η (3.23)
Where A is the area of a cell or a four-node element of the staggered node, s is the
boundary of the cell with anti-clockwise direction, sdr
is an outward line segment vector
of this curved boundary, h is the water depth along the segment. As one can see, the
CCHE2D Documentation 35
continuity equation is in the form of Poisson’s equation, the second derivative operator
provides a strong coupling between velocity and the pressure field and the solution of the
system of equations would thus be free of oscillation. The velocity is corrected by the
pressure (surface elevation) correction term, it is a second order method. This solution
procedure of the governing equations is similar to that of the velocity correction by using
pressure solution to enforce mass conservation. The solution procedure for solving Eq.
(3.18) is to solve (3.19) and then (3.23) from initial conditions; velocity and free surface
solutions at level n+1 is obtained by using the correct equation (3.20) and (3.22),
respectively. Convergence of equation (3.23) and correction (3.20) make continuity
equation satisfied for all velocity vectors.
The solution for the k-ε model is straight forward, because these equations are linear they
are solved as transport equations. The source terms of the k-ε model are very stiff, some
of them are treated implicitly whenever is possible.
3.7. Time Marching Scheme
In the CCHE2D 2.0, explicit time marching technique for unsteady equations is replaced
by implicit method. The fourth order Runge-Kutta method used for CCHE2D version 1.1
)( 4321n1n kk2k2k
6tuu ++++=+ ∆ (3.24)
where
) (3.25a) ,( nn1 utfk =
),( 1nn
2 k2tu
2ttfk ∆∆
++= (3.25b)
),( 2nn
3 k2tu
2ttfk ∆∆
++= (3.25c)
CCHE2D Documentation 36
(3.25d) ),( 3nn
4 tkuttfk ∆∆ ++=
is replaced by the implicit first order Euler’s method for solving all of the equations
except for the surface elevation correct equation (3.23), because it is basically a Poisson
equation. The discretized advection-diffusion equations have the form
),,,,,(
),,,,,(
),,,,,,(
),,,,,,(
11
11
11
11
nnnt
nnnnn
nnnt
nnnnn
nnby
nnt
nnnnn
nnbx
nnt
nnnnn
uhvutf
uhvuktfkk
huvvtfvv
hvuutfuu
∗++
∗++
++
++
∆+=
∆+=
∆+=
∆+=
νεεε
ν
την
την
(3.26)
Because of the non-linearity and complexity of these equations, it is difficult to put all the
unknowns on the left hand side and solve them directly, iterations have to be performed
to gradually improve the right hand side and reach implicit solutions. The terms with
superscript “n” on the right hand side represent previous solution, they are treated
explicitly and are improved in the process of external iterations. Although the Euler’s
method is of the first order accurate, stability of the computation is greatly enhanced by
this implicit scheme. The Crank-Nicolson method, a second order implicit scheme, is to
be implemented to further improve the model. The water surface elevation correction
equation (3.22) is solved iteratively, because the right hand side of the equation includes
the water depth. To make the solution completely implicit, h should be updated.
),,( 1+=′ nnn hvufη (3.27)
The algebraic equations for all the governing equations (3.26), (3.27) are arranged to
five-diagonal linear equations and they are solved by the same solver for linear equations.
3.8. Assembly of Algebraic Equations for
Momentum Equations
To solve the finite element equation system efficiently, the Stone’s method is adopted
(Ferziger and Peric, 1997). Since information along the two mesh lines (ξ,η) passing the
CCHE2D Documentation 37
center of the element is dominant, the coefficients at the four corners are usually very
small, five-diagonal equation system is therefore used. The notation of the algebraic
equations for an element adapted in this report is similar to those commonly used in
Finite Volume Method as illustrated in the Figure 3.7.
ANE
ANW
ξ j=1,2,3
η, i=1,2,3
9 8 7
6 4
3 2 1
5
ASW
ASEAW
AE
AN
AS
AP
η ξ
Figure 3.7. Notation of the algebraic equation for an element
There are seven finite element operators for the CCHE2D model, five Lagrangain
operators and ten convective operators:
∑
∑
∑
∑
∑
=
=
=
=
=
∂∂∂
=∂∂
∂
∂∂
=∂∂
∂∂
=∂∂
∂∂
=∂∂
∂∂
=∂∂
9
1
22
9
122
2
9
12
2
2
2
9
1
9
1
m
m
m
m
m
m
m
m
m
m
yxN
yx
yN
y
xN
x
yN
y
xN
x
(3.28)
CCHE2D Documentation 38
∑∑
∑∑
∑∑
∑∑
∑∑
==
==
==
==
==
∂∂
=∂∂
∂∂
=∂∂
∂∂
=∂∂
∂∂
=∂∂
∂∂
=∂∂
∂∂
=∂∂
∂∂
=∂∂
∂∂
=∂∂
∂∂
=∂∂
∂∂
=∂∂
9
1
9
1
9
1
9
1
9
1
9
1
9
1
9
1
9
1
9
1
,
,
,
,
,
m
cm
m
cm
m
m
m
m
m
km
m
km
m
vm
m
vm
m
um
m
um
yC
yxC
x
yC
yxC
x
yC
yxC
x
yC
yxC
x
yC
yxC
x
εε
(3.29)
Because the convective operators are related to the distribution of the transported
variables (in this case, the velocity components, k, ε and suspended sediment and
pollutant concentration, c), two sets of convective operators are computed for both u and
v momentum equations as well as for other transport equatoins. It should be noted the
convective operators are functions of the flow or the transported substance (functions of
the solutions) and thus have to be computed for each time step. The Lagrangain operators
are functions of mesh geometry, they are computed at the initial stage.
Replace the differential derivatives of u momentum equation with the corresponding
operators:
umm
tmm
t
llmummum
fy
uNx
uNx
MgyuCv
xuCu
tu
+∂
∂+
∂∂
+∂
∂−=
∂∂
+∂
∂+
∂∂
∑∑
∑∑∑9
12
29
12
2
4
1
9
1
9
1
νν
η
(3.30)
where
CCHE2D Documentation 39
vfhx
vNyuN
yhN
xuN
xhN
xvN
yuN
yN
xuN
xN
yxvN
yuN
xuNf
Corbxmmmmmm
tmmmm
t
mmmmmtmmmmtm
mmmmmmtu
+−∂
∂+
∂∂
∂∂
+∂
∂∂
∂
+∂
∂+
∂∂
∂∂
+∂
∂∂
∂
+∂∂
∂+
∂∂
+∂
∂=
∑∑∑∑∑
∑∑∑∑∑
∑∑∑
ρτνν
νν
ν
)(2
)(2
][
9
1
9
1
9
1
9
1
9
1
9
1
9
1
9
1
9
1
9
1
9
1
29
12
29
12
2
(3.31)
One should note that the surface gradient term is computed with the four nodes bilinear
element described in Figure 3.4. This term is treated explicitly in the inner loop of the
iterations. Considering the dominance of the primary lines, the nodal value at 2, 4, 5, 6, 8,
are treated as implicit and set to the left hand side of the algebraic equation
un
PnSuS
nNuN
nWuW
nEuE
nPuP tFuuAuAuAuAuA ∆+=++++ +++++ 11111 (3.32)
where
umm
tmm
tmummumll
u fy
uNx
uNyuCv
xuCu
xMgF +
∂∂
+∂
∂+
∂∂
−∂
∂−
∂∂
−= ∑∑∑∑∑9,7,3,1
2
2
9,7,3,12
2
9,7,3,19,7,3,1
4
ννη
(3.33)
)(
)(
)(
)(
1)(
28
2
28
288
22
2
22
222
24
2
24
244
26
2
26
266
25
2
25
255
yN
xN
yCv
xCuA
yN
xN
yCv
xCuA
yN
xN
yCv
xCuA
yN
xN
yCv
xCuA
yN
xN
yCv
xCuA
tuu
uS
tuu
uN
tuu
uW
tuu
uE
tuu
uP
∂∂
+∂
∂−
∂∂
+∂
∂=
∂∂
+∂
∂−
∂∂
+∂
∂=
∂∂
+∂
∂−
∂∂
+∂
∂=
∂∂
+∂
∂−
∂∂
+∂
∂=
+∂
∂+
∂∂
−∂
∂+
∂∂
=
ν
ν
ν
ν
ν
(3.34)
In the external iteration process, all the variables in the term Fu are updated, represents
the previous solution.
nPu
The algebraic equations for the v momentum equation are similarly derived
CCHE2D Documentation 40
vmm
tmm
t
llmvmmvm
fy
vNx
vNy
Mgy
yCvxvCu
tv
+∂
∂+
∂∂
+∂
∂−=
∂∂
+∂
∂+
∂∂
∑∑
∑∑∑9
12
29
12
2
4
1
9
1
9
1
νν
η
(3.35)
where
ufhx
vNyuN
xhN
yvN
yhN
xvN
yuN
xN
yvN
yN
yxuN
yvN
xvNf
Corbymmmmmm
tmmmm
t
mmmmmtmmmmtm
mmmmmmtv
−−∂
∂+
∂∂
∂∂
+∂
∂∂
∂
+∂
∂+
∂∂
∂∂
+∂
∂∂
∂
+∂∂
∂+
∂∂
+∂
∂=
∑∑∑∑∑
∑∑∑∑∑
∑∑∑
ρτ
νν
νν
ν
)(2
)(2
][
9
1
9
1
9
1
9
1
9
1
9
1
9
1
9
1
9
1
9
1
9
1
29
12
29
12
2
(3.36)
Following the same notation as those for the algebraic equations for u momentum
equation, the algebraic equations for v equations are
vn
PnSvS
nNvN
nWvW
nEvE
nPvP tFvvAvAvAvAvA ∆+=++++ +++++ 11111 (3.37)
where
vmm
tmm
tmvmmvmll
v fy
vNx
vNyvCv
xvCu
yMgF +
∂∂
+∂
∂+
∂∂
−∂
∂−
∂∂
−= ∑∑∑∑∑9,7,3,1
2
2
9,7,3,12
2
9,7,3,19,7,3,1
4
ννη
(3.38)
)(
)(
)(
)(
1)(
28
2
28
288
22
2
22
222
24
2
24
244
26
2
26
266
25
2
25
255
yN
xN
yCv
xCuA
yN
xN
yCv
xCuA
yN
xN
yCv
xCuA
yN
xN
yCv
xCuA
yN
xN
yCv
xCuA
tvv
vS
tvv
vN
tvv
vW
tvv
vE
tvv
vP
∂∂
+∂
∂−
∂∂
+∂
∂=
∂∂
+∂
∂−
∂∂
+∂
∂=
∂∂
+∂
∂−
∂∂
+∂
∂=
∂∂
+∂
∂−
∂∂
+∂
∂=
+∂
∂+
∂∂
−∂
∂+
∂∂
=
ν
ν
ν
ν
ν
(3.39)
Obviously, algebraic equations for both u and v components have five diagonals if they
are written in a matrix system.
CCHE2D Documentation 41
The formulation for the k-ε model is straight forward following the same way as
momentum equations. One should note that different convective interpolation functions
for k and ε equations are needed because the interpolation functions are related not only
to the Peclet number at the central node, but also to the distribution of the k and ε in the
element.
kmm
k
tmm
k
tmkmmkm fy
kNx
kNykCv
xkCu
tk
+∂
∂++
∂∂
+=∂
∂+
∂∂
+∂∂ ∑∑∑∑
9
12
29
12
29
1
9
1
)()(σνν
σνν
(3.40)
εεε
εε εσννε
σννεεε f
yN
xN
yCv
xCu
tmmtmmtmmmm +
∂∂
++∂
∂+=
∂∂
+∂
∂+
∂∂ ∑∑∑∑
9
12
29
12
29
1
9
1
)()(
(3.41)
where the source terms are given as
kVk PPf +−= ε (3.42)
VPk
cPk
cf εεεεεε
+−=2
21 (3.43)
To enhance stability, the source terms with negative sign are moved to the left hand side
of the equations so that they can be solved implicitly in the process of inner iteration, a
strategy recommended by Patankar (1980). The assembled equations for k and ε equation
read
kn
PnSkS
nNkN
nWkW
nEkE
nPkP tFkkAkAkAkAkA ∆+=++++ +++++ 11111 (3.45)
εεεεεε εεεεεε tFAAAAA nP
nSS
nNN
nWW
nEE
nPP ∆+=++++ +++++ 11111 (3.46)
where the source terms and the coefficients are as follows:
Vmm
k
tmm
k
t
mkmmkmk
PPy
kNx
kN
ykCv
xkCuF
εσνν
σνν ++
∂∂
++∂
∂+
+∂
∂−
∂∂
−=
∑∑
∑∑
9,7,3,12
2
9,7,3,12
2
9,7,3,19,7,3,1
)()( (3.47)
CCHE2D Documentation 42
))((
))((
))((
))((
1))((
28
2
28
288
22
2
22
222
24
2
24
244
26
2
26
266
25
2
25
255
yN
xN
yCv
xCuA
yN
xN
yCv
xCuA
yN
xN
yCv
xCuA
yN
xN
yCv
xCuA
kyN
xN
yCv
xCuA
k
tkkkS
k
tkkkN
k
tkkkW
k
tkkkE
k
tkkkP
∂∂
+∂
∂+−
∂∂
+∂
∂=
∂∂
+∂
∂+−
∂∂
+∂
∂=
∂∂
+∂
∂+−
∂∂
+∂
∂=
∂∂
+∂
∂+−
∂∂
+∂
∂=
++∂
∂+
∂∂
+−∂
∂+
∂∂
=
σνν
σνν
σνν
σνν
εσνν
(3.48)
and for the ε equation
Vmmtmmt
mmmm
Pk
cy
Nx
N
yCv
xCuF
εεεε
εεε
εεσννε
σνν
εε
++∂
∂++
∂∂
+
+∂
∂−
∂∂
−=
∑∑
∑∑
19,7,3,1
2
2
9,7,3,12
2
9,7,3,19,7,3,1
)()( (3.49)
))((
))((
))((
))((
1))((
28
2
28
288
22
2
22
222
24
2
24
244
26
2
26
266
225
2
25
255
yN
xN
yCv
xCuA
yN
xN
yCv
xCuA
yN
xN
yCv
xCuA
yN
xN
yCv
xCuA
kc
yN
xN
yCv
xCuA
tS
tN
tW
tE
tP
∂∂
+∂
∂+−
∂∂
+∂
∂=
∂∂
+∂
∂+−
∂∂
+∂
∂=
∂∂
+∂
∂+−
∂∂
+∂
∂=
∂∂
+∂
∂+−
∂∂
+∂
∂=
++∂
∂+
∂∂
+−∂
∂+
∂∂
=
ε
εεε
ε
εεε
ε
εεε
ε
εεε
εε
εεε
σνν
σνν
σνν
σνν
εσνν
(3.50)
The source terms of the k and ε equations with negative sign are reformulated so that they
can be put on the left hand side of the equations and being solved implicitly.
CCHE2D Documentation 43
3.9. Operators and Algebraic Equations for
Solving Continuity Equation
It was mentioned above that the continuity equation is solved with a staggered mesh
system shown in Figure 3.6. The finite element operators for computing the Poisson
equation of the continuity equation have to be set based on the staggered mesh. In
addition the divergence is replaced by integral (Equation 3.19), an integral operator is
also needed. Only the primary second order derivatives are computed on the staggered
mesh since the Poisson equation doesn’t need the cross second order derivative and the
first order derivatives. These second order operators are defined as
∑
∑
=
=
∂∂
=∂∂
∂∂
=∂∂
9
12
2
2
2
9
12
2
2
2
m
m
m
m
yS
y
xS
x (3.51)
where Sm represents the interpolation function for the staggered mesh. The integral for the
net flow flux passing the center cell is defined as
4,3,2,1,411.4,3,2,1
)(21)(
21 4
11,1,
4
11,1,
=>+==
+++=
+=⋅
∑∑
∫∗
++∗
++
∗
jiifii
hvnsnshunsns
FLUXFLUXdsnuh
jjiyiiyijjixiixi
yxcell
rv
(3.52)
where i is the segment number and j is the vertex number of the cell, n is the unit vector
normal to the cell boundary as indicated in Figure 3.8. s
v
i is the length of the central cell
segments. The operator is arranged such that the flux can be computed at the four vertices
where the velocity and water depth are located, the computation is more efficient this
way.
CCHE2D Documentation 44
x
y
4nv 3nv
2nv 1nv
ξ
j=3
j=2
j=4
j=1
i=4 i=3
i=2 i=1
η Indices for the
central cell
Figure 3.8 Sketch for computing finite element operators and integral
operator for the continuity equation on staggered grid (physical space).
Defining
)(21
)(21
1,1,,
1,1,,
++
++
+=
+=
iyiiyijy
ixiixijx
nsnsFL
nsnsFL (3.53)
The above equation can be written
∑∑∫ ∗∗∗ +=⋅4
1,,
4
1jjjyjjjxcell
hvFLhuFLdsnuh rv (3.54)
The algebraic equation system for solving the surface correct equation would be
sn
SsSn
NsNn
WsWn
EsEn
PsP tFAAAAA ∆=′+′+′+′+′ +++++ 11111 ηηηηη (3.55)
where
)( 2
2
9,7,3,12
22
4
1,,
4
1 yS
xStghhvFLhuFLF mm
jjjyjjjxs ∂∂
+∂
∂∆+−−= ∑∑∑ ∗∗ (3.56)
CCHE2D Documentation 45
)(
)(
)(
)(
1)(
28
2
28
22
22
2
22
22
24
2
24
22
26
2
26
22
25
2
25
22
yS
xStghA
yS
xStghA
yS
xStghA
yS
xStghA
yS
xStghA
sS
sN
sW
sE
sP
∂∂
+∂∂
∆−=
∂∂
+∂∂
∆−=
∂∂
+∂∂
∆−=
∂∂
+∂∂
∆−=
+∂∂
+∂∂
∆−=
(3.57)
It can be seen that the terms on the primary mesh lines are on the left hand side of the
equation and those on the vertices of the element are placed on the right hand side.
Iterations therefore are needed to solve the equation implicitly. Since the algebraic
equation systems for u, v and surface correction are of the same form, the same solver can
be applied to solving these variables. As aforementioned, five diagonal Stone’s method is
used for solving all these equations. The following figure (3.9) shows the configuration
of the five-diagonal matrix. Stone’s method is good in convergence speed, and it is
memory efficient. The disadvantage of this method is that it is only suitable for structured
grid because the equation matrix of unstructured mesh cannot be arranged to this
configuration. One has to assign special values for the coefficients if dry nodes or
structures exist in the domain.
CCHE2D Documentation 46
Figure 3.9. Matrix configuration of Stone’s method with five-diagonals (After Ferziger
and Peric, 1997)
3.10. Boundary conditions
At the walls (banks) and inlet and outlet boundaries, physical boundary conditions have
to be specified. For momentum equations, velocity components at the boundary sections
are given, for the surface correction equation, the corrections along the boundaries are set
to be zero when the equation is solved. If ‘W’ represents the boundary node, and φ
represents the variable u, v, k, ε, or η′ , the equation at the nodes adjacent to the boundary
is changed to : n
WWnSS
nNN
nEE
nPP ASourceAAAA φφφφφ −=+++ ++++ 1111 (3.58)
Source is the source term of the equation and the coefficient for the ‘W’ node is set to
zero.
0=WA (3.59)
CCHE2D Documentation 47
Chapter 4
Upwinding Scheme
Introduction
It is now generally agreed, that in order to avoid node to node oscillation in the numerical
solution the convective terms in the equation (2.1a) and (2.1b) need to be computed in the
way that the upstream information of the flow are emphasized to a degree corresponding
to the strength of the convection. A special convective interpolation function is designed
for this purpose:
⎥⎦
⎤⎢⎣
⎡
++
−+⎟⎟⎠
⎞⎜⎜⎝
⎛++
−−−= −
1R1RTT
1R1R
1eee2T21c
00
0ppp1
eee
ξξ
ξξξ )()(
)( (4.1a)
312 cc1c −−= (4.1b)
⎥⎦
⎤⎢⎣
⎡
+−
−+⎟⎟⎠
⎞⎜⎜⎝
⎛+−
−−−= −
1R1RTT
1R1R
1eee2T21c
00
0ppp3
eee
ξξ
ξξξ )()(
)( (4.1c)
where: oeee ppp e2eeT ξ−+= − (4.2a)
TeeR ee pp /)( −= (4.2b)
(4.2c) tce vup /=
CCHE2D Documentation 48
and, oξ is defined by equation (3.6). This interpolation function is obtained by
analytically solving the convection-diffusion equation in one-dimensional local space:
cddv
ddu 2
2
tc =−ξφ
ξφ (4.3)
where: is the fluid velocity in the local direction, cu φ is a general quantity being
transported, and c is a constant. This interpolation function takes the importance of the
upstream information into account and is called “convective interpolation function”.
Figure 4.1 shows the behavior of this function with varying values of Peclet number. It is
seen that the function becomes more and more asymmetric when convection grows
against the diffusion. This flexible feature enables us to simulate a variety of open
channel flows. It should be mentioned that when (4.3) is applied to the momentum
equations, the convective terms in the momentum equations are linearized at each time
step.
Figure 4.1 Convective interpolation function ( 0o=ξ ).
Derivative operators for the convective terms may be calculated by
∑∑ ∂∂
=∂∂
∂∂
=∂∂ 33
,ηηξξ
ii cc (4.4)
CCHE2D Documentation 49
in a local space. Because the equation is for one dimensional, it has to be applied to both
ξ and η directions locally when it is applied to the two dimensional model. The procedure
for using this convective interpolation function is to calculate the first order derivatives in
the local space, and transform them to the physical space then. Velocity components in
the local coordinates are calculated by using the velocity components u and v in Cartesian
coordinate:
)v.cosu.(sinD1u
cξξξ θθ −= (4.5a)
)v.cosu.sin(D1u
cηηη θθ −−= (4.5b)
ηξξη θθθθ sincossincosDc −= (4.5c)
This set of equations is obtained from the vector projection equations along local
coordinates (mesh lines) to the x-y coordinates:
ξξηη θθ cosucosuu += (4.6a)
ξξηη θθ sinusinuv += (4.6b)
After the convective operators in both ξ and η directions are computed, the derivatives
in the physical space ( yx ∂∂∂∂ /,/ ) are obtained by using equation (3.9). Figure 4.2
illustrated these transformations.
ξθ
ξθy
x
η
ξ
Figure 4.2 Definition sketch of angles ξθ and ηθ .
CCHE2D Documentation 50
Another upwinding scheme developed for the CCHE models is based on the concept of
physical boundedness. This concept is briefly discussed as follows. For a one-
dimensional, unsteady transport problem
0=∂∂
+∂∂
xu
tφφ (4.7)
Figure 4.3 depicts the transport of the scalar φ in x direction with a constant velocity u. If
the equation is descritized, and algebraic equations are solved, the derivative in terms of x
has to be evaluated at each node (Figure 4.4). The boundedness is defined that value at
the central node should not exceed the value of its upstream node if the local distribution
of φ is of monotonic. This constrain is physically true if the Coruant number
C=u∆t/∆x<=1, because monotonisity is only guaranteed within the element. For
example, the value at node i of the left element increase in time, it can not exceed the
upstream value at node i-1; the value at node i of the right side element decrease in time,
its value can not be lower then the upstream value at node i-1.
x
φ a.
u
i+1 i-1 i
u n n+1
n+1 n
0/ ≥∂∂ xφ 0/ <∂∂ xφ i+1i-1 i
b. c.
Figure 4.4 Unsteady transport and monotonic boundedness
CCHE2D Documentation 51
The forward differencing (Euler) scheme of the transport equation reads
xu
t
ni
ni
∂∂
−=∆−+ φφφ 1
(4.8)
The spatial differencing has not been performed at this moment because it is assumed
non-oscillatory and is unknown. Rearrange and subtract the upstream nodal value
from both sides
ni 1−φ
ini
ni
ni
ni x
tu∂∂
∆−−=− −−+ φφφφφ 11
1 (4.9)
It is not difficult to find the following relations from Figure 4.3
0,0
0,0
11
11
>∂∂
<−
≤∂∂
≥−
−+
−+
i
ni
ni
i
ni
ni
x
xφφφ
φφφ (4.10)
The interpretation of Figure 4.3 and the above inequality is that the nodal value at i is
bounded by that of its upstream node. From this constrain we have
0,0111 ≤
∂∂
≥∂∂
∆−−=− −−+
ii
ni
ni
ni
ni xx
tu φφφφφφ (4.11)
or
CCHE2D Documentation 52
ini
ni
ni
ni
ni
ni
xtuF
∂∂
−∆
≥−−
=−+−+
− φφφφφ
φφ
1111
1 (4.12)
Because F is normalized by which has the same sign as ni
ni 11 −+ − φφ x∂∂ /φ for monotonic
distribution, this inequality actually includes both cases for 0/ ≥∂∂ and xφ 0/ ≤∂∂ xφ .
Finally
⎥⎦⎤
⎢⎣⎡
∂∂
=∆−
≤∂∂ −+
xCF
xCF
x
ni
ni
i
φφφφ 22
2 11 (4.13)
The [ x∂∂ /φ ] in this case is the central differencing derivative. To summarize, the
scheme actually applied to the model reads
xx
xJ
xii
∆−
=⎥⎦⎤
⎢⎣⎡
∂∂
⎥⎦⎤
⎢⎣⎡
∂∂
=∂∂
−+
211 φφφ
φφ
(4.14)
The computed derivative ([ x∂∂ /φ ]) in this case is central difference, the left hand side is
the non-oscillatory derivative, and J is the multiplier that ensures the monotonic
boundedness. Where
5.01
5.001,2min
00
>=
≤≤⎥⎦⎤
⎢⎣⎡=
<=
FJ
FCFJ
FJ
(4.15)
CCHE2D Documentation 53
The scheme does not treat the peak of a distribution, therefore the reduction of peak value
in the transport process simulation is expected. The peak reduction rate however depends
on the method to evaluate [ x∂∂ /φ ] and time step. The following figure (4.5) shows
comparison of central differencing and the monotonic upstream boundedness scheme.
Figure 4.5 Comparison of MUBS scheme and central difference scheme
The two-step Runge-Kutta scheme was used for explicit time marching. It can be seen
the MUBS effectively eliminated oscillation from the central differencing scheme, and
the peak reduction is related to the Courant number. When Courant number is 0.1, the
peak is preserved as good as the central differencing scheme. If one would like to have
better results of the peak, a higher order scheme for computing [ x∂∂ /φ ] is needed. The
following figure shows the results when central differencing is replaced by QUICK
scheme: the peak preservation in this case is improved. When Courant number is 0.1,
MUBS preserved the peak the same as QUICK, when Courant number is 0.5, some peak
reduction increases. The overall accuracy increase is due to QUICK over CD.
CCHE2D Documentation 54
Figure 4.6. Comparison of MUBS scheme and QUICK scheme.
A procedure for computing and applying the convective
operators
The convective interpolation operators have been introduced for computing first order
derivatives of convective/advective terms in the transport or momentum equations. The
procedure of applying these operators is detailed in the following.
i. Applying equation (4.4) to calculate and by using the solutions at previous
time step or initial guess;
ξu ηu
ii. Applying equation (4.4) to calculate local convective operators ξ∂∂ / and
η∂∂ / in ξ and η directions;
CCHE2D Documentation 55
Because the Peclet number (4.1f) is usually very large, the convective operator calculated
would thus be close to the backward differencing upwinding, generating artificial
diffusion. By using a limiting scheme:
0fvu
Pt
e <= ξ (4.6a)
0f)vu
arctan(Pt
e ≥= ξ (4.6b)
the value of the Peclet number actually used can be significantly reduced. The parameter
f given by ))((foo 11 ξξ φφφφ −−= − tells if the variable φ (uξ and uη in this case) in the
transport direction is monotonic ( ) or otherwise. Stronger upwinding is applied
only if
0f ≥
φ is non-monotonic in the element ( 0f < ). Since 2/)xarctan( π≤ , the
effective Peclet number is small and artificial diffusion introduced is mild for monotonic
cases, therefore the numerical dissipation in the smooth final solution is within a
reasonable range. There are four convection terms in the momentum equations (2.1a),
(2.1b): , , x/uu ∂∂ y/uv ∂∂ x/vu ∂∂ , and y/vv ∂∂ . The two sets of convective operators
are applied to u and v convective terms. Each set of operator is used for calculating two
terms ( is for and x/ ∂∂ x/u ∂∂ x/v ∂∂ ; and y/ ∂∂ is for y/u ∂∂ and ), the Peclet
number in that direction is determined after checking monotonicity for both variables.
y/v ∂∂
iii. Applying equation (3.9) to calculate convective terms in physical space.
CCHE2D Documentation 56
Chapter 5
Boundary and Initial Conditions
5.1. Introduction
The hydrodynamic model uses the essential boundary conditions, velocity vectors are
specified along inlet(s), outlet(s) and wall boundaries and water surface elevation are
needed to be specified along the computational domain. Three boundary types, inlet,
outlet and solid walls are of the most importance, and they are discussed separately.
5.2. Inlet Boundary
At the inlet cross sections, the velocities are determined in two ways. The user is allowed
to specify either the discharge per unit width, , at each node across the inlet cross-
section, or the total discharge, Q which is distributed automatically in the inlet sections as
unit discrarges. In both cases, the unit discharge are then converted to the velocity
components along the cross-section.
iq
Case a: Prescribed specific discharge qi
The magnitude of velocity along the cross section is calculated by
i
ii h
qu = (5.1)
where i denotes the i-th node at the inlet section. The advantage of this approach is that
the distribution of can be very flexible. iq
CCHE2D Documentation 57
Case b: Specifying total discharge Q
The total discharge is distributed along the section according to the local conveyance
i
ii n
hKq
35
= (5.2)
where K is a constant to be determined and is the Manning’s coefficient. Since the
total discharge satisfies:
in
∫ ∑∫ ∆≈== ii i
i sn
hKdsn
hKqdsQ3/53/5
(5.3)
therefore, K can be determined:
ii i
i sn
hQK
∆=
∑3/5 (5.4)
The specific discharge is thus calculated by (5.2). In cases when the user gives the
roughness height, the Strickler’s law calculates the equivalent Manning’s coefficient, as:
iq
Akn s
61
= (5.5)
A is the empirical parameter in the range of 18~24. If needed one could one could adjust
the distributions of qi by changing that of ni in an inlet section.
Case c: Prescribing the flow velocity that is not normal to the inlet cross-section In addition to prescribing the discharges, the users may specify direction of the velocity
vectors at the inlet cross section. Users only need to give the angle of the velocity in the
input data file or use the Graphic User Interface. The angle of velocity is defined in the
following figure:
nv
uv Γ
α
Figure 5.1 Definition of velocity angle at inlet section.
CCHE2D Documentation 58
In this figure, Γ is the curved inlet section, α is the angle between the velocity vector uv
and the unit vector normal to the inlet. α is zero if uv and nv are parallel. It is positive if
from to u is counter-clockwise; it is negative if from nnv v v to uv is clockwise. The α in
this figure is positive according to the rule. A limitation is set in the model that confines
the angle to be in the range of 45o: o45≤α (5.6)
It should be aware that for a given discharge the net inflow discharge would be reduced if
the flow is not normal to the boundary line.
Case d: Prescribing a hydrograph Q(t) When unsteady flow is studied, the discharge at the inlet is a function of time, Q(t). In
this case the total discharge Q(t) is substituted into equation (5.3) to replace Q, and the
velocities obtained according to (5.2) and (5.1) are calculated as the time dependent
upstream boundary condition.
Two options are available for users to input Q(t):
I. Digitized hydrograph (irregular, multi-peak floods)
The option allows users to input any data set of the form:
t1 Q1
t2 Q2
.....
ti Qi
...
tn Qn
where: Qi is the total discharge data at time ti. It can be seen that the hydrograph specified
this way can be arbitrary in shape.
II. Hydrograph formula (Gama function, single flood event)
This option allow users to specify one hydrograph in terms of an analytical function
given by Ponce and Theurer (1982):
CCHE2D Documentation 59
startbase ttQtQ ≤=)( (5.7a)
startbasetmm
hbasepeak ttQetQQtQ h >+−= − ))1(()()( (5.7b)
where:
startpeak
starth tt
ttt
−−
= (5.7c)
and and are base and peak flow discharges, respectively, t is time and m is a
parameter to control the shape of the hydrograph (Figure 5.2). Only one single peak
hydrograph is possible for users to apply in the current version. However, the technique
can be easily modified to allow the specification of a linear combination of multiple
hydrographs.
baseQ peakQ
Figure 5.2 Hydrograph computed using equation (5.7b).
Case e: Specifying water surface elevation The water surface elevation along the inlet section is updated in such a way that the
following equation is satisfied:
02
2
=∂∂nη (5.8)
That is to say the water surface slope normal to the inlet section is constant.
CCHE2D Documentation 60
5.3. Outlet Boundary
Case a: Constant water surface elevation For all applications seeking for steady state solutions, the water surface elevation along
the outlet section are usually set to be a constant value across the section, that is
constant=η .
Case b: Free surface elevation When unsteady flow (flood propagation) is simulated, the aforementioned constant
surface elevation would not be a good boundary condition. In this case, the surface
elevation is calculated by using the kinematics condition
0=∂∂
+∂∂
nhc
th (5.9a)
where
ghc = (5.9b)
is the celerity. Considering that the bed change (if any) is much slower than that of the
surface, and projecting slope vectors to the longitudinal direction of the outlet, the
equation (5.9) becomes
0=⎥⎦
⎤⎢⎣
⎡⋅⎟⎟
⎠
⎞⎜⎜⎝
⎛∂∂
−∂∂
+⋅⎟⎠⎞
⎜⎝⎛
∂∂
−∂∂
+∂∂
yx nyy
nxx
ct
ζηζηη (5.10)
where and are components of the outwards unit vectors normal to the boundary.
To prevent the problem when the outlet has rough bed form, the bed slopes in the
equation (5.10) are of the averaged ones of wet bed across the outlet section. Averaged
new
xn yn
η is applied to all nodes at the outlet section.
Case c: Outlet boundary condition for velocity To determine the velocity at the outlet boundary, conservation of mass should be
preserved. The velocity along the section is specified in such a way that at each node the
velocity has the same direction as that of its adjacent inner node; and similarly the fluid
CCHE2D Documentation 61
flux controlled by this node is the same as that of its adjacent interior node. Figure 5.3
demonstrates these boundary conditions.
Let and U be the magnitude of the velocity vectors at a outlet node and its adjacent
interior node, respectively, and according to the flux condition, one can find easily:
outU
αδβδ
sinhsinhUU
outout
1
2= (5.11)
where h and are the water depth at the interior and boundary node, respectively. The
resultant velocity magnitude is decomposed into components in the directions of those at
their corresponding interior node:
outh
UuUu outout = (5.12a)
UvUv outout = (5.12b)
Alternatively one may wish to specify the direction of velocity along the outlet section.
nv
uv
Γ
α
Figure 5.3 Definition for calculating boundary velocity at outlet section.
CCHE2D Documentation 62
5.4. Solid Wall Boundary
Velocity components on the solid walls can be assigned in different ways to represent
non-slip, partial slip and total slip boundary conditions, In the current version, the wall
velocity boundary conditions are specified explicitly, they are updated between time
steps.
5.4.1. Slipness determined boundary velocity
In many situations, especially when nature river flows are concerned, the mesh size used
in computations are relatively large, and the velocity near the boundary (wall or bank) are
not certain. The velocity on the wall can be determined by an empirical parameter:
slipness which empirically determines the velocity on the boundary depending on the
internal velocity adjacent to the boundary. This parameter can determine for the non-slip,
partial slip and total slip boundary conditions simply by
10|| ≤≤= wallinnerwallwall CuCu vv (5.13)
where is the slip velocity on the wall, is a coefficient to adjust slipness, and walluv wallC
||inneruv is the velocity component parallel to the boundary at the adjacent inner node. This
component is calculated by:
innerinner unu vv ⋅= |||| (5.14a)
and ||||
inner||wall nuu vv ⋅= (5.14b)
where is the unit vector tangential to the wall. As can be seen, the boundary slipness
can be controlled by simply changing this coefficient .
||nv
wallC
5.4.2. Law of the wall
Besides the slipness adjustment approach, the logarithmic law of the wall can also be
used to provide more accurate wall effect simulations, although this approach require fine
grid in the near wall region. The method to enforce the boundary condition is to specify
CCHE2D Documentation 63
the velocity on the wall so that the first and second order velocity derivatives normal to
the wall satisfy the log law. In general, the log law reads
⎟⎟⎠
⎞⎜⎜⎝
⎛=
oyyln
uu
κ1
*
(5.15)
The first and second derivatives of the velocity in terms of y (normal to the wall) are
yu
dydu
κ*= (5.16a)
2*
2
2
yu
dyud
κ−= (5.16b)
In the near wall region, for the first computational node away from the wall, y is the
distance from the wall and numerically we have : ydy = and . 22 ydy =
1u
2u
0u
Figure 5.4. Calculation of velocity on the wall that satisfies the law of the wall.
yu
dydu
κ*=
2*
2
2
yu
dyud
κ−=
dy
dy
According to the finite difference operators:
CCHE2D Documentation 64
)uu(ydy
du022
1−
∆= (5.17a)
)uuu(ydy
ud01222
2
21+−
∆= (5.17b)
the above derivatives become (in case of equal spacing grid as shown in the Figure (5.2))
κ*
02 )(21 uuudu =−= (5.18a)
κ*
012 )2( uuuudu −=+−= (5.18b)
Solving with these two difference equations (eliminate ) we have ou 2u
κ*
ouuu
23
1 −= (5.19)
where: is the slip velocity magnitude on the solid wall, and is the parallel
component of velocity at
ou 1u
dyy = equivalent to ||inneruv in equation (5.14a). This boundary
condition makes equation (5.15) satisfied for the near wall region. is obtained solving
equation (5.15) iteratively. It should be noted that log law has to be applied close to the
wall, in the region (Nezu and Rodi, 1986). Otherwise, the
induced velocity on the wall would only mean some slipness without solid physical
justification.
*u
30030 ≤=≤ + v/yuy *
5.4.3. Water Surface Elevation
Along solid walls, the water surface boundary condition is usually given such that
0=∂∂
nη (5.20)
CCHE2D Documentation 65
Physically, the condition may be interpreted as no pressure gradients normal to the wall.
This version of CCHE2D solves free surface correction terms, it is therefore not
necessary to provide boundary condition when the surface correction equation is solved.
The velocity components along the boundaries don’t need correction, the correction along
the boundaries are assigned to be zero in the iteration process.
0=′boundaries
η (5.21)
5.5. Boundary Condition for k-ε Model
k-ε model solves transport equations, inlet, outlet and wall boundary conditions are all
needed. The depth-integrated formulas for estimating turbulent velocities by Nazu and
Nakagawa (1996) are used to compute the turbulence energy:
)(21 222 wvuk ′+′+′= (5.22)
)exp(27.1
)exp(63.1
)exp(30.2
ς
ς
ς
−=′
−=′
−=′
∗
∗
∗
uwuvuu
(5.23)
Equation (5.23) was developed and validated for uniform flow in open channel flow
without the wall effect. The turbulent velocities in eq. (5.23) are time-averaged quantities
and those in eq. (5.22) are depth-averaged values. ς is the relative depth from channel
bed. Since the eddy viscosity for uniform flow is computed by
CCHE2D Documentation 66
huvt ∗= κ61 (5.24)
The ε value for the inlet boundary can then be calculated by using the definition of eddy
viscosity (2.15).
There different ways to estimate the boundary values of k and ε, an alternative for this
boundary condition is to compute ε by using the solution of the k equation under uniform
flow condition:
kVP=ε (5.25)
where PkV is turbulence energy production due to bed shear, defined in equation (2,13).
The k value for the inlet boundary can then be calculated by using the definition of eddy
viscosity (2.15).
Along the outlet section(s) the zero gradient boundary condition is applied:
0
0
=∂∂
=∂∂
n
nk
ε (5.26)
Along the solid walls, the boundary values for k and ε equations are specified assuming
the first node adjacent to the wall is in the zone where velocity law of the wall is satisfied
and the turbulence production and dissipation is balanced.
yu
cuk
κε
µ
3
2
∗
∗
=
=
(5.27)
where u* is the shear velocity and y is the normal distance between the wall and the first
node adjacent to the wall. Since the boundary condition is specified at this node, solutions
of k and ε equations would start from the second node.
CCHE2D Documentation 67
5.6. Initial Conditions
Initial values for all the flow variables u, v, and η are necessary for starting a simulation.
The CCHE2D model can either assign values to these variables or use previous solution
as the initial condition depending on how the simulation is started.
Cold start When there is no information of the flow field available, the model can be run with an
assigned zero velocity field, and a constant water surface elevation. With the given steady
state boundary conditions, the model can reach to a steady state solution which may be
used later on as the initial condition when the boundary conditions are changed to
unsteady state. Cold start can be used whenever the user has established a new simulation
case. In most cases, the cold start is only needed for once.
Users can assign water surface elevation with a slope to speed up the convergence for
steady state solution in case of simulating flows in river channels. It is not necessary that
the initial water surface must be higher than the bed in the entire computation domain,
initial dry areas are allowed. Part of the inlet and outlet sections has to be wet, so that the
in and outlet boundary conditions can apply, however.
Hot start A hot start mean that the model starts with an initial condition resulted from a previous
run and continues to simulate the subsequent flow variations. This option can be used for
both steady and unsteady flow simulations.
Convergence
The convergence process of a simulation is monitored by watching the variations of the
increments of the computed flow variables u, v, and h.
CCHE2D Documentation 68
U
]v,umax[Maxwholefield∆∆
= (5.28)
h
Maxwholefield
η∆= (5.29)
Convergence is reached if these two maximum increments of velocity component and
water surface for the whole flow field approaching to tolerances. For unsteady flow
simulation, however, these increments shall vary according to the time dependent
boundary conditions. Reasonable initial condition is advisable in this case. It should be
mentioned when there many dry nodes are present in the computational domain, these
increments would not decrease to very small values because of the on-off of the dry
nodes produces some numerical noise. However, the convergence of the main flow would
not be affected.
CCHE2D Documentation 69
Chapter 6
Sediment Transport and Bed Change
Simulation
6.1. Introduction
Sediment transport modeling in the current version of the CCHE2D model is based on
equilibrium bed load transport of uniform materials. Non-uniform sediment, non-
equilibrium transport, and the suspended transport shall be added in later versions. Bed
form change due to bed load transport can also be calculated and the influence of the
secondary flow on the sediment motion in curved channel has also been considered.
6.2. Bed Load Formula
The bed load transport formula developed by van Rijn (1993) is adopted,
1.23.0*
5.150
5.0
1053.0 TDdgq sb
−⎥⎦
⎤⎢⎣
⎡⎟⎟⎠
⎞⎜⎜⎝
⎛−=
ρρ
(6.1a)
where
31
250 1 ⎥⎦⎤
⎢⎣⎡ −=
vg)s(dD* (6.1b)
cr
crTτ
ττ −= (6.1c)
CCHE2D Documentation 70
ρρ /ss = (6.1d)
crscr gd θρρτ 50)( −= (6.1e)
and when is the parameter, T is the bed shear stress parameter, s is the ratio of the
density of the sediment to that of the water, and
*D
crτ is critical shear stress according to
Shields .
The critical shear stress is calculated according Yalin’s suggestion (1972) which
modified the Shields curve:
4124.0 *1
* ≤<= − DforDcrθ (6.2a)
10414.0 *64.0
* ≤<= − DforDcrθ (6.2b)
201004.0 *10.0
* ≤<= − DforDcrθ (6.2c)
150200130 290 ≤<= *.
*cr DforD.θ (6.2d)
1500550 >= *cr Dfor.θ (6.2e)
The shear stress τ in this formula is evaluated from
[ 2'/ Cugρτ = ] (6.3)
where
)d/hln(.'C 9031287= (6.4)
and where is the Chezy’s coefficient due to particle friction. Bed load at solid
walls and out let boundaries satisfies the condition
'C bq
0=∂∂
nqb (6.5)
CCHE2D Documentation 71
and at the inlet boundary, one requires to prescribe ttanconsqb = .
6.3. Correction to the Critical Shear Stress
Due to channel bed slope, the gravity of the sediment will take part in determining the
sediment incipient motion, the critical shear stress obtained from flat bed assumptions has
to be corrected according to the slope angles in the streamwise and transversal direction.
Streamwise direction is defined as the flow direction and transversal is defined as that
perpendicular to the streamwise direction. According to van Rijn (1990), the coefficient
for streamwise slope correction is
φβφ
sin)sin(
k 11−
= (6.6a)
φβφ
sin)sin(
k 11+
= (6.6b)
where: φ is the repose angle of bed material and 1β is the bed slope angle in the
streamwise direction (main flow direction). The equations (6.6a) and (6.6b) are used for
downsloping and upsloping flows, respectively.
For sideway bed sloping, the correction coefficient is
50
22
2
22 1.
tantan
cosk⎥⎥⎦
⎤
⎢⎢⎣
⎡⎟⎟⎠
⎞⎜⎜⎝
⎛−=
φβ
β (6.7)
where 2β is the bed slope angle in the sideward direction (normal to flow). Combining
both streamwise and transversal correction coefficient obtain the final result:
fcrcr kk ,21 ττ = (6.8)
or equivalently
fcrcr kk ,21 θθ = (6.9)
CCHE2D Documentation 72
6.4. Bed Load Motion Affected by Transversal Slope
On a bed with transversal slope, the bed load motion is different from that with
streamwise slope only. The particle path of motion is affected by main flow shear,
streamwise slope as well as by the gravity component on the transversal direction. Van
Bendegom’s formula (see Talmon, et al, 1995) is applied to calculate the angle ϕ of the
sediment particle’s motion due to the bed slope and is given by
xG
yG
∂∂
−
∂∂
−= ζα
ζαϕ 1cos
1sintan (6.10)
Where
θθ 71.)(fG == (6.10a)
and α is the angle between the flow direction and the x-axis of the Cartesian coordinate
system; and θ is the Sheilds parameter:
50
2
1 dg
u
s
*
⎟⎟⎠
⎞⎜⎜⎝
⎛−
=
ρρ
θ (6.11)
The expression of the G function and the coefficient are determined using the laboratory
experimental data (Talmon, et al, 1995). Bed slope components x∂∂ /ζ and y∂∂ /ζ in
the equation (6.10) computed by the finite element operators.
6.5. Bed Load Motion Affected by Secondary Flow
Natural river channels usually have curved meandering patterns. When water flows along
a curved channel with varying curvatures, secondary current would occur due to the
centrifugal force. The secondary flow is towards the outer bank of a meander bend in the
upper portion of the flow depth, and it is towards the inner bank in the lower portion of
the flow. It therefore contributes to moving the sediment in the transversal direction from
the outer bank towards to the inner bank of the channel systematically making the
CCHE2D Documentation 73
channel more and more curved, the flow is in turn affected by the bed topography and the
channel pattern produced by the secondary flow. It is impractical to simulate the bed load
and bed form change in curved channels without considering this process.
However, because the depth integrated model has no information about the secondary
current, empirical or semi-analytical estimation of the secondary flow has to be used in
order to predict the bed load motion in the curved channel. The most significant
parameter of this problem is the angle between main flow direction and that of the shear
stress near the bed. In the current model, this angle is approximated by (Engelund, 1974)
rhtan 7=δ (6.12)
Where r is the radius of curvature of longitudinal mesh line ( θd/dsr = ). The error of
this formula is about 3% according to Engelund (1974). The Figure (6.1) shows the
motion of a particle on the bed. The gravity pushes the moving particle to move down the
transversal slope β with an angle ϕ as estimated by the equation (6.10) and in the
curved channel, the secondary flow tends to move it against the transversal slope by an
angle δ . Equilibrium shall be reached when these two effects cancel each other, and the
sediment particles then move along the main flow direction which is the longitudinal
direction.
Particle path δ ϕ
β
Main
Shear
Figure 6.1 Bed load motion affected by the secondary flow and the gravity.
CCHE2D Documentation 74
6.6. Bed Form Change Due to Gravity
In nature, the bed slope angle is limited by the submerged repose angle, if the bed
materials are loose sediment. If the angle happens to be larger than the repose angle,
sediment would slide towards the bottom of the slope till the condition, that bed slope
angle is less than the submerged repose angle, is satisfied. This mechanism is included in
the CCHE2D model.
It is assumed that the maximum angle of bed slope should be less than or equal to that
of the submerged repose angle
bS
φ :
φζζ tan22
≤⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
+⎟⎠⎞
⎜⎝⎛
∂∂
=yx
Sb (6.13)
If the bed slope is larger than the repose angle, the local bed elevation in an element is
adjusted according to
( ) 9,,1K=−+= ik oldoldi
oldi ζζζζ (6.14)
where
∑=− 9
191
iζζ (6.14a)
is the average bed elevation of an element, the superscript ‘old’ denotes the previous
solution. k = coefficient (0.95 is used currently). The mass conservation of bed change
introduced by this process simulation is preserved: one can find that the average bed
elevations before and after the adjustment are equal:
∑∑ =9
1
9
1
oldii ζζ (6.15)
6.7. Bed Morphological Change Due to Bed Load
Transport
CCHE2D Documentation 75
The direct consequence of bed materials’ movement is bed morphological change. Bed
morphological change is computed with the sediment continuity equation:
⎟⎟⎠
⎞⎜⎜⎝
⎛∂
∂+
∂∂
−=
∂∂
yq
xq
ptyx
)1(1ζ (6.16)
where p is porosity of bed material, ζ is bed elevation. Because this is a linear equation,
Euler scheme is used for time integration of ζ . It is found that the convective derivative
operator can in general significantly eliminate the numerical oscillations on bed surface.
Convective operators are therefore applied to calculate the spatial derivatives of the bed
load in (6.16). However, when the secondary flow effect is considered in the case of bed
change simulation in meandering channels, one has to consider the consistency of the
velocity components and the shear stress components. Because the secondary flow is
about one order of magnitude less than that of the main flow, the direction of the shear
stress near the bed has only little difference from that of the velocity. Figure 6.2 indicates
that in a meander bend the velocity and shear stress components in the transversal
direction may have opposite sign ( ) and 0>yu 0<yτ ), because the main flow is towards
to the outerbank while the secondary flow near the bed is towards to the inner bank. At
places like this the convective operator would induce problems to equation (6.16) if the
flow velocity uy is used to compute the convective operator in y direction, because uy has
an opposite sign to the real transport direction represented by τy.
x
y
u
τyτ
yu
Figure 6.2 Situation where component of velocity and shear stress have opposite
direction due to the secondary flow.
CCHE2D Documentation 76
When this is detected, the convective operator is switched avoid the conflict of transport
direction and local oscillation.
Along all boundaries (inlet, outlet and walls), a zero gradient boundary condition is
applied.
0=∂∂
nζ (6.17)
n is the direction normal to the boundary. The time scale of flow variation is usually
much smaller than that of the morphological change. To speed up the bed or channel
change simulation for steady flow cases, the time scale for the bed change calculation is
made adjustable with a coefficient Λ .
t.tsd ∆Λ=∆ (6.18)
After the bed change has exceeds the limit of
020.h
maxdhh
≤∆
≥
ς (6.19)
avgh.hd ⋅≥ 20 (6.20)
the flow simulation is restarted to update the flow field with new bed form in the channel.
It can be seen that bed changes occurring at small water depth is ignored from the
scheme.
6.8. Suspended Sediment Transport Model
Suspended sediment transport in natural rivers, likes and estuaries is commonly seen, the
impact of the suspended sediment on reservoirs and water quality in the river system is
significant. This version of CCHE2D model includes the capability of simulating
suspended sediment transport. The depth-integrated convection diffusion for the
suspended sediment is solved.
CCHE2D Documentation 77
Syc
yxc
xycv
xcu
tc
tt =∂∂
∂∂
−∂∂
∂∂
−∂∂
+∂∂
+∂∂ ][][ βνβν (6.21)
where c is the depth-integrated sediment concentration, u and v are flow velocity
components, β is the coefficient to convert the turbulence eddy viscosity to eddy
diffusivity for sediment. The source term S represents the local balance of suspension
and deposition:
)(1
atas z
cch
S∂∂
+−= βνω (6.22)
where ca is the sediment concentration near the bed surface with a reference height a. ωs
is the fall velocity. This source term cannot be used directly because it includes a term
that is related to the vertical distribution near the bed. By assuming the Rose profile for
the suspended sediment is valid and under steady condition, one can calculate the
relationship between the depth averaged concentration and concentration near the bed at
level a:
aFcc = (6.23)
and
eae Fcc ,= (6.24)
for equilibrium condition. Under equilibrium condition, equation (6.22) can be changed
to
0)(1,
, =∂∂
+−=ea
teas zcc
hS βνω (6.25)
Assuming that
at
eat z
czc
∂∂
≈∂∂ βνβν
,
(6.26)
equation (6.22) becomes
)()(1,, eaa
seasas cc
hcc
hS −−=−−=
ωωω (6.27)
Considering equation (6.23) and (6.24) one has
)( es cc
hFS −−=
ω (6.28)
CCHE2D Documentation 78
According to van Rjin (1993)
)2.1()1(
)()( 2.1
zha
ha
ha
Fz
z
′−−
−=
′
′
(6.29)
where
ψ+=′ zz (6.30)
c
s
Uz
,∗
=βκ
ω (6.31)
4.0
0
8.0
,
)()(5.2cc
Ua
c
s
∗
=ωψ (6.32)
The approach allows one to simulate unsteady, non-equilibrium process of sediment
transport.
The procedure to solve this convection diffusion equation is the same as that for k-ε
model, and algebraic equation reads
εεεεεε tFccAcAcAcAcA nP
nSS
nNN
nWW
nEE
nPP ∆+=++++ +++++ 11111 (6.33)
where the source terms and the coefficients are as follows:
easmm
tmm
t
mcmmcmc
chFy
cNx
cN
ycCv
xcCuF
.9,7,3,1
2
2
9,7,3,12
2
9,7,3,19,7,3,1
ωβνβν +∂
∂+
∂∂
+∂
∂−
∂∂
−=
∑∑
∑∑ (6.34)
CCHE2D Documentation 79
)(
)(
)(
)(
1)(
28
2
28
288
22
2
22
222
24
2
24
244
26
2
26
266
25
2
25
255
yN
xN
yCv
xCuA
yN
xN
yCv
xCuA
yN
xN
yCv
xCuA
yN
xN
yCv
xCuA
hFyN
xN
yCv
xCuA
tcc
cS
tcc
cN
tcc
cW
tcc
cE
st
cccP
∂∂
+∂
∂−
∂∂
+∂
∂=
∂∂
+∂
∂−
∂∂
+∂
∂=
∂∂
+∂
∂−
∂∂
+∂
∂=
∂∂
+∂
∂−
∂∂
+∂
∂=
++∂
∂+
∂∂
−∂
∂+
∂∂
=
βν
βν
βν
βν
ωβν
(6.35)
It is noted the unknown concentration term is moved to the left hand side to enhance the
convergence and stability. The convective operators for the concentration transport have
to be computed for solving the equation.
CCHE2D Documentation 80
Chapter 7
Treatment of Moving Boundaries
Natural channel of rivers and streams are highly irregular in both plane form and
topography. In addition, with the rising and lowering of the water stage, the width of the
channel flow changes with time. The CCHE2D model based on the Efficient Element
Method has built in capability in handling these highly complex and dynamic flow
problems with moving boundary conditions. Usually the computational domain extends
outwards from the edges of the river flow at an average stage to both banks and islands to
cover additional areas, which may be wetted during certain flood(s) of users’ interest.
Obviously, the governing equations are only solved for the wet nodes. The important
problem of this method is to decide the water edge, which lines between the dry and the
wet nodes and forms the instantaneous computational boundary. This boundary has to
move with the water level. Near the water edge, the elements may be partially wet. A
criterion, , is used to divide these two types of nodes: 0>∆H
A node is considered dry if H∆ζη +≤
A node is considered wet if H∆ζη +>
For a dry node, the water surface elevation is allowed below the bed elevation. The value
of H∆ used in the past are in the range of providing good results. Users
can adjust this value to optimize their solution for a particular flow and boundary
conditions. The water surface elevation for the dry nodes neighbored by wet ones is
assigned by the average of the surface elevation of the wet ones. The flow velocity at dry
nodes is set to zero. The method allows us to simulate unsteady flows in complicated
topographic channels and there is no need to change the mesh from time to time. The
m05.0~m02.0
CCHE2D Documentation 81
number of dry elements can be quite large compared with the total number of elements.
Test cases have shown reasonable results when dry elements are more that 60% of the
total elements. Users, however, should make sure the number of nodes in any cross
section is sufficient to have realistic solution while reducing a lot of the wet area with
lowering water level. It is also advisable that bed form should be reasonably smooth in
the wet area when large dry area(s) appears. This is because when water surface elevation
is reduced, originally smooth bed topography becomes very rough comparing to the flow
depth.
This approximate approach is found to have acceptable accuracy, because the total area
covered by this type of elements (partially dry) is very small comparing to the
computational domain and the water is very shallow. The effects on the conservation of
mass and momentum are of negligible significance.
CCHE2D Documentation 82
Chapter 8
Program Logic and Data Flow
8.1. Introduction
In this chapter, the structure of the computational program and some major subroutines
are briefly described. Readers would learn how the computational code is organized as
well as the overall simulation procedure.
8.2. Flow Charts
Figure 8.1 shows the flow chart of the model. Only major structures and functionalities of
the program are demonstrated. It can be seen that the program has three major parts:
INITIALIZATION, HYDRODYNAMICS, and SEDIMENT TRANSPORT.
Main components of the first part, INITIALIZATION, are mesh or grid systems and
finite element operators’ initialization after data files are read. All the physical and
numerical parameters used in the model are provided for users and can be changed
according to the condition of the simulation. New runs will review the parameters used
for the last time as well, they will be used if no change has been made. In the CCHE2D
package, creating the grid and checking the parameter are achieved using a Graphic
User Interface, which makes the whole process very simple.
The time marching loop contains flow, water quality, and turbulence closure and
sediment transport simulation parts. It is clear the sequence of the flow chart includes
solving momentum equations and the continuity equation. Boundary condition has
symbolic meaning that it is applied to all involved processes. It doesn’t mean this module
CCHE2D Documentation 83
include boundary condition for all the simulated variables. All the calculations described
in the previous chapters are conducted sequentially, and the implicit Euler method is used
for both momentum and continuity equations.
Sediment transport part is activated when the option is chosen. The secondary flow effect
in meander channels is also optional. Time scale adjustment for the sediment transport
part is automatic, the time step would be increased when bed change is very slow and
would be reduced when bed change is too fast.
The purpose of showing this flow chart is to give readers an overview of the program.
Those who are interested in knowing more details about the model can refer to the report
CCHE-TR-01-2.
CCHE2D Documentation 84
Tim
e st
eppi
ng lo
op
End
Initialization
Boundary conditions
Solve momentum equations for provisional velocities
Solve surface correction equation
Correct velocity
Update surface elevation
Turbulence closures
Solve transport equations
Sediment transport simulation
Calculate bed topography change
Start
Figure 8.1 Flow chart of CCHE2D model
8.3. Subroutines and Their Functions
CCHE2D Documentation 85
Main program and subroutines of the model are listed as the followings:
CCHE2D Main program;
LGCSPINIT Initialize connectivity and the mesh;
SHAPEFNCTN Calculate 2D shape function and differential operators (local);
CHKINPUT Check input parameters;
ELMT2 Initialize globe differential operators and other transformation
variables;
UVSTR Calculate shear stress (log law);
CONVCT Calculate convective operator;
PFIPXY2D Calculate derivatives;
INITFL Initialize flow related variables for cold start;
READF44 Read in and outlet boundary condition and coordinates of non-
erodable nodes;
TWOD Specify boundary conditions and solve u and v;
CALCW Calculate water surface (continuity equation);
POINTVLU Write monitoring point solution values;
W32OR47 Write history and intermediate solution files;
RORWF42 Read start file and write final solution file;
DISCHARGE Calculate unsteady discharge using digitized hydrograph;
DISGAMA Calculate unsteady discharge using formulated hydrograph (gama
function);
CURVRD Calculate radius of channel curvature;
WALLDIS Calculate distance from wall;
CRITCLSH Calculate critical shear stress;
BEDLOAD Calculate bed load;
TRNSBDLOAD Correct bed load direction adjustment due to
slope and secondary motion;
BEDCHANGE Calculate bed change;
FISLOPE Calculate bed slope;
CCHE2D Documentation 86
SUGGEST Run time information;
CCHE2D Documentation 87
Chapter 9
Conclusions
The CCHE2D model has been developed for simulating unsteady, turbulent, free surface
flows, sediment transport and morphological changes of alluvial streams.
In the developing processes, the model has been verified using analytical and numerical
(3D) solutions and many physical experimental data including subcritical and
supercritical flows, curved channel flows, near field flows around structures, and
sedimentation processes of aggradation/degradation and morphological changes of
meander rivers. Flood wave propagation in a natural stream has also been simulated.
These verification/validation results are reported in a separated documentation entitled
CCHE2D Model Verification Tests Documentation. This report summarized the
detailed modeling techniques, methodologies for solving the governing equations, and the
boundary conditions used for the model.
Experiences have shown that the CCHE2D model is efficient and capable of predicting
realistic flows approximately. It is a useful tool for hydraulic engineers to study flows,
sediment transport and morphological problems in alluvial streams. It may also be used to
perform parametric optimization simulations for achieving cost-effectiveness of hydraulic
structure designs and engineering project plan of stream stabilization with environmental,
ecological and other constrains. Users should be aware that the current state of the
technology for flow, sedimentation and morphological modeling has not reached its
maturity; therefore, CCHE is continuing to conduct research to refine, verify and enhance
the model’s accuracy and capability. The upgraded version shall be released in the near
future.
CCHE2D Documentation
References
Bell, R.G., and Sutherland, A.J. 1983, “Non-equilibrium bed load transport by steady