version 3.9-dev

One-equation turbulence model by Spalart-Allmaras. More...

Description

A single-phase, isothermal one-equation turbulence model by Spalart-Allmaras.

Single-phase Reynolds-Averaged Navier-Stokes flow.

A single-phase, isothermal Reynolds-Averaged Navier-Stokes model.

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}^{\text{T}}) = \nabla \cdot (\mu_\textrm{eff} (\nabla \textbf{v} + \nabla \textbf{v}^{\text{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} \]

.

This model, published by Spalart and Allmaras 1992 [74], uses one additional PDE for a working variable \( \tilde{\nu} \). This variable has the units of a viscosity and can be converted to the eddy viscosity via a model function~( \( f_\text{v1} \)):

\[ \nu_\text{t} = \tilde{\nu} f_\text{v1} \]

Here, as proposed by Wilcox [87] and Versteeg [84], the correction term which account for the transition or trip, is dropped from the original equations, such that the balance equation simplifies to:

\[ \frac{\partial \tilde{\nu}\varrho}{\partial t} + \nabla \cdot \left( \tilde{\nu} \varrho \textbf{v} \right) - c_\text{b1} \tilde{S} \tilde{\nu} \varrho - \frac{1}{\sigma_{\tilde{\nu}}} \nabla \cdot \left( \left[ \mu + \tilde{\nu} \varrho \right] \nabla \tilde{\nu} \right) - \frac{c_\text{b2}}{\sigma_{\tilde{\nu}}} \varrho \left| \nabla \tilde{\nu} \right|^2 + c_\text{w1} f_\text{w} \varrho \frac{\tilde{\nu}^2}{y^2} = 0 \]

Here, a modified mean effective strain rate ( \( \tilde{S} \)) based on the mean rotation rate tensor ( \( \mathbf{\Omega} \)) is used:

\[ \tilde{S} = \sqrt{2 \mathbf{\Omega} \cdot \mathbf{\Omega}} + \frac{\tilde{\nu}}{\kappa^2 y^2} f_\text{v2} \]

\[ \mathbf{\Omega} = \frac{1}{2} \left( \nabla \textbf{v}_\text{g} - \nabla \textbf{v}_\text{g}^{T} \right) \]

This balance equation is linked to the flow geometry by the distance to the closest wall ($y$). Further, the model uses the following functions and expressions:

\[ \chi = \frac{\tilde{\nu}}{\nu} \]

\[ f_\text{v1} = \frac{\chi^3}{\chi^3+c_\text{v1}^3} \]

\[ f_\text{v2} = 1 - \frac{\chi}{1+f_\text{v1}\chi} \]

\[ f_\text{w} = g_\text{w} \left( \frac{1+c_\text{w3}^6}{g^6_\text{w}+c_\text{w3}^6} \right)^\frac{1}{6} \]

\[ g_\text{w} = r_\text{w} + c_\text{w2} (r_\text{w}^6 - r_\text{w}) \]

\[ r_\text{w} = \min \left[ \frac{\tilde{\nu}}{\tilde{S}\kappa^2 y^2},10\right] \]

\[ \sigma_{\tilde{\nu}} = \frac{2}{3} \]

\[ c_\text{b1} = 0.1355 \]

\[ c_\text{b2} = 0.622 \]

\[ c_\text{v1} = 7.1 \]

\[ c_\text{w1} = \frac{c_\text{b1}}{\kappa^2} + \frac{1+c_\text{b2}}{\sigma_{\tilde{\nu}}} \]

\[ c_\text{w2} = 0.3 \]

\[ c_\text{w3} = 2 \]

\[ \kappa = 0.41 \]

\[ \sigma_{\tilde{\nu}} = 2/3 \]

Files

file  freeflow/rans/oneeq/fluxvariables.hh
 
file  freeflow/rans/oneeq/indices.hh
 
file  freeflow/rans/oneeq/iofields.hh
 
file  freeflow/rans/oneeq/localresidual.hh
 
file  freeflow/rans/oneeq/model.hh
 A single-phase, isothermal one-equation turbulence model by Spalart-Allmaras.
 
file  freeflow/rans/oneeq/problem.hh
 One-equation turbulence problem base class.
 
file  freeflow/rans/oneeq/staggered/fluxvariables.hh
 
file  freeflow/rans/oneeq/staggered/localresidual.hh
 
file  freeflow/rans/oneeq/volumevariables.hh
 

Classes

struct  Dumux::OneEqIndices< dimension, numComponents >
 The common indices for the isothermal one-equation turbulence model by Spalart-Allmaras. More...
 
struct  Dumux::OneEqIOFields
 Adds I/O fields for the one-equation turbulence model by Spalart-Allmaras. More...
 
struct  Dumux::Properties::OneEqModelTraits< dimension >
 Traits for the Spalart-Allmaras model. More...
 
class  Dumux::RANSProblemImpl< TypeTag, TurbulenceModel::oneeq >
 One-equation turbulence problem base class. More...
 
class  Dumux::OneEqFluxVariablesImpl< TypeTag, BaseFluxVariables, DiscretizationMethod >
 The flux variables class for the one-equation model by Spalart-Allmaras using the staggered grid discretization. More...
 
class  Dumux::OneEqResidualImpl< TypeTag, BaseLocalResidual, DiscretizationMethod >
 Element-wise calculation of the residual for one-equation turbulence models using the staggered discretization. More...
 
class  Dumux::OneEqVolumeVariables< Traits, NSVolumeVariables >
 Volume variables for the isothermal single-phase one-equation turbulence model by Spalart-Allmaras. More...
 

Typedefs

template<class TypeTag , class BaseFluxVariables >
using Dumux::OneEqFluxVariables = OneEqFluxVariablesImpl< TypeTag, BaseFluxVariables, typename GetPropType< TypeTag, Properties::GridGeometry >::DiscretizationMethod >
 The flux variables class for the one-equation turbulence model by Spalart-Allmaras. This is a convenience alias for that actual, discretization-specific flux variables. More...
 
template<class TypeTag , class BaseLocalResidual >
using Dumux::OneEqResidual = OneEqResidualImpl< TypeTag, BaseLocalResidual, typename GetPropType< TypeTag, Properties::GridGeometry >::DiscretizationMethod >
 The local residual class for the one-equation turbulence model by Spalart-Allmaras This is a convenience alias for the actual, discretization-specific local residual. More...
 

Typedef Documentation

◆ OneEqFluxVariables

template<class TypeTag , class BaseFluxVariables >
using Dumux::OneEqFluxVariables = typedef OneEqFluxVariablesImpl<TypeTag, BaseFluxVariables, typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod>
Note
Not all specializations are currently implemented

◆ OneEqResidual

template<class TypeTag , class BaseLocalResidual >
using Dumux::OneEqResidual = typedef OneEqResidualImpl<TypeTag, BaseLocalResidual, typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod>
Note
Not all specializations are currently implemented