diff --git a/applications/solvers/basic/laplacianFoam/overLaplacianDyMFoam/write.H b/applications/solvers/basic/laplacianFoam/overLaplacianDyMFoam/write.H index 47aa182c0a986f6ca07a494623e4d59ae792b6d9..6b14ba49955810d81208f587331c05ac991b0f70 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 2511b8da1237bd2caa04145359b416c48dcdcd93..41500249940fff736e7ae64f301d5d9750311c16 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 48a9aaf5c86bc36ec845bc0c170a709c8ad2eca8..ef1d103b98ec091b6e359ca744ee121a2fe43582 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<volScalarField> 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 b6fda29be3406d8c76668b62dd1a04f42c0ece97..2b4dc4f107ca7139d3afe96a26b951758ac31460 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 6ac9443f4c0899ebda14344d167039c288de6a82..4c9c461d5da48bac5907a76f7446386fbf822bb1 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 34c42e7d12f1ec2571bce885f5e02be8f0032da7..069c481eb5f75a4bd26b0a4c1790239ce9a893aa 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 aa074eb3812d8542aba64f326075b32845e01775..c053395cd0d9238325b038c511d7ff9017c6a7f2 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 c1e4d165290c7eb6ede61ab5f0f75e9b6508d311..cd1f853c254bc4f6a5373e3004e6b3de8f04f834 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 199d4103a38f053cb068ab778f926f51e329fa9a..0559abf21eda93a921525b3eddf8bd33a41a80d8 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 2a15a666e604e7ead2ca0ea150241ed28efb766c..0092fe97a5fcfd08cdac69d48666f4c993e9eb3e 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 f46cbc1b576d2c11e698cdb76eaa7bc5298506d7..cca3dd36ddd75e8645d7e419edb7f75837487af5 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 37adbcc4c0cb4de92e849afcf5b458e10ab48b1e..bc47c57f850aae5cce99ab5ec42e468fc147fef9 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 35469637d13410cfe670ef322b7d1b5f3387c16f..f30c7784880b8bac2c6cffacbea77c5dd75843cb 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 17dc6ab8e3415f763313e033cef7e756690ff1d8..89066b01c931807380c9811f7d433813ed02962c 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 4fcdfdbc51072d1b5addde8d4c7fb0e41056ef97..1a21d32d225fdad0ddd008889459a2327fa5d8b8 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 0bbe9ca7de1c94387d1224729969ee3ff68fc276..14120c924da5292e15133850f420508d0918d78f 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 4be24dda47979df1ec378af2af32e7c91eb1543c..8ce729365b31159d28becb203c44aba4a5ca9f28 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 013dd4c3bb4400527a5451c61b2bda2d2b92ab18..748a455158f92a88bbf4c555cabaab70087be2c0 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 33af0292aea49fb215cf2be08efe29b1edbb1a28..5a7b067da53e9a4059b48ad35ebea6aba8994a5c 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 31d049d2cb8b9611d5680a16ff16044051704dd4..2f57e0b7a17d6bbedc086d91dc48bc725bf1fd3f 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 eaeb49019c8b941c3e0273e3609842cbb0ca0d12..c4b8df08f1302c365986124cf63937296cd4d449 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 a75c39d0f4076b59d41886514b5d5d325e5e8c32..39de4d66704bc845eada7287b41ef990a88ec8e3 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 1bababea0949a52047b6664e119b72e9b14fd338..e1bf6692112d871fc0e2ada3e1aebb2bffa164dd 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 59a26dd5f78ec9e181b36c01b86ebaa9b9342303..ea210163c02dd37a25b5d02e9b22e9673de83da0 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 9508c33934b68c61f65015a461bd79b7124f47b3..3fd55b434d1e6e84393ea21b77427eadd013b75f 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 04d8d23bb66f4ff9f9e63e739f0f2b61a8c2095a..6fb63d031f93ad4f226aa4711af88b27aa35b334 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 63898d21c39158788e7bdceccfd7ac8f021a3873..e12c04827ff4bebdf8a9ce0b0416c31e9da91e7d 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 93a9154464502473215a410daf7e14f53df74045..c1d24729214e0a9a006ac894ad4fcecbad5adae9 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 e0c4a06460e4a93208bbbbd231e55caf4395c09b..0ca222fa48c93c06de95bfb024321f2ec957e5e1 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 72f61c79b6054a05c88e3de1e2c0cec1fa42d355..a6f89528ab9aa59a1318c803eced14ce332364d8 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 88f7e81b5ffd61287d0b097ff270ce1ba80e27e3..e8bf3113924930efb8046abf851f633be05694c5 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 1b7076e3a5c308ca2a2ebada4b7333564f211a2c..d1f28f1f00e8a7d6b7cdd7e98aa0b6b3dcc3276a 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 46268f82b2f6ab760cfc9b9cb61260567b5fd42b..13804c76cabec5993c966e7e8c509f81ea410cc0 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 9e3201c3d1409ef13a7bc21a44d7d0a83ee8e9e6..3a7ded9055ef1af7627236d205949e906ac6bcc0 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 97bc27901491bafe7be2b7d9db7305ffa8973203..d88736572a260db7fe2a08c3ad70d5e6da066965 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 68e106b9f4264ce76040bb728e0ac5d3c8d4e799..71012644e72ed0a4d6d18a7cb9b5f67f8c41fac5 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 99666a3531d91149acf8d47366be6e829efdebb6..5dcea1f0c173fc9bc9cd97c181626bccb808a1ab 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 816c49544383eddc7dd26f16def9c18b7948e088..26858eea900035ca0412e4bf30530fcf87a1ee4a 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 6ebb641b9cd1c95171121bccf617d28365ecc3c9..1d169e30d4bf739d34bc6eb45b3291023c1106f3 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 6364a92e8277fcdfa86d3003456a2ccd8c6fccdb..7604768d8d1ae374a16bef573a2f4456e7eb3ecd 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 c3d36e4267d4639cdf65fabcaaf08d1895485632..fef72cbb7af38e948511389dc7a214fd28b7dd13 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 d2335cba937d52e6052d412021642ca3e8a578bf..6034716845992b2d70e85d33e7fd044e2b646292 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 bef0a8d000647663a52fbf9c41d9f8f82422188c..a3de274602b1453a747719f80b8d382ce68d735a 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 b3350d335002eab679d82a036d69fbdf8994f81b..6e28f57f5d68dc54f3013ce340477a67d5342a39 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 23bba65dbb282de2337f7cac684451e1c9be22ea..5b8d2e8b3e54706b2a23db799127037f5d8ff563 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 b0db0a92a89e95c6eaba27967c7abfc5edb08f78..a065444dde15bd436ee2a8509a3e52cc5ec2841e 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 a7fe042a8b43cce233cf8bfc7ab88e4e1843add7..a6da0b4de1f54b1b41085250492ae5c34bda9f31 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 4ce1875beed325212bc3c8e2f953077dd2f10f86..371e253f562b83274a9e67c829ce33fee4798c92 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 1593cae755a79f4fbf2a8b2b5257687d7fbf1a55..b7d12f5741518aa1b46969e9a55a9c561dcab9cb 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 ccd301faacd59b5a229957e22aad3cd72e0cd208..87e960fd6371e97080d812b1a79b5d9dfaad3054 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 d28c5cdca3729416079d93a44962d67613e85bf8..2fe1e45038eea9b871f4d509739398c3e1798aba 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 d52c2234bc87c43fe48ae4fb3ff7a896655881f0..4d42facea1ff9bb94a5e805132d398b9c7c1574d 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 3f61b3f82c475c82c0ed864511a8d0d2ea28a90e..478dcccdb17d442bb7b3aabaee2690e92893e67d 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 b1a920fdae839e00f1c6b914b19a3620d7cfda0f..9c0bb8d4c3cc54060fe76e6e1b12b24c05122c7b 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 e5e9a1af0b07ce7f92b74ee037b6de64cd80259b..e7502f67e068777251e0ee1511360ca5acfcffd2 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 1dfdc66ab97a354e98fd8505271cb049ca0f669e..4eeaa5ab1f26549e0f893370252467f2e25efa0b 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 244e3ed0cba2ff3c3efb7d97ba1a1dda38948a5f..c4c49f3a09c7954c28d38bec961ec29978293d46 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 70fb04d64af76ed223a050ea2b744d434a998bff..0df1d48c5fac45af92e7b240621d0dbdc97cb221 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 244840664495e78e3fc7f17129ca9af5964ca904..9ad83f527587abcea4b29b30daed1e5b00a60e7c 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 0b867156c43d963688b97867571da095d3b39c5d..423709d6cd88abdc56a5b7301ec2146e45689af5 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 88b20fa3382ab62d9bd927d076caee08364b7f40..075930ef83a5158c69383dac7d300ea98a51c2ce 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 47aa182c0a986f6ca07a494623e4d59ae792b6d9..6b14ba49955810d81208f587331c05ac991b0f70 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 23680dc5dcda94da1a5799d8b3aaf19160993a07..947bd726850e3e5d560c5d8bba535c32be84dc7f 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 0000000000000000000000000000000000000000..e20abc02523f2c8ea82946a57639c3e66bd07091 --- /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 0000000000000000000000000000000000000000..1f502ad153cfa3914fc7f4a23ca520c6c8dddd6a --- /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 52dcf50dcc0c145daff82078cbcd4fc0b64a7e9f..dd025fa952c1938737b2fb493c25610a1c665504 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 <http://www.gnu.org/licenses/>. 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> 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 831c3120051024fc87e1b6414e8a4abbde0d4299..01cadb89ce0250a6571f0ba2053b635ae276fc25 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 5c42c08107ed83cbd3f11c438e451ba43c50b00d..549f6e58b0585e338af99b572072bbdda8d0b93d 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 05e77ddc3b5d1c13e39d5203e8470e2f0732e93e..ea34ec2426386745a6ac8c46c32b5f93ec37dd67 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 20db80ffa04ec3ea4ce959af5db89124e0400340..3ccc8fd094bbf3fc4c118ba3f05602b4cdfd38ab 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 e2471832425b888c0dabb81ee526ce8ff97121bf..29e42ea2fd4b75ece13ea7c44a432bb7199e7ed7 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 6901fcd8dab33e295a7faef2506b000b395af159..ff9f3be692773c6364856eb4fdb2a4779389c235 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 256b84ee106b3916c33618f4b7425e0f0ad32b14..44ac8c0e26e31e50a2ae0ad89ac2a736a55410f6 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<mapPolyMesh> morphMap = meshMod.changeMesh(mesh, false); diff --git a/applications/utilities/mesh/advanced/removeFaces/removeFaces.C b/applications/utilities/mesh/advanced/removeFaces/removeFaces.C index a590b8bc353a582f865dc74bf4a85ef1da5a6d33..68ed25c921f26ac0c56b106ff6977689da9d2712 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 8328bd429b3d7f688e1f02f7104493f787aabd7f..ee1d02e57dd37f1515b715b7b9c9662ff2039153 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<mapPolyMesh> 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 1bf2ee31385b6cef40eb5e88e6d1a029d5cc72bf..87cdf6b3e86191773b88d771dfa1065a5fe28993 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 d8a757c8eb0e17f7ed67ef32bd5cbe29006d7fb4..e9c4f6c8eadf9f5decd222df66c72060ebb9c250 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 f916acb3a51475eae2db83ab4e83eeef697b227d..c94312d592d26fcb94bcb292209376b4860fc55b 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 367e554b3b82963c547d52e33307fbaf1bb55cfe..b2218d48d8b7238d2dccf2111e671edb9dc5f074 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 4413be2783b4d9ce3ffad4d93a5a50554df9dcc1..df8e5669c4b716494fccdb7f5f52d6d070443104 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 3749162149c9adb71c2d2849753bd4c6580b38c9..af3f40c563ce58b41240df7198f5cb7b667ec0da 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 52195b3c6fd3ac3d0cff2ef04ed69ef216de92cd..0b7de14dd51d69c62c9725c1ea1780cd5563adc5 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 8055fdafb72b5ba18f1f59bf82209fe6939ce6ea..27cedb267fecd1fc71f16f2ec3458e1f514261c4 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 7e2b7fe3a2a596cf7ad4a650f1163c875d7228b0..d509c1f6027798f096f28168cdf1d77c54df88bb 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 532113e6a03d79cdebef95f02b0aba2c48dae1ef..1262ac3fda54c4799ae9e9f918367754e576b079 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 1a1b0b6d3f209ca5613d91f7dc7a9ec979f71c5b..1ce829e03b421170b84f4076bd04b189e5876808 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 f55d773b9bf0e23400b6f4ed2548a52fbdf5dded..6d56086b34b5e22d302a35723ff5ee1266bf184b 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 927704a5ed736b17ded745ddd3be2565aaf453f9..7301f82766b7acb7a72f61aa933efb9f987dc529 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 bd55fcf2670c979c126599ec65ebdb03715f7e9c..d36630f75e9546aac491af67dc4682e7c3d42a35 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 fb987cc1a07d8b775b7b862c636cc82ab6bd1078..7516435ab1af94b10235e45e6b254d11b6ecec4b 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 09cdc1e212c9e9cef280fa453375ecf9b503a134..75d49263ef6af97a78478a8bd121d50f741e60e7 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 b655aceab7238b1d146ac0a7c894a3c8a3e9990f..565f048c5ba74b17e2157e11771d8e1d7d73069b 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 aff20e8df58ed25ab1a66046dccd399ef79ebc9f..513ae9d41a8f35c0ac151ee7836858fa66670e04 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> timePaths; if (args.found("processor")) { @@ -94,47 +106,48 @@ int main(int argc, char *argv[]) << exit(FatalError); } - timeDirs = timeSelector::select + timePaths = autoPtr<TimePaths>::New ( - Time - ( - Time::controlDictName, - args.rootPath(), - args.caseName()/"processor0" - ).times(), - args + args.rootPath(), + args.caseName()/"processor0" ); } else { - timeDirs = timeSelector::select + timePaths = autoPtr<TimePaths>::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 9a7b3927c20a1156fc6239e22ab5b7693247cebe..2c2f27ac98f4080cc09deb57c3deadd064931510 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> 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<word> + timePaths = autoPtr<TimePaths>::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<word> + timePaths = autoPtr<TimePaths>::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 e463f8d4933da6757962425327666b9e807a1e57..530fda227b5db3dc5fcef4c47e94b7aeb7921765 100644 --- a/applications/utilities/parallelProcessing/redistributePar/redistributePar.C +++ b/applications/utilities/parallelProcessing/redistributePar/redistributePar.C @@ -1156,7 +1156,7 @@ autoPtr<mapDistributePolyMesh> 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 f5d2261bc548eb7f957d88fab4b79ee3886e4296..707d1eaac2c10d4abebce04d881d3c77cfbe5d53 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 2c8d782c489e728f3691b6321d8c78040ce50b63..2150671ca98ad693bdfc6023adf4e279424f58ea 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 0f1f82049068bb0771c0b59375746e2323aa1763..f7b8ff395ba55b2d78cbefe2e465a9ed1750be49 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 208d2aba1c0872139347781095a9efddef17b1a0..11f4bb9bfd1b266c7677a33ee14a7226c61cd549 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 ed152b54140e638c1d48370f3808854a645e2dc8..cd7ae1cbae09828683bb96f4ec14aaa1a99969b1 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<boolList, labelList>(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<class BoolListType, class ListType> -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<boolList, labelList>(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<class BoolListType, class ListType> -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 f4055b6c2900f3b3731040593645e7a906f59395..5d95a6a747037cce5654c05c11f01ac37faac3c9 100644 --- a/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C +++ b/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C @@ -474,7 +474,8 @@ template<class BoolListType, class ListType> 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<class BoolListType, class ListType> 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 e0a6cae7c51839352827646647f044c29d0d248f..9057cefbddd565feed2cc4a7692199146ec50353 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 5ca64171409109a5a12a97f5bfc34169c89b45d2..a7ba7a04ff4212464f20d0a3de8cc770134aae97 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 \<time\>/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 05126252c6d3943f347a7a718a92d74c3f6f815e..894e2fafc53b3212d24a30b1010bfa22b1c5aa2f 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(); +} + + +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) { - return constant(); + 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 32674008b2382d39b083b56172046c97125a41ff..38189a4892e891e9621addbd69083f589707f54b 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 root path - const fileName& rootPath() const - { - return rootPath_; - } - - //- Return global case name - const fileName& globalCaseName() const - { - return globalCaseName_; - } - - //- Return case name - const fileName& caseName() const - { - return case_; - } - - //- Return case name - fileName& caseName() - { - return case_; - } - - //- 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 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_; - } - - //- Return constant name for the case - // which for parallel runs returns ../constant() - fileName caseConstant() const; - - //- Return path - fileName path() const - { - return rootPath()/caseName(); - } - - //- Return system path - fileName systemPath() const - { - return path()/system(); - } - - //- Return constant path - fileName constantPath() const - { - return path()/constant(); - } + //- Return true if this is a processor case + bool processorCase() const + { + return processorCase_; + } + + //- Return root path + const fileName& rootPath() const + { + return rootPath_; + } + + //- Return global case name + const fileName& globalCaseName() const + { + return globalCaseName_; + } + + //- Return case name + const fileName& caseName() const + { + return case_; + } + + //- Return case name + fileName& caseName() + { + return case_; + } + + //- Return system name + const word& system() const + { + return system_; + } + + //- 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_; + } + + //- Is case running with parallel distributed directories + // (i.e. not NFS mounted) + bool distributed() const + { + return distributed_; + } + + //- 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 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; + }; diff --git a/src/OpenFOAM/db/Time/TimeState.C b/src/OpenFOAM/db/Time/TimeState.C index d3d61a8b38890373d35358948b11cbca050b3bc4..7a0f7f5fb1f9648cb66dc8e14a41a0022b9a28c0 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), + writeTimeIndex_(0), deltaT_(0), - deltaTSave_(0), deltaT0_(0), + deltaTSave_(0), deltaTchanged_(false), - writeTimeIndex_(0), 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 fb3a090ba7b2631d749cbdae65856d6314ebb094..e85de2d65d9f802ae543b8455431530b86909e2b 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_; + label writeTimeIndex_; + scalar deltaT_; - scalar deltaTSave_; scalar deltaT0_; + scalar deltaTSave_; + bool deltaTchanged_; - label writeTimeIndex_; 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 939d983435c49b7b17ebc1d1a8193910f351fdd0..bb572c776a10f905febe966ca8f60494a91ba2f5 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 15e314f1d243b818cb9448d2be715aa9e75d52bd..6366a5fc12a951078a99e21b7ee9131390c31cc7 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<bool> Foam::timeSelector::selected(const instantList& times) const { - List<bool> lst(times.size(), false); + List<bool> 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<bool> 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")) + const label nTimes = times.size(); + + if (nTimes && args.found("newTimes")) { - List<bool> selectTimes(times.size(), true); + List<bool> selectTimes(nTimes, true); - forAll(times, timei) + 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 e93d3cd5ee5705a58e57222d198a6cae060b4e01..031fd9b60f9249ae7e9535cfc30ef9d996ba703a 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 1fee9a35401d810c0ca522dd80df08c3e80df17c..f8fc4311265a17caa0d27a3719acf7dc6e5bd3e9 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 1fe2fadb948ef534e28ca1270305e6a27d4d5b2c..484b9230f3fb1e7d34da286eee2cbf8276429cc7 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 f4bc5213de21f8b8e04f7ffe0f0c82320e6087ec..a9d5006eb5f1f3b923d8649c92b6122468295c55 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 d1d596ecf4cbea7764dfaf724748ea80df3af46b..5be2f9e7c3d01c45f36626f1ba707eddc0e03b53 100644 --- a/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.C +++ b/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.C @@ -315,7 +315,7 @@ diffusionMulticomponent<ReactionThermo, ThermoType>::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 0fe62fa03afa5b28b3d4a2e671487bdd666078d9..c2925932cb94704a0712f50a5a55b85deb170064 100644 --- a/src/dynamicMesh/meshCut/meshModifiers/refinementIterator/refinementIterator.C +++ b/src/dynamicMesh/meshCut/meshModifiers/refinementIterator/refinementIterator.C @@ -92,7 +92,7 @@ Foam::Map<Foam::label> 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 80fc93877fc855add5d902f6e1368fc8a3a92316..911305d020e23e6ef8ebb251d54bced833936298 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 57f307d66d98e4893b2a054dcec3afeebfcf32b1..470070276ba8f9ccdf786032cfeec9f15ffd82f2 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 03279701c4c4f81174b40280a2c81398257a6cb6..39af29276a5cb8a43cec7a6443bf21e77524e761 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 4dd450145c955c5ae37919bfc3b6072cfc8124c2..5e72e5795087251ed80232ecd2e061026286781b 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 4705dfdc05727b210b550723265b3910130870b6..c396a09bcf6704333baac2cbc15430bb14e60d04 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;