diff --git a/applications/solvers/basic/laplacianFoam/overLaplacianDyMFoam/write.H b/applications/solvers/basic/laplacianFoam/overLaplacianDyMFoam/write.H index 47aa182c0a..6b14ba4995 100644 --- a/applications/solvers/basic/laplacianFoam/overLaplacianDyMFoam/write.H +++ b/applications/solvers/basic/laplacianFoam/overLaplacianDyMFoam/write.H @@ -1,4 +1,4 @@ - if (runTime.outputTime()) + if (runTime.writeTime()) { volVectorField gradT(fvc::grad(T)); diff --git a/applications/solvers/combustion/PDRFoam/PDRFoam.C b/applications/solvers/combustion/PDRFoam/PDRFoam.C index 2511b8da12..4150024994 100644 --- a/applications/solvers/combustion/PDRFoam/PDRFoam.C +++ b/applications/solvers/combustion/PDRFoam/PDRFoam.C @@ -115,7 +115,7 @@ int main(int argc, char *argv[]) #include "compressibleCourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "\n\nTime = " << runTime.timeName() << endl; #include "rhoEqn.H" diff --git a/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C b/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C index 48a9aaf5c8..ef1d103b98 100644 --- a/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C +++ b/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C @@ -101,8 +101,8 @@ int main(int argc, char *argv[]) #include "compressibleCourantNo.H" #include "setDeltaT.H" - // Indicators for refinement. Note: before runTime++ - // only for post-processing reasons. + // Indicators for refinement. + // Note: before ++runTime only for post-processing reasons. tmp tmagGradP = mag(fvc::grad(p)); volScalarField normalisedGradP ( @@ -112,7 +112,7 @@ int main(int argc, char *argv[]) normalisedGradP.writeOpt() = IOobject::AUTO_WRITE; tmagGradP.clear(); - runTime++; + ++runTime; Info<< "\n\nTime = " << runTime.timeName() << endl; diff --git a/applications/solvers/combustion/XiFoam/XiDyMFoam/XiDyMFoam.C b/applications/solvers/combustion/XiFoam/XiDyMFoam/XiDyMFoam.C index b6fda29be3..2b4dc4f107 100644 --- a/applications/solvers/combustion/XiFoam/XiDyMFoam/XiDyMFoam.C +++ b/applications/solvers/combustion/XiFoam/XiDyMFoam/XiDyMFoam.C @@ -107,7 +107,7 @@ int main(int argc, char *argv[]) #include "compressibleCourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/combustion/XiFoam/XiEngineFoam/XiEngineFoam.C b/applications/solvers/combustion/XiFoam/XiEngineFoam/XiEngineFoam.C index 6ac9443f4c..4c9c461d5d 100644 --- a/applications/solvers/combustion/XiFoam/XiEngineFoam/XiEngineFoam.C +++ b/applications/solvers/combustion/XiFoam/XiEngineFoam/XiEngineFoam.C @@ -95,7 +95,7 @@ int main(int argc, char *argv[]) #include "compressibleCourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Crank angle = " << runTime.theta() << " CA-deg" << endl; diff --git a/applications/solvers/combustion/XiFoam/XiFoam.C b/applications/solvers/combustion/XiFoam/XiFoam.C index 34c42e7d12..069c481eb5 100644 --- a/applications/solvers/combustion/XiFoam/XiFoam.C +++ b/applications/solvers/combustion/XiFoam/XiFoam.C @@ -92,7 +92,7 @@ int main(int argc, char *argv[]) #include "compressibleCourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; #include "rhoEqn.H" diff --git a/applications/solvers/combustion/chemFoam/chemFoam.C b/applications/solvers/combustion/chemFoam/chemFoam.C index aa074eb381..c053395cd0 100644 --- a/applications/solvers/combustion/chemFoam/chemFoam.C +++ b/applications/solvers/combustion/chemFoam/chemFoam.C @@ -73,7 +73,7 @@ int main(int argc, char *argv[]) #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; #include "solveChemistry.H" diff --git a/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C b/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C index c1e4d16529..cd1f853c25 100644 --- a/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C +++ b/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C @@ -74,7 +74,7 @@ int main(int argc, char *argv[]) #include "compressibleCourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Engine time = " << runTime.theta() << runTime.unit() << endl; diff --git a/applications/solvers/combustion/fireFoam/fireFoam.C b/applications/solvers/combustion/fireFoam/fireFoam.C index 199d4103a3..0559abf21e 100644 --- a/applications/solvers/combustion/fireFoam/fireFoam.C +++ b/applications/solvers/combustion/fireFoam/fireFoam.C @@ -79,7 +79,7 @@ int main(int argc, char *argv[]) #include "setMultiRegionDeltaT.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/combustion/reactingFoam/reactingFoam.C b/applications/solvers/combustion/reactingFoam/reactingFoam.C index 2a15a666e6..0092fe97a5 100644 --- a/applications/solvers/combustion/reactingFoam/reactingFoam.C +++ b/applications/solvers/combustion/reactingFoam/reactingFoam.C @@ -85,7 +85,7 @@ int main(int argc, char *argv[]) #include "setDeltaT.H" } - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C index f46cbc1b57..cca3dd36dd 100644 --- a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C +++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C @@ -85,7 +85,7 @@ int main(int argc, char *argv[]) #include "setDeltaT.H" } - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C index 37adbcc4c0..bc47c57f85 100644 --- a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C +++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C @@ -87,7 +87,7 @@ int main(int argc, char *argv[]) #include "setDeltaT.H" } - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C index 35469637d1..f30c778488 100644 --- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C +++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C @@ -76,7 +76,7 @@ int main(int argc, char *argv[]) #include "readTimeControls.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C index 17dc6ab8e3..89066b01c9 100644 --- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C +++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C @@ -160,7 +160,7 @@ int main(int argc, char *argv[]) #include "setDeltaT.H" } - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/compressible/rhoPimpleAdiabaticFoam/rhoPimpleAdiabaticFoam.C b/applications/solvers/compressible/rhoPimpleAdiabaticFoam/rhoPimpleAdiabaticFoam.C index 4fcdfdbc51..1a21d32d22 100644 --- a/applications/solvers/compressible/rhoPimpleAdiabaticFoam/rhoPimpleAdiabaticFoam.C +++ b/applications/solvers/compressible/rhoPimpleAdiabaticFoam/rhoPimpleAdiabaticFoam.C @@ -81,7 +81,7 @@ int main(int argc, char *argv[]) #include "compressibleCourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/compressible/rhoPimpleFoam/overRhoPimpleDyMFoam/overRhoPimpleDyMFoam.C b/applications/solvers/compressible/rhoPimpleFoam/overRhoPimpleDyMFoam/overRhoPimpleDyMFoam.C index 0bbe9ca7de..14120c924d 100644 --- a/applications/solvers/compressible/rhoPimpleFoam/overRhoPimpleDyMFoam/overRhoPimpleDyMFoam.C +++ b/applications/solvers/compressible/rhoPimpleFoam/overRhoPimpleDyMFoam/overRhoPimpleDyMFoam.C @@ -101,7 +101,7 @@ int main(int argc, char *argv[]) #include "setDeltaT.H" } - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C index 4be24dda47..8ce729365b 100644 --- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C +++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C @@ -106,7 +106,7 @@ int main(int argc, char *argv[]) #include "setDeltaT.H" } - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C index 013dd4c3bb..748a455158 100644 --- a/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C +++ b/applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C @@ -81,7 +81,7 @@ int main(int argc, char *argv[]) #include "compressibleCourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/electromagnetics/magneticFoam/magneticFoam.C b/applications/solvers/electromagnetics/magneticFoam/magneticFoam.C index 33af0292ae..5a7b067da5 100644 --- a/applications/solvers/electromagnetics/magneticFoam/magneticFoam.C +++ b/applications/solvers/electromagnetics/magneticFoam/magneticFoam.C @@ -78,7 +78,7 @@ int main(int argc, char *argv[]) Info<< "Calculating the magnetic field potential" << endl; - runTime++; + ++runTime; while (simple.correctNonOrthogonal()) { diff --git a/applications/solvers/finiteArea/liquidFilmFoam/liquidFilmFoam.C b/applications/solvers/finiteArea/liquidFilmFoam/liquidFilmFoam.C index 31d049d2cb..2f57e0b7a1 100644 --- a/applications/solvers/finiteArea/liquidFilmFoam/liquidFilmFoam.C +++ b/applications/solvers/finiteArea/liquidFilmFoam/liquidFilmFoam.C @@ -67,7 +67,7 @@ int main(int argc, char *argv[]) #include "capillaryCourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; @@ -138,7 +138,7 @@ int main(int argc, char *argv[]) Us.correctBoundaryConditions(); } - if (runTime.outputTime()) + if (runTime.writeTime()) { vsm.mapToVolume(h, H.boundaryFieldRef()); vsm.mapToVolume(Us, U.boundaryFieldRef()); diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C index eaeb49019c..c4b8df08f1 100644 --- a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C +++ b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C @@ -84,7 +84,7 @@ int main(int argc, char *argv[]) #include "CourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C index a75c39d0f4..39de4d6670 100644 --- a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C +++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C @@ -73,7 +73,7 @@ int main(int argc, char *argv[]) #include "compressibleCourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C index 1bababea09..e1bf669211 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C @@ -79,7 +79,7 @@ int main(int argc, char *argv[]) #include "solidRegionDiffusionNo.H" #include "setMultiRegionDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C b/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C index 59a26dd5f7..ea210163c0 100644 --- a/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C +++ b/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C @@ -82,7 +82,7 @@ int main(int argc, char *argv[]) while (runTime.run()) { - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C index 9508c33934..3fd55b434d 100644 --- a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C +++ b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C @@ -69,7 +69,7 @@ int main(int argc, char *argv[]) #include "CourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/incompressible/pimpleFoam/overPimpleDyMFoam/overPimpleDyMFoam.C b/applications/solvers/incompressible/pimpleFoam/overPimpleDyMFoam/overPimpleDyMFoam.C index 04d8d23bb6..6fb63d031f 100644 --- a/applications/solvers/incompressible/pimpleFoam/overPimpleDyMFoam/overPimpleDyMFoam.C +++ b/applications/solvers/incompressible/pimpleFoam/overPimpleDyMFoam/overPimpleDyMFoam.C @@ -84,7 +84,7 @@ int main(int argc, char *argv[]) #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C index 63898d21c3..e12c04827f 100644 --- a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C +++ b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C @@ -104,7 +104,7 @@ int main(int argc, char *argv[]) #include "CourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/DPMDyMFoam.C b/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/DPMDyMFoam.C index 93a9154464..c1d2472921 100644 --- a/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/DPMDyMFoam.C +++ b/applications/solvers/lagrangian/DPMFoam/DPMDyMFoam/DPMDyMFoam.C @@ -73,7 +73,7 @@ int main(int argc, char *argv[]) #include "CourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/lagrangian/DPMFoam/DPMFoam.C b/applications/solvers/lagrangian/DPMFoam/DPMFoam.C index e0c4a06460..0ca222fa48 100644 --- a/applications/solvers/lagrangian/DPMFoam/DPMFoam.C +++ b/applications/solvers/lagrangian/DPMFoam/DPMFoam.C @@ -75,7 +75,7 @@ int main(int argc, char *argv[]) #include "CourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C b/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C index 72f61c79b6..a6f89528ab 100644 --- a/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C +++ b/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C @@ -89,7 +89,7 @@ int main(int argc, char *argv[]) #include "setDeltaT.H" } - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C index 88f7e81b5f..e8bf311392 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C +++ b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C @@ -90,7 +90,7 @@ int main(int argc, char *argv[]) #include "setMultiRegionDeltaT.H" } - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/lagrangian/sprayFoam/engineFoam/engineFoam.C b/applications/solvers/lagrangian/sprayFoam/engineFoam/engineFoam.C index 1b7076e3a5..d1f28f1f00 100644 --- a/applications/solvers/lagrangian/sprayFoam/engineFoam/engineFoam.C +++ b/applications/solvers/lagrangian/sprayFoam/engineFoam/engineFoam.C @@ -75,7 +75,7 @@ int main(int argc, char *argv[]) #include "compressibleCourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Engine time = " << runTime.theta() << runTime.unit() << endl; diff --git a/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/sprayDyMFoam.C b/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/sprayDyMFoam.C index 46268f82b2..13804c76ca 100644 --- a/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/sprayDyMFoam.C +++ b/applications/solvers/lagrangian/sprayFoam/sprayDyMFoam/sprayDyMFoam.C @@ -83,7 +83,7 @@ int main(int argc, char *argv[]) #include "compressibleCourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/lagrangian/sprayFoam/sprayFoam.C b/applications/solvers/lagrangian/sprayFoam/sprayFoam.C index 9e3201c3d1..3a7ded9055 100644 --- a/applications/solvers/lagrangian/sprayFoam/sprayFoam.C +++ b/applications/solvers/lagrangian/sprayFoam/sprayFoam.C @@ -73,7 +73,7 @@ int main(int argc, char *argv[]) #include "compressibleCourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/multiphase/MPPICInterFoam/MPPICInterFoam.C b/applications/solvers/multiphase/MPPICInterFoam/MPPICInterFoam.C index 97bc279014..d88736572a 100644 --- a/applications/solvers/multiphase/MPPICInterFoam/MPPICInterFoam.C +++ b/applications/solvers/multiphase/MPPICInterFoam/MPPICInterFoam.C @@ -98,7 +98,7 @@ int main(int argc, char *argv[]) #include "setDeltaT.H" } - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C index 68e106b9f4..71012644e7 100644 --- a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C +++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C @@ -74,7 +74,7 @@ int main(int argc, char *argv[]) #include "CourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C b/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C index 99666a3531..5dcea1f0c1 100644 --- a/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C +++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C @@ -69,7 +69,7 @@ int main(int argc, char *argv[]) #include "CourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; // --- Pressure-velocity PIMPLE corrector loop diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/compressibleInterDyMFoam.C b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/compressibleInterDyMFoam.C index 816c495443..26858eea90 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/compressibleInterDyMFoam.C +++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterDyMFoam/compressibleInterDyMFoam.C @@ -94,7 +94,7 @@ int main(int argc, char *argv[]) #include "setDeltaT.H" } - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/compressibleInterFilmFoam.C b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/compressibleInterFilmFoam.C index 6ebb641b9c..1d169e30d4 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/compressibleInterFilmFoam.C +++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/compressibleInterFilmFoam.C @@ -97,7 +97,7 @@ int main(int argc, char *argv[]) #include "setDeltaT.H" } - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C index 6364a92e82..7604768d8d 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C +++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C @@ -97,7 +97,7 @@ int main(int argc, char *argv[]) #include "setDeltaT.H" } - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C index c3d36e4267..fef72cbb7a 100644 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C @@ -75,7 +75,7 @@ int main(int argc, char *argv[]) #include "alphaCourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C b/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C index d2335cba93..6034716845 100644 --- a/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C +++ b/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C @@ -80,7 +80,7 @@ int main(int argc, char *argv[]) #include "CourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/icoReactingMultiphaseInterFoam.C b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/icoReactingMultiphaseInterFoam.C index bef0a8d000..a3de274602 100644 --- a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/icoReactingMultiphaseInterFoam.C +++ b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/icoReactingMultiphaseInterFoam.C @@ -83,7 +83,7 @@ int main(int argc, char *argv[]) #include "alphaCourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/interCondensatingEvaporatingFoam.C b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/interCondensatingEvaporatingFoam.C index b3350d3350..6e28f57f5d 100644 --- a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/interCondensatingEvaporatingFoam.C +++ b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/interCondensatingEvaporatingFoam.C @@ -85,7 +85,7 @@ int main(int argc, char *argv[]) #include "CourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/multiphase/interFoam/interFoam.C b/applications/solvers/multiphase/interFoam/interFoam.C index 23bba65dbb..5b8d2e8b3e 100644 --- a/applications/solvers/multiphase/interFoam/interFoam.C +++ b/applications/solvers/multiphase/interFoam/interFoam.C @@ -92,7 +92,7 @@ int main(int argc, char *argv[]) #include "setDeltaT.H" } - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C b/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C index b0db0a92a8..a065444dde 100644 --- a/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C +++ b/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C @@ -90,7 +90,7 @@ int main(int argc, char *argv[]) #include "setDeltaT.H" } - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/multiphase/interFoam/overInterDyMFoam/correctPhi.H b/applications/solvers/multiphase/interFoam/overInterDyMFoam/correctPhi.H index a7fe042a8b..a6da0b4de1 100644 --- a/applications/solvers/multiphase/interFoam/overInterDyMFoam/correctPhi.H +++ b/applications/solvers/multiphase/interFoam/overInterDyMFoam/correctPhi.H @@ -133,7 +133,7 @@ } } - //if (runTime.outputTime()) + //if (runTime.writeTime()) //{ // volScalarField("contPhiPcorr", fvc::div(phi)).write(); // pcorr.write(); diff --git a/applications/solvers/multiphase/interFoam/overInterDyMFoam/overInterDyMFoam.C b/applications/solvers/multiphase/interFoam/overInterDyMFoam/overInterDyMFoam.C index 4ce1875bee..371e253f56 100644 --- a/applications/solvers/multiphase/interFoam/overInterDyMFoam/overInterDyMFoam.C +++ b/applications/solvers/multiphase/interFoam/overInterDyMFoam/overInterDyMFoam.C @@ -118,7 +118,7 @@ int main(int argc, char *argv[]) #include "setDeltaT.H" } - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/multiphase/interIsoFoam/interIsoFoam.C b/applications/solvers/multiphase/interIsoFoam/interIsoFoam.C index 1593cae755..b7d12f5741 100644 --- a/applications/solvers/multiphase/interIsoFoam/interIsoFoam.C +++ b/applications/solvers/multiphase/interIsoFoam/interIsoFoam.C @@ -93,7 +93,7 @@ int main(int argc, char *argv[]) #include "alphaCourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C index ccd301faac..87e960fd63 100644 --- a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C +++ b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeDyMFoam/interPhaseChangeDyMFoam.C @@ -104,7 +104,7 @@ int main(int argc, char *argv[]) #include "CourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C index d28c5cdca3..2fe1e45038 100644 --- a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C +++ b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C @@ -80,7 +80,7 @@ int main(int argc, char *argv[]) #include "CourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C index d52c2234bc..4d42facea1 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C @@ -86,7 +86,7 @@ int main(int argc, char *argv[]) #include "CourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; // --- Pressure-velocity PIMPLE corrector loop diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C index 3f61b3f82c..478dcccdb1 100644 --- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C +++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C @@ -78,7 +78,7 @@ int main(int argc, char *argv[]) #include "alphaCourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C index b1a920fdae..9c0bb8d4c3 100644 --- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C +++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam/potentialFreeSurfaceDyMFoam.C @@ -91,7 +91,7 @@ int main(int argc, char *argv[]) #include "CourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C index e5e9a1af0b..e7502f67e0 100644 --- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C +++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C @@ -70,7 +70,7 @@ int main(int argc, char *argv[]) #include "CourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C index 1dfdc66ab9..4eeaa5ab1f 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C @@ -101,7 +101,7 @@ int main(int argc, char *argv[]) #include "setDeltaT.H" } - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; // --- Pressure-velocity PIMPLE corrector loop diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C index 244e3ed0cb..c4c49f3a09 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C @@ -135,7 +135,7 @@ int main(int argc, char *argv[]) #include "setDeltaT.H" } - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; // --- Pressure-velocity PIMPLE corrector loop diff --git a/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C b/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C index 70fb04d64a..0df1d48c5f 100644 --- a/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C +++ b/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C @@ -71,7 +71,7 @@ int main(int argc, char *argv[]) #include "alphaCourantNo.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C index 2448406644..9ad83f5275 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C @@ -83,7 +83,7 @@ int main(int argc, char *argv[]) #include "CourantNos.H" #include "setDeltaT.H" - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; // --- Pressure-velocity PIMPLE corrector loop diff --git a/applications/test/GAMGAgglomeration/Test-GAMGAgglomeration.C b/applications/test/GAMGAgglomeration/Test-GAMGAgglomeration.C index 0b867156c4..423709d6cd 100644 --- a/applications/test/GAMGAgglomeration/Test-GAMGAgglomeration.C +++ b/applications/test/GAMGAgglomeration/Test-GAMGAgglomeration.C @@ -70,7 +70,7 @@ int main(int argc, char *argv[]) labelList cellToCoarse(identity(mesh.nCells())); labelListList coarseToCell(invertOneToMany(mesh.nCells(), cellToCoarse)); - runTime++; + ++runTime; // Write initial agglomeration { @@ -103,7 +103,7 @@ int main(int argc, char *argv[]) for (label level = 0; level < agglom.size(); level++) { - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/test/parallelOverset/laplacianDyMFoam.C b/applications/test/parallelOverset/laplacianDyMFoam.C index 88b20fa338..075930ef83 100644 --- a/applications/test/parallelOverset/laplacianDyMFoam.C +++ b/applications/test/parallelOverset/laplacianDyMFoam.C @@ -73,7 +73,7 @@ int main(int argc, char *argv[]) Info<< "\nCorrecting boundary conditions on " << T.name() << nl << endl; - runTime++; + ++runTime; Info<< "Time = " << runTime.timeName() << nl << endl; diff --git a/applications/test/parallelOverset/write.H b/applications/test/parallelOverset/write.H index 47aa182c0a..6b14ba4995 100644 --- a/applications/test/parallelOverset/write.H +++ b/applications/test/parallelOverset/write.H @@ -1,4 +1,4 @@ - if (runTime.outputTime()) + if (runTime.writeTime()) { volVectorField gradT(fvc::grad(T)); diff --git a/applications/test/passiveParticle/Test-passiveParticle.C b/applications/test/passiveParticle/Test-passiveParticle.C index 23680dc5dc..947bd72685 100644 --- a/applications/test/passiveParticle/Test-passiveParticle.C +++ b/applications/test/passiveParticle/Test-passiveParticle.C @@ -67,7 +67,7 @@ int main(int argc, char *argv[]) runTime.printExecutionTime(Info); - runTime++; + ++runTime; Pout<< "Writing particles to time " << runTime.timeName() << endl; particles.write(); } diff --git a/applications/test/timeSelector/Make/files b/applications/test/timeSelector/Make/files new file mode 100644 index 0000000000..e20abc0252 --- /dev/null +++ b/applications/test/timeSelector/Make/files @@ -0,0 +1,3 @@ +Test-timeSelector.C + +EXE = $(FOAM_USER_APPBIN)/Test-timeSelector diff --git a/applications/test/timeSelector/Make/options b/applications/test/timeSelector/Make/options new file mode 100644 index 0000000000..1f502ad153 --- /dev/null +++ b/applications/test/timeSelector/Make/options @@ -0,0 +1 @@ +/* EXE_INC = */ diff --git a/src/OpenFOAM/db/Time/findTimes.C b/applications/test/timeSelector/Test-timeSelector.C similarity index 55% rename from src/OpenFOAM/db/Time/findTimes.C rename to applications/test/timeSelector/Test-timeSelector.C index 52dcf50dcc..dd025fa952 100644 --- a/src/OpenFOAM/db/Time/findTimes.C +++ b/applications/test/timeSelector/Test-timeSelector.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2018 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -22,26 +22,65 @@ License along with OpenFOAM. If not, see . Description - Searches the current case directory for valid times - and sets the time list to these. - This is done if a times File does not exist. - + Test TimePaths and timeSelectop \*---------------------------------------------------------------------------*/ -#include "Time.H" -#include "OSspecific.H" -#include "StringStream.H" +#include "argList.H" +#include "IOstreams.H" +#include "TimePaths.H" +#include "timeSelector.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +using namespace Foam; -Foam::instantList Foam::Time::findTimes -( - const fileName& directory, - const word& constantName -) +bool print(const instantList& instants) { - return fileHandler().findTimes(directory, constantName); + if (instants.empty()) + { + Info<<" none" << nl << nl; + return false; + } + + Info <<"(" << nl; + + for (const instant& t : instants) + { + Info<<" " << t << nl; + } + + Info<<")" << nl << nl; + + return true; } +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// Main program: + +int main(int argc, char *argv[]) +{ + argList::addNote("Test timeSelector"); + + timeSelector::addOptions(true, true); + argList::noLibs(); + argList::noFunctionObjects(); + + #include "setRootCase.H" + + autoPtr timePaths; + + instantList times(TimePaths(args).times()); + + Info<<"Available times" << nl; + + if (print(times)) + { + times = timeSelector::select(times, args); + + Info<< "Selected times" << nl; + print(times); + } + + return 0; +} + // ************************************************************************* // diff --git a/applications/test/wallDist/Test-wallDist.C b/applications/test/wallDist/Test-wallDist.C index 831c312005..01cadb89ce 100644 --- a/applications/test/wallDist/Test-wallDist.C +++ b/applications/test/wallDist/Test-wallDist.C @@ -57,7 +57,7 @@ int main(int argc, char *argv[]) const volScalarField& y = wallDist::New(mesh).y(); y.write(); - runTime++; + ++runTime; Info<< "Time now = " << runTime.timeName() << endl; diff --git a/applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C b/applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C index 5c42c08107..549f6e58b0 100644 --- a/applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C +++ b/applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C @@ -1021,7 +1021,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } Info<< "Writing mesh without blockedCells to time " << runTime.value() @@ -1157,7 +1157,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } // Change the mesh. Change points directly (no inflation). diff --git a/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C b/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C index 05e77ddc3b..ea34ec2426 100644 --- a/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C +++ b/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C @@ -240,7 +240,7 @@ int main(int argc, char *argv[]) // Write resulting mesh if (!overwrite) { - runTime++; + ++runTime; } else { diff --git a/applications/utilities/mesh/advanced/combinePatchFaces/combinePatchFaces.C b/applications/utilities/mesh/advanced/combinePatchFaces/combinePatchFaces.C index 20db80ffa0..3ccc8fd094 100644 --- a/applications/utilities/mesh/advanced/combinePatchFaces/combinePatchFaces.C +++ b/applications/utilities/mesh/advanced/combinePatchFaces/combinePatchFaces.C @@ -409,7 +409,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } diff --git a/applications/utilities/mesh/advanced/modifyMesh/modifyMesh.C b/applications/utilities/mesh/advanced/modifyMesh/modifyMesh.C index e247183242..29e42ea2fd 100644 --- a/applications/utilities/mesh/advanced/modifyMesh/modifyMesh.C +++ b/applications/utilities/mesh/advanced/modifyMesh/modifyMesh.C @@ -554,7 +554,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } else { @@ -630,7 +630,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } else { @@ -675,7 +675,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } else { diff --git a/applications/utilities/mesh/advanced/refineHexMesh/refineHexMesh.C b/applications/utilities/mesh/advanced/refineHexMesh/refineHexMesh.C index 6901fcd8da..ff9f3be692 100644 --- a/applications/utilities/mesh/advanced/refineHexMesh/refineHexMesh.C +++ b/applications/utilities/mesh/advanced/refineHexMesh/refineHexMesh.C @@ -167,7 +167,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } // Create mesh, return map from old to new mesh. diff --git a/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C b/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C index 256b84ee10..44ac8c0e26 100644 --- a/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C +++ b/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C @@ -220,7 +220,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } autoPtr morphMap = meshMod.changeMesh(mesh, false); diff --git a/applications/utilities/mesh/advanced/removeFaces/removeFaces.C b/applications/utilities/mesh/advanced/removeFaces/removeFaces.C index a590b8bc35..68ed25c921 100644 --- a/applications/utilities/mesh/advanced/removeFaces/removeFaces.C +++ b/applications/utilities/mesh/advanced/removeFaces/removeFaces.C @@ -170,7 +170,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } else { diff --git a/applications/utilities/mesh/advanced/splitCells/splitCells.C b/applications/utilities/mesh/advanced/splitCells/splitCells.C index 8328bd429b..ee1d02e57d 100644 --- a/applications/utilities/mesh/advanced/splitCells/splitCells.C +++ b/applications/utilities/mesh/advanced/splitCells/splitCells.C @@ -682,7 +682,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } autoPtr morphMap = meshMod.changeMesh(mesh, false); diff --git a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C index 1bf2ee3138..87cdf6b3e8 100644 --- a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C +++ b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C @@ -1647,7 +1647,7 @@ int main(int argc, char *argv[]) word meshInstance; if (!overwrite) { - runTime++; + ++runTime; meshInstance = runTime.timeName(); } else diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/foamyHexMesh.C b/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/foamyHexMesh.C index d8a757c8eb..e9c4f6c8ea 100644 --- a/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/foamyHexMesh.C +++ b/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/foamyHexMesh.C @@ -128,7 +128,7 @@ int main(int argc, char *argv[]) { mesh.initialiseForConformation(); - runTime++; + ++runTime; mesh.writeMesh(runTime.timeName()); } @@ -138,7 +138,7 @@ int main(int argc, char *argv[]) while (runTime.run()) { - runTime++; + ++runTime; Info<< nl << "Time = " << runTime.timeName() << endl; diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/foamyHexMeshBackgroundMesh.C b/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/foamyHexMeshBackgroundMesh.C index f916acb3a5..c94312d592 100644 --- a/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/foamyHexMeshBackgroundMesh.C +++ b/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/foamyHexMeshBackgroundMesh.C @@ -571,7 +571,7 @@ int main(int argc, char *argv[]) if (writeMesh) { - runTime++; + ++runTime; Info<< "Writing mesh to " << runTime.timeName() << endl; backgroundMesh.mesh().write(); } diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/foamyQuadMesh.C b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/foamyQuadMesh.C index 367e554b3b..b2218d48d8 100644 --- a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/foamyQuadMesh.C +++ b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/foamyQuadMesh.C @@ -206,7 +206,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } else { diff --git a/applications/utilities/mesh/manipulation/attachMesh/attachMesh.C b/applications/utilities/mesh/manipulation/attachMesh/attachMesh.C index 4413be2783..df8e5669c4 100644 --- a/applications/utilities/mesh/manipulation/attachMesh/attachMesh.C +++ b/applications/utilities/mesh/manipulation/attachMesh/attachMesh.C @@ -56,7 +56,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } Info<< "Time = " << runTime.timeName() << nl diff --git a/applications/utilities/mesh/manipulation/autoPatch/autoPatch.C b/applications/utilities/mesh/manipulation/autoPatch/autoPatch.C index 3749162149..af3f40c563 100644 --- a/applications/utilities/mesh/manipulation/autoPatch/autoPatch.C +++ b/applications/utilities/mesh/manipulation/autoPatch/autoPatch.C @@ -222,7 +222,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } diff --git a/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C b/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C index 52195b3c6f..0b7de14dd5 100644 --- a/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C +++ b/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C @@ -832,7 +832,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } // Change the mesh. Change points directly (no inflation). diff --git a/applications/utilities/mesh/manipulation/createPatch/createPatch.C b/applications/utilities/mesh/manipulation/createPatch/createPatch.C index 8055fdafb7..27cedb267f 100644 --- a/applications/utilities/mesh/manipulation/createPatch/createPatch.C +++ b/applications/utilities/mesh/manipulation/createPatch/createPatch.C @@ -895,7 +895,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } else { diff --git a/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/mergeOrSplitBaffles.C b/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/mergeOrSplitBaffles.C index 7e2b7fe3a2..d509c1f602 100644 --- a/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/mergeOrSplitBaffles.C +++ b/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/mergeOrSplitBaffles.C @@ -443,7 +443,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } // Change the mesh. No inflation. @@ -513,7 +513,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } // Change the mesh. No inflation. diff --git a/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMesh.C b/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMesh.C index 532113e6a0..1262ac3fda 100644 --- a/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMesh.C +++ b/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMesh.C @@ -76,7 +76,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; mesh.setInstance(runTime.timeName()); } diff --git a/applications/utilities/mesh/manipulation/polyDualMesh/polyDualMeshApp.C b/applications/utilities/mesh/manipulation/polyDualMesh/polyDualMeshApp.C index 1a1b0b6d3f..1ce829e03b 100644 --- a/applications/utilities/mesh/manipulation/polyDualMesh/polyDualMeshApp.C +++ b/applications/utilities/mesh/manipulation/polyDualMesh/polyDualMeshApp.C @@ -541,7 +541,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } else { diff --git a/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C b/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C index f55d773b9b..6d56086b34 100644 --- a/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C +++ b/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C @@ -322,7 +322,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } diff --git a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C index 927704a5ed..7301f82766 100644 --- a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C +++ b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C @@ -1050,7 +1050,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } diff --git a/applications/utilities/mesh/manipulation/splitMesh/splitMesh.C b/applications/utilities/mesh/manipulation/splitMesh/splitMesh.C index bd55fcf267..d36630f75e 100644 --- a/applications/utilities/mesh/manipulation/splitMesh/splitMesh.C +++ b/applications/utilities/mesh/manipulation/splitMesh/splitMesh.C @@ -267,7 +267,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } splitter.attach(); diff --git a/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C b/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C index fb987cc1a0..7516435ab1 100644 --- a/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C +++ b/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C @@ -1944,7 +1944,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; mesh.setInstance(runTime.timeName()); } else @@ -1992,7 +1992,7 @@ int main(int argc, char *argv[]) if (!overwrite) { - runTime++; + ++runTime; } diff --git a/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C b/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C index 09cdc1e212..75d49263ef 100644 --- a/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C +++ b/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C @@ -603,7 +603,7 @@ int main(int argc, char *argv[]) // Advance time for intermediate results or only on final if (!overwrite && (intermediate || actioni == nActions)) { - runTime++; + ++runTime; } // Execute all polyMeshModifiers diff --git a/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C b/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C index b655aceab7..565f048c5b 100644 --- a/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C +++ b/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C @@ -591,7 +591,7 @@ int main(int argc, char *argv[]) } else { - runTime++; + ++runTime; subsetter.subMesh().setInstance(runTime.timeName()); } diff --git a/applications/utilities/miscellaneous/foamListTimes/foamListTimes.C b/applications/utilities/miscellaneous/foamListTimes/foamListTimes.C index aff20e8df5..513ae9d41a 100644 --- a/applications/utilities/miscellaneous/foamListTimes/foamListTimes.C +++ b/applications/utilities/miscellaneous/foamListTimes/foamListTimes.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd. + \\/ M anipulation | Copyright (C) 2016-2018 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -29,25 +29,28 @@ Group Description List times using timeSelector. - To simplify parsing of the output, the normal banner information - is suppressed. + The normal banner information is suppressed. Usage \b foamListTimes [OPTION] Options: + - \par -processor + List times from processor0/ directory + - \par -rm Remove selected time directories - - \par -processor - List times from processor0/ directory + - \par -verbose + Report progress during removal \*---------------------------------------------------------------------------*/ #include "argList.H" +#include "autoPtr.H" #include "profiling.H" #include "timeSelector.H" -#include "Time.H" +#include "TimePaths.H" using namespace Foam; @@ -72,15 +75,24 @@ int main(int argc, char *argv[]) "rm", "remove selected time directories" ); + argList::addBoolOption + ( + "verbose", + "report progress of -rm option" + ); profiling::disable(); // Disable profiling (and its output) #include "setRootCase.H" + const bool removeFiles(args.found("rm")); + const bool verbose(args.found("verbose")); + + // Get times list from the master processor and subset based on // command-line options label nProcs = 0; - instantList timeDirs; + autoPtr timePaths; if (args.found("processor")) { @@ -94,47 +106,48 @@ int main(int argc, char *argv[]) << exit(FatalError); } - timeDirs = timeSelector::select + timePaths = autoPtr::New ( - Time - ( - Time::controlDictName, - args.rootPath(), - args.caseName()/"processor0" - ).times(), - args + args.rootPath(), + args.caseName()/"processor0" ); } else { - timeDirs = timeSelector::select + timePaths = autoPtr::New ( - Time - ( - Time::controlDictName, - args.rootPath(), - args.caseName() - ).times(), - args + args.rootPath(), + args.caseName() ); } - if (args.found("rm")) + const instantList timeDirs(timeSelector::select(timePaths->times(), args)); + + const label nTimes = timeDirs.size(); + + if (removeFiles) { if (nProcs) { - // Serr<< "Remove " << timeDirs.size() - // << " processor time directories" << nl; + if (verbose) + { + Info<< "Removing " << nTimes + << " processor time directories" << endl; + } forAllReverse(timeDirs, timei) { - fileName path - ( - args.path() - / "processors" - / timeDirs[timei].name() - ); + const word& timeName = timeDirs[timei].name(); + + if (verbose) + { + Info<< " rm " << timeName + << " [" << (nTimes - timei) << '/' << nTimes << ']' + << endl; + } + + fileName path(args.path()/"processors"/timeName); rmDir(path, true); @@ -143,8 +156,8 @@ int main(int argc, char *argv[]) path = ( args.path() - / (word("processor") + name(proci)) - / timeDirs[timei].name() + / ("processor" + Foam::name(proci)) + / timeName ); rmDir(path, true); @@ -153,25 +166,36 @@ int main(int argc, char *argv[]) } else { - // Serr<< "Remove " << timeDirs.size() - // << " time directories" << nl; + if (verbose) + { + Info<< "Removing " << nTimes + << " time directories" << endl; + } forAllReverse(timeDirs, timei) { - rmDir(args.path()/timeDirs[timei].name(), true); + const word& timeName = timeDirs[timei].name(); + + if (verbose) + { + Info<< " rm " << timeName + << " [" << (nTimes - timei) << '/' << nTimes << ']' + << endl; + } + + rmDir(args.path()/timeName, true); } } } else { - forAll(timeDirs, timei) + for (const instant& t : timeDirs) { - Info<< timeDirs[timei].name() << nl; + Info<< t.name() << nl; } Info<< flush; } - return 0; } diff --git a/applications/utilities/miscellaneous/foamRestoreFields/foamRestoreFields.C b/applications/utilities/miscellaneous/foamRestoreFields/foamRestoreFields.C index 9a7b3927c2..2c2f27ac98 100644 --- a/applications/utilities/miscellaneous/foamRestoreFields/foamRestoreFields.C +++ b/applications/utilities/miscellaneous/foamRestoreFields/foamRestoreFields.C @@ -56,10 +56,11 @@ Usage \*---------------------------------------------------------------------------*/ #include "argList.H" +#include "autoPtr.H" #include "profiling.H" #include "timeSelector.H" #include "Enum.H" -#include "Time.H" +#include "TimePaths.H" using namespace Foam; @@ -292,7 +293,7 @@ int main(int argc, char *argv[]) // command-line options label nProcs = 0; - wordList timeDirs; + autoPtr timePaths; if (args.found("processor") && !Pstream::parRun()) { @@ -308,45 +309,33 @@ int main(int argc, char *argv[]) // Obtain time directory names from "processor0/" only - timeDirs = ListOps::create + timePaths = autoPtr::New ( - timeSelector::select - ( - Time - ( - Time::controlDictName, - args.rootPath(), - args.caseName()/"processor0" - ).times(), - args - ), - [](const instant& t){ return t.name(); } + args.rootPath(), + args.caseName()/"processor0" ); } else { - timeDirs = ListOps::create + timePaths = autoPtr::New ( - timeSelector::select - ( - Time(Time::controlDictName, args).times(), - args - ), - [](const instant& t){ return t.name(); } + args.rootPath(), + args.caseName() ); - - Pstream::scatter(timeDirs); } + const instantList timeDirs(timeSelector::select(timePaths->times(), args)); if (timeDirs.empty()) { Info<< "no times selected" << nl; } - for (const word& dirName : timeDirs) + for (const instant& t : timeDirs) { - Info<< "\nTime = " << dirName << nl; + const word& timeName = t.name(); + + Info<< "\nTime = " << timeName << nl; label count = 0; @@ -354,7 +343,7 @@ int main(int argc, char *argv[]) { const wordHashSet files ( - getFiles(args.path()/"processor0", dirName) + getFiles(args.path()/"processor0", timeName) ); for (label proci=0; proci < nProcs; ++proci) @@ -362,7 +351,7 @@ int main(int argc, char *argv[]) count += restoreFields ( method, - args.path()/("processor" + Foam::name(proci))/dirName, + args.path()/("processor" + Foam::name(proci))/timeName, files, targetNames ); @@ -373,14 +362,14 @@ int main(int argc, char *argv[]) wordList files; if (Pstream::master()) { - files = getFiles(args.path(), dirName); + files = getFiles(args.path(), timeName); } Pstream::scatter(files); count += restoreFields ( method, - args.path()/dirName, + args.path()/timeName, wordHashSet(files), targetNames ); diff --git a/applications/utilities/parallelProcessing/redistributePar/redistributePar.C b/applications/utilities/parallelProcessing/redistributePar/redistributePar.C index e463f8d493..530fda227b 100644 --- a/applications/utilities/parallelProcessing/redistributePar/redistributePar.C +++ b/applications/utilities/parallelProcessing/redistributePar/redistributePar.C @@ -1156,7 +1156,7 @@ autoPtr redistributeAndWrite if (!overwrite) { - runTime++; + ++runTime; mesh.setInstance(runTime.timeName()); } else diff --git a/applications/utilities/postProcessing/miscellaneous/engineCompRatio/engineCompRatio.C b/applications/utilities/postProcessing/miscellaneous/engineCompRatio/engineCompRatio.C index f5d2261bc5..707d1eaac2 100644 --- a/applications/utilities/postProcessing/miscellaneous/engineCompRatio/engineCompRatio.C +++ b/applications/utilities/postProcessing/miscellaneous/engineCompRatio/engineCompRatio.C @@ -65,7 +65,7 @@ int main(int argc, char *argv[]) { scalar t0 = runTime.userTimeToTime(ca0 - runTime.theta()); runTime.setDeltaT(t0); - runTime++; + ++runTime; Info<< "CA = " << runTime.theta() << endl; mesh.move(); } @@ -76,7 +76,7 @@ int main(int argc, char *argv[]) { scalar t1 = runTime.userTimeToTime(ca1 - runTime.theta()); runTime.setDeltaT(t1); - runTime++; + ++runTime; Info<< "CA = " << runTime.theta() << endl; mesh.move(); } diff --git a/applications/utilities/surface/surfaceToPatch/surfaceToPatch.C b/applications/utilities/surface/surfaceToPatch/surfaceToPatch.C index 2c8d782c48..2150671ca9 100644 --- a/applications/utilities/surface/surfaceToPatch/surfaceToPatch.C +++ b/applications/utilities/surface/surfaceToPatch/surfaceToPatch.C @@ -324,7 +324,7 @@ int main(int argc, char *argv[]) Info<< endl; - runTime++; + ++runTime; // Write resulting mesh Info<< "Writing modified mesh to time " << runTime.value() << endl; diff --git a/etc/config.sh/completion_cache b/etc/config.sh/completion_cache index 0f1f820490..f7b8ff395b 100644 --- a/etc/config.sh/completion_cache +++ b/etc/config.sh/completion_cache @@ -84,7 +84,7 @@ _of_complete_cache_[foamDataToFluent]="-case -fileHandler -listScalarBCs -listVe _of_complete_cache_[foamDictionary]="-add -case -decomposeParDict -diff -diff-etc -entry -fileHandler -hostRoots -roots -set | -disableFunctionEntries -expand -includes -keywords -noFunctionObjects -parallel -remove -value -doc -doc-source -help -help-full" _of_complete_cache_[foamFormatConvert]="-case -decomposeParDict -fileHandler -hostRoots -listScalarBCs -listVectorBCs -region -roots -time | -constant -enableFunctionEntries -latestTime -listFunctionObjects -listRegisteredSwitches -listSwitches -listUnsetSwitches -newTimes -noConstant -noFunctionObjects -noZero -parallel -doc -doc-source -help -help-full" _of_complete_cache_[foamListRegions]="-case -fileHandler | -listFunctionObjects -listRegisteredSwitches -listSwitches -listUnsetSwitches -doc -doc-source -help -help-full" -_of_complete_cache_[foamListTimes]="-case -fileHandler -time | -constant -latestTime -listFunctionObjects -listRegisteredSwitches -listSwitches -listUnsetSwitches -newTimes -noZero -processor -rm -withZero -doc -doc-source -help -help-full" +_of_complete_cache_[foamListTimes]="-case -fileHandler -time | -constant -latestTime -listFunctionObjects -listRegisteredSwitches -listSwitches -listUnsetSwitches -newTimes -noZero -processor -rm -verbose -withZero -doc -doc-source -help -help-full" _of_complete_cache_[foamMeshToFluent]="-case -fileHandler | -listFunctionObjects -listRegisteredSwitches -listSwitches -listUnsetSwitches -noFunctionObjects -doc -doc-source -help -help-full" _of_complete_cache_[foamRestoreFields]="-case -decomposeParDict -fileHandler -hostRoots -method -roots -time | -constant -dry-run -latestTime -listFunctionObjects -listRegisteredSwitches -listSwitches -listUnsetSwitches -newTimes -noZero -parallel -processor -verbose -withZero -doc -doc-source -help -help-full" _of_complete_cache_[foamToEnsight]="-case -cellZone -decomposeParDict -faceZones -fields -fileHandler -hostRoots -listScalarBCs -listVectorBCs -name -patches -region -roots -time -width | -ascii -constant -latestTime -listFunctionObjects -listRegisteredSwitches -listSwitches -listUnsetSwitches -newTimes -noFunctionObjects -noLagrangian -noPatches -noZero -nodeValues -parallel -doc -doc-source -help -help-full" diff --git a/src/OpenFOAM/Make/files b/src/OpenFOAM/Make/files index 208d2aba1c..11f4bb9bfd 100644 --- a/src/OpenFOAM/Make/files +++ b/src/OpenFOAM/Make/files @@ -286,7 +286,6 @@ $(Time)/TimePaths.C $(Time)/TimeState.C $(Time)/Time.C $(Time)/TimeIO.C -$(Time)/findTimes.C $(Time)/subCycleTime.C $(Time)/subLoopTime.C $(Time)/timeSelector.C diff --git a/src/OpenFOAM/containers/Lists/ListOps/ListOps.H b/src/OpenFOAM/containers/Lists/ListOps/ListOps.H index ed152b5414..cd7ae1cbae 100644 --- a/src/OpenFOAM/containers/Lists/ListOps/ListOps.H +++ b/src/OpenFOAM/containers/Lists/ListOps/ListOps.H @@ -244,21 +244,42 @@ void inplaceUniqueSort ); -//- Extract elements of List when select is true -// eg, to extract all selected elements: +//- Extract elements of the input List when select is true. +// +// \param select the bool-list selector, for which the operator[] +// returns true or false. A labelHashSet can also be used since +// it satisfies these requirements +// \param input the list input values. Cannot be a FixedList since +// it doesn't resize. +// \param invert set as true to invert the selection logic +// +// Eg, to extract all selected elements: +// \code // subset(selectedElems, list); -// Note a labelHashSet can also be used as the bool-list. -// Do not use FixedList for the input list, since it doesn't resize. +// \endcode template -ListType subset(const BoolListType& select, const ListType& input); +ListType subset +( + const BoolListType& select, + const ListType& input, + const bool invert=false +); -//- Inplace extract elements of List when select is true -// eg, to extract all selected elements: -// inplaceSubset(selectedElems, list); -// Note a labelHashSet can also be used as the bool-list. -// Do not use FixedList for the input list, since it doesn't resize. +//- Inplace extract elements of the input List when select is true. +// +// \param select the bool-list selector, for which the operator[] +// returns true or false. A labelHashSet can also be used since +// it satisfies these requirements +// \param input the list input values. Cannot be a FixedList since +// it doesn't resize. +// \param invert set as true to invert the selection logic template -void inplaceSubset(const BoolListType& select, ListType& input); +void inplaceSubset +( + const BoolListType& select, + ListType& input, + const bool invert=false +); //- Copy a subset of the input list when predicate is true. diff --git a/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C b/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C index f4055b6c29..5d95a6a747 100644 --- a/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C +++ b/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C @@ -474,7 +474,8 @@ template ListType Foam::subset ( const BoolListType& select, - const ListType& input + const ListType& input, + const bool invert ) { const label len = input.size(); @@ -487,7 +488,7 @@ ListType Foam::subset label count = 0; for (label i=0; i < len; ++i) { - if (select[i]) + if (select[i] ? !invert : invert) { output[count] = input[i]; ++count; @@ -503,7 +504,8 @@ template void Foam::inplaceSubset ( const BoolListType& select, - ListType& input + ListType& input, + const bool invert ) { const label len = input.size(); @@ -513,7 +515,7 @@ void Foam::inplaceSubset label count = 0; for (label i=0; i < len; ++i) { - if (select[i]) + if (select[i] ? !invert : invert) { if (count != i) { diff --git a/src/OpenFOAM/db/Time/Time.C b/src/OpenFOAM/db/Time/Time.C index e0a6cae7c5..9057cefbdd 100644 --- a/src/OpenFOAM/db/Time/Time.C +++ b/src/OpenFOAM/db/Time/Time.C @@ -156,23 +156,22 @@ void Foam::Time::setControls() // Search directory for valid time directories instantList timeDirs = findTimes(path(), constant()); + const label nTimes = timeDirs.size(); + if (startFrom == "firstTime") { - if (timeDirs.size()) + if (nTimes > 1 && timeDirs.first().name() == constant()) { - if (timeDirs[0].name() == constant() && timeDirs.size() >= 2) - { - startTime_ = timeDirs[1].value(); - } - else - { - startTime_ = timeDirs[0].value(); - } + startTime_ = timeDirs[1].value(); + } + else if (nTimes) + { + startTime_ = timeDirs.first().value(); } } else if (startFrom == "latestTime") { - if (timeDirs.size()) + if (nTimes) { startTime_ = timeDirs.last().value(); } @@ -204,7 +203,7 @@ void Foam::Time::setControls() ( precision_ = maxPrecision_; precision_ > oldPrecision; - precision_-- + --precision_ ) { // Update the time formatting @@ -407,12 +406,13 @@ void Foam::Time::setMonitoring(const bool forceProfiling) Foam::Time::Time ( - const word& controlDictName, + const word& ctrlDictName, const fileName& rootPath, const fileName& caseName, const word& systemName, const word& constantName, - const bool enableFunctionObjects + const bool enableFunctionObjects, + const bool enableLibs ) : TimePaths @@ -432,7 +432,7 @@ Foam::Time::Time ( IOobject ( - controlDictName, + ctrlDictName, system(), *this, IOobject::MUST_READ_IF_MODIFIED, @@ -456,10 +456,17 @@ Foam::Time::Time writeStreamOption_(IOstream::ASCII), graphFormat_("raw"), runTimeModifiable_(false), - - functionObjects_(*this, enableFunctionObjects) + functionObjects_(*this, false) { - libs_.open(controlDict_, "libs"); + if (enableFunctionObjects) + { + functionObjects_.on(); + } + + if (enableLibs) + { + libs_.open(controlDict_, "libs"); + } // Explicitly set read flags on objectRegistry so anything constructed // from it reads as well (e.g. fvSolution). @@ -472,22 +479,13 @@ Foam::Time::Time Foam::Time::Time ( - const word& controlDictName, + const word& ctrlDictName, const argList& args, const word& systemName, const word& constantName ) : - TimePaths - ( - args.parRunControl().parRun(), - args.rootPath(), - args.distributed(), - args.globalCaseName(), - args.caseName(), - systemName, - constantName - ), + TimePaths(args, systemName, constantName), objectRegistry(*this), @@ -498,7 +496,7 @@ Foam::Time::Time ( IOobject ( - controlDictName, + ctrlDictName, system(), *this, IOobject::MUST_READ_IF_MODIFIED, @@ -522,18 +520,38 @@ Foam::Time::Time writeStreamOption_(IOstream::ASCII), graphFormat_("raw"), runTimeModifiable_(false), - - functionObjects_ + functionObjects_(*this, false) +{ + // Enable/disable functions + // + // '-withFunctionObjects' exists and used = enable + // '-noFunctionObjects' exists and used = disable + // default: no functions if there is no way to enable/disable them + if ( - *this, argList::validOptions.found("withFunctionObjects") ? args.found("withFunctionObjects") : argList::validOptions.found("noFunctionObjects") ? !args.found("noFunctionObjects") : false ) -{ - libs_.open(controlDict_, "libs"); + { + functionObjects_.on(); + } + + // Allow/disallow libs + // + // '-no-libs' exists and used = disable + // default: enable + if + ( + argList::validOptions.found("no-libs") + ? !args.found("no-libs") + : true + ) + { + libs_.open(controlDict_, "libs"); + } // Explicitly set read flags on objectRegistry so anything constructed // from it reads as well (e.g. fvSolution). @@ -553,7 +571,8 @@ Foam::Time::Time const fileName& caseName, const word& systemName, const word& constantName, - const bool enableFunctionObjects + const bool enableFunctionObjects, + const bool enableLibs ) : TimePaths @@ -599,9 +618,18 @@ Foam::Time::Time graphFormat_("raw"), runTimeModifiable_(false), - functionObjects_(*this, enableFunctionObjects) + functionObjects_(*this, false) { - libs_.open(controlDict_, "libs"); + if (enableFunctionObjects) + { + functionObjects_.on(); + } + + if (enableLibs) + { + libs_.open(controlDict_, "libs"); + } + // Explicitly set read flags on objectRegistry so anything constructed // from it reads as well (e.g. fvSolution). @@ -621,7 +649,8 @@ Foam::Time::Time const fileName& caseName, const word& systemName, const word& constantName, - const bool enableFunctionObjects + const bool enableFunctionObjects, + const bool enableLibs ) : TimePaths @@ -664,9 +693,18 @@ Foam::Time::Time graphFormat_("raw"), runTimeModifiable_(false), - functionObjects_(*this, enableFunctionObjects) + functionObjects_(*this, false) { - libs_.open(controlDict_, "libs"); + if (enableFunctionObjects) + { + functionObjects_.on(); + } + + if (enableLibs) + { + libs_.open(controlDict_, "libs"); + } + setMonitoring(); // for profiling etc } @@ -708,12 +746,6 @@ Foam::word Foam::Time::timeName() const } -Foam::instantList Foam::Time::times() const -{ - return findTimes(path(), constant()); -} - - Foam::word Foam::Time::findInstance ( const fileName& dir, @@ -779,68 +811,6 @@ Foam::word Foam::Time::findInstancePath(const instant& t) const } -Foam::instant Foam::Time::findClosestTime(const scalar t) const -{ - instantList timeDirs = findTimes(path(), constant()); - - // There is only one time (likely "constant") so return it - if (timeDirs.size() == 1) - { - return timeDirs[0]; - } - - if (t < timeDirs[1].value()) - { - return timeDirs[1]; - } - else if (t > timeDirs.last().value()) - { - return timeDirs.last(); - } - - label nearestIndex = -1; - scalar deltaT = GREAT; - - for (label timei=1; timei < timeDirs.size(); ++timei) - { - scalar diff = mag(timeDirs[timei].value() - t); - if (diff < deltaT) - { - deltaT = diff; - nearestIndex = timei; - } - } - - return timeDirs[nearestIndex]; -} - - -Foam::label Foam::Time::findClosestTimeIndex -( - const instantList& timeDirs, - const scalar t, - const word& constantName -) -{ - label nearestIndex = -1; - scalar deltaT = GREAT; - - forAll(timeDirs, timei) - { - if (timeDirs[timei].name() == constantName) continue; - - scalar diff = mag(timeDirs[timei].value() - t); - if (diff < deltaT) - { - deltaT = diff; - nearestIndex = timei; - } - } - - return nearestIndex; -} - - Foam::label Foam::Time::startTimeIndex() const { return startTimeIndex_; diff --git a/src/OpenFOAM/db/Time/Time.H b/src/OpenFOAM/db/Time/Time.H index 5ca6417140..a7ba7a04ff 100644 --- a/src/OpenFOAM/db/Time/Time.H +++ b/src/OpenFOAM/db/Time/Time.H @@ -143,7 +143,9 @@ protected: // Protected data label startTimeIndex_; + scalar startTime_; + mutable scalar endTime_; mutable stopAtControls stopAt_; @@ -225,7 +227,7 @@ public: //- Construct given name of dictionary to read and argument list Time ( - const word& name, + const word& ctrlDictName, const argList& args, const word& systemName = "system", const word& constantName = "constant" @@ -234,12 +236,13 @@ public: //- Construct given name of dictionary to read, rootPath and casePath Time ( - const word& name, + const word& ctrlDictName, const fileName& rootPath, const fileName& caseName, const word& systemName = "system", const word& constantName = "constant", - const bool enableFunctionObjects = true + const bool enableFunctionObjects = true, + const bool enableLibs = true ); //- Construct given dictionary, rootPath and casePath @@ -250,7 +253,8 @@ public: const fileName& caseName, const word& systemName = "system", const word& constantName = "constant", - const bool enableFunctionObjects = true + const bool enableFunctionObjects = true, + const bool enableLibs = true ); //- Construct given endTime, rootPath and casePath @@ -260,7 +264,8 @@ public: const fileName& caseName, const word& systemName = "system", const word& constantName = "constant", - const bool enableFunctionObjects = true + const bool enableFunctionObjects = true, + const bool enableLibs = true ); @@ -273,16 +278,10 @@ public: // Database functions //- Return root path - const fileName& rootPath() const - { - return TimePaths::rootPath(); - } + using TimePaths::rootPath; //- Return case name - const fileName& caseName() const - { - return TimePaths::caseName(); - } + using TimePaths::caseName; //- Return path fileName path() const @@ -290,6 +289,7 @@ public: return rootPath()/caseName(); } + //- Return read access to the controlDict dictionary const dictionary& controlDict() const { return controlDict_; @@ -343,7 +343,7 @@ public: void readModifiedObjects(); //- Return the location of "dir" containing the file "name". - // (eg, used in reading mesh data) + //- (eg, used in reading mesh data) // If name is null, search for the directory "dir" only. // Does not search beyond stopInstance (if set) or constant. word findInstance @@ -354,11 +354,8 @@ public: const word& stopInstance = word::null ) const; - //- Search the case for valid time directories - instantList times() const; - //- Search the case for the time directory path - // corresponding to the given instance + //- corresponding to the given instance word findInstancePath ( const fileName& directory, @@ -366,20 +363,9 @@ public: ) const; //- Search the case for the time directory path - // corresponding to the given instance + //- corresponding to the given instance word findInstancePath(const instant& t) const; - //- Search the case for the time closest to the given time - instant findClosestTime(const scalar t) const; - - //- Search instantList for the time index closest to the given time - static label findClosestTimeIndex - ( - const instantList& timeDirs, - const scalar t, - const word& constantName = "constant" - ); - //- Write time dictionary to the \/uniform directory virtual bool writeTimeDict() const; @@ -392,8 +378,8 @@ public: const bool valid ) const; - //- Write the objects now (not at end of iteration) and continue - // the run + //- Write the objects immediately (not at end of iteration) + //- and continue the run bool writeNow(); //- Write the objects now (not at end of iteration) and end the run @@ -409,7 +395,7 @@ public: // Access //- Return time name of given scalar time - // formatted with given precision + //- formatted with the given precision static word timeName ( const scalar t, @@ -419,13 +405,6 @@ public: //- Return current time name virtual word timeName() const; - //- Search a given directory for valid time directories - static instantList findTimes - ( - const fileName& directory, - const word& constantName = "constant" - ); - //- Return start time index virtual label startTimeIndex() const; @@ -484,7 +463,7 @@ public: // \code // while (runTime.run()) // { - // runTime++; + // ++runTime; // solve; // runTime.write(); // } diff --git a/src/OpenFOAM/db/Time/TimePaths.C b/src/OpenFOAM/db/Time/TimePaths.C index 05126252c6..894e2fafc5 100644 --- a/src/OpenFOAM/db/Time/TimePaths.C +++ b/src/OpenFOAM/db/Time/TimePaths.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd. + \\/ M anipulation | Copyright (C) 2016-2018 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -24,6 +24,8 @@ License \*---------------------------------------------------------------------------*/ #include "TimePaths.H" +#include "argList.H" +#include "fileOperation.H" #include "IOstreams.H" // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // @@ -36,8 +38,8 @@ bool Foam::TimePaths::detectProcessorCase() } // Look for "processor", but should really check for following digits too - const std::string::size_type sep = globalCaseName_.rfind('/'); - const std::string::size_type pos = globalCaseName_.find + const auto sep = globalCaseName_.rfind('/'); + const auto pos = globalCaseName_.find ( "processor", (sep == string::npos ? 0 : sep) @@ -60,6 +62,28 @@ bool Foam::TimePaths::detectProcessorCase() // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // +Foam::TimePaths::TimePaths +( + const argList& args, + const word& systemName, + const word& constantName +) +: + processorCase_(args.parRunControl().parRun()), + rootPath_(args.rootPath()), + distributed_(args.distributed()), + globalCaseName_(args.globalCaseName()), + case_(args.caseName()), + system_(systemName), + constant_(constantName) +{ + // For convenience: find out from case name whether it is a + // processor directory and set processorCase flag so file searching + // goes up one level. + detectProcessorCase(); +} + + Foam::TimePaths::TimePaths ( const fileName& rootPath, @@ -115,10 +139,8 @@ Foam::fileName Foam::TimePaths::caseSystem() const { return ".."/system(); } - else - { - return system(); - } + + return system(); } @@ -128,12 +150,91 @@ Foam::fileName Foam::TimePaths::caseConstant() const { return ".."/constant(); } - else - { - return constant(); - } + + return constant(); } +Foam::instantList Foam::TimePaths::findTimes +( + const fileName& directory, + const word& constantName +) +{ + return fileHandler().findTimes(directory, constantName); +} + + +Foam::instantList Foam::TimePaths::times() const +{ + return findTimes(path(), constant()); +} + + +Foam::label Foam::TimePaths::findClosestTimeIndex +( + const instantList& timeDirs, + const scalar t, + const word& constantName +) +{ + const label nTimes = timeDirs.size(); + + label nearestIndex = -1; + scalar deltaT = GREAT; + + for (label timei=0; timei < nTimes; ++timei) + { + if (timeDirs[timei].name() == constantName) continue; + + const scalar diff = mag(timeDirs[timei].value() - t); + if (diff < deltaT) + { + deltaT = diff; + nearestIndex = timei; + } + } + + return nearestIndex; +} + + +Foam::instant Foam::TimePaths::findClosestTime(const scalar t) const +{ + instantList timeDirs = findTimes(path(), constant()); + + const label nTimes = timeDirs.size(); + + // There is only one time (likely "constant") so return it + if (nTimes == 1) + { + return timeDirs.first(); + } + + if (t < timeDirs[1].value()) + { + return timeDirs[1]; + } + else if (t > timeDirs.last().value()) + { + return timeDirs.last(); + } + + label nearestIndex = -1; + scalar deltaT = GREAT; + + for (label timei=1; timei < nTimes; ++timei) + { + const scalar diff = mag(timeDirs[timei].value() - t); + if (diff < deltaT) + { + deltaT = diff; + nearestIndex = timei; + } + } + + return timeDirs[nearestIndex]; +} + // ************************************************************************* // diff --git a/src/OpenFOAM/db/Time/TimePaths.H b/src/OpenFOAM/db/Time/TimePaths.H index 32674008b2..38189a4892 100644 --- a/src/OpenFOAM/db/Time/TimePaths.H +++ b/src/OpenFOAM/db/Time/TimePaths.H @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd. + \\/ M anipulation | Copyright (C) 2016-2018 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -25,7 +25,7 @@ Class Foam::TimePaths Description - A class for addressing time paths without using the Time class. + Address the time paths without using the Time class. SourceFiles TimePaths.C @@ -36,12 +36,16 @@ SourceFiles #define TimePaths_H #include "fileName.H" +#include "instantList.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { +// Forward declarations +class argList; + /*---------------------------------------------------------------------------*\ Class TimePaths Declaration \*---------------------------------------------------------------------------*/ @@ -70,13 +74,21 @@ public: // Constructors + //- Construct using characteristics given by the argList + TimePaths + ( + const argList& args, + const word& systemName = "system", + const word& constantName = "constant" + ); + //- Construct given database name, rootPath and casePath TimePaths ( const fileName& rootPath, const fileName& caseName, - const word& systemName, - const word& constantName + const word& systemName = "system", + const word& constantName = "constant" ); @@ -88,87 +100,113 @@ public: const bool distributed, const fileName& globalCaseName, const fileName& caseName, - const word& systemName, - const word& constantName + const word& systemName = "system", + const word& constantName = "constant" ); // Member functions - //- Return true if this is a processor case - bool processorCase() const - { - return processorCase_; - } + //- Return true if this is a processor case + bool processorCase() const + { + return processorCase_; + } - //- Return root path - const fileName& rootPath() const - { - return rootPath_; - } + //- Return root path + const fileName& rootPath() const + { + return rootPath_; + } - //- Return global case name - const fileName& globalCaseName() const - { - return globalCaseName_; - } + //- Return global case name + const fileName& globalCaseName() const + { + return globalCaseName_; + } - //- Return case name - const fileName& caseName() const - { - return case_; - } + //- Return case name + const fileName& caseName() const + { + return case_; + } - //- Return case name - fileName& caseName() - { - return case_; - } + //- Return case name + fileName& caseName() + { + return case_; + } - //- Return system name - const word& system() const - { - return system_; - } + //- Return system name + const word& system() const + { + return system_; + } - //- Return system name for the case - // which for parallel runs returns ../system() - fileName caseSystem() const; + //- Return the system name for the case, which is + //- \c ../system() for parallel runs. + fileName caseSystem() const; - //- Return constant name - const word& constant() const - { - return constant_; - } + //- Return constant name + const word& constant() const + { + return constant_; + } - //- Is case running with parallel distributed directories - // (i.e. not NFS mounted) - bool distributed() const - { - return distributed_; - } + //- Is case running with parallel distributed directories + // (i.e. not NFS mounted) + bool distributed() const + { + return distributed_; + } - //- Return constant name for the case - // which for parallel runs returns ../constant() - fileName caseConstant() const; + //- Return the constant name for the case, which is + //- \c ../constant() for parallel runs. + fileName caseConstant() const; - //- Return path - fileName path() const - { - return rootPath()/caseName(); - } + //- Return path + fileName path() const + { + return rootPath()/caseName(); + } - //- Return system path - fileName systemPath() const - { - return path()/system(); - } + //- Return system path + fileName systemPath() const + { + return path()/system(); + } + + //- Return constant path + fileName constantPath() const + { + return path()/constant(); + } + + + // Searching + + //- Search a given directory for valid time directories + // Forwards to the current fileHandler + static instantList findTimes + ( + const fileName& directory, + const word& constantName = "constant" + ); + + //- Search instantList for the time index closest to the specified time + static label findClosestTimeIndex + ( + const instantList& timeDirs, + const scalar t, + const word& constantName = "constant" + ); + + //- Search the case for valid time directories + instantList times() const; + + //- Search the case for the time closest to the given time + instant findClosestTime(const scalar t) const; - //- Return constant path - fileName constantPath() const - { - return path()/constant(); - } }; diff --git a/src/OpenFOAM/db/Time/TimeState.C b/src/OpenFOAM/db/Time/TimeState.C index d3d61a8b38..7a0f7f5fb1 100644 --- a/src/OpenFOAM/db/Time/TimeState.C +++ b/src/OpenFOAM/db/Time/TimeState.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation - \\/ M anipulation | + \\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -32,21 +32,15 @@ Foam::TimeState::TimeState() : dimensionedScalar(Time::timeName(0), dimTime, 0), timeIndex_(0), - deltaT_(0), - deltaTSave_(0), - deltaT0_(0), - deltaTchanged_(false), writeTimeIndex_(0), + deltaT_(0), + deltaT0_(0), + deltaTSave_(0), + deltaTchanged_(false), writeTime_(false) {} -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * * // - -Foam::TimeState::~TimeState() -{} - - // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // Foam::scalar Foam::TimeState::userTimeToTime(const scalar theta) const diff --git a/src/OpenFOAM/db/Time/TimeState.H b/src/OpenFOAM/db/Time/TimeState.H index fb3a090ba7..e85de2d65d 100644 --- a/src/OpenFOAM/db/Time/TimeState.H +++ b/src/OpenFOAM/db/Time/TimeState.H @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation - \\/ M anipulation | + \\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -50,15 +50,16 @@ class TimeState : public dimensionedScalar { - protected: label timeIndex_; - scalar deltaT_; - scalar deltaTSave_; - scalar deltaT0_; - bool deltaTchanged_; label writeTimeIndex_; + + scalar deltaT_; + scalar deltaT0_; + scalar deltaTSave_; + + bool deltaTchanged_; bool writeTime_; @@ -66,11 +67,12 @@ public: // Constructors + //- Construct a zero time state, using the current time formattin TimeState(); //- Destructor - virtual ~TimeState(); + virtual ~TimeState() = default; // Member functions @@ -108,8 +110,8 @@ public: inline bool writeTime() const; //- Return true if this is a write time. - // Provided for backward-compatibility - inline bool outputTime() const; + // \deprecated in favour of writeTime() - MAY-2016 + inline bool outputTime() const { return this->writeTime(); } }; diff --git a/src/OpenFOAM/db/Time/TimeStateI.H b/src/OpenFOAM/db/Time/TimeStateI.H index 939d983435..bb572c776a 100644 --- a/src/OpenFOAM/db/Time/TimeStateI.H +++ b/src/OpenFOAM/db/Time/TimeStateI.H @@ -68,10 +68,4 @@ inline bool Foam::TimeState::writeTime() const } -inline bool Foam::TimeState::outputTime() const -{ - return writeTime_; -} - - // ************************************************************************* // diff --git a/src/OpenFOAM/db/Time/timeSelector.C b/src/OpenFOAM/db/Time/timeSelector.C index 15e314f1d2..6366a5fc12 100644 --- a/src/OpenFOAM/db/Time/timeSelector.C +++ b/src/OpenFOAM/db/Time/timeSelector.C @@ -52,14 +52,14 @@ bool Foam::timeSelector::selected(const instant& value) const Foam::List Foam::timeSelector::selected(const instantList& times) const { - List lst(times.size(), false); + List selectTimes(times.size(), false); // Check ranges, avoid false positive on constant/ forAll(times, timei) { if (times[timei].name() != "constant" && selected(times[timei])) { - lst[timei] = true; + selectTimes[timei] = true; } } @@ -70,29 +70,26 @@ Foam::List Foam::timeSelector::selected(const instantList& times) const { const scalar target = range.value(); - int nearestIndex = -1; - scalar nearestDiff = Foam::GREAT; + int nearestIndex = + TimePaths::findClosestTimeIndex + ( + times, + target + ); - forAll(times, timei) - { - if (times[timei].name() == "constant") continue; - - scalar diff = fabs(times[timei].value() - target); - if (diff < nearestDiff) - { - nearestDiff = diff; - nearestIndex = timei; - } - } + // Note could also test if the index is too far away. + // Eg, for times (0 10 20 30 40) selecting 100 will currently + // return the closest time (40), but perhaps we should limit that + // to the last deltaT? if (nearestIndex >= 0) { - lst[nearestIndex] = true; + selectTimes[nearestIndex] = true; } } } - return lst; + return selectTimes; } @@ -271,7 +268,7 @@ Foam::instantList Foam::timeSelector::select0 times.append(instant(0, runTime.constant())); } - runTime.setTime(times[0], 0); + runTime.setTime(times.first(), 0); return times; } @@ -296,7 +293,7 @@ Foam::instantList Foam::timeSelector::selectIfPresent } // No timeSelector option specified. Do not change runTime. - return instantList{ instant(runTime.value(), runTime.timeName()) }; + return instantList(one(), instant(runTime.value(), runTime.timeName())); } @@ -309,11 +306,13 @@ Foam::instantList Foam::timeSelector::select { instantList times(timeSelector::select0(runTime, args)); - if (times.size() && args.found("newTimes")) - { - List selectTimes(times.size(), true); + const label nTimes = times.size(); - forAll(times, timei) + if (nTimes && args.found("newTimes")) + { + List selectTimes(nTimes, true); + + for (label timei=0; timei < nTimes; ++timei) { selectTimes[timei] = !fileHandler().exists diff --git a/src/OpenFOAM/db/Time/timeSelector.H b/src/OpenFOAM/db/Time/timeSelector.H index e93d3cd5ee..031fd9b60f 100644 --- a/src/OpenFOAM/db/Time/timeSelector.H +++ b/src/OpenFOAM/db/Time/timeSelector.H @@ -37,7 +37,7 @@ Description #include "createTime.H" instantList timeDirs = timeSelector::select0(runTime, args); ... - forAll(timeDirs, timeI) + forAll(timeDirs, timei) { ... } @@ -79,7 +79,7 @@ SourceFiles namespace Foam { -// Forward declaration of classes +// Forward declarations class argList; class Time; @@ -146,8 +146,8 @@ public: ); //- Return the set of times selected based on the argList options - // also set the runTime to the first instance or the - // \c constant/ directory if no instances are specified or available + //- and also set the runTime to the first instance or the + //- \c constant/ directory if no instances are specified or available static instantList select0 ( Time& runTime, @@ -155,7 +155,7 @@ public: ); //- If any time option provided return the set of times (as select0) - // otherwise return just the current time. + //- otherwise return just the current time. // Also set the runTime to the first instance static instantList selectIfPresent ( @@ -164,8 +164,8 @@ public: ); //- Return the set of times selected based on the argList options - // including support for \b -newTimes in which times are selected - // if the file 'fName' does not exist in the time directory. + //- including support for \b -newTimes in which times are selected + //- if the file 'fName' does not exist in the time directory. // Also set the runTime to the first instance or the // \c constant/ directory if no instances are specified or available static instantList select diff --git a/src/OpenFOAM/global/argList/argList.C b/src/OpenFOAM/global/argList/argList.C index 1fee9a3540..f8fc431126 100644 --- a/src/OpenFOAM/global/argList/argList.C +++ b/src/OpenFOAM/global/argList/argList.C @@ -325,6 +325,16 @@ void Foam::argList::noJobInfo() } +void Foam::argList::noLibs() +{ + addBoolOption + ( + "no-libs", + "disable use of the controlDict libs entry" + ); +} + + void Foam::argList::noParallel() { removeOption("parallel"); diff --git a/src/OpenFOAM/global/argList/argList.H b/src/OpenFOAM/global/argList/argList.H index 1fe2fadb94..484b9230f3 100644 --- a/src/OpenFOAM/global/argList/argList.H +++ b/src/OpenFOAM/global/argList/argList.H @@ -506,6 +506,9 @@ public: //- Suppress JobInfo, overriding controlDict setting static void noJobInfo(); + //- Add the '-no-libs' command line option + static void noLibs(); + //- Remove the parallel options static void noParallel(); diff --git a/src/OpenFOAM/include/checkConstantOption.H b/src/OpenFOAM/include/checkConstantOption.H index f4bc5213de..a9d5006eb5 100644 --- a/src/OpenFOAM/include/checkConstantOption.H +++ b/src/OpenFOAM/include/checkConstantOption.H @@ -7,5 +7,5 @@ if && (Times[startTime].name() == "constant") ) { - startTime++; + ++startTime; } diff --git a/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.C b/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.C index d1d596ecf4..5be2f9e7c3 100644 --- a/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.C +++ b/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.C @@ -315,7 +315,7 @@ diffusionMulticomponent::correct() Rijk.relax(alpha_); - if (this->mesh_.time().outputTime() && debug) + if (debug && this->mesh_.time().writeTime()) { Rijk.write(); ft.write(); diff --git a/src/dynamicMesh/meshCut/meshModifiers/refinementIterator/refinementIterator.C b/src/dynamicMesh/meshCut/meshModifiers/refinementIterator/refinementIterator.C index 0fe62fa03a..c2925932cb 100644 --- a/src/dynamicMesh/meshCut/meshModifiers/refinementIterator/refinementIterator.C +++ b/src/dynamicMesh/meshCut/meshModifiers/refinementIterator/refinementIterator.C @@ -92,7 +92,7 @@ Foam::Map Foam::refinementIterator::setRefinement if (writeMesh_) { // Need different times to write meshes. - runTime++; + ++runTime; } polyTopoChange meshMod(mesh_); diff --git a/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.C index 80fc93877f..911305d020 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.C @@ -1096,7 +1096,7 @@ void Foam::turbulentDFSEMInletFvPatchVectorField::updateCoeffs() writeEddyOBJ(); } - if (debug && db().time().outputTime()) + if (debug && db().time().writeTime()) { writeLumleyCoeffs(); } diff --git a/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSource.C b/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSource.C index 57f307d66d..470070276b 100644 --- a/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSource.C +++ b/src/fvOptions/sources/derived/directionalPressureGradientExplicitSource/directionalPressureGradientExplicitSource.C @@ -134,7 +134,7 @@ void Foam::fv::directionalPressureGradientExplicitSource::writeProps ) const { // Only write on output time - if (mesh_.time().outputTime()) + if (mesh_.time().writeTime()) { IOdictionary propsDict ( diff --git a/src/mesh/snappyHexMesh/meshRefinement/meshRefinementBaffles.C b/src/mesh/snappyHexMesh/meshRefinement/meshRefinementBaffles.C index 03279701c4..39af29276a 100644 --- a/src/mesh/snappyHexMesh/meshRefinement/meshRefinementBaffles.C +++ b/src/mesh/snappyHexMesh/meshRefinement/meshRefinementBaffles.C @@ -2800,7 +2800,7 @@ void Foam::meshRefinement::handleSnapProblems if (debug) { - runTime++; + ++runTime; } // Create baffles with same owner and neighbour for now. @@ -3679,7 +3679,7 @@ void Foam::meshRefinement::baffleAndSplitMesh if (debug) { - runTime++; + ++runTime; } splitMeshRegions @@ -3702,7 +3702,7 @@ void Foam::meshRefinement::baffleAndSplitMesh if (debug&MESH) { - runTime++; + ++runTime; Pout<< "Writing subsetted mesh to time " << timeName() << endl; write @@ -3787,7 +3787,7 @@ void Foam::meshRefinement::mergeFreeStandingBaffles if (debug) { - runTime++; + ++runTime; } splitMeshRegions diff --git a/src/thermophysicalModels/radiation/radiationModels/solarLoad/solarLoad.C b/src/thermophysicalModels/radiation/radiationModels/solarLoad/solarLoad.C index 4dd450145c..5e72e57950 100644 --- a/src/thermophysicalModels/radiation/radiationModels/solarLoad/solarLoad.C +++ b/src/thermophysicalModels/radiation/radiationModels/solarLoad/solarLoad.C @@ -968,7 +968,7 @@ void Foam::radiation::solarLoad::calculate() if (debug) { - if (mesh_.time().outputTime()) + if (mesh_.time().writeTime()) { Ru_.write(); } diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/WatersKing.C b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/WatersKing.C index 4705dfdc05..c396a09bcf 100644 --- a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/WatersKing.C +++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/WatersKing.C @@ -131,7 +131,7 @@ int main(int argc, char *argv[]) } scalar U = UInf*(1.5*(1 - sqr(y)) + sum(A*B)); file<< runTime.timeName() << token::TAB << U << endl; - runTime++; + ++runTime; } Info<< nl;