From b50bbc7ef2590e17882dae4d83ad0d5f75e925cd Mon Sep 17 00:00:00 2001
From: Andrew Heather <a.heather@opencfd.co.uk>
Date: Thu, 11 Jan 2018 14:23:17 +0000
Subject: [PATCH] ENH: Added new dry-run options to solvers

---
 .../basic/laplacianFoam/laplacianFoam.C       |  1 +
 .../basic/potentialFoam/potentialFoam.C       |  1 +
 .../scalarTransportFoam/scalarTransportFoam.C |  1 +
 .../solvers/combustion/PDRFoam/PDRFoam.C      |  1 +
 .../solvers/combustion/XiFoam/XiFoam.C        |  1 +
 .../solvers/combustion/fireFoam/fireFoam.C    |  1 +
 .../combustion/reactingFoam/reactingFoam.C    |  1 +
 .../rhoReactingBuoyantFoam.C                  |  1 +
 .../rhoReactingFoam/rhoReactingFoam.C         |  1 +
 .../rhoCentralFoam/rhoCentralFoam.C           |  1 +
 .../rhoPimpleAdiabaticFoam.C                  |  1 +
 .../rhoPimpleFoam/rhoPimpleFoam.C             |  1 +
 .../rhoPorousSimpleFoam/rhoPorousSimpleFoam.C |  1 +
 .../rhoSimpleFoam/rhoSimpleFoam.C             |  1 +
 .../compressible/sonicFoam/sonicFoam.C        |  1 +
 .../sonicLiquidFoam/sonicLiquidFoam.C         |  1 +
 .../discreteMethods/dsmc/dsmcFoam/dsmcFoam.C  |  1 +
 .../mdEquilibrationFoam/mdEquilibrationFoam.C |  1 +
 .../electrostaticFoam/electrostaticFoam.C     |  1 +
 .../magneticFoam/magneticFoam.C               |  1 +
 .../electromagnetics/mhdFoam/mhdFoam.C        |  1 +
 .../financial/financialFoam/financialFoam.C   |  1 +
 .../buoyantBoussinesqPimpleFoam.C             |  1 +
 .../buoyantBoussinesqSimpleFoam.C             |  1 +
 .../buoyantPimpleFoam/buoyantPimpleFoam.C     |  1 +
 .../buoyantSimpleFoam/buoyantSimpleFoam.C     |  1 +
 .../heatTransfer/thermoFoam/thermoFoam.C      |  1 +
 .../adjointShapeOptimizationFoam.C            |  1 +
 .../boundaryFoam/boundaryFoam.C               |  1 +
 .../solvers/incompressible/icoFoam/icoFoam.C  |  1 +
 .../nonNewtonianIcoFoam/nonNewtonianIcoFoam.C |  1 +
 .../pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C  |  1 +
 .../incompressible/pimpleFoam/pimpleFoam.C    |  1 +
 .../incompressible/pisoFoam/pisoFoam.C        |  1 +
 .../shallowWaterFoam/shallowWaterFoam.C       |  1 +
 .../simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C  |  1 +
 .../porousSimpleFoam/porousSimpleFoam.C       |  1 +
 .../incompressible/simpleFoam/simpleFoam.C    |  1 +
 .../solvers/lagrangian/DPMFoam/DPMFoam.C      |  1 +
 .../coalChemistryFoam/coalChemistryFoam.C     |  1 +
 .../icoUncoupledKinematicParcelFoam.C         |  1 +
 .../reactingParcelFoam/reactingParcelFoam.C   |  1 +
 .../simpleReactingParcelFoam.C                |  1 +
 .../simpleCoalParcelFoam.C                    |  1 +
 .../solvers/lagrangian/sprayFoam/sprayFoam.C  |  1 +
 .../uncoupledKinematicParcelFoam.C            |  1 +
 .../MPPICInterFoam/MPPICInterFoam.C           |  1 +
 .../cavitatingFoam/cavitatingFoam.C           |  1 +
 .../compressibleInterFilmFoam.C               |  1 +
 .../compressibleInterFoam.C                   |  1 +
 .../compressibleMultiphaseInterFoam.C         |  1 +
 .../multiphase/driftFluxFoam/driftFluxFoam.C  |  1 +
 .../interCondensatingEvaporatingFoam.C        |  1 +
 .../solvers/multiphase/interFoam/interFoam.C  |  1 +
 .../interMixingFoam/interMixingFoam.C         |  1 +
 .../multiphase/interIsoFoam/interIsoFoam.C    |  1 +
 .../interPhaseChangeFoam.C                    |  1 +
 .../multiphaseEulerFoam/multiphaseEulerFoam.C |  1 +
 .../multiphaseInterFoam/multiphaseInterFoam.C |  1 +
 .../potentialFreeSurfaceFoam.C                |  1 +
 .../reactingMultiphaseEulerFoam.C             |  1 +
 .../reactingTwoPhaseEulerFoam.C               |  1 +
 .../twoLiquidMixingFoam/twoLiquidMixingFoam.C |  1 +
 .../twoPhaseEulerFoam/twoPhaseEulerFoam.C     |  1 +
 .../solidDisplacementFoam.C                   |  1 +
 .../solidEquilibriumDisplacementFoam.C        |  1 +
 src/OpenFOAM/include/addCheckCaseOptions.H    |  5 ++
 src/OpenFOAM/include/createMesh.H             | 55 +++++++++++++++----
 .../cfdTools/general/include/fvCFD.H          |  1 +
 69 files changed, 115 insertions(+), 12 deletions(-)
 create mode 100644 src/OpenFOAM/include/addCheckCaseOptions.H

