36 namespace compressible
43 muSgsWallFunctionFvPatchScalarField::muSgsWallFunctionFvPatchScalarField
49 fixedValueFvPatchScalarField(p, iF),
58 muSgsWallFunctionFvPatchScalarField::muSgsWallFunctionFvPatchScalarField
66 fixedValueFvPatchScalarField(ptf, p, iF, mapper),
68 rhoName_(ptf.rhoName_),
75 muSgsWallFunctionFvPatchScalarField::muSgsWallFunctionFvPatchScalarField
82 fixedValueFvPatchScalarField(p, iF, dict),
91 muSgsWallFunctionFvPatchScalarField::muSgsWallFunctionFvPatchScalarField
96 fixedValueFvPatchScalarField(mwfpsf),
97 UName_(mwfpsf.UName_),
98 rhoName_(mwfpsf.rhoName_),
99 muName_(mwfpsf.muName_),
100 kappa_(mwfpsf.kappa_),
105 muSgsWallFunctionFvPatchScalarField::muSgsWallFunctionFvPatchScalarField
111 fixedValueFvPatchScalarField(mwfpsf, iF),
112 UName_(mwfpsf.UName_),
113 rhoName_(mwfpsf.rhoName_),
114 muName_(mwfpsf.muName_),
115 kappa_(mwfpsf.kappa_),
122 void muSgsWallFunctionFvPatchScalarField::evaluate
146 scalar magUpara = magUp[facei];
149 sqrt((muSgsw[facei] + muw[facei])*magFaceGradU[facei]/rhow[facei]);
158 scalar kUu = kappa_*magUpara/utau;
159 scalar fkUu =
exp(kUu) - 1 - kUu*(1 + 0.5*kUu);
162 - utau/(ry[facei]*muw[facei]/rhow[facei])
164 + 1/E_*(fkUu - 1.0/6.0*kUu*
sqr(kUu));
167 - 1.0/(ry[facei]*muw[facei]/rhow[facei])
169 - 1/E_*kUu*fkUu/utau;
171 scalar utauNew = utau - f/df;
172 err =
mag((utau - utauNew)/utau);
175 }
while (utau > VSMALL && err > 0.01 && ++iter < 10);
180 rhow[facei]*
sqr(utau)/magFaceGradU[facei] - muw[facei],
192 void muSgsWallFunctionFvPatchScalarField::write(
Ostream& os)
const
195 writeEntryIfDifferent<word>(os,
"U",
"U", UName_);
196 writeEntryIfDifferent<word>(os,
"rho",
"rho", rhoName_);
197 writeEntryIfDifferent<word>(os,
"mu",
"mu", muName_);
200 writeEntry(
"value", os);