diff --git a/applications/solvers/DNS/dnsFoam/dnsFoam.C b/applications/solvers/DNS/dnsFoam/dnsFoam.C
index 277a78002d15ea67faa7ea63fa607ac46edefbd4..cc41c03969388a2339c174346420387a28f13888 100644
--- a/applications/solvers/DNS/dnsFoam/dnsFoam.C
+++ b/applications/solvers/DNS/dnsFoam/dnsFoam.C
@@ -55,8 +55,9 @@ int main(int argc, char *argv[])
 
     Info<< nl << "Starting time loop" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
 #       include "readPISOControls.H"
diff --git a/applications/solvers/basic/laplacianFoam/laplacianFoam.C b/applications/solvers/basic/laplacianFoam/laplacianFoam.C
index 4a804d01bb23aabab153f69a917fc22305a9441d..5b56c72a8c97c42c5e64cc1ba8c5a43316df5eaa 100644
--- a/applications/solvers/basic/laplacianFoam/laplacianFoam.C
+++ b/applications/solvers/basic/laplacianFoam/laplacianFoam.C
@@ -48,8 +48,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nCalculating temperature distribution\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
 #       include "readSIMPLEControls.H"
diff --git a/applications/solvers/basic/scalarTransportFoam/scalarTransportFoam.C b/applications/solvers/basic/scalarTransportFoam/scalarTransportFoam.C
index d2d2eb4e6dbd63a6fa2b6965e266bd2cae9ed2ae..ad0107319f8f9a3b44de62bfd5c61b522addfb66 100644
--- a/applications/solvers/basic/scalarTransportFoam/scalarTransportFoam.C
+++ b/applications/solvers/basic/scalarTransportFoam/scalarTransportFoam.C
@@ -50,8 +50,9 @@ int main(int argc, char *argv[])
 
 #   include "CourantNo.H"
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
 #       include "readSIMPLEControls.H"
diff --git a/applications/solvers/combustion/dieselFoam/dieselFoam.C b/applications/solvers/combustion/dieselFoam/dieselFoam.C
index 64df8bcc8fdff239be9a60a66d4799a824d7d0c6..4c41a0db2d75d60ff031f1c8307ee1da80baa360 100644
--- a/applications/solvers/combustion/dieselFoam/dieselFoam.C
+++ b/applications/solvers/combustion/dieselFoam/dieselFoam.C
@@ -63,7 +63,7 @@ int main(int argc, char *argv[])
 
     Info << "\nStarting time loop\n" << endl;
 
