Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
SpalartAllmarasDES< BasicTurbulenceModel > Class Template Reference

SpalartAllmarasDES DES turbulence model for incompressible and compressible flows. More...

Inheritance diagram for SpalartAllmarasDES< BasicTurbulenceModel >:
Inheritance graph
[legend]
Collaboration diagram for SpalartAllmarasDES< BasicTurbulenceModel >:
Collaboration graph
[legend]

Public Types

typedef BasicTurbulenceModel::alphaField alphaField
 
typedef BasicTurbulenceModel::rhoField rhoField
 
typedef BasicTurbulenceModel::transportModel transportModel
 
- Public Types inherited from DESModel< BasicTurbulenceModel >
typedef BasicTurbulenceModel::alphaField alphaField
 
typedef BasicTurbulenceModel::rhoField rhoField
 
typedef BasicTurbulenceModel::transportModel transportModel
 
- Public Types inherited from LESeddyViscosity< BasicTurbulenceModel >
typedef BasicTurbulenceModel::alphaField alphaField
 
typedef BasicTurbulenceModel::rhoField rhoField
 
typedef BasicTurbulenceModel::transportModel transportModel
 
- Public Types inherited from eddyViscosity< LESModel< BasicTurbulenceModel > >
typedef LESModel< BasicTurbulenceModel > ::alphaField alphaField
 
typedef LESModel< BasicTurbulenceModel > ::rhoField rhoField
 
typedef LESModel< BasicTurbulenceModel > ::transportModel transportModel
 
- Public Types inherited from linearViscousStress< LESModel< BasicTurbulenceModel > >
typedef LESModel< BasicTurbulenceModel > ::alphaField alphaField
 
typedef LESModel< BasicTurbulenceModel > ::rhoField rhoField
 
typedef LESModel< BasicTurbulenceModel > ::transportModel transportModel
 
- Public Types inherited from LESModel< BasicTurbulenceModel >
typedef BasicTurbulenceModel::alphaField alphaField
 
typedef BasicTurbulenceModel::rhoField rhoField
 
typedef BasicTurbulenceModel::transportModel transportModel
 

Public Member Functions

 TypeName ("SpalartAllmarasDES")
 Runtime type information. More...
 
 SpalartAllmarasDES (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. More...
 
virtual ~SpalartAllmarasDES ()
 Destructor. More...
 
virtual bool read ()
 Re-read model coefficients if they have changed. More...
 
tmp< volScalarFieldDnuTildaEff () const
 Return the effective diffusivity for nuTilda. More...
 
virtual tmp< volScalarFieldk () const
 Return SGS kinetic energy. More...
 
tmp< volScalarFieldnuTilda () const
 
virtual tmp< volScalarFieldLESRegion () const
 Return the LES field indicator. More...
 
virtual void correct ()
 Correct nuTilda and related properties. More...
 
- Public Member Functions inherited from DESModel< BasicTurbulenceModel >
 DESModel (const word &type, const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &propertiesName=turbulenceModel::propertiesName)
 Construct from components. More...
 
virtual ~DESModel ()
 Destructor. More...
 
- Public Member Functions inherited from DESModelBase
 DESModelBase ()
 Constructor. More...
 
virtual ~DESModelBase ()
 Destructor. More...
 
 ClassName ("DESModelBase")
 
- Public Member Functions inherited from LESeddyViscosity< BasicTurbulenceModel >
 LESeddyViscosity (const word &type, const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &propertiesName=turbulenceModel::propertiesName)
 Construct from components. More...
 
virtual ~LESeddyViscosity ()
 Destructor. More...
 
virtual tmp< volScalarFieldepsilon () const
 Return sub-grid disipation rate. More...
 
- Public Member Functions inherited from eddyViscosity< LESModel< 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. More...
 
virtual ~eddyViscosity ()
 Destructor. More...
 
volScalarFieldevNut ()
 Return non-const access to the turbulence viscosity. More...
 
virtual tmp< volScalarFieldnut () const
 Return the turbulence viscosity. More...
 
virtual tmp< scalarFieldnut (const label patchi) const
 Return the turbulence viscosity on patch. More...
 
virtual tmp< volScalarFieldk () const=0
 Return the turbulence kinetic energy. More...
 
virtual tmp< volSymmTensorFieldR () const
 Return the Reynolds stress tensor. More...
 
virtual void validate ()
 Validate the turbulence fields after construction. More...
 
- Public Member Functions inherited from linearViscousStress< LESModel< 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. More...
 
virtual ~linearViscousStress ()
 Destructor. More...
 
virtual tmp< volSymmTensorFielddevRhoReff () const
 Return the effective stress tensor. More...
 
virtual tmp< fvVectorMatrixdivDevRhoReff (volVectorField &U) const
 Return the source term for the momentum equation. More...
 
virtual tmp< fvVectorMatrixdivDevRhoReff (const volScalarField &rho, volVectorField &U) const
 Return the source term for the momentum equation. More...
 
- Public Member Functions inherited from LESModel< BasicTurbulenceModel >
 TypeName ("LES")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, LESModel, dictionary,(const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &propertiesName),(alpha, rho, U, alphaRhoPhi, phi, transport, propertiesName))
 
 LESModel (const word &type, const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &propertiesName)
 Construct from components. More...
 
