18 max(alpha.oldTime(), phase.residualAlpha())
29 PtrList<surfaceScalarField> AFfs(
fluid.AFfs());
33 phaseModel& phase =
fluid.movingPhases()[movingPhasei];
40 IOobject::groupName(
"rAUf", phase.name()),
62 max(
alphafs[phase.index()], phase.residualAlpha())
82 phaseModel& phase =
fluid.movingPhases()[movingPhasei];
83 MRF.correctBoundaryFlux(phase.U(), phase.phiRef());
87 PtrList<surfaceScalarField> phigFs(
phases.size());
107 -
fluid.surfaceTension(phase)*
mesh.magSf()
120 PtrList<surfaceScalarField> phiHbyAs(
phases.size());
123 phaseModel& phase =
fluid.movingPhases()[movingPhasei];
130 IOobject::groupName(
"phiHbyA", phase.name()),
137 - phigFs[phase.index()]
144 PtrList<surfaceScalarField> phiKdPhifs(
fluid.phiKdPhifs(
rAUfs));
148 if (phiKdPhifs.set(
phasei))
198 surfaceScalarField::Boundary phib(
phi.boundaryField());
204 alphafs[
phasei].boundaryField()*phase.phi()().boundaryField();
207 setSnGrad<fixedFluxPressureFvPatchScalarField>
209 p_rgh.boundaryFieldRef(),
212 )/(
mesh.magSf().boundaryField()*rAUf.boundaryField())
217 PtrList<fvScalarMatrix> pEqnComps(
phases.size());
218 PtrList<volScalarField> dmdts(
fluid.dmdts());
229 if (!phase.isochoric() || !phase.pure())
239 if (!phase.incompressible())
245 IOobject::groupName(
"phid", phase.name()),
254 phase.thermo().psi()*
fvm::ddt(p_rgh)
262 pEqnComps[
phasei].faceFluxCorrectionPtr()
265 pEqnComps[
phasei].relax();
270 (alpha*phase.thermo().psi()/
rho)
276 if (
fvOptions.appliesToField(rho.name()))
292 while (
pimple.correctNonOrthogonal())
307 pEqn += pEqnComps[
phasei];
310 if (
fluid.incompressible())
319 if (
pimple.finalNonOrthogonalIter())
327 phaseModel& phase =
fluid.movingPhases()[movingPhasei];
330 phiHbyAs[phase.index()]
334 phase.divU(-pEqnComps[phase.index()] &
p_rgh);
337 if (partialElimination)
343 phaseModel& phase =
fluid.movingPhases()[movingPhasei];
346 phase.URef().correctBoundaryConditions();
354 phaseModel& phase =
fluid.movingPhases()[movingPhasei];
357 MRF.makeRelative(phase.phiRef());
358 phase.URef().correctBoundaryConditions();
369 if (p_rgh.needReference() &&
fluid.incompressible())
386 phase.thermoRef().rho() += phase.thermo().psi()*(p_rgh -
p_rgh_0);
392 p_rgh.correctBoundaryConditions();
tmp< fvMatrix< Type > > correction(const fvMatrix< Type > &)
Return the correction form of the given matrix.
fvMatrix< scalar > fvScalarMatrix
Info<< "Constructing momentum equations"<< endl;PtrList< fvVectorMatrix > UEqns(phases.size())
pimpleNoLoopControl & pimple
surfaceScalarField rAUf("rAUf", fvc::interpolate(rAU))
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
PtrList< surfaceScalarField > alphafs(phases.size())
volScalarField p_rgh_0(p_rgh)
tmp< GeometricField< Type, fvPatchField, volMesh > > div(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
tmp< GeometricField< Type, fvPatchField, volMesh > > laplacian(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
scalar getRefCellValue(const volScalarField &field, const label refCelli)
Return the current value of field in the reference cell.
tmp< GeometricField< Type, fvPatchField, volMesh > > ddt(const dimensioned< Type > dt, const fvMesh &mesh)
GeometricField< scalar, fvPatchField, volMesh > volScalarField
const dimensionSet dimVolume(pow3(dimLength))
PtrList< surfaceScalarField > alpharAUfs(phases.size())
dimensionedScalar pMin("pMin", dimPressure, fluid)
const dimensionSet dimForce
const surfaceScalarField & ghf
PtrList< surfaceScalarField > phiFfs(fluid.phiFfs(rAUfs))
PtrList< surfaceScalarField > rAUfs
word name(const complex &)
Return a string representation of a complex.
tmp< volScalarField > byDt(const volScalarField &vf)
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
const dimensionSet dimDensity
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> reconstruct(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
PtrList< surfaceScalarField > alphaRho0fs(phases.size())
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
phaseSystem::phaseModelList & phases
const volScalarField & gh
dimensioned< scalar > mag(const dimensioned< Type > &)
volScalarField alpha(IOobject("alpha", runTime.timeName(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
tmp< surfaceScalarField > flux(const volVectorField &vvf)
Return the face-flux field obtained from the given volVectorField.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
const dimensionedVector & g
void deleteDemandDrivenData(DataPtr &dataPtr)
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
const dimensionSet dimArea(sqr(dimLength))
const dimensionSet dimVelocity