B.10 Vertical Mixing Model

B.10.1 Science

TUFLOW FV offers three vertical mixing models:

  • Parametric
  • k-ε (k-epsilon)
  • k-ω (k-omega)

B.10.1.1 Parametric

The parametric vertical mixing model is based on the stability function:

\[\begin{equation} \nu_{t0} = \kappa u_* z \left(c_1 - c_2 \frac{z}{h}\right) \tag{B.113} \end{equation}\]

\[\begin{equation} \nu_t,v = \sqrt{1 + 10 \, Ri} \, \nu_{t0} \tag{B.114} \end{equation}\]

where:

  • \(\nu_{t0}\) = base eddy viscosity (m\(^2\)/s)
  • \(\nu_t,v\) = stability-adjusted vertical eddy viscosity (m\(^2\)/s)
  • \(\kappa\) = von Kármán constant (≈0.41)
  • \(u_*\) = friction velocity (m/s)
  • \(z\) = elevation relative to bed (m)
  • \(h\) = total water depth (m)
  • \(c_1, c_2\) = user-defined parametric vertical mixing model coefficients (–)
  • \(Ri\) = gradient Richardson number (–)

The Richardson number is defined as:

\[\begin{equation} Ri = \frac{N^2}{\left(\dfrac{\partial u}{\partial z}\right)^2} \tag{B.16} \end{equation}\]

where \(u\) is horizontal velocity (m/s).

The Brunt–Väisälä (buoyancy) frequency is:

\[\begin{equation} N = \sqrt{-\frac{g}{\rho} \frac{\partial \rho}{\partial z}} \tag{B.115} \end{equation}\]

where:

  • \(g\) = gravitational acceleration (m/s\(^2\))
  • \(\rho\) = density (kg/m\(^3\))

B.10.1.2 K-Epsilon

The k-ε turbulence model solves transport equations for the turbulent kinetic energy \(k\) (units: m\(^2\)/s\(^2\)) and the dissipation rate of turbulent kinetic energy \(\varepsilon\) (units: m\(^2\)/s\(^3\)):

\[\begin{equation} \frac{\partial}{\partial t} (\rho k) + \frac{\partial}{\partial x_i} (\rho k u_i) = \frac{\partial}{\partial x_j} \left( \rho \frac{\nu_t}{\sigma_k} \frac{\partial k}{\partial x_j} \right) + P_k + P_b - \rho \varepsilon \tag{B.116} \end{equation}\]

\[\begin{equation} \frac{\partial}{\partial t} (\rho \varepsilon) + \frac{\partial}{\partial x_i} (\rho \varepsilon u_i) = \frac{\partial}{\partial x_j} \left( \rho \frac{\nu_t}{\sigma_\varepsilon} \frac{\partial \varepsilon}{\partial x_j} \right) + \frac{\varepsilon}{k} \left( C_{1\varepsilon} P_k + C_{3\varepsilon} P_b \right) - C_{2\varepsilon} \rho \frac{\varepsilon^2}{k} \tag{B.117} \end{equation}\]

where:

  • \(t\) is time (s)
  • \(x_i\) are the coordinates in the three Cartesian directions (m)
  • \(\rho\) is the density of water (kg/m\(^3\))
  • \(u_i\) are the mean velocity components in each Cartesian direction (m/s)
  • \(\nu_t\) is the turbulent (eddy) viscosity (m\(^2\)/s)
  • \(P_k\) and \(P_b\) are the production terms of turbulent kinetic energy
  • \(C_{1\varepsilon}, C_{2\varepsilon}, C_{3\varepsilon}, \sigma_k, \sigma_\varepsilon\) are model coefficients

From \(k\) and \(\varepsilon\), the vertical eddy viscosity \(\nu_t\) is calculated as:

\[\begin{equation} \nu_t = C_\mu \frac{k^2}{\varepsilon} \tag{B.118} \end{equation}\]

where \(C_\mu\) is a model coefficient (default value: 0.09). The quantity \(\nu_t\) is then used to close the bulk momentum equations.

The production term \(P_k\) is defined as:

\[\begin{equation} P_k = \rho \nu_t S^2 \tag{B.119} \end{equation}\]

where \(S\) is the magnitude of the mean rate of strain tensor:

\[\begin{equation} S = \sqrt{2 S_{ij} S_{ij}} \tag{B.120} \end{equation}\]

The production due to buoyancy is estimated as:

\[\begin{equation} P_b = \rho \nu_h N^2 \tag{B.121} \end{equation}\]

where:

  • \(\nu_h\) is the turbulent eddy diffusivity for heat (m\(^2\)/s), calculated as \(\nu_t / \text{Pr}_t\)
  • \(\text{Pr}_t\) is the turbulent Prandtl number (default = 0.74)
  • \(N^2\) is the Brunt–Väisälä frequency squared (s\(^{-2}\)):

