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
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
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 models 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 depthintegrated 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.
Table of Contents
Table of Contents
Title Page No.
Chapter 1 ......................................................................................................11 Introduction..................................................................................................11 Chapter 2 ......................................................................................................14 Governing Equations for Hydrodynamics ................................................14
2.1. 2.2. 2.3. 2.4. Governing Equations ........................................................................................ 14 Eddy Viscosity Models ...................................................................................... 16 Two-dimensional k- model for depth-integrated flow..................................... 19 Shear Stress on the Bed..................................................................................... 20
Table of Contents
Assembly of Algebraic Equations for Momentum Equations ........................... 36 Operators and Algebraic Equations for Solving Continuity Equation............. 43 Boundary conditions ..................................................................................... 46
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.
Table of Contents
5.5. 5.6.
Chapter 7 ......................................................................................................80 Treatment of Moving Boundaries ..............................................................80 Chapter 8 ......................................................................................................82 Program Logic and Data Flow ...................................................................82
8.1. 8.2. Introduction....................................................................................................... 82 Flow Charts ...................................................................................................... 82
Table of Contents
8.3.
Table of Contents
List of Symbols
x, y u, v h g f Cor Cartesian coordinates [ L ] Depth integrated flow velocity in x and y direction, respectively [ L / T ] Water depth [ L ] Gravitational acceleration [ L / T 2 ] Coriolis coefficient Water surface elevation [ L ] Eddy viscosity [ L2 / T ] Reynolds stresses [ N / L2 ] Reynolds stresses [ N / L2 ] Shear stresses on the bed [ N / L2 ] Density of the water [ M / L3 ] Density of sediment [ M / L3 ] Shear velocity [ L / T ] Total velocity [ L / T ] Total shear velocity [ L / T ] Relative depth Distance from the bed [ L ] Coefficient to adjust eddy viscosity value Integration constant von Karman constant (=0.41) Roughness height [ L ] Mannings coefficient Dacey-Weizbach coefficient Normal distance from a internal node to the wall [ L ]
vt
xx , xy
yx , yy
bx , by
s
u*
U
U*
Axy
Cs
k
ks
n
fc dc
Table of Contents
,
Q
Local coordinates in an element Total discharge [ L3 / T ] Specific discharge at inlet nodes [ L2 / T ] Angles Bed load Median sediment particle size Particle parameter Critical shear stress for incipient motion of sediment particles Bed shear stress parameter Ratio of density ( s / )
, ,,
qb d 50
D*
cr
T
Table of Contents 10
List of Figures
Figure
Figure 2. 1 Figure 3.1. Figure 3.2 Figure 3.3. Calculation of eddy viscosity near a vertical wall One-dimensional element..14 Transformation of a two dimensional element 15 Definition of the calculation for the continuity equation18
Page No.
Definition of velocity angle at inlet section28 Hydrograph computed using equation (5.7b).30 Definition for calculating boundary velocity at outlet section33 Calculation of velocity on the wall that satisfies the law of the wall.35 Non-physical distribution of velocity in an element...39 Bed load motion affected by the secondary flow and the gravity46
7.2. Situation where component of velocity and shear stress have opposite direction due to the secondary flow.32 9.1. Flow chart of the CCHE2D model..55
Table of Contents 11
Chapter 1
Introduction
CCHE2D is a hydrodynamic model for unsteady turbulent open channel flow and sediment transport simulations developed at the National Center for Computational Hydroscience and Engineering (NCCHE), the University of Mississippi School of Engineering. This report summarizes the details of CCHE2D, version 2.0. This new version replaces the previous one (version 1.1) released in 1997. The methodologies and verification of the version 1.1 have shown solid results (Jia, and Wang, 1999). The new version has many additional improvements include implicit scheme for time marching, staggered grid for computing free surface elevation, depth-integrated k- model and suspended sediment transport model. As a result, numerical stability is enhanced, node to node oscillation is eliminated, and the CCHE2D model offers more capabilities to users for solving more involved problems. The special finite element method for spatial discretization is unchanged. The mathematical model, detailed numerical method, and boundary conditions provided the readers with sufficient information to understand the models validity, accuracy and limitations. Examples of numerical simulations with the step by step instructions and detailed procedures to run the model are given in the CCHE2D Users Manual, which is published separately. Verification has been conducted continuously during the development of the model. This report updates its predecessor: CCHE-TR-2001-1, which details all the 2D flow simulation capabilities. Modifications to the model such as for the surface elevation solver and upwinding methods are added in this report. This version of the model is capable of simulating unsteady open channel flows with the steady state solution as a special case. Both subcritical and supercritical flows as well as transitions of the two states can be simulated. Large scaled natural channel flows, small
Table of Contents 12
scaled laboratory flume flows have been used to verify the models 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 CCHEs researchers and students have participated. Dr. Y. Xu tested the suspended sediment transport model; Dr. W. Wu developed the non-uniform and non-equilibrium
Table of Contents 13
sediment transport module. Research associate Dr. Y. Zhang improved the configuration of mesh system so that hydraulic structures like line dikes can be modeled more efficiently; Miss. TingTing Zhu tested the water quality modules to be released. Their contributions are acknowledged. This report is a result of a project support in part by the Specific Cooperative Agreement (No. 58-6408-2-12, CRIS 6408-1360-006-02S) between the USDA Agricultural Research Service and the NCCHE of the University of Mississippi. The monitor of the project is the USDA-ARS National Sedimentation Laboratory, Oxford, Mississippi.
CCHE2D Documentation 14
Chapter 2
u u u 1 h xx h xy +u +v = g + + t x y x h x y
bx h + f Cor v by h f Cor u
(2.1a)
v v v 1 h yx h yy +u +v = g + + t x y y h x y
(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; f Cor is the Coriolis parameter; xx , xy , yx , and yy are depth integrated Reynolds stresses; and bx and by are shear stresses on the bed and flow interface. The shear stress terms at the water surface are dropped since wind shear driven effect is not considered in this version of the model. Free surface elevation for the flow is calculated by the depth-integrated continuity equation:
CCHE2D Documentation 15
h uh vh + + =0 t x y
/ t = 0 , the continuity equation is then simplified to
(2.2)
Assuming the bed elevation, , would not change in the flow simulation process: uh vh + + =0 t x y
(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 Bousinesqs assumption that they are related to the main rate of the strains of the depth-averaged flow field with a coefficient of eddy viscosity:
ij = uiu j = vt (ui , j + u j ,i )
u x
(2.4)
xx = 2vt
(2.5a)
xy = vt
u v + y x v y
(2.5b)
yy = 2vt
(2.5c)
yx = vt + y x
(2.5d)
CCHE2D Documentation 16
As it is well known, that eddy viscosity is a function of the flow, and it can be related to the flow properties in different ways.
(2.6)
where
C s = ( 1 )d =
0 1
1 , 6
(2.6a)
u* is shear velocity, is the von Karmans constant (0.41) and is the relative depth of the flow. Axy 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. In addition to this approach, depth integrated mixing length eddy viscosity model is also available:
vt = l
where
v u v U u 2 + 2 + + + y y x z x
(2.7)
l=
1 1 z z 1 h dz = h 0 (1 )d 0.267h h
(2.7a) U is introduced to z
account for the effect of turbulence generated from the bed surface. The eddy viscosity defined by (2.7) would be zero in the uniform flow condition without this term. It is determined in the way that eddy viscosity shall be the same as that of the uniform flow in
CCHE2D Documentation 17
absence of other terms. Assuming the flow is of logarithmic profile along the depth of the water, the vertical gradient should be
U u* = z z
which is represented by u U 1 U = dz = * z h z h
(2.8)
The equation (2.8) is integrated vertically to obtain depth averaged vertical gradient,
u 1 dz = C m * zo z h
(2.9)
where U is total velocity, u* is the total shear velocity and C m is a coefficient. Instead of directly calculating C m , 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. 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
=
wall
l = h (1 )
l = 0.267h
d h
d
d = d w = 0.3245h
wall
vt = u* h (1 )
vt = u* h 6
integrated coefficients for the eddy viscosity would be too large when the interior nodes are close to the wall. In this CCHE2D
d h
d = d w = 0.21h
model the normal distance from a node to the wall ( d w ) is used to calculate the mixing
CCHE2D Documentation 18
length in the region d w h < 0.3245 . And it is also used to calculate the parabolic profile in the range d w h < 0.21 . The number 0.3245 and 0.21 are the relative distances where mixing length and the parabolic profile are equal to their depth averaged values, respectively. This approach avoids the prediction of very large eddy viscosity near the wall. Figure 2.1 illustrates this methodology:
CCHE2D Documentation 19
k k k k k +u +v [ t ] [ t ] = P + PkV t x y x k x y k y
(2.10)
2 t +u +v [ ] [ t ] = c1 P c 2 + PV t x y x x y y k k
where
(2.11)
P = uiu j ui , j = v t [ 2( u 2 v u v ) + 2( ) 2 + ( + ) 2 ] x y y x
3
(2.12)
PkV
and
U = Ck , h
PV = C
h2
(2.13)
U = c f (u 2 + v 2 ) ,
Ck =
1 cf
C = 3.6
c 2 cf
3/ 4
(2.14)
and c=0.09, k=1.0, =1.3, c1=1.44, c2=1.92. The eddy viscosity coefficient is computed by the solution of k- model vt = c k2
(2.15)
CCHE2D Documentation 20
The term PkV and PV 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.16)
where
U = u2 + v2
(2.17)
The velocity components, u and v are the previous numerical results of the time-stepping scheme. The variable z o is calculated with different formulas for different flow conditions of hydraulic smooth, rough and transition:
z o = 0.11 v u* u* k s v 5
(2.18a)
z o = 0.0333k s
u* k s v 70
(2.18b)
z o = 0.11
v + 0.0333k s u*
5 < u* k s v < 70
(2.18c)
k s is the roughness height of the bed surface and v is the kinematic viscosity of the fluid. Since u* is implicit, Equation (2.16) is solved iteratively. It can be seen that the DarcyWeisbach coefficient f c can be conveniently obtained after the calculation of u* (van Rijn, 1993):
CCHE2D Documentation 21
fc 8
0.5
u h = 3 + 2.5 ln * v
u* k s 5 v
(2.19a)
fc 8
0.5
h = 6 + 2.5 ln k s
u* k s 70 v
(2.19b)
fc 8
0.5
h = 6 + 2.5 ln v k s + 3.3 u*
5<
u* k s < 70 v
(2.19c)
bx =
1 f c uU 8 1 f c vU 8
(2.20a)
by =
(2.20b)
The second method to calculate shear velocity and stress components on the bed surface is to utilize the Mannings coefficient.
1 h
1 3
bx =
gn 2 uU
(2.21a)
by =
1 h
1 3
gn 2 vU
(2.21b)
1 2 2 = bx + by
(2.22)
CCHE2D Documentation
22
The Mannings 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 k s and Mannings 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 Stricklers formula: n=
1 ks / 6 A
(2-23)
The value of parameter A is in the neighborhood of 20 depending on the sediment size, bed form, vegetation, channel morphology.
CCHE2D Documentation
23
Chapter 3
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: u1 u 2 du 1 d 2u 2 x1 + x1 dx 2 dx 2
CCHE2D Documentation
24
u3 u2 +
du 1 d 2u 2 x 2 + x 2 dx 2 dx 2
(3.1)
If u1(x=-x1), u2(x=0) and u3(x=x2) are known, the derivatives of the function
du dx
,
x =0
d 2u dx 2
(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
x = ( + 1) 1
where
(1 + 2 ) 2
(3.3)
(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) u = 1u1 + 2 u 2 + 3 u 3 where (3.4)
1 =
1 1 + ( 1) 2 1 1
(3.4a)
CCHE2D Documentation
25
2 =
2 ( 2 1) 1 2
(3.4b)
1 1 3 = + ( + 1) 2 2 2
(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):
o =
1 2 1 + 2
1 2
(3.5)
x1
1
x 2
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).
N m = i j
( m = 1,2,...,9. i , j = 1, 2, 3)
(3.6)
CCHE2D Documentation
26
m = 1, m = 2, m = 3, m = 4, m = 5, m = 6, m = 7, m = 8, m = 9,
i = 1, i = 1, i = 1, i = 2, i = 2, i = 2, i = 3, i = 3, i = 3,
(3.7)
Or simply:
i = int(
m 1 ) +1, 3
j = m 3(i 1)
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. 1 j j ,1 j ( 1) + 2 j ,1 j ,1
i1 =
2 i
1 i i ,1 i + ( 1) i ,1 2 i ,1
2
1j = =
2 j
i ( 2 1) = i ,1 i , 2
j ,1 j , 2
1)
(3.8)
i3 =
1 i i ,1 i + ( + 1) i,2 2 i ,2
3 = j
1 j j ,1 j ( + 1) + 2 j ,2 j,2
,
1
i=1,2,3
6 9
j=1,2,3
CCHE2D Documentation
27
Figure 3.3 shows the transformation of the two dimensional local and physical elements. As one can easily see that the geometry of a physical element is in general irregular and asymmetric to the central point, and after the transformation into the local element domain, it becomes very smooth and regular. Computed curves of the interpolation function along =const are shown. The second order interpolation function represents the physical geometry very well. As have been pointed out earlier that the location of the central mesh point is transformed local central point (i=2, j=2), it is located at the position proportional to that in the physical space.
Figure 3.3. Transformation from logic space to physical space using the interpolation functions of equation (3.6)
CCHE2D Documentation
28
3.3.
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:
y 1 x = D x y
y . 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
D=
x y x y
(3.9a)
(3.10a)
9 N = m m =1
(3.10b)
(3.11a)
2 2 2 2 2 = y2 +y + 2 y y y 2 2 2
(3.11b)
CCHE2D Documentation
29
2 2 2 2 = x y + x y + ( y x + x y ) xy 2 2
where the coefficients are defined by
(3.11c)
x y
y x 1 = y D x
y x
(3.12)
9 2 Nm 2 = 2 m =1 2
(3.13a)
9 2 Nm 2 = 2 m =1 2
(3.13b)
9 2 Nm 2 = m =1
(3.13c)
It can be seen that all the finite element operators needed to assemble the equation (2.1a) and (2.1b) are prepared by equation (3.9) and (3.11). However, the first order derivatives obtained from the equation (3.9) do not take the flow characteristics into account, because the interpolation functions are of Lagrangian, they are related only to the mesh geometry. When strongly convective flow is encountered, which is common for most of open channel flows, this type of operators will cause node to node oscillations. To model the physics more realistically, the convective interpolation functions are introduced to reduce the node to node oscillations. For all the non-convective physical phenomena, however, the operators (3.9) are capable of producing accurate results.
CCHE2D Documentation
30
3.4.
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 doesnt 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):
Ml = 1 (1 + l )(1 + l ) 4 l = 1,2,3,4
(3.14)
The functions at each corner are simple bilinear functions 1 (1 )(1 + ) 4 1 M 2 = (1 )(1 ) 4 1 M 3 = (1 + )(1 ) 4 1 M 4 = (1 + )(1 + ) 4
M1 =
(3.15)
The derivatives of these functions are the differential operators in the local space.
4 M l = l =1 4 M l = l =1
(3.16)
Employ equation (3.12) and then (3,9), the differential operator in the physical space is obtained.
CCHE2D Documentation
31
-1,1
1,1
-1,-1
3.5. 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
1 v v + u nds = 0 t A
(3.17)
CCHE2D Documentation
32
Figure 3.5 defines the geometric variables of this equation, A is the area of the cell of the element. The central cell was used for the flux integration instead of the total element which can avoid overlapping of the integration area. The velocity vectors at the cell boundary lines are interpolated from the element points. Because the solution of the continuity equation is de-coupled from that of the momentum equations, it is very simple to solve this equation and update the water surface elevation. Because this configuration would likely induce oscillation due to velocity and pressure (surface elevation) decoupling, partially staggered mesh configuration is adopted for solving continuity.
Element A
Cell ds
Figure 3.5 Definition sketch of the calculation for the continuity equation.
Velocity location
Pressure location
In this version of CCHE2D, colocated grid is used only for the monentum equations, and the pressure field (free surface elevation) is computated on the staggered grid, as
CCHE2D Documentation
33
illustrated in Figure 3.6. This partially staggered arangement takes the advantage of the simplicity of colocated grid for computing velocity and that of the staggered grid to eliminate oscillation. Fully staggered grid would require too much computational effort to calculate vilocity components with finite element method. Figure 3.7 shows the partially staggered grid in physical space with staggered points. These points are located at the geometric center of each mesh cell. At the domain boundary, the staggered points are located on the boundary instead of placed outside the domain. Additional finite element differential operators, and hence more computer memory, have to be provided for solving the continuity equation. These operators should be computed in the same fasion as those for the momentum equations, but the computations have to be based on the staggered points.
y x
Figure 3.7 Partially staggered grid for solving continuity equation
(Physical space).
3.6.
Solution Method
The system of algebriac equations for the momentum equations (2.1) and continuity equation (2.2) are solved with the velocity correction method. This method is widely applied in finite volume method for 3D computations. The CCHE2D model takes concept of the velocity correction method, the continuity equation is solved with an unique
CCHE2D Documentation
34
procedure specially developed for the two-dimensional models. The algorithm of solving the governing equations is as follows. The descritised momuntum equations can be arranged in the vector form as v r r u n +1 = u n + t f tg( n + ' ) (3.18) v where f 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 v r r u = u n + t f + t g n The final velocity for the next step can be written in the form of r r u n +1 = u tg ' (3.19)
(3.20)
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
r + ( hu ) tgh 2 ' tgh ' = 0 t
(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
= n +1 n = '
r r r 1 and ( hu ) = hu ds , Eq. (3.21) then becomes A
(1 t 2 gh 2 ) ' =
r r t h u ds A
(3.22)
(3.23)
Where A is the area of a cell or a four-node element of the staggered node, s is the r boundary of the cell with anti-clockwise direction, ds is an outward line segment vector of this curved boundary, h is the water depth along the segment. As one can see, the
CCHE2D Documentation
35
continuity equation is in the form of Poissons 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.
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
u n +1 = u n +
t
6
(k 1 + 2k 2 + 2k 3 + k 4 )
(3.24)
where
k 1 = f (t n , u n )
(3.25a)
k 2 = f (t n +
t
2
,un +
t
2
k1 )
(3.25b)
k 3 = f (t n +
t
2
,u n +
t
2
k2 )
(3.25c)
CCHE2D Documentation
36
k 4 = f (t n + t , u n + tk 3 )
(3.25d)
is replaced by the implicit first order Eulers 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
n u n +1 = u n + tf (u n +1 , u n , v n , tn , n , bx , h n ) n v n +1 = v n + tf ( v n +1 , v n , u n , tn , n , by , h n ) n k n +1 = k n + tf ( k n +1 , u n , v n , tn , h n , u ) n n +1 = n + tf ( n +1 , u n , v n , tn , h n , u )
(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 Eulers 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.
= f (u n , v n , h n +1 )
(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 Stones method is adopted (Ferziger and Peric, 1997). Since information along the two mesh lines (,) passing the
CCHE2D Documentation
37
center of the element is dominant, the coefficients at the four corners are usually very small, five-diagonal equation system is therefore used. The notation of the algebraic equations for an element adapted in this report is similar to those commonly used in Finite Volume Method as illustrated in the Figure 3.7.
ANE AN AE
,
1 4 7 2 5 8
i=1,2,3
ANW AW
AP ASE AS ASW
3 6 9
j=1,2,3
There are seven finite element operators for the CCHE2D model, five Lagrangain operators and ten convective operators:
9 N = m x m =1 x 9 N = m y m =1 y 9 2 Nm 2 = x 2 m=1 x 2 9 N m 2 = 2 2 y m =1 y 9 2Nm 2 = xy m =1 xy
(3.28)
CCHE2D Documentation 38
9 9 C C = um , = um x m =1 x y m =1 y 9 9 C C = vm , = vm x m =1 x y m =1 y 9 9 C C = km , = km x m =1 x y m =1 y 9 9 C C = m , = m x m =1 x y m =1 y 9 9 C cm C , = = cm x m =1 x y m =1 y
(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:
9 9 4 C u C u M l l u + + u um m + v um m = g x t x y 1 1 1
t
1
9 2 N m um 2 N m um + t + fu x 2 y 2 1
(3.30)
where
CCHE2D Documentation 39
9 9 2 N m vm 2 N m um 2 N m um + + ]+ xy y 2 x 2 1 1 1 9 9 9 9 N 9 N u N N u N v 2 m t m m m + m t m ( m m + m m ) + x x y y x 1 1 1 1 1
f u = t [
(3.31)
2 t
1
9 9 N m hm 9 N m um N h 9 N u N v x + t my m ( my m + mx m ) bx + f Cor v x 1 h 1 1 1
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
n n n n n AuP u P+1 + AuE u E+1 + AuW uW+1 + AuN u N+1 + AuS uS +1 = u P + tFu n
(3.32)
where
Fu = g
4
(3.34)
n In the external iteration process, all the variables in the term Fu are updated, u P represents
the previous solution. The algebraic equations for the v momentum equation are similarly derived
CCHE2D Documentation 40
9 9 4 C v C y M l l v + + u vm m + v vm m = g y t x y 1 1 1
t
1
9 2 N m vm 2 N m vm + t + fv x 2 y 2 1
(3.35)
where
9 9 2 N m um 2 N m vm 2 N m vm + + ]+ xy y 2 x 2 1 1 1 9 9 9 9 N 9 N v N N u N v 2 m t m m m + m t m ( m m + m m ) + y y x y x 1 1 1 1 1
f v = t [
(3.36)
2 t
1
9 9 by N m hm 9 N m v m N h 9 N u N v + t m m ( m m + m m ) f Cor u y y 1 x y x h 1 1 1
Following the same notation as those for the algebraic equations for u momentum equation, the algebraic equations for v equations are
n n n n n AvP v P+1 + AvE v E+1 + AvW vW+1 + AvN v N+1 + AvS v S +1 = v P + tFv n
(3.37)
where
Fv = g
4
M l l C vm v m C vm v m 2 N m vm 2 N m vm u v + t + t + fv y x y x 2 y 2 1, 3, 7 , 9 1, 3, 7 , 9 1, 3, 7 , 9 1, 3, 7 , 9 (3.38)
(3.39)
Obviously, algebraic equations for both u and v components have five diagonals if they are written in a matrix system.
CCHE2D Documentation 41
The formulation for the k- model is straight forward following the same way as momentum equations. One should note that different convective interpolation functions for k and equations are needed because the interpolation functions are related not only to the Peclet number at the central node, but also to the distribution of the k and in the element.
9 9 C k C k 9 2 N mkm 9 2 N m km k + u km m + v km m = ( + t ) + ( + t ) + fk t x y k 1 x 2 k 1 y 2 1 1
(3.40)
9 9 Cm m Cm m t 9 2 N m m t 9 2 N m m + u + v = ( + + ( + ) ) + f t x y 1 x 2 1 y 2 1 1
(3.42)
P c2
2
k
+ PV
(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
n n n n n AkP k P +1 + AkE k E +1 + AkW kW+1 + AkN k N+1 + AkS k S +1 = k P + tFk n n n n n n AP P+1 + AE E+1 + AW W+1 + AN N+1 + AS S +1 = P + tF n
(3.45) (3.46)
Fk = u
2 N m km 2 N m km + ( + t ) ( + t ) + P + PV k 1,3,7,9 x 2 k 1,3,7,9 y 2
(3.47)
CCHE2D Documentation 42
Ck 5 C 2 N5 2N + v k 5 ( + t )( 2 5 + ) + 1+ 2 x y y k k x Ck 6 C 2N6 2N + v k 6 ( + t )( 2 6 + ) x y y 2 k x (3.48)
AkS = u
(3.49)
(3.50)
The source terms of the k and equations with negative sign are reformulated so that they can be put on the left hand side of the equations and being solved implicitly.
CCHE2D Documentation 43
3.9.
Operators
and
Algebraic
Equations
for
(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 v r hu nds = FLUX x + FLUX y
cell 4 4 1 1 = ( si n x ,i + si +1n x ,i +1 )u j h j + ( si n y ,i + si +1n y ,i +1 )v j h j 1 2 1 2 i = 1,2,3,4. i = 1 if i + 1 > 4, j = 1,2,3,4
(3.52)
v 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. si is the length of the central cell segments. The operator is arranged such that the flux can be computed at the four vertices where the velocity and water depth are located, the computation is more efficient this way.
CCHE2D Documentation
44
Indices for the central cell j=4 i=4 i=3 j=1 j=3 i=1 i=2 j=2
v n4
v n3
v n2
y x
v n1
Figure 3.8 Sketch for computing finite element operators and integral
Defining
FLx , j = FL y , j 1 ( si n x ,i + si +1n x ,i +1 ) 2 1 = ( si n y ,i + si +1n y ,i +1 ) 2
(3.53)
(3.54)
The algebraic equation system for solving the surface correct equation would be
AsP Pn +1 + AsE En +1 + AsWWn +1 + AsN Nn +1 + AsS Sn +1 = tFs
(3.55)
1, 3, 7 , 9
2 Sm 2 Sm ) + y 2 x 2
(3.56)
CCHE2D Documentation
45
2 S5 2 S5 ) +1 + x 2 y 2
2 S6 2 S6 ) = gh t ( 2 + x y 2 2 S4 2 S4 ) = gh t ( 2 + x y 2
2
(3.57)
AsN = gh t 2 ( AsS = gh t 2 (
2S2 2S2 ) + x 2 y 2 2 S8 2 S8 ) + x 2 y 2
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 Stones method is used for solving all these equations. The following figure (3.9) shows the configuration of the five-diagonal matrix. Stones method is good in convergence speed, and it is memory efficient. The disadvantage of this method is that it is only suitable for structured grid because the equation matrix of unstructured mesh cannot be arranged to this configuration. One has to assign special values for the coefficients if dry nodes or structures exist in the domain.
CCHE2D Documentation
46
Figure 3.9. Matrix configuration of Stones 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 n n n AP P +1 + AE E +1 + AN N +1 + AS Sn +1 = Source AW W
(3.58)
Source is the source term of the equation and the coefficient for the W node is set to zero. AW = 0 (3.59)
CCHE2D Documentation
47
Chapter 4
Upwinding Scheme
Introduction
It is now generally agreed, that in order to avoid node to node oscillation in the numerical solution the convective terms in the equation (2.1a) and (2.1b) need to be computed in the way that the upstream information of the flow are emphasized to a degree corresponding to the strength of the convection. A special convective interpolation function is designed for this purpose:
c1 =
0 ( R + 1) T ( R + 1) 1 pe p p +T (2e e e e e ) 1 0 R + 1 0 R + 1 2T
(4.1a)
c 2 = 1 c1 c 3
(4.1b)
c3 =
1 2T
pe 0 ( R 1) T ( R 1) p p +T (2e e e e e ) 1 0 R + 1 0 R + 1
(4.1c)
where:
T = e pe + e pe 2e pe o
(4.2a)
R = ( e pe e pe ) / T p e = u c / vt
(4.2b)
(4.2c)
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: d 2 d vt =c uc d d 2 (4.3)
where: u c is the fluid velocity in the local direction, 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.
(4.4)
CCHE2D Documentation
49
in a local space. Because the equation is for one dimensional, it has to be applied to both
and directions locally when it is applied to the two dimensional model. The procedure
for using this convective interpolation function is to calculate the first order derivatives in the local space, and transform them to the physical space then. Velocity components in the local coordinates are calculated by using the velocity components u and v in Cartesian coordinate:
u = u = 1 (sin .u cos .v ) Dc 1 ( sin .u cos .v ) Dc
(4.5a) (4.5b)
(4.5c)
This set of equations is obtained from the vector projection equations along local coordinates (mesh lines) to the x-y coordinates:
u = u cos + u cos v = u sin + u sin
(4.6a) (4.6b)
After the convective operators in both and directions are computed, the derivatives in the physical space ( / x, / y ) are obtained by using equation (3.9). Figure 4.2 illustrated these transformations.
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 onedimensional, unsteady transport problem
+u =0 t x
(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=ut/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. u
a.
x b. n n+1 u n n+1 c.
i-1
i / x < 0
i+1
i-1
i / x 0
i+1
CCHE2D Documentation
51
in +1 in
t
= u
(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 in 1 from both sides
in +1 in 1 = in in 1 tu
(4.9)
in +1 in 1 0,
n +1 i
0 x i >0 x i
(4.10)
n i 1
< 0,
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
in +1 in 1 = in in 1 tu
0, x i
0 x i
(4.11)
or
CCHE2D Documentation
52
F=
in in 1 tu n n n i +1 i 1 i +1 in 1 x
(4.12)
i
Because F is normalized by in 1 in 1 which has the same sign as / x for monotonic + distribution, this inequality actually includes both cases for / x 0 and / x 0 . Finally
2 F in 1 in 1 2 F + = C C 2 x x i
(4.13)
The [ / x ] in this case is the central differencing derivative. To summarize, the scheme actually applied to the model reads
= J x x i +1 i 1 x = 2x
(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
J =0 2F J = min C J =1 ,1
F <0 0 F 0 .5 F > 0 .5
(4.15)
CCHE2D Documentation
53
The scheme does not treat the peak of a distribution, therefore the reduction of peak value in the transport process simulation is expected. The peak reduction rate however depends on the method to evaluate [ / x ] and time step. The following figure (4.5) shows
The two-step Runge-Kutta scheme was used for explicit time marching. It can be seen the MUBS effectively eliminated oscillation from the central differencing scheme, and the peak reduction is related to the Courant number. When Courant number is 0.1, the peak is preserved as good as the central differencing scheme. If one would like to have better results of the peak, a higher order scheme for computing [ / x ] is needed. The following figure shows the results when central differencing is replaced by QUICK scheme: the peak preservation in this case is improved. When Courant number is 0.1, MUBS preserved the peak the same as QUICK, when Courant number is 0.5, some peak reduction increases. The overall accuracy increase is due to QUICK over CD.
CCHE2D Documentation
54
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: Pe = u vt u vt ) f <0 f 0 (4.6a) (4.6b)
Pe = arctan(
the value of the Peclet number actually used can be significantly reduced. The parameter f given by f = ( 1 o )( 1 o ) tells if the variable (u and u in this case) in the transport direction is monotonic ( f 0 ) or otherwise. Stronger upwinding is applied only if is non-monotonic in the element ( f < 0 ). Since arctan( x ) / 2 , 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): uu / x , vu / y , uv / x , and vv / y . The two sets of convective operators are applied to u and v convective terms. Each set of operator is used for calculating two terms ( / x is for u / x and v / x ; and / y is for u / y and v / y ), the Peclet number in that direction is determined after checking monotonicity for both variables. iii. Applying equation (3.9) to calculate convective terms in physical space.
CCHE2D Documentation
56
Chapter 5
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.
ui =
qi hi
(5.1)
where i denotes the i-th node at the inlet section. The advantage of this approach is that the distribution of qi can be very flexible.
CCHE2D Documentation
57
where K is a constant to be determined and ni is the Mannings coefficient. Since the total discharge satisfies: Q = qds = K h5/ 3 h5/ 3 ds K i si ni n i (5.3)
The specific discharge qi is thus calculated by (5.2). In cases when the user gives the roughness height, the Stricklers law calculates the equivalent Mannings coefficient, as:
1 ks 6 n= A
(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:
v u v n
CCHE2D Documentation
58
v In this figure, is the curved inlet section, is the angle between the velocity vector u v v and the unit vector normal to the inlet. is zero if u and n are parallel. It is positive if v v v v from n to u is counter-clockwise; it is negative if from n to u 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:
45o
(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.
The option allows users to input any data set of the form: t1 t2 ..... ti ... tn Qn Qi Q1 Q2
where: Qi is the total discharge data at time ti. It can be seen that the hydrograph specified this way can be arbitrary in shape.
II. Hydrograph formula (Gama function, single flood event)
This option allow users to specify one hydrograph in terms of an analytical function given by Ponce and Theurer (1982):
CCHE2D Documentation
59
Q(t ) = Qbase
m Q (t ) = (Q peak Qbase )th e ( m (1th )) + Qbase
t tstart
(5.7a)
t > t start
(5.7b)
and Qbase and Q peak 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.
CCHE2D Documentation
60
= constant .
(5.9a)
where
c = gh
(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
+ c nx + y y n y = 0 t x x
(5.10)
where n x and n y 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 is applied to all nodes at the outlet section.
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 U out 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:
U out = U
(5.11)
where h and hout 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:
u out = U out vout = U out u U v U
(5.12a) (5.12b)
Alternatively one may wish to specify the direction of velocity along the outlet section.
v n
v u
CCHE2D Documentation
62
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
v v || u wall = C wall u inner 0 C wall 1
(5.13)
where u wall is the slip velocity on the wall, C wall is a coefficient to adjust slipness, and
v || u inner is the velocity component parallel to the boundary at the adjacent inner node. This
(5.14a)
(5.14b)
v where n || is the unit vector tangential to the wall. As can be seen, the boundary slipness
Besides the slipness adjustment approach, the logarithmic law of the wall can also be used to provide more accurate wall effect simulations, although this approach require fine grid in the near wall region. The method to enforce the boundary condition is to specify
CCHE2D Documentation
63
the velocity on the wall so that the first and second order velocity derivatives normal to the wall satisfy the log law. In general, the log law reads
u 1 y = ln u* y o
(5.15)
The first and second derivatives of the velocity in terms of y (normal to the wall) are
du u* = dy y
(5.16a)
u d 2u = *2 2 dy y
(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 : dy = y and dy 2 = y 2 .
u2
du u* = dy y
dy
u1
u0
u d 2u = *2 dy 2 y
dy
Figure 5.4. Calculation of velocity on the wall that satisfies the law of the wall.
CCHE2D Documentation
64
1 du = ( u2 u0 ) dy 2y
(5.17a)
d 2u 1 = ( u 2 2u1 + u 0 ) 2 dy y 2
(5.17b)
the above derivatives become (in case of equal spacing grid as shown in the Figure (5.2))
du =
u 1 (u 2 u 0 ) = * 2
(5.18a)
du = (u 2 2u1 + u 0 ) =
u*
(5.18b)
u o = u1
3 u* 2
(5.19)
where: u o is the slip velocity magnitude on the solid wall, and u1 is the parallel
v || component of velocity at y = dy equivalent to u inner in equation (5.14a). This boundary
condition makes equation (5.15) satisfied for the near wall region. u* 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 30 y + = u* y / v 300 (Nezu and Rodi, 1986). Otherwise, the induced velocity on the wall would only mean some slipness without solid physical justification.
5.4.3. Water Surface Elevation
Along solid walls, the water surface boundary condition is usually given such that
=0 n
(5.20)
CCHE2D Documentation
65
Physically, the condition may be interpreted as no pressure gradients normal to the wall. This version of CCHE2D solves free surface correction terms, it is therefore not necessary to provide boundary condition when the surface correction equation is solved. The velocity components along the boundaries dont need correction, the correction along the boundaries are assigned to be zero in the iteration process.
boundaries = 0
(5.21)
needed. The depth-integrated formulas for estimating turbulent velocities by Nazu and Nakagawa (1996) are used to compute the turbulence energy:
k=
1 2 ( u + v 2 + w 2 ) 2
(5.22)
(5.23)
Equation (5.23) was developed and validated for uniform flow in open channel flow without the wall effect. The turbulent velocities in eq. (5.23) are time-averaged quantities and those in eq. (5.22) are depth-averaged values. is the relative depth from channel bed. Since the eddy viscosity for uniform flow is computed by
CCHE2D Documentation
66
1 v t = u h 6
(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:
= PkV
(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:
k =0 n =0 n
(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. k=
2 u c
u3 = y
(5.27)
where u* is the shear velocity and y is the normal distance between the wall and the first node adjacent to the wall. Since the boundary condition is specified at this node, solutions of k and equations would start from the second node.
CCHE2D Documentation
67
Cold start
When there is no information of the flow field available, the model can be run with an assigned zero velocity field, and a constant water surface elevation. With the given steady state boundary conditions, the model can reach to a steady state solution which may be used later on as the initial condition when the boundary conditions are changed to unsteady state. Cold start can be used whenever the user has established a new simulation case. In most cases, the cold start is only needed for once. Users can assign water surface elevation with a slope to speed up the convergence for steady state solution in case of simulating flows in river channels. It is not necessary that the initial water surface must be higher than the bed in the entire computation domain, initial dry areas are allowed. Part of the inlet and outlet sections has to be wet, so that the in and outlet boundary conditions can apply, however.
Hot start
A hot start mean that the model starts with an initial condition resulted from a previous run and continues to simulate the subsequent flow variations. This option can be used for both steady and unsteady flow simulations.
Convergence
The convergence process of a simulation is monitored by watching the variations of the increments of the computed flow variables u, v, and h.
CCHE2D Documentation
68
Max wholefield =
max[ u , v ] U h
(5.28)
Max wholefield =
(5.29)
Convergence is reached if these two maximum increments of velocity component and water surface for the whole flow field approaching to tolerances. For unsteady flow simulation, however, these increments shall vary according to the time dependent boundary conditions. Reasonable initial condition is advisable in this case. It should be mentioned when there many dry nodes are present in the computational domain, these increments would not decrease to very small values because of the on-off of the dry nodes produces some numerical noise. However, the convergence of the main flow would not be affected.
CCHE2D Documentation
69
Chapter 6
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, nonequilibrium 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.
0.5
(6.1a)
g 3 D* = d 50 ( s 1 ) 2 v
(6.1b)
T=
cr cr
(6.1c)
CCHE2D Documentation
70
s = s /
(6.1d)
cr = ( s ) gd 50 cr
(6.1e)
and when D* 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 cr is critical shear stress according to Shields . The critical shear stress is calculated according Yalins suggestion (1972) which modified the Shields curve:
for
1 < D* 4
(6.2a)
for
4 < D* 10
(6.2b)
for
10 < D* 20
(6.2c)
for
20 < D* 150
(6.2d)
cr = 0.055
for
D* > 150
(6.2e)
= g [u / C ']2
where C' = 7.8 ln( 12h / 3d 90 )
(6.3)
(6.4)
and where C ' is the Chezys coefficient due to particle friction. Bed load q b at solid walls and out let boundaries satisfies the condition
qb =0 n
(6.5)
CCHE2D Documentation
71
k1 =
(6.6a)
k1 =
(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 tan 2 2 k 2 = cos 2 1 2 tan
0.5
(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:
cr = k1 k 2 cr , f
or equivalently
(6.8)
cr = k1 k 2 cr , f
(6.9)
CCHE2D Documentation
72
(6.10)
(6.10a)
and is the angle between the flow direction and the x-axis of the Cartesian coordinate system; and is the Sheilds parameter: u*2 g s 1d 50
(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.
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)
tan = 7 h r
(6.12)
Where r is the radius of curvature of longitudinal mesh line ( r = ds / d ). 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.
Shear Main
Particle path
Figure 6.1 Bed load motion affected by the secondary flow and the gravity.
CCHE2D Documentation
74
(6.13)
If the bed slope is larger than the repose angle, the local bed elevation in an element is
i =
where
old
+ k i
old
old
i = 1, K ,9
(6.14)
1 9 i 9 1
(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
i = i old
(6.15)
CCHE2D Documentation
75
The direct consequence of bed materials movement is bed morphological change. Bed morphological change is computed with the sediment continuity equation:
1 q x q y = + y t (1 p ) x
(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 ( u y > 0 ) and y < 0 ), 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.
uy
y x
Figure 6.2 Situation where component of velocity and shear stress have opposite
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 sd = .t After the bed change has exceeds the limit of
max h 0.02
h hd
(6.18)
(6.19)
hd 0.2 havg
(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.
CCHE2D Documentation
77
c c c c c +u +v [ t ] [ t ] = S t x y x x y y
(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:
c 1 S = ( s ca + t ) h z a
(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:
c = Fca
(6.23)
and
ce = Fca ,e
(6.24)
for equilibrium condition. Under equilibrium condition, equation (6.22) can be changed to 1 c )=0 S = ( s ca ,e + t z a ,e h Assuming that (6.25)
t
equation (6.22) becomes
c c t z a z a ,e
(6.26)
1 S = ( s ca s ca ,e ) = s ( ca ca ,e ) h h
Considering equation (6.23) and (6.24) one has
S=
(6.27)
s
hF
( c ce )
(6.28)
CCHE2D Documentation
78
(6.29)
where
z = z +
(6.30) (6.31)
z=
s U ,c s
U ,c
= 2.5(
) 0.8 (
ca 0.4 ) c0
(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
n n n n n AP cP+1 + AE cE+1 + AW cW+1 + AN c N+1 + AS cS +1 = cP + tF n
(6.33)
Ccm cm C cm cm v + x y 1, 3, 7 , 9 1, 3, 7 , 9
2 N m cm 2 N m cm s + t + ca . e t x 2 y 2 hF 1, 3, 7 , 9 1, 3, 7 , 9
(6.34)
CCHE2D Documentation
79
It is noted the unknown concentration term is moved to the left hand side to enhance the convergence and stability. The convective operators for the concentration transport have to be computed for solving the equation.
CCHE2D Documentation
80
Chapter 7
CCHE2D Documentation
81
number of dry elements can be quite large compared with the total number of elements. Test cases have shown reasonable results when dry elements are more that 60% of the total elements. Users, however, should make sure the number of nodes in any cross section is sufficient to have realistic solution while reducing a lot of the wet area with lowering water level. It is also advisable that bed form should be reasonably smooth in the wet area when large dry area(s) appears. This is because when water surface elevation is reduced, originally smooth bed topography becomes very rough comparing to the flow depth. This approximate approach is found to have acceptable accuracy, because the total area covered by this type of elements (partially dry) is very small comparing to the computational domain and the water is very shallow. The effects on the conservation of mass and momentum are of negligible significance.
CCHE2D Documentation
82
Chapter 8
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.
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 doesnt mean this module
CCHE2D Documentation
83
include boundary condition for all the simulated variables. All the calculations described in the previous chapters are conducted sequentially, and the implicit Euler method is used for both momentum and continuity equations. Sediment transport part is activated when the option is chosen. The secondary flow effect in meander channels is also optional. Time scale adjustment for the sediment transport part is automatic, the time step would be increased when bed change is very slow and would be reduced when bed change is too fast. The purpose of showing this flow chart is to give readers an overview of the program. Those who are interested in knowing more details about the model can refer to the report CCHE-TR-01-2.
CCHE2D Documentation
84
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 End
Figure 8.1 Flow chart of CCHE2D model
CCHE2D Documentation
85
Main program and subroutines of the model are listed as the followings:
CCHE2D LGCSPINIT SHAPEFNCTN CHKINPUT ELMT2
Main program; Initialize connectivity and the mesh; Calculate 2D shape function and differential operators (local); Check input parameters; Initialize globe differential operators and other transformation variables; Calculate shear stress (log law); Calculate convective operator; Calculate derivatives; Initialize flow related variables for cold start; Read in and outlet boundary condition and coordinates of nonerodable nodes; Specify boundary conditions and solve u and v; Calculate water surface (continuity equation); Write monitoring point solution values; Write history and intermediate solution files; Read start file and write final solution file; Calculate unsteady discharge using digitized hydrograph; Calculate unsteady discharge using formulated hydrograph (gama function); Calculate radius of channel curvature; Calculate distance from wall; Calculate critical shear stress; Calculate bed load; Correct bed load direction adjustment due to Calculate bed change; Calculate bed slope;
TRNSBDLOAD
CCHE2D Documentation
86
SUGGEST
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.
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 models accuracy and capability. The upgraded version shall be released in the near future.
CCHE2D Documentation
References
Bell, R.G., and Sutherland, A.J. 1983, Non-equilibrium bed load transport by steady 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.
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 finiteelement 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.