Smagorinsky< BasicMomentumTransportModel > Class Template Reference

The Smagorinsky SGS model. More...

Inheritance diagram for Smagorinsky< BasicMomentumTransportModel >:
Collaboration diagram for Smagorinsky< BasicMomentumTransportModel >:

Public Types

typedef BasicMomentumTransportModel::alphaField alphaField
 
typedef BasicMomentumTransportModel::rhoField rhoField
 
- Public Types inherited from LESeddyViscosity< BasicMomentumTransportModel >
typedef BasicMomentumTransportModel::alphaField alphaField
 
typedef BasicMomentumTransportModel::rhoField rhoField
 
- Public Types inherited from eddyViscosity< LESModel< BasicMomentumTransportModel > >
typedef LESModel< BasicMomentumTransportModel > ::alphaField alphaField
 
typedef LESModel< BasicMomentumTransportModel > ::rhoField rhoField
 
- Public Types inherited from linearViscousStress< LESModel< BasicMomentumTransportModel > >
typedef LESModel< BasicMomentumTransportModel > ::alphaField alphaField
 
typedef LESModel< BasicMomentumTransportModel > ::rhoField rhoField
 
- Public Types inherited from LESModel< BasicMomentumTransportModel >
typedef BasicMomentumTransportModel::alphaField alphaField
 
typedef BasicMomentumTransportModel::rhoField rhoField
 

