CMS-Flow 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 inter-cell velocities are calculated with a Rhie and Chow (1983) type interpolation method:
|
(2) |
where and denotes the linear interpolation operator. This method avoids the checkerboard oscillations associated with the collocated grid. It is noted that this approach is slightly different from Lai (2010) and others and 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) |
Subtracting the initial velocity equation from the momentum equation leads to velocity correction equation
|
(4) |
This equation can be written in the discretized form as
|
(5) |
In the SIMPLEC algorithm, the velocity correction is assumed to vary smoothly so that may be approximated as , which leads to the velocity correction equation
|
(6) |
where
. Using
and substituting in the continuity equation yields the semi-discrete water level correction equation
Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\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} } |
(7) |
Note that at convergence, Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle p^' = 0} and the Equation 3-28 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 Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle V_f^{n+1} = V_f^* + V_f^'} , in which the velocity correction is given by Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle V_f^' = -G_f(\bigtriangledown_\perp p^')_f} .
Summary of the SIMPLEC Algorithm:
1. Guess the water level and pressure field Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle p^*}
2. Solve the momentum equations (give Equation numbers here) to obtain Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle V_i^*}
3. Use the Rhie and Chow (1983) momentum to determine the velocities and fluxes at cell faces
4. Solve the pressure equation (give Equation number here) to obtain Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\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
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. Cell faces are classified as either open (if the two cells neighboring cells are wet) or closed (i.e. cell faces are not classified as wet or dry).