89
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

CCHE2D 3.0 Users' Manual

Embed Size (px)

Citation preview

Page 1: CCHE2D 3.0 Users' Manual

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

Page 2: CCHE2D 3.0 Users' Manual

CCHE2D Technical Report

ii

CCHE2D : Two-dimensional Hydrodynamic and

Sediment Transport Model for

Unsteady Open Channel Flows over Loose Bed

Version2.0

CCHE-TR-01-2

Project Director and Principle Investigator

Sam S.Y. Wang, Ph.D.

F.A.P. Barnard Distinguished Professor and Director

Center for Computational Hydroscience of Engineering

The University of Mississippi

University, MS 38677

Senior Investigator

Yafei Jia , Ph.D.

Research Associate Professor

Center for Computational Hydroscience of Engineering

The University of Mississippi

University, MS 38677

Page 3: CCHE2D 3.0 Users' Manual

Abstract

iii

Abstract

This report describes the depth-integrated two-dimensional hydrodynamic and sediment

transport model: CCHE2D. All the basic mathematics, numerical techniques, hydraulics

and sediment transport approaches are introduced. The model’s verifications and

capabilities are described in a separated report. The model can be used for steady and

unsteady near field and natural river flows and sediment transport studies for hydraulic

engineers. The Efficient Element Method (a special finite element method) is modified

and applied to discretize the governing equations. The continuity equation for surface

elevation is solved on a staggered grid, special velocity correction method is developed to

solve the equation system. Unsteady flow simulation is achieved by implicit scheme of

time marching. The dry area method is used to handle the moving boundary of the

unsteady flow. In addition to the two zero equation eddy viscosity models, a depth

averaged parabolic model and a depth averaged mixing length model, the depth-

integrated k-ε model is implemented and included in the version. Suspended sediment

transport is simulated by solving a convection-diffusion equation. Bed load transport

empirical functions are used to compute channel morphological changes with

considerations of the effects of bed slope and the secondary flow in curved channels.

Page 4: CCHE2D 3.0 Users' Manual

Table of Contents

4

Table of Contents

Title Page No.

Chapter 1 ......................................................................................................11

Introduction..................................................................................................11

Chapter 2 ......................................................................................................14

Governing Equations for Hydrodynamics ................................................14

2.1. Governing Equations ........................................................................................ 14

2.2. Eddy Viscosity Models ...................................................................................... 16

2.3. Two-dimensional k-ε model for depth-integrated flow..................................... 19

2.4. Shear Stress on the Bed..................................................................................... 20

Chapter 3 ......................................................................................................23

Finite Element Approach............................................................................23

3.1. Introduction....................................................................................................... 23

3.2. Interpolation Functions .................................................................................... 23

3.3. Finite Element Operators for Calculating Derivatives .................................... 28

3.4. Four Node Bilinear Element............................................................................. 30

3.5. Staggered Mesh for Solving the Continuity Equation....................................... 31

3.6. Solution Method................................................................................................ 33

3.7. Time Marching Scheme..................................................................................... 35

Page 5: CCHE2D 3.0 Users' Manual

Table of Contents

5

3.8. Assembly of Algebraic Equations for Momentum Equations ........................... 36

3.9. Operators and Algebraic Equations for Solving Continuity Equation............. 43

3.10. Boundary conditions ..................................................................................... 46

Chapter 4 ......................................................................................................47

Upwinding Scheme ......................................................................................47

Introduction................................................................................................................... 47

A procedure for computing and applying the convective operators............................. 54

Chapter 5 ......................................................................................................56

Boundary and Initial Conditions ...............................................................56

5.1. Introduction....................................................................................................... 56

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

Page 6: CCHE2D 3.0 Users' Manual

Table of Contents

6

5.5. Boundary Condition for k-ε Model ................................................................... 65

5.6. Initial Conditions .............................................................................................. 67 Cold start..............................................................................................................................................67 Hot start ...............................................................................................................................................67

Convergence ...................................................................................................................................67

Chapter 6 ......................................................................................................69

Sediment Transport and Bed Change Simulation....................................69

6.1. Introduction....................................................................................................... 69

6.2. Bed Load Formula ............................................................................................ 69

6.3. Correction to the Critical Shear Stress............................................................. 71

6.4. Bed Load Motion Affected by Transversal Slope.............................................. 72

6.5. Bed Load Motion Affected by Secondary Flow................................................. 72

6.6. Bed Form Change Due to Gravity .................................................................... 74

6.7. Bed Morphological Change Due to Bed Load Transport................................. 74

6.8. Suspended Sediment Transport Model.............................................................. 76

Chapter 7 ......................................................................................................80

Treatment of Moving Boundaries ..............................................................80

Chapter 8 ......................................................................................................82

Program Logic and Data Flow ...................................................................82

8.1. Introduction....................................................................................................... 82

8.2. Flow Charts ...................................................................................................... 82

Page 7: CCHE2D 3.0 Users' Manual

Table of Contents

7

