From c3ee2348a65337013b1dd8a466589baaa6d32dfc Mon Sep 17 00:00:00 2001 From: Henry Date: Fri, 29 May 2015 23:35:43 +0100 Subject: [PATCH] MRF: Separate MRF from fvOptions fvOptions does not have the appropriate structure to support MRF as it is based on option selection by user-specified fields whereas MRF MUST be applied to all velocity fields in the particular solver. A consequence of the particular design choices in fvOptions made it difficult to support MRF for multiphase and it is easier to support frame-related and field related options separately. Currently the MRF functionality provided supports only rotations but the structure will be generalized to support other frame motions including linear acceleration, SRF rotation and 6DoF which will be run-time selectable. --- .../basic/potentialFoam/potentialFoam.C | 6 +- .../solvers/combustion/PDRFoam/PDRFoam.C | 1 + .../solvers/combustion/PDRFoam/UEqn.H | 6 +- applications/solvers/combustion/XiFoam/UEqn.H | 6 +- .../solvers/combustion/XiFoam/XiFoam.C | 1 + applications/solvers/combustion/XiFoam/pEqn.H | 4 +- .../coldEngineFoam/coldEngineFoam.C | 1 + .../combustion/engineFoam/engineFoam.C | 1 + .../solvers/combustion/engineFoam/pEqn.H | 4 +- .../solvers/combustion/fireFoam/UEqn.H | 6 +- .../solvers/combustion/fireFoam/fireFoam.C | 1 + .../solvers/combustion/fireFoam/pEqn.H | 4 +- .../LTSReactingFoam/LTSReactingFoam.C | 1 + .../solvers/combustion/reactingFoam/UEqn.H | 6 +- .../solvers/combustion/reactingFoam/pEqn.H | 4 +- .../combustion/reactingFoam/reactingFoam.C | 1 + .../rhoReactingBuoyantFoam/UEqn.H | 6 +- .../rhoReactingBuoyantFoam/pEqn.H | 4 +- .../rhoReactingBuoyantFoam.C | 1 + .../reactingFoam/rhoReactingFoam/pEqn.H | 4 +- .../rhoReactingFoam/rhoReactingFoam.C | 1 + .../solvers/compressible/rhoPimpleFoam/UEqn.H | 6 +- .../solvers/compressible/rhoPimpleFoam/pEqn.H | 4 +- .../rhoLTSPimpleFoam/rhoLTSPimpleFoam.C | 1 + .../rhoPimpleFoam/rhoPimpleDyMFoam/pEqn.H | 4 +- .../rhoPimpleDyMFoam/rhoPimpleDyMFoam.C | 1 + .../rhoPimpleFoam/rhoPimpleFoam.C | 1 + .../rhoPimpleFoam/rhoPimplecFoam/pEqn.H | 4 +- .../rhoPimplecFoam/rhoPimplecFoam.C | 1 + .../solvers/compressible/rhoSimpleFoam/UEqn.H | 3 + .../solvers/compressible/rhoSimpleFoam/pEqn.H | 4 +- .../rhoSimpleFoam/rhoPorousSimpleFoam/UEqn.H | 3 + .../rhoSimpleFoam/rhoPorousSimpleFoam/pEqn.H | 2 +- .../rhoPorousSimpleFoam/rhoPorousSimpleFoam.C | 1 + .../rhoSimpleFoam/rhoSimpleFoam.C | 1 + .../rhoSimpleFoam/rhoSimplecFoam/pEqn.H | 4 +- .../rhoSimplecFoam/rhoSimplecFoam.C | 1 + .../solvers/compressible/sonicFoam/UEqn.H | 6 +- .../solvers/compressible/sonicFoam/pEqn.H | 2 +- .../sonicFoam/sonicDyMFoam/pEqn.H | 2 +- .../sonicFoam/sonicDyMFoam/sonicDyMFoam.C | 1 + .../compressible/sonicFoam/sonicFoam.C | 1 + .../buoyantBoussinesqPimpleFoam/UEqn.H | 6 +- .../buoyantBoussinesqPimpleFoam.C | 1 + .../buoyantBoussinesqPimpleFoam/pEqn.H | 4 +- .../buoyantBoussinesqSimpleFoam/UEqn.H | 3 + .../buoyantBoussinesqSimpleFoam.C | 1 + .../buoyantBoussinesqSimpleFoam/pEqn.H | 4 +- .../heatTransfer/buoyantPimpleFoam/UEqn.H | 6 +- .../buoyantPimpleFoam/buoyantPimpleFoam.C | 1 + .../heatTransfer/buoyantPimpleFoam/pEqn.H | 4 +- .../heatTransfer/buoyantSimpleFoam/UEqn.H | 3 + .../buoyantSimpleFoam/buoyantSimpleFoam.C | 1 + .../heatTransfer/buoyantSimpleFoam/pEqn.H | 4 +- .../chtMultiRegionSimpleFoam/fluid/UEqn.H | 4 + .../fluid/createFluidFields.H | 8 + .../chtMultiRegionSimpleFoam/fluid/pEqn.H | 4 +- .../fluid/setRegionFluidFields.H | 1 + .../chtMultiRegionFoam/fluid/UEqn.H | 9 +- .../fluid/createFluidFields.H | 8 + .../chtMultiRegionFoam/fluid/pEqn.H | 4 +- .../fluid/setRegionFluidFields.H | 3 +- .../solvers/incompressible/pimpleFoam/UEqn.H | 6 +- .../solvers/incompressible/pimpleFoam/pEqn.H | 4 +- .../pimpleFoam/pimpleDyMFoam/pEqn.H | 13 ++ .../pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C | 2 + .../incompressible/pimpleFoam/pimpleFoam.C | 3 +- .../solvers/incompressible/simpleFoam/UEqn.H | 3 + .../solvers/incompressible/simpleFoam/pEqn.H | 2 +- .../simpleFoam/porousSimpleFoam/UEqn.H | 2 + .../{createZones.H => createPorousZones.H} | 3 - .../porousSimpleFoam/porousSimpleFoam.C | 4 +- .../incompressible/simpleFoam/simpleFoam.C | 1 + .../lagrangian/coalChemistryFoam/UEqn.H | 6 +- .../coalChemistryFoam/coalChemistryFoam.C | 1 + .../lagrangian/coalChemistryFoam/pEqn.H | 4 +- .../lagrangian/reactingParcelFilmFoam/UEqn.H | 6 +- .../lagrangian/reactingParcelFilmFoam/pEqn.H | 4 +- .../reactingParcelFilmFoam.C | 1 + .../LTSReactingParcelFoam.C | 1 + .../lagrangian/reactingParcelFoam/UEqn.H | 6 +- .../lagrangian/reactingParcelFoam/pEqn.H | 2 +- .../reactingParcelFoam/reactingParcelFoam.C | 1 + .../simpleReactingParcelFoam/UEqn.H | 3 + .../simpleReactingParcelFoam/pEqn.H | 2 +- .../simpleReactingParcelFoam.C | 1 + .../solvers/lagrangian/sprayFoam/UEqn.H | 6 +- .../solvers/lagrangian/sprayFoam/pEqn.H | 4 +- .../lagrangian/sprayFoam/sprayDyMFoam/pEqn.H | 4 +- .../sprayFoam/sprayDyMFoam/sprayDyMFoam.C | 1 + .../sprayEngineFoam/sprayEngineFoam.C | 1 + .../solvers/lagrangian/sprayFoam/sprayFoam.C | 1 + .../solvers/multiphase/driftFluxFoam/UEqn.H | 6 +- .../multiphase/driftFluxFoam/driftFluxFoam.C | 1 + .../solvers/multiphase/driftFluxFoam/pEqn.H | 4 +- .../interFoam/LTSInterFoam/LTSInterFoam.C | 1 + .../solvers/multiphase/interFoam/UEqn.H | 6 +- .../interFoam/interDyMFoam/interDyMFoam.C | 1 + .../multiphase/interFoam/interDyMFoam/pEqn.H | 1 + .../solvers/multiphase/interFoam/interFoam.C | 1 + .../interMixingFoam/interMixingFoam.C | 1 + .../solvers/multiphase/interFoam/pEqn.H | 4 +- .../multiphaseInterDyMFoam.C | 1 + .../multiphaseInterFoam/multiphaseInterFoam.C | 1 + .../potentialFreeSurfaceFoam/UEqn.H | 7 +- .../potentialFreeSurfaceFoam/pEqn.H | 2 +- .../potentialFreeSurfaceDyMFoam/pEqn.H | 2 + .../potentialFreeSurfaceDyMFoam.C | 1 + .../potentialFreeSurfaceFoam.C | 1 + .../{createMRFZones.H => createMRF.H} | 0 .../twoPhaseEulerFoam/twoPhaseEulerFoam.C | 3 +- .../cfdTools/general/include/createMRF.H | 1 + .../cfdTools/general/include/fvCFD.H | 1 + src/fvOptions/Make/files | 1 - src/fvOptions/fvOptions/fvOption.C | 43 +--- src/fvOptions/fvOptions/fvOption.H | 31 +-- src/fvOptions/fvOptions/fvOptionList.C | 61 ------ src/fvOptions/fvOptions/fvOptionList.H | 31 +-- .../sources/derived/MRFSource/MRFSource.C | 195 ------------------ .../sources/derived/MRFSource/MRFSource.H | 194 ----------------- .../angledDuct/{system => constant}/fvOptions | 2 +- .../angledDuct/{system => constant}/fvOptions | 2 +- .../ras/mixerVessel2D/constant/MRFProperties} | 23 +-- .../ras/mixerVessel2D/constant/fvOptions | 50 +++++ .../ras/mixerVessel2D/system/fvOptions | 69 ------- .../angledDuct/{system => constant}/fvOptions | 2 +- .../{system => constant}/fvOptions | 2 +- .../{system => constant}/fvOptions | 2 +- .../heatExchanger/constant/air/MRFProperties | 32 +++ .../{system => constant}/air/fvOptions | 16 +- .../{system => constant}/porous/fvOptions | 2 +- .../channel395/{system => constant}/fvOptions | 2 +- .../mixerVessel2D/constant/MRFProperties | 31 +++ .../{system => constant}/fvOptions | 2 +- .../{system => constant}/fvOptions | 2 +- .../filter/{system => constant}/fvOptions | 2 +- .../ras/mixerVessel2D/constant/MRFProperties | 31 +++ .../ras/mixerVessel2D/constant/fvOptions | 37 ---- .../mixerVessel2D/constant/MRFProperties | 2 +- .../laminar/mixerVessel2D/constant/fvOptions | 37 ---- .../angledDuct/{system => constant}/fvOptions | 2 +- .../mixerVessel2D/constant/MRFProperties | 2 +- .../mixerVessel2D/constant/MRFProperties | 31 +++ .../laminar/mixerVessel2D/constant/fvOptions | 37 ---- .../laminar/injection/constant/fvOptions | 2 +- .../mixerVessel2D/constant/MRFProperties | 2 +- 146 files changed, 443 insertions(+), 882 deletions(-) rename applications/solvers/incompressible/simpleFoam/porousSimpleFoam/{createZones.H => createPorousZones.H} (89%) rename applications/solvers/multiphase/twoPhaseEulerFoam/{createMRFZones.H => createMRF.H} (100%) create mode 100644 src/finiteVolume/cfdTools/general/include/createMRF.H delete mode 100644 src/fvOptions/sources/derived/MRFSource/MRFSource.C delete mode 100644 src/fvOptions/sources/derived/MRFSource/MRFSource.H rename tutorials/compressible/rhoLTSPimpleFoam/angledDuct/{system => constant}/fvOptions (98%) rename tutorials/compressible/rhoPimpleFoam/ras/angledDuct/{system => constant}/fvOptions (98%) rename tutorials/{incompressible/simpleFoam/mixerVessel2D/system/fvOptions => compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/MRFProperties} (72%) create mode 100644 tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/fvOptions delete mode 100644 tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/fvOptions rename tutorials/compressible/rhoPimplecFoam/angledDuct/{system => constant}/fvOptions (98%) rename tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/{system => constant}/fvOptions (97%) rename tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/{system => constant}/fvOptions (98%) create mode 100644 tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/constant/air/MRFProperties rename tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/{system => constant}/air/fvOptions (87%) rename tutorials/heatTransfer/chtMultiRegionSimpleFoam/heatExchanger/{system => constant}/porous/fvOptions (97%) rename tutorials/incompressible/pimpleFoam/channel395/{system => constant}/fvOptions (97%) create mode 100644 tutorials/incompressible/simpleFoam/mixerVessel2D/constant/MRFProperties rename tutorials/incompressible/simpleFoam/turbineSiting/{system => constant}/fvOptions (98%) rename tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/{system => constant}/fvOptions (97%) rename tutorials/lagrangian/reactingParcelFoam/filter/{system => constant}/fvOptions (98%) create mode 100644 tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/constant/MRFProperties delete mode 100644 tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/constant/fvOptions delete mode 100644 tutorials/multiphase/interFoam/laminar/mixerVessel2D/constant/fvOptions rename tutorials/multiphase/interFoam/ras/angledDuct/{system => constant}/fvOptions (98%) create mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/constant/MRFProperties delete mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/constant/fvOptions 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;