-    while(runTime.run())
+    while (runTime.run())
     {
 #       include "readPISOControls.H"
 #       include "compressibleCourantNo.H"
diff --git a/applications/solvers/compressible/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C b/applications/solvers/compressible/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
index b0bd54d3b3fac3089a3dd068b25c3d8510ac9768..b1b11a7cec902ce47e23e0356bef8136da7a78ac 100644
--- a/applications/solvers/compressible/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
+++ b/applications/solvers/compressible/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
@@ -51,8 +51,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
 #       include "readSIMPLEControls.H"
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C
index ba2b0afd606b9888198d50b2da8ff813d5083bf1..d985abe25d85e8278a65296869961ee589fcb815 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C
@@ -49,8 +49,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
         #include "readSIMPLEControls.H"
diff --git a/applications/solvers/compressible/rhoSonicFoam/rhoSonicFoam.C b/applications/solvers/compressible/rhoSonicFoam/rhoSonicFoam.C
index 662a4f0ad306930b1cdb737a0bc7cd2bff2374b5..b4bdc9e4933cca7a131084d92a779f2caa128313 100644
--- a/applications/solvers/compressible/rhoSonicFoam/rhoSonicFoam.C
+++ b/applications/solvers/compressible/rhoSonicFoam/rhoSonicFoam.C
@@ -47,8 +47,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
         surfaceScalarField phiv
diff --git a/applications/solvers/compressible/rhopSonicFoam/rhopSonicFoam.C b/applications/solvers/compressible/rhopSonicFoam/rhopSonicFoam.C
index b1be4d711eeb54a29afd1dfa817635f0aed00fda..b3f1c8e06d47fd61674431b4721463ed3ecafe4c 100644
--- a/applications/solvers/compressible/rhopSonicFoam/rhopSonicFoam.C
+++ b/applications/solvers/compressible/rhopSonicFoam/rhopSonicFoam.C
@@ -53,8 +53,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.value() << nl << endl;
 
 #       include "readPISOControls.H"
diff --git a/applications/solvers/compressible/sonicDyMFoam/sonicDyMFoam.C b/applications/solvers/compressible/sonicDyMFoam/sonicDyMFoam.C
index 34faaf78facb1c0690bc9f956f8fcd39c02d1d33..593bc742cf96c9f0fa246f49877749a2ca1ae719 100644
--- a/applications/solvers/compressible/sonicDyMFoam/sonicDyMFoam.C
+++ b/applications/solvers/compressible/sonicDyMFoam/sonicDyMFoam.C
@@ -52,8 +52,9 @@ int main(int argc, char *argv[])
 
     autoPtr<Foam::motionSolver> motionPtr = motionSolver::New(mesh);
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
         #include "readPISOControls.H"
diff --git a/applications/solvers/compressible/sonicFoam/sonicFoam.C b/applications/solvers/compressible/sonicFoam/sonicFoam.C
index 08d1f85fec0189af83e5861f69893948b3e87423..741141c1c4e3218778969ca7200405e8e9ea5475 100644
--- a/applications/solvers/compressible/sonicFoam/sonicFoam.C
+++ b/applications/solvers/compressible/sonicFoam/sonicFoam.C
@@ -49,8 +49,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
         #include "readPISOControls.H"
diff --git a/applications/solvers/compressible/sonicLiquidFoam/sonicLiquidFoam.C b/applications/solvers/compressible/sonicLiquidFoam/sonicLiquidFoam.C
index 90243b2322ce27fb2b1a9ba20da215dee1910f48..87dcf947b03565549bfd34248124a3bc2ad3816e 100644
--- a/applications/solvers/compressible/sonicLiquidFoam/sonicLiquidFoam.C
+++ b/applications/solvers/compressible/sonicLiquidFoam/sonicLiquidFoam.C
@@ -50,8 +50,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
 #       include "readPISOControls.H"
diff --git a/applications/solvers/electromagnetics/electrostaticFoam/electrostaticFoam.C b/applications/solvers/electromagnetics/electrostaticFoam/electrostaticFoam.C
index 13438974ac82383690b05e9f0b7a6a86ad9c83a9..11daf2e0b4a86817e4564f25ec1d4af4566f11b2 100644
--- a/applications/solvers/electromagnetics/electrostaticFoam/electrostaticFoam.C
+++ b/applications/solvers/electromagnetics/electrostaticFoam/electrostaticFoam.C
@@ -47,8 +47,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting iteration loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Iteration = " << runTime.timeName() << nl << endl;
 
         solve
diff --git a/applications/solvers/electromagnetics/mhdFoam/mhdFoam.C b/applications/solvers/electromagnetics/mhdFoam/mhdFoam.C
index 9da017da3a7cf6d695fce6808c51f99d79a066c8..e121150c7a3d4f207220738ad5634a89d5ff53b2 100644
--- a/applications/solvers/electromagnetics/mhdFoam/mhdFoam.C
+++ b/applications/solvers/electromagnetics/mhdFoam/mhdFoam.C
@@ -71,8 +71,9 @@ int main(int argc, char *argv[])
 
     Info<< nl << "Starting time loop" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
 #       include "readPISOControls.H"
 #       include "readBPISOControls.H"
 
diff --git a/applications/solvers/financial/financialFoam/financialFoam.C b/applications/solvers/financial/financialFoam/financialFoam.C
index eabbafaf7396bdc458957fb9fc45409fa9709009..9edd07a8d0a21c4b2e9ab8de8aa9bb2af4e489d1 100644
--- a/applications/solvers/financial/financialFoam/financialFoam.C
+++ b/applications/solvers/financial/financialFoam/financialFoam.C
@@ -55,8 +55,9 @@ int main(int argc, char *argv[])
 
     Info<< "Starting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         delta == fvc::grad(V)().component(Foam::vector::X);
 
         solve
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqFoam/buoyantBoussinesqFoam.C b/applications/solvers/heatTransfer/buoyantBoussinesqFoam/buoyantBoussinesqFoam.C
index 72aab39ac044b8fe3ce59501c04204be4ce2808e..db767bb0c912bfda84a4f01283364b9d382b1135 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqFoam/buoyantBoussinesqFoam.C
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqFoam/buoyantBoussinesqFoam.C
@@ -69,8 +69,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
 #       include "readTimeControls.H"
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
index 5e9deff76449eda684405bbd010aa5e611404bda..c8e62813e8fd838beb1ce0c405572aa7d17b5680 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
@@ -66,8 +66,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
 #       include "readSIMPLEControls.H"
diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
index ebe0f4579a226a2c58ea408e02fa98dfcd733ec2..e9c48b937f876419fc118414fdfc74168c987fa6 100644
--- a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
@@ -51,8 +51,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
 #       include "readSIMPLEControls.H"
diff --git a/applications/solvers/heatTransfer/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam.C b/applications/solvers/heatTransfer/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam.C
index 21059f5064914672975bace6a4bffdaf9a4f48c5..21e4912ae70a3d7971454e7ef0abce84d24d688d 100644
--- a/applications/solvers/heatTransfer/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam.C
+++ b/applications/solvers/heatTransfer/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam.C
@@ -54,8 +54,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
 #       include "readSIMPLEControls.H"
diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C
index 84c7c1180634d4bc1ba25b504769c7bc98001e1b..8a19fd0264c75072bd1ae1dae6df375e63cb3dc7 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C
@@ -64,7 +64,7 @@ int main(int argc, char *argv[])
 #       include "setInitialDeltaT.H"
     }
 
