36 namespace compressible
48 PDRkEpsilon::PDRkEpsilon
53 const basicThermo& thermophysicalModel
56 RASModel(typeName, rho, U, phi, thermophysicalModel),
60 dimensioned<scalar>::lookupOrAddToDict
69 dimensioned<scalar>::lookupOrAddToDict
78 dimensioned<scalar>::lookupOrAddToDict
87 dimensioned<scalar>::lookupOrAddToDict
96 dimensioned<scalar>::lookupOrAddToDict
105 dimensioned<scalar>::lookupOrAddToDict
165 mut_ = Cmu_*
rho_*
sqr(k_)/(epsilon_ + epsilonSmall_);
166 mut_.correctBoundaryConditions();
169 alphat_.correctBoundaryConditions();
177 tmp<volSymmTensorField> PDRkEpsilon::R()
const
179 return tmp<volSymmTensorField>
192 k_.boundaryField().types()
198 tmp<volSymmTensorField> PDRkEpsilon::devRhoReff()
const
200 return tmp<volSymmTensorField>
218 tmp<fvVectorMatrix> PDRkEpsilon::divDevRhoReff(
volVectorField& U)
const
227 bool PDRkEpsilon::read()
229 if (RASModel::read())
231 Cmu_.readIfPresent(coeffDict_);
232 C1_.readIfPresent(coeffDict_);
233 C2_.readIfPresent(coeffDict_);
234 sigmak_.readIfPresent(coeffDict());
235 sigmaEps_.readIfPresent(coeffDict());
236 Prt_.readIfPresent(coeffDict());
252 mut_ = rho_*Cmu_*
sqr(k_)/(epsilon_ + epsilonSmall_);
253 mut_.correctBoundaryConditions();
257 alphat_.correctBoundaryConditions();
271 tmp<volTensorField> tgradU =
fvc::grad(U_);
276 epsilon_.boundaryField().updateCoeffs();
282 const PDRDragModel&
drag =
283 U_.db().lookupObject<PDRDragModel>(
"PDRDragModel");
288 tmp<fvScalarMatrix> epsEqn
294 C1_*(betav*G + GR)*epsilon_/k_
295 -
fvm::SuSp(((2.0/3.0)*C1_)*betav*rho_*divU, epsilon_)
296 -
fvm::Sp(C2_*betav*rho_*epsilon_/k_, epsilon_)
301 epsEqn().boundaryManipulate(epsilon_.boundaryField());
304 bound(epsilon_, epsilon0_);
309 tmp<fvScalarMatrix> kEqn
316 -
fvm::SuSp((2.0/3.0)*betav*rho_*divU, k_)
317 -
fvm::Sp(betav*rho_*epsilon_/k_, k_)
325 mut_ = rho_*Cmu_*
sqr(k_)/epsilon_;
326 mut_.correctBoundaryConditions();
330 alphat_.correctBoundaryConditions();