37 namespace compressible
42 scalar alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField::maxExp_
44 scalar alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField::tolerance_
46 label alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField::maxIters_
57 return 9.24*(
pow(Prat, 0.75) - 1)*(1 + 0.28*
exp(-0.007*Prat));
64 const nutWallFunctionFvPatchScalarField& nutw,
69 tmp<scalarField> typsf(
new scalarField(this->size()));
79 ypt - (
log(nutw.E()*ypt)/nutw.kappa() + P[facei])/Prat[facei];
80 const scalar df = 1 - 1.0/(ypt*nutw.kappa()*Prat[facei]);
81 const scalar yptNew = ypt - f/df;
111 const phaseSystem& fluid =
112 db().lookupObject<phaseSystem>(
"phaseProperties");
114 const phaseModel& phase
116 fluid.phases()[internalField().group()]
119 const label patchi = patch().index();
128 const nutWallFunctionFvPatchScalarField& nutw =
131 const scalar Cmu25 =
pow025(nutw.Cmu());
135 const tmp<scalarField> tmuw = turbModel.mu(patchi);
138 const tmp<scalarField> talphaw = phase.thermo().alpha(patchi);
141 const tmp<volScalarField> tk = turbModel.k();
151 phase.thermo().he().boundaryField()[
patchi];
154 phase.thermo().T().boundaryField()[
patchi];
161 (prevAlphat + alphaw)*hew.snGrad()
178 tmp<scalarField> talphatConv(
new scalarField(this->size()));
185 scalar alphaEff = 0.0;
188 const scalar A = qDot[facei]*rhow[facei]*
uTau[facei]*y[facei];
190 const scalar B = qDot[facei]*Pr[facei]*
yPlus[facei];
193 Pr[facei]*0.5*rhow[facei]*
uTau[facei]*
sqr(
magUp[facei]);
195 alphaEff = A/(B + C + vSmall);
199 const scalar A = qDot[facei]*rhow[facei]*
uTau[facei]*y[facei];
203 *(1.0/nutw.kappa()*
log(nutw.E()*
yPlus[facei]) + P[facei]);
206 uTau[facei]/nutw.kappa()
210 0.5*rhow[facei]*
uTau[facei]
213 alphaEff = A/(B + C + vSmall);
217 alphatConv[facei] =
max(0.0, alphaEff - alphaw[facei]);
230 const DimensionedField<scalar, volMesh>& iF
242 const DimensionedField<scalar, volMesh>& iF,
243 const dictionary&
dict 247 Prt_(dict.lookupOrDefault<scalar>(
"Prt", 0.85))
256 const DimensionedField<scalar, volMesh>& iF,
257 const fvPatchFieldMapper& mapper
280 const DimensionedField<scalar, volMesh>& iF
299 fixedValueFvPatchScalarField::updateCoeffs();
tmp< scalarField > Psmooth(const scalarField &Prat) const
'P' function
#define forAll(list, i)
Loop across all elements in list.
scalarField dmdt_
Rate of phase-change.
ThermalDiffusivity< PhaseCompressibleTurbulenceModel< phaseModel > > phaseCompressibleTurbulenceModel
Typedef for phaseCompressibleTurbulenceModel.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
fvPatchField< vector > fvPatchVectorField
dimensionedScalar log(const dimensionedScalar &ds)
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
tmp< scalarField > calcAlphat(const scalarField &prevAlphat) const
Update turbulent thermal diffusivity.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar sqrt(const dimensionedScalar &ds)
dimensionedScalar pow025(const dimensionedScalar &ds)
tmp< scalarField > yPlusTherm(const nutWallFunctionFvPatchScalarField &nutw, const scalarField &P, const scalarField &Prat) const
Calculate y+ at the edge of the thermal laminar sublayer.
virtual void write(Ostream &) const
Write.
Macros for easy insertion into run-time selection tables.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
dimensionedScalar exp(const dimensionedScalar &ds)
scalar Prt_
Turbulent Prandtl number.
fvPatchField< scalar > fvPatchScalarField
static const word propertiesName
Default name of the turbulence properties dictionary.
alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
tmp< fvMatrix< Type > > operator==(const fvMatrix< Type > &, const fvMatrix< Type > &)
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
static word groupName(Name name, const word &group)
virtual void write(Ostream &) const
Write.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
alphatPhaseChangeWallFunctionFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
void writeEntry(Ostream &os, const HashTable< T, Key, Hash > &ht)
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
dimensioned< scalar > mag(const dimensioned< Type > &)
static const nutWallFunctionFvPatchScalarField & nutw(const turbulenceModel &turbModel, const label patchi)
Return the nut patchField for the given wall patch.
makePatchTypeField(fvPatchScalarField, thermalBaffleFvPatchScalarField)