# 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 ${\displaystyle p^{*}=\rho g{\overline {n}}^{*}}$ is estimated based on the previous time step value. Then, the momentum equations are solved for the corresponding velocity:

 ${\displaystyle {\frac {\partial (hV_{i}^{*})}{\partial t}}+{\frac {\partial (hV_{j}^{*}V_{i}^{*})}{\partial x_{j}}}={\frac {\partial }{\partial x_{j}}}\left(v_{t}h{\frac {\partial V_{i}^{*}}{\partial x_{j}}}\right)-{\frac {h}{\rho }}{\frac {\partial p^{*}}{\partial x_{i}}}+S_{i}^{*}}$ (1)

where ${\displaystyle S_{i}^{*}}$ includes all the remaining terms. The inter-cell velocities are calculated with a Rhie and Chow (1983) type interpolation method:

 ${\displaystyle V_{f}^{*}={\widehat {(H_{\perp }^{*})}}_{f}-\alpha _{v}{\widehat {\left({\frac {\Delta A_{P}}{\alpha _{P}}}\right)}}_{f}\left({\frac {h}{\rho }}\bigtriangledown _{\perp }p^{*}\right)_{f}}$ (2)

where ${\displaystyle (H_{\perp }^{*})_{f}=V_{\perp }^{*}+\alpha _{v}{\frac {\Delta A_{p}}{a_{p}}}{\frac {h}{\rho }}\bigtriangledown _{\perp }p^{*}}$ , ${\displaystyle \alpha _{v}}$ is the implicit relaxation coefficient (set to 0.8 by default), and ${\displaystyle {\widehat {(\ )}}_{f}}$ 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 ${\displaystyle V^{'}}$ and pressure corrections ${\displaystyle p^{'}}$ are defined such that both the momentum and continuity equations are satisfied:

 ${\displaystyle V_{i}^{n+1}=V_{i}^{*}+V_{i}^{'},p^{n+1}=p^{*}+p^{'}}$ (3a,b)

In the SIMPLEC algorithm, the velocity correction is related to the pressure correction by

 ${\displaystyle V_{i}^{'}=-G\bigtriangledown _{i}p^{'}}$ (4)

where ${\displaystyle G={\frac {\alpha _{v}{\frac {h}{\rho }}{\frac {\Delta A_{p}}{\alpha _{p}}}}{1-{\frac {\alpha _{v}}{\alpha _{p}}}\sum a_{N}}}}$ .

Using ${\displaystyle \partial h/\partial t=(\partial p/\partial t)/(\rho g)}$ and substituting ${\displaystyle V_{i}^{n+1}=V_{i}^{*}+V_{i}^{'}}$ in the continuity equation yields the semi-discrete water level correction equation

 ${\displaystyle {\frac {(1+0.5\theta )(p^{*}+p^{'})-(1+\theta )p^{n}+0.5\theta p^{n-1}}{\rho g\Delta t}}={\frac {\partial }{\partial x_{j}}}\left(hG{\frac {\partial p^{'}}{\partial x_{j}}}\right)-{\frac {\partial (hV_{j}^{*})}{\partial x_{j}}}}$ (5)

Note that at convergence, ${\displaystyle p^{'}\rightarrow 0,p^{n+1}=p^{*},V_{i}^{n+1}=V_{i}^{*}}$, and the above equation reduces to the continuity equation. Once the pressure correction equation is solved, the cell-centered water levels and current velocities are corrected. The cell face velocities are also corrected as ${\displaystyle V_{f}^{n+1}=V_{f}^{*}+V_{f}^{'}}$ , in which the velocity correction is given by ${\displaystyle V_{f}^{'}=-G_{f}(\bigtriangledown _{\perp }p^{'})_{f}}$ .

## Summary of the SIMPLEC Algorithm:

1. Guess the water level and pressure field (${\displaystyle p^{*}}$)

2. Solve the momentum equations (Equation 1) to obtain ${\displaystyle V_{i}^{*}}$

3. Use the Rhie and Chow (1983) momentum to determine the velocities and fluxes at cell faces (Equation 2)

4. Solve the pressure equation

 ${\displaystyle \Delta z_{bk}={\frac {f_{morph}\Delta t}{\rho _{s}(1-\rho _{m}^{'}))}}[\alpha _{t}\omega _{sk}(C_{tk}^{n+1}-C_{tk*}^{n+1})+S_{bk}^{n+1}]}$ (6)

to obtain ${\displaystyle p^{'}}$

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 land-water interface changes with time. This means that it is possible for nodes at the land-water 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. Two-dimensional depth-averaged flow modeling with an un-structured 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 trailing-edge 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.