kEpsilonLopesdaCosta< BasicMomentumTransportModel > Class Template Reference

Variant of the standard k-epsilon turbulence model with additional source terms to handle the changes in turbulence in porous regions represented by the powerLawLopesdaCosta porosity model. More...

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

Public Types

typedef BasicMomentumTransportModel::alphaField alphaField
 
typedef BasicMomentumTransportModel::rhoField rhoField
 
typedef BasicMomentumTransportModel::transportModel transportModel
 
- Public Types inherited from eddyViscosity< RASModel< BasicMomentumTransportModel > >
typedef RASModel< BasicMomentumTransportModel > ::alphaField alphaField
 
typedef RASModel< BasicMomentumTransportModel > ::rhoField rhoField
 
typedef RASModel< BasicMomentumTransportModel > ::transportModel transportModel
 
- Public Types inherited from linearViscousStress< RASModel< BasicMomentumTransportModel > >
typedef RASModel< BasicMomentumTransportModel > ::alphaField alphaField
 
typedef RASModel< BasicMomentumTransportModel > ::rhoField rhoField
 
typedef RASModel< BasicMomentumTransportModel > ::transportModel transportModel
 
- Public Types inherited from RASModel< BasicMomentumTransportModel >
typedef BasicMomentumTransportModel::alphaField alphaField
 
typedef BasicMomentumTransportModel::rhoField rhoField
 
typedef BasicMomentumTransportModel::transportModel transportModel
 

