CMS-Flow Numerical Methods: Hydrodynamics: Difference between revisions

From CIRPwiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 14: Line 14:
|2}}
|2}}


where <math>(H_\perp^*)_f = V_\perp^* + \frac{\Delta A_p}{a_p}\frac{h}{\rho}\bigtriangledown_\perp p^*</math> and <math> \left(\frac{h}{\rho}\bigtriangledown_\perp p^*    \right)_f</math> 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.  
where <math>(H_\perp^*)_f = V_\perp^* + \alpha_v \frac{\Delta A_p}{a_p}\frac{h}{\rho}\bigtriangledown_\perp p^*</math> , <math>\alpha_v</math> is the implicit relaxation coefficient (set to 0.8 by default), and <math>\widehat {(\ )}_f </math> 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 <math>V^'</math>  and pressure corrections <math>p^'</math>  are defined such that both the momentum and continuity equations are satisfied
Next, the velocity <math>V^'</math>  and pressure corrections <math>p^'</math>  are defined such that both the momentum and continuity equations are satisfied:
{{Equation|
<math>
V_i^{n+1} = V_i^* + V_i^' , p^{n+1} = p^* + p^'
</math>
|3a,b}}


Subtracting the initial velocity equation from the momentum equation leads to velocity correction equation
{{Equation|<math>V_i^{n+1} = V_i^* + V_i^' , p^{n+1} = p^* + p^'
{{Equation|
</math>|3a,b}}
<math>
\frac {\partial(hV_i^')}{\partial t} + \frac{\partial(hV_i^'V_j^')}{\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}
</math>
|4}}


This equation can be written in the discretized form as
In the SIMPLEC algorithm, the velocity correction is related to the pressure correction by
{{Equation|
<math>
a_p V_{i,P}^' = \sum a_N V_{i,N}^' - \frac{h}{\rho} \bigtriangledown_i p_P^' \Delta A_P
</math>
|5}}


In the SIMPLEC algorithm, the velocity correction is assumed to vary smoothly so that <math>\sum a_N V_{i,N}^'</math>  may be approximated as <math>V_{i,P}^' \sum a_N</math> , which leads to the velocity correction equation
{{Equation|<math>V_i^' = -G\bigtriangledown_i p^'</math>|6}}
{{Equation|
<math>
V_i^' = -G\bigtriangledown_i p^'
</math>
|6}}


where  
where <math>G = \frac{\alpha_v \frac{h}{\rho} \frac{\Delta A_p}{\alpha_p}} {1 - \frac{\alpha_v}{\alpha_p} \sum a_N}</math> .


<math>G = (h \Delta A_p / \rho) / \left (a_p - \sum a_N  \right)</math> . Using <math>\partial h / \partial t = \partial p /(\rho g \partial t)</math>
Using <math>\partial h / \partial t = (\partial p /\partial t)/(\rho g)</math> and substituting <math>V_i ^{n+1} = V_i ^* + V_i ^' </math> in the continuity equation yields the semi-discrete water level correction equation


and substituting  <math>V_i^{n+1} = V_i^* + V_i^'</math> in the continuity equation yields the semi-discrete water level correction equation
{{Equation|<math>
{{Equation|
\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} </math> |7}}
<math>
\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}
</math>
|7}}


Note that at convergence, <math>p^' = 0</math> 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 <math>V_f^{n+1} = V_f^* + V_f^'</math>  , in which the velocity correction is given by <math>V_f^' = -G_f(\bigtriangledown_\perp p^')_f</math> .
Note that at convergence, <math>p^' = 0</math> 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 <math>V_f^{n+1} = V_f^* + V_f^'</math>  , in which the velocity correction is given by <math>V_f^' = -G_f(\bigtriangledown_\perp p^')_f</math> .

Revision as of 18:54, 13 January 2015

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 , 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

  (6)

where .

Using and substituting in the continuity equation yields the semi-discrete water level correction equation

  (7)

Note that at convergence, 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 , 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 (give Equation numbers here) to obtain

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

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).