\[\begin{equation} N^2 = -\frac{g}{\rho} \frac{d\rho}{dz} \tag{B.122} \end{equation}\]

with:

  • \(g\) as the gravitational acceleration (m/s\(^2\))
  • \(z\) as the vertical coordinate (m)

The following default parameters are used based on Rodi (1984):

\[\begin{equation} \sigma_k = 1.0, \quad \sigma_\varepsilon = 1.3, \quad C_{1\varepsilon} = 1.44, \quad C_{2\varepsilon} = 1.92 \tag{B.123} \end{equation}\]

Different values of \(C_{3\varepsilon}\) can be used depending on the stratification:

\[\begin{equation} C_{3\varepsilon} = \begin{cases} C_{3\varepsilon-} = 0 & \text{for } N^2 < 0 \quad \text{(stable stratification)} \\ C_{3\varepsilon+} = 1 & \text{for } N^2 \geq 0 \quad \text{(unstable stratification)} \end{cases} \tag{B.124} \end{equation}\]

By defining a negative \(C_{3\varepsilon-}\) value using the Vertical Mixing Model Parameters command, the buoyancy production term \(P_b\) contributes to dissipation of turbulence under stable stratification.

B.10.1.3 K-Omega

The k-ω turbulence model solves two transport equations for:

  • Turbulent kinetic energy \(k\) (units: m\(^2\)/s\(^2\))
  • Rate of the inverse turbulent time scale \(\omega\) (units: s\(^{-1}\))

\[\begin{equation} \frac{\partial}{\partial t} (\rho k) + \frac{\partial}{\partial x_i} (\rho k u_i) = \frac{\partial}{\partial x_j} \left( \rho \frac{\nu_t}{\sigma_k} \frac{\partial k}{\partial x_j} \right) + P_k + P_b - \rho \varepsilon \tag{B.125} \end{equation}\]

\[\begin{equation} \frac{\partial}{\partial t} (\rho \omega) + \frac{\partial}{\partial x_i} (\rho \omega u_i) = \frac{\partial}{\partial x_j} \left( \rho \frac{\nu_t}{\sigma_\omega} \frac{\partial \omega}{\partial x_j} \right) + \frac{\omega}{k} \left( \alpha P_k + C_{3\omega} P_b \right) - \beta \rho \omega^2 \tag{B.126} \end{equation}\]

where:

  • \(t\): Time (s)

  • \(x_i\): Cartesian coordinates (m)

  • \(\rho\): Density of water (kg/m\(^3\))

  • \(u_i\): Mean velocity components in each Cartesian direction (m/s)

  • \(\nu_t\): Turbulent eddy viscosity (m\(^2\)/s)

  • \(P_k\), \(P_b\): Production terms of turbulent kinetic energy

  • \(\alpha\), \(\beta\), \(C_{3\omega}\), \(\sigma_k\), \(\sigma_\omega\): Model coefficients

From \(k\) and \(\omega\), the vertical eddy viscosity \(\nu_t\) is computed as:

\[\begin{equation} \nu_t = \frac{k}{\omega} \tag{B.127} \end{equation}\]

This quantity \(\nu_t\) is then used to close the bulk momentum equations. The relationship between the dissipation rate \(\varepsilon\) and the inverse turbulent time scale \(\omega\) is given by:

\[\begin{equation} \varepsilon = C_\mu k \omega \tag{B.128} \end{equation}\]

where \(C_\mu\) is a model coefficient (default = 0.09).

The default values of the model coefficients are taken from Wilcox (1988):

\[\begin{equation} \alpha = \frac{5}{9}, \quad \beta = \frac{3}{40}, \quad \sigma_k = 2, \quad \sigma_\omega = 2 \tag{B.129} \end{equation}\]

The default values for \(C_{3\omega}\) are zero for both stable and unstable stratification:

\[\begin{equation} C_{3\omega} = \begin{cases} C_{3\omega-} = 0 & \text{for } N^2 < 0 \quad \text{(stable stratification)} \\ C_{3\omega+} = 0 & \text{for } N^2 \geq 0 \quad \text{(unstable stratification)} \end{cases} \tag{B.130} \end{equation}\]

A negative value for \(C_{3\omega-}\) can be defined using the Vertical Mixing Model Parameters command. This allows the buoyancy production term to act as a sink, dissipating turbulence under stable stratification.

Umlauf & Burchard (2005) summarise the recommended values of \(C_{3\varepsilon}\) and \(C_{3\omega}\) for the k-ε and k-ω models as a function of the steady state Richardson number. These are provided below.

