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

---
 applications/solvers/combustion/PDRFoam/PDRFoam.C   |  9 ++++-----
 .../solvers/combustion/PDRFoam/createFieldRefs.H    |  1 +
 .../solvers/combustion/PDRFoam/createFields.H       |  3 ++-
 applications/solvers/combustion/XiFoam/XiFoam.C     |  9 ++++-----
 .../solvers/combustion/XiFoam/createFieldRefs.H     |  1 +
 .../solvers/combustion/XiFoam/createFields.H        |  3 ++-
 applications/solvers/combustion/chemFoam/chemFoam.C |  7 ++++++-
 .../solvers/combustion/chemFoam/createFieldRefs.H   |  4 ++++
 .../solvers/combustion/chemFoam/createFields.H      |  6 ------
 .../solvers/combustion/coldEngineFoam/Make/options  |  1 +
 .../combustion/coldEngineFoam/coldEngineFoam.C      | 12 +++++++-----
 .../combustion/coldEngineFoam/createFieldRefs.H     |  2 ++
 .../combustion/coldEngineFoam/createFields.H        |  3 ---
 .../solvers/combustion/engineFoam/engineFoam.C      | 13 +++++++------
 .../solvers/combustion/fireFoam/createFieldRefs.H   |  3 +++
 .../solvers/combustion/fireFoam/createFields.H      |  7 +++++--
 .../combustion/fireFoam/createSurfaceFilmModel.H    |  1 -
 applications/solvers/combustion/fireFoam/fireFoam.C | 12 ++++--------
 .../combustion/reactingFoam/createFieldRefs.H       |  2 ++
 .../solvers/combustion/reactingFoam/createFields.H  |  4 ++--
 .../solvers/combustion/reactingFoam/reactingFoam.C  | 10 +++++-----
 .../rhoReactingBuoyantFoam/Make/options             |  1 +
 .../rhoReactingBuoyantFoam/createFieldRefs.H        |  2 ++
 .../rhoReactingBuoyantFoam/createFields.H           |  4 ++--
 .../rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C |  8 ++++----
 .../reactingFoam/rhoReactingFoam/Make/options       |  1 +
 .../reactingFoam/rhoReactingFoam/createFieldRefs.H  |  2 ++
 .../reactingFoam/rhoReactingFoam/createFields.H     |  4 ++--
 .../reactingFoam/rhoReactingFoam/rhoReactingFoam.C  | 10 +++++-----
 .../functionObjectList/postProcess.H                |  6 +++++-
 30 files changed, 86 insertions(+), 65 deletions(-)
 create mode 100644 applications/solvers/combustion/PDRFoam/createFieldRefs.H
 create mode 100644 applications/solvers/combustion/XiFoam/createFieldRefs.H
 create mode 100644 applications/solvers/combustion/chemFoam/createFieldRefs.H
 create mode 100644 applications/solvers/combustion/coldEngineFoam/createFieldRefs.H
 create mode 100644 applications/solvers/combustion/fireFoam/createFieldRefs.H
 create mode 100644 applications/solvers/combustion/reactingFoam/createFieldRefs.H
 create mode 100644 applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/createFieldRefs.H
 create mode 100644 applications/solvers/combustion/reactingFoam/rhoReactingFoam/createFieldRefs.H

diff --git a/applications/solvers/combustion/PDRFoam/PDRFoam.C b/applications/solvers/combustion/PDRFoam/PDRFoam.C
index 4d3c904dc3..6d0a6dca78 100644
--- a/applications/solvers/combustion/PDRFoam/PDRFoam.C
+++ b/applications/solvers/combustion/PDRFoam/PDRFoam.C
@@ -83,17 +83,16 @@ Description
 
 int main(int argc, char *argv[])
 {
-    #include "setRootCase.H"
+    #include "postProcess.H"
 
+    #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
-
-    pimpleControl pimple(mesh);
-
+    #include "createControl.H"
     #include "readCombustionProperties.H"
     #include "readGravitationalAcceleration.H"
     #include "createFields.H"
-    #include "createMRF.H"
+    #include "createFieldRefs.H"
     #include "createFvOptions.H"
     #include "initContinuityErrs.H"
     #include "createTimeControls.H"
diff --git a/applications/solvers/combustion/PDRFoam/createFieldRefs.H b/applications/solvers/combustion/PDRFoam/createFieldRefs.H
new file mode 100644
index 0000000000..502b3b4230
--- /dev/null
+++ b/applications/solvers/combustion/PDRFoam/createFieldRefs.H
@@ -0,0 +1 @@
+const volScalarField& psi = thermo.psi();
diff --git a/applications/solvers/combustion/PDRFoam/createFields.H b/applications/solvers/combustion/PDRFoam/createFields.H
index 95f42a03d6..1341894242 100644
--- a/applications/solvers/combustion/PDRFoam/createFields.H
+++ b/applications/solvers/combustion/PDRFoam/createFields.H
@@ -23,7 +23,6 @@ volScalarField rho
 );
 
 volScalarField& p = thermo.p();
