Loading...
Searching...
No Matches
SpalartAllmaras< BasicTurbulenceModel > Class Template Reference

Spalart-Allmaras one-transport-equation linear-eddy-viscosity turbulence closure model for incompressible and compressible external flows. More...

#include <SpalartAllmaras.H>

Inheritance diagram for SpalartAllmaras< BasicTurbulenceModel >:
Collaboration diagram for SpalartAllmaras< BasicTurbulenceModel >:

Public Types

typedef BasicTurbulenceModel::alphaField alphaField
typedef BasicTurbulenceModel::rhoField rhoField
typedef BasicTurbulenceModel::transportModel transportModel
Public Types inherited from SpalartAllmarasBase< eddyViscosity< RASModel< BasicTurbulenceModel > > >
typedef eddyViscosity< RASModel< BasicTurbulenceModel > >::alphaField alphaField
typedef eddyViscosity< RASModel< BasicTurbulenceModel > >::rhoField rhoField
typedef eddyViscosity< RASModel< BasicTurbulenceModel > >::transportModel transportModel
Public Types inherited from eddyViscosity< RASModel< BasicTurbulenceModel > >
typedef BasicTurbulenceModel::alphaField alphaField
typedef BasicTurbulenceModel::rhoField rhoField
typedef BasicTurbulenceModel::transportModel transportModel
Public Types inherited from linearViscousStress< BasicTurbulenceModel >
typedef BasicTurbulenceModel::alphaField alphaField
typedef BasicTurbulenceModel::rhoField rhoField
typedef BasicTurbulenceModel::transportModel transportModel

Public Member Functions

 TypeName ("SpalartAllmaras")
 Runtime type information.
 SpalartAllmaras (const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &propertiesName=turbulenceModel::propertiesName, const word &type=typeName)
 Construct from components.
virtual ~SpalartAllmaras ()=default
 Destructor.
Public Member Functions inherited from SpalartAllmarasBase< eddyViscosity< RASModel< BasicTurbulenceModel > > >
virtual ~SpalartAllmarasBase ()=default
 Destructor.
virtual bool read ()
 Re-read model coefficients if they have changed.
tmp< volScalarFieldDnuTildaEff () const
 Return the effective diffusivity for nuTilda.
virtual tmp< volScalarFieldk () const
 Return the (estimated) turbulent kinetic energy.
virtual tmp< volScalarFieldepsilon () const
 Return the (estimated) turbulent kinetic energy dissipation rate.
virtual tmp< volScalarFieldomega () const
 Return the (estimated) specific dissipation rate.
tmp< volScalarFieldnuTilda () const
 Return the modified kinematic viscosity.
virtual void correct ()
 Correct nuTilda and related properties.
Public Member Functions inherited from eddyViscosity< RASModel< BasicTurbulenceModel > >
 eddyViscosity (const word &modelName, const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &propertiesName)
 Construct from components.
virtual ~eddyViscosity ()=default
 Destructor.
virtual tmp< volScalarFieldnut () const
 Return the turbulence viscosity.
virtual tmp< volSymmTensorFieldR () const
 Return the Reynolds stress tensor.
virtual void validate ()
 Validate the turbulence fields after construction.
Public Member Functions inherited from linearViscousStress< BasicTurbulenceModel >
 linearViscousStress (const word &modelName, const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &propertiesName)
 Construct from components.
virtual ~linearViscousStress ()=default
 Destructor.
virtual tmp< volSymmTensorFielddevRhoReff () const
 Return the effective stress tensor.
virtual tmp< volSymmTensorFielddevRhoReff (const volVectorField &U) const
 Return the effective stress tensor based on a given velocity field.
virtual tmp< fvVectorMatrixdivDevRhoReff (volVectorField &U) const
 Return the source term for the momentum equation.
virtual tmp< fvVectorMatrixdivDevRhoReff (const volScalarField &rho, volVectorField &U) const
 Return the source term for the momentum equation.

Protected Member Functions

virtual tmp< volScalarFielddTilda (const volScalarField &chi, const volScalarField &fv1, const volTensorField &gradU) const
 Return the length scale.
virtual void correctNut ()
Protected Member Functions inherited from SpalartAllmarasBase< eddyViscosity< RASModel< BasicTurbulenceModel > > >
tmp< volScalarFieldchi () const
tmp< volScalarFieldfv1 (const volScalarField &chi) const
tmp< volScalarFieldfv2 (const volScalarField &chi, const volScalarField &fv1) const
tmp< volScalarFieldft2 (const volScalarField &chi) const
tmp< volScalarFieldOmega (const volTensorField &gradU) const
tmp< volScalarFieldr (const volScalarField &nur, const volScalarField &Stilda, const volScalarField &dTilda) const
tmp< volScalarField::Internalfw (const volScalarField &Stilda, const volScalarField &dTilda) const
virtual tmp< volScalarFieldStilda (const volScalarField &chi, const volScalarField &fv1, const volTensorField &gradU, const volScalarField &dTilda) const
void correctNut (const volScalarField &fv1)

