From 15545786b4700519a4fccf20ac33e12f47c74c0c Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Mon, 9 May 2016 14:08:15 +0100
Subject: [PATCH] applications/solvers: Added -postProcess option See also
 commit 30e2f912e54a54a370509685197509e846ef3a9a

---
 .../electromagnetics/mhdFoam/createControl.H  |  2 +
 .../electromagnetics/mhdFoam/createPhiB.H     | 80 ++++++++++---------
 .../electromagnetics/mhdFoam/mhdFoam.C        |  8 +-
 .../financial/financialFoam/financialFoam.C   |  6 +-
 .../pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C  |  1 +
 .../pimpleFoam/pimpleDyMFoam/createControls.H |  1 +
 .../pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C  |  3 +-
 .../incompressible/pisoFoam/createControl.H   |  1 -
 .../shallowWaterFoam/createControl.H          |  1 -
 .../incompressible/simpleFoam/createControl.H |  1 -
 .../multiphase/cavitatingFoam/createControl.H |  1 -
 .../compressibleInterFoam/createControl.H     |  1 -
 .../createControl.H                           |  1 -
 .../multiphase/driftFluxFoam/createControl.H  |  1 -
 .../multiphase/interFoam/createControl.H      |  1 -
 .../interPhaseChangeFoam/createControl.H      |  1 -
 .../multiphaseEulerFoam/createControl.H       |  1 -
 .../potentialFreeSurfaceFoam/createControl.H  |  1 -
 .../createControl.H                           |  1 -
 .../reactingTwoPhaseEulerFoam/createControl.H |  1 -
 .../twoLiquidMixingFoam/createControl.H       |  1 -
 .../twoPhaseEulerFoam/createControl.H         |  1 -
 .../solidDisplacementFoam/Make/options        |  1 +
 ...lacementFoamControls.H => createControl.H} |  3 -
 .../solidDisplacementFoam/createControls.H    |  5 ++
 .../solidDisplacementFoam/createFields.H      |  3 +
 .../solidDisplacementFoam.C                   |  9 +--
 .../Make/options                              |  1 +
 .../createControls.H                          |  1 +
 .../createFields.H                            |  2 +
 .../readSteadyStressFoamControls.H            |  2 -
 .../solidEquilibriumDisplacementFoam.C        |  8 +-
 .../functionObjectList/postProcess.H          | 11 ++-
 .../general/include/createPimpleControl.H     |  0
 .../general/include/createPisoControl.H       |  0
 .../general/include/createSimpleControl.H     |  0
 .../general/solutionControl/createControl.H   |  8 ++
 .../pimpleControl/pimpleControl.H             |  5 +-
 .../solutionControl/pisoControl/pisoControl.H |  4 +
 .../simpleControl/simpleControl.H             |  3 +
 40 files changed, 102 insertions(+), 80 deletions(-)
 create mode 100644 applications/solvers/electromagnetics/mhdFoam/createControl.H
 delete mode 100644 applications/solvers/incompressible/pisoFoam/createControl.H
 delete mode 100644 applications/solvers/incompressible/shallowWaterFoam/createControl.H
 delete mode 100644 applications/solvers/incompressible/simpleFoam/createControl.H
 delete mode 100644 applications/solvers/multiphase/cavitatingFoam/createControl.H
 delete mode 100644 applications/solvers/multiphase/compressibleInterFoam/createControl.H
 delete mode 100644 applications/solvers/multiphase/compressibleMultiphaseInterFoam/createControl.H
 delete mode 100644 applications/solvers/multiphase/driftFluxFoam/createControl.H
 delete mode 100644 applications/solvers/multiphase/interFoam/createControl.H
 delete mode 100644 applications/solvers/multiphase/interPhaseChangeFoam/createControl.H
 delete mode 100644 applications/solvers/multiphase/multiphaseEulerFoam/createControl.H
 delete mode 100644 applications/solvers/multiphase/potentialFreeSurfaceFoam/createControl.H
 delete mode 100644 applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/createControl.H
 delete mode 100644 applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/createControl.H
 delete mode 100644 applications/solvers/multiphase/twoLiquidMixingFoam/createControl.H
 delete mode 100644 applications/solvers/multiphase/twoPhaseEulerFoam/createControl.H
 rename applications/solvers/stressAnalysis/solidDisplacementFoam/{createSolidDisplacementFoamControls.H => createControl.H} (53%)
 create mode 100644 applications/solvers/stressAnalysis/solidDisplacementFoam/createControls.H
 create mode 100644 applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/createControls.H
 rename applications/solvers/incompressible/pimpleFoam/createControl.H => src/finiteVolume/cfdTools/general/include/createPimpleControl.H (100%)
 rename applications/solvers/incompressible/nonNewtonianIcoFoam/createControl.H => src/finiteVolume/cfdTools/general/include/createPisoControl.H (100%)
 rename applications/solvers/incompressible/adjointShapeOptimizationFoam/createControl.H => src/finiteVolume/cfdTools/general/include/createSimpleControl.H (100%)
 create mode 100644 src/finiteVolume/cfdTools/general/solutionControl/createControl.H

