Loading...
Searching...
No Matches
LESModel< BasicTurbulenceModel > Class Template Reference

Templated abstract base class for LES SGS models. More...

#include <LESModel.H>

Inheritance diagram for LESModel< BasicTurbulenceModel >:
Collaboration diagram for LESModel< BasicTurbulenceModel >:

Public Types

typedef BasicTurbulenceModel::alphaField alphaField
typedef BasicTurbulenceModel::rhoField rhoField
typedef BasicTurbulenceModel::transportModel transportModel

Public Member Functions

 TypeName ("LES")
 Runtime type information.
 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.
virtual ~LESModel ()=default
 Destructor.
virtual bool read ()
 Read model coefficients if they have changed.
virtual const dictionarycoeffDict () const
 Const access to the coefficients dictionary.
const dimensionedScalarCe () const noexcept
const dimensionedScalarkMin () const
 Return the lower allowable limit for k (default: SMALL).
dimensionedScalarkMin ()
 Allow kMin to be changed.
const volScalarFielddelta () const
 Access function to filter width.
virtual tmp< volScalarFieldnuEff () const
 Return the effective viscosity.
virtual tmp< scalarFieldnuEff (const label patchi) const
 Return the effective viscosity on patch.
virtual tmp< volScalarFieldepsilon () const
 Return the turbulence kinetic energy dissipation rate.
virtual tmp< volScalarFieldomega () const
 Return the specific dissipation rate.
virtual void correct ()
 Solve the turbulence equations and correct the turbulence viscosity.

Static Public Member Functions

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.

Protected Member Functions

virtual void printCoeffs (const word &type)
 Print model coefficients.
 LESModel (const LESModel &)=delete
 No copy construct.
void operator= (const LESModel &)=delete
 No copy assignment.

Protected Attributes

dictionary LESDict_
 LES coefficients dictionary.
Switch turbulence_
 Turbulence on/off flag.
Switch printCoeffs_
 Flag to print the model coeffs at run-time.
dictionary coeffDict_
 Model coefficients dictionary.
dimensionedScalar Ce_
 Empirical model constant.
dimensionedScalar kMin_
 Lower limit of k.
dimensionedScalar epsilonMin_
 Lower limit of epsilon.
dimensionedScalar omegaMin_
 Lower limit for omega.
autoPtr< Foam::LESdeltadelta_
 Run-time selectable delta model.

Detailed Description

template<class BasicTurbulenceModel>
class Foam::LESModel< BasicTurbulenceModel >

Templated abstract base class for LES SGS models.

Source files

Definition at line 56 of file LESModel.H.

Member Typedef Documentation

◆ alphaField

template<class BasicTurbulenceModel>
typedef BasicTurbulenceModel::alphaField alphaField

Definition at line 130 of file LESModel.H.

◆ rhoField

template<class BasicTurbulenceModel>
typedef BasicTurbulenceModel::rhoField rhoField

Definition at line 131 of file LESModel.H.

◆ transportModel

template<class BasicTurbulenceModel>
typedef BasicTurbulenceModel::transportModel transportModel

Definition at line 132 of file LESModel.H.

Constructor & Destructor Documentation

◆ LESModel() [1/2]

template<class BasicTurbulenceModel>
LESModel ( const LESModel< BasicTurbulenceModel > & )
protecteddelete

No copy construct.

◆ LESModel() [2/2]

template<class BasicTurbulenceModel>
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.

Definition at line 39 of file LESModel.C.

References alpha, Ce_, coeffDict_, delta_, Foam::dimless, Foam::dimTime, Foam::dimVelocity, epsilonMin_, kMin_, LESDict_, New(), omegaMin_, phi, printCoeffs_, rho, Foam::sqr(), turbulence_, and U.

Here is the call graph for this function:

◆ ~LESModel()

template<class BasicTurbulenceModel>
virtual ~LESModel ( )
virtualdefault

Destructor.

Member Function Documentation

◆ printCoeffs()

template<class BasicTurbulenceModel>
void printCoeffs ( const word & type)
protectedvirtual

Print model coefficients.

Definition at line 27 of file LESModel.C.

References coeffDict_, Foam::endl(), Foam::Info, and printCoeffs_.

Here is the call graph for this function:

◆ operator=()

template<class BasicTurbulenceModel>
void operator= ( const LESModel< BasicTurbulenceModel > & )
protecteddelete

No copy assignment.

◆ TypeName()

template<class BasicTurbulenceModel>
TypeName ( "LES" )

Runtime type information.

◆ declareRunTimeSelectionTable()

template<class BasicTurbulenceModel>
declareRunTimeSelectionTable ( autoPtr ,
LESModel< BasicTurbulenceModel > ,
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)  )

◆ New()

template<class BasicTurbulenceModel>
Foam::autoPtr< Foam::LESModel< BasicTurbulenceModel > > New ( const alphaField & alpha,
const rhoField & rho,
const volVectorField & U,
const surfaceScalarField & alphaRhoPhi,
const surfaceScalarField & phi,
const transportModel & transport,
const word & propertiesName = turbulenceModel::propertiesName )
static

Return a reference to the selected LES model.