-const volScalarField& psi = thermo.psi();
 
 volScalarField& b = composition.Y("b");
 Info<< "min(b) = " << min(b).value() << endl;
@@ -227,3 +226,5 @@ fields.add(b);
 fields.add(thermo.he());
 fields.add(thermo.heu());
 flameWrinkling->addXi(fields);
+
+#include "createMRF.H"
diff --git a/applications/solvers/combustion/XiFoam/XiFoam.C b/applications/solvers/combustion/XiFoam/XiFoam.C
index 7569b598f1..7ce928ac96 100644
--- a/applications/solvers/combustion/XiFoam/XiFoam.C
+++ b/applications/solvers/combustion/XiFoam/XiFoam.C
@@ -62,16 +62,15 @@ Description
 
 int main(int argc, char *argv[])
 {
-    #include "setRootCase.H"
+    #include "postProcess.H"
 
+    #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
-
-    pimpleControl pimple(mesh);
-
+    #include "createControl.H"
     #include "readCombustionProperties.H"
     #include "createFields.H"
-    #include "createMRF.H"
+    #include "createFieldRefs.H"
     #include "createFvOptions.H"
     #include "initContinuityErrs.H"
     #include "createTimeControls.H"
diff --git a/applications/solvers/combustion/XiFoam/createFieldRefs.H b/applications/solvers/combustion/XiFoam/createFieldRefs.H
new file mode 100644
index 0000000000..502b3b4230
--- /dev/null
+++ b/applications/solvers/combustion/XiFoam/createFieldRefs.H
@@ -0,0 +1 @@
+const volScalarField& psi = thermo.psi();
diff --git a/applications/solvers/combustion/XiFoam/createFields.H b/applications/solvers/combustion/XiFoam/createFields.H
index fa573b9b77..9dd4b6560f 100644
--- a/applications/solvers/combustion/XiFoam/createFields.H
+++ b/applications/solvers/combustion/XiFoam/createFields.H
@@ -23,7 +23,6 @@ volScalarField rho
 );
 
 volScalarField& p = thermo.p();
-const volScalarField& psi = thermo.psi();
 
 volScalarField& b = composition.Y("b");
 Info<< "min(b) = " << min(b).value() << endl;
@@ -139,3 +138,5 @@ if (composition.contains("ft"))
 fields.add(b);
 fields.add(thermo.he());
 fields.add(thermo.heu());