Publications Steady-State Richardson Number k-ε Model k-ω Model
C(3ε+) C(3ε−) C(3ω+) C(3ω−)
Gibson and Launder (1978) 0.201.0-0.5960.0-0.623
0.251.0-0.3700.0-0.492
0.301.0-0.2340.0-0.413
Cheng et al. (2002) 0.201.0-1.0640.0-0.894
0.251.0-0.7440.0-0.709
0.301.0-0.5450.0-0.593

B.10.1.4 Second Order Model

The simplified second-order turbulence closure formulation of Umlauf & Burchard (2005) is:

\[\begin{equation} \nu_t = C_\mu(\alpha_M, \alpha_N) \frac{k}{\varepsilon}, \quad \nu_h = C_\mu'(\alpha_M, \alpha_N) \frac{k}{\varepsilon} \tag{B.131} \end{equation}\]

\[\begin{equation} \alpha_M = \tau^2 S^2, \quad \alpha_N = \tau^2 N^2, \quad \tau = \frac{k}{\varepsilon} \tag{B.132} \end{equation}\]

The stability functions are written as:

\[\begin{equation} C_\mu(\alpha_M, \alpha_N) = \frac{n_0 + n_1 \alpha_N + n_2 \alpha_M} {d_0 + d_1 \alpha_N + d_2 \alpha_M + d_3 \alpha_N \alpha_M + d_4 \alpha_N^2 + d_5 \alpha_M^2} \tag{B.133} \end{equation}\]

\[\begin{equation} C_\mu'(\alpha_M, \alpha_N) = \frac{n_{b0} + n_{b1} \alpha_N + n_{b2} \alpha_M} {d_0 + d_1 \alpha_N + d_2 \alpha_M + d_3 \alpha_N \alpha_M + d_4 \alpha_N^2 + d_5 \alpha_M^2} \tag{B.134} \end{equation}\]

The model parameters \(d_X\) and \(n_X\) are defined as:

\[\begin{equation} \begin{aligned} d_0 &= 36N^3 N_b^2 \\\\ d_1 &= 84a_5 a_{b3} N^2 N_b + 36N^3 N_b \\\\ d_2 &= 9(a_{b2}^2 - a_{b1}^2) N^3 + 12(a_2^2 - 3a_3^2) N N_b^2 \\\\ d_3 &= 12a_5 a_{b3}(a_2 a_{b1} - 3a_3 a_{b2})N + 12a_5 a_{b3}(a_3^2 - a_3^2) N_b + 12a_{b5}(3a_3^2 - a_3^2) N N_b \\\\ d_4 &= 48a_5^2 a_{b3}^2 N + 36a_5 a_{b3} a_{b5} N^2 \\\\ d_5 &= 3(a_2^2 - 3a_3^2)(a_{b1}^2 - a_{b2}^2) N \\\\ n_0 &= 36a_1 N^2 N_b^2 \\\\ n_1 &= -12a_5 a_{b3}(a_{b1} + a_{b2}) N^2 + 8a_5 a_{b3}(6a_1 - a_2 - 3a_3) N N_b + 36a_1 a_{b5} N^2 N_b \\\\ n_2 &= 9a_1(a_{b2}^2 - a_{b1}^2) N^2 \\\\ n_{b0} &= 12a_{b3}^2 N^3 N_b \\\\ n_{b1} &= 12a_5 a_{b3}^2 N^2 \\\\ n_{b2} &= 9a_1 a_{b3}(a_{b1} - a_{b2}) N^2 + [6a_1(a_2 - 3a_3) - 4(a_2^2 - 3a_3^2)] a_{b3} N N_b \end{aligned} \tag{B.135} \end{equation}\]

The parameters \(N\), \(N_b\), and the coefficients \(a_X\) used in the equations above are defined as:

\[\begin{equation} \begin{aligned} N &= \frac{c_1}{2}, \quad N_b = c_{b1} \\\\ a_1 &= \frac{2}{3} - \frac{1}{2} c_2, \quad a_2 = 1 - \frac{1}{2} c_3, \quad a_3 = 1 - \frac{1}{2} c_4 \\\\ a_4 &= \frac{1}{2} c_5 = 0, \quad a_5 = \frac{1}{2} - \frac{1}{2} c_6 \\\\ a_{b1} &= 1 - c_{b2}, \quad a_{b2} = 1 - c_{b3}, \quad a_{b3} = 2(1 - c_{b4}) \\\\ a_{b4} &= 2(1 - c_{b5}), \quad a_{b5} = 2 c_{bb}(1 - c_{b5}) \end{aligned} \tag{B.136} \end{equation}\]

The empirical parameters \(a_X\) can be chosen from the table below.

Parameter GL78 MY86 KC94 LDOR96 CHCD01A CHCD01B CCH02
c13.60006.00006.00003.00005.00005.00005.0000
c20.80000.32000.32000.80000.80000.69830.7983
c31.20000.00000.00002.00001.96801.96641.9680
c41.20000.00000.00001.11801.13601.09401.1360
c50.00000.00000.00000.00000.00000.00000.0000
c60.50000.00000.00000.50000.40000.49500.5000
cb13.00003.72803.72803.00005.95005.60005.5200
cb20.33330.00000.70000.33330.60000.60000.2134
cb30.33330.00000.70000.33331.00001.00000.3570
cb40.00000.00000.00000.00000.00000.00000.0000
cb50.33330.00000.20000.33330.33330.33330.3333
cbb0.80000.61020.61020.80000.72000.47700.8200
Publication@Gibson1978@Mellor1982@KanthaClayson1994@Luyten1996@Canuto2001, version A@Canuto2001, version B@Cheng2002

B.10.1.5 Lengthscale Limiter

The turbulent length scale limiter (L) of Galperin et al. (1988) can optionally be applied within TUFLOW FV when computing \(\nu_t\) under stably stratified conditions:

\[\begin{equation} L^2 \leq C_{\text{Gapl}} \frac{k}{N^2} \tag{B.137} \end{equation}\]

where:

  • \(N^2\) is the squared Brunt–Väisälä frequency (where \(N^2 > 0\), in units of s\(^{-2}\))
  • \(C_{\text{Gapl}}\) is a coefficient (typically \(C_{\text{Gapl}} = 0.53\), as suggested by Galperin et al. 1988)

This limiter corresponds to a lower bound on dissipation rates:

  • For the k-ε model:

\[\begin{equation} \varepsilon \geq \frac{C_\mu^{3/4}}{\sqrt{2} \, C_{\text{Gapl}}} \cdot \frac{k}{N} \tag{B.138} \end{equation}\]

  • For the k-ω model:

\[\begin{equation} C_\mu k \omega \geq \frac{C_\mu^{-1/4}}{\sqrt{2} \, C_{\text{Gapl}}} \cdot \frac{1}{N} \tag{B.139} \end{equation}\]

B.10.1.6 Internal Wave Mixing Model

For mixing below the thermocline or halocline, TUFLOW FV can apply the internal wave mixing model of Kantha & Clayson (1994) to dampen turbulence under the influence of internal wave activity and shear instability. The viscosities \(\nu_t\) and \(\nu_h\) are modelled as a decreasing function of the gradient Richardson number:

  • For \(R_i > R_{i,\text{cr}}\):

\[ \nu_t = \nu_{t,R}, \quad \nu_h = \nu_{h,R} \]

  • For \(0 \leq R_i < R_{i,\text{cr}}\):

\[ \nu_t = \nu_{t,R} + \nu_{t,\text{shear}} \left[1 - \left(\frac{R_i}{R_{i,\text{cr}}}\right)^2 \right]^3 \] \[ \nu_h = \nu_{h,R} + \nu_{t,\text{shear}} \left[1 - \left(\frac{R_i}{R_{i,\text{cr}}}\right)^2 \right]^3 \]

  • For \(R_i \leq 0\):

\[ \nu_t = \nu_{t,R} + \nu_{t,\text{shear}}, \quad \nu_h = \nu_{h,R} + \nu_{t,\text{shear}} \]

Additional definitions:

\[ R_i = \frac{N^2}{S^2}, \quad S = \sqrt{2 S_{ij} S_{ij}}, \quad N^2 = -\frac{g}{\rho} \frac{d\rho}{dz} \]

where:

  • \(\nu_{t,R}\): Viscosity due to internal waves (default = \(1 \times 10^{-4} \, \text{m}^2/\text{s}\))
  • \(\nu_{h,R}\): Diffusivity of heat due to internal waves (default = \(5 \times 10^{-5} \, \text{m}^2/\text{s}\))
  • \(\nu_{t,\text{shear}}\): Viscosity due to shear instability (default = \(5 \times 10^{-3} \, \text{m}^2/\text{s}\))
  • \(R_{i,\text{cr}}\): Critical Richardson number (default = 0.7)
  • \(S\): Magnitude of the mean strain rate tensor (units: s\(^{-1}\))
  • \(N^2\): Brunt–Väisälä frequency squared (units: s\(^{-2}\))
  • \(g\): Gravitational acceleration (m/s\(^2\))
  • \(z\): Vertical coordinate (m)

Turbulence extinction occurs when the turbulent kinetic energy drops below a threshold \(k < k_{\text{lim,iw}}\), with the default \(k_{\text{lim,iw}} = 1 \times 10^{-6} \, \text{m}^2/\text{s}^2\).