6 IOobject::groupName(
"rAU",
phase1.name()),
11 *
rho1/runTime.deltaT()
16 IOobject::groupName(
"rAU",
phase2.name()),
21 *
rho2/runTime.deltaT()
61 if (implicitPhasePressure)
97 IOobject::groupName(
"HbyA",
phase1.name()),
105 *
rho1*
U1.oldTime()/runTime.deltaT()
110 IOobject::groupName(
"HbyA",
phase2.name()),
118 *
rho2*
U2.oldTime()/runTime.deltaT()
152 surfaceScalarField::Boundary& phiCorrCoeff1Bf =
153 phiCorrCoeff1.boundaryFieldRef();
155 surfaceScalarField::Boundary& phiCorrCoeff2Bf =
156 phiCorrCoeff2.boundaryFieldRef();
164 || isA<cyclicAMIFvPatch>(
mesh.boundary()[
patchi])
167 phiCorrCoeff1Bf[
patchi] = 0;
168 phiCorrCoeff2Bf[
patchi] = 0;
176 IOobject::groupName(
"phiHbyA",
phase1.name()),
190 IOobject::groupName(
"phiHbyA",
phase2.name()),
213 MRF.makeRelative(phiHbyA);
225 p_rgh.boundaryFieldRef(),
227 phiHbyA.boundaryField()
232 )/(
mesh.magSf().boundaryField()*rAUf.boundaryField())
235 tmp<fvScalarMatrix> pEqnComp1;
236 tmp<fvScalarMatrix> pEqnComp2;
243 IOobject::groupName(
"phid",
phase1.name()),
248 IOobject::groupName(
"phid",
phase2.name()),
266 pEqnComp1.ref().relax();
282 pEqnComp2.ref().relax();
305 while (
pimple.correctNonOrthogonal())
316 pEqnComp1() + pEqnComp2() + pEqnIncomp,
317 mesh.solver(p_rgh.select(
pimple.finalInnerIter()))
321 if (
pimple.finalNonOrthogonalIter())
323 phi = phiHbyA + pEqnIncomp.flux();
336 phiHbyA2 + alpharAUf2*mSfGradp
341 ((phi1s + rAUKd1*phi2s) - (phi2s + rAUKd2*phi1s))
353 -
alpha2*(pEqnComp1 & p_rgh)
359 mSfGradp = pEqnIncomp.flux()/
rAUf;
382 U1.correctBoundaryConditions();
386 U2.correctBoundaryConditions();
407 p_rgh.correctBoundaryConditions();
volScalarField rAU1(IOobject::groupName("rAU", phase1.name()), 1.0/(U1Eqn.A()+max(phase1.residualAlpha()-alpha1, scalar(0))*rho1/runTime.deltaT()))
tmp< fvMatrix< Type > > correction(const fvMatrix< Type > &)
Return the correction form of the given matrix.
fvMatrix< scalar > fvScalarMatrix
tmp< surfaceScalarField > phiF2
volVectorField F(fluid.F())
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()))
tmp< GeometricField< Type, fvPatchField, volMesh > > div(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
surfaceScalarField & alphaPhi2
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)
GeometricField< vector, fvPatchField, volMesh > volVectorField
tmp< GeometricField< Type, fvPatchField, volMesh > > laplacian(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
surfaceScalarField phir(phic *interface.nHatf())
const surfaceScalarField & ghf
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
dimensionedScalar pos(const dimensionedScalar &ds)
volScalarField Kd(fluid.Kd())
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))
dimensioned< scalar > magSqr(const dimensioned< Type > &)
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)
volScalarField rAU2(IOobject::groupName("rAU", phase2.name()), 1.0/(U2Eqn.A()+max(phase2.residualAlpha()-alpha2, scalar(0))*rho2/runTime.deltaT()))
tmp< surfaceScalarField > phiF1
const volScalarField & gh
volScalarField p_rgh_0(p_rgh)
tmp< GeometricField< Type, fvPatchField, volMesh > > average(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
Area-weighted average a surfaceField creating a volField.
dimensioned< scalar > mag(const dimensioned< Type > &)
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
void deleteDemandDrivenData(DataPtr &dataPtr)
surfaceScalarField & alphaPhi1
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)