-    while(runTime.run())
+    while (runTime.run())
     {
 #       include "readTimeControls.H"
 
diff --git a/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C b/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C
index a8e063c2dbc3e8124174121c744fcef4403bc946..2360fb6677cf0d10a414b6516112e54c9084861d 100644
--- a/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C
+++ b/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C
@@ -58,8 +58,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
         fvVectorMatrix divR = turbulence->divDevReff(U);
diff --git a/applications/solvers/incompressible/channelFoam/channelFoam.C b/applications/solvers/incompressible/channelFoam/channelFoam.C
index fe245ed82db46fdd2224694f51e7865ad2fd8f77..94d8f4acd4d3b60731369a04414b2bf903750664 100644
--- a/applications/solvers/incompressible/channelFoam/channelFoam.C
+++ b/applications/solvers/incompressible/channelFoam/channelFoam.C
@@ -51,8 +51,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for(runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
         #include "readPISOControls.H"
diff --git a/applications/solvers/incompressible/icoFoam/icoFoam.C b/applications/solvers/incompressible/icoFoam/icoFoam.C
index 993f328905ea65bce0d666ae9242e1a64c888fe0..d8c549668f58a523b6456fde6005c290025e88e9 100644
--- a/applications/solvers/incompressible/icoFoam/icoFoam.C
+++ b/applications/solvers/incompressible/icoFoam/icoFoam.C
@@ -48,8 +48,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
 #       include "readPISOControls.H"
diff --git a/applications/solvers/incompressible/nonNewtonianIcoFoam/nonNewtonianIcoFoam.C b/applications/solvers/incompressible/nonNewtonianIcoFoam/nonNewtonianIcoFoam.C
index b1ce2450174eca78f5717f197a9aef300c33befc..f949b39cfc614e2706fc897eda5a5b56686a494c 100644
--- a/applications/solvers/incompressible/nonNewtonianIcoFoam/nonNewtonianIcoFoam.C
+++ b/applications/solvers/incompressible/nonNewtonianIcoFoam/nonNewtonianIcoFoam.C
@@ -49,8 +49,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
 #       include "readPISOControls.H"
diff --git a/applications/solvers/incompressible/pisoFoam/pisoFoam.C b/applications/solvers/incompressible/pisoFoam/pisoFoam.C
index 01b349e9fa0ec0f75102e978d17cc6b169c7c162..95b4bc0843c2b1e488d42a1dda73f6a48554e0c4 100644
--- a/applications/solvers/incompressible/pisoFoam/pisoFoam.C
+++ b/applications/solvers/incompressible/pisoFoam/pisoFoam.C
@@ -52,8 +52,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
 #       include "readPISOControls.H"
diff --git a/applications/solvers/incompressible/simpleFoam/simpleFoam.C b/applications/solvers/incompressible/simpleFoam/simpleFoam.C
index d5b99e33ea545c9790a387dea23316dba40ff080..ec0515aa19e9fc5a1232720d37797ec430b20a91 100644
--- a/applications/solvers/incompressible/simpleFoam/simpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/simpleFoam.C
@@ -49,8 +49,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
 #       include "readSIMPLEControls.H"
diff --git a/applications/solvers/multiphase/bubbleFoam/bubbleFoam.C b/applications/solvers/multiphase/bubbleFoam/bubbleFoam.C
index 4344f5d4719e5f4ce34733089e370bd9023dc1c4..4a6f845fd89c6d109ccf81e4d5e8c57ceb1933a4 100644
--- a/applications/solvers/multiphase/bubbleFoam/bubbleFoam.C
+++ b/applications/solvers/multiphase/bubbleFoam/bubbleFoam.C
@@ -53,8 +53,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
 #       include "readBubbleFoamControls.H"
diff --git a/applications/solvers/multiphase/settlingFoam/settlingFoam.C b/applications/solvers/multiphase/settlingFoam/settlingFoam.C
index 70fe56a37c03a1220279e1c627bac0a78cec84af..a43dd5408b7c623745dfc6a2a4c8483b521f013e 100644
--- a/applications/solvers/multiphase/settlingFoam/settlingFoam.C
+++ b/applications/solvers/multiphase/settlingFoam/settlingFoam.C
@@ -57,8 +57,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
 #       include "readPISOControls.H"
diff --git a/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C b/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C
index 6501f24a503b8275bc867a99f28d185124f37cb0..dbc8b2774f5588f1571c6b83c1fffc8fb7bbb47e 100644
--- a/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C
+++ b/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C
@@ -52,8 +52,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
 #       include "readPISOControls.H"
diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementFoam.C b/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementFoam.C
index 4405652cd408c3739828c985a34292840129ee32..afa3c6600103181b52dee6512e480b67fa3b46a9 100644
--- a/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementFoam.C
+++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementFoam.C
@@ -57,8 +57,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nCalculating displacement field\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Iteration: " << runTime.value() << nl << endl;
 
 #       include "readSolidDisplacementFoamControls.H"
diff --git a/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/solidEquilibriumDisplacementFoam.C b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/solidEquilibriumDisplacementFoam.C
index f0f93112b9d3a0549376543f97639c3abaebf0df..00a98b25310c2d3fb7813c944ebdb9c78d971450 100644
--- a/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/solidEquilibriumDisplacementFoam.C
+++ b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/solidEquilibriumDisplacementFoam.C
@@ -55,8 +55,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nCalculating displacement field\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Iteration: " << runTime.value() << nl << endl;
 
 #       include "readSteadyStressFoamControls.H"
diff --git a/applications/test/LduMatrix/LduMatrixTest3.C b/applications/test/LduMatrix/LduMatrixTest3.C
index 18f3a7391fe3bdab8a8de6263264a02ecda10d37..729bc593295b49cf38f391af7286e67bc196acfd 100644
--- a/applications/test/LduMatrix/LduMatrixTest3.C
+++ b/applications/test/LduMatrix/LduMatrixTest3.C
@@ -53,8 +53,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
 #       include "readPISOControls.H"
diff --git a/applications/test/nearWallDist-wave/testWallDist2.C b/applications/test/nearWallDist-wave/testWallDist2.C
index c84b7fb118cc98a587d2a0296f1c76967e7b2ac8..304cdba3d6560da29ebc360cb28e819070da2518 100644
--- a/applications/test/nearWallDist-wave/testWallDist2.C
+++ b/applications/test/nearWallDist-wave/testWallDist2.C
@@ -120,8 +120,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << endl;
 
 
diff --git a/applications/utilities/mesh/manipulation/moveDynamicMesh/moveDynamicMesh.C b/applications/utilities/mesh/manipulation/moveDynamicMesh/moveDynamicMesh.C
index 1e2ec46744ce128dacb0c5b31d5cfa0d6c6d9986..64d65e3affa927e4e3f77d5395106fbfb728a4d4 100644
--- a/applications/utilities/mesh/manipulation/moveDynamicMesh/moveDynamicMesh.C
+++ b/applications/utilities/mesh/manipulation/moveDynamicMesh/moveDynamicMesh.C
@@ -46,8 +46,9 @@ int main(int argc, char *argv[])
 #   include "createTime.H"
 #   include "createDynamicFvMesh.H"
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << endl;
 
         mesh.update();
diff --git a/applications/utilities/mesh/manipulation/moveEngineMesh/moveEngineMesh.C b/applications/utilities/mesh/manipulation/moveEngineMesh/moveEngineMesh.C
index 75cd8ef583d876f490773e9d63309d127854ec3d..a10782b553c5b4b9c94674a2473e248b3c53780c 100644
--- a/applications/utilities/mesh/manipulation/moveEngineMesh/moveEngineMesh.C
+++ b/applications/utilities/mesh/manipulation/moveEngineMesh/moveEngineMesh.C
@@ -47,8 +47,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.theta() << " CA-deg\n" << endl;
 
         mesh.move();
diff --git a/applications/utilities/mesh/manipulation/moveMesh/moveMesh.C b/applications/utilities/mesh/manipulation/moveMesh/moveMesh.C
index da82839b1b7c3edd429e66a8f7dad9bad71c69d0..82e6e45a752293648cabf0a845e0117e9f5c419e 100644
--- a/applications/utilities/mesh/manipulation/moveMesh/moveMesh.C
+++ b/applications/utilities/mesh/manipulation/moveMesh/moveMesh.C
@@ -46,8 +46,9 @@ int main(int argc, char *argv[])
 
     autoPtr<Foam::motionSolver> motionPtr = motionSolver::New(mesh);
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << endl;
 
         mesh.movePoints(motionPtr->newPoints());
diff --git a/tutorials/MRFSimpleFoam/MRFSimpleFoam/MRFSimpleFoam.C b/tutorials/MRFSimpleFoam/MRFSimpleFoam/MRFSimpleFoam.C
index 7e1faab80578359690e6a7aa8ee590523aec3303..9fc36826fe69d29b6164386dc74e19eb6b5df6ff 100644
--- a/tutorials/MRFSimpleFoam/MRFSimpleFoam/MRFSimpleFoam.C
+++ b/tutorials/MRFSimpleFoam/MRFSimpleFoam/MRFSimpleFoam.C
@@ -52,8 +52,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
 #       include "readSIMPLEControls.H"
diff --git a/tutorials/simpleSRFFoam/simpleSRFFoam/simpleSRFFoam.C b/tutorials/simpleSRFFoam/simpleSRFFoam/simpleSRFFoam.C
index 9098e63bc59cacd6605d7ba14f578d4e8b54c98d..269ac013aebd042ca1fafa04ff1d5666df8f7948 100644
--- a/tutorials/simpleSRFFoam/simpleSRFFoam/simpleSRFFoam.C
+++ b/tutorials/simpleSRFFoam/simpleSRFFoam/simpleSRFFoam.C
@@ -54,8 +54,9 @@ int main(int argc, char *argv[])
 
     Info<< "\nStarting time loop\n" << endl;
 
-    for (runTime++; !runTime.end(); runTime++)
+    while (runTime.run())
     {
+        runTime++;
         Info<< "Time = " << runTime.timeName() << nl << endl;
 
 #       include "readSIMPLEControls.H"