diff --git a/applications/solvers/electromagnetics/mhdFoam/createControl.H b/applications/solvers/electromagnetics/mhdFoam/createControl.H
new file mode 100644
index 0000000000..34f65a9eae
--- /dev/null
+++ b/applications/solvers/electromagnetics/mhdFoam/createControl.H
@@ -0,0 +1,2 @@
+pisoControl piso(mesh);
+pisoControl bpiso(mesh, "BPISO");
diff --git a/applications/solvers/electromagnetics/mhdFoam/createPhiB.H b/applications/solvers/electromagnetics/mhdFoam/createPhiB.H
index de0c573259..f79a80b827 100644
--- a/applications/solvers/electromagnetics/mhdFoam/createPhiB.H
+++ b/applications/solvers/electromagnetics/mhdFoam/createPhiB.H
@@ -1,47 +1,49 @@
-    IOobject phiBHeader
-    (
-        "phiB",
-        runTime.timeName(),
-        mesh,
-        IOobject::NO_READ
-    );
+IOobject phiBHeader
+(
+    "phiB",
+    runTime.timeName(),
+    mesh,
+    IOobject::NO_READ
+);
 
 
-    surfaceScalarField* phiBPtr;
+surfaceScalarField* phiBPtr = NULL;
 
-    if (phiBHeader.headerOk())
-    {
-        Info<< "Reading field phiB\n" << endl;
+if (phiBHeader.headerOk())
+{
+    Info<< "Reading face flux ";
 
-        phiBPtr = new surfaceScalarField
+    phiBPtr = new surfaceScalarField
+    (
+        IOobject
         (
-            IOobject
-            (
-                "phiB",
-                runTime.timeName(),
-                mesh,
-                IOobject::MUST_READ,
-                IOobject::AUTO_WRITE
-            ),
-            mesh
-        );
-    }
-    else
-    {
-        Info<< "Calculating face flux\n" << endl;
+            "phiB",
+            runTime.timeName(),
+            mesh,
+            IOobject::MUST_READ,
+            IOobject::AUTO_WRITE
+        ),
+        mesh
+    );
+}
+else
+{
+    Info<< "Calculating face flux ";
 
-        phiBPtr = new surfaceScalarField
+    phiBPtr = new surfaceScalarField
+    (
+        IOobject
         (
-            IOobject
-            (
-                "phiB",
-                runTime.timeName(),
-                mesh,
-                IOobject::NO_READ,
-                IOobject::AUTO_WRITE
-            ),
-            fvc::flux(B)
-        );
-    }
+            "phiB",
+            runTime.timeName(),
+            mesh,
+            IOobject::NO_READ,
+            IOobject::AUTO_WRITE
+        ),
+        fvc::flux(B)
+    );
+}
+
+surfaceScalarField& phiB = *phiBPtr;
 