virtual ~LESModel ()
 Destructor. More...
 
virtual const dictionarycoeffDict () const
 Const access to the coefficients dictionary. More...
 
const dimensionedScalarkMin () const
 Return the lower allowable limit for k (default: SMALL) More...
 
dimensionedScalarkMin ()
 Allow kMin to be changed. More...
 
const volScalarFielddelta () const
 Access function to filter width. More...
 
virtual tmp< volScalarFieldnuEff () const
 Return the effective viscosity. More...
 
virtual tmp< scalarFieldnuEff (const label patchi) const
 Return the effective viscosity on patch. More...
 

Protected Member Functions

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< volScalarFieldStilda (const volScalarField &chi, const volScalarField &fv1, const volScalarField &Omega, const volScalarField &dTilda) const
 
tmp< volScalarFieldr (const volScalarField &nur, const volScalarField &Omega, const volScalarField &dTilda) const
 
tmp< volScalarFieldfw (const volScalarField &Omega, const volScalarField &dTilda) const
 
tmp< volScalarFieldpsi (const volScalarField &chi, const volScalarField &fv1) const
 
virtual tmp< volScalarFielddTilda (const volScalarField &chi, const volScalarField &fv1, const volTensorField &gradU) const
 Length scale. More...
 
void correctNut (const volScalarField &fv1)
 
virtual void correctNut ()
 
- Protected Member Functions inherited from LESModel< BasicTurbulenceModel >
virtual void printCoeffs (const word &type)
 Print model coefficients. More...
 

Protected Attributes

dimensionedScalar sigmaNut_
 
dimensionedScalar kappa_
 
dimensionedScalar Cb1_
 
dimensionedScalar Cb2_
 
dimensionedScalar Cw1_
 
dimensionedScalar Cw2_
 
dimensionedScalar Cw3_
 
dimensionedScalar Cv1_
 
dimensionedScalar Cs_
 
dimensionedScalar CDES_
 
dimensionedScalar ck_
 
Switch lowReCorrection_
 
dimensionedScalar Ct3_
 
dimensionedScalar Ct4_
 
dimensionedScalar fwStar_
 
volScalarField nuTilda_
 
const volScalarFieldy_
 Wall distance. More...
 
- Protected Attributes inherited from LESeddyViscosity< BasicTurbulenceModel >
dimensionedScalar Ce_
 
- Protected Attributes inherited from eddyViscosity< LESModel< BasicTurbulenceModel > >
volScalarField nut_
 
- Protected Attributes inherited from LESModel< BasicTurbulenceModel >
dictionary LESDict_
 LES coefficients dictionary. More...
 
Switch turbulence_
 Turbulence on/off flag. More...
 
Switch printCoeffs_
 Flag to print the model coeffs at run-time. More...
 
dictionary coeffDict_
 Model coefficients dictionary. More...
 
dimensionedScalar kMin_
 Lower limit of k. More...
 
dimensionedScalar omegaMin_
 Lower limit of omega. More...
 
autoPtr< Foam::LESdeltadelta_
 Run-time selectable delta model. More...
 

Private Member Functions

 SpalartAllmarasDES (const SpalartAllmarasDES &)
 
SpalartAllmarasDESoperator= (const SpalartAllmarasDES &)
 

Additional Inherited Members

- Static Public Member Functions inherited from LESModel< BasicTurbulenceModel >
static autoPtr< LESModelNew (const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &propertiesName=turbulenceModel::propertiesName)
 Return a reference to the selected LES model. More...
 

Detailed Description

template<class BasicTurbulenceModel>
class Foam::LESModels::SpalartAllmarasDES< BasicTurbulenceModel >

SpalartAllmarasDES DES turbulence model for incompressible and compressible flows.

Reference:

    Spalart, P. R., Jou, W. H., Strelets, M., & Allmaras, S. R. (1997).
    Comments on the feasibility of LES for wings, and on a hybrid
    RANS/LES approach.
    Advances in DNS/LES, 1, 4-8.

Including the low Reynolds number correction documented in

    Spalart, P. R., Deck, S., Shur, M.L., Squires, K.D., Strelets, M.Kh,
    Travin, A. (2006).
    A new version of detached-eddy simulation, resistant to ambiguous grid
    densities.
    Theor. Comput. Fluid Dyn., 20, 181-195.
Source files

Definition at line 72 of file SpalartAllmarasDES.H.

Member Typedef Documentation

◆ alphaField

typedef BasicTurbulenceModel::alphaField alphaField

Definition at line 178 of file SpalartAllmarasDES.H.

◆ rhoField

typedef BasicTurbulenceModel::rhoField rhoField

Definition at line 179 of file SpalartAllmarasDES.H.

◆ transportModel

typedef BasicTurbulenceModel::transportModel transportModel

Definition at line 180 of file SpalartAllmarasDES.H.

Constructor & Destructor Documentation

◆ SpalartAllmarasDES() [1/2]

SpalartAllmarasDES ( const SpalartAllmarasDES< BasicTurbulenceModel > &  )
private

◆ SpalartAllmarasDES() [2/2]

