40 template<
class BasicMomentumTransportModel>
69 return 1.0/(A0_ + As*Us*k_/epsilon_);
73 template<
class BasicMomentumTransportModel>
81 this->nut_ = rCmu(gradU, S2, magS)*
sqr(k_)/epsilon_;
82 this->nut_.correctBoundaryConditions();
87 template<
class BasicMomentumTransportModel>
94 correctNut(gradU, S2, magS);
98 template<
class BasicMomentumTransportModel>
106 dimVolume*this->rho_.dimensions()*k_.dimensions()
113 template<
class BasicMomentumTransportModel>
122 dimVolume*this->rho_.dimensions()*epsilon_.dimensions()
131 template<
class BasicMomentumTransportModel>
194 this->groupName(
"k"),
195 this->runTime_.
name(),
206 this->groupName(
"epsilon"),
207 this->runTime_.
name(),
218 if (
type == typeName)
220 this->printCoeffs(
type);
227 template<
class BasicMomentumTransportModel>
232 A0_.readIfPresent(this->coeffDict());
233 C2_.readIfPresent(this->coeffDict());
234 sigmak_.readIfPresent(this->coeffDict());
235 sigmaEps_.readIfPresent(this->coeffDict());
246 template<
class BasicMomentumTransportModel>
249 if (!this->turbulence_)
285 max(eta/(scalar(5) + eta), scalar(0.43))
295 epsilon_.boundaryFieldRef().updateCoeffs();
307 C2_*
alpha()*
rho()*epsilon_()/(k_() +
sqrt(this->nu()()*epsilon_())),
314 epsEqn.
ref().relax();
316 epsEqn.
ref().boundaryManipulate(epsilon_.boundaryFieldRef());
319 bound(epsilon_, this->epsilonMin_);
341 bound(k_, this->kMin_);
343 correctNut(gradU, S2, magS);
Bound the given scalar field where it is below the specified minimum.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Generic GeometricField class.
const Internal & v() const
Return a const-reference to the dimensioned internal field.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
Templated abstract base class for RAS turbulence models.
tmp< volScalarField > rCmu(const volTensorField &gradU, const volScalarField &S2, const volScalarField &magS)
virtual tmp< fvScalarMatrix > epsilonSource() const
virtual void correct()
Solve the turbulence equations and correct the turbulence viscosity.
virtual void correctNut()
virtual tmp< fvScalarMatrix > kSource() const
realizableKE(const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const viscosity &viscosity, const word &type=typeName)
Construct from components.
virtual bool read()
Re-read model coefficients if they have changed.
static autoPtr< dictionary > New(Istream &)
Construct top-level dictionary on freestore from Istream.
Dimension set for the base types.
Generic dimensioned Type class.
Eddy viscosity turbulence model base class.
Finite volume constraints.
bool constrain(fvMatrix< Type > &eqn) const
Apply constraints to an equation.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
BasicMomentumTransportModel::alphaField alphaField
BasicMomentumTransportModel::rhoField rhoField
A class for managing temporary objects.
void clear() const
If object pointer points to valid object:
T & ref() const
Return non-const reference or generate a fatal error.
Abstract base class for all fluid physical properties.
A class for handling words, derived from string.
Foam::fvConstraints & fvConstraints(Foam::fvConstraints::New(mesh))
Foam::fvModels & fvModels(Foam::fvModels::New(mesh))
volScalarField alpha(IOobject("alpha", runTime.name(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
void correct(const RdeltaTType &rDeltaT, const RhoType &rho, volScalarField &psi, const surfaceScalarField &phiCorr, const SpType &Sp, const SuType &Su)
const dimensionedScalar G
Newtonian constant of gravitation.
tmp< VolField< typename outerProduct< vector, Type >::type > > grad(const SurfaceField< Type > &ssf)
tmp< VolField< Type > > div(const SurfaceField< Type > &ssf)
tmp< surfaceScalarField > absolute(const tmp< surfaceScalarField > &tphi, const volVectorField &U)
Return the given relative flux in absolute form.
tmp< fvMatrix< Type > > S(const Pair< tmp< volScalarField::Internal >> &, const VolField< Type > &)
tmp< fvMatrix< Type > > laplacian(const VolField< Type > &vf, const word &name)
tmp< fvMatrix< Type > > Sp(const volScalarField::Internal &, const VolField< Type > &)
tmp< fvMatrix< Type > > SuSp(const volScalarField::Internal &, const VolField< Type > &)
tmp< fvMatrix< Type > > div(const surfaceScalarField &flux, const VolField< Type > &vf, const word &name)
tmp< fvMatrix< Type > > ddt(const VolField< Type > &vf)
dimensionedSymmTensor dev(const dimensionedSymmTensor &dt)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
dimensionedSymmTensor symm(const dimensionedSymmTensor &dt)
bool read(const char *, int32_t &)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedSymmTensor twoSymm(const dimensionedSymmTensor &dt)
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
const dimensionSet dimTime
scalarList W(const fluidMulticomponentThermo &thermo)
dimensionedScalar sqrt(const dimensionedScalar &ds)
const dimensionSet dimVolume
word typedName(Name name)
Return the name of the object within the given type.
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
bool bound(volScalarField &, const dimensionedScalar &min)
Bound the given scalar field where it is below the specified min value.
word name(const complex &)
Return a string representation of a complex.
dimensioned< scalar > magSqr(const dimensioned< Type > &)
dimensionedScalar cos(const dimensionedScalar &ds)
dimensionedTensor skew(const dimensionedTensor &dt)
dimensionedScalar acos(const dimensionedScalar &ds)
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
SolverPerformance< Type > solve(fvMatrix< Type > &, const word &)
Solve returning the solution statistics given convergence tolerance.