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...
 
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

const dictionaryLESDict () const
 Const access to the LES dictionary. More...
 
const dictionarycoeffDict () const
 Const access to the coefficients dictionary. More...
 

Protected Attributes

Switch turbulence_
 Turbulence on/off flag. More...
 
dimensionedScalar kMin_
 Lower limit of k. More...
 
dimensionedScalar nutMaxCoeff_
 Upper limit coefficient for nut. 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 97 of file LESModel.H.

◆ rhoField

typedef BasicMomentumTransportModel::rhoField rhoField

Definition at line 98 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 32 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 157 of file LESModel.H.

Member Function Documentation

◆ LESDict()

const Foam::dictionary & LESDict
protected

Const access to the LES dictionary.

Definition at line 156 of file LESModel.C.

◆ coeffDict()

const Foam::dictionary & coeffDict
protected

Const access to the coefficients dictionary.

Definition at line 164 of file LESModel.C.

References dictionary::optionalSubDict(), and Foam::type().

Here is the call 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

◆ read()

bool read
virtual

Read model coefficients if they have changed.

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

Definition at line 171 of file LESModel.C.

References Foam::blockMeshTools::read().

Here is the call graph for this function:

◆ delta()

const volScalarField& delta ( ) const
inline

Access function to filter width.

Definition at line 167 of file LESModel.H.

References LESModel< BasicMomentumTransportModel >::delta_.

◆ nu() [1/2]

virtual tmp<volScalarField> nu ( ) const
inlinevirtual

Return the laminar viscosity.

Definition at line 173 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 179 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 185 of file LESModel.H.

References GeometricField< Type, GeoMesh, PrimitiveField >::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 195 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 202 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 191 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

◆ turbulence_

Switch turbulence_
protected

Turbulence on/off flag.

Definition at line 70 of file LESModel.H.

◆ kMin_

dimensionedScalar kMin_
protected

Lower limit of k.

Definition at line 73 of file LESModel.H.

◆ nutMaxCoeff_

dimensionedScalar nutMaxCoeff_
protected

Upper limit coefficient for nut.

Definition at line 76 of file LESModel.H.

◆ viscosityModel_

Run-time selectable generalised Newtonian viscosity model.

Definition at line 80 of file LESModel.H.

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

◆ delta_

autoPtr<Foam::LESdelta> delta_
protected

Run-time selectable delta model.

Definition at line 83 of file LESModel.H.

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


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