73 volScalarField
rho(
"rho",
fluid.rho());
81 phaseModel& phase =
fluid.movingPhases()[movingPhasei];
82 MRF.correctBoundaryFlux(phase.U(), phase.phiRef());
86 PtrList<surfaceScalarField> phigFs(
phases.size());
105 - (fvc::interpolate(phase.rho() -
rho))*(
g &
mesh.Sf())
106 -
fluid.surfaceTension(phase)*
mesh.magSf()
122 phaseModel& phase =
fluid.movingPhases()[movingPhasei];
127 new surfaceScalarField
129 IOobject::groupName(
"phiHbyA", phase.name()),
132 fvc::flux(
UEqns[phase.index()].H())
134 *byDt(
MRF.absolute(phase.phi()().oldTime()))
136 - phigFs[phase.index()]
140 fluid.fillFields(
"phiHbyA", dimForce/dimDensity/dimVelocity,
phiHbyAs);
143 if (!partialElimination)
145 PtrList<surfaceScalarField> phiKdPhifs(
fluid.phiKdPhifs(
rAUfs));
149 if (phiKdPhifs.set(
phasei))
168 dimensionedScalar(dimVelocity*dimArea, Zero)
177 if (partialElimination)
179 PtrList<surfaceScalarField> phiKdPhifs(
fluid.phiKdPhifs(
rAUfs));
183 if (phiKdPhifs.set(
phasei))
193 surfaceScalarField
rAUf
202 dimensionedScalar(
"rAUf", dimensionSet(-1, 3, 1, 0, 0), 0)
214 surfaceScalarField::Boundary
phib(
phi.boundaryField());
220 alphafs[
phasei].boundaryField()*phase.phi()().boundaryField();
225 p_rgh.boundaryFieldRef(),
228 )/(
mesh.magSf().boundaryField()*
rAUf.boundaryField())
233 PtrList<fvScalarMatrix> pEqnComps(
phases.size());
234 PtrList<volScalarField> dmdts(
fluid.dmdts());
238 const volScalarField&
alpha = phase;
239 volScalarField&
rho = phase.thermoRef().rho();
241 if (phase.compressible())
245 surfaceScalarField
phid
247 IOobject::groupName(
"phid", phase.name()),
248 fvc::interpolate(phase.thermo().psi())*phase.phi()
256 fvc::ddt(
alpha,
rho) + fvc::div(phase.alphaRhoPhi())
259 fvc::ddt(
alpha) + fvc::div(phase.alphaPhi()),
267 phase.thermo().psi()*fvm::ddt(
p_rgh)
275 pEqnComps[
phasei].faceFluxCorrectionPtr(
nullptr);
277 pEqnComps[
phasei].relax();
286 fvc::ddt(
alpha,
rho) + fvc::div(phase.alphaRhoPhi())
289 (fvc::ddt(
alpha) + fvc::div(phase.alphaPhi())),
294 *correction(fvm::ddt(
p_rgh))
303 if (pEqnComps.set(
phasei))
319 if (pEqnComps.set(
phasei))
338 while (
pimple.correctNonOrthogonal())
341 fvScalarMatrix pEqnIncomp
348 fvScalarMatrix pEqn(pEqnIncomp);
352 if (pEqnComps.set(
phasei))
354 pEqn += pEqnComps[
phasei];
362 if (
pimple.finalNonOrthogonalIter())
366 surfaceScalarField mSfGradp(
"mSfGradp", pEqnIncomp.flux()/
rAUf);
370 phaseModel& phase =
fluid.movingPhases()[movingPhasei];
377 if (pEqnComps.set(phase.index()))
379 phase.divU(-pEqnComps[phase.index()] &
p_rgh);
383 if (partialElimination)
391 mSfGradp = pEqnIncomp.flux()/
rAUf;
395 phaseModel& phase =
fluid.movingPhases()[movingPhasei];
397 phase.URef() = fvc::reconstruct(
MRF.absolute(phase.phi()));
398 phase.URef().correctBoundaryConditions();
414 phase.thermoRef().rho() += phase.thermo().psi()*(
p_rgh -
p_rgh_0);
420 p_rgh.correctBoundaryConditions();
surfaceScalarField phid("phid", fvc::interpolate(psi) *(fvc::flux(HbyA)+MRF.zeroFilter(rhorAUf *fvc::ddtCorr(rho, U, phi)/fvc::interpolate(rho))))