Definition at line 125 of file LESModel.C.

References alpha, dict, IOobject::group(), IOobject::groupName(), IOobjectOption::MUST_READ, IOobjectOption::NO_REGISTER, IOobjectOption::NO_WRITE, phi, rho, dictionary::subDict(), and U.

Referenced by LESModel().

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

◆ read()

template<class BasicTurbulenceModel>
bool read ( )
virtual

Read model coefficients if they have changed.

Definition at line 182 of file LESModel.C.

References Ce_, coeffDict_, delta_, kMin_, LESDict_, turbulence_, and Foam::type().

Here is the call graph for this function:

◆ coeffDict()

template<class BasicTurbulenceModel>
virtual const dictionary & coeffDict ( ) const
inlinevirtual

Const access to the coefficients dictionary.

Definition at line 215 of file LESModel.H.

◆ Ce()

template<class BasicTurbulenceModel>
const dimensionedScalar & Ce ( ) const
inlinenoexcept

Definition at line 221 of file LESModel.H.

◆ kMin() [1/2]

template<class BasicTurbulenceModel>
const dimensionedScalar & kMin ( ) const
inline

Return the lower allowable limit for k (default: SMALL).

Definition at line 229 of file LESModel.H.

◆ kMin() [2/2]

template<class BasicTurbulenceModel>
dimensionedScalar & kMin ( )
inline

Allow kMin to be changed.

Definition at line 237 of file LESModel.H.

◆ delta()

template<class BasicTurbulenceModel>
const volScalarField & delta ( ) const
inline

Access function to filter width.

Definition at line 245 of file LESModel.H.

◆ nuEff() [1/2]

template<class BasicTurbulenceModel>
virtual tmp< volScalarField > nuEff ( ) const
inlinevirtual

Return the effective viscosity.

Definition at line 254 of file LESModel.H.

◆ nuEff() [2/2]

template<class BasicTurbulenceModel>
virtual tmp< scalarField > nuEff ( const label patchi) const
inlinevirtual

Return the effective viscosity on patch.

Definition at line 269 of file LESModel.H.

◆ epsilon()

template<class BasicTurbulenceModel>
Foam::tmp< Foam::volScalarField > epsilon ( ) const
virtual

Return the turbulence kinetic energy dissipation rate.

Definition at line 206 of file LESModel.C.

References delta, IOobject::groupName(), k, tmp< T >::New(), and Foam::pow().

Here is the call graph for this function:

◆ omega()

template<class BasicTurbulenceModel>
Foam::tmp< Foam::volScalarField > omega ( ) const
virtual

Return the specific dissipation rate.

Definition at line 223 of file LESModel.C.

References Foam::dimLength, Foam::dimTime, IOobject::groupName(), tmp< T >::New(), and Foam::sqr().

Here is the call graph for this function:

◆ correct()

template<class BasicTurbulenceModel>
void correct ( )
virtual

Solve the turbulence equations and correct the turbulence viscosity.

Definition at line 242 of file LESModel.C.

References delta_.

Member Data Documentation

◆ LESDict_

template<class BasicTurbulenceModel>
dictionary LESDict_
protected

LES coefficients dictionary.

Definition at line 67 of file LESModel.H.

Referenced by LESModel(), and read().

◆ turbulence_

template<class BasicTurbulenceModel>
Switch turbulence_
protected

Turbulence on/off flag.

Definition at line 72 of file LESModel.H.

Referenced by LESModel(), and read().

◆ printCoeffs_

template<class BasicTurbulenceModel>
Switch printCoeffs_
protected

Flag to print the model coeffs at run-time.

Definition at line 77 of file LESModel.H.

Referenced by LESModel(), and printCoeffs().

◆ coeffDict_

template<class BasicTurbulenceModel>
dictionary coeffDict_
protected

Model coefficients dictionary.

Definition at line 82 of file LESModel.H.

Referenced by LESModel(), printCoeffs(), and read().

◆ Ce_

template<class BasicTurbulenceModel>
dimensionedScalar Ce_
protected

Empirical model constant.

Definition at line 87 of file LESModel.H.

Referenced by LESModel(), and read().

◆ kMin_

template<class BasicTurbulenceModel>
dimensionedScalar kMin_
protected

Lower limit of k.

Definition at line 92 of file LESModel.H.

Referenced by LESModel(), and read().

◆ epsilonMin_

template<class BasicTurbulenceModel>
dimensionedScalar epsilonMin_
protected

Lower limit of epsilon.

Definition at line 97 of file LESModel.H.

Referenced by LESModel().

◆ omegaMin_

template<class BasicTurbulenceModel>
dimensionedScalar omegaMin_
protected

Lower limit for omega.

Definition at line 102 of file LESModel.H.

Referenced by LESModel().

◆ delta_

template<class BasicTurbulenceModel>
autoPtr<Foam::LESdelta> delta_
protected

Run-time selectable delta model.

Definition at line 107 of file LESModel.H.

Referenced by correct(), LESModel(), and read().


The documentation for this class was generated from the following files:
  • src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.H
  • src/TurbulenceModels/turbulenceModels/LES/LESModel/LESModel.C