36 namespace compressible
43 tmp<scalarField> mutSpalartAllmarasWallFunctionFvPatchScalarField::calcUTau
68 scalar magUpara = magUp[faceI];
71 sqrt((mutw[faceI] + muw[faceI])*magGradU[faceI]/rhow[faceI]);
80 scalar kUu =
min(kappa_*magUpara/ut, 50);
81 scalar fkUu =
exp(kUu) - 1 - kUu*(1 + 0.5*kUu);
84 - ut*y[faceI]/(muw[faceI]/rhow[faceI])
86 + 1/E_*(fkUu - 1.0/6.0*kUu*
sqr(kUu));
89 y[faceI]/(muw[faceI]/rhow[faceI])
93 scalar uTauNew = ut + f/df;
94 err =
mag((ut - uTauNew)/ut);
97 }
while (ut > VSMALL && err > 0.01 && ++iter < 10);
99 uTau[faceI] =
max(0.0, ut);
108 mutSpalartAllmarasWallFunctionFvPatchScalarField::calcMut()
const
110 const label patchI = patch().index();
121 rhow*
sqr(calcUTau(magGradU))/(magGradU + ROOTVSMALL) - muw
128 mutSpalartAllmarasWallFunctionFvPatchScalarField::
129 mutSpalartAllmarasWallFunctionFvPatchScalarField
139 mutSpalartAllmarasWallFunctionFvPatchScalarField::
140 mutSpalartAllmarasWallFunctionFvPatchScalarField
152 mutSpalartAllmarasWallFunctionFvPatchScalarField::
153 mutSpalartAllmarasWallFunctionFvPatchScalarField
164 mutSpalartAllmarasWallFunctionFvPatchScalarField::
165 mutSpalartAllmarasWallFunctionFvPatchScalarField
174 mutSpalartAllmarasWallFunctionFvPatchScalarField::
175 mutSpalartAllmarasWallFunctionFvPatchScalarField
188 mutSpalartAllmarasWallFunctionFvPatchScalarField::yPlus()
const
190 const label patchI = patch().index();
198 return y*calcUTau(
mag(Uw.
snGrad()))/(muw/rhow);
202 void mutSpalartAllmarasWallFunctionFvPatchScalarField::write
208 writeLocalEntries(os);
209 writeEntry(
"value", os);