diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/compressibleTwoPhaseEulerFoam.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/compressibleTwoPhaseEulerFoam.C index d29da482ba..78d70a1537 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/compressibleTwoPhaseEulerFoam.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/compressibleTwoPhaseEulerFoam.C @@ -45,6 +45,8 @@ Description #include "pimpleControl.H" +#include "MRFZones.H" + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // int main(int argc, char *argv[]) @@ -55,6 +57,7 @@ int main(int argc, char *argv[]) #include "createMesh.H" #include "readGravitationalAcceleration.H" #include "createFields.H" + #include "createMRFZones.H" #include "readPPProperties.H" #include "initContinuityErrs.H" #include "readTimeControls.H" diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/createMRFZones.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/createMRFZones.H new file mode 100644 index 0000000000..4d5c2bab72 --- /dev/null +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/createMRFZones.H @@ -0,0 +1,4 @@ + MRFZones mrfZones(mesh); + mrfZones.correctBoundaryVelocity(U1); + mrfZones.correctBoundaryVelocity(U2); + mrfZones.correctBoundaryVelocity(U); diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/pEqn.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/pEqn.H index 6c0d1e50f2..aabbc6d4c2 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/pEqn.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/pEqn.H @@ -2,6 +2,11 @@ rho1 = rho10 + psi1*p; rho2 = rho20 + psi2*p; + mrfZones.absoluteFlux(phi1.oldTime()); + mrfZones.absoluteFlux(phi1); + mrfZones.absoluteFlux(phi2.oldTime()); + mrfZones.absoluteFlux(phi2); + surfaceScalarField alpha1f(fvc::interpolate(alpha1)); surfaceScalarField alpha2f(scalar(1) - alpha1f); @@ -25,6 +30,7 @@ + fvc::interpolate((1.0/rho1)*rAU1*dragCoeff)*phi2 + rAlphaAU1f*(g & mesh.Sf()) ); + mrfZones.relativeFlux(phiHbyA1); surfaceScalarField phiHbyA2 ( @@ -34,6 +40,7 @@ + fvc::interpolate((1.0/rho2)*rAU2*dragCoeff)*phi1 + rAlphaAU2f*(g & mesh.Sf()) ); + mrfZones.relativeFlux(phiHbyA2); surfaceScalarField phiHbyA("phiHbyA", alpha1f*phiHbyA1 + alpha2f*phiHbyA2); @@ -97,10 +104,12 @@ phi1.boundaryField() == (fvc::interpolate(U1) & mesh.Sf())().boundaryField(); phi1 = phiHbyA1 + rAlphaAU1f*mSfGradp/fvc::interpolate(rho1); + mrfZones.relativeFlux(phi1.oldTime()); phi2.boundaryField() == (fvc::interpolate(U2) & mesh.Sf())().boundaryField(); phi2 = phiHbyA2 + rAlphaAU2f*mSfGradp/fvc::interpolate(rho2); + mrfZones.relativeFlux(phi2.oldTime()); phi = alpha1f*phi1 + alpha2f*phi2;