40 template<
class BasicMomentumTransportModel>
44 epsilon_ =
max(epsilon_, tCmuk2()/(this->nutMaxCoeff_*this->nu()));
49 template<
class BasicMomentumTransportModel>
52 this->nut_ = boundEpsilon()/epsilon_;
53 this->nut_.correctBoundaryConditions();
58 template<
class BasicMomentumTransportModel>
74 template<
class BasicMomentumTransportModel>
211 this->groupName(
"k"),
212 this->runTime_.
name(),
223 this->groupName(
"epsilon"),
224 this->runTime_.
name(),
232 if (
type == typeName)
245 template<
class BasicMomentumTransportModel>
250 Cmu_.readIfPresent(this->coeffDict());
251 C1_.readIfPresent(this->coeffDict());
252 C1s_.readIfPresent(this->coeffDict());
253 C2_.readIfPresent(this->coeffDict());
254 C3_.readIfPresent(this->coeffDict());
255 C3s_.readIfPresent(this->coeffDict());
256 C4_.readIfPresent(this->coeffDict());
257 C5_.readIfPresent(this->coeffDict());
259 Ceps1_.readIfPresent(this->coeffDict());
260 Ceps2_.readIfPresent(this->coeffDict());
261 Cs_.readIfPresent(this->coeffDict());
262 Ceps_.readIfPresent(this->coeffDict());
273 template<
class BasicMomentumTransportModel>
279 (Cs_*(this->k_/this->epsilon_))*this->R_ +
I*this->nu()
284 template<
class BasicMomentumTransportModel>
290 (Ceps_*(this->k_/this->epsilon_))*this->R_ +
I*this->nu()
295 template<
class BasicMomentumTransportModel>
298 if (!this->turbulence_)
324 epsilon_.boundaryFieldRef().updateCoeffs();
339 epsEqn.
ref().relax();
341 epsEqn.
ref().boundaryManipulate(epsilon_.boundaryFieldRef());
355 if (isA<wallFvPatch>(curPatch))
362 G[celli]/(0.5*
mag(
tr(P[celli])) + small),
382 - ((1.0/3.0)*
I)*(((2.0 - C1_)*epsilon_ - C1s_*
G)*
alpha*
rho)
399 this->boundNormalStress(
R);
406 this->correctWallShearStress(
R);
#define forAll(list, i)
Loop across all elements in list.
Generic GeometricField class.
static tmp< GeometricField< Type, PatchField, GeoMesh > > New(const word &name, const Internal &, const PtrList< PatchField< Type >> &, const HashPtrTable< Source > &=HashPtrTable< Source >())
Return a temporary field constructed from name,.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
Templated abstract base class for RAS turbulence models.
BasicMomentumTransportModel::alphaField alphaField
virtual void printCoeffs(const word &type)
Print model coefficients.
BasicMomentumTransportModel::rhoField rhoField
tmp< volSymmTensorField > DepsilonEff() const
Return the effective diffusivity for epsilon.
virtual tmp< fvScalarMatrix > epsilonSource() const
Source term for the epsilon equation.
virtual void correct()
Solve the turbulence equations and correct eddy-Viscosity and.
tmp< volScalarField > boundEpsilon()
Bound epsilon and return Cmu*sqr(k) for nut.
tmp< volSymmTensorField > DREff() const
Return the effective diffusivity for R.
SSG(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()
Correct the eddy-viscosity nut.
virtual bool read()
Read model coefficients if they have changed.
Reynolds-stress turbulence model base class.
void boundNormalStress(volSymmTensorField &R) const
static autoPtr< dictionary > New(Istream &)
Construct top-level dictionary on freestore from Istream.
Generic dimensioned Type 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....
tmp< fvMatrix< Type > > source(const VolField< Type > &field) const
Return source for an equation.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
virtual const labelUList & faceCells() const
Return faceCells.
A class for managing temporary objects.
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))
const fvPatchList & patches
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< 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 > > div(const surfaceScalarField &flux, const VolField< Type > &vf, const word &name)
tmp< fvMatrix< Type > > Sp(const volScalarField::Internal &, const VolField< Type > &)
tmp< fvMatrix< Type > > ddt(const VolField< Type > &vf)
dimensionedSymmTensor dev(const dimensionedSymmTensor &dt)
dimensionedSymmTensor symm(const dimensionedSymmTensor &dt)
dimensionedScalar tr(const dimensionedSphericalTensor &dt)
bool read(const char *, int32_t &)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
word name(const bool)
Return a word representation of a bool.
dimensionedSymmTensor twoSymm(const dimensionedSymmTensor &dt)
static const Identity< scalar > I
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
const dimensionSet dimTime
const dimensionSet dimVolume
dimensioned< scalar > mag(const dimensioned< Type > &)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
static scalar R(const scalar a, const scalar x)
dimensionedSymmTensor innerSqr(const dimensionedSymmTensor &dt)
dimensionedTensor skew(const dimensionedTensor &dt)
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.