8.3. Subroutines and Their Functions...................................................................... 84

Chapter 9 ......................................................................................................87

Conclusions...................................................................................................87

References.....................................................................................................88

Page 8: CCHE2D 3.0 Users' Manual

Table of Contents

8

List of Symbols

x, y Cartesian coordinates ]L[

u, v Depth integrated flow velocity in x and y direction, respectively ]T/L[

h Water depth ]L[

g Gravitational acceleration ]T/L[ 2

Corf Coriolis coefficient

η Water surface elevation ]L[

tv Eddy viscosity ]T/L[ 2

xxτ , xyτ Reynolds stresses ]L/N[ 2

yxτ , yyτ Reynolds stresses ]L/N[ 2

bxτ , byτ Shear stresses on the bed ]L/N[ 2

ρ Density of the water ]L/M[ 3

sρ Density of sediment ]L/M[ 3

*u Shear velocity ]T/L[

U Total velocity ]T/L[

*U Total shear velocity ]T/L[

ς Relative depth

z Distance from the bed ]L[

xyA Coefficient to adjust eddy viscosity value

sC Integration constant

k von Karman constant (=0.41)

sk Roughness height ]L[

n Manning’s coefficient

cf Dacey-Weizbach coefficient

cd Normal distance from a internal node to the wall ]L[

Page 9: CCHE2D 3.0 Users' Manual

Table of Contents

9

ξ , η Local coordinates in an element

Q Total discharge ]T/L[ 3

q Specific discharge at inlet nodes ]T/L[ 2

α , β , θ , Angles

bq Bed load

50d Median sediment particle size

*D Particle parameter

crτ Critical shear stress for incipient motion of sediment particles

T Bed shear stress parameter

s Ratio of density ( ρρ /s )

Page 10: CCHE2D 3.0 Users' Manual

Table of Contents

10

List of Figures

Figure Page No.

Figure 2. 1 Calculation of eddy viscosity near a vertical wall

Figure 3.1. One-dimensional element……………………………………..………14

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

Page 11: CCHE2D 3.0 Users' Manual

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

Page 12: CCHE2D 3.0 Users' Manual

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

Page 13: CCHE2D 3.0 Users' Manual

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.

Page 14: CCHE2D 3.0 Users' Manual

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:

Page 15: CCHE2D 3.0 Users' Manual

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)

Page 16: CCHE2D 3.0 Users' Manual

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

Page 17: CCHE2D 3.0 Users' Manual

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

Page 18: CCHE2D 3.0 Users' Manual

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:

Page 19: CCHE2D 3.0 Users' Manual

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)

Page 20: CCHE2D 3.0 Users' Manual

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

Page 21: CCHE2D 3.0 Users' Manual

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)

Page 22: CCHE2D 3.0 Users' Manual

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.

Page 23: CCHE2D 3.0 Users' Manual

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 ∆∆ +−≈

Page 24: CCHE2D 3.0 Users' Manual

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)

Page 25: CCHE2D 3.0 Users' Manual

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)

Page 26: CCHE2D 3.0 Users' Manual

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)

Page 27: CCHE2D 3.0 Users' Manual

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)

Page 28: CCHE2D 3.0 Users' Manual

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)

Page 29: CCHE2D 3.0 Users' Manual

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.

Page 30: CCHE2D 3.0 Users' Manual

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.

Page 31: CCHE2D 3.0 Users' Manual

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)

Page 32: CCHE2D 3.0 Users' Manual

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

Page 33: CCHE2D 3.0 Users' Manual

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

Page 34: CCHE2D 3.0 Users' Manual

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

Page 35: CCHE2D 3.0 Users' Manual

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)

Page 36: CCHE2D 3.0 Users' Manual

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

Page 37: CCHE2D 3.0 Users' Manual

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)

Page 38: CCHE2D 3.0 Users' Manual

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

Page 39: CCHE2D 3.0 Users' Manual

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

Page 40: CCHE2D 3.0 Users' Manual

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.

Page 41: CCHE2D 3.0 Users' Manual

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)

Page 42: CCHE2D 3.0 Users' Manual

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.

Page 43: CCHE2D 3.0 Users' Manual

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.

Page 44: CCHE2D 3.0 Users' Manual

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)

Page 45: CCHE2D 3.0 Users' Manual

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.

Page 46: CCHE2D 3.0 Users' Manual

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)

Page 47: CCHE2D 3.0 Users' Manual

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

Page 48: CCHE2D 3.0 Users' Manual

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)

Page 49: CCHE2D 3.0 Users' Manual

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 ηθ .

Page 50: CCHE2D 3.0 Users' Manual

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

Page 51: CCHE2D 3.0 Users' Manual

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

Page 52: CCHE2D 3.0 Users' Manual

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)

Page 53: CCHE2D 3.0 Users' Manual

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.

Page 54: CCHE2D 3.0 Users' Manual

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;

Page 55: CCHE2D 3.0 Users' Manual

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.

Page 56: CCHE2D 3.0 Users' Manual

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

