CMSFlow Numerical Methods: Hydrodynamics
Momentum and Continuity
The governing equations are solved in a segregated manner in which each governing equation is linearized and solved separately in a sequential manner within an iteration loop in order to obtain a converged solution. Coupling between the velocity (momentum) and water level (continuity) is achieved with the SIMPLEC algorithm (van Doormal and Raithby 1984). The main difficulty in solving the momentum equations is that the water level is not known a priori and must be calculated as part of the solution. The solution algorithm procedure is described below. First, an initial pressure is estimated based on the previous time step value. Then, the momentum equations are solved for the corresponding velocity:

(1) 
where includes all the remaining terms. The intercell velocities are calculated with a Rhie and Chow (1983) type interpolation method:

(2) 
where , is the implicit relaxation coefficient (set to 0.8 by default), and denotes linear interpolation (see Implicit Relaxation of the present Chapter). This method avoids the checkerboard oscillations associated with the collocated grid. It is noted that this approach is slightly different from that originally proposed by Rhie and Chow (1983) and used by several authors such as Lai (2010). This current approach was found to be significantly more stable.
Next, the velocity and pressure corrections are defined such that both the momentum and continuity equations are satisfied:
(3a,b) 
In the SIMPLEC algorithm, the velocity correction is related to the pressure correction by
(4) 
where .
Using and substituting in the continuity equation yields the semidiscrete water level correction equation
(5) 
Note that at convergence, , and the above equation reduces to the continuity equation. Once the pressure correction equation is solved, the cellcentered water levels and current velocities are corrected. The cell face velocities are also corrected as , in which the velocity correction is given by .
Summary of the SIMPLEC Algorithm:
1. Guess the water level and pressure field ()
2. Solve the momentum equations (Equation 1) to obtain
3. Use the Rhie and Chow (1983) momentum to determine the velocities and fluxes at cell faces (Equation 2)
4. Solve the pressure equation
(6) 
to obtain
5. Use the correction equations to adjust the velocities and water levels.
6. Treat the corrected water level and pressure field as a new guess, and repeat this procedure from Step 2 until convergence is achieved.
Wetting and Drying
During numerical simulations of the surface water flows with sloped beaches, sand bars, and islands, the landwater interface changes with time. This means that it is possible for nodes at the landwater interface to be wet or dry throughout a given simulation. In CMS, a threshold water depth is used to judge drying and wetting. If the depth at the cell center is larger than the threshold value (i.e. a small value such as 0.02 m for field cases), then the node is considered to be wet. Similarly, if the depth at the cell center is smaller than the threshold value, then the node is considered to be dry. For the implicit solver, all of the wet and dry cells are included in the matrix solver. Dry cells are assigned with a zero velocity.
References
 Lai, Y. G. 2010. Twodimensional depthaveraged flow modeling with an unstructured hybrid mesh. Journal of Hydraulic Engineering (136):12–23.
 Rhie, T. M., and A. Chow. 1983. Numerical study of the turbulent flow past an isolated airfoil with trailingedge separation. AIAA Journal (21):1525–1532.
 van Doormaal, J. P. and Raithby, G. D. 1984. Enhancements of the SIMPLE method for predicting incompressible fluid flows. Numerical Heat Transfer (7): 147–163.