Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Smagorinsky< BasicTurbulenceModel > Class Template Reference

The Smagorinsky SGS model. More...

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

Public Types

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 ("Smagorinsky")
 
 Smagorinsky (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)
 
virtual ~Smagorinsky ()=default
 
virtual bool read ()
 
virtual tmp< volScalarFieldk () const
 
virtual void correct ()
 
- 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)
 
virtual ~LESeddyViscosity ()=default
 
- 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)
 
virtual ~eddyViscosity ()=default
 
virtual tmp< volScalarFieldnut () const
 
virtual tmp< scalarFieldnut (const label patchi) const
 
virtual tmp< volScalarFieldk () const=0
 
virtual tmp< volSymmTensorFieldR () const
 
virtual void validate ()
 
- 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)
 
virtual ~linearViscousStress ()=default
 
virtual tmp< volSymmTensorFielddevRhoReff () const
 
virtual tmp< volSymmTensorFielddevRhoReff (const volVectorField &U) const
 
virtual tmp< fvVectorMatrixdivDevRhoReff (volVectorField &U) const
 
virtual tmp< fvVectorMatrixdivDevRhoReff (const volScalarField &rho, volVectorField &U) const
 
- Public Member Functions inherited from LESModel< BasicTurbulenceModel >
 TypeName ("LES")
 
 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)
 
virtual ~LESModel ()=default
 
virtual const dictionarycoeffDict () const
 
const dimensionedScalarCe () const noexcept
 
const dimensionedScalarkMin () const
 
dimensionedScalarkMin ()
 
const volScalarFielddelta () const
 
virtual tmp< volScalarFieldnuEff () const
 
virtual tmp< scalarFieldnuEff (const label patchi) const
 
virtual tmp< volScalarFieldepsilon () const
 
virtual tmp< volScalarFieldomega () const
 

Protected Member Functions

tmp< volScalarFieldk (const tmp< volTensorField > &gradU) const
 
virtual void correctNut ()
 
- Protected Member Functions inherited from LESModel< BasicTurbulenceModel >
virtual void printCoeffs (const word &type)
 
 LESModel (const LESModel &)=delete
 
void operator= (const LESModel &)=delete
 

Protected Attributes

dimensionedScalar Ck_
 
- Protected Attributes inherited from eddyViscosity< LESModel< BasicTurbulenceModel > >
volScalarField nut_
 
- Protected Attributes inherited from LESModel< BasicTurbulenceModel >
dictionary LESDict_
 
Switch turbulence_
 
Switch printCoeffs_
 
dictionary coeffDict_
 
dimensionedScalar Ce_
 
dimensionedScalar kMin_
 
dimensionedScalar epsilonMin_
 
dimensionedScalar omegaMin_
 
autoPtr< Foam::LESdeltadelta_
 

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)
 

Detailed Description

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

The Smagorinsky SGS model.

Reference:

    Smagorinsky, J. (1963).
    General circulation experiments with the primitive equations: I.
    The basic experiment*.
    Monthly weather review, 91(3), 99-164.

The form of the Smagorinsky model implemented is obtained from the k-equation model assuming local equilibrium which provides estimates of both k and epsilon separate from the sub-grid scale viscosity:

    B = 2/3*k*I - 2*nuSgs*dev(D)

where

    D = symm(grad(U));
    k from D:B + Ce*k^3/2/delta = 0
    nuSgs = Ck*sqrt(k)*delta

The default model coefficients are

    SmagorinskyCoeffs
    {
        Ck                  0.094;
        Ce                  1.048;
    }
See also
Foam::LESModels::kEqn
Source files

Definition at line 88 of file Smagorinsky.H.

Member Typedef Documentation

◆ alphaField

typedef BasicTurbulenceModel::alphaField alphaField

Definition at line 120 of file Smagorinsky.H.

◆ rhoField

typedef BasicTurbulenceModel::rhoField rhoField

Definition at line 121 of file Smagorinsky.H.

◆ transportModel

typedef BasicTurbulenceModel::transportModel transportModel

Definition at line 122 of file Smagorinsky.H.

Constructor & Destructor Documentation

◆ Smagorinsky()

Smagorinsky ( 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 
)

Definition at line 79 of file Smagorinsky.C.

References Foam::type().

Here is the call graph for this function:

◆ ~Smagorinsky()

virtual ~Smagorinsky ( )
virtualdefault

Member Function Documentation

◆ k() [1/2]

tmp< volScalarField > k ( const tmp< volTensorField > &  gradU) const
protected

Definition at line 36 of file Smagorinsky.C.

References Foam::constant::physicoChemical::b, Foam::constant::universal::c, D, delta, Foam::dev(), IOobject::groupName(), Foam::sqr(), Foam::sqrt(), Foam::symm(), and Foam::tr().

Here is the call graph for this function:

◆ correctNut()

void correctNut
protectedvirtual

Implements eddyViscosity< LESModel< BasicTurbulenceModel > >.

Reimplemented in SmagorinskyZhang< BasicTurbulenceModel >.

Definition at line 63 of file Smagorinsky.C.

References optionList::correct(), delta, Foam::fvc::grad(), k, options::New(), and Foam::sqrt().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "Smagorinsky< BasicTurbulenceModel >"  )

◆ read()

bool read
virtual

Reimplemented from LESeddyViscosity< BasicTurbulenceModel >.

Reimplemented in SmagorinskyZhang< BasicTurbulenceModel >.

Definition at line 122 of file Smagorinsky.C.

◆ k() [2/2]

virtual tmp<volScalarField> k ( ) const
inlinevirtual

Definition at line 155 of file Smagorinsky.H.

References Foam::fvc::grad().

Here is the call graph for this function:

◆ correct()

void correct
virtual

Implements eddyViscosity< LESModel< BasicTurbulenceModel > >.

Definition at line 136 of file Smagorinsky.C.

References eddyViscosity< LESModel< BasicTurbulenceModel > >::correct().

Here is the call graph for this function:

Member Data Documentation

◆ Ck_

dimensionedScalar Ck_
protected

Definition at line 105 of file Smagorinsky.H.


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