The Smagorinsky SGS model. More...
Public Types | |
typedef BasicMomentumTransportModel::alphaField | alphaField |
typedef BasicMomentumTransportModel::rhoField | rhoField |
typedef BasicMomentumTransportModel::transportModel | transportModel |
Public Types inherited from LESeddyViscosity< BasicMomentumTransportModel > | |
typedef BasicMomentumTransportModel::alphaField | alphaField |
typedef BasicMomentumTransportModel::rhoField | rhoField |
typedef BasicMomentumTransportModel::transportModel | transportModel |
Public Types inherited from eddyViscosity< LESModel< BasicMomentumTransportModel > > | |
typedef LESModel< BasicMomentumTransportModel > ::alphaField | alphaField |
typedef LESModel< BasicMomentumTransportModel > ::rhoField | rhoField |
typedef LESModel< BasicMomentumTransportModel > ::transportModel | transportModel |
Public Types inherited from linearViscousStress< LESModel< BasicMomentumTransportModel > > | |
typedef LESModel< BasicMomentumTransportModel > ::alphaField | alphaField |
typedef LESModel< BasicMomentumTransportModel > ::rhoField | rhoField |
typedef LESModel< BasicMomentumTransportModel > ::transportModel | transportModel |
Public Types inherited from LESModel< BasicMomentumTransportModel > | |
typedef BasicMomentumTransportModel::alphaField | alphaField |
typedef BasicMomentumTransportModel::rhoField | rhoField |
typedef BasicMomentumTransportModel::transportModel | transportModel |
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 transportModel &transport, 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< volScalarField > | k () const |
Return SGS kinetic energy. More... | |
virtual tmp< volScalarField > | epsilon () const |
Return sub-grid disipation rate. 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 transportModel &transport) | |
Construct from components. More... | |
LESeddyViscosity (const LESeddyViscosity &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~LESeddyViscosity () |
Destructor. 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 transportModel &transport) | |
Construct from components. More... | |
virtual | ~eddyViscosity () |
Destructor. More... | |
virtual tmp< volScalarField > | nut () const |
Return the turbulence viscosity. More... | |
virtual tmp< scalarField > | nut (const label patchi) const |
Return the turbulence viscosity on patch. More... | |
virtual tmp< volSymmTensorField > | sigma () 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 transportModel &transport) | |
Construct from components. More... | |
virtual | ~linearViscousStress () |
Destructor. More... | |
virtual tmp< volSymmTensorField > | devTau () const |
Return the effective stress tensor. More... | |
virtual tmp< fvVectorMatrix > | divDevTau (volVectorField &U) const |
Return the source term for the momentum equation. More... | |
virtual tmp< fvVectorMatrix > | divDevTau (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 transportModel &transport),(alpha, rho, U, alphaRhoPhi, phi, transport)) | |
LESModel (const word &type, const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport) | |
Construct from components. More... | |
LESModel (const LESModel &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~LESModel () |
Destructor. More... | |
virtual const dictionary & | coeffDict () const |
Const access to the coefficients dictionary. More... | |
const dimensionedScalar & | kMin () const |
Return the lower allowable limit for k (default: small) More... | |
dimensionedScalar & | kMin () |
Allow kMin to be changed. More... | |
const volScalarField & | delta () const |
Access function to filter width. More... | |
virtual tmp< volScalarField > | nuEff () const |
Return the effective viscosity. More... | |
virtual tmp< scalarField > | nuEff (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< volScalarField > | k (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... | |
Protected Attributes | |
dimensionedScalar | Ck_ |
Protected Attributes inherited from LESeddyViscosity< BasicMomentumTransportModel > | |
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< Foam::LESdelta > | delta_ |
Run-time selectable delta model. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from LESModel< BasicMomentumTransportModel > | |
static autoPtr< LESModel > | New (const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport) |
Return a reference to the selected LES model. More... | |
The Smagorinsky SGS model.
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; }
Definition at line 86 of file Smagorinsky.H.
typedef BasicMomentumTransportModel::alphaField alphaField |
Definition at line 109 of file Smagorinsky.H.
typedef BasicMomentumTransportModel::rhoField rhoField |
Definition at line 110 of file Smagorinsky.H.
typedef BasicMomentumTransportModel::transportModel transportModel |
Definition at line 111 of file Smagorinsky.H.
Smagorinsky | ( | const alphaField & | alpha, |
const rhoField & | rho, | ||
const volVectorField & | U, | ||
const surfaceScalarField & | alphaRhoPhi, | ||
const surfaceScalarField & | phi, | ||
const transportModel & | transport, | ||
const word & | type = typeName |
||
) |
Construct from components.
Definition at line 73 of file Smagorinsky.C.
Referenced by Smagorinsky< BasicMomentumTransportModel >::correctNut().
|
delete |
Disallow default bitwise copy construction.
|
inlinevirtual |
Destructor.
Definition at line 137 of file Smagorinsky.H.
References Smagorinsky< BasicMomentumTransportModel >::read().
|
protected |
Return SGS kinetic energy.
calculated from the given velocity gradient
Definition at line 40 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().
|
protectedvirtual |
Update the SGS eddy viscosity.
Implements eddyViscosity< LESModel< BasicMomentumTransportModel > >.
Reimplemented in SmagorinskyZhang< BasicMomentumTransportModel >.
Definition at line 59 of file Smagorinsky.C.
References optionList::correct(), delta, Foam::fvc::grad(), k, options::New(), Smagorinsky< BasicMomentumTransportModel >::Smagorinsky(), and Foam::sqrt().
TypeName | ( | "Smagorinsky< BasicMomentumTransportModel >" | ) |
Runtime type information.
|
virtual |
Read model coefficients if they have changed.
Reimplemented from LESeddyViscosity< BasicMomentumTransportModel >.
Reimplemented in SmagorinskyZhang< BasicMomentumTransportModel >.
Definition at line 114 of file Smagorinsky.C.
Referenced by Smagorinsky< BasicMomentumTransportModel >::~Smagorinsky().
|
inlinevirtual |
Return SGS kinetic energy.
Implements eddyViscosity< LESModel< BasicMomentumTransportModel > >.
Definition at line 147 of file Smagorinsky.H.
References Smagorinsky< BasicMomentumTransportModel >::correct(), Smagorinsky< BasicMomentumTransportModel >::epsilon(), Foam::fvc::grad(), and Smagorinsky< BasicMomentumTransportModel >::operator=().
|
virtual |
Return sub-grid disipation rate.
Reimplemented from LESeddyViscosity< BasicMomentumTransportModel >.
Definition at line 130 of file Smagorinsky.C.
References delta, Foam::fvc::grad(), IOobject::groupName(), k, GeometricField< scalar, fvPatchField, volMesh >::New(), and Foam::sqrt().
Referenced by Smagorinsky< BasicMomentumTransportModel >::k().
|
virtual |
Correct Eddy-Viscosity and related properties.
Implements eddyViscosity< LESModel< BasicMomentumTransportModel > >.
Definition at line 143 of file Smagorinsky.C.
References eddyViscosity< LESModel< BasicMomentumTransportModel > >::correct().
Referenced by Smagorinsky< BasicMomentumTransportModel >::k().
|
delete |
Disallow default bitwise assignment.
Referenced by Smagorinsky< BasicMomentumTransportModel >::k().
|
protected |
Definition at line 94 of file Smagorinsky.H.