Additional Inherited Members

Protected Attributes inherited from SpalartAllmarasBase< eddyViscosity< RASModel< BasicTurbulenceModel > > >
dimensionedScalar sigmaNut_
dimensionedScalar kappa_
dimensionedScalar Cb1_
dimensionedScalar Cb2_
dimensionedScalar Cw1_
dimensionedScalar Cw2_
dimensionedScalar Cw3_
dimensionedScalar Cv1_
dimensionedScalar Cs_
dimensionedScalar ck_
Switch ft2_
dimensionedScalar Ct3_
dimensionedScalar Ct4_
volScalarField nuTilda_
 Modified kinematic viscosity [m^2/s].
const volScalarFieldy_
 Wall distance.
Protected Attributes inherited from eddyViscosity< RASModel< BasicTurbulenceModel > >
volScalarField nut_

Detailed Description

template<class BasicTurbulenceModel>
class Foam::RASModels::SpalartAllmaras< BasicTurbulenceModel >

Spalart-Allmaras one-transport-equation linear-eddy-viscosity turbulence closure model for incompressible and compressible external flows.

Required fields

    nuTilda   | Modified kinematic viscosity [m2/s]

References:

    Standard model:
        Spalart, P.R., & Allmaras, S.R. (1994).
        A one-equation turbulence model for aerodynamic flows.
        La Recherche Aerospatiale, 1, 5-21.

    Standard model without trip and ft2 terms (tag:R):
        Rumsey, C. (2020).
        The Spalart-Allmaras Turbulence Model.
        Spalart-Allmaras One-Equation Model without ft2 Term (SA-noft2).
        https://turbmodels.larc.nasa.gov/spalart.html#sanoft2
        (Retrieved:12-01-2021).
Usage
Example by using constant/turbulenceProperties:
RAS
{
    // Mandatory entries (unmodifiable)
    RASModel        SpalartAllmaras;

    // Optional entries (runtime modifiable)
    turbulence      on;
    printCoeffs     on;

    SpalartAllmarasCoeffs
    {
        sigmaNut    0.66666;
        kappa       0.41;
        Cb1         0.1355;
        Cb2         0.622;
        Cw2         0.3;
        Cw3         2.0;
        Cv1         7.1;
        Cs          0.3;
    }
}
Note
  • The model is implemented without the trip-term since the model has almost always been used in fully turbulent applications rather than those where laminar-turbulent transition occurs.
  • The Stilda generation term should never be allowed to be zero or negative to avoid potential numerical issues and unphysical results for complex flows. To this end, a limiter proposed by Spalart (R:Note-1(b)) is applied onto Stilda where Stilda is clipped at Cs*Omega with the default value of Cs=0.3.
  • The model does not produce k, epsilon or omega. Nevertheless, these quantities can be estimated by using an approximate expressions for turbulent kinetic energy and dissipation rate reported in (B:Eq. 4.50).
Source files

Definition at line 115 of file SpalartAllmaras.H.

Member Typedef Documentation

◆ alphaField

template<class BasicTurbulenceModel>
typedef BasicTurbulenceModel::alphaField alphaField

Definition at line 151 of file SpalartAllmaras.H.

◆ rhoField

template<class BasicTurbulenceModel>
typedef BasicTurbulenceModel::rhoField rhoField

Definition at line 152 of file SpalartAllmaras.H.

◆ transportModel

template<class BasicTurbulenceModel>
typedef BasicTurbulenceModel::transportModel transportModel

Definition at line 153 of file SpalartAllmaras.H.

Constructor & Destructor Documentation

◆ SpalartAllmaras()

template<class BasicTurbulenceModel>
SpalartAllmaras ( const alphaField & alpha,
const rhoField & rho,
const volVectorField & U,
const surfaceScalarField & alphaRhoPhi,
const surfaceScalarField & phi,
const transportModel & transport,
const word & propertiesName = turbulenceModel::propertiesName,
const word & type = typeName )

Construct from components.

Definition at line 60 of file SpalartAllmaras.C.

References alpha, eddyViscosity< RASModel< BasicTurbulenceModel > >::eddyViscosity(), Foam::GlobalIOList< Tuple2< scalar, vector > >::typeName, phi, rho, and U.

Here is the call graph for this function:

◆ ~SpalartAllmaras()

template<class BasicTurbulenceModel>
virtual ~SpalartAllmaras ( )
virtualdefault

Destructor.

Member Function Documentation

◆ dTilda()

◆ correctNut()

template<class BasicTurbulenceModel>
void correctNut ( )
protectedvirtual

◆ TypeName()

template<class BasicTurbulenceModel>
TypeName ( "SpalartAllmaras< BasicTurbulenceModel >" )

Runtime type information.


The documentation for this class was generated from the following files: