SpalartAllmarasDES< BasicTurbulenceModel > Class Template Reference

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

Inheritance diagram for SpalartAllmarasDES< BasicTurbulenceModel >:
[legend]
Collaboration diagram for SpalartAllmarasDES< BasicTurbulenceModel >:
[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 ()=default
 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 ()=default
 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 ()=default
 Destructor. 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 ()=default
 Destructor. 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< 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 ()=default
 Destructor. More...
 
virtual tmp< volSymmTensorFielddevRhoReff () const
 Return the effective stress tensor. More...
 
virtual tmp< volSymmTensorFielddevRhoReff (const volVectorField &U) const
 Return the effective stress tensor based on a given velocity field. 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 ()=default
 Destructor. More...
 
virtual const dictionarycoeffDict () const
 Const access to the coefficients dictionary. More...
 
const dimensionedScalarCe () const noexcept
 
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...
 
virtual tmp< volScalarFieldepsilon () const
 Return the turbulence kinetic energy dissipation rate. More...
 
virtual tmp< volScalarFieldomega () const
 Return the specific dissipation rate. 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...
 
 LESModel (const LESModel &)=delete
 No copy construct. More...
 
void operator= (const LESModel &)=delete
 No copy assignment. 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 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 Ce_
 Empirical model constant. More...
 
dimensionedScalar kMin_
 Lower limit of k. More...
 
dimensionedScalar epsilonMin_
 Lower limit of epsilon. More...
 
dimensionedScalar omegaMin_
 Lower limit for omega. More...
 
autoPtr< Foam::LESdeltadelta_
 Run-time selectable delta model. More...
 

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.
Note
The default value of the DES constant implemented was calibrated for OpenFOAM using decaying isotropic turbulence and agrees with the value suggested in the reference publication.
Source files

Definition at line 80 of file SpalartAllmarasDES.H.

Member Typedef Documentation

◆ alphaField

typedef BasicTurbulenceModel::alphaField alphaField

Definition at line 188 of file SpalartAllmarasDES.H.

◆ rhoField

typedef BasicTurbulenceModel::rhoField rhoField

Definition at line 189 of file SpalartAllmarasDES.H.

◆ transportModel

typedef BasicTurbulenceModel::transportModel transportModel

Definition at line 190 of file SpalartAllmarasDES.H.

Constructor & Destructor Documentation

◆ SpalartAllmarasDES()

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

References Foam::type().

Here is the call graph for this function:

◆ ~SpalartAllmarasDES()

virtual ~SpalartAllmarasDES ( )
virtualdefault

Destructor.

Member Function Documentation

◆ chi()

tmp< volScalarField > chi ( ) const
protected

Definition at line 42 of file SpalartAllmarasDES.C.

References nu.

◆ fv1()

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

Definition at line 50 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 61 of file SpalartAllmarasDES.C.

◆ ft2()

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

Definition at line 72 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 82 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 92 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 113 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 143 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 157 of file SpalartAllmarasDES.C.

References Foam::dimless, Foam::constant::electromagnetic::e, Foam::max(), mesh, Foam::min(), IOobject::NO_READ, IOobject::NO_WRITE, psi, tmp< T >::ref(), 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 204 of file SpalartAllmarasDES.C.

References delta, Foam::min(), psi, and tmp< T >::ref().

Here is the call graph for this function:

◆ correctNut() [1/2]

void correctNut ( const volScalarField fv1)
protected

Definition at line 218 of file SpalartAllmarasDES.C.

References optionList::correct(), GeometricField< Type, PatchField, GeoMesh >::correctBoundaryConditions(), and options::New().

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

References dimensioned< Type >::readIfPresent(), and Foam::sqr().

Here is the call graph for this function:

◆ DnuTildaEff()

tmp< volScalarField > DnuTildaEff ( ) const

Return the effective diffusivity for nuTilda.

Definition at line 449 of file SpalartAllmarasDES.C.

References nu.

◆ k()

tmp< volScalarField > k ( ) const
virtual

Return SGS kinetic energy.

Implements eddyViscosity< LESModel< BasicTurbulenceModel > >.

Definition at line 459 of file SpalartAllmarasDES.C.

References GeometricField< Type, PatchField, GeoMesh >::correctBoundaryConditions(), Foam::dimLength, Foam::fvc::grad(), IOobject::NO_READ, IOobject::NO_WRITE, nut, tmp< T >::ref(), Foam::sqr(), and Foam::Zero.

Here is the call graph for this function:

◆ nuTilda()

tmp<volScalarField> nuTilda ( ) const
inline

◆ LESRegion()

tmp< volScalarField > LESRegion ( ) const
virtual

Return the LES field indicator.

Implements DESModel< BasicTurbulenceModel >.

Definition at line 490 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

Correct nuTilda and related properties.

Implements eddyViscosity< LESModel< BasicTurbulenceModel > >.

Definition at line 516 of file SpalartAllmarasDES.C.

References Foam::constant::atomic::alpha, Foam::bound(), eddyViscosity< LESModel< BasicTurbulenceModel > >::correct(), Foam::fvm::ddt(), Foam::fvm::div(), fvOptions, Foam::fvc::grad(), Foam::fvm::laplacian(), Foam::magSqr(), options::New(), tmp< T >::ref(), rho, Foam::solve(), Foam::fvm::Sp(), Foam::sqr(), U, and Foam::Zero.

Here is the call graph for this function:

Member Data Documentation

◆ sigmaNut_

dimensionedScalar sigmaNut_
protected

Definition at line 99 of file SpalartAllmarasDES.H.

◆ kappa_

dimensionedScalar kappa_
protected

Definition at line 100 of file SpalartAllmarasDES.H.

◆ Cb1_

dimensionedScalar Cb1_
protected

Definition at line 102 of file SpalartAllmarasDES.H.

◆ Cb2_

dimensionedScalar Cb2_
protected

Definition at line 103 of file SpalartAllmarasDES.H.

◆ Cw1_

dimensionedScalar Cw1_
protected

Definition at line 104 of file SpalartAllmarasDES.H.

◆ Cw2_

dimensionedScalar Cw2_
protected

Definition at line 105 of file SpalartAllmarasDES.H.

◆ Cw3_

dimensionedScalar Cw3_
protected

Definition at line 106 of file SpalartAllmarasDES.H.

◆ Cv1_

dimensionedScalar Cv1_
protected

Definition at line 107 of file SpalartAllmarasDES.H.

◆ Cs_

dimensionedScalar Cs_
protected

Definition at line 108 of file SpalartAllmarasDES.H.

◆ CDES_

dimensionedScalar CDES_
protected

Definition at line 109 of file SpalartAllmarasDES.H.

◆ ck_

dimensionedScalar ck_
protected

Definition at line 110 of file SpalartAllmarasDES.H.

◆ lowReCorrection_

Switch lowReCorrection_
protected

Definition at line 115 of file SpalartAllmarasDES.H.

◆ Ct3_

dimensionedScalar Ct3_
protected

Definition at line 116 of file SpalartAllmarasDES.H.

◆ Ct4_

dimensionedScalar Ct4_
protected

Definition at line 117 of file SpalartAllmarasDES.H.

◆ fwStar_

dimensionedScalar fwStar_
protected

Definition at line 118 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 128 of file SpalartAllmarasDES.H.


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