+
+#include "createMRF.H"
diff --git a/applications/solvers/combustion/chemFoam/chemFoam.C b/applications/solvers/combustion/chemFoam/chemFoam.C
index 7a3f5e0b84..2eac53e95f 100644
--- a/applications/solvers/combustion/chemFoam/chemFoam.C
+++ b/applications/solvers/combustion/chemFoam/chemFoam.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
@@ -48,10 +48,15 @@ int main(int argc, char *argv[])
 {
     argList::noParallel();
 
+    #define CREATE_MESH createSingleCellMesh.H
+    #define NO_CONTROL
+    #include "postProcess.H"
+
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createSingleCellMesh.H"
     #include "createFields.H"
+    #include "createFieldRefs.H"
     #include "readInitialConditions.H"
     #include "createControls.H"
 
diff --git a/applications/solvers/combustion/chemFoam/createFieldRefs.H b/applications/solvers/combustion/chemFoam/createFieldRefs.H
new file mode 100644
index 0000000000..ef34180b32
--- /dev/null
+++ b/applications/solvers/combustion/chemFoam/createFieldRefs.H
@@ -0,0 +1,4 @@
+scalar dtChem = refCast<const psiChemistryModel>(chemistry).deltaTChem()[0];
+basicMultiComponentMixture& composition = thermo.composition();
+PtrList<volScalarField>& Y = composition.Y();
+volScalarField& p = thermo.p();
diff --git a/applications/solvers/combustion/chemFoam/createFields.H b/applications/solvers/combustion/chemFoam/createFields.H
index 2d2e9d1ebd..62be3ce0dd 100644
--- a/applications/solvers/combustion/chemFoam/createFields.H
+++ b/applications/solvers/combustion/chemFoam/createFields.H
@@ -27,14 +27,10 @@
     autoPtr<psiChemistryModel> pChemistry(psiChemistryModel::New(mesh));
 
     psiChemistryModel& chemistry = pChemistry();
-    scalar dtChem = refCast<const psiChemistryModel>(chemistry).deltaTChem()[0];
 
     psiReactionThermo& thermo = chemistry.thermo();
     thermo.validate(args.executable(), "h");
 
-    basicMultiComponentMixture& composition = thermo.composition();
-    PtrList<volScalarField>& Y = composition.Y();
-
     volScalarField rho
     (
         IOobject
@@ -48,8 +44,6 @@
         thermo.rho()
     );
 
-    volScalarField& p = thermo.p();
-
     volScalarField Rspecific
     (
         IOobject
diff --git a/applications/solvers/combustion/coldEngineFoam/Make/options b/applications/solvers/combustion/coldEngineFoam/Make/options
index 6ef06f8991..ac4a300545 100644
--- a/applications/solvers/combustion/coldEngineFoam/Make/options
+++ b/applications/solvers/combustion/coldEngineFoam/Make/options
@@ -1,4 +1,5 @@
 EXE_INC = \
+    -I. \
     -I../engineFoam \
     -I../XiFoam \
     -I../../compressible/rhoPimpleFoam \
diff --git a/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C b/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C
index 654c59f1bc..45ff68f17b 100644
--- a/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C
+++ b/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.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,14 +42,16 @@ Description
 
 int main(int argc, char *argv[])
 {
-    #include "setRootCase.H"
+    #define CREATE_TIME createEngineTime.H
+    #define CREATE_MESH createEngineMesh.H
+    #include "postProcess.H"
 
+    #include "setRootCase.H"
     #include "createEngineTime.H"
     #include "createEngineMesh.H"
-
-    pimpleControl pimple(mesh);
-
+    #include "createControl.H"
     #include "createFields.H"
+    #include "createFieldRefs.H"
     #include "createMRF.H"
     #include "createFvOptions.H"
     #include "createRhoUf.H"
diff --git a/applications/solvers/combustion/coldEngineFoam/createFieldRefs.H b/applications/solvers/combustion/coldEngineFoam/createFieldRefs.H
new file mode 100644
index 0000000000..6e1184a1fa
--- /dev/null
+++ b/applications/solvers/combustion/coldEngineFoam/createFieldRefs.H
@@ -0,0 +1,2 @@
+const volScalarField& psi = thermo.psi();
+const volScalarField& T = thermo.T();
diff --git a/applications/solvers/combustion/coldEngineFoam/createFields.H b/applications/solvers/combustion/coldEngineFoam/createFields.H
index f78e5bde29..6a131ef8a8 100644
--- a/applications/solvers/combustion/coldEngineFoam/createFields.H
+++ b/applications/solvers/combustion/coldEngineFoam/createFields.H
@@ -21,9 +21,6 @@
     );
 
     volScalarField& p = thermo.p();
-    const volScalarField& psi = thermo.psi();
-    const volScalarField& T = thermo.T();
-
 
     Info<< "\nReading field U\n" << endl;
     volVectorField U
diff --git a/applications/solvers/combustion/engineFoam/engineFoam.C b/applications/solvers/combustion/engineFoam/engineFoam.C
index f72e111a2a..3ae2bd927c 100644
--- a/applications/solvers/combustion/engineFoam/engineFoam.C
+++ b/applications/solvers/combustion/engineFoam/engineFoam.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
@@ -65,16 +65,17 @@ Description
 
 int main(int argc, char *argv[])
 {
-    #include "setRootCase.H"
+    #define CREATE_TIME createEngineTime.H
+    #define CREATE_MESH createEngineMesh.H
+    #include "postProcess.H"
 
+    #include "setRootCase.H"
     #include "createEngineTime.H"
     #include "createEngineMesh.H"
-
-    pimpleControl pimple(mesh);
-
+    #include "createControl.H"
     #include "readCombustionProperties.H"
     #include "createFields.H"
-    #include "createMRF.H"
+    #include "createFieldRefs.H"
     #include "createFvOptions.H"
     #include "createRhoUf.H"
     #include "initContinuityErrs.H"
diff --git a/applications/solvers/combustion/fireFoam/createFieldRefs.H b/applications/solvers/combustion/fireFoam/createFieldRefs.H
new file mode 100644
index 0000000000..b11e3bc4c2
--- /dev/null
+++ b/applications/solvers/combustion/fireFoam/createFieldRefs.H
@@ -0,0 +1,3 @@
+const volScalarField& psi = thermo.psi();
+const volScalarField& T = thermo.T();
+filmModelType& surfaceFilm = tsurfaceFilm();
diff --git a/applications/solvers/combustion/fireFoam/createFields.H b/applications/solvers/combustion/fireFoam/createFields.H
index 924fcdc1e7..5dac3903f2 100644
--- a/applications/solvers/combustion/fireFoam/createFields.H
+++ b/applications/solvers/combustion/fireFoam/createFields.H
@@ -35,8 +35,6 @@ volScalarField rho
 );
 
 volScalarField& p = thermo.p();
-const volScalarField& T = thermo.T();
-const volScalarField& psi = thermo.psi();
 
 Info<< "\nReading field U\n" << endl;
 volVectorField U
@@ -156,3 +154,8 @@ volScalarField dpdt
 
 Info<< "Creating field kinetic energy K\n" << endl;
 volScalarField K("K", 0.5*magSqr(U));
+
+#include "createClouds.H"
+#include "createSurfaceFilmModel.H"
+#include "createPyrolysisModel.H"
+#include "createRadiationModel.H"
diff --git a/applications/solvers/combustion/fireFoam/createSurfaceFilmModel.H b/applications/solvers/combustion/fireFoam/createSurfaceFilmModel.H
index 8ddcc77a5f..ffdbcbf6a9 100644
--- a/applications/solvers/combustion/fireFoam/createSurfaceFilmModel.H
+++ b/applications/solvers/combustion/fireFoam/createSurfaceFilmModel.H
@@ -3,4 +3,3 @@ Info<< "\nConstructing surface film model" << endl;
 typedef regionModels::surfaceFilmModels::surfaceFilmModel filmModelType;
 
 autoPtr<filmModelType> tsurfaceFilm(filmModelType::New(mesh, g));
-filmModelType& surfaceFilm = tsurfaceFilm();
diff --git a/applications/solvers/combustion/fireFoam/fireFoam.C b/applications/solvers/combustion/fireFoam/fireFoam.C
index 7065b4e01e..04d0c70517 100644
--- a/applications/solvers/combustion/fireFoam/fireFoam.C
+++ b/applications/solvers/combustion/fireFoam/fireFoam.C
@@ -46,19 +46,15 @@ Description
 
 int main(int argc, char *argv[])
 {
-    #include "setRootCase.H"
+    #include "postProcess.H"
 
+    #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
-
-    pimpleControl pimple(mesh);
-
+    #include "createControl.H"
     #include "createFields.H"
+    #include "createFieldRefs.H"
     #include "createFvOptions.H"
-    #include "createClouds.H"
-    #include "createSurfaceFilmModel.H"
-    #include "createPyrolysisModel.H"
-    #include "createRadiationModel.H"
     #include "initContinuityErrs.H"
     #include "createTimeControls.H"
     #include "compressibleCourantNo.H"
diff --git a/applications/solvers/combustion/reactingFoam/createFieldRefs.H b/applications/solvers/combustion/reactingFoam/createFieldRefs.H
new file mode 100644
index 0000000000..6e1184a1fa
--- /dev/null
+++ b/applications/solvers/combustion/reactingFoam/createFieldRefs.H
@@ -0,0 +1,2 @@
+const volScalarField& psi = thermo.psi();
+const volScalarField& T = thermo.T();
diff --git a/applications/solvers/combustion/reactingFoam/createFields.H b/applications/solvers/combustion/reactingFoam/createFields.H
index 71c805c43b..da22c1ae56 100644
--- a/applications/solvers/combustion/reactingFoam/createFields.H
+++ b/applications/solvers/combustion/reactingFoam/createFields.H
@@ -40,8 +40,6 @@ volVectorField U
 
 
 volScalarField& p = thermo.p();
-const volScalarField& psi = thermo.psi();
-const volScalarField& T = thermo.T();
 
 #include "compressibleCreatePhi.H"
 
@@ -123,3 +121,5 @@ volScalarField dQ
     mesh,
     dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
 );
+
+#include "createMRF.H"
diff --git a/applications/solvers/combustion/reactingFoam/reactingFoam.C b/applications/solvers/combustion/reactingFoam/reactingFoam.C
index 34e4265fc4..efcc5eb0e1 100644
--- a/applications/solvers/combustion/reactingFoam/reactingFoam.C
+++ b/applications/solvers/combustion/reactingFoam/reactingFoam.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,17 +42,17 @@ Description
 
 int main(int argc, char *argv[])
 {
+    #include "postProcess.H"
+
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
-
-    pimpleControl pimple(mesh);
-
+    #include "createControl.H"
     #include "createTimeControls.H"
     #include "createRDeltaT.H"
     #include "initContinuityErrs.H"
     #include "createFields.H"
-    #include "createMRF.H"
+    #include "createFieldRefs.H"
     #include "createFvOptions.H"
 
     turbulence->validate();
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/Make/options b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/Make/options
index e7b46c4e00..b403a0268e 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/Make/options
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/Make/options
@@ -1,4 +1,5 @@
 EXE_INC = \
+    -I. \
     -I$(FOAM_SOLVERS)/combustion/reactingFoam \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/createFieldRefs.H b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/createFieldRefs.H
new file mode 100644
index 0000000000..6e1184a1fa
--- /dev/null
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/createFieldRefs.H
@@ -0,0 +1,2 @@
+const volScalarField& psi = thermo.psi();
+const volScalarField& T = thermo.T();
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/createFields.H b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/createFields.H
index 9caa9effab..1d3d21f916 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/createFields.H
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/createFields.H
@@ -40,8 +40,6 @@ volVectorField U
 
 
 volScalarField& p = thermo.p();
-const volScalarField& psi = thermo.psi();
-const volScalarField& T = thermo.T();
 
 
 #include "compressibleCreatePhi.H"
@@ -123,3 +121,5 @@ volScalarField dQ
     mesh,
     dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
 );
+
+#include "createMRF.H"
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
index bff96fdb89..8aa227c65b 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
@@ -43,17 +43,17 @@ Description
 
 int main(int argc, char *argv[])
 {
+    #include "postProcess.H"
+
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
-
-    pimpleControl pimple(mesh);
-
+    #include "createControl.H"
     #include "createTimeControls.H"
     #include "createRDeltaT.H"
     #include "initContinuityErrs.H"
     #include "createFields.H"
-    #include "createMRF.H"
+    #include "createFieldRefs.H"
     #include "createFvOptions.H"
 
     turbulence->validate();
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/Make/options b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/Make/options
index e7b46c4e00..b403a0268e 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/Make/options
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/Make/options
@@ -1,4 +1,5 @@
 EXE_INC = \
+    -I. \
     -I$(FOAM_SOLVERS)/combustion/reactingFoam \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/createFieldRefs.H b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/createFieldRefs.H
new file mode 100644
index 0000000000..6e1184a1fa
--- /dev/null
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/createFieldRefs.H
@@ -0,0 +1,2 @@
+const volScalarField& psi = thermo.psi();
+const volScalarField& T = thermo.T();
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/createFields.H b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/createFields.H
index 32dc5f0483..5d016de018 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/createFields.H
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/createFields.H
@@ -40,8 +40,6 @@ volVectorField U
 
 
 volScalarField& p = thermo.p();
-const volScalarField& psi = thermo.psi();
-const volScalarField& T = thermo.T();
 
 #include "compressibleCreatePhi.H"
 
@@ -102,3 +100,5 @@ volScalarField dQ
     mesh,
     dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
 );
+
+#include "createMRF.H"
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
index 3db03fc454..479399a2b0 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.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
@@ -43,17 +43,17 @@ Description
 
 int main(int argc, char *argv[])
 {
+    #include "postProcess.H"
+
     #include "setRootCase.H"
     #include "createTime.H"
     #include "createMesh.H"
-
-    pimpleControl pimple(mesh);
-
+    #include "createControl.H"
     #include "createTimeControls.H"
     #include "createRDeltaT.H"
     #include "initContinuityErrs.H"
     #include "createFields.H"
-    #include "createMRF.H"
+    #include "createFieldRefs.H"
     #include "createFvOptions.H"
 
     turbulence->validate();
diff --git a/src/OpenFOAM/db/functionObjects/functionObjectList/postProcess.H b/src/OpenFOAM/db/functionObjects/functionObjectList/postProcess.H
index 20b7abfac7..01e9e2de61 100644
--- a/src/OpenFOAM/db/functionObjects/functionObjectList/postProcess.H
+++ b/src/OpenFOAM/db/functionObjects/functionObjectList/postProcess.H
@@ -38,6 +38,10 @@ Description
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+#ifndef CREATE_TIME
+    #define CREATE_TIME createTime.H
+#endif
+
 #ifndef CREATE_MESH
     #define CREATE_MESH createMesh.H
 #endif
@@ -70,7 +74,7 @@ if (argList::postProcess(argc, argv))
     #include "addDictOption.H"
 
     #include "setRootCase.H"
-    #include "createTime.H"
+    #include INCLUDE_FILE(CREATE_TIME)
     Foam::instantList timeDirs = Foam::timeSelector::select0(runTime, args);
     #include INCLUDE_FILE(CREATE_MESH)
 
-- 
GitLab