3.1-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Files | Classes | Typedefs

Low-Re k-epsilon model. More...

Description

Low-Re k-epsilon model.

Single-phase Reynolds-Averaged Navier-Stokes flow.

This model implements a single-phase, isothermal Reynolds-Averaged Navier-Stokes model, solving the momentum balance equation

\[ \frac{\partial (\varrho \textbf{v})}{\partial t} + \nabla \cdot (\varrho \textbf{v} \textbf{v}^{\textup{T}}) = \nabla \cdot (\mu_\textrm{eff} (\nabla \textbf{v} + \nabla \textbf{v}^{\textup{T}})) - \nabla p + \varrho \textbf{g} - \textbf{f} \]

The effective viscosity is composed of the fluid and the eddy viscosity:

\[ \mu_\textrm{eff} = \mu + \mu_\textrm{t} \]

.

The low-Reynolds k-epsilon models calculate the eddy viscosity with two additional PDEs, one for the turbulent kinetic energy (k) and for the dissipation ( \( \varepsilon \)). The model uses the one proposed by Chien [13]. A good overview and additional models are given in Patel et al. [54].

The turbulent kinetic energy balance is identical with the one from the k-epsilon model, but the dissipation includes a dampening function ( \( D_\varepsilon \)): \( \varepsilon = \tilde{\varepsilon} + D_\varepsilon \):

\[ \frac{\partial \left( k \right)}{\partial t} + \nabla \cdot \left( \textbf{v} k \right) - \nabla \cdot \left( \left( \nu + \frac{\nu_\text{t}}{\sigma_\text{k}} \right) \nabla k \right) - 2 \nu_\text{t} \textbf{S} \cdot \textbf{S} + \tilde{\varepsilon} + D_\varepsilon = 0 \]

.

The dissipation balance is changed by introducing additional functions ( \( E_\text{k}\), \( f_1 \), and \( f_2 \)) to account for a dampening towards the wall:

\[ \frac{\partial \left( \tilde{\varepsilon} \right)}{\partial t} + \nabla \cdot \left( \textbf{v} \tilde{\varepsilon} \right) - \nabla \cdot \left( \left( \nu + \frac{\nu_\text{t}}{\sigma_{\varepsilon}} \right) \nabla \tilde{\varepsilon} \right) - C_{1\tilde{\varepsilon}} f_1 \frac{\tilde{\varepsilon}}{k} 2 \nu_\text{t} \textbf{S} \cdot \textbf{S} + C_{2\tilde{\varepsilon}} f_2 \frac{\tilde{\varepsilon}^2}{k} - E_\text{k} = 0 \]

.

The kinematic eddy viscosity \( \nu_\text{t} \) is dampened by \( f_\mu \):

\[ \nu_\text{t} = C_\mu f_\mu \frac{k^2}{\tilde{\varepsilon}} \]

.

The auxiliary and dampening functions are defined as:

\[ D_\varepsilon = 2 \nu \nicefrac{k}{y^2} \]

\[ E_\text{k} = -2 \nu \frac{\tilde{\varepsilon}}{y^2} \exp \left( -0.5 y^+ \right) \]

\[ f_1 = 1 \]

\[ f_2 = 1 - 0.22 \exp \left( - \left( \frac{\mathit{Re}_\text{t}}{6} \right)^2 \right) \]

\[ f_\mu = 1 - \exp \left( -0.0115 y^+ \right) \]

\[ \mathit{Re}_\text{t} = \frac{k^2}{\nu \tilde{\varepsilon}} \]

.

Finally, the model is closed with the following constants:

\[ \sigma_\text{k} = 1.00 \]

\[ \sigma_\varepsilon =1.30 \]

\[ C_{1\tilde{\varepsilon}} = 1.35 \]

\[ C_{2\tilde{\varepsilon}} = 1.80 \]

\[ C_\mu = 0.09 \]

Files

file  freeflow/rans/twoeq/lowrekepsilon/fluxvariables.hh
 
file  dumux/freeflow/rans/twoeq/lowrekepsilon/iofields.hh
 
file  freeflow/rans/twoeq/lowrekepsilon/localresidual.hh
 
file  freeflow/rans/twoeq/lowrekepsilon/model.hh
 A single-phase, isothermal low-Reynolds k-epsilon model.
 
file  dumux/freeflow/rans/twoeq/lowrekepsilon/problem.hh
 Low-Re k-epsilon turbulence problem base class.
 
file  freeflow/rans/twoeq/lowrekepsilon/staggered/fluxvariables.hh
 
file  freeflow/rans/twoeq/lowrekepsilon/staggered/localresidual.hh
 
file  freeflow/rans/twoeq/lowrekepsilon/volumevariables.hh
 

Classes

struct  Dumux::LowReKEpsilonIOFields
 Adds I/O fields for the low-Re k-epsilon turbulence model. More...
 
struct  Dumux::Properties::LowReKEpsilonModelTraits< dimension >
 Traits for the low-Reynolds k-epsilon model. More...
 
class  Dumux::RANSProblemImpl< TypeTag, TurbulenceModel::lowrekepsilon >
 Low-Re k-epsilon turbulence problem base class. More...
 
class  Dumux::LowReKEpsilonFluxVariablesImpl< TypeTag, BaseFluxVariables, DiscretizationMethod::staggered >
 The flux variables class for the low-Reynolds k-epsilon model using the staggered grid discretization. More...
 
class  Dumux::LowReKEpsilonResidualImpl< TypeTag, BaseLocalResidual, DiscretizationMethod::staggered >
 Element-wise calculation of the residual for low-Reynolds k-epsilon models using the staggered discretization. More...
 
class  Dumux::LowReKEpsilonVolumeVariables< Traits, NSVolumeVariables >
 Volume variables for the isothermal single-phase low-Re k-epsilons model. More...
 

Typedefs

template<class TypeTag , class BaseFluxVariables >
using Dumux::LowReKEpsilonFluxVariables = LowReKEpsilonFluxVariablesImpl< TypeTag, BaseFluxVariables, GetPropType< TypeTag, Properties::GridGeometry >::discMethod >
 The flux variables class for the low-Reynolds k-epsilon model. This is a convenience alias for that actual, discretization-specific flux variables. More...
 
template<class TypeTag , class BaseLocalResidual >
using Dumux::LowReKEpsilonResidual = LowReKEpsilonResidualImpl< TypeTag, BaseLocalResidual, GetPropType< TypeTag, Properties::GridGeometry >::discMethod >
 The local residual class for the low-Reynolds k-epsilon model. This is a convenience alias for the actual, discretization-specific local residual. More...
 

Typedef Documentation

◆ LowReKEpsilonFluxVariables

template<class TypeTag , class BaseFluxVariables >
using Dumux::LowReKEpsilonFluxVariables = typedef LowReKEpsilonFluxVariablesImpl<TypeTag, BaseFluxVariables, GetPropType<TypeTag, Properties::GridGeometry>::discMethod>

The flux variables class for the low-Reynolds k-epsilon model. This is a convenience alias for that actual, discretization-specific flux variables.

Note
Not all specializations are currently implemented

◆ LowReKEpsilonResidual

template<class TypeTag , class BaseLocalResidual >
using Dumux::LowReKEpsilonResidual = typedef LowReKEpsilonResidualImpl<TypeTag, BaseLocalResidual, GetPropType<TypeTag, Properties::GridGeometry>::discMethod>

The local residual class for the low-Reynolds k-epsilon model. This is a convenience alias for the actual, discretization-specific local residual.

Note
Not all specializations are currently implemented