32 IOobject::groupName(
"rAUf",
phase1.name()),
43 IOobject::groupName(
"rAUf",
phase2.name()),
54 tmp<surfaceScalarField>
Ff1;
55 tmp<surfaceScalarField>
Ff2;
74 if (implicitPhasePressure)
113 IOobject::groupName(
"alpharAUf",
phase1.name()),
119 IOobject::groupName(
"alpharAUf",
phase2.name()),
132 IOobject::groupName(
"phig",
phase1.name()),
143 IOobject::groupName(
"phig",
phase2.name()),
155 IOobject::groupName(
"phiHbyA",
phase1.name()),
163 *
MRF.absolute(
phi1.oldTime())/runTime.deltaT()
173 IOobject::groupName(
"phiHbyA",
phase2.name()),
181 *
MRF.absolute(
phi2.oldTime())/runTime.deltaT()
194 MRF.makeRelative(phiHbyA);
208 p_rgh.boundaryFieldRef(),
210 phiHbyA.boundaryField()
215 )/(
mesh.magSf().boundaryField()*rAUf.boundaryField())
218 tmp<fvScalarMatrix> pEqnComp1;
219 tmp<fvScalarMatrix> pEqnComp2;
225 IOobject::groupName(
"phid",
phase1.name()),
230 IOobject::groupName(
"phid",
phase2.name()),
234 if (
phase1.compressible())
250 pEqnComp1.ref().relax();
253 if (
phase2.compressible())
269 pEqnComp2.ref().relax();
274 if (
phase1.compressible())
284 if (
phase2.compressible())
295 if (
fluid.transfersMass())
297 if (pEqnComp1.valid())
306 if (pEqnComp2.valid())
319 while (
pimple.correctNonOrthogonal())
330 if (pEqnComp1.valid())
335 if (pEqnComp2.valid())
343 mesh.solver(p_rgh.select(
pimple.finalInnerIter()))
347 if (
pimple.finalNonOrthogonalIter())
351 phi = phiHbyA + pEqnIncomp.flux();
356 + alpharAUf1*mSfGradp
363 + alpharAUf2*mSfGradp
377 U1.correctBoundaryConditions();
381 U2.correctBoundaryConditions();
385 if (pEqnComp1.valid())
387 phase1.divU(-pEqnComp1 & p_rgh);
389 if (pEqnComp2.valid())
391 phase2.divU(-pEqnComp2 & p_rgh);
409 p_rgh.correctBoundaryConditions();
tmp< fvMatrix< Type > > correction(const fvMatrix< Type > &)
Return the correction form of the given matrix.
fvMatrix< scalar > fvScalarMatrix
surfaceScalarField alphaf1("alphaf1", fvc::interpolate(alpha1))
surfaceScalarField & phi2
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
surfaceScalarField Df2(fvc::interpolate(D+phase2.turbulence().pPrime()))
dimensionedSymmTensor sqr(const dimensionedVector &dv)
tmp< GeometricField< Type, fvPatchField, volMesh > > div(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
surfaceScalarField & alphaPhi2
surfaceScalarField alphaRhof10("alphaRhof10", fvc::interpolate(max(alpha1.oldTime(), phase1.residualAlpha())*rho1.oldTime()))
const dictionary & pimple
tmp< GeometricField< Type, fvPatchField, volMesh > > Sp(const volScalarField &sp, const GeometricField< Type, fvPatchField, volMesh > &vf)
surfaceScalarField Df1(fvc::interpolate(D+phase1.turbulence().pPrime()))
surfaceScalarField & phi1
tmp< surfaceScalarField > interpolate(const RhoType &rho)
tmp< GeometricField< Type, fvPatchField, volMesh > > laplacian(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
surfaceScalarField phir(phic *interface.nHatf())
const surfaceScalarField & ghf
surfaceScalarField Ff(fluid.Ff())
tmp< GeometricField< Type, fvPatchField, volMesh > > ddt(const dimensioned< Type > dt, const fvMesh &mesh)
surfaceScalarField snGradAlpha1(fvc::snGrad(alpha1)*mesh.magSf())
GeometricField< scalar, fvPatchField, volMesh > volScalarField
surfaceScalarField Kdf("Kdf", fluid.Kdf())
surfaceScalarField ghSnGradRho(ghf *fvc::snGrad(rho)*mesh.magSf())
surfaceScalarField alpharAUf1(fvc::interpolate(max(alpha1, phase1.residualAlpha())*rAU1))
surfaceScalarField alpharAUf2(fvc::interpolate(max(alpha2, phase2.residualAlpha())*rAU2))
surfaceScalarField rAUf1(IOobject::groupName("rAUf", phase1.name()), 1.0/((alphaRhof10+Vmf)/runTime.deltaT()+fvc::interpolate(U1Eqn.A())+Kdf))
const dimensionedVector & g
setSnGrad< fixedFluxPressureFvPatchScalarField >(p_rgh.boundaryFieldRef(),(phiHbyA.boundaryField()-MRF.relative(phib))/(mesh.magSf().boundaryField()*rAUf.boundaryField()))
dimensionedScalar pMin("pMin", dimPressure, fluid)
surfaceScalarField rAUf("rAUf", fvc::interpolate(rAU))
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> reconstruct(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
surfaceScalarField rAUf2(IOobject::groupName("rAUf", phase2.name()), 1.0/((alphaRhof20+Vmf)/runTime.deltaT()+fvc::interpolate(U2Eqn.A())+Kdf))
tmp< surfaceScalarField > Ff2
const volScalarField & gh
volScalarField p_rgh_0(p_rgh)
dimensioned< scalar > mag(const dimensioned< Type > &)
surfaceScalarField Vmf("Vmf", fluid.Vmf())
surfaceScalarField alphaf2("alphaf2", scalar(1)-alphaf1)
tmp< surfaceScalarField > flux(const volVectorField &vvf)
Return the face-flux field obtained from the given volVectorField.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
surfaceScalarField alphaRhof20("alphaRhof20", fvc::interpolate(max(alpha2.oldTime(), phase2.residualAlpha())*rho2.oldTime()))
tmp< GeometricField< Type, fvPatchField, volMesh > > Su(const GeometricField< Type, fvPatchField, volMesh > &su, const GeometricField< Type, fvPatchField, volMesh > &vf)
void deleteDemandDrivenData(DataPtr &dataPtr)
surfaceScalarField & alphaPhi1
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
tmp< surfaceScalarField > Ff1