CMS-Flow:Hydro Eqs: Difference between revisions
No edit summary |
No edit summary |
||
Line 22: | Line 22: | ||
where | where | ||
''<math>h</math>'' = wave-averaged water depth ''<math>h=\bar{\eta} - z_b </math>'' [m] | |||
''<math>V_i</math>'' = total mean mass flux velocity or simply total flux velocity for short [m/s] | ''<math>V_i</math>'' = total mean mass flux velocity or simply total flux velocity for short [m/s] | ||
Line 31: | Line 31: | ||
''<math>z_b</math>'' = bed elevation with respect to the SWL [m] | ''<math>z_b</math>'' = bed elevation with respect to the SWL [m] | ||
For simplicity in the notation, the over bar in subsequent wave-averaged variables is omitted. The total flux velocity is also referred to as the mean transport velocity (Phillips 1977) and mass transport velocity (Mei 1983). The current volume flux is defined as | |||
''<math>hU_i = \int \bar{u_i}dz<math>'' | |||
Revision as of 19:09, 15 July 2014
Continuity and Momentum Equations
Hydrodynamics
Governing Equations
Phillips (1977), Mei (1983), and Svendsen (2006) provide a detailed deri-vation of the depth-integrated and wave-averaged hydrodynamic equa-tions. Here, only variable definitions are provided and derivations may be obtained from the preceding references. The instantaneous current velocity ui is split into:
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 u_i = \bar{u_i} + \tilde{u_i} + u_i^'}
in which
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 \bar{u_i}} = current (wave-averaged) velocity [m/s]
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 \tilde{u_i}} = wave (oscillatory) velocity with wave-average 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 \bar{\tilde{u_i}} = 0 [m/s]}
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 u_i^'} = turbulent fluctuation with ensemble average 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 \langle u_i^' \rangle} = 0 and wave average 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 \bar{u_i^'}} = 0 [m/s]
The wave-averaged total volume flux is defined 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 hV_i} = 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 \bar{{\int_z^\eta} {u_i dz }}}
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} = wave-averaged water depth 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=\bar{\eta} - z_b } [m]
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} = total mean mass flux velocity or simply total flux velocity for short [m/s]
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 u_i} = instantaneous current velocity [m/s]
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 \eta} = instantaneous water level with respect to the Still Water Level (SWL) [m]
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 z_b} = bed elevation with respect to the SWL [m]
For simplicity in the notation, the over bar in subsequent wave-averaged variables is omitted. The total flux velocity is also referred to as the mean transport velocity (Phillips 1977) and mass transport velocity (Mei 1983). The current volume flux is defined 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 hU_i = \int \bar{u_i}dz<math>'' Assuming depth-uniform currents in the presence of oscillatory waves, the general depth- and phase-averaged continuity and momentum equations may be written as (Phillips 1977, Mei 1983, and Svendsen 2006) {{Equation|1=<math>\frac{\partial h}{\partial t}+\frac{\partial (h{{V}_{j}})}{\partial {{x}_{j}}}=0} |2=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 h} is the total water depth 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=\zeta+\eta} , 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 \eta} is the water surface elevation, 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 \zeta} is the still water depth, 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} is the wave-averaged, depth-integrated mass flux velocity defined 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_i=U_i+U_{wi}} , 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 U_i} is the phase- and depth-averaged current velocity, 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 U_{wi}} is the depth-averaged wave velocity (Phillips 1977)
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 U_{wi} = \frac{(E_w + 2E_{sr}) w_i}{\rho hc} } | (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 E_w} is the wave energy, 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 E_{sr}} is the surface roller energy, 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 \rho} is the water density, 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 c} is the wave celerity, 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 {{w}_{i}}=(\cos \theta ,\sin \theta ) } is the wave unit vector 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 \theta } is the wave direction.
The momentum equation can be written 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 \frac{\partial (h{{V}_{i}})}{\partial t}+\frac{\partial (h{{V}_{i}}{{V}_{j}})}{\partial {{x}_{j}}}-{{\varepsilon }_{ij}}{{f}_{c}}h{{V}_{j}}=-gh\frac{\partial \eta }{\partial {{x}_{i}}}-\frac{h}{{{\rho }_{0}}}\frac{\partial {{p}_{a}}}{\partial {{x}_{i}}}+\frac{\partial }{\partial {{x}_{j}}}\left( {{\nu }_{t}}h\frac{\partial {{V}_{i}}}{\partial {{x}_{j}}} \right) -\frac{1}{\rho }\frac{\partial }{\partial x_j} \left( S_{ij} + R_{ij} -\rho h U_{wi} U_{wj} \right) + \tau _{si}-\tau _{bi} } | (3) |
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} is the gravitational constant, 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 f_c} is the Coriolis parameter, 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_a} is the atmospheric 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 \rho_0} is a reference water density, 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 \nu_t} is the turbulent eddy viscosity, 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 \tau_{s} } is the surface wind stress, 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 \tau_{b}} is the combined wave-current mean bed shear stress. 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 \varepsilon_{ij}} is the permutation parameter equal to 1 for 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 i,j} = 1,2, -1 for 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 i,j} = 2,1; and 0 for 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 i=j} .
The equations above are similar to those derived by Svendsen 2006, ex-cept for the inclusion of the water source/sink term in the continuity equation, and the atmospheric pressure and surface roller terms in the momentum equation. It is also noted that the horizontal mixing term is formulated differently as a function of the total flux velocity similar to the Generalized Lagrangian Mean (GLM) approach (Andrews and McIntyre, 1978; Walstra et al, 2000). This approach is arguably more physically meaningful and also simplifies the descritization.
Bottom Stress
The mean (wave averaged) bed shear stress is calculated 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 \tau _i^b= m_b \lambda_{wc} \rho c_b U U_i } | (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 \lambda_{wc} } is the nonlinear wave enhancement factor, 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 m_b} is a bed slope friction coefficient, 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 c_b } is the bottom friction coefficient, 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 U_E= \sqrt{U_i^E U_i^E}} is the Eulerian current magnitude. For additional information on the bottom friction wee Bottom and Wall Friction
Wave and Roller Stresses
The wave radiation stresses 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_{ij}} are calculated using linear wave theory
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_{ij}=\iint\limits_{{}}{E_w \left[ n{{w}_{i}}{{w}_{j}}+{{\delta }_{ij}} \left( n-\frac{1}{2} \right) \right]df}d\theta } | (6) |
where is frequency, is the direction, =1 for , =0 for , and . For more information on the CMS-Wave model see CMS-Wave.
The roller stresses are given by are calculated as
(7) |
where is the roller energy. For more information on the surface roller see Surface Roller.
Numerical Methods
General Transport Equation: Discretization
All of the governing equations may be written in general form
|
(8) |
where is a general scalar, is time, is the total water depth, is the depth averaged current velocity, is the diffusion coefficient for , is the gradient operator, and includes all other terms. Note that in the case of the continuity and momentum equations is equal to 1 and respectively.
Temporal Term
The temporal term of the momentum equations is discretized using a first order implicit Euler scheme
|
(9) |
where is the cell area, and is the hydrodynamic time step.
Advection Term
The advection scheme obtained using the divergence theorem as where is the outward unit normal on cell face f, is the cell face length and is the total water depth linearly interpolated to the cell face. Here the overbar indicates a cell face interpolation operator described in the following section. For Cartesian grids the cell face unit vector is always aligned with one of the Cartesian coordinates which simplifies the calculation. Defining the cell face normal velocity as the above equation simplifies to
|
(10) |
where is the outward unit normal on cell face f, is the cell face length and is the total water depth linearly interpolated to the cell face. Here the overbar indicates a cell face interpolation operator described in the following section. For Cartesian grids the cell face unit vector is always aligned with one of the Cartesian coordinates which simplifies the calculation. Defining the cell face normal velocity as the above equation simplifies to
|
(11) |
where , , with being the basis vector. is equal to 1 for West and South faces and equal to -1 for North and East cell faces. Lastly, is the advective value of on cell face f, and is calculated using either the Hybrid, Exponential, HLPA (Zhu 1991) schemes. The cell face velocities are calculated using the momentum interpolation method of Rhie and Chow (1983) described in the subsequent section. The advection value is calculated as , where the superscripts and indicate low and high order approximations and the superscripts and indicate either explicit and implicit treatment. The explicit term is solved directly while the implicit term is implemented through a deferred correction in which the terms are approximated using the values from the previous iteration step.
Cell-face interpolation operator
The general formula for estimating the cell-face value of is given by
|
(12) |
where is a linear interpolation factor given by and is the gradient operator in the direction parallel to face f. By definition . Note that for neighboring cells without any refinement and are zero and thus the above equation is consistent with non-refined cell faces.
Diffusion term
The diffusion term is discretized in general form using the divergence theorem
|
(13) |
The discritization of the cell-face gradient is described in the next section. On a Cartesian grid the above expression may be further simplified as
|
(14) |
where is gradient in the direction perpendicular to the cell face and .
Hydrodynamic Solver
Wetting and drying
In the numerical simulation of the surface water flows with sloped beaches, sand bars and islands, the water edges change with time, with part of the nodes being possibly wet or dry. In the present model, a threshold flow depth (a small value such as 0.02 m in field cases) is used to judge drying and wetting. If the flow depth on a node is larger than the threshold value, this node is considered to be wet, and if the flow depth is lower than the threshold value, this node is dry. Because a fully implicit solver is used in the present model, all the wet and dry nodes participate in the solution. Dry nodes are assigned a zero velocity. On the water edges between the dry and wet nodes, the wall-function approach is applied.
References
- Buttolph, A. M., Reed, C. W., Kraus, N. C., Ono, N., Larson, M., Camenen, B., Hanson, H.,Wamsley, T., and Zundel, A. K. (2006). “Two-dimensional depth-averaged circulation model CMS-M2D: Version 3.0, Report 2: Sediment transport and morphology change,” Tech. Rep. ERDC/CHL TR-06-9, U.S. Army Engineer Research and Development Center, Coastal and Hydraulic Engineering, Vicksburg, MS.
- Ferziger, J. H., and Peric, M. (1997). “Computational Methods for Fluid Dynamics”, Springer-Verlag, Berlin/New York, 226 p.
- Huynh-Thanh, S., and Temperville, A. (1991). “A numerical model of the rough turbulent boundary layer in combined wave and current interaction,” in Sand Transport in Rivers, Estuaries and the Sea, eds. R.L. Soulsby and R. Bettess, pp.93-100. Balkema, Rotterdam.
- Phillips, O.M. (1977) Dynamics of the upper ocean, Cambridge University Press.
- Rhie, T.M. and Chow, A. (1983). “Numerical study of the turbulent flow past an isolated airfoil with trailing-edge separation”. AIAA J., 21, 1525–1532.
- Saad, Y., (1993). “A flexible inner-outer preconditioned GMRES algorithm,” SIAM Journal Scientific Computing, 14, 461–469.
- Saad, Y., (1994). “ILUT: a dual threshold incomplete ILU factorization,” Numerical Linear Algebra with Applications, 1, 387-402.
- Saad, Y. and Schultz, M.H., (1986). “GMRES: A generalized minimal residual algorithm for solving nonsymmetric linear systems,” SIAM Journal of Scientific and Statistical, Computing, 7, 856-869.
- Soulsby, R.L. (1995). “Bed shear-stresses due to combined waves and currents,” in Advanced in Coastal Morphodynamics, ed M.J.F Stive, H.J. de Vriend, J. Fredsoe, L. Hamm, R.L. Soulsby, C. Teisson, and J.C. Winterwerp, Delft Hydraulics, Netherlands. 4-20 to 4-23 pp.
- Svendsen, I.A. (2006). Introduction to nearshore hydrodynamics, Advanced Series on Ocean Engineering, 124, World Scientific Publishing, 722 p.
- Wu, W. (2004). “Depth-averaged 2-D numerical modeling of unsteady flow and nonuniform sediment transport in open channels,” Journal of Hydraulic Engineering, ASCE, 135(10) 1013-1024.
- Wu, W., Sánchez, A., and Mingliang, Z. (2011). “An implicit 2-D shallow water flow model on an unstructured quadtree rectangular grid,” Journal of Coastal Research, [In Press]
- Wu, W., Sánchez, A., and Mingliang, Z. (2010). “An implicit 2-D depth-averaged finite-volume model of flow and sediment transport in coastal waters,” Proceeding of the International Conference on Coastal Engineering, [In Press]
- Van Doormal, J.P. and Raithby, G.D., (1984). Enhancements of the SIMPLE method for predicting incompressible fluid flows. Num. Heat Transfer, 7, 147–163.
- Zhu, J. (1991). “A low-diffusive and oscillation-free convection scheme,”Communications in Applied Numerical Methods, 7, 225-232.
- Zwart, P. J., Raithby, G. D., Raw, M. J. (1998). “An integrated space-time finite volume method for moving boundary problems”, Numerical Heat Transfer, B34, 257.
Variable Index
Symbol | Description | Units |
---|---|---|
Time | sec | |
Total water depth | m | |
Still water depth | m | |
Water surface elevation with respect to the still water elevation | m | |
Current velocity in the jth direction | m/sec | |
Sum of Precipitation and evaporation per unit area | m/sec | |
Gravitational constant | m/secsup2/sup | |
Water density | kg/msup3/sup | |
Atmospheric pressure | Pa | |
Turbulent eddy viscosity | msup2/sup/sec |