From 2b9a2adf8c595f08cea017b4732e142391c81359 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 eca2c6c22..5c5613378 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 2ecafd564..55bceadc8 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 79d81663c..1d949d17b 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 60c2a8a71..f493177d7 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 d6300e9e4..cf0c63df9 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 213cfd133..2b11dc73f 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 bea17cd8d..e85010239 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 6e6677ec3..4602eac99 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 664e99d0c..c962353e3 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 205eb0915..0bb6ff724 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 d7ec701ad..b24c6b2c0 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 5112326ea..6f8b03458 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 5ba629d3a..55e33d91d 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 60c2a8a71..f493177d7 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 976882531..cedab05ea 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 cb15d3ef0..ceb380ef2 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 7d1a350e1..dbda89887 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 becb0aa70..965ff5bad 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 d8e68441c..48f2ca608 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 f17f8bcd7..87ca80dbf 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 bff193a2c..54f3e8c69 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 1adabbc1f..907c9934e 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 2cf0f637a..2f352db5d 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 8ff8c28da..c6368171a 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 17ce7e89f..33039b3dc 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 72febbc9c..3672afb37 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 ae43c9504..170a7eaa6 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 c18f0590d..3d7fffc45 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 fd3e102dc..8f6a1deb6 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 323af72fb..396b92349 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 d5e26fcef..38c9806ee 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 b4c720713..fcb8f713d 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 38e39b9ac..b0af0e3f8 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 d8598bae4..a7482b3df 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 1d70a557c..ae4f28af7 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 fbc3b01f2..82161f230 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 bad31d378..af8e917ee 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 d091cd549..c726eb40d 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 ea6481ded..d61808b23 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 b68ee693c..439709ed0 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 7b65536a8..8ca9f03e3 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 1042889db..f04b28e36 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 92768088b..06a347860 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 f10746751..db8c2da93 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 b73e5c88f..9ec089ee4 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 dd516edf2..72bf78c7f 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 fbf754f6d..6dff329d1 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 ae104e8f0..b6d806735 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 75f5e955f..6ff0c8086 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 32fffd687..c0346acd4 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 38eac983f..e2f99671a 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 ccb13caf6..04796b475 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 54a2c7871..403fb6fec 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 60b3c1a0c..85157e8b2 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 212d72679..b65ef6bfd 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 6a0d52b1c..f41f8f97e 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 fc854c40a..ccae3cc07 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 fe5ce1e82..c89b99e07 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 602a04a6e..563ad65eb 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 98ef8d7f6..1d51cb622 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 38ba49bd7..002faddb5 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 ef3a3df78..61c812290 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 7bd10afc4..18b6beafe 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 83265f233..0abd31d14 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 e2938bdb9..c133a9572 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 8d4edd3ed..ebdb4dfef 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 ea4d5ece3..281a9eb99 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 0c5932ff2..032e0e044 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 fddb3b05d..4438a3bff 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 39694e106..035b83ebd 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 399db198a..5c6dbea19 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 a6c48d7c1..3c9ef15c9 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 60b6704f0..eeb7bc1e3 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 24d3a9ebb..2062c123f 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 c128fe6d5..c4201b84e 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 c75fd95bb..480ce25f7 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 205eb0915..0bb6ff724 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 5112326ea..6f8b03458 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 757ede7fe..a2f82459b 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 7f826af45..875d07d8b 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 6a12aae3b..775da4cae 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 dd68eb375..f266fded0 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 92b94f4ea..34adbb474 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 eabbb4045..2f5a74d45 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 e965d94c8..b5d3e1471 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 cc34c64c0..9a49318c2 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 a5618ba85..c26bf1cf6 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 a29c87b23..ee450daab 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 10aaff112..c620a892d 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 3d12451ff..40f7ea1b3 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 40e4d620a..730d0f3fb 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 beb0923d3..da3900856 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 7018d964e..e7b0dcc79 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 35d4b441d..3fc0f0ff0 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 494ee5590..73c6ea987 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 49a907444..37183abdc 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 10bc0fac6..77d1dcd83 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 84d1283d0..5cdd02514 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 2ef484b18..8400d2468 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 8250933b9..348f7e970 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 abb18c4ba..4afb877d2 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 0343d111d..31982f4c1 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 fff99c0b7..8c2c2a9cb 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 4d148b3a4..d3d713d3c 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 69a95ab71..794c0aca5 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 f7de6089b..6a65b215b 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 c302b1671..01f548ad1 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 305d5eb43..9fb6cae5a 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 4f4239890..0d27e722e 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 adb37bc0b..ffdbd2c0f 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 000000000..d1c2b340c --- /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 05b121db8..d8eb111f5 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 6c4245d77..d16c8f6b9 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 3387bdece..7265702a8 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 771ef7e13..0a8d0300d 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 0d2f8917b..94d1b2c34 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 cfeea7b38..725019880 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 aa66d5cd1..000000000 --- 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 1415a8b04..000000000 --- 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 b8256633c..5db26c5cf 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 2fd3242b6..6d56dec45 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 fcc3323ce..6264ab2c6 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 000000000..fb540281a --- /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 ad93222fb..000000000 --- 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 66a2b8075..66521d308 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 4f0ffe9c1..f0a9fed5d 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 8f9340b8e..16e15e608 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 000000000..e1733d54b --- /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 0c2b98d01..d5e35981e 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 f2f64e488..fb15f601f 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 681d7e39f..97bf730df 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 000000000..67639822d --- /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 61e734002..a09b67dc9 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 f3194e595..ef873bfa2 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 ea198445a..a29e5417f 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 000000000..3a308661e --- /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 ee6ce81fb..000000000 --- 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 956389e75..3a308661e 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 ee6ce81fb..000000000 --- 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 f34c97ccb..1f57d6f57 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 8712458a9..c604aa7e2 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 000000000..3a308661e --- /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 ee6ce81fb..000000000 --- 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 f231c3d60..4c5c36be9 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 8712458a9..c604aa7e2 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;