diff --git a/applications/solvers/basic/laplacianFoam/laplacianFoam.C b/applications/solvers/basic/laplacianFoam/laplacianFoam.C
index a59f2ec0c88..9bffe121d4e 100644
--- a/applications/solvers/basic/laplacianFoam/laplacianFoam.C
+++ b/applications/solvers/basic/laplacianFoam/laplacianFoam.C
@@ -59,6 +59,7 @@ Description
 
 int main(int argc, char *argv[])
 {
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
 
     #include "createTime.H"
diff --git a/applications/solvers/basic/potentialFoam/potentialFoam.C b/applications/solvers/basic/potentialFoam/potentialFoam.C
index 3c0408717ea..ca54ea1c865 100644
--- a/applications/solvers/basic/potentialFoam/potentialFoam.C
+++ b/applications/solvers/basic/potentialFoam/potentialFoam.C
@@ -125,6 +125,7 @@ int main(int argc, char *argv[])
         "execute functionObjects"
     );
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/basic/scalarTransportFoam/scalarTransportFoam.C b/applications/solvers/basic/scalarTransportFoam/scalarTransportFoam.C
index 07a99141cb4..6c2d703b937 100644
--- a/applications/solvers/basic/scalarTransportFoam/scalarTransportFoam.C
+++ b/applications/solvers/basic/scalarTransportFoam/scalarTransportFoam.C
@@ -61,6 +61,7 @@ Description
 
 int main(int argc, char *argv[])
 {
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/combustion/PDRFoam/PDRFoam.C b/applications/solvers/combustion/PDRFoam/PDRFoam.C
index 409989b6f36..4e617389467 100644
--- a/applications/solvers/combustion/PDRFoam/PDRFoam.C
+++ b/applications/solvers/combustion/PDRFoam/PDRFoam.C
@@ -89,6 +89,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/combustion/XiFoam/XiFoam.C b/applications/solvers/combustion/XiFoam/XiFoam.C
index dec1a6a1385..34c42e7d12f 100644
--- a/applications/solvers/combustion/XiFoam/XiFoam.C
+++ b/applications/solvers/combustion/XiFoam/XiFoam.C
@@ -67,6 +67,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/combustion/fireFoam/fireFoam.C b/applications/solvers/combustion/fireFoam/fireFoam.C
index 1821b7a5405..7a3c3c1372c 100644
--- a/applications/solvers/combustion/fireFoam/fireFoam.C
+++ b/applications/solvers/combustion/fireFoam/fireFoam.C
@@ -52,6 +52,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/combustion/reactingFoam/reactingFoam.C b/applications/solvers/combustion/reactingFoam/reactingFoam.C
index ff769cf4d2a..2a15a666e60 100644
--- a/applications/solvers/combustion/reactingFoam/reactingFoam.C
+++ b/applications/solvers/combustion/reactingFoam/reactingFoam.C
@@ -49,6 +49,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
index 3517d25658f..f46cbc1b576 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
@@ -49,6 +49,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
index 9277ef00412..37adbcc4c0c 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
@@ -50,6 +50,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C
index 6ec612d8201..17dc6ab8e34 100644
--- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C
+++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C
@@ -48,6 +48,7 @@ int main(int argc, char *argv[])
     #define NO_CONTROL
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/compressible/rhoPimpleAdiabaticFoam/rhoPimpleAdiabaticFoam.C b/applications/solvers/compressible/rhoPimpleAdiabaticFoam/rhoPimpleAdiabaticFoam.C
index c1b574a2c97..4fcdfdbc510 100644
--- a/applications/solvers/compressible/rhoPimpleAdiabaticFoam/rhoPimpleAdiabaticFoam.C
+++ b/applications/solvers/compressible/rhoPimpleAdiabaticFoam/rhoPimpleAdiabaticFoam.C
@@ -60,6 +60,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
index 9d580abe2e2..fcdaa9db35e 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
@@ -54,6 +54,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createDynamicFvMesh.H"
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
index 7ba9ee5ebb5..0283b3823ae 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C
@@ -47,6 +47,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C
index d4bb7dc7341..ae8252bbf52 100644
--- a/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C
+++ b/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C
@@ -45,6 +45,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/compressible/sonicFoam/sonicFoam.C b/applications/solvers/compressible/sonicFoam/sonicFoam.C
index 46641eb690a..1ffbb6738fd 100644
--- a/applications/solvers/compressible/sonicFoam/sonicFoam.C
+++ b/applications/solvers/compressible/sonicFoam/sonicFoam.C
@@ -45,6 +45,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/sonicLiquidFoam.C b/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/sonicLiquidFoam.C
index 619b704c31b..afe963d8cf3 100644
--- a/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/sonicLiquidFoam.C
+++ b/applications/solvers/compressible/sonicFoam/sonicLiquidFoam/sonicLiquidFoam.C
@@ -42,6 +42,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/discreteMethods/dsmc/dsmcFoam/dsmcFoam.C b/applications/solvers/discreteMethods/dsmc/dsmcFoam/dsmcFoam.C
index 725c36f1231..38eb94fc4d7 100644
--- a/applications/solvers/discreteMethods/dsmc/dsmcFoam/dsmcFoam.C
+++ b/applications/solvers/discreteMethods/dsmc/dsmcFoam/dsmcFoam.C
@@ -43,6 +43,7 @@ int main(int argc, char *argv[])
     #define NO_CONTROL
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/discreteMethods/molecularDynamics/mdEquilibrationFoam/mdEquilibrationFoam.C b/applications/solvers/discreteMethods/molecularDynamics/mdEquilibrationFoam/mdEquilibrationFoam.C
index 3302b6d0735..3bb0a881c3f 100644
--- a/applications/solvers/discreteMethods/molecularDynamics/mdEquilibrationFoam/mdEquilibrationFoam.C
+++ b/applications/solvers/discreteMethods/molecularDynamics/mdEquilibrationFoam/mdEquilibrationFoam.C
@@ -37,6 +37,7 @@ Description
 
 int main(int argc, char *argv[])
 {
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/electromagnetics/electrostaticFoam/electrostaticFoam.C b/applications/solvers/electromagnetics/electrostaticFoam/electrostaticFoam.C
index 6ecf1c804b0..075a4504415 100644
--- a/applications/solvers/electromagnetics/electrostaticFoam/electrostaticFoam.C
+++ b/applications/solvers/electromagnetics/electrostaticFoam/electrostaticFoam.C
@@ -38,6 +38,7 @@ Description
 
 int main(int argc, char *argv[])
 {
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
 
     #include "createTime.H"
diff --git a/applications/solvers/electromagnetics/magneticFoam/magneticFoam.C b/applications/solvers/electromagnetics/magneticFoam/magneticFoam.C
index 9430aeb8e72..33af0292aea 100644
--- a/applications/solvers/electromagnetics/magneticFoam/magneticFoam.C
+++ b/applications/solvers/electromagnetics/magneticFoam/magneticFoam.C
@@ -65,6 +65,7 @@ int main(int argc, char *argv[])
         "write the paramagnetic particle force field"
     );
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/electromagnetics/mhdFoam/mhdFoam.C b/applications/solvers/electromagnetics/mhdFoam/mhdFoam.C
index 3e8e5473638..1f9d4e1b8e6 100644
--- a/applications/solvers/electromagnetics/mhdFoam/mhdFoam.C
+++ b/applications/solvers/electromagnetics/mhdFoam/mhdFoam.C
@@ -60,6 +60,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/financial/financialFoam/financialFoam.C b/applications/solvers/financial/financialFoam/financialFoam.C
index 5af22900114..c8e8e7b5d08 100644
--- a/applications/solvers/financial/financialFoam/financialFoam.C
+++ b/applications/solvers/financial/financialFoam/financialFoam.C
@@ -43,6 +43,7 @@ int main(int argc, char *argv[])
     #define NO_CONTROL
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C
index b769c66c6b1..eaeb49019c8 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C
@@ -61,6 +61,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
index 4baa85ab78a..8cc6523fc75 100644
--- a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
@@ -61,6 +61,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C
index 1b229481a14..a75c39d0f40 100644
--- a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C
@@ -49,6 +49,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
index 82324ce1ba5..a8fc1a9f35e 100644
--- a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
+++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
@@ -46,6 +46,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C b/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C
index 70acdd9da5e..59a26dd5f78 100644
--- a/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C
+++ b/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C
@@ -48,6 +48,7 @@ int main(int argc, char *argv[])
     #define NO_CONTROL
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C b/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C
index d443338c265..3094f0c7191 100644
--- a/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C
+++ b/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointShapeOptimizationFoam.C
@@ -74,6 +74,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C b/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C
index 9d5147a3fcc..d9ec41c0ab7 100644
--- a/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C
+++ b/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C
@@ -50,6 +50,7 @@ Description
 int main(int argc, char *argv[])
 {
     argList::noParallel();
+    #include "addCheckCaseOptions.H"
 
     #include "setRootCase.H"
 
diff --git a/applications/solvers/incompressible/icoFoam/icoFoam.C b/applications/solvers/incompressible/icoFoam/icoFoam.C
index 90057926b1c..eab13726540 100644
--- a/applications/solvers/incompressible/icoFoam/icoFoam.C
+++ b/applications/solvers/incompressible/icoFoam/icoFoam.C
@@ -67,6 +67,7 @@ Description
 
 int main(int argc, char *argv[])
 {
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/incompressible/nonNewtonianIcoFoam/nonNewtonianIcoFoam.C b/applications/solvers/incompressible/nonNewtonianIcoFoam/nonNewtonianIcoFoam.C
index 713906aaf35..71656d35271 100644
--- a/applications/solvers/incompressible/nonNewtonianIcoFoam/nonNewtonianIcoFoam.C
+++ b/applications/solvers/incompressible/nonNewtonianIcoFoam/nonNewtonianIcoFoam.C
@@ -42,6 +42,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMeshNoClear.H"
diff --git a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C
index d9f01333d4f..9508c33934b 100644
--- a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C
+++ b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C
@@ -48,6 +48,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C
index 51949bb5452..9614701de87 100644
--- a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C
+++ b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C
@@ -81,6 +81,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createDynamicFvMesh.H"
diff --git a/applications/solvers/incompressible/pisoFoam/pisoFoam.C b/applications/solvers/incompressible/pisoFoam/pisoFoam.C
index 5d01454078b..d2e3efd2fbc 100644
--- a/applications/solvers/incompressible/pisoFoam/pisoFoam.C
+++ b/applications/solvers/incompressible/pisoFoam/pisoFoam.C
@@ -77,6 +77,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/incompressible/shallowWaterFoam/shallowWaterFoam.C b/applications/solvers/incompressible/shallowWaterFoam/shallowWaterFoam.C
index c069cb0d03e..fa643a7a473 100644
--- a/applications/solvers/incompressible/shallowWaterFoam/shallowWaterFoam.C
+++ b/applications/solvers/incompressible/shallowWaterFoam/shallowWaterFoam.C
@@ -44,6 +44,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
index 60b9ad25bfa..4b0cbe1547b 100644
--- a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
@@ -46,6 +46,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C
index 8031ee363bb..a03cb5ed448 100644
--- a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C
@@ -48,6 +48,7 @@ int main(int argc, char *argv[])
     #define CREATE_FIELDS_2 createPorousZones.H
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/incompressible/simpleFoam/simpleFoam.C b/applications/solvers/incompressible/simpleFoam/simpleFoam.C
index f16cf59df4f..839dd3ddd6d 100644
--- a/applications/solvers/incompressible/simpleFoam/simpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/simpleFoam.C
@@ -73,6 +73,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/lagrangian/DPMFoam/DPMFoam.C b/applications/solvers/lagrangian/DPMFoam/DPMFoam.C
index aa1e808be36..e0c4a06460e 100644
--- a/applications/solvers/lagrangian/DPMFoam/DPMFoam.C
+++ b/applications/solvers/lagrangian/DPMFoam/DPMFoam.C
@@ -58,6 +58,7 @@ int main(int argc, char *argv[])
 
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C b/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C
index e51f053fcd5..72f61c79b60 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C
+++ b/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C
@@ -53,6 +53,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelFoam.C b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelFoam.C
index b3d0fa24711..775e12099b5 100644
--- a/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelFoam.C
+++ b/applications/solvers/lagrangian/icoUncoupledKinematicParcelFoam/icoUncoupledKinematicParcelFoam.C
@@ -53,6 +53,7 @@ int main(int argc, char *argv[])
 
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
index d5c7a2a4f1b..8862c401843 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
+++ b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
@@ -53,6 +53,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C
index e7bab7de837..fd5c373be82 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C
+++ b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/simpleReactingParcelFoam.C
@@ -47,6 +47,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/lagrangian/simpleCoalParcelFoam/simpleCoalParcelFoam.C b/applications/solvers/lagrangian/simpleCoalParcelFoam/simpleCoalParcelFoam.C
index 80da3612fa7..5c2a11b43ba 100644
--- a/applications/solvers/lagrangian/simpleCoalParcelFoam/simpleCoalParcelFoam.C
+++ b/applications/solvers/lagrangian/simpleCoalParcelFoam/simpleCoalParcelFoam.C
@@ -51,6 +51,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/lagrangian/sprayFoam/sprayFoam.C b/applications/solvers/lagrangian/sprayFoam/sprayFoam.C
index 5f5359c85e9..9e3201c3d14 100644
--- a/applications/solvers/lagrangian/sprayFoam/sprayFoam.C
+++ b/applications/solvers/lagrangian/sprayFoam/sprayFoam.C
@@ -49,6 +49,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelFoam.C b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelFoam.C
index 987033f4d5c..4ac6e57a651 100644
--- a/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelFoam.C
+++ b/applications/solvers/lagrangian/uncoupledKinematicParcelFoam/uncoupledKinematicParcelFoam.C
@@ -53,6 +53,7 @@ int main(int argc, char *argv[])
     #define NO_CONTROL
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/multiphase/MPPICInterFoam/MPPICInterFoam.C b/applications/solvers/multiphase/MPPICInterFoam/MPPICInterFoam.C
index 6e6c8c0bf2a..97bc2790149 100644
--- a/applications/solvers/multiphase/MPPICInterFoam/MPPICInterFoam.C
+++ b/applications/solvers/multiphase/MPPICInterFoam/MPPICInterFoam.C
@@ -58,6 +58,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C b/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C
index 2c59f602d87..99666a3531d 100644
--- a/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C
+++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C
@@ -47,6 +47,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/compressibleInterFilmFoam.C b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/compressibleInterFilmFoam.C
index b598cc31098..6ebb641b9cd 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/compressibleInterFilmFoam.C
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFilmFoam/compressibleInterFilmFoam.C
@@ -55,6 +55,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C
index 6a8a92a5b52..6364a92e827 100644
--- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C
+++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterFoam.C
@@ -58,6 +58,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C
index 7b2365b7285..c3d36e4267d 100644
--- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C
+++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C
@@ -49,6 +49,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C b/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C
index aca3a7b2e63..d2335cba937 100644
--- a/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C
+++ b/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C
@@ -54,6 +54,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/interCondensatingEvaporatingFoam.C b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/interCondensatingEvaporatingFoam.C
index 3d0635a9037..b3350d33500 100644
--- a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/interCondensatingEvaporatingFoam.C
+++ b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/interCondensatingEvaporatingFoam.C
@@ -58,6 +58,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/multiphase/interFoam/interFoam.C b/applications/solvers/multiphase/interFoam/interFoam.C
index 3c626373c86..23bba65dbb2 100644
--- a/applications/solvers/multiphase/interFoam/interFoam.C
+++ b/applications/solvers/multiphase/interFoam/interFoam.C
@@ -55,6 +55,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createDynamicFvMesh.H"
diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C b/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C
index f6be50eb464..b0db0a92a89 100644
--- a/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C
+++ b/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C
@@ -52,6 +52,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createDynamicFvMesh.H"
diff --git a/applications/solvers/multiphase/interIsoFoam/interIsoFoam.C b/applications/solvers/multiphase/interIsoFoam/interIsoFoam.C
index 0405546bc6f..07a0cf1e6df 100644
--- a/applications/solvers/multiphase/interIsoFoam/interIsoFoam.C
+++ b/applications/solvers/multiphase/interIsoFoam/interIsoFoam.C
@@ -68,6 +68,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C
index abbd9b7e434..d28c5cdca37 100644
--- a/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C
+++ b/applications/solvers/multiphase/interPhaseChangeFoam/interPhaseChangeFoam.C
@@ -58,6 +58,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C
index debca9adecc..d52c2234bc8 100644
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C
+++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam.C
@@ -50,6 +50,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C
index 08985131e9e..3f61b3f82c4 100644
--- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C
+++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C
@@ -50,6 +50,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createDynamicFvMesh.H"
diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C
index a6aac5882f5..e5e9a1af0b0 100644
--- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C
+++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C
@@ -49,6 +49,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C
index 43a1f28c939..1dfdc66ab97 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C
@@ -48,6 +48,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C
index fc068ac8121..244e3ed0cba 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C
@@ -77,6 +77,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C b/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C
index e993679c348..70fb04d64af 100644
--- a/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C
+++ b/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C
@@ -47,6 +47,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C
index e162a0d9335..24484066449 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseEulerFoam.C
@@ -46,6 +46,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementFoam.C b/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementFoam.C
index d02e420ecbd..9d6a3e9dbb3 100644
--- a/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementFoam.C
+++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementFoam.C
@@ -47,6 +47,7 @@ int main(int argc, char *argv[])
 {
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/solidEquilibriumDisplacementFoam.C b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/solidEquilibriumDisplacementFoam.C
index ce297ac89ea..61f209d3cde 100644
--- a/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/solidEquilibriumDisplacementFoam.C
+++ b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/solidEquilibriumDisplacementFoam.C
@@ -48,6 +48,7 @@ int main(int argc, char *argv[])
     #define NO_CONTROL
     #include "postProcess.H"
 
+    #include "addCheckCaseOptions.H"
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/src/OpenFOAM/include/addCheckCaseOptions.H b/src/OpenFOAM/include/addCheckCaseOptions.H
new file mode 100644
index 00000000000..e2419ce082c
--- /dev/null
+++ b/src/OpenFOAM/include/addCheckCaseOptions.H
@@ -0,0 +1,5 @@
+Foam::argList::addBoolOption
+(
+    "check",
+    "Check set-up only using a single time step"
+);
diff --git a/src/OpenFOAM/include/createMesh.H b/src/OpenFOAM/include/createMesh.H
index 8c3d989849a..37bb3ecf839 100644
--- a/src/OpenFOAM/include/createMesh.H
+++ b/src/OpenFOAM/include/createMesh.H
@@ -1,14 +1,45 @@
-Foam::Info
-    << "Create mesh for time = "
-    << runTime.timeName() << Foam::nl << Foam::endl;
+Foam::autoPtr<Foam::fvMesh> meshPtr(nullptr);
 
-Foam::fvMesh mesh
-(
-    Foam::IOobject
+if (args.optionFound("check"))
+{
+    Info<< "Operating in 'check' mode: case will run for 1 time step.  "
+        << "All checks assumed OK on a clean exit" << endl;
+
+    Field<label>::allowConstructFromLargerSize = true;
+    Field<scalar>::allowConstructFromLargerSize = true;
+    Field<vector>::allowConstructFromLargerSize = true;
+    Field<sphericalTensor>::allowConstructFromLargerSize = true;
+    Field<symmTensor>::allowConstructFromLargerSize = true;
+    Field<tensor>::allowConstructFromLargerSize = true;
+
+    // Create a simplified 1D mesh and attempt to re-create boundary conditions
+    meshPtr = dummyFvMesh::equivalent1DMesh(runTime);
+
+    // Stopping after 1 iteration of the simplified mesh
+    // Note: using saWriteNow to trigger writing/execution of function objects
+    // - saNoWriteNow will only trigger the function object execute function
+    runTime.stopAt(Foam::Time::saNoWriteNow);
+//    runTime.stopAt(Foam::Time::saWriteNow);
+}
+else
+{
+    Foam::Info
+        << "Create mesh for time = "
+        << runTime.timeName() << Foam::nl << Foam::endl;
+
+    meshPtr.reset
     (
-        Foam::fvMesh::defaultRegion,
-        runTime.timeName(),
-        runTime,
-        Foam::IOobject::MUST_READ
-    )
-);
+        new Foam::fvMesh
+        (
+            Foam::IOobject
+            (
+                Foam::fvMesh::defaultRegion,
+                runTime.timeName(),
+                runTime,
+                Foam::IOobject::MUST_READ
+            )
+        )
+    );
+}
+
+Foam::fvMesh& mesh = meshPtr();
diff --git a/src/finiteVolume/cfdTools/general/include/fvCFD.H b/src/finiteVolume/cfdTools/general/include/fvCFD.H
index f539b0a004b..5fc2f56e455 100644
--- a/src/finiteVolume/cfdTools/general/include/fvCFD.H
+++ b/src/finiteVolume/cfdTools/general/include/fvCFD.H
@@ -21,6 +21,7 @@
 #include "findRefCell.H"
 #include "IOMRFZoneList.H"
 #include "constants.H"
+#include "dummyFvMesh.H"
 
 #include "OSspecific.H"
 #include "argList.H"
-- 
GitLab