6 IOobject::groupName(
"rAU",
phase1.name()),
16 IOobject::groupName(
"rAU",
phase2.name()),
39 volScalarField
D(
fluid.D());
42 surfaceScalarField
Df1
51 surfaceScalarField
Df2
61 if (implicitPhasePressure)
86 volScalarField
rho(
"rho",
fluid.rho());
97 IOobject::groupName(
"HbyA",
phase1.name()),
110 IOobject::groupName(
"HbyA",
phase2.name()),
127 surfaceScalarField phig1
136 surfaceScalarField phig2
147 surfaceScalarField alphaf1Bar(fvc::interpolate(fvc::average(
alphaf1)));
148 surfaceScalarField phiCorrCoeff1(pos0(alphaf1Bar - 0.99));
149 surfaceScalarField phiCorrCoeff2(pos0(0.01 - alphaf1Bar));
152 surfaceScalarField::Boundary& phiCorrCoeff1Bf =
153 phiCorrCoeff1.boundaryFieldRef();
155 surfaceScalarField::Boundary& phiCorrCoeff2Bf =
156 phiCorrCoeff2.boundaryFieldRef();
163 !
mesh.boundary()[patchi].coupled()
164 || isA<cyclicAMIFvPatch>(
mesh.boundary()[patchi])
167 phiCorrCoeff1Bf[patchi] = 0;
168 phiCorrCoeff2Bf[patchi] = 0;
174 surfaceScalarField phiHbyA1
176 IOobject::groupName(
"phiHbyA",
phase1.name()),
178 + phiCorrCoeff1*fvc::interpolate(
alpha1.oldTime()*
rho1.oldTime()*
rAU1)
181 - fvc::flux(
U1.oldTime())
188 surfaceScalarField phiHbyA2
190 IOobject::groupName(
"phiHbyA",
phase2.name()),
192 + phiCorrCoeff2*fvc::interpolate(
alpha2.oldTime()*
rho2.oldTime()*
rAU2)
195 - fvc::flux(
U2.oldTime())
216 surfaceScalarField
rAUf
225 p_rgh.boundaryFieldRef(),
232 )/(
mesh.magSf().boundaryField()*
rAUf.boundaryField())
235 tmp<fvScalarMatrix> pEqnComp1;
236 tmp<fvScalarMatrix> pEqnComp2;
241 surfaceScalarField phid1
243 IOobject::groupName(
"phid",
phase1.name()),
246 surfaceScalarField phid2
248 IOobject::groupName(
"phid",
phase2.name()),
262 + fvm::div(phid1,
p_rgh) - fvm::Sp(fvc::div(phid1),
p_rgh)
265 pEqnComp1.ref().relax();
277 + fvm::div(phid2,
p_rgh) - fvm::Sp(fvc::div(phid2),
p_rgh)
280 pEqnComp2.ref().relax();
303 while (
pimple.correctNonOrthogonal())
306 fvScalarMatrix pEqnIncomp
314 pEqnComp1() + pEqnComp2() + pEqnIncomp,
319 if (
pimple.finalNonOrthogonalIter())
323 surfaceScalarField mSfGradp(
"mSfGradp", pEqnIncomp.flux()/
rAUf);
327 surfaceScalarField phi1s
332 surfaceScalarField phi2s
337 surfaceScalarField
phir
357 mSfGradp = pEqnIncomp.flux()/
rAUf;
373 volScalarField D1(
rAU1*
Kd);
374 volScalarField D2(
rAU2*
Kd);
377 volVectorField Ur(((1 - D2)*Us1 - (1 - D1)*Us2)/(1 - D1*D2));
380 U1.correctBoundaryConditions();
384 U2.correctBoundaryConditions();
405 p_rgh.correctBoundaryConditions();
const uniformDimensionedVectorField & g
const surfaceScalarField & ghf
const volScalarField & gh
const volScalarField & alpha1
const volScalarField & psi2
surfaceScalarField & phi2
const volScalarField & alpha2
const surfaceScalarField & alphaPhi1
surfaceScalarField & phi1
const volScalarField & psi1
const dimensionedScalar & pMin
const surfaceScalarField & alphaPhi2
surfaceScalarField phir(fvc::flux(UdmModel.Udm()))
surfaceScalarField rAUf("rAUf", fvc::interpolate(rAU))
volScalarField p_rgh_0(p_rgh)
surfaceScalarField ghSnGradRho(ghf *fvc::snGrad(rho) *mesh.magSf())
setSnGrad< fixedFluxPressureFvPatchScalarField >(p_rgh.boundaryFieldRef(),(phiHbyA.boundaryField() - MRF.relative(phib))/(mesh.magSf().boundaryField() *rAUf.boundaryField()))
const surfaceScalarField & phiF1
const surfaceScalarField alphaf2("alphaf2", scalar(1) - alphaf1)
const surfaceScalarField alpharAUf1(fvc::interpolate(max(alpha1, phase1.residualAlpha()) *rAU1))
const volScalarField Kd(fluid.Kd())
const surfaceScalarField & phiF2
const volScalarField & rAU2
const volScalarField rAUKd2(rAU2 *Kd)
const surfaceScalarField alpharAUf2(fvc::interpolate(max(alpha2, phase2.residualAlpha()) *rAU2))
const volScalarField rAUKd1(rAU1 *Kd)
const surfaceScalarField alphaf1("alphaf1", fvc::interpolate(alpha1))
const volScalarField & rAU1
volVectorField F(fluid.F())
surfaceScalarField snGradAlpha1(fvc::snGrad(alpha1) *mesh.magSf())
surfaceScalarField Df1(fvc::interpolate(rAU1 *(D+phase1.turbulence().pPrime())))
surfaceScalarField Df2(fvc::interpolate(rAU2 *(D+phase2.turbulence().pPrime())))
const dimensionedScalar & D
#define forAll(list, i)
Loop across all elements in list.