From d05c5a41a1bc009ddc3d60c0cd815976ec58c2eb Mon Sep 17 00:00:00 2001 From: andy Date: Wed, 26 Oct 2011 12:04:25 +0100 Subject: [PATCH] ENH: Updated PIMPLE solvers to new pimpleControl framework --- .../solvers/combustion/PDRFoam/PDRFoam.C | 6 +++--- .../combustion/PDRFoam/PDRFoamAutoRefine.C | 6 +++--- .../solvers/combustion/PDRFoam/pEqn.H | 18 ++++++----------- .../solvers/combustion/XiFoam/XiFoam.C | 6 +++--- applications/solvers/combustion/XiFoam/pEqn.H | 18 ++++++----------- .../coldEngineFoam/coldEngineFoam.C | 6 +++--- .../dieselEngineFoam/dieselEngineFoam.C | 6 +++--- .../combustion/dieselEngineFoam/pEqn.H | 18 ++++++----------- .../combustion/dieselFoam/dieselFoam.C | 6 +++--- .../solvers/combustion/dieselFoam/pEqn.H | 20 +++++++------------ .../combustion/engineFoam/engineFoam.C | 6 +++--- .../solvers/combustion/engineFoam/pEqn.H | 18 ++++++----------- .../solvers/combustion/fireFoam/fireFoam.C | 6 +++--- .../solvers/combustion/fireFoam/pEqn.H | 9 +++------ .../solvers/combustion/reactingFoam/pEqn.H | 18 ++++++----------- .../combustion/reactingFoam/reactingFoam.C | 6 +++--- .../solvers/combustion/rhoReactingFoam/pEqn.H | 18 ++++++----------- .../rhoReactingFoam/rhoReactingFoam.C | 6 +++--- .../solvers/compressible/rhoPimpleFoam/pEqn.H | 20 +++++++------------ .../rhoPimpleFoam/rhoPimpleFoam.C | 6 +++--- .../rhoPorousMRFLTSPimpleFoam.C | 6 +++--- .../rhoPorousMRFPimpleFoam/pEqn.H | 20 +++++++------------ .../rhoPorousMRFPimpleFoam.C | 6 +++--- .../buoyantBoussinesqPimpleFoam.C | 6 +++--- .../buoyantBoussinesqPimpleFoam/pEqn.H | 9 +++------ .../buoyantPimpleFoam/buoyantPimpleFoam.C | 6 +++--- .../heatTransfer/buoyantPimpleFoam/pEqn.H | 9 +++------ .../pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C | 6 +++--- .../pimpleFoam/SRFPimpleFoam/pEqn.H | 11 ++++------ .../solvers/incompressible/pimpleFoam/pEqn.H | 11 ++++------ .../pimpleFoam/pimpleDyMFoam/correctPhi.H | 4 ++-- .../pimpleFoam/pimpleDyMFoam/pEqn.H | 11 ++++------ .../pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C | 6 +++--- .../incompressible/pimpleFoam/pimpleFoam.C | 6 +++--- .../shallowWaterFoam/shallowWaterFoam.C | 18 ++++++----------- .../LTSReactingParcelFoam.C | 6 +++--- .../lagrangian/LTSReactingParcelFoam/pEqn.H | 9 +++------ .../coalChemistryFoam/coalChemistryFoam.C | 6 +++--- .../lagrangian/coalChemistryFoam/pEqn.H | 18 ++++++----------- .../pEqn.H | 9 +++------ .../porousExplicitSourceReactingParcelFoam.C | 6 +++--- .../lagrangian/reactingParcelFilmFoam/pEqn.H | 9 +++------ .../reactingParcelFilmFoam.C | 6 +++--- .../lagrangian/reactingParcelFoam/pEqn.H | 18 ++++++----------- .../reactingParcelFoam/reactingParcelFoam.C | 6 +++--- .../solvers/lagrangian/sprayFoam/sprayFoam.C | 6 +++--- .../multiphase/bubbleFoam/bubbleFoam.C | 6 +++--- .../solvers/multiphase/bubbleFoam/pEqn.H | 9 +++------ .../cavitatingFoam/cavitatingFoam.C | 6 ++++-- .../solvers/multiphase/cavitatingFoam/pEqn.H | 11 ++++------ .../compressibleInterFoam/alphaEqnsSubCycle.H | 3 ++- .../alphaEqnsSubCycle.H | 3 ++- .../compressibleInterDyMFoam.C | 8 ++++---- .../compressibleInterDyMFoam/correctPhi.H | 4 ++-- .../compressibleInterDyMFoam/pEqn.H | 6 +++--- .../compressibleInterDyMFoam/readControls.H | 2 +- .../compressibleInterFoam.C | 8 ++++---- .../multiphase/compressibleInterFoam/pEqn.H | 6 +++--- .../compressibleInterFoam/readControls.H | 16 +++++---------- .../compressibleTwoPhaseEulerFoam.C | 6 +++--- .../compressibleTwoPhaseEulerFoam/pEqn.H | 11 +++++----- .../interFoam/LTSInterFoam/LTSInterFoam.C | 6 +++--- .../interFoam/MRFInterFoam/MRFInterFoam.C | 6 +++--- .../multiphase/interFoam/MRFInterFoam/pEqn.H | 9 +++------ .../solvers/multiphase/interFoam/correctPhi.H | 4 ++-- .../interFoam/interDyMFoam/interDyMFoam.C | 6 +++--- .../multiphase/interFoam/interDyMFoam/pEqn.H | 9 +++------ .../solvers/multiphase/interFoam/interFoam.C | 6 +++--- .../solvers/multiphase/interFoam/pEqn.H | 9 +++------ .../porousInterFoam/porousInterFoam.C | 6 +++--- .../interMixingFoam/interMixingFoam.C | 6 +++--- .../interPhaseChangeFoam/alphaEqnSubCycle.H | 4 ++-- .../interPhaseChangeFoam.C | 6 +++--- .../multiphase/interPhaseChangeFoam/pEqn.H | 14 ++++++------- .../multiphaseEulerFoam/correctPhi.H | 4 ++-- .../multiphaseEulerFoam/multiphaseEulerFoam.C | 6 +++--- .../multiphase/multiphaseEulerFoam/pEqn.H | 4 ++-- .../MRFMultiphaseInterFoam.C | 6 +++--- .../MRFMultiphaseInterFoam/pEqn.H | 20 +++++++++---------- .../multiphaseInterFoam/multiphaseInterFoam.C | 6 +++--- .../multiphase/multiphaseInterFoam/pEqn.H | 9 +++------ .../solvers/multiphase/settlingFoam/pEqn.H | 7 ++++--- .../multiphase/settlingFoam/settlingFoam.C | 7 ++++--- .../multiphase/twoLiquidMixingFoam/pEqn.H | 9 +++------ .../twoLiquidMixingFoam/twoLiquidMixingFoam.C | 6 +++--- .../multiphase/twoPhaseEulerFoam/pEqn.H | 9 +++------ .../twoPhaseEulerFoam/twoPhaseEulerFoam.C | 6 +++--- 87 files changed, 312 insertions(+), 440 deletions(-) diff --git a/applications/solvers/combustion/PDRFoam/PDRFoam.C b/applications/solvers/combustion/PDRFoam/PDRFoam.C index 40a48cfbdb..bf70e83c5d 100644 --- a/applications/solvers/combustion/PDRFoam/PDRFoam.C +++ b/applications/solvers/combustion/PDRFoam/PDRFoam.C @@ -114,12 +114,12 @@ int main(int argc, char *argv[]) #include "rhoEqn.H" // --- Pressure-velocity PIMPLE corrector loop - for (pimple.start(); pimple.loop(); pimple++) + while (pimple.loop()) { #include "UEqn.H" - // --- PISO loop - for (int corr=1; corr<=pimple.nCorr(); corr++) + // --- Pressure corrector loop + while (pimple.correct()) { #include "bEqn.H" #include "ftEqn.H" diff --git a/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C b/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C index 557c8aa1fb..0c5082df04 100644 --- a/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C +++ b/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C @@ -167,13 +167,13 @@ int main(int argc, char *argv[]) #include "rhoEqn.H" // --- Pressure-velocity PIMPLE corrector loop - for (pimple.start(); pimple.loop(); pimple++) + while (pimple.loop()) { #include "UEqn.H" - // --- PISO loop - for (int corr=1; corr<=pimple.nCorr(); corr++) + // --- Pressure corrector loop + while (pimple.correct()) { #include "bEqn.H" #include "ftEqn.H" diff --git a/applications/solvers/combustion/PDRFoam/pEqn.H b/applications/solvers/combustion/PDRFoam/pEqn.H index 3c6a6341f9..e2a2a471e2 100644 --- a/applications/solvers/combustion/PDRFoam/pEqn.H +++ b/applications/solvers/combustion/PDRFoam/pEqn.H @@ -15,7 +15,7 @@ if (pimple.transonic()) ) ); - for (int nonOrth=0; nonOrth<=pimple.nNonOrthCorr(); nonOrth++) + while (pimple.correctNonOrthogonal()) { fvScalarMatrix pEqn ( @@ -24,12 +24,9 @@ if (pimple.transonic()) - fvm::laplacian(rho*invA, p) ); - pEqn.solve - ( - mesh.solver(p.select(pimple.finalInnerIter(corr, nonOrth))) - ); + pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter()))); - if (nonOrth == pimple.nNonOrthCorr()) + if (pimple.finalNonOrthogonalIter()) { phi == pEqn.flux(); } @@ -44,7 +41,7 @@ else + fvc::ddtPhiCorr(rAU, rho, U, phi) ); - for (int nonOrth=0; nonOrth<=pimple.nNonOrthCorr(); nonOrth++) + while (pimple.correctNonOrthogonal()) { fvScalarMatrix pEqn ( @@ -53,12 +50,9 @@ else - fvm::laplacian(rho*invA, p) ); - pEqn.solve - ( - mesh.solver(p.select(pimple.finalInnerIter(corr, nonOrth))) - ); + pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter()))); - if (nonOrth == pimple.nNonOrthCorr()) + if (pimple.finalNonOrthogonalIter()) { phi += pEqn.flux(); } diff --git a/applications/solvers/combustion/XiFoam/XiFoam.C b/applications/solvers/combustion/XiFoam/XiFoam.C index 71b03064fa..069e5b8caa 100644 --- a/applications/solvers/combustion/XiFoam/XiFoam.C +++ b/applications/solvers/combustion/XiFoam/XiFoam.C @@ -91,7 +91,7 @@ int main(int argc, char *argv[]) #include "rhoEqn.H" // --- Pressure-velocity PIMPLE corrector loop - for (pimple.start(); pimple.loop(); pimple++) + while (pimple.loop()) { #include "UEqn.H" @@ -105,8 +105,8 @@ int main(int argc, char *argv[]) hu == h; } - // --- PISO loop - for (int corr=0; corrcorrect(); #include "UEqn.H" #include "hEqn.H" - // --- PISO loop - for (int corr=0; corrcorrect(); @@ -95,8 +95,8 @@ int main(int argc, char *argv[]) #include "YEqn.H" #include "hsEqn.H" - // --- PISO loop - for (int corr=0; corrcorrect(); - // --- Outer-corrector loop - for (pimple.start(); pimple.loop(); pimple++) + // --- Pressure-velocity PIMPLE corrector loop + while (pimple.loop()) { #include "alphaEqnsSubCycle.H" @@ -125,8 +125,8 @@ int main(int argc, char *argv[]) #include "UEqn.H" - // --- PISO loop - for (int corr=0; corr 1 && pimple.nOuterCorr() != 1) + if (nAlphaSubCycles > 1 && pimple.nCorrPIMPLE() != 1) { FatalErrorIn(args.executable()) << "Sub-cycling alpha is only allowed for PISO, " diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C index 02d6764ae2..4ad1b3d01d 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C +++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C @@ -74,8 +74,8 @@ int main(int argc, char *argv[]) Info<< "Time = " << runTime.timeName() << nl << endl; - // --- Outer-corrector loop - for (pimple.start(); pimple.loop(); pimple++) + // --- Pressure-velocity PIMPLE corrector loop + while (pimple.loop()) { #include "alphaEqnsSubCycle.H" @@ -83,8 +83,8 @@ int main(int argc, char *argv[]) #include "UEqn.H" - // --- PISO loop - for (int corr=0; corr 1 && pimple.nOuterCorr() != 1) + if (nAlphaSubCycles > 1 && pimple.nCorrPIMPLE() != 1) { FatalErrorIn(args.executable()) - << "Sub-cycling alpha is only allowed for PISO, " + << "Sub-cycling alpha is only allowed for PISO operation, " "i.e. when the number of outer-correctors = 1" << exit(FatalError); } diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/compressibleTwoPhaseEulerFoam.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/compressibleTwoPhaseEulerFoam.C index c764472cb7..d29da482ba 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/compressibleTwoPhaseEulerFoam.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/compressibleTwoPhaseEulerFoam.C @@ -77,7 +77,7 @@ int main(int argc, char *argv[]) Info<< "Time = " << runTime.timeName() << nl << endl; // --- Pressure-velocity PIMPLE corrector loop - for (pimple.start(); pimple.loop(); pimple++) + while (pimple.loop()) { #include "alphaEqn.H" #include "kEpsilon.H" @@ -85,8 +85,8 @@ int main(int argc, char *argv[]) #include "TEqns.H" #include "UEqns.H" - // --- PISO loop - for (int corr=0; corrcorrect(); // --- Pressure-velocity PIMPLE corrector loop - for (pimple.start(); pimple.loop(); pimple++) + while (pimple.loop()) { #include "UEqn.H" - // --- PISO loop - for (int corr=0; corrcorrect(); // --- Pressure-velocity PIMPLE corrector loop - for (pimple.start(); pimple.loop(); pimple++) + while (pimple.loop()) { #include "UEqn.H" - // --- PISO loop - for (int corr=0; corr