Public Member Functions

 TypeName ("kEpsilonLopesdaCosta")
 Runtime type information. More...
 
 kEpsilonLopesdaCosta (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...
 
 kEpsilonLopesdaCosta (const kEpsilonLopesdaCosta &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~kEpsilonLopesdaCosta ()
 Destructor. More...
 
virtual bool read ()
 Re-read model coefficients if they have changed. More...
 
tmp< volScalarField > DkEff () const
 Return the effective diffusivity for k. More...
 
tmp< volScalarField > DepsilonEff () const
 Return the effective diffusivity for epsilon. More...
 
virtual tmp< volScalarField > k () const
 Return the turbulence kinetic energy. More...
 
virtual tmp< volScalarField > epsilon () const
 Return the turbulence kinetic energy dissipation rate. More...
 
virtual void correct ()
 Solve the turbulence equations and correct the turbulence viscosity. More...
 
void operator= (const kEpsilonLopesdaCosta &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from eddyViscosity< RASModel< 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< RASModel< 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 RASModel< BasicMomentumTransportModel >
 TypeName ("RAS")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, RASModel, 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))
 
 RASModel (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...
 
 RASModel (const RASModel &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~RASModel ()
 Destructor. More...
 
const dimensionedScalar & kMin () const
 Return the lower allowable limit for k (default: small) More...
 
const dimensionedScalar & epsilonMin () const
 Return the lower allowable limit for epsilon (default: small) More...
 
const dimensionedScalar & omegaMin () const
 Return the lower allowable limit for omega (default: small) More...
 
dimensionedScalar & kMin ()
 Allow kMin to be changed. More...
 
dimensionedScalar & epsilonMin ()
 Allow epsilonMin to be changed. More...
 
dimensionedScalar & omegaMin ()
 Allow omegaMin to be changed. More...
 
virtual const dictionary & coeffDict () const
 Const access to the coefficients dictionary. 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 RASModel &)=delete
 Disallow default bitwise assignment. More...
 

Protected Member Functions

void setPorosityCoefficient (volScalarField::Internal &C, const porosityModels::powerLawLopesdaCosta &pm)
 
void setCdSigma (volScalarField::Internal &C, const porosityModels::powerLawLopesdaCosta &pm)
 
void setPorosityCoefficients ()
 
virtual void correctNut ()
 
virtual tmp< fvScalarMatrix > kSource (const volScalarField::Internal &magU, const volScalarField::Internal &magU3) const
 
virtual tmp< fvScalarMatrix > epsilonSource (const volScalarField::Internal &magU, const volScalarField::Internal &magU3) const
 
- Protected Member Functions inherited from RASModel< BasicMomentumTransportModel >
virtual void printCoeffs (const word &type)
 Print model coefficients. More...
 

Protected Attributes

volScalarField Cmu_
 
volScalarField::Internal C1_
 
volScalarField::Internal C2_
 
volScalarField sigmak_
 
volScalarField sigmaEps_
 
volScalarField::Internal CdSigma_
 
volScalarField::Internal betap_
 
volScalarField::Internal betad_
 
volScalarField::Internal C4_
 
volScalarField::Internal C5_
 
volScalarField k_
 
volScalarField epsilon_
 
- Protected Attributes inherited from eddyViscosity< RASModel< BasicMomentumTransportModel > >
volScalarField nut_
 
- Protected Attributes inherited from RASModel< BasicMomentumTransportModel >
dictionary RASDict_
 RAS 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...
 

Additional Inherited Members

- Static Public Member Functions inherited from RASModel< BasicMomentumTransportModel >
static autoPtr< RASModel > 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 RAS model. More...
 

Detailed Description

template<class BasicMomentumTransportModel>
class Foam::RASModels::kEpsilonLopesdaCosta< BasicMomentumTransportModel >

Variant of the standard k-epsilon turbulence model with additional source terms to handle the changes in turbulence in porous regions represented by the powerLawLopesdaCosta porosity model.

Reference:

    Costa, J. C. P. L. D. (2007).
    Atmospheric flow over forested and non-forested complex terrain.

The default model coefficients are

    kEpsilonLopesdaCostaCoeffs
    {
        Cmu         0.09;
        C1          1.44;
        C2          1.92;
        sigmak      1.0;
        sigmaEps    1.3;
    }
See also
Foam::RASModels::kEpsilon Foam::porosityModels::powerLawLopesdaCosta
Source files

Definition at line 77 of file kEpsilonLopesdaCosta.H.

Member Typedef Documentation

◆ alphaField

typedef BasicMomentumTransportModel::alphaField alphaField

Definition at line 141 of file kEpsilonLopesdaCosta.H.

◆ rhoField

typedef BasicMomentumTransportModel::rhoField rhoField

Definition at line 142 of file kEpsilonLopesdaCosta.H.

◆ transportModel

typedef BasicMomentumTransportModel::transportModel transportModel

Definition at line 143 of file kEpsilonLopesdaCosta.H.

Constructor & Destructor Documentation

◆ kEpsilonLopesdaCosta() [1/2]

kEpsilonLopesdaCosta ( 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 180 of file kEpsilonLopesdaCosta.C.

References Foam::bound().

Referenced by kEpsilonLopesdaCosta< BasicMomentumTransportModel >::epsilonSource().

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

◆ kEpsilonLopesdaCosta() [2/2]

kEpsilonLopesdaCosta ( const kEpsilonLopesdaCosta< BasicMomentumTransportModel > &  )
delete

Disallow default bitwise copy construction.

◆ ~kEpsilonLopesdaCosta()

virtual ~kEpsilonLopesdaCosta ( )
inlinevirtual

Destructor.

Definition at line 169 of file kEpsilonLopesdaCosta.H.

References kEpsilonLopesdaCosta< BasicMomentumTransportModel >::read().

Here is the call graph for this function:

Member Function Documentation

◆ setPorosityCoefficient()

void setPorosityCoefficient ( volScalarField::Internal &  C,
const porosityModels::powerLawLopesdaCosta &  pm 
)
protected

◆ setCdSigma()

◆ setPorosityCoefficients()

void setPorosityCoefficients ( )
protected

Definition at line 100 of file kEpsilonLopesdaCosta.C.

References forAll, fvModels, explicitPorositySource::model(), and dictionary::New().

Referenced by kEpsilonLopesdaCosta< BasicMomentumTransportModel >::setCdSigma().

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

◆ correctNut()

void correctNut ( )
protectedvirtual

◆ kSource()

tmp< fvScalarMatrix > kSource ( const volScalarField::Internal &  magU,
const volScalarField::Internal &  magU3 
) const
protectedvirtual

Definition at line 150 of file kEpsilonLopesdaCosta.C.

References kEpsilonLopesdaCosta< BasicMomentumTransportModel >::epsilonSource(), and Foam::fvm::Su().

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

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

◆ epsilonSource()

tmp< fvScalarMatrix > epsilonSource ( const volScalarField::Internal &  magU,
const volScalarField::Internal &  magU3 
) const
protectedvirtual

Definition at line 162 of file kEpsilonLopesdaCosta.C.

References kEpsilonLopesdaCosta< BasicMomentumTransportModel >::kEpsilonLopesdaCosta(), and Foam::fvm::Su().

Referenced by kEpsilonLopesdaCosta< BasicMomentumTransportModel >::kSource().

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

◆ TypeName()

TypeName ( "kEpsilonLopesdaCosta< BasicMomentumTransportModel >"  )

Runtime type information.

◆ read()

bool read ( )
virtual

Re-read model coefficients if they have changed.

Implements eddyViscosity< RASModel< BasicMomentumTransportModel > >.

Definition at line 378 of file kEpsilonLopesdaCosta.C.

References Foam::read().

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

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

◆ DkEff()

tmp<volScalarField> DkEff ( ) const
inline

Return the effective diffusivity for k.

Definition at line 179 of file kEpsilonLopesdaCosta.H.

References GeometricField< scalar, fvPatchField, volMesh >::New(), and eddyViscosity< RASModel< BasicMomentumTransportModel > >::nut_.

Here is the call graph for this function:

◆ DepsilonEff()

tmp<volScalarField> DepsilonEff ( ) const
inline

Return the effective diffusivity for epsilon.

Definition at line 189 of file kEpsilonLopesdaCosta.H.

References GeometricField< scalar, fvPatchField, volMesh >::New(), and eddyViscosity< RASModel< BasicMomentumTransportModel > >::nut_.

Here is the call graph for this function:

◆ k()

virtual tmp<volScalarField> k ( ) const
inlinevirtual

Return the turbulence kinetic energy.

Implements eddyViscosity< RASModel< BasicMomentumTransportModel > >.

Definition at line 199 of file kEpsilonLopesdaCosta.H.

References kEpsilonLopesdaCosta< BasicMomentumTransportModel >::k_.

◆ epsilon()

virtual tmp<volScalarField> epsilon ( ) const
inlinevirtual

Return the turbulence kinetic energy dissipation rate.

Definition at line 205 of file kEpsilonLopesdaCosta.H.

References kEpsilonLopesdaCosta< BasicMomentumTransportModel >::correct(), kEpsilonLopesdaCosta< BasicMomentumTransportModel >::epsilon_, and kEpsilonLopesdaCosta< BasicMomentumTransportModel >::operator=().

Here is the call graph for this function:

◆ correct()

◆ operator=()

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

Disallow default bitwise assignment.

Referenced by kEpsilonLopesdaCosta< BasicMomentumTransportModel >::epsilon().

Here is the caller graph for this function:

Member Data Documentation

◆ Cmu_

volScalarField Cmu_
protected

Definition at line 87 of file kEpsilonLopesdaCosta.H.

◆ C1_

volScalarField::Internal C1_
protected

Definition at line 88 of file kEpsilonLopesdaCosta.H.

◆ C2_

volScalarField::Internal C2_
protected

Definition at line 89 of file kEpsilonLopesdaCosta.H.

◆ sigmak_

volScalarField sigmak_
protected

Definition at line 90 of file kEpsilonLopesdaCosta.H.

◆ sigmaEps_

volScalarField sigmaEps_
protected

Definition at line 91 of file kEpsilonLopesdaCosta.H.

◆ CdSigma_

volScalarField::Internal CdSigma_
protected

Definition at line 95 of file kEpsilonLopesdaCosta.H.

◆ betap_

volScalarField::Internal betap_
protected

Definition at line 96 of file kEpsilonLopesdaCosta.H.

◆ betad_

volScalarField::Internal betad_
protected

Definition at line 97 of file kEpsilonLopesdaCosta.H.

◆ C4_

volScalarField::Internal C4_
protected

Definition at line 98 of file kEpsilonLopesdaCosta.H.

◆ C5_

volScalarField::Internal C5_
protected

Definition at line 99 of file kEpsilonLopesdaCosta.H.

◆ k_

◆ epsilon_


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