diff --git a/applications/solvers/basic/potentialFoam/potentialFoam.C b/applications/solvers/basic/potentialFoam/potentialFoam.C index eca2c6c221..5c56133788 100644 --- a/applications/solvers/basic/potentialFoam/potentialFoam.C +++ b/applications/solvers/basic/potentialFoam/potentialFoam.C @@ -80,6 +80,7 @@ int main(int argc, char *argv[]) pisoControl potentialFlow(mesh, "potentialFlow"); #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -90,8 +91,7 @@ int main(int argc, char *argv[]) // function objects so do it ourselves runTime.functionObjects().start(); - fvOptions.makeRelative(phi); - + MRF.makeRelative(phi); adjustPhi(phi, U, p); // Non-orthogonal velocity potential corrector loop @@ -113,7 +113,7 @@ int main(int argc, char *argv[]) } } - fvOptions.makeAbsolute(phi); + MRF.makeAbsolute(phi); Info<< "Continuity error = " << mag(fvc::div(phi))().weightedAverage(mesh.V()).value() diff --git a/applications/solvers/combustion/PDRFoam/PDRFoam.C b/applications/solvers/combustion/PDRFoam/PDRFoam.C index 2ecafd5646..55bceadc8c 100644 --- a/applications/solvers/combustion/PDRFoam/PDRFoam.C +++ b/applications/solvers/combustion/PDRFoam/PDRFoam.C @@ -92,6 +92,7 @@ int main(int argc, char *argv[]) #include "readCombustionProperties.H" #include "readGravitationalAcceleration.H" #include "createFields.H" + #include "createMRF.H" #include "initContinuityErrs.H" #include "readTimeControls.H" #include "compressibleCourantNo.H" diff --git a/applications/solvers/combustion/PDRFoam/UEqn.H b/applications/solvers/combustion/PDRFoam/UEqn.H index 79d81663c4..1d949d17b7 100644 --- a/applications/solvers/combustion/PDRFoam/UEqn.H +++ b/applications/solvers/combustion/PDRFoam/UEqn.H @@ -1,7 +1,9 @@ + MRF.correctBoundaryVelocity(U); + fvVectorMatrix UEqn ( - betav*fvm::ddt(rho, U) - + fvm::div(phi, U) + betav*fvm::ddt(rho, U) + fvm::div(phi, U) + + MRF.DDt(rho, U) + turbulence->divDevRhoReff(U) == betav*rho*g diff --git a/applications/solvers/combustion/XiFoam/UEqn.H b/applications/solvers/combustion/XiFoam/UEqn.H index 60c2a8a71f..f493177d76 100644 --- a/applications/solvers/combustion/XiFoam/UEqn.H +++ b/applications/solvers/combustion/XiFoam/UEqn.H @@ -1,7 +1,9 @@ + MRF.correctBoundaryVelocity(U); + fvVectorMatrix UEqn ( - fvm::ddt(rho, U) - + fvm::div(phi, U) + fvm::ddt(rho, U) + fvm::div(phi, U) + + MRF.DDt(rho, U) + turbulence->divDevRhoReff(U) == rho*g diff --git a/applications/solvers/combustion/XiFoam/XiFoam.C b/applications/solvers/combustion/XiFoam/XiFoam.C index d6300e9e4d..cf0c63df96 100644 --- a/applications/solvers/combustion/XiFoam/XiFoam.C +++ b/applications/solvers/combustion/XiFoam/XiFoam.C @@ -72,6 +72,7 @@ int main(int argc, char *argv[]) #include "readCombustionProperties.H" #include "readGravitationalAcceleration.H" #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "initContinuityErrs.H" #include "readTimeControls.H" diff --git a/applications/solvers/combustion/XiFoam/pEqn.H b/applications/solvers/combustion/XiFoam/pEqn.H index 213cfd1332..2b11dc73f8 100644 --- a/applications/solvers/combustion/XiFoam/pEqn.H +++ b/applications/solvers/combustion/XiFoam/pEqn.H @@ -18,7 +18,7 @@ if (pimple.transonic()) ) ); - fvOptions.makeRelative(fvc::interpolate(psi), phid); + MRF.makeRelative(fvc::interpolate(psi), phid); while (pimple.correctNonOrthogonal()) { @@ -50,7 +50,7 @@ else ) ); - fvOptions.makeRelative(phiHbyA); + MRF.makeRelative(phiHbyA); while (pimple.correctNonOrthogonal()) { diff --git a/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C b/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C index bea17cd8d9..e85010239b 100644 --- a/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C +++ b/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C @@ -50,6 +50,7 @@ int main(int argc, char *argv[]) pimpleControl pimple(mesh); #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "createRhoUf.H" #include "initContinuityErrs.H" diff --git a/applications/solvers/combustion/engineFoam/engineFoam.C b/applications/solvers/combustion/engineFoam/engineFoam.C index 6e6677ec39..4602eac997 100644 --- a/applications/solvers/combustion/engineFoam/engineFoam.C +++ b/applications/solvers/combustion/engineFoam/engineFoam.C @@ -74,6 +74,7 @@ int main(int argc, char *argv[]) #include "readCombustionProperties.H" #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "createRhoUf.H" #include "initContinuityErrs.H" diff --git a/applications/solvers/combustion/engineFoam/pEqn.H b/applications/solvers/combustion/engineFoam/pEqn.H index 664e99d0c7..c962353e3f 100644 --- a/applications/solvers/combustion/engineFoam/pEqn.H +++ b/applications/solvers/combustion/engineFoam/pEqn.H @@ -21,7 +21,7 @@ if (pimple.transonic()) ); fvc::makeRelative(phid, psi, U); - fvOptions.makeRelative(fvc::interpolate(psi), phid); + MRF.makeRelative(fvc::interpolate(psi), phid); while (pimple.correctNonOrthogonal()) { @@ -54,7 +54,7 @@ else ); fvc::makeRelative(phiHbyA, rho, U); - fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA); + MRF.makeRelative(fvc::interpolate(rho), phiHbyA); while (pimple.correctNonOrthogonal()) { diff --git a/applications/solvers/combustion/fireFoam/UEqn.H b/applications/solvers/combustion/fireFoam/UEqn.H index 205eb09156..0bb6ff7240 100644 --- a/applications/solvers/combustion/fireFoam/UEqn.H +++ b/applications/solvers/combustion/fireFoam/UEqn.H @@ -1,7 +1,9 @@ + MRF.correctBoundaryVelocity(U); + fvVectorMatrix UEqn ( - fvm::ddt(rho, U) - + fvm::div(phi, U) + fvm::ddt(rho, U) + fvm::div(phi, U) + + MRF.DDt(rho, U) + turbulence->divDevRhoReff(U) == parcels.SU(U) diff --git a/applications/solvers/combustion/fireFoam/fireFoam.C b/applications/solvers/combustion/fireFoam/fireFoam.C index d7ec701ad8..b24c6b2c0e 100644 --- a/applications/solvers/combustion/fireFoam/fireFoam.C +++ b/applications/solvers/combustion/fireFoam/fireFoam.C @@ -55,6 +55,7 @@ int main(int argc, char *argv[]) pimpleControl pimple(mesh); #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "createClouds.H" #include "createSurfaceFilmModel.H" diff --git a/applications/solvers/combustion/fireFoam/pEqn.H b/applications/solvers/combustion/fireFoam/pEqn.H index 5112326eac..6f8b034581 100644 --- a/applications/solvers/combustion/fireFoam/pEqn.H +++ b/applications/solvers/combustion/fireFoam/pEqn.H @@ -18,7 +18,7 @@ surfaceScalarField phiHbyA + phig ); -fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA); +MRF.makeRelative(fvc::interpolate(rho), phiHbyA); // Update the fixedFluxPressure BCs to ensure flux consistency setSnGrad @@ -26,7 +26,7 @@ setSnGrad p_rgh.boundaryField(), ( phiHbyA.boundaryField() - - fvOptions.relative(mesh.Sf().boundaryField() & U.boundaryField()) + - MRF.relative(mesh.Sf().boundaryField() & U.boundaryField()) *rho.boundaryField() )/(mesh.magSf().boundaryField()*rhorAUf.boundaryField()) ); diff --git a/applications/solvers/combustion/reactingFoam/LTSReactingFoam/LTSReactingFoam.C b/applications/solvers/combustion/reactingFoam/LTSReactingFoam/LTSReactingFoam.C index 5ba629d3ad..55e33d91de 100644 --- a/applications/solvers/combustion/reactingFoam/LTSReactingFoam/LTSReactingFoam.C +++ b/applications/solvers/combustion/reactingFoam/LTSReactingFoam/LTSReactingFoam.C @@ -50,6 +50,7 @@ int main(int argc, char *argv[]) #include "readGravitationalAcceleration.H" #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "initContinuityErrs.H" #include "readTimeControls.H" diff --git a/applications/solvers/combustion/reactingFoam/UEqn.H b/applications/solvers/combustion/reactingFoam/UEqn.H index 60c2a8a71f..f493177d76 100644 --- a/applications/solvers/combustion/reactingFoam/UEqn.H +++ b/applications/solvers/combustion/reactingFoam/UEqn.H @@ -1,7 +1,9 @@ + MRF.correctBoundaryVelocity(U); + fvVectorMatrix UEqn ( - fvm::ddt(rho, U) - + fvm::div(phi, U) + fvm::ddt(rho, U) + fvm::div(phi, U) + + MRF.DDt(rho, U) + turbulence->divDevRhoReff(U) == rho*g diff --git a/applications/solvers/combustion/reactingFoam/pEqn.H b/applications/solvers/combustion/reactingFoam/pEqn.H index 9768825317..cedab05eab 100644 --- a/applications/solvers/combustion/reactingFoam/pEqn.H +++ b/applications/solvers/combustion/reactingFoam/pEqn.H @@ -18,7 +18,7 @@ if (pimple.transonic()) ) ); - fvOptions.makeRelative(fvc::interpolate(psi), phid); + MRF.makeRelative(fvc::interpolate(psi), phid); while (pimple.correctNonOrthogonal()) { @@ -50,7 +50,7 @@ else ) ); - fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA); + MRF.makeRelative(fvc::interpolate(rho), phiHbyA); while (pimple.correctNonOrthogonal()) { diff --git a/applications/solvers/combustion/reactingFoam/reactingFoam.C b/applications/solvers/combustion/reactingFoam/reactingFoam.C index cb15d3ef09..ceb380ef24 100644 --- a/applications/solvers/combustion/reactingFoam/reactingFoam.C +++ b/applications/solvers/combustion/reactingFoam/reactingFoam.C @@ -48,6 +48,7 @@ int main(int argc, char *argv[]) #include "readGravitationalAcceleration.H" #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "initContinuityErrs.H" #include "readTimeControls.H" diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/UEqn.H b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/UEqn.H index 7d1a350e16..dbda898873 100644 --- a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/UEqn.H +++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/UEqn.H @@ -1,7 +1,9 @@ + MRF.correctBoundaryVelocity(U); + fvVectorMatrix UEqn ( - fvm::ddt(rho, U) - + fvm::div(phi, U) + fvm::ddt(rho, U) + fvm::div(phi, U) + + MRF.DDt(rho, U) + turbulence->divDevRhoReff(U) == fvOptions(rho, U) diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/pEqn.H b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/pEqn.H index becb0aa701..965ff5bad2 100644 --- a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/pEqn.H +++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/pEqn.H @@ -23,7 +23,7 @@ + phig ); - fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA); + MRF.makeRelative(fvc::interpolate(rho), phiHbyA); // Update the fixedFluxPressure BCs to ensure flux consistency setSnGrad @@ -31,7 +31,7 @@ p_rgh.boundaryField(), ( phiHbyA.boundaryField() - - fvOptions.relative(mesh.Sf().boundaryField() & U.boundaryField()) + - MRF.relative(mesh.Sf().boundaryField() & U.boundaryField()) *rho.boundaryField() )/(mesh.magSf().boundaryField()*rhorAUf.boundaryField()) ); diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C index d8e68441c9..48f2ca6080 100644 --- a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C +++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C @@ -49,6 +49,7 @@ int main(int argc, char *argv[]) pimpleControl pimple(mesh); #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "initContinuityErrs.H" #include "readTimeControls.H" diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/pEqn.H b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/pEqn.H index f17f8bcd76..87ca80dbf6 100644 --- a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/pEqn.H +++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/pEqn.H @@ -22,7 +22,7 @@ ) ); - fvOptions.makeRelative(phiHbyA); + MRF.makeRelative(phiHbyA); surfaceScalarField phid("phid", fvc::interpolate(thermo.psi())*phiHbyA); @@ -63,7 +63,7 @@ ) ); - fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA); + MRF.makeRelative(fvc::interpolate(rho), phiHbyA); fvScalarMatrix pDDtEqn ( diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C index bff193a2cb..54f3e8c691 100644 --- a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C +++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C @@ -49,6 +49,7 @@ int main(int argc, char *argv[]) #include "readGravitationalAcceleration.H" #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "initContinuityErrs.H" #include "readTimeControls.H" diff --git a/applications/solvers/compressible/rhoPimpleFoam/UEqn.H b/applications/solvers/compressible/rhoPimpleFoam/UEqn.H index 1adabbc1f0..907c9934e2 100644 --- a/applications/solvers/compressible/rhoPimpleFoam/UEqn.H +++ b/applications/solvers/compressible/rhoPimpleFoam/UEqn.H @@ -1,9 +1,11 @@ // Solve the Momentum equation +MRF.correctBoundaryVelocity(U); + tmp UEqn ( - fvm::ddt(rho, U) - + fvm::div(phi, U) + fvm::ddt(rho, U) + fvm::div(phi, U) + + MRF.DDt(rho, U) + turbulence->divDevRhoReff(U) == fvOptions(rho, U) diff --git a/applications/solvers/compressible/rhoPimpleFoam/pEqn.H b/applications/solvers/compressible/rhoPimpleFoam/pEqn.H index 2cf0f637a8..2f352db5da 100644 --- a/applications/solvers/compressible/rhoPimpleFoam/pEqn.H +++ b/applications/solvers/compressible/rhoPimpleFoam/pEqn.H @@ -26,7 +26,7 @@ if (pimple.transonic()) ) ); - fvOptions.makeRelative(fvc::interpolate(psi), phid); + MRF.makeRelative(fvc::interpolate(psi), phid); while (pimple.correctNonOrthogonal()) { @@ -58,7 +58,7 @@ else ) ); - fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA); + MRF.makeRelative(fvc::interpolate(rho), phiHbyA); while (pimple.correctNonOrthogonal()) { diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/rhoLTSPimpleFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/rhoLTSPimpleFoam.C index 8ff8c28da2..c6368171a0 100644 --- a/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/rhoLTSPimpleFoam.C +++ b/applications/solvers/compressible/rhoPimpleFoam/rhoLTSPimpleFoam/rhoLTSPimpleFoam.C @@ -55,6 +55,7 @@ int main(int argc, char *argv[]) #include "setInitialrDeltaT.H" #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "initContinuityErrs.H" diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/pEqn.H b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/pEqn.H index 17ce7e89f7..33039b3dc9 100644 --- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/pEqn.H +++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/pEqn.H @@ -27,7 +27,7 @@ if (pimple.transonic()) ); fvc::makeRelative(phid, psi, U); - fvOptions.makeRelative(fvc::interpolate(psi), phid); + MRF.makeRelative(fvc::interpolate(psi), phid); while (pimple.correctNonOrthogonal()) { @@ -58,7 +58,7 @@ else ); fvc::makeRelative(phiHbyA, rho, U); - fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA); + MRF.makeRelative(fvc::interpolate(rho), phiHbyA); while (pimple.correctNonOrthogonal()) { diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C index 72febbc9ce..3672afb37d 100644 --- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C +++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C @@ -58,6 +58,7 @@ int main(int argc, char *argv[]) #include "readControls.H" #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "createRhoUf.H" #include "CourantNo.H" diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C index ae43c95044..170a7eaa6f 100644 --- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C +++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C @@ -51,6 +51,7 @@ int main(int argc, char *argv[]) pimpleControl pimple(mesh); #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "initContinuityErrs.H" diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/pEqn.H b/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/pEqn.H index c18f0590d8..3d7fffc459 100644 --- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/pEqn.H +++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/pEqn.H @@ -26,7 +26,7 @@ if (pimple.transonic()) ) ); - fvOptions.makeRelative(fvc::interpolate(psi), phid); + MRF.makeRelative(fvc::interpolate(psi), phid); surfaceScalarField phic ( @@ -69,7 +69,7 @@ else ) ); - fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA); + MRF.makeRelative(fvc::interpolate(rho), phiHbyA); phiHbyA += fvc::interpolate(rho*(rAtU - rAU))*fvc::snGrad(p)*mesh.magSf(); HbyA -= (rAU - rAtU)*fvc::grad(p); diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/rhoPimplecFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/rhoPimplecFoam.C index fd3e102dc4..8f6a1deb60 100644 --- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/rhoPimplecFoam.C +++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimplecFoam/rhoPimplecFoam.C @@ -51,6 +51,7 @@ int main(int argc, char *argv[]) pimpleControl pimple(mesh); #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "initContinuityErrs.H" diff --git a/applications/solvers/compressible/rhoSimpleFoam/UEqn.H b/applications/solvers/compressible/rhoSimpleFoam/UEqn.H index 323af72fb2..396b923494 100644 --- a/applications/solvers/compressible/rhoSimpleFoam/UEqn.H +++ b/applications/solvers/compressible/rhoSimpleFoam/UEqn.H @@ -1,8 +1,11 @@ // Solve the Momentum equation + MRF.correctBoundaryVelocity(U); + tmp UEqn ( fvm::div(phi, U) + + MRF.DDt(rho, U) + turbulence->divDevRhoReff(U) == fvOptions(rho, U) diff --git a/applications/solvers/compressible/rhoSimpleFoam/pEqn.H b/applications/solvers/compressible/rhoSimpleFoam/pEqn.H index d5e26fceff..38c9806ee9 100644 --- a/applications/solvers/compressible/rhoSimpleFoam/pEqn.H +++ b/applications/solvers/compressible/rhoSimpleFoam/pEqn.H @@ -16,7 +16,7 @@ *(fvc::interpolate(HbyA) & mesh.Sf()) ); - fvOptions.makeRelative(fvc::interpolate(psi), phid); + MRF.makeRelative(fvc::interpolate(psi), phid); while (simple.correctNonOrthogonal()) { @@ -49,7 +49,7 @@ fvc::interpolate(rho*HbyA) & mesh.Sf() ); - fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA); + MRF.makeRelative(fvc::interpolate(rho), phiHbyA); closedVolume = adjustPhi(phiHbyA, U, p); diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/UEqn.H b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/UEqn.H index b4c7207138..fcb8f713d6 100644 --- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/UEqn.H +++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/UEqn.H @@ -1,8 +1,11 @@ // Construct the Momentum equation + MRF.correctBoundaryVelocity(U); + tmp UEqn ( fvm::div(phi, U) + + MRF.DDt(rho, U) + turbulence->divDevRhoReff(U) == fvOptions(rho, U) diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/pEqn.H b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/pEqn.H index 38e39b9ac5..b0af0e3f8b 100644 --- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/pEqn.H +++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/pEqn.H @@ -22,7 +22,7 @@ fvc::interpolate(rho*HbyA) & mesh.Sf() ); - fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA); + MRF.makeRelative(fvc::interpolate(rho), phiHbyA); closedVolume = adjustPhi(phiHbyA, U, p); diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C index d8598bae47..a7482b3df1 100644 --- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C +++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C @@ -49,6 +49,7 @@ int main(int argc, char *argv[]) simpleControl simple(mesh); #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "createZones.H" #include "initContinuityErrs.H" diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C index 1d70a557cd..ae4f28af77 100644 --- a/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C +++ b/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C @@ -47,6 +47,7 @@ int main(int argc, char *argv[]) simpleControl simple(mesh); #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "initContinuityErrs.H" diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/pEqn.H b/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/pEqn.H index fbc3b01f23..82161f230c 100644 --- a/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/pEqn.H +++ b/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/pEqn.H @@ -17,7 +17,7 @@ if (simple.transonic()) *(fvc::interpolate(HbyA) & mesh.Sf()) ); - fvOptions.makeRelative(fvc::interpolate(psi), phid); + MRF.makeRelative(fvc::interpolate(psi), phid); surfaceScalarField phic ( @@ -61,7 +61,7 @@ else fvc::interpolate(rho*HbyA) & mesh.Sf() ); - fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA); + MRF.makeRelative(fvc::interpolate(rho), phiHbyA); closedVolume = adjustPhi(phiHbyA, U, p); diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/rhoSimplecFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/rhoSimplecFoam.C index bad31d3783..af8e917ee6 100644 --- a/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/rhoSimplecFoam.C +++ b/applications/solvers/compressible/rhoSimpleFoam/rhoSimplecFoam/rhoSimplecFoam.C @@ -49,6 +49,7 @@ int main(int argc, char *argv[]) simpleControl simple(mesh); #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "initContinuityErrs.H" diff --git a/applications/solvers/compressible/sonicFoam/UEqn.H b/applications/solvers/compressible/sonicFoam/UEqn.H index d091cd549e..c726eb40db 100644 --- a/applications/solvers/compressible/sonicFoam/UEqn.H +++ b/applications/solvers/compressible/sonicFoam/UEqn.H @@ -1,9 +1,11 @@ // Solve the Momentum equation +MRF.correctBoundaryVelocity(U); + fvVectorMatrix UEqn ( - fvm::ddt(rho, U) - + fvm::div(phi, U) + fvm::ddt(rho, U) + fvm::div(phi, U) + + MRF.DDt(rho, U) + turbulence->divDevRhoReff(U) == fvOptions(rho, U) diff --git a/applications/solvers/compressible/sonicFoam/pEqn.H b/applications/solvers/compressible/sonicFoam/pEqn.H index ea6481dedc..d61808b23c 100644 --- a/applications/solvers/compressible/sonicFoam/pEqn.H +++ b/applications/solvers/compressible/sonicFoam/pEqn.H @@ -16,7 +16,7 @@ surfaceScalarField phid ) ); -fvOptions.makeRelative(fvc::interpolate(psi), phid); +MRF.makeRelative(fvc::interpolate(psi), phid); // Non-orthogonal pressure corrector loop while (pimple.correctNonOrthogonal()) diff --git a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/pEqn.H b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/pEqn.H index b68ee693c8..439709ed07 100644 --- a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/pEqn.H +++ b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/pEqn.H @@ -17,7 +17,7 @@ surfaceScalarField phid ); fvc::makeRelative(phid, psi, U); -fvOptions.makeRelative(fvc::interpolate(psi), phid); +MRF.makeRelative(fvc::interpolate(psi), phid); // Non-orthogonal pressure corrector loop while (pimple.correctNonOrthogonal()) diff --git a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C index 7b65536a8c..8ca9f03e3b 100644 --- a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C +++ b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C @@ -54,6 +54,7 @@ int main(int argc, char *argv[]) #include "readControls.H" #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "createRhoUf.H" #include "CourantNo.H" diff --git a/applications/solvers/compressible/sonicFoam/sonicFoam.C b/applications/solvers/compressible/sonicFoam/sonicFoam.C index 1042889dbb..f04b28e364 100644 --- a/applications/solvers/compressible/sonicFoam/sonicFoam.C +++ b/applications/solvers/compressible/sonicFoam/sonicFoam.C @@ -50,6 +50,7 @@ int main(int argc, char *argv[]) pimpleControl pimple(mesh); #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "initContinuityErrs.H" diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/UEqn.H b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/UEqn.H index 92768088b9..06a347860d 100644 --- a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/UEqn.H +++ b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/UEqn.H @@ -1,9 +1,11 @@ // Solve the momentum equation + MRF.correctBoundaryVelocity(U); + fvVectorMatrix UEqn ( - fvm::ddt(U) - + fvm::div(phi, U) + fvm::ddt(U) + fvm::div(phi, U) + + MRF.DDt(U) + turbulence->divDevReff(U) == fvOptions(U) diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C index f107467510..db8c2da933 100644 --- a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C +++ b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C @@ -65,6 +65,7 @@ int main(int argc, char *argv[]) #include "createFields.H" #include "createIncompressibleRadiationModel.H" + #include "createMRF.H" #include "createFvOptions.H" #include "initContinuityErrs.H" #include "readTimeControls.H" diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/pEqn.H b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/pEqn.H index b73e5c88f8..9ec089ee4c 100644 --- a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/pEqn.H +++ b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/pEqn.H @@ -15,7 +15,7 @@ + phig ); - fvOptions.makeRelative(phiHbyA); + MRF.makeRelative(phiHbyA); // Update the fixedFluxPressure BCs to ensure flux consistency setSnGrad @@ -23,7 +23,7 @@ p_rgh.boundaryField(), ( phiHbyA.boundaryField() - - fvOptions.relative(mesh.Sf().boundaryField() & U.boundaryField()) + - MRF.relative(mesh.Sf().boundaryField() & U.boundaryField()) )/(mesh.magSf().boundaryField()*rAUf.boundaryField()) ); diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/UEqn.H b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/UEqn.H index dd516edf2f..72bf78c7fb 100644 --- a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/UEqn.H +++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/UEqn.H @@ -1,8 +1,11 @@ // Solve the momentum equation + MRF.correctBoundaryVelocity(U); + tmp UEqn ( fvm::div(phi, U) + + MRF.DDt(U) + turbulence->divDevReff(U) == fvOptions(U) diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C index fbf754f6de..6dff329d1f 100644 --- a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C +++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C @@ -63,6 +63,7 @@ int main(int argc, char *argv[]) simpleControl simple(mesh); #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "initContinuityErrs.H" diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/pEqn.H b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/pEqn.H index ae104e8f08..b6d8067358 100644 --- a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/pEqn.H +++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/pEqn.H @@ -14,7 +14,7 @@ (fvc::interpolate(HbyA) & mesh.Sf()) ); - fvOptions.makeRelative(phiHbyA); + MRF.makeRelative(phiHbyA); adjustPhi(phiHbyA, U, p_rgh); @@ -26,7 +26,7 @@ p_rgh.boundaryField(), ( phiHbyA.boundaryField() - - fvOptions.relative(mesh.Sf().boundaryField() & U.boundaryField()) + - MRF.relative(mesh.Sf().boundaryField() & U.boundaryField()) )/(mesh.magSf().boundaryField()*rAUf.boundaryField()) ); diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/UEqn.H b/applications/solvers/heatTransfer/buoyantPimpleFoam/UEqn.H index 75f5e955fa..6ff0c80867 100644 --- a/applications/solvers/heatTransfer/buoyantPimpleFoam/UEqn.H +++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/UEqn.H @@ -1,9 +1,11 @@ // Solve the Momentum equation + MRF.correctBoundaryVelocity(U); + fvVectorMatrix UEqn ( - fvm::ddt(rho, U) - + fvm::div(phi, U) + fvm::ddt(rho, U) + fvm::div(phi, U) + + MRF.DDt(rho, U) + turbulence->divDevRhoReff(U) == fvOptions(rho, U) diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C index 32fffd6874..c0346acd4e 100644 --- a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C +++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C @@ -53,6 +53,7 @@ int main(int argc, char *argv[]) #include "readGravitationalAcceleration.H" #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "createRadiationModel.H" #include "initContinuityErrs.H" diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/pEqn.H b/applications/solvers/heatTransfer/buoyantPimpleFoam/pEqn.H index 38eac983f3..e2f99671a3 100644 --- a/applications/solvers/heatTransfer/buoyantPimpleFoam/pEqn.H +++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/pEqn.H @@ -23,7 +23,7 @@ + phig ); - fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA); + MRF.makeRelative(fvc::interpolate(rho), phiHbyA); // Update the fixedFluxPressure BCs to ensure flux consistency setSnGrad @@ -31,7 +31,7 @@ p_rgh.boundaryField(), ( phiHbyA.boundaryField() - - fvOptions.relative(mesh.Sf().boundaryField() & U.boundaryField()) + - MRF.relative(mesh.Sf().boundaryField() & U.boundaryField()) *rho.boundaryField() )/(mesh.magSf().boundaryField()*rAUf.boundaryField()) ); diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/UEqn.H b/applications/solvers/heatTransfer/buoyantSimpleFoam/UEqn.H index ccb13caf68..04796b4754 100644 --- a/applications/solvers/heatTransfer/buoyantSimpleFoam/UEqn.H +++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/UEqn.H @@ -1,8 +1,11 @@ // Solve the Momentum equation + MRF.correctBoundaryVelocity(U); + tmp UEqn ( fvm::div(phi, U) + + MRF.DDt(rho, U) + turbulence->divDevRhoReff(U) == fvOptions(rho, U) diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C index 54a2c7871d..403fb6fecd 100644 --- a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C +++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C @@ -50,6 +50,7 @@ int main(int argc, char *argv[]) #include "readGravitationalAcceleration.H" #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "createRadiationModel.H" #include "initContinuityErrs.H" diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/pEqn.H b/applications/solvers/heatTransfer/buoyantSimpleFoam/pEqn.H index 60b3c1a0cf..85157e8b2f 100644 --- a/applications/solvers/heatTransfer/buoyantSimpleFoam/pEqn.H +++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/pEqn.H @@ -17,7 +17,7 @@ (fvc::interpolate(rho*HbyA) & mesh.Sf()) ); - fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA); + MRF.makeRelative(fvc::interpolate(rho), phiHbyA); bool closedVolume = adjustPhi(phiHbyA, U, p_rgh); @@ -29,7 +29,7 @@ p_rgh.boundaryField(), ( phiHbyA.boundaryField() - - fvOptions.relative(mesh.Sf().boundaryField() & U.boundaryField()) + - MRF.relative(mesh.Sf().boundaryField() & U.boundaryField()) *rho.boundaryField() )/(mesh.magSf().boundaryField()*rhorAUf.boundaryField()) ); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/UEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/UEqn.H index 212d726797..b65ef6bfdb 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/UEqn.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/UEqn.H @@ -1,7 +1,11 @@ // Solve the Momentum equation + + MRF.correctBoundaryVelocity(U); + tmp UEqn ( fvm::div(phi, U) + + MRF.DDt(rho, U) + turb.divDevRhoReff(U) == fvOptions(rho, U) diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H index 6a0d52b1c2..f41f8f97e3 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H @@ -18,6 +18,7 @@ PtrList rhoMax(fluidRegions.size()); PtrList rhoMin(fluidRegions.size()); + PtrList MRFfluid(fluidRegions.size()); PtrList fluidFvOptions(fluidRegions.size()); // Populate fluid field pointer lists @@ -205,6 +206,13 @@ ) ); + Info<< " Adding MRF\n" << endl; + MRFfluid.set + ( + i, + new IOMRFZoneList(fluidRegions[i]) + ); + Info<< " Adding fvOptions\n" << endl; fluidFvOptions.set ( diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/pEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/pEqn.H index fc854c40a5..ccae3cc079 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/pEqn.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/pEqn.H @@ -19,7 +19,7 @@ (fvc::interpolate(rho*HbyA) & mesh.Sf()) ); - fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA); + MRF.makeRelative(fvc::interpolate(rho), phiHbyA); bool closedVolume = adjustPhi(phiHbyA, U, p_rgh); @@ -31,7 +31,7 @@ p_rgh.boundaryField(), ( phiHbyA.boundaryField() - - fvOptions.relative(mesh.Sf().boundaryField() & U.boundaryField()) + - MRF.relative(mesh.Sf().boundaryField() & U.boundaryField()) *rho.boundaryField() )/(mesh.magSf().boundaryField()*rhorAUf.boundaryField()) ); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/setRegionFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/setRegionFluidFields.H index fe5ce1e823..c89b99e07c 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/setRegionFluidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/setRegionFluidFields.H @@ -12,6 +12,7 @@ volScalarField& p = thermo.p(); const volScalarField& psi = thermo.psi(); + IOMRFZoneList& MRF = MRFfluid[i]; fv::IOoptionList& fvOptions = fluidFvOptions[i]; const dimensionedScalar initialMass diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/UEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/UEqn.H index 602a04a6e5..563ad65eba 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/UEqn.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/UEqn.H @@ -1,10 +1,13 @@ // Solve the Momentum equation + + MRF.correctBoundaryVelocity(U); + tmp UEqn ( - fvm::ddt(rho, U) - + fvm::div(phi, U) + fvm::ddt(rho, U) + fvm::div(phi, U) + + MRF.DDt(rho, U) + turb.divDevRhoReff(U) - == + == fvOptions(rho, U) ); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H index 98ef8d7f61..1d51cb6228 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H @@ -15,6 +15,7 @@ List initialMassFluid(fluidRegions.size()); List frozenFlowFluid(fluidRegions.size(), false); + PtrList MRFfluid(fluidRegions.size()); PtrList fluidFvOptions(fluidRegions.size()); // Populate fluid field pointer lists @@ -195,6 +196,13 @@ fluidRegions[i].solutionDict().subDict("PIMPLE"); pimpleDict.readIfPresent("frozenFlow", frozenFlowFluid[i]); + Info<< " Adding MRF\n" << endl; + MRFfluid.set + ( + i, + new IOMRFZoneList(fluidRegions[i]) + ); + Info<< " Adding fvOptions\n" << endl; fluidFvOptions.set ( diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/pEqn.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/pEqn.H index 38ba49bd74..002faddb59 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/pEqn.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/pEqn.H @@ -23,7 +23,7 @@ + phig ); - fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA); + MRF.makeRelative(fvc::interpolate(rho), phiHbyA); // Update the fixedFluxPressure BCs to ensure flux consistency setSnGrad @@ -31,7 +31,7 @@ p_rgh.boundaryField(), ( phiHbyA.boundaryField() - - fvOptions.relative(mesh.Sf().boundaryField() & U.boundaryField()) + - MRF.relative(mesh.Sf().boundaryField() & U.boundaryField()) *rho.boundaryField() )/(mesh.magSf().boundaryField()*rhorAUf.boundaryField()) ); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setRegionFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setRegionFluidFields.H index ef3a3df78f..61c8122900 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setRegionFluidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/setRegionFluidFields.H @@ -20,6 +20,7 @@ radiation::radiationModel& rad = radiation[i]; + IOMRFZoneList& MRF = MRFfluid[i]; fv::IOoptionList& fvOptions = fluidFvOptions[i]; const dimensionedScalar initialMass @@ -29,4 +30,4 @@ initialMassFluid[i] ); - const bool frozenFlow = frozenFlowFluid[i]; \ No newline at end of file + const bool frozenFlow = frozenFlowFluid[i]; diff --git a/applications/solvers/incompressible/pimpleFoam/UEqn.H b/applications/solvers/incompressible/pimpleFoam/UEqn.H index 7bd10afc47..18b6beafe9 100644 --- a/applications/solvers/incompressible/pimpleFoam/UEqn.H +++ b/applications/solvers/incompressible/pimpleFoam/UEqn.H @@ -1,9 +1,11 @@ // Solve the Momentum equation +MRF.correctBoundaryVelocity(U); + tmp UEqn ( - fvm::ddt(U) - + fvm::div(phi, U) + fvm::ddt(U) + fvm::div(phi, U) + + MRF.DDt(U) + turbulence->divDevReff(U) == fvOptions(U) diff --git a/applications/solvers/incompressible/pimpleFoam/pEqn.H b/applications/solvers/incompressible/pimpleFoam/pEqn.H index 83265f2339..0abd31d143 100644 --- a/applications/solvers/incompressible/pimpleFoam/pEqn.H +++ b/applications/solvers/incompressible/pimpleFoam/pEqn.H @@ -15,7 +15,7 @@ surfaceScalarField phiHbyA + rAUf*fvc::ddtCorr(U, phi) ); -fvOptions.makeRelative(phiHbyA); +MRF.makeRelative(phiHbyA); adjustPhi(phiHbyA, U, p); @@ -25,7 +25,7 @@ setSnGrad p.boundaryField(), ( phiHbyA.boundaryField() - - fvOptions.relative(mesh.Sf().boundaryField() & U.boundaryField()) + - MRF.relative(mesh.Sf().boundaryField() & U.boundaryField()) )/(mesh.magSf().boundaryField()*rAUf.boundaryField()) ); diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pEqn.H b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pEqn.H index e2938bdb94..c133a95727 100644 --- a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pEqn.H +++ b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pEqn.H @@ -15,6 +15,8 @@ surfaceScalarField phiHbyA + rAUf*fvc::ddtCorr(U, Uf) ); +MRF.makeRelative(phiHbyA); + if (p.needReference()) { fvc::makeRelative(phiHbyA, U); @@ -22,6 +24,17 @@ if (p.needReference()) fvc::makeAbsolute(phiHbyA, U); } +// Update the fixedFluxPressure BCs to ensure flux consistency +setSnGrad +( + p.boundaryField(), + ( + phiHbyA.boundaryField() + - MRF.relative(mesh.Sf().boundaryField() & U.boundaryField()) + )/(mesh.magSf().boundaryField()*rAUf.boundaryField()) +); + +// Non-orthogonal pressure corrector loop while (pimple.correctNonOrthogonal()) { fvScalarMatrix pEqn diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C index 8d4edd3ed1..ebdb4dfef1 100644 --- a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C +++ b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C @@ -39,6 +39,7 @@ Description #include "pimpleControl.H" #include "CorrectPhi.H" #include "fvIOoptionList.H" +#include "fixedFluxPressureFvPatchScalarField.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -53,6 +54,7 @@ int main(int argc, char *argv[]) #include "createFields.H" #include "createUf.H" + #include "createMRF.H" #include "createFvOptions.H" #include "readTimeControls.H" #include "CourantNo.H" diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C index ea4d5ece38..281a9eb991 100644 --- a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C +++ b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C @@ -39,8 +39,6 @@ Description #include "turbulentTransportModel.H" #include "pimpleControl.H" #include "fvIOoptionList.H" -#include "IOporosityModelList.H" -#include "IOMRFZoneList.H" #include "fixedFluxPressureFvPatchScalarField.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -54,6 +52,7 @@ int main(int argc, char *argv[]) pimpleControl pimple(mesh); #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "initContinuityErrs.H" diff --git a/applications/solvers/incompressible/simpleFoam/UEqn.H b/applications/solvers/incompressible/simpleFoam/UEqn.H index 0c5932ff2c..032e0e044b 100644 --- a/applications/solvers/incompressible/simpleFoam/UEqn.H +++ b/applications/solvers/incompressible/simpleFoam/UEqn.H @@ -1,8 +1,11 @@ // Momentum predictor + MRF.correctBoundaryVelocity(U); + tmp UEqn ( fvm::div(phi, U) + + MRF.DDt(U) + turbulence->divDevReff(U) == fvOptions(U) diff --git a/applications/solvers/incompressible/simpleFoam/pEqn.H b/applications/solvers/incompressible/simpleFoam/pEqn.H index fddb3b05d4..4438a3bff5 100644 --- a/applications/solvers/incompressible/simpleFoam/pEqn.H +++ b/applications/solvers/incompressible/simpleFoam/pEqn.H @@ -4,7 +4,7 @@ HbyA = rAU*UEqn().H(); surfaceScalarField phiHbyA("phiHbyA", fvc::interpolate(HbyA) & mesh.Sf()); - fvOptions.makeRelative(phiHbyA); + MRF.makeRelative(phiHbyA); adjustPhi(phiHbyA, U, p); tmp rAtU(rAU); diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/UEqn.H b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/UEqn.H index 39694e106c..035b83ebd1 100644 --- a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/UEqn.H +++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/UEqn.H @@ -1,5 +1,7 @@ // Construct the Momentum equation + MRF.correctBoundaryVelocity(U); + tmp UEqn ( fvm::div(phi, U) diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/createZones.H b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/createPorousZones.H similarity index 89% rename from applications/solvers/incompressible/simpleFoam/porousSimpleFoam/createZones.H rename to applications/solvers/incompressible/simpleFoam/porousSimpleFoam/createPorousZones.H index 399db198ab..5c6dbea19c 100644 --- a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/createZones.H +++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/createPorousZones.H @@ -1,6 +1,3 @@ - IOMRFZoneList MRF(mesh); - MRF.correctBoundaryVelocity(U); - IOporosityModelList pZones(mesh); Switch pressureImplicitPorosity(false); diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C index a6c48d7c19..3c9ef15c95 100644 --- a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C +++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C @@ -35,7 +35,6 @@ Description #include "singlePhaseTransportModel.H" #include "turbulentTransportModel.H" #include "simpleControl.H" -#include "IOMRFZoneList.H" #include "IOporosityModelList.H" #include "fvIOoptionList.H" @@ -50,8 +49,9 @@ int main(int argc, char *argv[]) simpleControl simple(mesh); #include "createFields.H" + #include "createMRF.H" + #include "createPorousZones.H" #include "createFvOptions.H" - #include "createZones.H" #include "initContinuityErrs.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/solvers/incompressible/simpleFoam/simpleFoam.C b/applications/solvers/incompressible/simpleFoam/simpleFoam.C index 60b6704f0c..eeb7bc1e34 100644 --- a/applications/solvers/incompressible/simpleFoam/simpleFoam.C +++ b/applications/solvers/incompressible/simpleFoam/simpleFoam.C @@ -46,6 +46,7 @@ int main(int argc, char *argv[]) simpleControl simple(mesh); #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "initContinuityErrs.H" diff --git a/applications/solvers/lagrangian/coalChemistryFoam/UEqn.H b/applications/solvers/lagrangian/coalChemistryFoam/UEqn.H index 24d3a9ebb1..2062c123fc 100644 --- a/applications/solvers/lagrangian/coalChemistryFoam/UEqn.H +++ b/applications/solvers/lagrangian/coalChemistryFoam/UEqn.H @@ -1,7 +1,9 @@ + MRF.correctBoundaryVelocity(U); + fvVectorMatrix UEqn ( - fvm::ddt(rho, U) - + fvm::div(phi, U) + fvm::ddt(rho, U) + fvm::div(phi, U) + + MRF.DDt(rho, U) + turbulence->divDevRhoReff(U) == rho.dimensionedInternalField()*g diff --git a/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C b/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C index c128fe6d56..c4201b84e1 100644 --- a/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C +++ b/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C @@ -58,6 +58,7 @@ int main(int argc, char *argv[]) #include "readGravitationalAcceleration.H" #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "createClouds.H" #include "createRadiationModel.H" diff --git a/applications/solvers/lagrangian/coalChemistryFoam/pEqn.H b/applications/solvers/lagrangian/coalChemistryFoam/pEqn.H index c75fd95bb9..480ce25f7c 100644 --- a/applications/solvers/lagrangian/coalChemistryFoam/pEqn.H +++ b/applications/solvers/lagrangian/coalChemistryFoam/pEqn.H @@ -18,7 +18,7 @@ if (pimple.transonic()) ) ); - fvOptions.makeRelative(fvc::interpolate(psi), phid); + MRF.makeRelative(fvc::interpolate(psi), phid); while (pimple.correctNonOrthogonal()) { @@ -51,7 +51,7 @@ else ) ); - fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA); + MRF.makeRelative(fvc::interpolate(rho), phiHbyA); while (pimple.correctNonOrthogonal()) { diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/UEqn.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/UEqn.H index 205eb09156..0bb6ff7240 100644 --- a/applications/solvers/lagrangian/reactingParcelFilmFoam/UEqn.H +++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/UEqn.H @@ -1,7 +1,9 @@ + MRF.correctBoundaryVelocity(U); + fvVectorMatrix UEqn ( - fvm::ddt(rho, U) - + fvm::div(phi, U) + fvm::ddt(rho, U) + fvm::div(phi, U) + + MRF.DDt(rho, U) + turbulence->divDevRhoReff(U) == parcels.SU(U) diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/pEqn.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/pEqn.H index 5112326eac..6f8b034581 100644 --- a/applications/solvers/lagrangian/reactingParcelFilmFoam/pEqn.H +++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/pEqn.H @@ -18,7 +18,7 @@ surfaceScalarField phiHbyA + phig ); -fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA); +MRF.makeRelative(fvc::interpolate(rho), phiHbyA); // Update the fixedFluxPressure BCs to ensure flux consistency setSnGrad @@ -26,7 +26,7 @@ setSnGrad p_rgh.boundaryField(), ( phiHbyA.boundaryField() - - fvOptions.relative(mesh.Sf().boundaryField() & U.boundaryField()) + - MRF.relative(mesh.Sf().boundaryField() & U.boundaryField()) *rho.boundaryField() )/(mesh.magSf().boundaryField()*rhorAUf.boundaryField()) ); diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C b/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C index 757ede7fee..a2f82459bc 100644 --- a/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C +++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/reactingParcelFilmFoam.C @@ -53,6 +53,7 @@ int main(int argc, char *argv[]) pimpleControl pimple(mesh); #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "createClouds.H" #include "createRadiationModel.H" diff --git a/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/LTSReactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/LTSReactingParcelFoam.C index 7f826af451..875d07d8bb 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/LTSReactingParcelFoam.C +++ b/applications/solvers/lagrangian/reactingParcelFoam/LTSReactingParcelFoam/LTSReactingParcelFoam.C @@ -57,6 +57,7 @@ int main(int argc, char *argv[]) #include "readTimeControls.H" #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "createRDeltaT.H" #include "createRadiationModel.H" diff --git a/applications/solvers/lagrangian/reactingParcelFoam/UEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/UEqn.H index 6a12aae3bc..775da4caeb 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/UEqn.H +++ b/applications/solvers/lagrangian/reactingParcelFoam/UEqn.H @@ -1,7 +1,9 @@ + MRF.correctBoundaryVelocity(U); + fvVectorMatrix UEqn ( - fvm::ddt(rho, U) - + fvm::div(phi, U) + fvm::ddt(rho, U) + fvm::div(phi, U) + + MRF.DDt(rho, U) + turbulence->divDevRhoReff(U) == rho.dimensionedInternalField()*g diff --git a/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H index dd68eb3757..f266fded0a 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H +++ b/applications/solvers/lagrangian/reactingParcelFoam/pEqn.H @@ -20,7 +20,7 @@ ) ); - fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA); + MRF.makeRelative(fvc::interpolate(rho), phiHbyA); fvScalarMatrix pDDtEqn ( diff --git a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C index 92b94f4eaf..34adbb4746 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C +++ b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C @@ -55,6 +55,7 @@ int main(int argc, char *argv[]) #include "createFields.H" #include "createRadiationModel.H" #include "createClouds.H" + #include "createMRF.H" #include "createFvOptions.H" #include "initContinuityErrs.H" #include "readTimeControls.H" diff --git a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/UEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/UEqn.H index eabbb40454..2f5a74d45b 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/UEqn.H +++ b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/UEqn.H @@ -1,6 +1,9 @@ + MRF.correctBoundaryVelocity(U); + tmp UEqn ( fvm::div(phi, U) + + MRF.DDt(rho, U) + turbulence->divDevRhoReff(U) == rho.dimensionedInternalField()*g diff --git a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/pEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/pEqn.H index e965d94c88..b5d3e1471a 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/pEqn.H +++ b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/pEqn.H @@ -15,7 +15,7 @@ fvc::interpolate(rho)*(fvc::interpolate(HbyA) & mesh.Sf()) ); - fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA); + MRF.makeRelative(fvc::interpolate(rho), phiHbyA); while (simple.correctNonOrthogonal()) { diff --git a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C index cc34c64c0f..9a49318c23 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C +++ b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C @@ -56,6 +56,7 @@ int main(int argc, char *argv[]) #include "createFields.H" #include "createRadiationModel.H" #include "createClouds.H" + #include "createMRF.H" #include "createFvOptions.H" #include "initContinuityErrs.H" diff --git a/applications/solvers/lagrangian/sprayFoam/UEqn.H b/applications/solvers/lagrangian/sprayFoam/UEqn.H index a5618ba859..c26bf1cf65 100644 --- a/applications/solvers/lagrangian/sprayFoam/UEqn.H +++ b/applications/solvers/lagrangian/sprayFoam/UEqn.H @@ -1,9 +1,11 @@ // Solve the Momentum equation +MRF.correctBoundaryVelocity(U); + tmp UEqn ( - fvm::ddt(rho, U) - + fvm::div(phi, U) + fvm::ddt(rho, U) + fvm::div(phi, U) + + MRF.DDt(rho, U) + turbulence->divDevRhoReff(U) == rho.dimensionedInternalField()*g diff --git a/applications/solvers/lagrangian/sprayFoam/pEqn.H b/applications/solvers/lagrangian/sprayFoam/pEqn.H index a29c87b239..ee450daab9 100644 --- a/applications/solvers/lagrangian/sprayFoam/pEqn.H +++ b/applications/solvers/lagrangian/sprayFoam/pEqn.H @@ -26,7 +26,7 @@ if (pimple.transonic()) ) ); - fvOptions.makeRelative(fvc::interpolate(psi), phid); + MRF.makeRelative(fvc::interpolate(psi), phid); while (pimple.correctNonOrthogonal()) { @@ -59,7 +59,7 @@ else ) ); - fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA); + MRF.makeRelative(fvc::interpolate(rho), phiHbyA); while (pimple.correctNonOrthogonal()) { diff --git a/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/pEqn.H b/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/pEqn.H index 10aaff112d..c620a892d1 100644 --- a/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/pEqn.H +++ b/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/pEqn.H @@ -27,7 +27,7 @@ if (pimple.transonic()) ); fvc::makeRelative(phid, psi, U); - fvOptions.makeRelative(fvc::interpolate(psi), phid); + MRF.makeRelative(fvc::interpolate(psi), phid); while (pimple.correctNonOrthogonal()) { @@ -59,7 +59,7 @@ else ); fvc::makeRelative(phiHbyA, rho, U); - fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA); + MRF.makeRelative(fvc::interpolate(rho), phiHbyA); while (pimple.correctNonOrthogonal()) { diff --git a/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/sprayDyMFoam.C b/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/sprayDyMFoam.C index 3d12451ffa..40f7ea1b39 100644 --- a/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/sprayDyMFoam.C +++ b/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/sprayDyMFoam.C @@ -56,6 +56,7 @@ int main(int argc, char *argv[]) #include "readGravitationalAcceleration.H" #include "createFields.H" #include "createRhoUf.H" + #include "createMRF.H" #include "createFvOptions.H" #include "createClouds.H" #include "createRadiationModel.H" diff --git a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C index 40e4d620a1..730d0f3fb4 100644 --- a/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C +++ b/applications/solvers/lagrangian/sprayFoam/sprayEngineFoam/sprayEngineFoam.C @@ -54,6 +54,7 @@ int main(int argc, char *argv[]) #include "readGravitationalAcceleration.H" #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "createRhoUf.H" #include "createClouds.H" diff --git a/applications/solvers/lagrangian/sprayFoam/sprayFoam.C b/applications/solvers/lagrangian/sprayFoam/sprayFoam.C index beb0923d38..da39008562 100644 --- a/applications/solvers/lagrangian/sprayFoam/sprayFoam.C +++ b/applications/solvers/lagrangian/sprayFoam/sprayFoam.C @@ -52,6 +52,7 @@ int main(int argc, char *argv[]) #include "readGravitationalAcceleration.H" #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "createClouds.H" #include "createRadiationModel.H" diff --git a/applications/solvers/multiphase/driftFluxFoam/UEqn.H b/applications/solvers/multiphase/driftFluxFoam/UEqn.H index 7018d964e5..e7b0dcc797 100644 --- a/applications/solvers/multiphase/driftFluxFoam/UEqn.H +++ b/applications/solvers/multiphase/driftFluxFoam/UEqn.H @@ -1,9 +1,11 @@ // Solve the Momentum equation + MRF.correctBoundaryVelocity(U); + fvVectorMatrix UEqn ( - fvm::ddt(rho, U) - + fvm::div(rhoPhi, U) + fvm::ddt(rho, U) + fvm::div(rhoPhi, U) + + MRF.DDt(rho, U) + fvc::div(UdmModel.tauDm()) + turbulence->divDevRhoReff(U) == diff --git a/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C b/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C index 35d4b441d0..3fc0f0ff0b 100644 --- a/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C +++ b/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C @@ -58,6 +58,7 @@ int main(int argc, char *argv[]) pimpleControl pimple(mesh); #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "initContinuityErrs.H" diff --git a/applications/solvers/multiphase/driftFluxFoam/pEqn.H b/applications/solvers/multiphase/driftFluxFoam/pEqn.H index 494ee5590c..73c6ea9877 100644 --- a/applications/solvers/multiphase/driftFluxFoam/pEqn.H +++ b/applications/solvers/multiphase/driftFluxFoam/pEqn.H @@ -11,7 +11,7 @@ (fvc::interpolate(HbyA) & mesh.Sf()) + fvc::interpolate(rho*rAU)*fvc::ddtCorr(U, phi) ); - fvOptions.makeRelative(phiHbyA); + MRF.makeRelative(phiHbyA); adjustPhi(phiHbyA, U, p_rgh); surfaceScalarField phig @@ -29,7 +29,7 @@ p_rgh.boundaryField(), ( phiHbyA.boundaryField() - - fvOptions.relative(mesh.Sf().boundaryField() & U.boundaryField()) + - MRF.relative(mesh.Sf().boundaryField() & U.boundaryField()) )/(mesh.magSf().boundaryField()*rAUf.boundaryField()) ); diff --git a/applications/solvers/multiphase/interFoam/LTSInterFoam/LTSInterFoam.C b/applications/solvers/multiphase/interFoam/LTSInterFoam/LTSInterFoam.C index 49a907444f..37183abdcc 100644 --- a/applications/solvers/multiphase/interFoam/LTSInterFoam/LTSInterFoam.C +++ b/applications/solvers/multiphase/interFoam/LTSInterFoam/LTSInterFoam.C @@ -63,6 +63,7 @@ int main(int argc, char *argv[]) #include "initContinuityErrs.H" #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "correctPhi.H" #include "CourantNo.H" diff --git a/applications/solvers/multiphase/interFoam/UEqn.H b/applications/solvers/multiphase/interFoam/UEqn.H index 10bc0fac6f..77d1dcd83e 100644 --- a/applications/solvers/multiphase/interFoam/UEqn.H +++ b/applications/solvers/multiphase/interFoam/UEqn.H @@ -1,7 +1,9 @@ + MRF.correctBoundaryVelocity(U); + fvVectorMatrix UEqn ( - fvm::ddt(rho, U) - + fvm::div(rhoPhi, U) + fvm::ddt(rho, U) + fvm::div(rhoPhi, U) + + MRF.DDt(rho, U) + turbulence->divDevRhoReff(rho, U) == fvOptions(rho, U) diff --git a/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C b/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C index 84d1283d04..5cdd025140 100644 --- a/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C +++ b/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C @@ -58,6 +58,7 @@ int main(int argc, char *argv[]) pimpleControl pimple(mesh); #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "readTimeControls.H" diff --git a/applications/solvers/multiphase/interFoam/interDyMFoam/pEqn.H b/applications/solvers/multiphase/interFoam/interDyMFoam/pEqn.H index 2ef484b18e..8400d24687 100644 --- a/applications/solvers/multiphase/interFoam/interDyMFoam/pEqn.H +++ b/applications/solvers/multiphase/interFoam/interDyMFoam/pEqn.H @@ -11,6 +11,7 @@ (fvc::interpolate(HbyA) & mesh.Sf()) + fvc::interpolate(rho*rAU)*fvc::ddtCorr(U, Uf) ); + MRF.makeRelative(phiHbyA); if (p_rgh.needReference()) { diff --git a/applications/solvers/multiphase/interFoam/interFoam.C b/applications/solvers/multiphase/interFoam/interFoam.C index 8250933b97..348f7e9709 100644 --- a/applications/solvers/multiphase/interFoam/interFoam.C +++ b/applications/solvers/multiphase/interFoam/interFoam.C @@ -62,6 +62,7 @@ int main(int argc, char *argv[]) #include "initContinuityErrs.H" #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "readTimeControls.H" #include "correctPhi.H" diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C b/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C index abb18c4ba3..4afb877d29 100644 --- a/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C +++ b/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C @@ -52,6 +52,7 @@ int main(int argc, char *argv[]) #include "initContinuityErrs.H" #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "readTimeControls.H" #include "CourantNo.H" diff --git a/applications/solvers/multiphase/interFoam/pEqn.H b/applications/solvers/multiphase/interFoam/pEqn.H index 0343d111df..31982f4c1d 100644 --- a/applications/solvers/multiphase/interFoam/pEqn.H +++ b/applications/solvers/multiphase/interFoam/pEqn.H @@ -11,7 +11,7 @@ (fvc::interpolate(HbyA) & mesh.Sf()) + fvc::interpolate(rho*rAU)*fvc::ddtCorr(U, phi) ); - fvOptions.makeRelative(phiHbyA); + MRF.makeRelative(phiHbyA); adjustPhi(phiHbyA, U, p_rgh); surfaceScalarField phig @@ -30,7 +30,7 @@ p_rgh.boundaryField(), ( phiHbyA.boundaryField() - - fvOptions.relative(mesh.Sf().boundaryField() & U.boundaryField()) + - MRF.relative(mesh.Sf().boundaryField() & U.boundaryField()) )/(mesh.magSf().boundaryField()*rAUf.boundaryField()) ); diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/multiphaseInterDyMFoam.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/multiphaseInterDyMFoam.C index fff99c0b77..8c2c2a9cb8 100644 --- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/multiphaseInterDyMFoam.C +++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterDyMFoam/multiphaseInterDyMFoam.C @@ -53,6 +53,7 @@ int main(int argc, char *argv[]) pimpleControl pimple(mesh); #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "readTimeControls.H" diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C index 4d148b3a45..d3d713d3c8 100644 --- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C +++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C @@ -52,6 +52,7 @@ int main(int argc, char *argv[]) #include "initContinuityErrs.H" #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "readTimeControls.H" #include "correctPhi.H" diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/UEqn.H b/applications/solvers/multiphase/potentialFreeSurfaceFoam/UEqn.H index 69a95ab712..794c0aca52 100644 --- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/UEqn.H +++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/UEqn.H @@ -1,13 +1,14 @@ +MRF.correctBoundaryVelocity(U); + tmp UEqn ( - fvm::ddt(U) - + fvm::div(phi, U) + fvm::ddt(U) + fvm::div(phi, U) + + MRF.DDt(U) + turbulence->divDevReff(U) == fvOptions(U) ); - UEqn().relax(); fvOptions.constrain(UEqn()); diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/pEqn.H b/applications/solvers/multiphase/potentialFreeSurfaceFoam/pEqn.H index f7de6089b5..6a65b215b2 100644 --- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/pEqn.H +++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/pEqn.H @@ -16,7 +16,7 @@ surfaceScalarField phiHbyA + rAUf*fvc::ddtCorr(U, phi) ); -fvOptions.makeRelative(phiHbyA); +MRF.makeRelative(phiHbyA); adjustPhi(phiHbyA, U, p_gh); // Update the fixedFluxPressure BCs to ensure flux consistency diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/pEqn.H b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/pEqn.H index c302b1671b..01f548ad16 100644 --- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/pEqn.H +++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/pEqn.H @@ -17,6 +17,8 @@ + rAUf*fvc::ddtCorr(U, Uf) ); + MRF.makeRelative(phiHbyA); + if (p_gh.needReference()) { fvc::makeRelative(phiHbyA, U); diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C index 305d5eb435..9fb6cae5a6 100644 --- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C +++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C @@ -58,6 +58,7 @@ int main(int argc, char *argv[]) pimpleControl pimple(mesh); #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" volScalarField rAU diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C index 4f4239890e..0d27e722ee 100644 --- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C +++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C @@ -53,6 +53,7 @@ int main(int argc, char *argv[]) pimpleControl pimple(mesh); #include "createFields.H" + #include "createMRF.H" #include "createFvOptions.H" #include "initContinuityErrs.H" diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/createMRFZones.H b/applications/solvers/multiphase/twoPhaseEulerFoam/createMRF.H similarity index 100% rename from applications/solvers/multiphase/twoPhaseEulerFoam/createMRFZones.H rename to applications/solvers/multiphase/twoPhaseEulerFoam/createMRF.H diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C index adb37bc0b3..ffdbd2c0f9 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C @@ -34,7 +34,6 @@ Description #include "twoPhaseSystem.H" #include "PhaseCompressibleTurbulenceModel.H" #include "pimpleControl.H" -#include "IOMRFZoneList.H" #include "fvIOoptionList.H" #include "fixedFluxPressureFvPatchScalarField.H" #include "fixedValueFvsPatchFields.H" @@ -51,7 +50,7 @@ int main(int argc, char *argv[]) pimpleControl pimple(mesh); #include "createFields.H" - #include "createMRFZones.H" + #include "createMRF.H" #include "createFvOptions.H" #include "initContinuityErrs.H" #include "readTimeControls.H" diff --git a/src/finiteVolume/cfdTools/general/include/createMRF.H b/src/finiteVolume/cfdTools/general/include/createMRF.H new file mode 100644 index 0000000000..d1c2b340cb --- /dev/null +++ b/src/finiteVolume/cfdTools/general/include/createMRF.H @@ -0,0 +1 @@ + IOMRFZoneList MRF(mesh); diff --git a/src/finiteVolume/cfdTools/general/include/fvCFD.H b/src/finiteVolume/cfdTools/general/include/fvCFD.H index 05b121db80..d8eb111f58 100644 --- a/src/finiteVolume/cfdTools/general/include/fvCFD.H +++ b/src/finiteVolume/cfdTools/general/include/fvCFD.H @@ -14,6 +14,7 @@ #include "fixedValueFvPatchFields.H" #include "adjustPhi.H" #include "findRefCell.H" +#include "IOMRFZoneList.H" #include "constants.H" #include "OSspecific.H" diff --git a/src/fvOptions/Make/files b/src/fvOptions/Make/files index 6c4245d773..d16c8f6b9c 100644 --- a/src/fvOptions/Make/files +++ b/src/fvOptions/Make/files @@ -14,7 +14,6 @@ derivedSources=sources/derived $(derivedSources)/actuationDiskSource/actuationDiskSource.C $(derivedSources)/effectivenessHeatExchangerSource/effectivenessHeatExchangerSource.C $(derivedSources)/explicitPorositySource/explicitPorositySource.C -$(derivedSources)/MRFSource/MRFSource.C $(derivedSources)/pressureGradientExplicitSource/pressureGradientExplicitSource.C $(derivedSources)/pressureGradientExplicitSource/pressureGradientExplicitSourceIO.C $(derivedSources)/radialActuationDiskSource/radialActuationDiskSource.C diff --git a/src/fvOptions/fvOptions/fvOption.C b/src/fvOptions/fvOptions/fvOption.C index 3387bdece0..7265702a83 100644 --- a/src/fvOptions/fvOptions/fvOption.C +++ b/src/fvOptions/fvOptions/fvOption.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -610,45 +610,4 @@ void Foam::fv::option::setValue(fvMatrix& eqn, const label fieldI) } -void Foam::fv::option::makeRelative(surfaceScalarField& phi) const -{ - // do nothing -} - - -void Foam::fv::option::makeRelative -( - FieldField& phi -) const -{ - // do nothing -} - - -void Foam::fv::option::makeRelative -( - const surfaceScalarField& rho, - surfaceScalarField& phi -) const -{ - // do nothing -} - - -void Foam::fv::option::makeAbsolute(surfaceScalarField& phi) const -{ - // do nothing -} - - -void Foam::fv::option::makeAbsolute -( - const surfaceScalarField& rho, - surfaceScalarField& phi -) const -{ - // do nothing -} - - // ************************************************************************* // diff --git a/src/fvOptions/fvOptions/fvOption.H b/src/fvOptions/fvOptions/fvOption.H index 771ef7e136..0a8d0300d9 100644 --- a/src/fvOptions/fvOptions/fvOption.H +++ b/src/fvOptions/fvOptions/fvOption.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -513,35 +513,6 @@ public: ); - // Flux manipulations - - //- Make the given absolute flux relative - virtual void makeRelative(surfaceScalarField& phi) const; - - //- Make the given absolute boundary flux relative - virtual void makeRelative - ( - FieldField& phi - ) const; - - //- Make the given absolute mass-flux relative - virtual void makeRelative - ( - const surfaceScalarField& rho, - surfaceScalarField& phi - ) const; - - //- Make the given relative flux absolute - virtual void makeAbsolute(surfaceScalarField& phi) const; - - //- Make the given relative mass-flux absolute - virtual void makeAbsolute - ( - const surfaceScalarField& rho, - surfaceScalarField& phi - ) const; - - // I-O //- Write the source header information diff --git a/src/fvOptions/fvOptions/fvOptionList.C b/src/fvOptions/fvOptions/fvOptionList.C index 0d2f8917b3..94d1b2c342 100644 --- a/src/fvOptions/fvOptions/fvOptionList.C +++ b/src/fvOptions/fvOptions/fvOptionList.C @@ -136,67 +136,6 @@ void Foam::fv::optionList::reset(const dictionary& dict) } -void Foam::fv::optionList::makeRelative(surfaceScalarField& phi) const -{ - forAll(*this, i) - { - this->operator[](i).makeRelative(phi); - } -} - - -void Foam::fv::optionList::makeRelative -( - const surfaceScalarField& rho, - surfaceScalarField& phi -) const -{ - forAll(*this, i) - { - this->operator[](i).makeRelative(rho, phi); - } -} - - -Foam::tmp > -Foam::fv::optionList::relative -( - const tmp >& phi -) const -{ - tmp > rphi(phi.ptr()); - - forAll(*this, i) - { - operator[](i).makeRelative(rphi()); - } - - return rphi; -} - - -void Foam::fv::optionList::makeAbsolute(surfaceScalarField& phi) const -{ - forAll(*this, i) - { - this->operator[](i).makeAbsolute(phi); - } -} - - -void Foam::fv::optionList::makeAbsolute -( - const surfaceScalarField& rho, - surfaceScalarField& phi -) const -{ - forAll(*this, i) - { - this->operator[](i).makeAbsolute(rho, phi); - } -} - - bool Foam::fv::optionList::read(const dictionary& dict) { return readOptions(optionsDict(dict)); diff --git a/src/fvOptions/fvOptions/fvOptionList.H b/src/fvOptions/fvOptions/fvOptionList.H index cfeea7b381..725019880b 100644 --- a/src/fvOptions/fvOptions/fvOptionList.H +++ b/src/fvOptions/fvOptions/fvOptionList.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -175,35 +175,6 @@ public: void constrain(fvMatrix& eqn); - // Flux manipulations - - //- Make the given absolute flux relative - void makeRelative(surfaceScalarField& phi) const; - - //- Make the given absolute mass-flux relative - void makeRelative - ( - const surfaceScalarField& rho, - surfaceScalarField& phi - ) const; - - //- Return the given absolute boundary flux relative - tmp > relative - ( - const tmp >& tphi - ) const; - - //- Make the given relative flux absolute - void makeAbsolute(surfaceScalarField& phi) const; - - //- Make the given relative mass-flux absolute - void makeAbsolute - ( - const surfaceScalarField& rho, - surfaceScalarField& phi - ) const; - - // I-O //- Read dictionary diff --git a/src/fvOptions/sources/derived/MRFSource/MRFSource.C b/src/fvOptions/sources/derived/MRFSource/MRFSource.C deleted file mode 100644 index aa66d5cd13..0000000000 --- a/src/fvOptions/sources/derived/MRFSource/MRFSource.C +++ /dev/null @@ -1,195 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2012-2015 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "MRFSource.H" -#include "fvMesh.H" -#include "fvMatrices.H" -#include "MRFZone.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace fv -{ - defineTypeNameAndDebug(MRFSource, 0); - addToRunTimeSelectionTable - ( - option, - MRFSource, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * // - -void Foam::fv::MRFSource::initialise() -{ - if (selectionMode_ != smCellZone) - { - FatalErrorIn("void Foam::MRFSource::initialise()") - << "The MRF region must be specified as a cellZone. Current " - << "selection mode is " << selectionModeTypeNames_[selectionMode_] - << exit(FatalError); - } - - mrfPtr_.reset - ( - new MRFZone - ( - name_, - mesh_, - coeffs_, - cellSetName_ - ) - ); - - const volVectorField& U = mesh_.lookupObject(UName_); - - mrfPtr_->correctBoundaryVelocity(const_cast(U)); - - fieldNames_.setSize(1, UName_); - applied_.setSize(1, false); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::fv::MRFSource::MRFSource -( - const word& name, - const word& modelType, - const dictionary& dict, - const fvMesh& mesh -) -: - option(name, modelType, dict, mesh), - mrfPtr_(NULL), - UName_(coeffs_.lookupOrDefault("UName", "U")) -{ - initialise(); -} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -void Foam::fv::MRFSource::addSup -( - fvMatrix& eqn, - const label fieldI -) -{ - // Update the velocity boundary conditions for changes in rotation speed - mrfPtr_->correctBoundaryVelocity(const_cast(eqn.psi())); - - // Add to rhs of equation - mrfPtr_->addCoriolis(eqn, true); -} - - -void Foam::fv::MRFSource::addSup -( - const volScalarField& rho, - fvMatrix& eqn, - const label fieldI -) -{ - // Update the velocity boundary conditions for changes in rotation speed - mrfPtr_->correctBoundaryVelocity(const_cast(eqn.psi())); - - // Add to rhs of equation - mrfPtr_->addCoriolis(rho, eqn, true); -} - - -void Foam::fv::MRFSource::makeRelative(surfaceScalarField& phi) const -{ - mrfPtr_->makeRelative(phi); -} - - -void Foam::fv::MRFSource::makeRelative -( - FieldField& phi -) const -{ - mrfPtr_->makeRelative(phi); -} - - -void Foam::fv::MRFSource::makeRelative -( - const surfaceScalarField& rho, - surfaceScalarField& phi -) const -{ - mrfPtr_->makeRelative(rho, phi); -} - - -void Foam::fv::MRFSource::makeAbsolute(surfaceScalarField& phi) const -{ - mrfPtr_->makeAbsolute(phi); -} - - -void Foam::fv::MRFSource::makeAbsolute -( - const surfaceScalarField& rho, - surfaceScalarField& phi -) const -{ - mrfPtr_->makeAbsolute(rho, phi); -} - - -void Foam::fv::MRFSource::writeData(Ostream& os) const -{ - os << indent << name_ << endl; - dict_.write(os); -} - - -bool Foam::fv::MRFSource::read(const dictionary& dict) -{ - if (option::read(dict)) - { - coeffs_.readIfPresent("UName", UName_); - - initialise(); - - return true; - } - else - { - return false; - } -} - - -// ************************************************************************* // diff --git a/src/fvOptions/sources/derived/MRFSource/MRFSource.H b/src/fvOptions/sources/derived/MRFSource/MRFSource.H deleted file mode 100644 index 1415a8b04c..0000000000 --- a/src/fvOptions/sources/derived/MRFSource/MRFSource.H +++ /dev/null @@ -1,194 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2012-2015 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Class - Foam::fv::MRFSource - -Description - Multiple Reference Frame (MRF) source - - \heading Source usage - - Example usage: - \verbatim - MRFSourceCoeffs - { - origin (0 0 0); - axis (0 0 1); - omega 104.72; - } - \endverbatim - - -SourceFiles - MRFSource.C - -\*---------------------------------------------------------------------------*/ - -#ifndef MRFSource_H -#define MRFSource_H - -#include "fvOption.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -class MRFZone; - -namespace fv -{ - -/*---------------------------------------------------------------------------*\ - Class MRFSource Declaration -\*---------------------------------------------------------------------------*/ - -class MRFSource -: - public option -{ - -protected: - - // Protected data - - //- Run-time selectable MRF model - autoPtr mrfPtr_; - - //- Velocity field name, default = U - word UName_; - - - // Protected Member Functions - - //- Initialise - void initialise(); - - -private: - - // Private Member Functions - - //- Disallow default bitwise copy construct - MRFSource(const MRFSource&); - - //- Disallow default bitwise assignment - void operator=(const MRFSource&); - - -public: - - //- Runtime type information - TypeName("MRFSource"); - - - // Constructors - - //- Construct from components - MRFSource - ( - const word& name, - const word& modelType, - const dictionary& dict, - const fvMesh& mesh - ); - - - //- Destructor - virtual ~MRFSource() - {} - - - // Member Functions - - // Add explicit and implicit contributions - - //- Vector - virtual void addSup - ( - fvMatrix& eqn, - const label fieldI - ); - - - // Add explicit and implicit contributions to compressible equation - - //- Vector - virtual void addSup - ( - const volScalarField& rho, - fvMatrix& eqn, - const label fieldI - ); - - - // Flux manipulations - - //- Make the given absolute flux relative - virtual void makeRelative(surfaceScalarField& phi) const; - - //- Make the given absolute boundary flux relative - virtual void makeRelative - ( - FieldField& phi - ) const; - - //- Make the given absolute mass-flux relative - virtual void makeRelative - ( - const surfaceScalarField& rho, - surfaceScalarField& phi - ) const; - - //- Make the given relative flux absolute - virtual void makeAbsolute(surfaceScalarField& phi) const; - - //- Make the given relative mass-flux absolute - virtual void makeAbsolute - ( - const surfaceScalarField& rho, - surfaceScalarField& phi - ) const; - - - // I-O - - //- Write data - virtual void writeData(Ostream&) const; - - //- Read dictionary - virtual bool read(const dictionary& dict); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace fv -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/system/fvOptions b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/fvOptions similarity index 98% rename from tutorials/compressible/rhoLTSPimpleFoam/angledDuct/system/fvOptions rename to tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/fvOptions index b8256633c4..5db26c5cf9 100644 --- a/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/system/fvOptions +++ b/tutorials/compressible/rhoLTSPimpleFoam/angledDuct/constant/fvOptions @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; - location "system"; + location "constant"; object fvOptions; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/system/fvOptions b/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/fvOptions similarity index 98% rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuct/system/fvOptions rename to tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/fvOptions index 2fd3242b6d..6d56dec45f 100644 --- a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/system/fvOptions +++ b/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/fvOptions @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; - location "system"; + location "constant"; object fvOptions; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/simpleFoam/mixerVessel2D/system/fvOptions b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/MRFProperties similarity index 72% rename from tutorials/incompressible/simpleFoam/mixerVessel2D/system/fvOptions rename to tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/MRFProperties index fcc3323ce5..6264ab2c6b 100644 --- a/tutorials/incompressible/simpleFoam/mixerVessel2D/system/fvOptions +++ b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/MRFProperties @@ -10,25 +10,22 @@ FoamFile version 2.0; format ascii; class dictionary; - location "system"; - object fvOptions; + location "constant"; + object MRFProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // MRF1 { - type MRFSource; - active true; - selectionMode cellZone; - cellZone rotor; + cellZone rotor; + active yes; - MRFSourceCoeffs - { - active true; - origin (0 0 0); - axis (0 0 1); - omega 104.72; - } + // Fixed patches (by default they 'move' with the MRF zone) + nonRotatingPatches (); + + origin (0 0 0); + axis (0 0 1); + omega constant 1047.2; } diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/fvOptions b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/fvOptions new file mode 100644 index 0000000000..fb540281a2 --- /dev/null +++ b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/fvOptions @@ -0,0 +1,50 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object fvOptions; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +porosity1 +{ + type explicitPorositySource; + active yes; + selectionMode cellZone; + cellZone stator; + + explicitPorositySourceCoeffs + { + type DarcyForchheimer; + + DarcyForchheimerCoeffs + { + d d [0 -2 0 0 0 0 0] (1e5 -1000 -1000); + f f [0 -1 0 0 0 0 0] (0 0 0); + + coordinateSystem + { + type cartesian; + origin (0 0 0); + coordinateRotation + { + type axesRotation; + e1 (1 0 0); + e2 (0 1 0); + } + } + } + } +} + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/fvOptions b/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/fvOptions deleted file mode 100644 index ad93222fb9..0000000000 --- a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/fvOptions +++ /dev/null @@ -1,69 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: www.OpenFOAM.org | -| \\/ M anipulation | | -\*---------------------------------------------------------------------------*/ -FoamFile -{ - version 2.0; - format ascii; - class dictionary; - location "system"; - object fvOptions; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -porosity1 -{ - type explicitPorositySource; - active yes; - selectionMode cellZone; - cellZone stator; - - explicitPorositySourceCoeffs - { - type DarcyForchheimer; - - DarcyForchheimerCoeffs - { - d d [0 -2 0 0 0 0 0] (1e5 -1000 -1000); - f f [0 -1 0 0 0 0 0] (0 0 0); - - coordinateSystem - { - type cartesian; - origin (0 0 0); - coordinateRotation - { - type axesRotation; - e1 (1 0 0); - e2 (0 1 0); - } - } - } - } -} - - -MRF1 -{ - type MRFSource; - active yes; - selectionMode cellZone; - cellZone rotor; - - MRFSourceCoeffs - { - // Fixed patches (by default they 'move' with the MRF zone) - nonRotatingPatches (); - - origin (0 0 0); - axis (0 0 1); - omega constant 1047.2; - } -} - - -// ************************************************************************* // diff --git a/tutorials/compressible/rhoPimplecFoam/angledDuct/system/fvOptions b/tutorials/compressible/rhoPimplecFoam/angledDuct/constant/fvOptions similarity index 98% rename from tutorials/compressible/rhoPimplecFoam/angledDuct/system/fvOptions rename to tutorials/compressible/rhoPimplecFoam/angledDuct/constant/fvOptions index 66a2b80752..66521d308c 100644 --- a/tutorials/compressible/rhoPimplecFoam/angledDuct/system/fvOptions +++ b/tutorials/compressible/rhoPimplecFoam/angledDuct/constant/fvOptions @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; - location "system"; + location "constant"; object fvOptions; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvOptions b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/fvOptions similarity index 97% rename from tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvOptions rename to tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/fvOptions index 4f0ffe9c1b..f0a9fed5d8 100644 --- a/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/system/fvOptions +++ b/tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/fvOptions @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; - location "system"; + location "constant"; object fvOptions; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/fvOptions b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/fvOptions similarity index 98% rename from tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/fvOptions rename to tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/fvOptions index 8f9340b8e5..16e15e6087 100644 --- a/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/system/fvOptions +++ b/tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/fvOptions @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; - location "system"; + location "constant"; object fvOptions; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/air/MRFProperties b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/air/MRFProperties new file mode 100644 index 0000000000..e1733d54b9 --- /dev/null +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/air/MRFProperties @@ -0,0 +1,32 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object MRFProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +MRF1 +{ + cellZone rotor; + active yes; + + // Fixed patches (by default they 'move' with the MRF zone) + nonRotatingPatches (); + + origin (0.25 0.25 0.25); + axis (0 0 1); + omega 47.7; // 50 rpm +} + + +// ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/system/air/fvOptions b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/air/fvOptions similarity index 87% rename from tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/system/air/fvOptions rename to tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/air/fvOptions index 0c2b98d01f..d5e35981e9 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/system/air/fvOptions +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/air/fvOptions @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; - location "system"; + location "constant"; object fvOptions; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -64,19 +64,5 @@ porosityBlockage } } -MRF1 -{ - type MRFSource; - active true; - selectionMode cellZone; - cellZone rotor; - - MRFSourceCoeffs - { - origin (0.25 0.25 0.25); - axis (0 0 1); - omega 47.7; // 50 rpm - } -} // ************************************************************************* // diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/system/porous/fvOptions b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/porous/fvOptions similarity index 97% rename from tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/system/porous/fvOptions rename to tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/porous/fvOptions index f2f64e4882..fb15f601f2 100644 --- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/system/porous/fvOptions +++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/porous/fvOptions @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; - location "system"; + location "constant"; object fvOptions; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/pimpleFoam/channel395/system/fvOptions b/tutorials/incompressible/pimpleFoam/channel395/constant/fvOptions similarity index 97% rename from tutorials/incompressible/pimpleFoam/channel395/system/fvOptions rename to tutorials/incompressible/pimpleFoam/channel395/constant/fvOptions index 681d7e39ff..97bf730df9 100644 --- a/tutorials/incompressible/pimpleFoam/channel395/system/fvOptions +++ b/tutorials/incompressible/pimpleFoam/channel395/constant/fvOptions @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; - location "system"; + location "constant"; object fvOptions; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/simpleFoam/mixerVessel2D/constant/MRFProperties b/tutorials/incompressible/simpleFoam/mixerVessel2D/constant/MRFProperties new file mode 100644 index 0000000000..67639822de --- /dev/null +++ b/tutorials/incompressible/simpleFoam/mixerVessel2D/constant/MRFProperties @@ -0,0 +1,31 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object MRFProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +MRF1 +{ + cellZone rotor; + active yes; + + // Fixed patches (by default they 'move' with the MRF zone) + nonRotatingPatches (); + + origin (0 0 0); + axis (0 0 1); + omega 104.72; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/simpleFoam/turbineSiting/system/fvOptions b/tutorials/incompressible/simpleFoam/turbineSiting/constant/fvOptions similarity index 98% rename from tutorials/incompressible/simpleFoam/turbineSiting/system/fvOptions rename to tutorials/incompressible/simpleFoam/turbineSiting/constant/fvOptions index 61e7340025..a09b67dc9f 100644 --- a/tutorials/incompressible/simpleFoam/turbineSiting/system/fvOptions +++ b/tutorials/incompressible/simpleFoam/turbineSiting/constant/fvOptions @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; - location "system"; + location "constant"; object fvOptions; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/system/fvOptions b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/fvOptions similarity index 97% rename from tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/system/fvOptions rename to tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/fvOptions index f3194e5954..ef873bfa25 100644 --- a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/system/fvOptions +++ b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/fvOptions @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; - location "system"; + location "constant"; object fvOptions; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/system/fvOptions b/tutorials/lagrangian/reactingParcelFoam/filter/constant/fvOptions similarity index 98% rename from tutorials/lagrangian/reactingParcelFoam/filter/system/fvOptions rename to tutorials/lagrangian/reactingParcelFoam/filter/constant/fvOptions index ea198445a4..a29e5417f9 100644 --- a/tutorials/lagrangian/reactingParcelFoam/filter/system/fvOptions +++ b/tutorials/lagrangian/reactingParcelFoam/filter/constant/fvOptions @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; - location "system"; + location "constant"; object fvOptions; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/constant/MRFProperties b/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/constant/MRFProperties new file mode 100644 index 0000000000..3a308661ec --- /dev/null +++ b/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/constant/MRFProperties @@ -0,0 +1,31 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object MRFProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +MRF1 +{ + cellZone rotor; + active yes; + + // Fixed patches (by default they 'move' with the MRF zone) + nonRotatingPatches (); + + origin (0 0 0); + axis (0 0 1); + omega constant 6.2831853; +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/constant/fvOptions b/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/constant/fvOptions deleted file mode 100644 index ee6ce81fb7..0000000000 --- a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/constant/fvOptions +++ /dev/null @@ -1,37 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: www.OpenFOAM.org | -| \\/ M anipulation | | -\*---------------------------------------------------------------------------*/ -FoamFile -{ - version 2.0; - format ascii; - class dictionary; - location "system"; - object fvOptions; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -MRF1 -{ - type MRFSource; - active yes; - selectionMode cellZone; - cellZone rotor; - - MRFSourceCoeffs - { - // Fixed patches (by default they 'move' with the MRF zone) - nonRotatingPatches (); - - origin (0 0 0); - axis (0 0 1); - omega constant 6.2831853; - } -} - - -// ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/laminar/mixerVessel2D/constant/MRFProperties b/tutorials/multiphase/interFoam/laminar/mixerVessel2D/constant/MRFProperties index 956389e755..3a308661ec 100644 --- a/tutorials/multiphase/interFoam/laminar/mixerVessel2D/constant/MRFProperties +++ b/tutorials/multiphase/interFoam/laminar/mixerVessel2D/constant/MRFProperties @@ -15,7 +15,7 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -zone1 +MRF1 { cellZone rotor; active yes; diff --git a/tutorials/multiphase/interFoam/laminar/mixerVessel2D/constant/fvOptions b/tutorials/multiphase/interFoam/laminar/mixerVessel2D/constant/fvOptions deleted file mode 100644 index ee6ce81fb7..0000000000 --- a/tutorials/multiphase/interFoam/laminar/mixerVessel2D/constant/fvOptions +++ /dev/null @@ -1,37 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: www.OpenFOAM.org | -| \\/ M anipulation | | -\*---------------------------------------------------------------------------*/ -FoamFile -{ - version 2.0; - format ascii; - class dictionary; - location "system"; - object fvOptions; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -MRF1 -{ - type MRFSource; - active yes; - selectionMode cellZone; - cellZone rotor; - - MRFSourceCoeffs - { - // Fixed patches (by default they 'move' with the MRF zone) - nonRotatingPatches (); - - origin (0 0 0); - axis (0 0 1); - omega constant 6.2831853; - } -} - - -// ************************************************************************* // diff --git a/tutorials/multiphase/interFoam/ras/angledDuct/system/fvOptions b/tutorials/multiphase/interFoam/ras/angledDuct/constant/fvOptions similarity index 98% rename from tutorials/multiphase/interFoam/ras/angledDuct/system/fvOptions rename to tutorials/multiphase/interFoam/ras/angledDuct/constant/fvOptions index f34c97ccbc..1f57d6f577 100644 --- a/tutorials/multiphase/interFoam/ras/angledDuct/system/fvOptions +++ b/tutorials/multiphase/interFoam/ras/angledDuct/constant/fvOptions @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; - location "system"; + location "constant"; object fvOptions; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/constant/MRFProperties b/tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/constant/MRFProperties index 8712458a97..c604aa7e2c 100644 --- a/tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/constant/MRFProperties +++ b/tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/constant/MRFProperties @@ -15,7 +15,7 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -zone1 +MRF1 { cellZone rotor; active yes; diff --git a/tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/constant/MRFProperties b/tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/constant/MRFProperties new file mode 100644 index 0000000000..3a308661ec --- /dev/null +++ b/tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/constant/MRFProperties @@ -0,0 +1,31 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object MRFProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +MRF1 +{ + cellZone rotor; + active yes; + + // Fixed patches (by default they 'move' with the MRF zone) + nonRotatingPatches (); + + origin (0 0 0); + axis (0 0 1); + omega constant 6.2831853; +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/constant/fvOptions b/tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/constant/fvOptions deleted file mode 100644 index ee6ce81fb7..0000000000 --- a/tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/constant/fvOptions +++ /dev/null @@ -1,37 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: www.OpenFOAM.org | -| \\/ M anipulation | | -\*---------------------------------------------------------------------------*/ -FoamFile -{ - version 2.0; - format ascii; - class dictionary; - location "system"; - object fvOptions; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -MRF1 -{ - type MRFSource; - active yes; - selectionMode cellZone; - cellZone rotor; - - MRFSourceCoeffs - { - // Fixed patches (by default they 'move' with the MRF zone) - nonRotatingPatches (); - - origin (0 0 0); - axis (0 0 1); - omega constant 6.2831853; - } -} - - -// ************************************************************************* // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/laminar/injection/constant/fvOptions b/tutorials/multiphase/twoPhaseEulerFoam/laminar/injection/constant/fvOptions index f231c3d605..4c5c36be96 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/laminar/injection/constant/fvOptions +++ b/tutorials/multiphase/twoPhaseEulerFoam/laminar/injection/constant/fvOptions @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; - location "system"; + location "constant"; object fvOptions; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/MRFProperties b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/MRFProperties index 8712458a97..c604aa7e2c 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/MRFProperties +++ b/tutorials/multiphase/twoPhaseEulerFoam/laminar/mixerVessel2D/constant/MRFProperties @@ -15,7 +15,7 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -zone1 +MRF1 { cellZone rotor; active yes;