Public Member Functions

 TypeName ("Smagorinsky")
 Runtime type information. More...
 
 Smagorinsky (const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const viscosity &viscosity, const word &type=typeName)
 Construct from components. More...
 
 Smagorinsky (const Smagorinsky &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~Smagorinsky ()
 Destructor. More...
 
virtual bool read ()
 Read model coefficients if they have changed. More...
 
virtual tmp< volScalarFieldk () const
 Return SGS kinetic energy. More...
 
virtual void correct ()
 Correct Eddy-Viscosity and related properties. More...
 
void operator= (const Smagorinsky &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from LESeddyViscosity< BasicMomentumTransportModel >
 LESeddyViscosity (const word &type, const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const viscosity &viscosity)
 Construct from components. More...
 
 LESeddyViscosity (const LESeddyViscosity &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~LESeddyViscosity ()
 Destructor. More...
 
virtual tmp< volScalarFieldepsilon () const
 Return sub-grid disipation rate. More...
 
virtual tmp< volScalarFieldomega () const
 Return the turbulence specific dissipation rate. More...
 
void operator= (const LESeddyViscosity &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from eddyViscosity< LESModel< BasicMomentumTransportModel > >
 eddyViscosity (const word &modelName, const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const viscosity &viscosity)
 Construct from components. More...
 
virtual ~eddyViscosity ()
 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< volSymmTensorFieldsigma () const
 Return the Reynolds stress tensor [m^2/s^2]. More...
 
virtual void validate ()
 Validate the turbulence fields after construction. More...
 
- Public Member Functions inherited from linearViscousStress< LESModel< BasicMomentumTransportModel > >
 linearViscousStress (const word &modelName, const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const viscosity &viscosity)
 Construct from components. More...
 
virtual ~linearViscousStress ()
 Destructor. More...
 
virtual tmp< volSymmTensorFielddevTau () const
 Return the effective stress tensor. More...
 
virtual tmp< fvVectorMatrixdivDevTau (volVectorField &U) const
 Return the source term for the momentum equation. More...
 
virtual tmp< fvVectorMatrixdivDevTau (const volScalarField &rho, volVectorField &U) const
 Return the source term for the momentum equation. More...
 
- Public Member Functions inherited from LESModel< BasicMomentumTransportModel >
 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 viscosity &viscosity),(alpha, rho, U, alphaRhoPhi, phi, viscosity))
 
 LESModel (const word &type, const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const viscosity &viscosity)
 Construct from components. More...
 
 LESModel (const LESModel &)=delete
 Disallow default bitwise copy construction. 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< volScalarFieldnu () const
 Return the laminar viscosity. More...
 
virtual tmp< scalarFieldnu (const label patchi) const
 Return the laminar viscosity on patchi. More...
 
virtual tmp< volScalarFieldnuEff () const
 Return the effective viscosity. More...
 
virtual tmp< scalarFieldnuEff (const label patchi) const
 Return the effective viscosity on patch. More...
 
void operator= (const LESModel &)=delete
 Disallow default bitwise assignment. More...
 

Protected Member Functions

tmp< volScalarFieldk (const tmp< volTensorField > &gradU) const
 Return SGS kinetic energy. More...
 
virtual void correctNut ()
 Update the SGS eddy viscosity. More...
 
- Protected Member Functions inherited from LESModel< BasicMomentumTransportModel >
virtual void printCoeffs (const word &type)
 Print model coefficients. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from LESModel< BasicMomentumTransportModel >
static autoPtr< LESModelNew (const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const viscosity &viscosity)
 Return a reference to the selected LES model. More...
 
- Protected Attributes inherited from LESeddyViscosity< BasicMomentumTransportModel >
dimensionedScalar Ck_
 
dimensionedScalar Ce_
 
- Protected Attributes inherited from eddyViscosity< LESModel< BasicMomentumTransportModel > >
volScalarField nut_
 
- Protected Attributes inherited from LESModel< BasicMomentumTransportModel >
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 epsilonMin_
 Lower limit of epsilon. More...
 
dimensionedScalar omegaMin_
 Lower limit for omega. More...
 
autoPtr< laminarModels::generalisedNewtonianViscosityModelviscosityModel_
 Run-time selectable generalised Newtonian viscosity model. More...
 
autoPtr< Foam::LESdeltadelta_
 Run-time selectable delta model. More...
 

Detailed Description

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

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 86 of file Smagorinsky.H.

Member Typedef Documentation

◆ alphaField

typedef BasicMomentumTransportModel::alphaField alphaField

Definition at line 104 of file Smagorinsky.H.

◆ rhoField

typedef BasicMomentumTransportModel::rhoField rhoField

Definition at line 105 of file Smagorinsky.H.

Constructor & Destructor Documentation

◆ Smagorinsky() [1/2]

Smagorinsky ( const alphaField alpha,
const rhoField rho,
const volVectorField U,
const surfaceScalarField alphaRhoPhi,
const surfaceScalarField phi,
const viscosity viscosity,
const word type = typeName 
)

Construct from components.

Definition at line 74 of file Smagorinsky.C.

Referenced by Smagorinsky< BasicMomentumTransportModel >::correctNut().

Here is the caller graph for this function:

◆ Smagorinsky() [2/2]

Smagorinsky ( const Smagorinsky< BasicMomentumTransportModel > &  )
delete

Disallow default bitwise copy construction.

◆ ~Smagorinsky()

virtual ~Smagorinsky ( )
inlinevirtual

Destructor.

Definition at line 131 of file Smagorinsky.H.

References Smagorinsky< BasicMomentumTransportModel >::read().

Here is the call graph for this function:

Member Function Documentation

◆ k() [1/2]

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

Return SGS kinetic energy.

calculated from the given velocity gradient

Definition at line 41 of file Smagorinsky.C.

References Foam::constant::physicoChemical::b, Foam::constant::universal::c, delta, Foam::dev(), IOobject::groupName(), GeometricField< scalar, fvPatchField, volMesh >::New(), Foam::sqr(), Foam::sqrt(), Foam::symm(), and Foam::tr().

Here is the call graph for this function:

◆ correctNut()

void correctNut ( )
protectedvirtual

Update the SGS eddy viscosity.

Implements eddyViscosity< LESModel< BasicMomentumTransportModel > >.

Reimplemented in SmagorinskyZhang< BasicMomentumTransportModel >.

Definition at line 60 of file Smagorinsky.C.

References delta, Foam::fvc::grad(), k, dictionary::New(), Smagorinsky< BasicMomentumTransportModel >::Smagorinsky(), and Foam::sqrt().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "Smagorinsky< BasicMomentumTransportModel >"  )

Runtime type information.

◆ read()

bool read ( )
virtual

Read model coefficients if they have changed.

Reimplemented from LESeddyViscosity< BasicMomentumTransportModel >.

Reimplemented in SmagorinskyZhang< BasicMomentumTransportModel >.

Definition at line 105 of file Smagorinsky.C.

References LESeddyViscosity< BasicMomentumTransportModel >::read().

Referenced by Smagorinsky< BasicMomentumTransportModel >::~Smagorinsky().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ k() [2/2]

virtual tmp<volScalarField> k ( ) const
inlinevirtual

Return SGS kinetic energy.

Implements eddyViscosity< LESModel< BasicMomentumTransportModel > >.

Definition at line 141 of file Smagorinsky.H.

References Smagorinsky< BasicMomentumTransportModel >::correct(), Foam::fvc::grad(), and Smagorinsky< BasicMomentumTransportModel >::operator=().

Here is the call graph for this function:

◆ correct()

void correct ( )
virtual

Correct Eddy-Viscosity and related properties.

Implements eddyViscosity< LESModel< BasicMomentumTransportModel > >.

Definition at line 112 of file Smagorinsky.C.

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

Referenced by Smagorinsky< BasicMomentumTransportModel >::k().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

void operator= ( const Smagorinsky< BasicMomentumTransportModel > &  )
delete

Disallow default bitwise assignment.

Referenced by Smagorinsky< BasicMomentumTransportModel >::k().

Here is the caller graph for this function:

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