38#ifndef Foam_RASModel_H
39#define Foam_RASModel_H
75template<class BasicTurbulenceModel>
79 public BasicTurbulenceModel
121 typedef typename BasicTurbulenceModel::alphaField
alphaField;
122 typedef typename BasicTurbulenceModel::rhoField
rhoField;
123 typedef typename BasicTurbulenceModel::transportModel
transportModel;
146 (
alpha,
rho,
U, alphaRhoPhi,
phi, transport, propertiesName)
162 const word& propertiesName
244 this->nut() + this->nu()
252 return this->
nut(patchi) + this->
nu(patchi);
static word groupName(StringType base, const word &group)
Create dot-delimited name.group string.
ClassName("RASModelBase")
Runtime type information.
RASModelBase() noexcept=default
Constructor.
Templated abstract base class for RAS turbulence models.
virtual tmp< volScalarField > epsilon() const
Return the turbulence kinetic energy dissipation rate.
EddyDiffusivity< fluidThermoCompressibleTurbulenceModel >::alphaField alphaField
virtual tmp< volScalarField > nuEff() const
Return the effective viscosity.
virtual void printCoeffs(const word &type)
Print model coefficients.
dimensionedScalar & omegaMin() noexcept
Allow omegaMin to be changed.
EddyDiffusivity< fluidThermoCompressibleTurbulenceModel >::rhoField rhoField
RASModel(const RASModel &)=delete
No copy construct.
virtual tmp< scalarField > nuEff(const label patchi) const
Return the effective viscosity on patch.
virtual void correct()
Solve the turbulence equations and correct the turbulence viscosity.
virtual ~RASModel()=default
Destructor.
dimensionedScalar omegaMin_
virtual const dictionary & coeffDict() const
Const access to the coefficients dictionary.
dimensionedScalar & epsilonMin() noexcept
Allow epsilonMin to be changed.
dimensionedScalar epsilonMin_
static autoPtr< RASModel > New(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 RAS model.
declareRunTimeSelectionTable(autoPtr, RASModel, 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))
const dimensionedScalar & omegaMin() const noexcept
Return the lower allowable limit for omega (default: SMALL).
void operator=(const RASModel &)=delete
No copy assignment.
EddyDiffusivity< fluidThermoCompressibleTurbulenceModel >::transportModel transportModel
const dimensionedScalar & kMin() const noexcept
Return the lower allowable limit for k (default: SMALL).
RASModel(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.
TypeName("RAS")
Runtime type information.
const dimensionedScalar & epsilonMin() const noexcept
Return the lower allowable limit for epsilon (default: SMALL).
dimensionedScalar & kMin() noexcept
Allow kMin to be changed.
virtual tmp< volScalarField > omega() const
Return the specific dissipation rate.
virtual bool read()
Read model coefficients if they have changed.
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A class for managing temporary objects.
static const word propertiesName
Default name of the turbulence properties dictionary.
A class for handling words, derived from Foam::string.
#define ClassName(TypeNameString)
Add typeName information from argument TypeNameString to a class.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
GeometricField< vector, fvPatchField, volMesh > volVectorField
bool read(const char *buf, int32_t &val)
Same as readInt32.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
#define declareRunTimeSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection (variables and adder classes).
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.