36 namespace compressible
44 scalar mutRoughWallFunctionFvPatchScalarField::fnRough
56 (KsPlus - 2.25)/87.75 + Cs*KsPlus,
57 sin(0.4258*(
log(KsPlus) - 0.811))
62 return (1.0 + Cs*KsPlus);
69 const label patchI = patch().index();
78 const scalar Cmu25 =
pow(Cmu_, 0.25);
85 label faceCellI = patch().faceCells()[faceI];
87 scalar uStar = Cmu25*
sqrt(k[faceCellI]);
89 scalar yPlus = uStar*y[faceI]/(muw[faceI]/rhow[faceI]);
91 scalar KsPlus = uStar*Ks_[faceI]/(muw[faceI]/rhow[faceI]);
94 scalar yPlusLamNew = yPlusLam_;
97 Edash /= fnRough(KsPlus, Cs_[faceI]);
98 yPlusLamNew = rasModel.
yPlusLam(kappa_, Edash);
103 Info<<
"yPlus = " << yPlus
104 <<
", KsPlus = " << KsPlus
105 <<
", Edash = " << Edash
106 <<
", yPlusLam = " << yPlusLam_
110 if (yPlus > yPlusLamNew)
113 muw[faceI]*(yPlus*kappa_/
log(
max(Edash*yPlus, 1+1
e-4)) - 1);
123 mutRoughWallFunctionFvPatchScalarField::mutRoughWallFunctionFvPatchScalarField
135 mutRoughWallFunctionFvPatchScalarField::mutRoughWallFunctionFvPatchScalarField
144 Ks_(ptf.
Ks_, mapper),
149 mutRoughWallFunctionFvPatchScalarField::mutRoughWallFunctionFvPatchScalarField
157 Ks_(
"Ks", dict, p.
size()),
158 Cs_(
"Cs", dict, p.
size())
162 mutRoughWallFunctionFvPatchScalarField::mutRoughWallFunctionFvPatchScalarField
173 mutRoughWallFunctionFvPatchScalarField::mutRoughWallFunctionFvPatchScalarField
187 void mutRoughWallFunctionFvPatchScalarField::autoMap
192 mutWallFunctionFvPatchScalarField::autoMap(m);
198 void mutRoughWallFunctionFvPatchScalarField::rmap
204 mutWallFunctionFvPatchScalarField::rmap(ptf, addr);
207 refCast<const mutRoughWallFunctionFvPatchScalarField>(ptf);
210 Ks_.rmap(nrwfpsf.
Ks_, addr);
214 void mutRoughWallFunctionFvPatchScalarField::write(
Ostream& os)
const
217 writeLocalEntries(os);
218 Cs_.writeEntry(
"Cs", os);
219 Ks_.writeEntry(
"Ks", os);
220 writeEntry(
"value", os);