37 namespace incompressible
51 if (!isA<wallFvPatch>(patch()))
55 "kappatJayatillekeWallFunctionFvPatchScalarField::checkType()"
56 ) <<
"Invalid wall function specification" <<
nl
57 <<
" Patch type for patch " << patch().name()
58 <<
" must be wall" <<
nl
59 <<
" Current patch type is " << patch().type() <<
nl <<
endl
70 return 9.24*(
pow(Prat, 0.75) - 1.0)*(1.0 + 0.28*
exp(-0.007*Prat));
82 for (
int i=0; i<maxIters_; i++)
84 scalar
f = ypt - (
log(E_*ypt)/kappa_ + P)/Prat;
85 scalar df = 1.0 - 1.0/(ypt*kappa_*Prat);
86 scalar yptNew = ypt - f/df;
92 else if (
mag(yptNew - ypt) < tolerance_)
115 fixedValueFvPatchScalarField(p, iF),
134 fixedValueFvPatchScalarField(ptf, p, iF, mapper),
152 fixedValueFvPatchScalarField(p, iF, dict),
168 fixedValueFvPatchScalarField(wfpsf),
185 fixedValueFvPatchScalarField(wfpsf, iF),
204 const label patchI = patch().index();
208 const scalar Cmu25 =
pow(
Cmu_, 0.25);
210 const scalarField& nuw = rasModel.nu().boundaryField()[patchI];
222 label faceCellI = patch().faceCells()[faceI];
225 scalar yPlus = Cmu25*
sqrt(k[faceCellI])*y[faceI]/nuw[faceI];
235 if (yPlus > yPlusTherm)
237 scalar
nu = nuw[faceI];
239 kappatw[faceI] =
max(0.0, kt);
243 kappatw[faceI] = 0.0;
258 writeEntry(
"value", os);