SpalartAllmarasDES ( 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 236 of file SpalartAllmarasDES.C.

References Foam::type().

Here is the call graph for this function:

◆ ~SpalartAllmarasDES()

virtual ~SpalartAllmarasDES ( )
inlinevirtual

Destructor.

Definition at line 204 of file SpalartAllmarasDES.H.

Member Function Documentation

◆ operator=()

SpalartAllmarasDES& operator= ( const SpalartAllmarasDES< BasicTurbulenceModel > &  )
private

◆ chi()

tmp< volScalarField > chi
protected

Definition at line 38 of file SpalartAllmarasDES.C.

References nu.

◆ fv1()

tmp< volScalarField > fv1 ( const volScalarField chi) const
protected

Definition at line 46 of file SpalartAllmarasDES.C.

References Foam::pow3().

Here is the call graph for this function:

◆ fv2()

tmp< volScalarField > fv2 ( const volScalarField chi,
const volScalarField fv1 
) const
protected

Definition at line 57 of file SpalartAllmarasDES.C.

◆ ft2()

tmp< volScalarField > ft2 ( const volScalarField chi) const
protected

Definition at line 68 of file SpalartAllmarasDES.C.

References Foam::exp(), and Foam::sqr().

Here is the call graph for this function:

◆ Omega()

tmp< volScalarField > Omega ( const volTensorField gradU) const
protected

Definition at line 78 of file SpalartAllmarasDES.C.

References Foam::mag(), Foam::skew(), and Foam::sqrt().

Here is the call graph for this function:

◆ Stilda()

tmp< volScalarField > Stilda ( const volScalarField chi,
const volScalarField fv1,
const volScalarField Omega,
const volScalarField dTilda 
) const
protected

Definition at line 88 of file SpalartAllmarasDES.C.

References Foam::max(), and Foam::sqr().

Here is the call graph for this function:

◆ r()

tmp< volScalarField > r ( const volScalarField nur,
const volScalarField Omega,
const volScalarField dTilda 
) const
protected

Definition at line 109 of file SpalartAllmarasDES.C.

References Foam::max(), Foam::min(), Foam::sqr(), and Foam::tr().

Here is the call graph for this function:

◆ fw()

tmp< volScalarField > fw ( const volScalarField Omega,
const volScalarField dTilda 
) const
protected

Definition at line 139 of file SpalartAllmarasDES.C.

References g, Foam::pow(), and Foam::pow6().

Here is the call graph for this function:

◆ psi()

tmp< volScalarField > psi ( const volScalarField chi,
const volScalarField fv1 
) const
protected

Definition at line 153 of file SpalartAllmarasDES.C.

References Foam::dimless, Foam::e, Foam::max(), mesh, Foam::min(), IOobject::NO_READ, IOobject::NO_WRITE, psi, Foam::sqr(), Foam::sqrt(), timeName, and Foam::type().

Here is the call graph for this function:

◆ dTilda()

tmp< volScalarField > dTilda ( const volScalarField chi,
const volScalarField fv1,
const volTensorField gradU 
) const
protectedvirtual

Length scale.

Reimplemented in SpalartAllmarasIDDES< BasicTurbulenceModel >, and SpalartAllmarasDDES< BasicTurbulenceModel >.

Definition at line 200 of file SpalartAllmarasDES.C.

References delta, dimensionedInternalField(), Foam::min(), and psi.

Here is the call graph for this function:

◆ correctNut() [1/2]

void correctNut ( const volScalarField fv1)
protected

Definition at line 214 of file SpalartAllmarasDES.C.

References GeometricField::correctBoundaryConditions().

Here is the call graph for this function:

◆ correctNut() [2/2]

void correctNut
protectedvirtual

◆ TypeName()

TypeName ( "SpalartAllmarasDES< BasicTurbulenceModel >"  )

Runtime type information.

◆ read()

bool read
virtual

Re-read model coefficients if they have changed.

Reimplemented from LESeddyViscosity< BasicTurbulenceModel >.

Reimplemented in SpalartAllmarasIDDES< BasicTurbulenceModel >, and SpalartAllmarasDDES< BasicTurbulenceModel >.

Definition at line 412 of file SpalartAllmarasDES.C.

References dimensioned::readIfPresent(), and Foam::sqr().

Here is the call graph for this function:

◆ DnuTildaEff()

tmp< volScalarField > DnuTildaEff

Return the effective diffusivity for nuTilda.

Definition at line 446 of file SpalartAllmarasDES.C.

References nu.

◆ k()

tmp< volScalarField > k
virtual

Return SGS kinetic energy.

Definition at line 456 of file SpalartAllmarasDES.C.

References Foam::fvc::grad(), nut, and Foam::sqr().

Here is the call graph for this function:

◆ nuTilda()

tmp<volScalarField> nuTilda ( ) const
inline

◆ LESRegion()

tmp< volScalarField > LESRegion
virtual

Return the LES field indicator.

Implements DESModel< BasicTurbulenceModel >.

Definition at line 465 of file SpalartAllmarasDES.C.

References Foam::fvc::grad(), Foam::neg(), IOobject::NO_READ, and IOobject::NO_WRITE.

Here is the call graph for this function:

◆ correct()

void correct
virtual

Field Documentation

◆ sigmaNut_

dimensionedScalar sigmaNut_
protected

Definition at line 89 of file SpalartAllmarasDES.H.

◆ kappa_

dimensionedScalar kappa_
protected

Definition at line 90 of file SpalartAllmarasDES.H.

◆ Cb1_

dimensionedScalar Cb1_
protected

Definition at line 92 of file SpalartAllmarasDES.H.

◆ Cb2_

dimensionedScalar Cb2_
protected

Definition at line 93 of file SpalartAllmarasDES.H.

◆ Cw1_

dimensionedScalar Cw1_
protected

Definition at line 94 of file SpalartAllmarasDES.H.

◆ Cw2_

dimensionedScalar Cw2_
protected

Definition at line 95 of file SpalartAllmarasDES.H.

◆ Cw3_

dimensionedScalar Cw3_
protected

Definition at line 96 of file SpalartAllmarasDES.H.

◆ Cv1_

dimensionedScalar Cv1_
protected

Definition at line 97 of file SpalartAllmarasDES.H.

◆ Cs_

dimensionedScalar Cs_
protected

Definition at line 98 of file SpalartAllmarasDES.H.

◆ CDES_

dimensionedScalar CDES_
protected

Definition at line 99 of file SpalartAllmarasDES.H.

◆ ck_

dimensionedScalar ck_
protected

Definition at line 100 of file SpalartAllmarasDES.H.

◆ lowReCorrection_

Switch lowReCorrection_
protected

Definition at line 105 of file SpalartAllmarasDES.H.

◆ Ct3_

dimensionedScalar Ct3_
protected

Definition at line 106 of file SpalartAllmarasDES.H.

◆ Ct4_

dimensionedScalar Ct4_
protected

Definition at line 107 of file SpalartAllmarasDES.H.

◆ fwStar_

dimensionedScalar fwStar_
protected

Definition at line 108 of file SpalartAllmarasDES.H.

◆ nuTilda_

volScalarField nuTilda_
protected

◆ y_

const volScalarField& y_
protected

Wall distance.

Note: different to wall distance in parent RASModel which is for near-wall cells only

Definition at line 118 of file SpalartAllmarasDES.H.


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