4 PtrList<volScalarField>
rAUs;
9 IOobject::groupName(
"rAU",
phase1.name()),
21 IOobject::groupName(
"rAU",
phase2.name()),
49 PtrList<surfaceScalarField>
phiFs(
fluid.phiFs(rAUs));
95 IOobject::groupName(
"HbyA",
phase1.name()),
108 IOobject::groupName(
"HbyA",
phase2.name()),
120 PtrList<surfaceScalarField> ddtCorrByAs(
fluid.ddtCorrByAs(rAUs));
125 IOobject::groupName(
"phiHbyA",
phase1.name()),
126 fvc::flux(HbyA1) - phigF1 - ddtCorrByAs[0]
131 IOobject::groupName(
"phiHbyA",
phase2.name()),
132 fvc::flux(HbyA2) - phigF2 - ddtCorrByAs[1]
138 PtrList<surfaceScalarField> phiKdPhis(
fluid.phiKdPhis(rAUs));
149 MRF.makeRelative(phiHbyA);
163 p_rgh.boundaryFieldRef(),
165 phiHbyA.boundaryField()
170 )/(
mesh.magSf().boundaryField()*rAUf.boundaryField())
174 tmp<fvScalarMatrix> pEqnComp1, pEqnComp2;
175 if (
phase1.compressible())
181 IOobject::groupName(
"phid",
phase1.name()),
199 pEqnComp1.ref().relax();
211 if (
phase2.compressible())
217 IOobject::groupName(
"phid",
phase2.name()),
235 pEqnComp2.ref().relax();
253 if (pEqnComp1.valid())
255 pEqnComp1.ref() -= (optEqn1 &
rho1)/
rho1;
259 pEqnComp1 =
fvm::Su(- (optEqn1 &
rho1)/rho1, p_rgh);
265 if (pEqnComp2.valid())
267 pEqnComp2.ref() -= (optEqn2 &
rho2)/
rho2;
271 pEqnComp2 =
fvm::Su(- (optEqn2 &
rho2)/rho2, p_rgh);
278 PtrList<volScalarField> dmdts(
fluid.dmdts());
281 if (pEqnComp1.valid())
283 pEqnComp1.ref() -= dmdts[0]/
rho1;
292 if (pEqnComp2.valid())
294 pEqnComp2.ref() -= dmdts[1]/
rho2;
307 while (
pimple.correctNonOrthogonal())
319 if (pEqnComp1.valid())
324 if (pEqnComp2.valid())
333 if (
pimple.finalNonOrthogonalIter())
335 phi = phiHbyA + pEqnIncomp.flux();
340 pEqnIncomp.flux()/
rAUf 352 phiHbyA2 + alpharAUf2*mSfGradp
366 if (pEqnComp1.valid())
368 phase1.divU(-pEqnComp1 & p_rgh);
370 if (pEqnComp2.valid())
372 phase2.divU(-pEqnComp2 & p_rgh);
378 mSfGradp = pEqnIncomp.flux()/
rAUf;
405 U1.correctBoundaryConditions();
409 U2.correctBoundaryConditions();
428 p_rgh.correctBoundaryConditions();
tmp< fvMatrix< Type > > correction(const fvMatrix< Type > &)
Return the correction form of the given matrix.
fvMatrix< scalar > fvScalarMatrix
const surfaceScalarField & alphaPhi2
pimpleNoLoopControl & pimple
surfaceScalarField & phi2
const volScalarField rAUKd2(rAU2 *Kd)
const surfaceScalarField alpharAUf2(fvc::interpolate(max(alpha2, phase2.residualAlpha()) *rAU2))
PtrList< volScalarField > rAUs
surfaceScalarField rAUf("rAUf", fvc::interpolate(rAU))
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
volScalarField p_rgh_0(p_rgh)
tmp< GeometricField< Type, fvPatchField, volMesh > > div(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
const surfaceScalarField & alphaPhi1
surfaceScalarField & phi1
GeometricField< vector, fvPatchField, volMesh > volVectorField
tmp< GeometricField< Type, fvPatchField, volMesh > > laplacian(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
const volScalarField Kd(fluid.Kd())
const surfaceScalarField alphaf2("alphaf2", scalar(1) - alphaf1)
const surfaceScalarField phiKd1(fvc::interpolate(rAUKd1))
const surfaceScalarField phiKd2(fvc::interpolate(rAUKd2))
tmp< GeometricField< Type, fvPatchField, volMesh > > ddt(const dimensioned< Type > dt, const fvMesh &mesh)
GeometricField< scalar, fvPatchField, volMesh > volScalarField
PtrList< surfaceScalarField > phiFs(fluid.phiFs(rAUs))
surfaceScalarField phir(fvc::flux(UdmModel.Udm()))
void clear()
Clear the list, i.e. set size to zero.
const volScalarField & alpha1
const surfaceScalarField & ghf
dimensionedScalar pMin("pMin", dimPressure, fluid)
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.
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> reconstruct(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
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 volScalarField & gh
dimensioned< scalar > mag(const dimensioned< Type > &)
const dimensionedScalar & rho2
const volScalarField rAUKd1(rAU1 *Kd)
tmp< surfaceScalarField > flux(const volVectorField &vvf)
Return the face-flux field obtained from the given volVectorField.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
const dimensionedVector & g
const dimensionedScalar & rho1
const surfaceScalarField & phiF2
const surfaceScalarField alphaf1("alphaf1", fvc::interpolate(alpha1))
const surfaceScalarField alpharAUf1(fvc::interpolate(max(alpha1, phase1.residualAlpha()) *rAU1))
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)