CMS-Flow Numerical Methods: Hydrodynamics

From CIRPwiki
Jump to navigation Jump to search

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

 

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 {\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 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 S_i^*} includes all the remaining terms. The inter-cell velocities are calculated with a Rhie and Chow (1983) type interpolation method:

 

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^* = \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 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 (H_\perp^*)_f = V_\perp^* + \alpha_v \frac{\Delta A_p}{a_p}\frac{h}{\rho}\bigtriangledown_\perp p^*} , 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 \alpha_v} is the implicit relaxation coefficient (set to 0.8 by default), and 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 \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 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^'} and pressure corrections 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^'} are defined such that both the momentum and continuity equations are satisfied:

  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^{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

  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^' = -G\bigtriangledown_i p^'} (4)

where 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 G = \frac{\alpha_v \frac{h}{\rho} \frac{\Delta A_p}{\alpha_p}} {1 - \frac{\alpha_v}{\alpha_p} \sum a_N}} .

Using 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 \partial h / \partial t = (\partial p /\partial t)/(\rho g)} and substituting 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 ^{n+1} = V_i ^* + V_i ^' } 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} } (5)

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^' \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 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 (Equation 1) 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 (Equation 2)

4. Solve the pressure 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 \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 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 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.