Page 57: CCHE2D 3.0 Users' Manual

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.

Page 58: CCHE2D 3.0 Users' Manual

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

Page 59: CCHE2D 3.0 Users' Manual

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.

Page 60: CCHE2D 3.0 Users' Manual

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

Page 61: CCHE2D 3.0 Users' Manual

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.

Page 62: CCHE2D 3.0 Users' Manual

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

Page 63: CCHE2D 3.0 Users' Manual

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:

Page 64: CCHE2D 3.0 Users' Manual

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)

Page 65: CCHE2D 3.0 Users' Manual

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

Page 66: CCHE2D 3.0 Users' Manual

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.

Page 67: CCHE2D 3.0 Users' Manual

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.

Page 68: CCHE2D 3.0 Users' Manual

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.

Page 69: CCHE2D 3.0 Users' Manual

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)

Page 70: CCHE2D 3.0 Users' Manual

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)

Page 71: CCHE2D 3.0 Users' Manual

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)

Page 72: CCHE2D 3.0 Users' Manual

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

Page 73: CCHE2D 3.0 Users' Manual

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.

Page 74: CCHE2D 3.0 Users' Manual

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

Page 75: CCHE2D 3.0 Users' Manual

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.

Page 76: CCHE2D 3.0 Users' Manual

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.

Page 77: CCHE2D 3.0 Users' Manual

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)

Page 78: CCHE2D 3.0 Users' Manual

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)

Page 79: CCHE2D 3.0 Users' Manual

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.

Page 80: CCHE2D 3.0 Users' Manual

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

Page 81: CCHE2D 3.0 Users' Manual

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.

Page 82: CCHE2D 3.0 Users' Manual

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

Page 83: CCHE2D 3.0 Users' Manual

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.

Page 84: CCHE2D 3.0 Users' Manual

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

Page 85: CCHE2D 3.0 Users' Manual

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;

Page 86: CCHE2D 3.0 Users' Manual

CCHE2D Documentation 86

SUGGEST Run time information;

Page 87: CCHE2D 3.0 Users' Manual

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.

Page 88: CCHE2D 3.0 Users' Manual

CCHE2D Documentation

References

Bell, R.G., and Sutherland, A.J. 1983, “Non-equilibrium bed load transport by steady

flows”, Journal of Hydraulic Engineering, Vol. 109, No. 3, pp 351-367.

Engelund, F., 1974 “Flow and bed topography in channel bends”, ASCE. Journal of the

Hydraulic Division, Vol. 100, No. HY11, 1631-1648.

Ferziger, Jeol H. and Peric, Milovan, Computational Methods for Fluid Dynamics, New

York, Springer, 1997.

Jia, Y., and Wang, S.S.Y., 1999, “Numerical model for channel flow and morphological

change studies”, ASCE, Journal of Hydraulic Engineering, Vol. 125, No. 9, pp 924-933.

Nezo, I., and Nakagawa, H., 1993, Turbulence in Open-channel Flows, IAHR/AIRH

Monograph, A.A. Balkema Publishers, Old Post Road, Brookfield, VT 05036, USA

Nezu, I., and Rodi, W., 1986 “Open channel flow measurements with a Laser doppler

anemometer”, ASCE. Journal of Hydraulic Engineering, Vol. 112, No. 5, pp335-355.

Patankar, Suhas, V. 1980, Numerical Heat Transfer and Fluid Flow, Hemisphere

Publishing Corperation, New York.

Ponce, V. M., and Theurer, F.D., 1982, “Accuracy Criteria in Diffusion Routing”, Journal

of the Hydraulic Division, ASCE, Vol. 108, No. HY6, June 1982, pp747-757.

Page 89: CCHE2D 3.0 Users' Manual

CCHE2D Documentation

Rodi, W., 1979, Turbulence Models and Their Application in Hydraulics, IAHR, State of

Art Paper, IAHR section on Fundamental of Division II: experimental and mathematical

fluid dynamics.

Sheng, W.W., Segur, H. and Lewellen, W.S., 1978, “Application of a spatial smoothing

to control short wave numerical oscillations”, Technical Memo 78-8, Aeronautical

Research Associates of Princeton, Inc.

Talmon,A.M., Van Mierlo, M.C.L.M., and Struiksma, N., 1995 “Laboratory

measurements of the direction of sediment transport on transverse alluvial-bed slopes”,

Journal of the Hydraulic Research, Vol. 33, No. 4, pp 495-517.

Wang Sam S.Y., and Hu, K.K., 1992 “Improved methodology for formulating finite-

element hydrodynamic models”, In T,J, Chung, (ed) Finite Element in Fluids, Volume 8,

Hemisphere Publication Cooperation, pp 457-478.

Van Rijn, L.C. Principles of Sediment Transport in Rivers Estuaries and Coastal Seas.

1993, Aqua Publications, The Netherlands.

Yalin, M.S., 1972. Mechanics of Sediment Transport. Pergamon Press.