-    surfaceScalarField& phiB = *phiBPtr;
+Info<< phiB.name() << nl << endl;
diff --git a/applications/solvers/electromagnetics/mhdFoam/mhdFoam.C b/applications/solvers/electromagnetics/mhdFoam/mhdFoam.C
index 43e800b48b..c1c75d94d5 100644
--- a/applications/solvers/electromagnetics/mhdFoam/mhdFoam.C
+++ b/applications/solvers/electromagnetics/mhdFoam/mhdFoam.C
@@ -55,14 +55,12 @@ Description
 
 int main(int argc, char *argv[])
 {
-    #include "setRootCase.H"
+    #include "postProcess.H"
 
+    #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
-
-    pisoControl piso(mesh);
-    pisoControl bpiso(mesh, "BPISO");
-
+    #include "createControl.H"
     #include "createFields.H"
     #include "initContinuityErrs.H"
 
diff --git a/applications/solvers/financial/financialFoam/financialFoam.C b/applications/solvers/financial/financialFoam/financialFoam.C
index 16640d7ce7..c146b13cb4 100644
--- a/applications/solvers/financial/financialFoam/financialFoam.C
+++ b/applications/solvers/financial/financialFoam/financialFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -37,8 +37,10 @@ Description
 
 int main(int argc, char *argv[])
 {
-    #include "setRootCase.H"
+    #define NO_CONTROL
+    #include "postProcess.H"
 
+    #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
     #include "createFields.H"
diff --git a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C
index d1b8bc1976..526ffb1ca4 100644
--- a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C
+++ b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C
@@ -44,6 +44,7 @@ Description
 int main(int argc, char *argv[])
 {
     #include "postProcess.H"
+
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/createControls.H b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/createControls.H
index ca5e25906b..bee8bd4f39 100644
--- a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/createControls.H
+++ b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/createControls.H
@@ -1,3 +1,4 @@
+#include "createControl.H"
 #include "createTimeControls.H"
 
 bool correctPhi
diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C
index 23bc0e0618..d30bbaa67b 100644
--- a/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C
+++ b/applications/solvers/incompressible/pimpleFoam/pimpleDyMFoam/pimpleDyMFoam.C
@@ -50,12 +50,11 @@ int main(int argc, char *argv[])
     #include "createTime.H"
     #include "createDynamicFvMesh.H"
     #include "initContinuityErrs.H"
-    #include "createControl.H"
+    #include "createControls.H"
     #include "createFields.H"
     #include "createUf.H"
     #include "createMRF.H"
     #include "createFvOptions.H"
-    #include "createControls.H"
     #include "CourantNo.H"
     #include "setInitialDeltaT.H"
 
diff --git a/applications/solvers/incompressible/pisoFoam/createControl.H b/applications/solvers/incompressible/pisoFoam/createControl.H
deleted file mode 100644
index a721b74052..0000000000
--- a/applications/solvers/incompressible/pisoFoam/createControl.H
+++ /dev/null
@@ -1 +0,0 @@
-pisoControl piso(mesh);
diff --git a/applications/solvers/incompressible/shallowWaterFoam/createControl.H b/applications/solvers/incompressible/shallowWaterFoam/createControl.H
deleted file mode 100644
index cf82a59b35..0000000000
--- a/applications/solvers/incompressible/shallowWaterFoam/createControl.H
+++ /dev/null
@@ -1 +0,0 @@
-pimpleControl pimple(mesh);
diff --git a/applications/solvers/incompressible/simpleFoam/createControl.H b/applications/solvers/incompressible/simpleFoam/createControl.H
deleted file mode 100644
index 36ebed126c..0000000000
--- a/applications/solvers/incompressible/simpleFoam/createControl.H
+++ /dev/null
@@ -1 +0,0 @@
-simpleControl simple(mesh);
diff --git a/applications/solvers/multiphase/cavitatingFoam/createControl.H b/applications/solvers/multiphase/cavitatingFoam/createControl.H
deleted file mode 100644
index cf82a59b35..0000000000
--- a/applications/solvers/multiphase/cavitatingFoam/createControl.H
+++ /dev/null
@@ -1 +0,0 @@
-pimpleControl pimple(mesh);
diff --git a/applications/solvers/multiphase/compressibleInterFoam/createControl.H b/applications/solvers/multiphase/compressibleInterFoam/createControl.H
deleted file mode 100644
index cf82a59b35..0000000000
--- a/applications/solvers/multiphase/compressibleInterFoam/createControl.H
+++ /dev/null
@@ -1 +0,0 @@
-pimpleControl pimple(mesh);
diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/createControl.H b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/createControl.H
deleted file mode 100644
index cf82a59b35..0000000000
--- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/createControl.H
+++ /dev/null
@@ -1 +0,0 @@
-pimpleControl pimple(mesh);
diff --git a/applications/solvers/multiphase/driftFluxFoam/createControl.H b/applications/solvers/multiphase/driftFluxFoam/createControl.H
deleted file mode 100644
index cf82a59b35..0000000000
--- a/applications/solvers/multiphase/driftFluxFoam/createControl.H
+++ /dev/null
@@ -1 +0,0 @@
-pimpleControl pimple(mesh);
diff --git a/applications/solvers/multiphase/interFoam/createControl.H b/applications/solvers/multiphase/interFoam/createControl.H
deleted file mode 100644
index cf82a59b35..0000000000
--- a/applications/solvers/multiphase/interFoam/createControl.H
+++ /dev/null
@@ -1 +0,0 @@
-pimpleControl pimple(mesh);
diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/createControl.H b/applications/solvers/multiphase/interPhaseChangeFoam/createControl.H
deleted file mode 100644
index cf82a59b35..0000000000
--- a/applications/solvers/multiphase/interPhaseChangeFoam/createControl.H
+++ /dev/null
@@ -1 +0,0 @@
-pimpleControl pimple(mesh);
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/createControl.H b/applications/solvers/multiphase/multiphaseEulerFoam/createControl.H
deleted file mode 100644
index cf82a59b35..0000000000
--- a/applications/solvers/multiphase/multiphaseEulerFoam/createControl.H
+++ /dev/null
@@ -1 +0,0 @@
-pimpleControl pimple(mesh);
diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/createControl.H b/applications/solvers/multiphase/potentialFreeSurfaceFoam/createControl.H
deleted file mode 100644
index cf82a59b35..0000000000
--- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/createControl.H
+++ /dev/null
@@ -1 +0,0 @@
-pimpleControl pimple(mesh);
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/createControl.H b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/createControl.H
deleted file mode 100644
index cf82a59b35..0000000000
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/createControl.H
+++ /dev/null
@@ -1 +0,0 @@
-pimpleControl pimple(mesh);
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/createControl.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/createControl.H
deleted file mode 100644
index cf82a59b35..0000000000
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/createControl.H
+++ /dev/null
@@ -1 +0,0 @@
-pimpleControl pimple(mesh);
diff --git a/applications/solvers/multiphase/twoLiquidMixingFoam/createControl.H b/applications/solvers/multiphase/twoLiquidMixingFoam/createControl.H
deleted file mode 100644
index cf82a59b35..0000000000
--- a/applications/solvers/multiphase/twoLiquidMixingFoam/createControl.H
+++ /dev/null
@@ -1 +0,0 @@
-pimpleControl pimple(mesh);
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/createControl.H b/applications/solvers/multiphase/twoPhaseEulerFoam/createControl.H
deleted file mode 100644
index cf82a59b35..0000000000
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/createControl.H
+++ /dev/null
@@ -1 +0,0 @@
-pimpleControl pimple(mesh);
diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/Make/options b/applications/solvers/stressAnalysis/solidDisplacementFoam/Make/options
index cb550fefd6..28d26a7fd1 100644
--- a/applications/solvers/stressAnalysis/solidDisplacementFoam/Make/options
+++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/Make/options
@@ -1,4 +1,5 @@
 EXE_INC = \
+    -I. \
     -ItractionDisplacement/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude
diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/createSolidDisplacementFoamControls.H b/applications/solvers/stressAnalysis/solidDisplacementFoam/createControl.H
similarity index 53%
rename from applications/solvers/stressAnalysis/solidDisplacementFoam/createSolidDisplacementFoamControls.H
rename to applications/solvers/stressAnalysis/solidDisplacementFoam/createControl.H
index a01c72dfa9..edd35297d5 100644
--- a/applications/solvers/stressAnalysis/solidDisplacementFoam/createSolidDisplacementFoamControls.H
+++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/createControl.H
@@ -1,6 +1,3 @@
 const dictionary& stressControl = mesh.solutionDict().subDict("stressAnalysis");
 
-int nCorr = stressControl.lookupOrDefault<int>("nCorrectors", 1);
-
-scalar convergenceTolerance(readScalar(stressControl.lookup("D")));
 Switch compactNormalStress(stressControl.lookup("compactNormalStress"));
diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/createControls.H b/applications/solvers/stressAnalysis/solidDisplacementFoam/createControls.H
new file mode 100644
index 0000000000..dec25226f1
--- /dev/null
+++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/createControls.H
@@ -0,0 +1,5 @@
+#include "createControl.H"
+
+int nCorr = stressControl.lookupOrDefault<int>("nCorrectors", 1);
+
+scalar convergenceTolerance(readScalar(stressControl.lookup("D")));
diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/createFields.H b/applications/solvers/stressAnalysis/solidDisplacementFoam/createFields.H
index 004cda1732..ffaada3879 100644
--- a/applications/solvers/stressAnalysis/solidDisplacementFoam/createFields.H
+++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/createFields.H
@@ -1,3 +1,6 @@
+#include "readMechanicalProperties.H"
+#include "readThermalProperties.H"
+
 Info<< "Reading field D\n" << endl;
 volVectorField D
 (
diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementFoam.C b/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementFoam.C
index f79242dcf0..3dddea7d4d 100644
--- a/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementFoam.C
+++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,13 +42,12 @@ Description
 
 int main(int argc, char *argv[])
 {
-    #include "setRootCase.H"
+    #include "postProcess.H"
 
+    #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
-    #include "readMechanicalProperties.H"
-    #include "readThermalProperties.H"
-    #include "createSolidDisplacementFoamControls.H"
+    #include "createControls.H"
     #include "createFields.H"
 
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/Make/options b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/Make/options
index 2393d0bd6f..5201a0cd11 100644
--- a/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/Make/options
+++ b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/Make/options
@@ -1,4 +1,5 @@
 EXE_INC = \
+    -I. \
     -I../solidDisplacementFoam \
     -ItractionDisplacementCorrectionStress \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
diff --git a/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/createControls.H b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/createControls.H
new file mode 100644
index 0000000000..95d74370cc
--- /dev/null
+++ b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/createControls.H
@@ -0,0 +1 @@
+const dictionary& stressControl = mesh.solutionDict().subDict("stressAnalysis");
diff --git a/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/createFields.H b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/createFields.H
index cff3ae2b36..cdde961ab8 100644
--- a/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/createFields.H
+++ b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/createFields.H
@@ -1,3 +1,5 @@
+#include "readMechanicalProperties.H"
+
 Info<< "Reading displacement field D\n" << endl;
 volVectorField D
 (
diff --git a/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/readSteadyStressFoamControls.H b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/readSteadyStressFoamControls.H
index fb75502946..dd7af1704a 100644
--- a/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/readSteadyStressFoamControls.H
+++ b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/readSteadyStressFoamControls.H
@@ -1,3 +1 @@
-const dictionary& stressControl = mesh.solutionDict().subDict("stressAnalysis");
-
 scalar accFac(readScalar(stressControl.lookup("accelerationFactor")));
diff --git a/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/solidEquilibriumDisplacementFoam.C b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/solidEquilibriumDisplacementFoam.C
index 240593d814..93c1c0de4b 100644
--- a/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/solidEquilibriumDisplacementFoam.C
+++ b/applications/solvers/stressAnalysis/solidEquilibriumDisplacementFoam/solidEquilibriumDisplacementFoam.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,11 +42,13 @@ Description
 
 int main(int argc, char *argv[])
 {
-    #include "setRootCase.H"
+    #define NO_CONTROL
+    #include "postProcess.H"
 
+    #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
-    #include "readMechanicalProperties.H"
+    #include "createControls.H"
     #include "createFields.H"
 
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/OpenFOAM/db/functionObjects/functionObjectList/postProcess.H b/src/OpenFOAM/db/functionObjects/functionObjectList/postProcess.H
index 2a16ae115a..20b7abfac7 100644
--- a/src/OpenFOAM/db/functionObjects/functionObjectList/postProcess.H
+++ b/src/OpenFOAM/db/functionObjects/functionObjectList/postProcess.H
@@ -39,15 +39,15 @@ Description
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #ifndef CREATE_MESH
-#define CREATE_MESH createMesh.H
+    #define CREATE_MESH createMesh.H
 #endif
 
 #ifndef CREATE_FIELDS
-#define CREATE_FIELDS createFields.H
+    #define CREATE_FIELDS createFields.H
 #endif
 
 #ifndef CREATE_CONTROL
-#define CREATE_CONTROL createControl.H
+    #define CREATE_CONTROL createControl.H
 #endif
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -55,6 +55,8 @@ Description
 #define INCLUDE_FILE(X) INCLUDE_FILE2(X)
 #define INCLUDE_FILE2(X) #X
 
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
 Foam::argList::addBoolOption
 (
     argList::postProcessOptionName,
@@ -71,7 +73,10 @@ if (argList::postProcess(argc, argv))
     #include "createTime.H"
     Foam::instantList timeDirs = Foam::timeSelector::select0(runTime, args);
     #include INCLUDE_FILE(CREATE_MESH)
+
+    #ifndef NO_CONTROL
     #include INCLUDE_FILE(CREATE_CONTROL)
+    #endif
 
     // Externally stored dictionary for functionObjectList
     // if not constructed from runTime
diff --git a/applications/solvers/incompressible/pimpleFoam/createControl.H b/src/finiteVolume/cfdTools/general/include/createPimpleControl.H
similarity index 100%
rename from applications/solvers/incompressible/pimpleFoam/createControl.H
rename to src/finiteVolume/cfdTools/general/include/createPimpleControl.H
diff --git a/applications/solvers/incompressible/nonNewtonianIcoFoam/createControl.H b/src/finiteVolume/cfdTools/general/include/createPisoControl.H
similarity index 100%
rename from applications/solvers/incompressible/nonNewtonianIcoFoam/createControl.H
rename to src/finiteVolume/cfdTools/general/include/createPisoControl.H
diff --git a/applications/solvers/incompressible/adjointShapeOptimizationFoam/createControl.H b/src/finiteVolume/cfdTools/general/include/createSimpleControl.H
similarity index 100%
rename from applications/solvers/incompressible/adjointShapeOptimizationFoam/createControl.H
rename to src/finiteVolume/cfdTools/general/include/createSimpleControl.H
diff --git a/src/finiteVolume/cfdTools/general/solutionControl/createControl.H b/src/finiteVolume/cfdTools/general/solutionControl/createControl.H
new file mode 100644
index 0000000000..7d06285a1b
--- /dev/null
+++ b/src/finiteVolume/cfdTools/general/solutionControl/createControl.H
@@ -0,0 +1,8 @@
+#if defined(NO_CONTROL)
+#elif defined(PISO_CONTROL)
+    #include "createPisoControl.H"
+#elif defined(PIMPLE_CONTROL)
+    #include "createPimpleControl.H"
+#elif defined(SIMPLE_CONTROL)
+    #include "createSimpleControl.H"
+#endif
diff --git a/src/finiteVolume/cfdTools/general/solutionControl/pimpleControl/pimpleControl.H b/src/finiteVolume/cfdTools/general/solutionControl/pimpleControl/pimpleControl.H
index 1d78752b33..b1ff49b686 100644
--- a/src/finiteVolume/cfdTools/general/solutionControl/pimpleControl/pimpleControl.H
+++ b/src/finiteVolume/cfdTools/general/solutionControl/pimpleControl/pimpleControl.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -38,6 +38,9 @@ Description
 
 #include "solutionControl.H"
 
+//- Declare that pimpleControl will be used
+#define PIMPLE_CONTROL
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
diff --git a/src/finiteVolume/cfdTools/general/solutionControl/pisoControl/pisoControl.H b/src/finiteVolume/cfdTools/general/solutionControl/pisoControl/pisoControl.H
index 9b5a85de74..eede038374 100644
--- a/src/finiteVolume/cfdTools/general/solutionControl/pisoControl/pisoControl.H
+++ b/src/finiteVolume/cfdTools/general/solutionControl/pisoControl/pisoControl.H
@@ -34,6 +34,10 @@ Description
 
 #include "pimpleControl.H"
 
+//- Declare that pisoControl will be used
+#define PISO_CONTROL
+#undef PIMPLE_CONTROL
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
diff --git a/src/finiteVolume/cfdTools/general/solutionControl/simpleControl/simpleControl.H b/src/finiteVolume/cfdTools/general/solutionControl/simpleControl/simpleControl.H
index a9b3b5b49b..8a44079a5c 100644
--- a/src/finiteVolume/cfdTools/general/solutionControl/simpleControl/simpleControl.H
+++ b/src/finiteVolume/cfdTools/general/solutionControl/simpleControl/simpleControl.H
@@ -35,6 +35,9 @@ Description
 
 #include "solutionControl.H"
 
+//- Declare that pimpleControl will be used
+#define SIMPLE_CONTROL
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
-- 
GitLab