LESModel< BasicMomentumTransportModel > Class Template Reference

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

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

Public Types

typedef BasicMomentumTransportModel::alphaField alphaField
 
typedef BasicMomentumTransportModel::rhoField rhoField
 

Public Member Functions

 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 bool read ()
 Read model coefficients if they have changed. 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...
 
virtual void predict ()
 Predict the turbulence transport coefficients if possible. More...
 
virtual void correct ()
 Solve the turbulence equations and correct the turbulence viscosity. More...
 
void operator= (const LESModel &)=delete
 Disallow default bitwise assignment. More...
 

Static Public Member Functions

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 Member Functions

virtual void printCoeffs (const word &type)
 Print model coefficients. More...
 

Protected Attributes

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::LESModel< BasicMomentumTransportModel >

Templated abstract base class for LES SGS models.

with support for generalised Newtonian viscosity models including strain-rate dependency.

Source files

Definition at line 60 of file LESModel.H.

Member Typedef Documentation

◆ alphaField

typedef BasicMomentumTransportModel::alphaField alphaField

Definition at line 106 of file LESModel.H.

◆ rhoField

typedef BasicMomentumTransportModel::rhoField rhoField

Definition at line 107 of file LESModel.H.

Constructor & Destructor Documentation

◆ LESModel() [1/2]

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.

Definition at line 44 of file LESModel.C.

◆ LESModel() [2/2]

LESModel ( const LESModel< BasicMomentumTransportModel > &  )
delete

Disallow default bitwise copy construction.

◆ ~LESModel()

virtual ~LESModel ( )
inlinevirtual

Destructor.

Definition at line 166 of file LESModel.H.

Member Function Documentation

◆ printCoeffs()

void printCoeffs ( const word type)
protectedvirtual

Print model coefficients.

Definition at line 32 of file LESModel.C.

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

Referenced by DeardorffDiffStress< BasicMomentumTransportModel >::DeardorffDiffStress().

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

◆ TypeName()

TypeName ( "LES"  )

Runtime type information.

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
LESModel< BasicMomentumTransportModel >  ,
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  
)

◆ New()

Foam::autoPtr< Foam::LESModel< BasicMomentumTransportModel > > New ( const alphaField alpha,
const rhoField rho,
const volVectorField U,
const surfaceScalarField alphaRhoPhi,
const surfaceScalarField phi,
const viscosity viscosity 
)
static

Return a reference to the selected LES model.

Definition at line 144 of file LESModel.C.

References alpha(), Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, IOobject::group(), Foam::Info, dictionary::lookupBackwardsCompatible(), Foam::nl, momentumTransportModel::readModelDict(), rho, dictionary::subDict(), and U.

Here is the call graph for this function:

◆ read()

bool read
virtual

Read model coefficients if they have changed.

Reimplemented in ReynoldsStress< LESModel< BasicMomentumTransportModel > >, and DeardorffDiffStress< BasicMomentumTransportModel >.

Definition at line 194 of file LESModel.C.

References Foam::blockMeshTools::read(), and Foam::type().

Here is the call graph for this function:

◆ coeffDict()

virtual const dictionary& coeffDict ( ) const
inlinevirtual

Const access to the coefficients dictionary.

Definition at line 176 of file LESModel.H.

References LESModel< BasicMomentumTransportModel >::coeffDict_.

◆ kMin() [1/2]

const dimensionedScalar& kMin ( ) const
inline

Return the lower allowable limit for k (default: small)

Definition at line 182 of file LESModel.H.

References LESModel< BasicMomentumTransportModel >::kMin_.

◆ kMin() [2/2]

dimensionedScalar& kMin ( )
inline

Allow kMin to be changed.

Definition at line 188 of file LESModel.H.

References LESModel< BasicMomentumTransportModel >::kMin_.

◆ delta()

const volScalarField& delta ( ) const
inline

Access function to filter width.

Definition at line 194 of file LESModel.H.

References LESModel< BasicMomentumTransportModel >::delta_.

◆ nu() [1/2]

virtual tmp<volScalarField> nu ( ) const
inlinevirtual

Return the laminar viscosity.

Definition at line 200 of file LESModel.H.

References LESModel< BasicMomentumTransportModel >::viscosityModel_.

Referenced by LESModel< BasicMomentumTransportModel >::nuEff().

Here is the caller graph for this function:

◆ nu() [2/2]

virtual tmp<scalarField> nu ( const label  patchi) const
inlinevirtual

Return the laminar viscosity on patchi.

Definition at line 206 of file LESModel.H.

References patchi, and LESModel< BasicMomentumTransportModel >::viscosityModel_.

◆ nuEff() [1/2]

virtual tmp<volScalarField> nuEff ( ) const
inlinevirtual

Return the effective viscosity.

Definition at line 212 of file LESModel.H.

References GeometricField< Type, PatchField, GeoMesh >::New(), LESModel< BasicMomentumTransportModel >::nu(), and nut.

Here is the call graph for this function:

◆ nuEff() [2/2]

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

Return the effective viscosity on patch.

Definition at line 222 of file LESModel.H.

References LESModel< BasicMomentumTransportModel >::nu(), and nut.

Here is the call graph for this function:

◆ predict()

virtual void predict ( )
inlinevirtual

Predict the turbulence transport coefficients if possible.

without solving turbulence transport model equations

Definition at line 229 of file LESModel.H.

◆ correct()

void correct
virtual

Solve the turbulence equations and correct the turbulence viscosity.

Reimplemented in ReynoldsStress< LESModel< BasicMomentumTransportModel > >, and DeardorffDiffStress< BasicMomentumTransportModel >.

Definition at line 217 of file LESModel.C.

References Foam::MULES::correct().

Here is the call graph for this function:

◆ operator=()

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

Disallow default bitwise assignment.

Member Data Documentation

◆ LESDict_

dictionary LESDict_
protected

LES coefficients dictionary.

Definition at line 70 of file LESModel.H.

◆ turbulence_

Switch turbulence_
protected

Turbulence on/off flag.

Definition at line 73 of file LESModel.H.

◆ printCoeffs_

Switch printCoeffs_
protected

Flag to print the model coeffs at run-time.

Definition at line 76 of file LESModel.H.

◆ coeffDict_

dictionary coeffDict_
protected

Model coefficients dictionary.

Definition at line 79 of file LESModel.H.

Referenced by LESModel< BasicMomentumTransportModel >::coeffDict().

◆ kMin_

dimensionedScalar kMin_
protected

Lower limit of k.

Definition at line 82 of file LESModel.H.

Referenced by LESModel< BasicMomentumTransportModel >::kMin().

◆ epsilonMin_

dimensionedScalar epsilonMin_
protected

Lower limit of epsilon.

Definition at line 85 of file LESModel.H.

◆ omegaMin_

dimensionedScalar omegaMin_
protected

Lower limit for omega.

Definition at line 88 of file LESModel.H.

◆ viscosityModel_

Run-time selectable generalised Newtonian viscosity model.

Definition at line 92 of file LESModel.H.

Referenced by LESModel< BasicMomentumTransportModel >::nu().

◆ delta_

autoPtr<Foam::LESdelta> delta_
protected

Run-time selectable delta model.

Definition at line 95 of file LESModel.H.

Referenced by LESModel< BasicMomentumTransportModel >::delta().


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