41 template<
class BasicMomentumTransportModel>
44 return exp(-3.4/
sqr(scalar(1) +
sqr(k_)/(this->nu()*epsilon_)/50.0));
48 template<
class BasicMomentumTransportModel>
53 - 0.3*
exp(-
min(
sqr(
sqr(k_)/(this->nu()*epsilon_)), scalar(50.0)));
57 template<
class BasicMomentumTransportModel>
60 this->nut_ = Cmu_*fMu()*
sqr(k_)/epsilon_;
61 this->nut_.correctBoundaryConditions();
66 template<
class BasicMomentumTransportModel>
75 dimVolume*this->rho_.dimensions()*k_.dimensions()
82 template<
class BasicMomentumTransportModel>
91 dimVolume*this->rho_.dimensions()*epsilon_.dimensions()
100 template<
class BasicMomentumTransportModel>
182 this->groupName(
"k"),
183 this->runTime_.
name(),
195 this->groupName(
"epsilon"),
196 this->runTime_.
name(),
207 if (
type == typeName)
209 this->printCoeffs(
type);
216 template<
class BasicMomentumTransportModel>
221 Cmu_.readIfPresent(this->coeffDict());
222 C1_.readIfPresent(this->coeffDict());
223 C2_.readIfPresent(this->coeffDict());
224 C3_.readIfPresent(this->coeffDict());
225 sigmak_.readIfPresent(this->coeffDict());
226 sigmaEps_.readIfPresent(this->coeffDict());
237 template<
class BasicMomentumTransportModel>
240 if (!this->turbulence_)
287 epsEqn.
ref().relax();
289 epsEqn.
ref().boundaryManipulate(epsilon_.boundaryFieldRef());
292 bound(epsilon_, this->epsilonMin_);
312 bound(k_, this->kMin_);
static const Foam::dimensionedScalar D("D", Foam::dimTemperature, 257.14)
Bound the given scalar field where it is below the specified minimum.
Generic GeometricField class.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
Templated abstract base class for RAS turbulence models.
virtual tmp< fvScalarMatrix > epsilonSource() const
tmp< volScalarField > f2() const
virtual void correct()
Solve the turbulence equations and correct the turbulence viscosity.
LaunderSharmaKE(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 void correctNut()
virtual tmp< fvScalarMatrix > kSource() const
tmp< volScalarField > fMu() const
virtual bool read()
Re-read model coefficients if they have changed.
static autoPtr< dictionary > New(Istream &)
Construct top-level dictionary on freestore from Istream.
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))
Calculate the magnitude of the square of the gradient of the gradient of the given volField.
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< volScalarField > magSqrGradGrad(const VolField< Type > &vf)
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 > > 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)
dimensionedScalar exp(const dimensionedScalar &ds)
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
dimensionedScalar sqrt(const dimensionedScalar &ds)
const dimensionSet dimVolume
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 > &)
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.