31 thermo_(const_cast<fluidThermo&>(
32 mesh_.thisDb().lookupObject<fluidThermo>(
"thermophysicalProperties"))),
33 URel_(const_cast<volVectorField&>(
34 mesh_.thisDb().lookupObject<volVectorField>(
"URel"))),
36 rho_(const_cast<volScalarField&>(
37 mesh_.thisDb().lookupObject<volScalarField>(
"rho"))),
38 alphat_(const_cast<volScalarField&>(
39 mesh_.thisDb().lookupObject<volScalarField>(
"alphat"))),
40 psi_(const_cast<volScalarField&>(
41 mesh_.thisDb().lookupObject<volScalarField>(
"thermo:psi"))),
44 simple_(const_cast<fvMesh&>(
mesh)),
45 pressureControl_(p_, rho_, simple_.dict()),
51 const IOdictionary& thermoDict =
mesh.thisDb().lookupObject<IOdictionary>(
"thermophysicalProperties");
52 dictionary mixSubDict = thermoDict.subDict(
"mixture");
53 dictionary specieSubDict = mixSubDict.subDict(
"specie");
54 molWeight_ = specieSubDict.getScalar(
"molWeight");
55 dictionary thermodynamicsSubDict = mixSubDict.subDict(
"thermodynamics");
56 Cp_ = thermodynamicsSubDict.getScalar(
"Cp");
61 Info <<
"Cp " <<
Cp_ << endl;
99 label isPC = options.getLabel(
"isPC");
101 word divUScheme =
"div(phi,U)";
102 word divHEScheme =
"div(phi,e)";
103 word divPhidPScheme =
"div(phid,p)";
105 if (
he_.name() ==
"h")
107 divHEScheme =
"div(phi,h)";
112 divUScheme =
"div(pc)";
113 divHEScheme =
"div(pc)";
114 divPhidPScheme =
"div(pc)";
120 tmp<fvVectorMatrix>
tUEqn(
121 fvm::div(
phi_,
U_, divUScheme)
140 fvm::div(
phi_,
he_, divHEScheme)
142 ? fvc::div(
phi_, volScalarField(
"Ekp", 0.5 * magSqr(
U_) +
p_ /
rho_))
143 : fvc::div(
phi_, volScalarField(
"K", 0.5 * magSqr(
U_))) - fvc::div(
Teff.T() &
U_) + fvc::div(
p_ * (
U_ -
URel_)))
154 volScalarField
AU(
UEqn.A());
156 volVectorField
HbyA(
"HbyA",
U_);
159 volScalarField
rAU(1.0 /
UEqn.A());
164 surfaceScalarField
phid(
166 fvc::interpolate(
psi_) * (fvc::interpolate(
HbyA) &
mesh_.Sf()));
171 fvm::div(
phid,
p_, divPhidPScheme)
177 pEqn -= fvm::div(
phid,
p_, divPhidPScheme);
252 scalar RR = Foam::constant::thermodynamic::RR;
258 dimensionSet(0, 2, -2, -1, 0, 0, 0),
279 dimensionedScalar Cp(
281 dimensionSet(0, 2, -2, -1, 0, 0, 0),
294 if (
he_.name() ==
"e")
302 he_.correctBoundaryConditions();
316 U_.correctBoundaryConditions();
317 p_.correctBoundaryConditions();
318 T_.correctBoundaryConditions();