diff --git a/applications/utilities/miscellaneous/foamDebugSwitches/Make/options b/applications/utilities/miscellaneous/foamDebugSwitches/Make/options
index 2c461c3680b0c93aa9ff2ad798f8e7877f3f8d11..331b481dff32626279baa8251cf3ec1bc2ffd0e0 100644
--- a/applications/utilities/miscellaneous/foamDebugSwitches/Make/options
+++ b/applications/utilities/miscellaneous/foamDebugSwitches/Make/options
@@ -20,7 +20,6 @@ EXE_LIBS = \
     -lfieldFunctionObjects \
     -lfileFormats \
     -lfiniteVolume \
-    -lfoamCalcFunctions \
     -lforces \
     -lfvMotionSolvers \
     -lgenericPatchFields \
diff --git a/applications/utilities/miscellaneous/foamDebugSwitches/foamDebugSwitches.C b/applications/utilities/miscellaneous/foamDebugSwitches/foamDebugSwitches.C
index 1943b7d631b49ce7503f7429c5238b96e2e5ece1..5089c75b8a260de6a8e1b0510a57d9a90474a606 100644
--- a/applications/utilities/miscellaneous/foamDebugSwitches/foamDebugSwitches.C
+++ b/applications/utilities/miscellaneous/foamDebugSwitches/foamDebugSwitches.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -34,6 +34,7 @@ Description
 #include "IFstream.H"
 #include "IOobject.H"
 #include "HashSet.H"
+#include "etcFiles.H"
 
 using namespace Foam;
 
diff --git a/applications/utilities/postProcessing/foamCalc/Make/files b/applications/utilities/postProcessing/foamCalc/Make/files
deleted file mode 100644
index 1d17b8db164a195ab1b7e836b913842d3db4ae98..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/foamCalc/Make/files
+++ /dev/null
@@ -1,3 +0,0 @@
-foamCalcApp.C
-
-EXE = $(FOAM_APPBIN)/foamCalc
diff --git a/applications/utilities/postProcessing/foamCalc/Make/options b/applications/utilities/postProcessing/foamCalc/Make/options
deleted file mode 100644
index bc5382444414b97672c65673316b4d783878aded..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/foamCalc/Make/options
+++ /dev/null
@@ -1,10 +0,0 @@
-EXE_INC = \
-    -I$(LIB_SRC)/postProcessing/foamCalcFunctions/lnInclude \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude
-
-EXE_LIBS = \
-    -lgenericPatchFields \
-    -lfoamCalcFunctions \
-    -lfiniteVolume \
-    -lmeshTools
diff --git a/applications/utilities/postProcessing/foamCalc/foamCalcApp.C b/applications/utilities/postProcessing/foamCalc/foamCalcApp.C
deleted file mode 100644
index 2ac25d8e5d0a460c4eefc9f6c79a56fcccd5ad8c..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/foamCalc/foamCalcApp.C
+++ /dev/null
@@ -1,100 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Application
-    foamCalc
-
-Description
-    Generic wrapper for calculating a quantity at each time.
-
-    Split into four phases:
-        1. Intialise
-        2. Pre-time calculation loop
-        3. Calculation loop
-        4. Post-calculation loop
-
-\*---------------------------------------------------------------------------*/
-
-#include "timeSelector.H"
-#include "calcType.H"
-
-using namespace Foam;
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-int main(int argc, char *argv[])
-{
-    Foam::timeSelector::addOptions();
-    #include "addRegionOption.H"
-    Foam::argList::addBoolOption
-    (
-        "noWrite",
-        "suppress writing results"
-    );
-    #include "addDictOption.H"
-
-    if (argc < 2)
-    {
-        FatalError
-            << "No utility has been supplied" << nl
-            << exit(FatalError);
-    }
-
-    const word utilityName = argv[1];
-
-    Foam::autoPtr<Foam::calcType> utility
-    (
-        calcType::New(utilityName)
-    );
-
-    utility().tryInit();
-
-    #include "setRootCase.H"
-    #include "createTime.H"
-    Foam::instantList timeDirs = Foam::timeSelector::select0(runTime, args);
-    #include "createNamedMesh.H"
-
-    utility().tryPreCalc(args, runTime, mesh);
-
-    forAll(timeDirs, timeI)
-    {
-        runTime.setTime(timeDirs[timeI], timeI);
-
-        Foam::Info<< "Time = " << runTime.timeName() << Foam::endl;
-
-        mesh.readUpdate();
-
-        utility().tryCalc(args, runTime, mesh);
-
-        Foam::Info<< Foam::endl;
-    }
-
-    utility().tryPostCalc(args, runTime, mesh);
-
-    Info<< "End\n" << endl;
-
-    return 0;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/postProcessing/postProcess/Make/files b/applications/utilities/postProcessing/postProcess/Make/files
new file mode 100644
index 0000000000000000000000000000000000000000..712053a449e4b87931cf63440eaf3b1d8a9dac1a
--- /dev/null
+++ b/applications/utilities/postProcessing/postProcess/Make/files
@@ -0,0 +1,3 @@
+postProcess.C
+
+EXE = $(FOAM_APPBIN)/postProcess
diff --git a/src/postProcessing/functionObjects/utilities/Make/options b/applications/utilities/postProcessing/postProcess/Make/options
similarity index 87%
rename from src/postProcessing/functionObjects/utilities/Make/options
rename to applications/utilities/postProcessing/postProcess/Make/options
index 6ff1c14f347e550c372f91475c551e4468aa1a98..33c0f0a1712f4d49fe2277348207d2623ed4abab 100644
--- a/src/postProcessing/functionObjects/utilities/Make/options
+++ b/applications/utilities/postProcessing/postProcess/Make/options
@@ -1,6 +1,5 @@
 EXE_INC = \
-    -I$(LIB_SRC)/lagrangian/basic/lnInclude \
-    -I$(LIB_SRC)/lagrangian/DSMC/lnInclude \
+    -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
@@ -9,11 +8,11 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
+    -I$(LIB_SRC)/fvOptions/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude
 
-LIB_LIBS = \
-    -lfvOptions \
+EXE_LIBS = \
     -lturbulenceModels \
     -lincompressibleTurbulenceModels \
     -lcompressibleTurbulenceModels \
@@ -22,5 +21,7 @@ LIB_LIBS = \
     -lfluidThermophysicalModels \
     -lspecie \
     -lfiniteVolume \
+    -lfvOptions \
+    -lgenericPatchFields \
     -lmeshTools \
     -lsampling
diff --git a/applications/utilities/postProcessing/postProcess/postProcess.C b/applications/utilities/postProcessing/postProcess/postProcess.C
new file mode 100644
index 0000000000000000000000000000000000000000..44fe8a951cad14cd30882fbb5238402737be36e3
--- /dev/null
+++ b/applications/utilities/postProcessing/postProcess/postProcess.C
@@ -0,0 +1,202 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2016 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Application
+    postProcess
+
+Description
+    Execute the set of functionObjects specified in the selected dictionary
+    (which defaults to system/controlDict) or on the command-line for the
+    selected set of times on the selected set of fields.
+
+\*---------------------------------------------------------------------------*/
+
+#include "argList.H"
+#include "timeSelector.H"
+#include "ReadFields.H"
+#include "volFields.H"
+#include "surfaceFields.H"
+#include "pointFields.H"
+#include "uniformDimensionedFields.H"
+
+using namespace Foam;
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#define ReadFields(GeoFieldType)                                               \
+    readFields<GeoFieldType>(mesh, objects, selectedFields, storedObjects);
+
+#define ReadPointFields(GeoFieldType)                                          \
+    readFields<GeoFieldType>(pMesh, objects, selectedFields, storedObjects);
+
+#define ReadUniformFields(FieldType)                                           \
+    readUniformFields<FieldType>                                               \
+    (constantObjects, selectedFields, storedObjects);
+
+void executeFunctionObjects
+(
+    const argList& args,
+    const Time& runTime,
+    fvMesh& mesh,
+    const HashSet<word>& selectedFields,
+    functionObjectList& functions
+)
+{
+    Info<< nl << "Reading fields:" << endl;
+
+    // Maintain a stack of the stored objects to clear after executing
+    // the functionObjects
+    LIFOStack<regIOobject*> storedObjects;
+
+    // Read objects in time directory
+    IOobjectList objects(mesh, runTime.timeName());
+
+    // Read volFields
+    ReadFields(volScalarField);
+    ReadFields(volVectorField);
+    ReadFields(volSphericalTensorField);
+    ReadFields(volSymmTensorField);
+    ReadFields(volTensorField);
+
+    // Read internal fields
+    ReadFields(volScalarField::Internal);
+    ReadFields(volVectorField::Internal);
+    ReadFields(volSphericalTensorField::Internal);
+    ReadFields(volSymmTensorField::Internal);
+    ReadFields(volTensorField::Internal);
+
+    // Read surface fields
+    ReadFields(surfaceScalarField);
+    ReadFields(surfaceVectorField);
+    ReadFields(surfaceSphericalTensorField);
+    ReadFields(surfaceSymmTensorField);
+    ReadFields(surfaceTensorField);
+
+    // Read point fields.
+    const pointMesh& pMesh = pointMesh::New(mesh);
+
+    ReadPointFields(pointScalarField)
+    ReadPointFields(pointVectorField);
+    ReadPointFields(pointSphericalTensorField);
+    ReadPointFields(pointSymmTensorField);
+    ReadPointFields(pointTensorField);
+
+    // Read uniform dimensioned fields
+    IOobjectList constantObjects(mesh, runTime.constant());
+
+    ReadUniformFields(uniformDimensionedScalarField);
+    ReadUniformFields(uniformDimensionedVectorField);
+    ReadUniformFields(uniformDimensionedSphericalTensorField);
+    ReadUniformFields(uniformDimensionedSymmTensorField);
+    ReadUniformFields(uniformDimensionedTensorField);
+
+    Info<< nl << "Executing functionObjects" << endl;
+
+    // Execute the functionObjects in post-processing mode
+    functions.execute(true);
+
+    while (!storedObjects.empty())
+    {
+        storedObjects.pop()->checkOut();
+    }
+}
+
+
+int main(int argc, char *argv[])
+{
+    Foam::timeSelector::addOptions();
+    #include "addRegionOption.H"
+    #include "addFunctionObjectOptions.H"
+
+    #include "setRootCase.H"
+    #include "createTime.H"
+    Foam::instantList timeDirs = Foam::timeSelector::select0(runTime, args);
+    #include "createNamedMesh.H"
+
+    // Initialize the set of selected fields from the command-line options
+    HashSet<word> selectedFields;
+    if (args.optionFound("fields"))
+    {
+        args.optionLookup("fields")() >> selectedFields;
+    }
+    if (args.optionFound("field"))
+    {
+        selectedFields.insert(args.optionLookup("field")());
+    }
+
+    // Externally stored dictionary for functionObjectList
+    // if not constructed from runTime
+    dictionary functionsDict;
+
+    // Construct functionObjectList
+    autoPtr<functionObjectList> functionsPtr
+    (
+        functionObjectList::New(args, runTime, functionsDict, selectedFields)
+    );
+
+    forAll(timeDirs, timeI)
+    {
+        runTime.setTime(timeDirs[timeI], timeI);
+
+        Info<< "Time = " << runTime.timeName() << endl;
+
+        if (mesh.readUpdate() != polyMesh::UNCHANGED)
+        {
+            // Update functionObjectList if mesh changes
+            functionsPtr = functionObjectList::New
+            (
+                args,
+                runTime,
+                functionsDict,
+                selectedFields
+            );
+        }
+
+        FatalIOError.throwExceptions();
+
+        try
+        {
+            executeFunctionObjects
+            (
+                args,
+                runTime,
+                mesh,
+                selectedFields,
+                functionsPtr()
+            );
+        }
+        catch (IOerror& err)
+        {
+            Warning<< err << endl;
+        }
+
+        Info<< endl;
+    }
+
+    Info<< "End\n" << endl;
+
+    return 0;
+}
+
+
+// ************************************************************************* //
diff --git a/applications/utilities/postProcessing/velocityField/Co/Co.C b/applications/utilities/postProcessing/velocityField/Co/Co.C
deleted file mode 100644
index b71c8bd62bba35f70e87500dd16a20eaf5ff099c..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/Co/Co.C
+++ /dev/null
@@ -1,129 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Application
-    Co
-
-Description
-    Calculates and writes the Co number as a volScalarField obtained
-    from field phi.
-
-    The -noWrite option just outputs the max values without writing the
-    field.
-
-\*---------------------------------------------------------------------------*/
-
-#include "calc.H"
-#include "fvc.H"
-#include "zeroGradientFvPatchFields.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
-{
-    bool writeResults = !args.optionFound("noWrite");
-
-    IOobject phiHeader
-    (
-        "phi",
-        runTime.timeName(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    if (phiHeader.headerOk())
-    {
-        volScalarField Co
-        (
-            IOobject
-            (
-                "Co",
-                runTime.timeName(),
-                mesh,
-                IOobject::NO_READ
-            ),
-            mesh,
-            dimensionedScalar("0", dimless, 0),
-            zeroGradientFvPatchScalarField::typeName
-        );
-
-        Info<< "    Reading phi" << endl;
-        surfaceScalarField phi(phiHeader, mesh);
-
-        if (phi.dimensions() == dimensionSet(1, 0, -1, 0, 0))
-        {
-            Info<< "    Calculating compressible Co" << endl;
-
-            Info<< "    Reading rho" << endl;
-            volScalarField rho
-            (
-                IOobject
-                (
-                    "rho",
-                    runTime.timeName(),
-                    mesh,
-                    IOobject::MUST_READ
-                ),
-                mesh
-            );
-
-            Co.ref() =
-                (0.5*runTime.deltaT())
-               *fvc::surfaceSum(mag(phi))()()
-               /(rho*mesh.V());
-            Co.correctBoundaryConditions();
-        }
-        else if (phi.dimensions() == dimensionSet(0, 3, -1, 0, 0))
-        {
-            Info<< "    Calculating incompressible Co" << endl;
-
-            Co.ref() =
-                (0.5*runTime.deltaT())
-               *fvc::surfaceSum(mag(phi))()()
-               /mesh.V();
-            Co.correctBoundaryConditions();
-        }
-        else
-        {
-            FatalErrorInFunction
-                << "Incorrect dimensions of phi: " << phi.dimensions()
-                << abort(FatalError);
-        }
-
-        Info<< "Co max : " << max(Co).value() << endl;
-
-        if (writeResults)
-        {
-            Co.write();
-        }
-    }
-    else
-    {
-        Info<< "    No phi" << endl;
-    }
-
-    Info<< "\nEnd\n" << endl;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/postProcessing/velocityField/Co/Make/files b/applications/utilities/postProcessing/velocityField/Co/Make/files
deleted file mode 100644
index ad6e49b53fe6653349bae4ca4522731fdb290112..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/Co/Make/files
+++ /dev/null
@@ -1,3 +0,0 @@
-Co.C
-
-EXE = $(FOAM_APPBIN)/Co
diff --git a/applications/utilities/postProcessing/velocityField/Co/Make/options b/applications/utilities/postProcessing/velocityField/Co/Make/options
deleted file mode 100644
index 43333e81b1b54a04bcf385f071e71ddca4ebbb01..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/Co/Make/options
+++ /dev/null
@@ -1,10 +0,0 @@
-EXE_INC = \
-    -I$(LIB_SRC)/postProcessing/postCalc \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude
-
-EXE_LIBS = \
-    $(FOAM_LIBBIN)/postCalc.o \
-    -lgenericPatchFields \
-    -lfiniteVolume \
-    -lmeshTools
diff --git a/applications/utilities/postProcessing/velocityField/Lambda2/Lambda2.C b/applications/utilities/postProcessing/velocityField/Lambda2/Lambda2.C
deleted file mode 100644
index 7ab06c392d753b6c9000d989065029eede87a146..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/Lambda2/Lambda2.C
+++ /dev/null
@@ -1,88 +0,0 @@
-/*---------------------------------------------------------------------------* \
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Application
-    Lambda2
-
-Description
-    Calculates and writes the second largest eigenvalue of the sum of the
-    square of the symmetrical and anti-symmetrical parts of the velocity
-    gradient tensor.
-
-    The -noWrite option has no meaning.
-
-\*---------------------------------------------------------------------------*/
-
-#include "calc.H"
-#include "fvc.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
-{
-    IOobject Uheader
-    (
-        "U",
-        runTime.timeName(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    if (Uheader.headerOk())
-    {
-        Info<< "    Reading U" << endl;
-        volVectorField U(Uheader, mesh);
-
-        const volTensorField gradU(fvc::grad(U));
-
-        volTensorField SSplusWW
-        (
-            (symm(gradU) & symm(gradU)) + (skew(gradU) & skew(gradU))
-        );
-
-        volScalarField Lambda2
-        (
-            IOobject
-            (
-                "Lambda2",
-                runTime.timeName(),
-                mesh,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            -eigenValues(SSplusWW)().component(vector::Y)
-        );
-
-        Info<< "    Writing -Lambda2" << endl;
-        Lambda2.write();
-    }
-    else
-    {
-        Info<< "    No U" << endl;
-    }
-
-    Info<< "\nEnd\n" << endl;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/postProcessing/velocityField/Lambda2/Make/files b/applications/utilities/postProcessing/velocityField/Lambda2/Make/files
deleted file mode 100644
index d94ad0c675e0445a41918924ae1ad2b2aa96f431..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/Lambda2/Make/files
+++ /dev/null
@@ -1,4 +0,0 @@
-
-Lambda2.C
-
-EXE = $(FOAM_APPBIN)/Lambda2
diff --git a/applications/utilities/postProcessing/velocityField/Lambda2/Make/options b/applications/utilities/postProcessing/velocityField/Lambda2/Make/options
deleted file mode 100644
index 43333e81b1b54a04bcf385f071e71ddca4ebbb01..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/Lambda2/Make/options
+++ /dev/null
@@ -1,10 +0,0 @@
-EXE_INC = \
-    -I$(LIB_SRC)/postProcessing/postCalc \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude
-
-EXE_LIBS = \
-    $(FOAM_LIBBIN)/postCalc.o \
-    -lgenericPatchFields \
-    -lfiniteVolume \
-    -lmeshTools
diff --git a/applications/utilities/postProcessing/velocityField/Mach/Mach.C b/applications/utilities/postProcessing/velocityField/Mach/Mach.C
deleted file mode 100644
index 39136a389b2547360a721adffad3f6b5e4a6da4d..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/Mach/Mach.C
+++ /dev/null
@@ -1,151 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Application
-    Mach
-
-Description
-    Calculates and optionally writes the local Mach number from the velocity
-    field U at each time.
-
-    The -nowrite option just outputs the max value without writing the field.
-
-\*---------------------------------------------------------------------------*/
-
-#include "calc.H"
-#include "fluidThermo.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
-{
-    bool writeResults = !args.optionFound("noWrite");
-
-    IOobject Uheader
-    (
-        "U",
-        runTime.timeName(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    IOobject Theader
-    (
-        "T",
-        runTime.timeName(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    // Check U and T exists
-    if (Uheader.headerOk() && Theader.headerOk())
-    {
-        autoPtr<volScalarField> MachPtr;
-
-        volVectorField U(Uheader, mesh);
-
-        if
-        (
-            IOobject
-            (
-                basicThermo::dictName,
-                runTime.constant(),
-                mesh
-            ).headerOk()
-        )
-        {
-            // thermophysical Mach
-            autoPtr<fluidThermo> thermo
-            (
-                fluidThermo::New(mesh)
-            );
-
-            volScalarField Cp(thermo->Cp());
-            volScalarField Cv(thermo->Cv());
-
-            MachPtr.set
-            (
-                new volScalarField
-                (
-                    IOobject
-                    (
-                        "Ma",
-                        runTime.timeName(),
-                        mesh
-                    ),
-                    mag(U)/(sqrt((Cp/Cv)*(Cp - Cv)*thermo->T()))
-                )
-            );
-        }
-        else
-        {
-            // thermodynamic Mach
-            IOdictionary thermoProps
-            (
-                IOobject
-                (
-                    "thermodynamicProperties",
-                    runTime.constant(),
-                    mesh,
-                    IOobject::MUST_READ_IF_MODIFIED,
-                    IOobject::NO_WRITE
-                )
-            );
-
-            dimensionedScalar R(thermoProps.lookup("R"));
-            dimensionedScalar Cv(thermoProps.lookup("Cv"));
-
-            volScalarField T(Theader, mesh);
-
-            MachPtr.set
-            (
-                new volScalarField
-                (
-                    IOobject
-                    (
-                        "Ma",
-                        runTime.timeName(),
-                        mesh
-                    ),
-                    mag(U)/(sqrt(((Cv + R)/Cv)*R*T))
-                )
-            );
-        }
-
-        Info<< "Mach max : " << max(MachPtr()).value() << endl;
-
-        if (writeResults)
-        {
-            MachPtr().write();
-        }
-    }
-    else
-    {
-        Info<< "    Missing U or T" << endl;
-    }
-
-    Info<< "\nEnd\n" << endl;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/postProcessing/velocityField/Mach/Make/files b/applications/utilities/postProcessing/velocityField/Mach/Make/files
deleted file mode 100644
index f075620c8ac0b71c51e68461664102d13b06a045..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/Mach/Make/files
+++ /dev/null
@@ -1,3 +0,0 @@
-Mach.C
-
-EXE = $(FOAM_APPBIN)/Mach
diff --git a/applications/utilities/postProcessing/velocityField/Mach/Make/options b/applications/utilities/postProcessing/velocityField/Mach/Make/options
deleted file mode 100644
index 2ddb93e3b6be0549f78eacddab8329287c857c28..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/Mach/Make/options
+++ /dev/null
@@ -1,14 +0,0 @@
-EXE_INC = \
-    -I$(LIB_SRC)/postProcessing/postCalc \
-    -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/transportModels/compressible/lnInclude \
-    -I$(LIB_SRC)/finiteVolume/lnInclude
-
-EXE_LIBS = \
-    $(FOAM_LIBBIN)/postCalc.o \
-    -lgenericPatchFields \
-    -lcompressibleTransportModels \
-    -lcompressibleTransportModels \
-    -lfluidThermophysicalModels \
-    -lspecie \
-    -lfiniteVolume
diff --git a/applications/utilities/postProcessing/velocityField/Mach/readThermodynamicProperties.H b/applications/utilities/postProcessing/velocityField/Mach/readThermodynamicProperties.H
deleted file mode 100644
index 4e19adaae48e5d432cde086746bd2472899eab33..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/Mach/readThermodynamicProperties.H
+++ /dev/null
@@ -1,23 +0,0 @@
-    Info<< "Reading thermodynamicProperties\n" << endl;
-
-    IOdictionary thermodynamicProperties
-    (
-        IOobject
-        (
-            "thermodynamicProperties",
-            runTime.constant(),
-            mesh,
-            IOobject::MUST_READ_IF_MODIFIED,
-            IOobject::NO_WRITE
-        )
-    );
-
-    dimensionedScalar R
-    (
-        thermodynamicProperties.lookup("R")
-    );
-
-    dimensionedScalar Cv
-    (
-        thermodynamicProperties.lookup("Cv")
-    );
diff --git a/applications/utilities/postProcessing/velocityField/Mach/thermodynamicMach.H b/applications/utilities/postProcessing/velocityField/Mach/thermodynamicMach.H
deleted file mode 100644
index 00d1717f7d96df87ad52b563ed833fa4f298d2b0..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/Mach/thermodynamicMach.H
+++ /dev/null
@@ -1,50 +0,0 @@
-    #include "readThermodynamicProperties.H"
-
-    for (label i=startTime; i<endTime; i++)
-    {
-        runTime.setTime(Times[i], i);
-
-        Info<< "Time = " << runTime.timeName() << endl;
-
-        IOobject Uheader
-        (
-            "U",
-            runTime.timeName(),
-            mesh,
-            IOobject::MUST_READ
-        );
-
-        IOobject Theader
-        (
-            "T",
-            runTime.timeName(),
-            mesh,
-            IOobject::MUST_READ
-        );
-
-
-        // Check U exists
-        if (Uheader.headerOk() && Theader.headerOk())
-        {
-            mesh.readUpdate();
-
-            volVectorField U(Uheader, mesh);
-            volScalarField T(Theader, mesh);
-
-            volScalarField Ma
-            (
-                IOobject
-                (
-                    "Ma",
-                    runTime.timeName(),
-                    mesh
-                ),
-                mag(U)/(sqrt(((Cv + R)/Cv)*R*T))
-            );
-            Ma.write();
-        }
-        else
-        {
-            Info<< "    No U or T" << endl;
-        }
-    }
diff --git a/applications/utilities/postProcessing/velocityField/Mach/thermophysicalMach.H b/applications/utilities/postProcessing/velocityField/Mach/thermophysicalMach.H
deleted file mode 100644
index 7125bd33af9ef110e89ee26c312a8b6f0f045324..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/Mach/thermophysicalMach.H
+++ /dev/null
@@ -1,45 +0,0 @@
-    for (label i=startTime; i<endTime; i++)
-    {
-        runTime.setTime(Times[i], i);
-
-        Info<< "Time = " << runTime.timeName() << endl;
-
-        mesh.readUpdate();
-
-        IOobject Uheader
-        (
-            "U",
-            runTime.timeName(),
-            mesh,
-            IOobject::MUST_READ
-        );
-
-        if (Uheader.headerOk())
-        {
-            volVectorField U(Uheader, mesh);
-
-            autoPtr<fluidThermo> thermo
-            (
-                fluidThermo::New(mesh)
-            );
-
-            volScalarField Cp = thermo->Cp();
-            volScalarField Cv = thermo->Cv();
-
-            volScalarField Ma
-            (
-                IOobject
-                (
-                    "Ma",
-                    runTime.timeName(),
-                    mesh
-                ),
-                mag(U)/(sqrt((Cp/Cv)*(Cp - Cv)*thermo->T()))
-            );
-            Ma.write();
-        }
-        else
-        {
-            Info<< "    No U" << endl;
-        }
-    }
diff --git a/applications/utilities/postProcessing/velocityField/Pe/Make/files b/applications/utilities/postProcessing/velocityField/Pe/Make/files
deleted file mode 100644
index 5d25c430a4a5d86b8f0daccabdc2c00670635649..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/Pe/Make/files
+++ /dev/null
@@ -1,3 +0,0 @@
-Pe.C
-
-EXE = $(FOAM_APPBIN)/Pe
diff --git a/applications/utilities/postProcessing/velocityField/Pe/Pe.C b/applications/utilities/postProcessing/velocityField/Pe/Pe.C
deleted file mode 100644
index 999e287d946bd46586466cb2f259f2b8603e6945..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/Pe/Pe.C
+++ /dev/null
@@ -1,280 +0,0 @@
-/*---------------------------------------------------------------------------* \
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Application
-    Pe
-
-Description
-    Calculates the Peclet number Pe from the flux phi and writes the maximum
-    value, the surfaceScalarField Pef and volScalarField Pe.
-
-    With the -noWrite option just outputs the max value without writing
-    the fields.
-
-\*---------------------------------------------------------------------------*/
-
-#include "calc.H"
-#include "surfaceInterpolate.H"
-#include "fvcAverage.H"
-
-#include "singlePhaseTransportModel.H"
-#include "turbulentTransportModel.H"
-#include "turbulentFluidThermoModel.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
-{
-    bool writeResults = !args.optionFound("noWrite");
-
-    IOobject phiHeader
-    (
-        "phi",
-        runTime.timeName(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    if (phiHeader.headerOk())
-    {
-        autoPtr<surfaceScalarField> PePtr;
-
-        Info<< "    Reading phi" << endl;
-        surfaceScalarField phi(phiHeader, mesh);
-
-        volVectorField U
-        (
-            IOobject
-            (
-                "U",
-                runTime.timeName(),
-                mesh,
-                IOobject::MUST_READ
-            ),
-            mesh
-        );
-
-        IOobject turbulencePropertiesHeader
-        (
-            "turbulenceProperties",
-            runTime.constant(),
-            mesh,
-            IOobject::MUST_READ_IF_MODIFIED,
-            IOobject::NO_WRITE
-        );
-
-        Info<< "    Calculating Pe" << endl;
-
-        if (phi.dimensions() == dimensionSet(0, 3, -1, 0, 0))
-        {
-            if (turbulencePropertiesHeader.headerOk())
-            {
-                singlePhaseTransportModel laminarTransport(U, phi);
-
-                autoPtr<incompressible::turbulenceModel> turbulenceModel
-                (
-                    incompressible::turbulenceModel::New
-                    (
-                        U,
-                        phi,
-                        laminarTransport
-                    )
-                );
-
-                PePtr.set
-                (
-                    new surfaceScalarField
-                    (
-                        IOobject
-                        (
-                            "Pef",
-                            runTime.timeName(),
-                            mesh
-                        ),
-                        mag(phi)
-                       /(
-                            mesh.magSf()
-                          * mesh.surfaceInterpolation::deltaCoeffs()
-                          * fvc::interpolate(turbulenceModel->nuEff())
-                        )
-                    )
-                );
-            }
-            else
-            {
-                IOdictionary transportProperties
-                (
-                    IOobject
-                    (
-                        "transportProperties",
-                        runTime.constant(),
-                        mesh,
-                        IOobject::MUST_READ_IF_MODIFIED,
-                        IOobject::NO_WRITE
-                    )
-                );
-
-                dimensionedScalar nu(transportProperties.lookup("nu"));
-
-                PePtr.set
-                (
-                    new surfaceScalarField
-                    (
-                        IOobject
-                        (
-                            "Pef",
-                            runTime.timeName(),
-                            mesh
-                        ),
-                        mag(phi)
-                       /(
-                            mesh.magSf()
-                          * mesh.surfaceInterpolation::deltaCoeffs()
-                          * nu
-                        )
-                    )
-                );
-            }
-        }
-        else if (phi.dimensions() == dimensionSet(1, 0, -1, 0, 0))
-        {
-            if (turbulencePropertiesHeader.headerOk())
-            {
-                autoPtr<fluidThermo> thermo(fluidThermo::New(mesh));
-
-                volScalarField rho
-                (
-                    IOobject
-                    (
-                        "rho",
-                        runTime.timeName(),
-                        mesh
-                    ),
-                    thermo->rho()
-                );
-
-                autoPtr<compressible::turbulenceModel> turbulenceModel
-                (
-                    compressible::turbulenceModel::New
-                    (
-                        rho,
-                        U,
-                        phi,
-                        thermo()
-                    )
-                );
-
-                PePtr.set
-                (
-                    new surfaceScalarField
-                    (
-                        IOobject
-                        (
-                            "Pef",
-                            runTime.timeName(),
-                            mesh
-                        ),
-                        mag(phi)
-                       /(
-                            mesh.magSf()
-                          * mesh.surfaceInterpolation::deltaCoeffs()
-                          * fvc::interpolate(turbulenceModel->muEff())
-                        )
-                    )
-                );
-            }
-            else
-            {
-                IOdictionary transportProperties
-                (
-                    IOobject
-                    (
-                        "transportProperties",
-                        runTime.constant(),
-                        mesh,
-                        IOobject::MUST_READ_IF_MODIFIED,
-                        IOobject::NO_WRITE
-                    )
-                );
-
-                dimensionedScalar mu(transportProperties.lookup("mu"));
-
-                PePtr.set
-                (
-                    new surfaceScalarField
-                    (
-                        IOobject
-                        (
-                            "Pef",
-                            runTime.timeName(),
-                            mesh
-                        ),
-                        mag(phi)
-                       /(
-                            mesh.magSf()
-                          * mesh.surfaceInterpolation::deltaCoeffs()
-                          * mu
-                        )
-                    )
-                );
-            }
-        }
-        else
-        {
-            FatalErrorInFunction
-                << "Incorrect dimensions of phi: " << phi.dimensions()
-                    << abort(FatalError);
-        }
-
-        Info<< "    Pe max : " << max(PePtr()).value() << endl;
-
-        if (writeResults)
-        {
-            Info<< "    Writing surfaceScalarField : "
-                << PePtr().name() << endl;
-            PePtr().write();
-
-            volScalarField Pe
-            (
-                IOobject
-                (
-                    "Pe",
-                    runTime.timeName(),
-                    mesh
-                ),
-                fvc::average(PePtr())
-            );
-
-            Info<< "    Writing volScalarField : "
-                << Pe.name() << endl;
-            Pe.write();
-        }
-    }
-    else
-    {
-        Info<< "    No phi" << endl;
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/postProcessing/velocityField/Q/Make/files b/applications/utilities/postProcessing/velocityField/Q/Make/files
deleted file mode 100644
index e34a54f5bedb08df848f751ec79212e4f2d72425..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/Q/Make/files
+++ /dev/null
@@ -1,4 +0,0 @@
-
-Q.C
-
-EXE = $(FOAM_APPBIN)/Q
diff --git a/applications/utilities/postProcessing/velocityField/Q/Make/options b/applications/utilities/postProcessing/velocityField/Q/Make/options
deleted file mode 100644
index 43333e81b1b54a04bcf385f071e71ddca4ebbb01..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/Q/Make/options
+++ /dev/null
@@ -1,10 +0,0 @@
-EXE_INC = \
-    -I$(LIB_SRC)/postProcessing/postCalc \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude
-
-EXE_LIBS = \
-    $(FOAM_LIBBIN)/postCalc.o \
-    -lgenericPatchFields \
-    -lfiniteVolume \
-    -lmeshTools
diff --git a/applications/utilities/postProcessing/velocityField/Q/Q.C b/applications/utilities/postProcessing/velocityField/Q/Q.C
deleted file mode 100644
index 0f9c6d8d8cbd4914291f1ca2f5f6d176bf03be98..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/Q/Q.C
+++ /dev/null
@@ -1,115 +0,0 @@
-/*---------------------------------------------------------------------------* \
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Application
-    Q
-
-Description
-    Calculates and writes the second invariant of the velocity gradient tensor.
-
-        Q = 0.5*(sqr(tr(gradU)) - tr(((gradU)&(gradU))))      [1/s^2]
-
-    The -noWrite option just outputs the max/min values without writing
-    the field.
-
-\*---------------------------------------------------------------------------*/
-
-#include "calc.H"
-#include "fvc.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
-{
-    bool writeResults = !args.optionFound("noWrite");
-
-    IOobject Uheader
-    (
-        "U",
-        runTime.timeName(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    if (Uheader.headerOk())
-    {
-        Info<< "    Reading U" << endl;
-        volVectorField U(Uheader, mesh);
-        volTensorField gradU(fvc::grad(U));
-
-        volScalarField Q
-        (
-            IOobject
-            (
-                "Q",
-                runTime.timeName(),
-                mesh,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            0.5*(sqr(tr(gradU)) - tr(((gradU)&(gradU))))
-        );
-
-        /*
-        // This is a second way of calculating Q, that delivers results
-        // very close, but not identical to the first approach.
-
-        volSymmTensorField S(symm(gradU));  // symmetric part of tensor
-        volTensorField W(skew(gradU));      // anti-symmetric part
-
-        volScalarField SS(S && S);
-        volScalarField WW(W && W);
-
-        volScalarField Q
-        (
-            IOobject
-            (
-                "Q",
-                runTime.timeName(),
-                mesh,
-                IOobject::NO_READ,
-                IOobject::NO_WRITE
-            ),
-            0.5*(WW - SS)
-        );
-        */
-
-        Info<< "mag(Q) max/min : "
-            << max(Q).value() << " "
-            << min(Q).value() << endl;
-
-        if (writeResults)
-        {
-            Q.write();
-        }
-    }
-    else
-    {
-        Info<< "    No U" << endl;
-    }
-
-    Info<< "\nEnd\n" << endl;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/postProcessing/velocityField/enstrophy/Make/files b/applications/utilities/postProcessing/velocityField/enstrophy/Make/files
deleted file mode 100644
index 965fb3571cc8d4bde530907f884ca6aaa508573b..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/enstrophy/Make/files
+++ /dev/null
@@ -1,3 +0,0 @@
-enstrophy.C
-
-EXE = $(FOAM_APPBIN)/enstrophy
diff --git a/applications/utilities/postProcessing/velocityField/enstrophy/Make/options b/applications/utilities/postProcessing/velocityField/enstrophy/Make/options
deleted file mode 100644
index 43333e81b1b54a04bcf385f071e71ddca4ebbb01..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/enstrophy/Make/options
+++ /dev/null
@@ -1,10 +0,0 @@
-EXE_INC = \
-    -I$(LIB_SRC)/postProcessing/postCalc \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude
-
-EXE_LIBS = \
-    $(FOAM_LIBBIN)/postCalc.o \
-    -lgenericPatchFields \
-    -lfiniteVolume \
-    -lmeshTools
diff --git a/applications/utilities/postProcessing/velocityField/enstrophy/enstrophy.C b/applications/utilities/postProcessing/velocityField/enstrophy/enstrophy.C
deleted file mode 100644
index fd7fe2798af3efc5be77259db9416c6764c5e3a2..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/enstrophy/enstrophy.C
+++ /dev/null
@@ -1,88 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Application
-    enstrophy
-
-Description
-    Calculates and writes the enstrophy of the velocity field U.
-
-    The -noWrite option just outputs the max/min values without writing the
-    field.
-
-\*---------------------------------------------------------------------------*/
-
-#include "calc.H"
-#include "fvc.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
-{
-    bool writeResults = !args.optionFound("noWrite");
-
-    IOobject Uheader
-    (
-        "U",
-        runTime.timeName(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    if (Uheader.headerOk())
-    {
-        Info<< "    Reading U" << endl;
-        volVectorField U(Uheader, mesh);
-
-        Info<< "    Calculating enstrophy" << endl;
-        volScalarField enstrophy
-        (
-            IOobject
-            (
-                "enstrophy",
-                runTime.timeName(),
-                mesh,
-                IOobject::NO_READ
-            ),
-            0.5*magSqr(fvc::curl(U))
-        );
-
-        Info<< "enstrophy(U) max/min : "
-            << max(enstrophy).value() << " "
-            << min(enstrophy).value() << endl;
-
-        if (writeResults)
-        {
-            enstrophy.write();
-        }
-    }
-    else
-    {
-        Info<< "    No U" << endl;
-    }
-
-    Info<< "\nEnd\n" << endl;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/postProcessing/velocityField/flowType/Make/files b/applications/utilities/postProcessing/velocityField/flowType/Make/files
deleted file mode 100644
index b73f5de6e258eb72f31e5f4b29f91ef2ab6cfb42..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/flowType/Make/files
+++ /dev/null
@@ -1,3 +0,0 @@
-flowType.C
-
-EXE = $(FOAM_APPBIN)/flowType
diff --git a/applications/utilities/postProcessing/velocityField/flowType/Make/options b/applications/utilities/postProcessing/velocityField/flowType/Make/options
deleted file mode 100644
index 43333e81b1b54a04bcf385f071e71ddca4ebbb01..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/flowType/Make/options
+++ /dev/null
@@ -1,10 +0,0 @@
-EXE_INC = \
-    -I$(LIB_SRC)/postProcessing/postCalc \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude
-
-EXE_LIBS = \
-    $(FOAM_LIBBIN)/postCalc.o \
-    -lgenericPatchFields \
-    -lfiniteVolume \
-    -lmeshTools
diff --git a/applications/utilities/postProcessing/velocityField/flowType/flowType.C b/applications/utilities/postProcessing/velocityField/flowType/flowType.C
deleted file mode 100644
index 317b6a27041c46bfd1961f41f8fafe4b620c492c..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/flowType/flowType.C
+++ /dev/null
@@ -1,95 +0,0 @@
-/*---------------------------------------------------------------------------* \
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Application
-    flowType
-
-Description
-    Calculates and writes the flowType of velocity field U.
-
-    The -noWrite option has no meaning.
-
-    The flow type parameter is obtained according to the following equation:
-    \verbatim
-                 |D| - |Omega|
-        lambda = -------------
-                 |D| + |Omega|
-
-        -1 = rotational flow
-         0 = simple shear flow
-         1 = planar extensional flow
-    \endverbatim
-
-\*---------------------------------------------------------------------------*/
-
-#include "calc.H"
-#include "fvc.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
-{
-    IOobject Uheader
-    (
-        "U",
-        runTime.timeName(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    if (Uheader.headerOk())
-    {
-        Info<< "    Reading U" << endl;
-        volVectorField U(Uheader, mesh);
-
-        volTensorField gradU(fvc::grad(U));
-        volScalarField magD(mag(symm(gradU)));
-        volScalarField magOmega (mag(skew(gradU)));
-        dimensionedScalar smallMagD("smallMagD", magD.dimensions(), SMALL);
-
-        Info<< "    Calculating flowType" << endl;
-
-        volScalarField flowType
-        (
-            IOobject
-            (
-                "flowType",
-                runTime.timeName(),
-                mesh,
-                IOobject::NO_READ
-            ),
-            (magD - magOmega)/(magD + magOmega + smallMagD)
-        );
-
-        flowType.write();
-    }
-    else
-    {
-        Info<< "    No U" << endl;
-    }
-
-    Info<< "\nEnd\n" << endl;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/postProcessing/velocityField/uprime/Make/files b/applications/utilities/postProcessing/velocityField/uprime/Make/files
deleted file mode 100644
index cf75483a0f2fec0241c633134ffc4e8f8140282e..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/uprime/Make/files
+++ /dev/null
@@ -1,3 +0,0 @@
-uprime.C
-
-EXE = $(FOAM_APPBIN)/uprime
diff --git a/applications/utilities/postProcessing/velocityField/uprime/Make/options b/applications/utilities/postProcessing/velocityField/uprime/Make/options
deleted file mode 100644
index 43333e81b1b54a04bcf385f071e71ddca4ebbb01..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/uprime/Make/options
+++ /dev/null
@@ -1,10 +0,0 @@
-EXE_INC = \
-    -I$(LIB_SRC)/postProcessing/postCalc \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude
-
-EXE_LIBS = \
-    $(FOAM_LIBBIN)/postCalc.o \
-    -lgenericPatchFields \
-    -lfiniteVolume \
-    -lmeshTools
diff --git a/applications/utilities/postProcessing/velocityField/uprime/uprime.C b/applications/utilities/postProcessing/velocityField/uprime/uprime.C
deleted file mode 100644
index 0922cb65ee439b8c97dad31b7f39ba82ed919b47..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/uprime/uprime.C
+++ /dev/null
@@ -1,88 +0,0 @@
-/*---------------------------------------------------------------------------* \
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Application
-    uprime
-
-Description
-    Calculates and writes the scalar field of uprime (sqrt(2/3 k)).
-
-    The -noWrite option just outputs the max/min values without writing
-    the field.
-
-\*---------------------------------------------------------------------------*/
-
-#include "calc.H"
-#include "fvc.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
-{
-    bool writeResults = !args.optionFound("noWrite");
-
-    IOobject kheader
-    (
-        "k",
-        runTime.timeName(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    if (kheader.headerOk())
-    {
-        Info<< "    Reading k" << endl;
-        volScalarField k(kheader, mesh);
-
-        Info<< "    Calculating uprime" << endl;
-        volScalarField uprime
-        (
-            IOobject
-            (
-                "uprime",
-                runTime.timeName(),
-                mesh,
-                IOobject::NO_READ
-            ),
-            sqrt((2.0/3.0)*k)
-        );
-
-        Info<< "uprime max/min : "
-            << max(uprime).value() << " "
-            << min(uprime).value() << endl;
-
-        if (writeResults)
-        {
-            uprime.write();
-        }
-    }
-    else
-    {
-        Info<< "    No k" << endl;
-    }
-
-    Info<< "\nEnd\n" << endl;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/postProcessing/velocityField/vorticity/Make/files b/applications/utilities/postProcessing/velocityField/vorticity/Make/files
deleted file mode 100644
index cac3515c59fbb518d9353c29c0a77ed3b6c56712..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/vorticity/Make/files
+++ /dev/null
@@ -1,3 +0,0 @@
-vorticity.C
-
-EXE = $(FOAM_APPBIN)/vorticity
diff --git a/applications/utilities/postProcessing/velocityField/vorticity/Make/options b/applications/utilities/postProcessing/velocityField/vorticity/Make/options
deleted file mode 100644
index 43333e81b1b54a04bcf385f071e71ddca4ebbb01..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/vorticity/Make/options
+++ /dev/null
@@ -1,10 +0,0 @@
-EXE_INC = \
-    -I$(LIB_SRC)/postProcessing/postCalc \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude
-
-EXE_LIBS = \
-    $(FOAM_LIBBIN)/postCalc.o \
-    -lgenericPatchFields \
-    -lfiniteVolume \
-    -lmeshTools
diff --git a/applications/utilities/postProcessing/velocityField/vorticity/vorticity.C b/applications/utilities/postProcessing/velocityField/vorticity/vorticity.C
deleted file mode 100644
index 7ecf36a529242ca165be052398f288c7715f5e6e..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/velocityField/vorticity/vorticity.C
+++ /dev/null
@@ -1,101 +0,0 @@
-/*---------------------------------------------------------------------------* \
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Application
-    vorticity
-
-Description
-    Calculates and writes the vorticity of velocity field U.
-
-    The -noWrite option just outputs the max/min values without writing
-    the field.
-
-\*---------------------------------------------------------------------------*/
-
-#include "calc.H"
-#include "fvc.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
-{
-    bool writeResults = !args.optionFound("noWrite");
-
-    IOobject Uheader
-    (
-        "U",
-        runTime.timeName(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    if (Uheader.headerOk())
-    {
-        Info<< "    Reading U" << endl;
-        volVectorField U(Uheader, mesh);
-
-        Info<< "    Calculating vorticity" << endl;
-        volVectorField vorticity
-        (
-            IOobject
-            (
-                "vorticity",
-                runTime.timeName(),
-                mesh,
-                IOobject::NO_READ
-            ),
-            fvc::curl(U)
-        );
-
-        volScalarField magVorticity
-        (
-            IOobject
-            (
-                "magVorticity",
-                runTime.timeName(),
-                mesh,
-                IOobject::NO_READ
-            ),
-            mag(vorticity)
-        );
-
-        Info<< "vorticity max/min : "
-            << max(magVorticity).value() << " "
-            << min(magVorticity).value() << endl;
-
-        if (writeResults)
-        {
-            vorticity.write();
-            magVorticity.write();
-        }
-    }
-    else
-    {
-        Info<< "    No U" << endl;
-    }
-
-    Info<< "\nEnd\n" << endl;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/thermophysical/adiabaticFlameT/adiabaticFlameT.C b/applications/utilities/thermophysical/adiabaticFlameT/adiabaticFlameT.C
index 2e41a7870e38a0a561c8b03ea9bd9a3a0ba75614..7cc7e44c7c56627dfdad68339b4e0c43680f677b 100644
--- a/applications/utilities/thermophysical/adiabaticFlameT/adiabaticFlameT.C
+++ b/applications/utilities/thermophysical/adiabaticFlameT/adiabaticFlameT.C
@@ -35,6 +35,7 @@ Description
 #include "dictionary.H"
 #include "IFstream.H"
 #include "OSspecific.H"
+#include "etcFiles.H"
 
 #include "specie.H"
 #include "perfectGas.H"
diff --git a/applications/utilities/thermophysical/equilibriumFlameT/equilibriumFlameT.C b/applications/utilities/thermophysical/equilibriumFlameT/equilibriumFlameT.C
index cd1c35f07e502ade95928538b25a91b6e00a0261..e95e74819af0de3c0ee4a839727814d9e330f23b 100644
--- a/applications/utilities/thermophysical/equilibriumFlameT/equilibriumFlameT.C
+++ b/applications/utilities/thermophysical/equilibriumFlameT/equilibriumFlameT.C
@@ -36,6 +36,7 @@ Description
 #include "dictionary.H"
 #include "IFstream.H"
 #include "OSspecific.H"
+#include "etcFiles.H"
 #include "IOmanip.H"
 
 #include "specie.H"
diff --git a/applications/utilities/thermophysical/mixtureAdiabaticFlameT/mixtureAdiabaticFlameT.C b/applications/utilities/thermophysical/mixtureAdiabaticFlameT/mixtureAdiabaticFlameT.C
index c755532d65781541df32bcf0db10ae3e778a3a4b..5f7f61d4b8a6e8be043b04bdcbaaf8a5f855ee7e 100644
--- a/applications/utilities/thermophysical/mixtureAdiabaticFlameT/mixtureAdiabaticFlameT.C
+++ b/applications/utilities/thermophysical/mixtureAdiabaticFlameT/mixtureAdiabaticFlameT.C
@@ -34,6 +34,7 @@ Description
 #include "dictionary.H"
 #include "IFstream.H"
 #include "OSspecific.H"
+#include "etcFiles.H"
 
 #include "specie.H"
 #include "perfectGas.H"
diff --git a/bin/Co b/bin/Co
new file mode 100755
index 0000000000000000000000000000000000000000..a340dbcc0baaa6a182d1495e152963b4376ead83
--- /dev/null
+++ b/bin/Co
@@ -0,0 +1,39 @@
+#!/bin/sh
+#------------------------------------------------------------------------------
+# =========                 |
+# \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+#  \\    /   O peration     |
+#   \\  /    A nd           | Copyright (C) 2016 OpenFOAM Foundation
+#    \\/     M anipulation  |
+#-------------------------------------------------------------------------------
+# License
+#     This file is part of OpenFOAM.
+#
+#     OpenFOAM is free software: you can redistribute it and/or modify it
+#     under the terms of the GNU General Public License as published by
+#     the Free Software Foundation, either version 3 of the License, or
+#     (at your option) any later version.
+#
+#     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+#     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+#     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+#     for more details.
+#
+#     You should have received a copy of the GNU General Public License
+#     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Script
+#     Co
+#
+# Description
+#     Script to suggest using the new "-postProcess" solver option.
+#
+#------------------------------------------------------------------------------
+Script=${0##*/}
+
+echo $Script "has been superceded by the -postProcess solver option:"
+echo "<solverName> -func CourantNo"
+echo "e.g."
+echo "pimpleFoam -postProcess -func CourantNo"
+
+#------------------------------------------------------------------------------
diff --git a/bin/Lambda2 b/bin/Lambda2
new file mode 120000
index 0000000000000000000000000000000000000000..7b00da8e40ebd1030970ddd69f73d5a820da0dee
--- /dev/null
+++ b/bin/Lambda2
@@ -0,0 +1 @@
+supercededByPostProcess
\ No newline at end of file
diff --git a/bin/Mach b/bin/Mach
new file mode 100755
index 0000000000000000000000000000000000000000..85f5b2848aecb0d0adaac5f0e6d82c8afccc104a
--- /dev/null
+++ b/bin/Mach
@@ -0,0 +1,39 @@
+#!/bin/sh
+#------------------------------------------------------------------------------
+# =========                 |
+# \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+#  \\    /   O peration     |
+#   \\  /    A nd           | Copyright (C) 2016 OpenFOAM Foundation
+#    \\/     M anipulation  |
+#-------------------------------------------------------------------------------
+# License
+#     This file is part of OpenFOAM.
+#
+#     OpenFOAM is free software: you can redistribute it and/or modify it
+#     under the terms of the GNU General Public License as published by
+#     the Free Software Foundation, either version 3 of the License, or
+#     (at your option) any later version.
+#
+#     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+#     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+#     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+#     for more details.
+#
+#     You should have received a copy of the GNU General Public License
+#     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Script
+#     Mach
+#
+# Description
+#     Script to suggest using the new "-postProcess" solver option.
+#
+#------------------------------------------------------------------------------
+Script=${0##*/}
+
+echo $Script "has been superceded by the -postProcess solver option:"
+echo "<solverName> -func MachNo"
+echo "e.g."
+echo "sonicFoam -postProcess -func MachNo"
+
+#------------------------------------------------------------------------------
diff --git a/bin/Pe b/bin/Pe
new file mode 100755
index 0000000000000000000000000000000000000000..6313220895cc3a1895d6ee66f937c1c4b9b604f7
--- /dev/null
+++ b/bin/Pe
@@ -0,0 +1,39 @@
+#!/bin/sh
+#------------------------------------------------------------------------------
+# =========                 |
+# \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+#  \\    /   O peration     |
+#   \\  /    A nd           | Copyright (C) 2016 OpenFOAM Foundation
+#    \\/     M anipulation  |
+#-------------------------------------------------------------------------------
+# License
+#     This file is part of OpenFOAM.
+#
+#     OpenFOAM is free software: you can redistribute it and/or modify it
+#     under the terms of the GNU General Public License as published by
+#     the Free Software Foundation, either version 3 of the License, or
+#     (at your option) any later version.
+#
+#     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+#     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+#     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+#     for more details.
+#
+#     You should have received a copy of the GNU General Public License
+#     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Script
+#     Pe
+#
+# Description
+#     Script to suggest using the new "-postProcess" solver option.
+#
+#------------------------------------------------------------------------------
+Script=${0##*/}
+
+echo $Script "has been superceded by the -postProcess solver option:"
+echo "<solverName> -func PecletNo"
+echo "e.g."
+echo "pimpleFoam -postProcess -func PecletNo"
+
+#------------------------------------------------------------------------------
diff --git a/bin/Q b/bin/Q
new file mode 120000
index 0000000000000000000000000000000000000000..7b00da8e40ebd1030970ddd69f73d5a820da0dee
--- /dev/null
+++ b/bin/Q
@@ -0,0 +1 @@
+supercededByPostProcess
\ No newline at end of file
diff --git a/bin/enstrophy b/bin/enstrophy
new file mode 120000
index 0000000000000000000000000000000000000000..7b00da8e40ebd1030970ddd69f73d5a820da0dee
--- /dev/null
+++ b/bin/enstrophy
@@ -0,0 +1 @@
+supercededByPostProcess
\ No newline at end of file
diff --git a/bin/execFlowFunctionObjects b/bin/execFlowFunctionObjects
index 519f1ad5ce9addf346b37c27de34d737947b07ea..79e4117527794f5b7ac9e60a3d2b8a9d69ec5918 100755
--- a/bin/execFlowFunctionObjects
+++ b/bin/execFlowFunctionObjects
@@ -31,7 +31,7 @@
 #
 #------------------------------------------------------------------------------
 
-echo "execFlowFunctionObjects has been replaced by the \
+echo "execFlowFunctionObjects has been superceded by the \
 '-postProcess' solver command-line option, e.g."
 
 echo "simpleFoam -help -postProcess"
diff --git a/bin/flowType b/bin/flowType
new file mode 120000
index 0000000000000000000000000000000000000000..7b00da8e40ebd1030970ddd69f73d5a820da0dee
--- /dev/null
+++ b/bin/flowType
@@ -0,0 +1 @@
+supercededByPostProcess
\ No newline at end of file
diff --git a/bin/foamCalc b/bin/foamCalc
new file mode 100755
index 0000000000000000000000000000000000000000..0f2ede771c0be950ecbb2596ffcee9bf8dcb09be
--- /dev/null
+++ b/bin/foamCalc
@@ -0,0 +1,37 @@
+#!/bin/sh
+#------------------------------------------------------------------------------
+# =========                 |
+# \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+#  \\    /   O peration     |
+#   \\  /    A nd           | Copyright (C) 2016 OpenFOAM Foundation
+#    \\/     M anipulation  |
+#-------------------------------------------------------------------------------
+# License
+#     This file is part of OpenFOAM.
+#
+#     OpenFOAM is free software: you can redistribute it and/or modify it
+#     under the terms of the GNU General Public License as published by
+#     the Free Software Foundation, either version 3 of the License, or
+#     (at your option) any later version.
+#
+#     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+#     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+#     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+#     for more details.
+#
+#     You should have received a copy of the GNU General Public License
+#     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Script
+#     foamCalc
+#
+# Description
+#     Replacement foamCalc to suggest using the new "postProcess" utility.
+#
+#------------------------------------------------------------------------------
+
+echo "foamCalc has been superceded by the postProcess utility:"
+echo "postProcess -help"
+postProcess -help
+
+#------------------------------------------------------------------------------
diff --git a/bin/supercededByPostProcess b/bin/supercededByPostProcess
new file mode 100755
index 0000000000000000000000000000000000000000..f9fc9cdbe28b7c07a53742498040937b493f9f7a
--- /dev/null
+++ b/bin/supercededByPostProcess
@@ -0,0 +1,37 @@
+#!/bin/sh
+#------------------------------------------------------------------------------
+# =========                 |
+# \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+#  \\    /   O peration     |
+#   \\  /    A nd           | Copyright (C) 2016 OpenFOAM Foundation
+#    \\/     M anipulation  |
+#-------------------------------------------------------------------------------
+# License
+#     This file is part of OpenFOAM.
+#
+#     OpenFOAM is free software: you can redistribute it and/or modify it
+#     under the terms of the GNU General Public License as published by
+#     the Free Software Foundation, either version 3 of the License, or
+#     (at your option) any later version.
+#
+#     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+#     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+#     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+#     for more details.
+#
+#     You should have received a copy of the GNU General Public License
+#     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Script
+#     supercededByPostProcess
+#
+# Description
+#     Script to suggest using the new "postProcess" utility.
+#
+#------------------------------------------------------------------------------
+Script=${0##*/}
+
+echo $Script "has been superceded by the postProcess utility:"
+echo "postProcess -func" $Script
+
+#------------------------------------------------------------------------------
diff --git a/bin/vorticity b/bin/vorticity
new file mode 120000
index 0000000000000000000000000000000000000000..7b00da8e40ebd1030970ddd69f73d5a820da0dee
--- /dev/null
+++ b/bin/vorticity
@@ -0,0 +1 @@
+supercededByPostProcess
\ No newline at end of file
diff --git a/etc/caseDicts/postProcessing/README b/etc/caseDicts/postProcessing/README
index 3015d18df1efd3b1a8b96de248f856c65f1e8da1..4e265159e378e8237b61e03a2011ce399631edca 100644
--- a/etc/caseDicts/postProcessing/README
+++ b/etc/caseDicts/postProcessing/README
@@ -32,7 +32,7 @@ Solution:
   sub-dictionary in the case controlDict file, e.g.
   functions
   {
-      #include "flowRatePatch"
+      #includeFunc flowRatePatch
       ... other function objects here ...
   }
 
diff --git a/etc/caseDicts/postProcessing/faceSource/faceZoneSource.cfg b/etc/caseDicts/postProcessing/faceSource/faceZoneSource.cfg
index b63c882f06ae6a8d0a9fd4e6385d5a529d3c4195..33e20231b1ee4ff5f863764304a792a73468728b 100644
--- a/etc/caseDicts/postProcessing/faceSource/faceZoneSource.cfg
+++ b/etc/caseDicts/postProcessing/faceSource/faceZoneSource.cfg
@@ -6,7 +6,7 @@
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
-#includeEtc "caseDicts/postProcessing/faceSource/faceSource.cfg"
+#includeFunc faceSource.cfg
 
 source faceZone;
 
diff --git a/etc/caseDicts/postProcessing/faceSource/patchAverage b/etc/caseDicts/postProcessing/faceSource/patchAverage
index 2923f108ba3b65fd26b499a961d3d3dd0f93c37d..b6d3f3ca217054b2f8db32908440c65f0e65f2eb 100644
--- a/etc/caseDicts/postProcessing/faceSource/patchAverage
+++ b/etc/caseDicts/postProcessing/faceSource/patchAverage
@@ -12,7 +12,7 @@ patchAverage
     fields (p);
 
     operation average;
-    #includeEtc "caseDicts/postProcessing/faceSource/patchSource.cfg";
+    #includeFunc patchSource.cfg;
 }
 
 
diff --git a/etc/caseDicts/postProcessing/faceSource/patchSource.cfg b/etc/caseDicts/postProcessing/faceSource/patchSource.cfg
index d5bd7fd1afe8078c77df243cde73dc339081697c..c4502acff94ba951c7fc9953c17baa1e6928f2c2 100644
--- a/etc/caseDicts/postProcessing/faceSource/patchSource.cfg
+++ b/etc/caseDicts/postProcessing/faceSource/patchSource.cfg
@@ -6,7 +6,7 @@
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
-#includeEtc "caseDicts/postProcessing/faceSource/faceSource.cfg"
+#includeFunc faceSource.cfg
 
 source     patch;
 sourceName $patch;
diff --git a/etc/caseDicts/postProcessing/faceSource/surfaceSource.cfg b/etc/caseDicts/postProcessing/faceSource/surfaceSource.cfg
index 4bcbde878d61ea14a71a3a6f544658d368331be4..c740c0ee0c5aa8e7995ef9ac9bdb62e3aa59b908 100644
--- a/etc/caseDicts/postProcessing/faceSource/surfaceSource.cfg
+++ b/etc/caseDicts/postProcessing/faceSource/surfaceSource.cfg
@@ -6,7 +6,7 @@
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
-#includeEtc "caseDicts/postProcessing/faceSource/faceSource.cfg"
+#includeFunc faceSource.cfg
 
 source sampledSurface;
 
diff --git a/etc/caseDicts/postProcessing/fields/CourantNo b/etc/caseDicts/postProcessing/fields/CourantNo
new file mode 100644
index 0000000000000000000000000000000000000000..4a6b84b8f45774f38086042ca3fd513882da4697
--- /dev/null
+++ b/etc/caseDicts/postProcessing/fields/CourantNo
@@ -0,0 +1,20 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+
+CourantNo
+{
+    type            CourantNo;
+    libs            ("libfieldFunctionObjects.so");
+
+    field           phi;
+
+    executeControl  writeTime;
+    writeControl    writeTime;
+}
+
+// ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/fields/Lambda2 b/etc/caseDicts/postProcessing/fields/Lambda2
index 71327211066e68785ed5f5de588c659fb9d1ab0a..5bd9299695beeb03e59bd6cef680da8f3abd789e 100644
--- a/etc/caseDicts/postProcessing/fields/Lambda2
+++ b/etc/caseDicts/postProcessing/fields/Lambda2
@@ -9,7 +9,9 @@
 Lambda2
 {
     type            Lambda2;
-    libs            ("libutilityFunctionObjects.so");
+    libs            ("libfieldFunctionObjects.so");
+
+    field           U;
 
     executeControl  writeTime;
     writeControl    writeTime;
diff --git a/etc/caseDicts/postProcessing/fields/MachNo b/etc/caseDicts/postProcessing/fields/MachNo
new file mode 100644
index 0000000000000000000000000000000000000000..792e050838ab869d58179e524f2a401263b1ed21
--- /dev/null
+++ b/etc/caseDicts/postProcessing/fields/MachNo
@@ -0,0 +1,20 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+
+MachNo
+{
+    type            MachNo;
+    libs            ("libfieldFunctionObjects.so");
+
+    field           U;
+
+    executeControl  writeTime;
+    writeControl    writeTime;
+}
+
+// ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/fields/PecletNo b/etc/caseDicts/postProcessing/fields/PecletNo
new file mode 100644
index 0000000000000000000000000000000000000000..5aa3082cf6e20101a0c2bcbafd2a5db29c93d71d
--- /dev/null
+++ b/etc/caseDicts/postProcessing/fields/PecletNo
@@ -0,0 +1,20 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+
+PecletNo
+{
+    type            PecletNo;
+    libs            ("libfieldFunctionObjects.so");
+
+    field           phi;
+
+    executeControl  writeTime;
+    writeControl    writeTime;
+}
+
+// ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/fields/Q b/etc/caseDicts/postProcessing/fields/Q
index 14c9ee8aac98c6b5bf093355669353da51f763e1..bdfee511caaf5c894875aab6372e442522c337c9 100644
--- a/etc/caseDicts/postProcessing/fields/Q
+++ b/etc/caseDicts/postProcessing/fields/Q
@@ -9,7 +9,9 @@
 Q
 {
     type            Q;
-    libs ("libfieldFunctionObjects.so");
+    libs            ("libfieldFunctionObjects.so");
+
+    field           U;
 
     executeControl  writeTime;
     writeControl    writeTime;
diff --git a/etc/caseDicts/postProcessing/fields/components b/etc/caseDicts/postProcessing/fields/components
index 1005c03bac7cc149511f2f26b23918d2825918e6..9993be4dbbe319ecdb8f66ffda23176d3b011657 100644
--- a/etc/caseDicts/postProcessing/fields/components
+++ b/etc/caseDicts/postProcessing/fields/components
@@ -9,7 +9,9 @@
 components
 {
     type            components;
-    libs ("libfieldFunctionObjects.so");
+    libs            ("libfieldFunctionObjects.so");
+
+    field           <fieldName>;
 
     executeControl  writeTime;
     writeControl    writeTime;
diff --git a/etc/caseDicts/postProcessing/fields/div b/etc/caseDicts/postProcessing/fields/div
index 0be18a78a7eece113f29a573ac2601b13f6c1d01..c6ccf6644a129cb8f3ac2c25f12585aa223d8744 100644
--- a/etc/caseDicts/postProcessing/fields/div
+++ b/etc/caseDicts/postProcessing/fields/div
@@ -9,7 +9,9 @@
 div
 {
     type            div;
-    libs ("libfieldFunctionObjects.so");
+    libs            ("libfieldFunctionObjects.so");
+
+    field           <fieldName>;
 
     executeControl  writeTime;
     writeControl    writeTime;
diff --git a/etc/caseDicts/postProcessing/fields/enstrophy b/etc/caseDicts/postProcessing/fields/enstrophy
new file mode 100644
index 0000000000000000000000000000000000000000..45d7a1b02bb55263aa391e6335f123263ebc8caa
--- /dev/null
+++ b/etc/caseDicts/postProcessing/fields/enstrophy
@@ -0,0 +1,20 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+
+enstrophy
+{
+    type            enstrophy;
+    libs            ("libfieldFunctionObjects.so");
+
+    field           U;
+
+    executeControl  writeTime;
+    writeControl    writeTime;
+}
+
+// ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/fields/flowType b/etc/caseDicts/postProcessing/fields/flowType
new file mode 100644
index 0000000000000000000000000000000000000000..44f5d695bdc38476fc6f01723fa08aac2156d2bb
--- /dev/null
+++ b/etc/caseDicts/postProcessing/fields/flowType
@@ -0,0 +1,20 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+
+flowType
+{
+    type            flowType;
+    libs            ("libfieldFunctionObjects.so");
+
+    field           U;
+
+    executeControl  writeTime;
+    writeControl    writeTime;
+}
+
+// ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/fields/grad b/etc/caseDicts/postProcessing/fields/grad
new file mode 100644
index 0000000000000000000000000000000000000000..a1df8b379f6081e2539577894fe9fe2cd96d6f5a
--- /dev/null
+++ b/etc/caseDicts/postProcessing/fields/grad
@@ -0,0 +1,20 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+
+grad
+{
+    type            grad;
+    libs            ("libfieldFunctionObjects.so");
+
+    field           <fieldName>;
+
+    executeControl  writeTime;
+    writeControl    writeTime;
+}
+
+// ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/fields/mag b/etc/caseDicts/postProcessing/fields/mag
new file mode 100644
index 0000000000000000000000000000000000000000..43874441681b827267aa4b1ccbc24127449f5662
--- /dev/null
+++ b/etc/caseDicts/postProcessing/fields/mag
@@ -0,0 +1,20 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+
+mag
+{
+    type            mag;
+    libs            ("libfieldFunctionObjects.so");
+
+    field           <fieldName>;
+
+    executeControl  writeTime;
+    writeControl    writeTime;
+}
+
+// ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/fields/magSqr b/etc/caseDicts/postProcessing/fields/magSqr
new file mode 100644
index 0000000000000000000000000000000000000000..49dccdb6301961d8c3a0c784ef2b873e95455063
--- /dev/null
+++ b/etc/caseDicts/postProcessing/fields/magSqr
@@ -0,0 +1,20 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+
+magSqr
+{
+    type            magSqr;
+    libs            ("libfieldFunctionObjects.so");
+
+    field           <fieldName>;
+
+    executeControl  writeTime;
+    writeControl    writeTime;
+}
+
+// ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/fields/randomise b/etc/caseDicts/postProcessing/fields/randomise
index cd873d76549a8590a6aad50d558e1fc047b02ec0..840b614b324e1fada027be19a5e7aea48d10386a 100644
--- a/etc/caseDicts/postProcessing/fields/randomise
+++ b/etc/caseDicts/postProcessing/fields/randomise
@@ -8,7 +8,9 @@
 
 randomise
 {
-    #includeEtc "caseDicts/postProcessing/fields/randomise.cfg"
+    #includeFunc "randomise.cfg"
+
+    field           <fieldName>;
 
     // Set the magnitude of the perturbation
     magPerturbation <scalar>;
diff --git a/etc/caseDicts/postProcessing/fields/vorticity b/etc/caseDicts/postProcessing/fields/vorticity
new file mode 100644
index 0000000000000000000000000000000000000000..6377bc2012d8e8198bacce65680f78603d771079
--- /dev/null
+++ b/etc/caseDicts/postProcessing/fields/vorticity
@@ -0,0 +1,20 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+
+vorticity
+{
+    type            vorticity;
+    libs            ("libfieldFunctionObjects.so");
+
+    field           U;
+
+    executeControl  writeTime;
+    writeControl    writeTime;
+}
+
+// ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/flowRate/flowRatePatch b/etc/caseDicts/postProcessing/flowRate/flowRatePatch
index 7eb8d0873c4e78021f38e4137759d9d7e3729a47..1a6e27d8be3e392b7fdab64b8ae96d124616fc7e 100644
--- a/etc/caseDicts/postProcessing/flowRate/flowRatePatch
+++ b/etc/caseDicts/postProcessing/flowRate/flowRatePatch
@@ -14,7 +14,7 @@ flowRatePatch
 {
     patch <patchName>;
 
-    #includeEtc "caseDicts/postProcessing/flowRate/flowRatePatch.cfg"
+    #includeFunc flowRatePatch.cfg
 }
 
 // ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/flowRate/flowRatePatch.cfg b/etc/caseDicts/postProcessing/flowRate/flowRatePatch.cfg
index 7ab9aee3e14c9dc9ae7a40c01bef99ef318eb17c..67d6a3f3ed5f95d273d2a961c798643c0b3c8de1 100644
--- a/etc/caseDicts/postProcessing/flowRate/flowRatePatch.cfg
+++ b/etc/caseDicts/postProcessing/flowRate/flowRatePatch.cfg
@@ -6,7 +6,7 @@
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
-#includeEtc "caseDicts/postProcessing/faceSource/patchSource.cfg"
+#includeFunc patchSource.cfg
 
 fields (phi);
 operation sum;
diff --git a/etc/caseDicts/postProcessing/flowRate/volFlowRateSurface b/etc/caseDicts/postProcessing/flowRate/volFlowRateSurface
index 1f64e1e5b2555c1ee3e8cf4bf89b28f7dcc2d668..8525079f05ad6c9a20de648535327c12f7a8eab7 100644
--- a/etc/caseDicts/postProcessing/flowRate/volFlowRateSurface
+++ b/etc/caseDicts/postProcessing/flowRate/volFlowRateSurface
@@ -14,7 +14,7 @@ volFlowRateSurface
 {
     triSurface <triSurfaceFile>;
 
-    #includeEtc "caseDicts/postProcessing/flowRate/volFlowRateSurface.cfg"
+    #includeFunc volFlowRateSurface.cfg
 }
 
 // ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/flowRate/volFlowRateSurface.cfg b/etc/caseDicts/postProcessing/flowRate/volFlowRateSurface.cfg
index 6ec52f78ab3aebce41b9cd7cdc5f85593d1c9de4..fe6d1b987fa3b65050fd33e27f796ddc79342d80 100644
--- a/etc/caseDicts/postProcessing/flowRate/volFlowRateSurface.cfg
+++ b/etc/caseDicts/postProcessing/flowRate/volFlowRateSurface.cfg
@@ -6,7 +6,7 @@
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
-#includeEtc "caseDicts/postProcessing/faceSource/surfaceSource.cfg"
+#includeFunc surfaceSource.cfg
 
 fields (U);
 operation areaNormalIntegrate;
diff --git a/etc/caseDicts/postProcessing/forces/forceCoeffs.cfg b/etc/caseDicts/postProcessing/forces/forceCoeffs.cfg
index d9d83a75d3d36145a8e7e21a80b930ba97e31a91..561b6fd86865d96ab62fd65a1f9ba5436cf1b77b 100644
--- a/etc/caseDicts/postProcessing/forces/forceCoeffs.cfg
+++ b/etc/caseDicts/postProcessing/forces/forceCoeffs.cfg
@@ -6,7 +6,7 @@
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
-#includeEtc "caseDicts/postProcessing/forces/forces.cfg"
+#includeFunc forces.cfg
 
 type        forceCoeffs;
 rhoInf      1;           // Redundant for incompressible
diff --git a/etc/caseDicts/postProcessing/forces/forceCoeffsCompressible b/etc/caseDicts/postProcessing/forces/forceCoeffsCompressible
index dbd6124827f907b7e2112ee89403153072357989..1200131acd7e320f311e1e4de82991c18762f5f0 100644
--- a/etc/caseDicts/postProcessing/forces/forceCoeffsCompressible
+++ b/etc/caseDicts/postProcessing/forces/forceCoeffsCompressible
@@ -21,7 +21,7 @@ forceCoeffs
     CofR        (0 0 0);
     pitchAxis   (0 1 0);
 
-    #includeEtc "caseDicts/postProcessing/forces/forceCoeffsCompressible.cfg"
+    #includeFunc forceCoeffsCompressible.cfg
 }
 
 // ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/forces/forceCoeffsCompressible.cfg b/etc/caseDicts/postProcessing/forces/forceCoeffsCompressible.cfg
index 87a8667d875e9881cdea8da44e9e5b12fab21082..1da340d3d1437d20137fe78312e0b1f34be1da5e 100644
--- a/etc/caseDicts/postProcessing/forces/forceCoeffsCompressible.cfg
+++ b/etc/caseDicts/postProcessing/forces/forceCoeffsCompressible.cfg
@@ -6,6 +6,6 @@
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
-#includeEtc "caseDicts/postProcessing/forces/forceCoeffs.cfg"
+#includeFunc forceCoeffs.cfg
 
 // ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/forces/forceCoeffsIncompressible b/etc/caseDicts/postProcessing/forces/forceCoeffsIncompressible
index 89926a516fbfc24c4bf51f3304514faf5552b923..9283f9778e792fdf31ecaaea0897d288a0784838 100644
--- a/etc/caseDicts/postProcessing/forces/forceCoeffsIncompressible
+++ b/etc/caseDicts/postProcessing/forces/forceCoeffsIncompressible
@@ -20,7 +20,7 @@ forceCoeffs
     CofR        (0 0 0);
     pitchAxis   (0 1 0);
 
-    #includeEtc "caseDicts/postProcessing/forces/forceCoeffs.cfg"
+    #includeFunc forceCoeffs.cfg
 }
 
 // ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/forces/forcesCompressible b/etc/caseDicts/postProcessing/forces/forcesCompressible
index 1792b0c38195223ab7842d548a44dd82e6e1cfef..6a836135a2d19712af90b9165125c42f5eabb82e 100644
--- a/etc/caseDicts/postProcessing/forces/forcesCompressible
+++ b/etc/caseDicts/postProcessing/forces/forcesCompressible
@@ -13,7 +13,7 @@ forces
     CofR        (0 0 0);
     pitchAxis   (0 1 0);
 
-    #includeEtc "caseDicts/postProcessing/forces/forcesCompressible.cfg"
+    #includeFunc forcesCompressible.cfg
 }
 
 // ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/forces/forcesCompressible.cfg b/etc/caseDicts/postProcessing/forces/forcesCompressible.cfg
index 66604a4a09eeae725c0e6e7ace7af3b84eced770..c371556f8a9238c540601f4973b7f77f78976953 100644
--- a/etc/caseDicts/postProcessing/forces/forcesCompressible.cfg
+++ b/etc/caseDicts/postProcessing/forces/forcesCompressible.cfg
@@ -6,7 +6,7 @@
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
-#includeEtc "caseDicts/postProcessing/forces/forces.cfg"
+#includeFunc forces.cfg
 
 rhoInf          1;  // Redundant
 
diff --git a/etc/caseDicts/postProcessing/forces/forcesIncompressible b/etc/caseDicts/postProcessing/forces/forcesIncompressible
index 0b91e37f51740575f3e03cf38b581120e511d703..6692b1ecf2060975d829ff425b5b5b2e63124095 100644
--- a/etc/caseDicts/postProcessing/forces/forcesIncompressible
+++ b/etc/caseDicts/postProcessing/forces/forcesIncompressible
@@ -8,7 +8,7 @@
 
 forces
 {
-    #includeEtc "caseDicts/postProcessing/forces/forces.cfg"
+    #includeFunc forces.cfg
 
     rhoInf      1.225;    // Fluid density
     patches     (patch1 patch2);
diff --git a/etc/caseDicts/postProcessing/graphs/sampleDict b/etc/caseDicts/postProcessing/graphs/sampleDict
index 7731f411f3b332cc1d5e6e8fa77dfe6804ae78a1..c126862187346cb86748b5478611628c4fcd999f 100644
--- a/etc/caseDicts/postProcessing/graphs/sampleDict
+++ b/etc/caseDicts/postProcessing/graphs/sampleDict
@@ -6,7 +6,7 @@
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
-#includeEtc "caseDicts/postProcessing/graphs/sampleDict.cfg"
+#includeFunc sampleDict.cfg
 
 sets
 (
diff --git a/etc/caseDicts/postProcessing/graphs/singleGraph b/etc/caseDicts/postProcessing/graphs/singleGraph
index 836d7a82c913e6ced700d613253dc063baded2d5..d954118634906129c9a722ef19848ea08ea2306a 100644
--- a/etc/caseDicts/postProcessing/graphs/singleGraph
+++ b/etc/caseDicts/postProcessing/graphs/singleGraph
@@ -12,10 +12,10 @@ graph
     end     (1 1e-06 0);
     fields  (U p);
 
-    #includeEtc "caseDicts/postProcessing/graphs/sampleDict.cfg"
+    #includeFunc sampleDict.cfg
 
     // Must be last entry
-    #includeEtc "caseDicts/postProcessing/graphs/graph.cfg"
+    #includeFunc graph.cfg
 }
 
 // ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/minMax/cellMax b/etc/caseDicts/postProcessing/minMax/cellMax
index 815a7f7f3444fc28b45ee6d5db193572736756b2..5eb6de159c87fe4e613d690318681fcd5b22b5c0 100644
--- a/etc/caseDicts/postProcessing/minMax/cellMax
+++ b/etc/caseDicts/postProcessing/minMax/cellMax
@@ -8,7 +8,7 @@
 
 cellMax
 {
-    #includeEtc "caseDicts/postProcessing/minMax/cellMinMax.cfg"
+    #includeFunc cellMinMax.cfg
 
     fields (U p);
 }
diff --git a/etc/caseDicts/postProcessing/minMax/cellMin b/etc/caseDicts/postProcessing/minMax/cellMin
index aea52c7b69c39dc77017942575affc26d18cb237..5dfc71282b97119709ace3360084c1188ee7fa57 100644
--- a/etc/caseDicts/postProcessing/minMax/cellMin
+++ b/etc/caseDicts/postProcessing/minMax/cellMin
@@ -8,7 +8,7 @@
 
 cellMin
 {
-    #includeEtc "caseDicts/postProcessing/minMax/cellMin.cfg"
+    #includeFunc cellMin.cfg
 
     fields (U p);
 }
diff --git a/etc/caseDicts/postProcessing/minMax/cellMin.cfg b/etc/caseDicts/postProcessing/minMax/cellMin.cfg
index dc0e49df2387b6ecc7cac00c9b980bb37361a470..52583d1545436097b69e7e27a8e623c8cec9882d 100644
--- a/etc/caseDicts/postProcessing/minMax/cellMin.cfg
+++ b/etc/caseDicts/postProcessing/minMax/cellMin.cfg
@@ -6,7 +6,7 @@
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
-#includeEtc "caseDicts/postProcessing/minMax/cellMinMax.cfg"
+#includeFunc cellMinMax.cfg
 operation       min;
 
 // ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/minMax/faceMax b/etc/caseDicts/postProcessing/minMax/faceMax
index d8b4f6fd09454846db0d5ce438e259de5c2f6146..5372527386b2d91e027a6647d0a3d02cdd5b4ef1 100644
--- a/etc/caseDicts/postProcessing/minMax/faceMax
+++ b/etc/caseDicts/postProcessing/minMax/faceMax
@@ -8,7 +8,7 @@
 
 faceMax
 {
-    #includeEtc "caseDicts/postProcessing/minMax/faceMinMax.cfg"
+    #includeFunc faceMinMax.cfg
 
     fields (U p);
 }
diff --git a/etc/caseDicts/postProcessing/minMax/faceMin b/etc/caseDicts/postProcessing/minMax/faceMin
index 0c82ec01ddf50cfd43012ddc1a552058c75b68dd..f100563ca8d19c54b6c86c069a1ca4375f8250e8 100644
--- a/etc/caseDicts/postProcessing/minMax/faceMin
+++ b/etc/caseDicts/postProcessing/minMax/faceMin
@@ -8,7 +8,7 @@
 
 faceMin
 {
-    #includeEtc "caseDicts/postProcessing/minMax/faceMin.cfg"
+    #includeFunc faceMin.cfg
 
     fields (U p);
 }
diff --git a/etc/caseDicts/postProcessing/minMax/faceMin.cfg b/etc/caseDicts/postProcessing/minMax/faceMin.cfg
index f2bf1aeeef09056487de72babf9e63fc62dd9e5e..6875f0244b280aa576d1f3c9eb7c48078721a9ee 100644
--- a/etc/caseDicts/postProcessing/minMax/faceMin.cfg
+++ b/etc/caseDicts/postProcessing/minMax/faceMin.cfg
@@ -6,7 +6,7 @@
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
-#includeEtc "caseDicts/postProcessing/minMax/faceMinMax.cfg"
+#includeFunc faceMinMax.cfg
 operation       min;
 
 // ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/minMax/minMaxComponents b/etc/caseDicts/postProcessing/minMax/minMaxComponents
index 71db684633fd5a5b06ada53b73b76a16ed6bb0f4..3af6c8a7a515e3df60f83e818d5b1b5589f85915 100644
--- a/etc/caseDicts/postProcessing/minMax/minMaxComponents
+++ b/etc/caseDicts/postProcessing/minMax/minMaxComponents
@@ -8,7 +8,7 @@
 
 minMaxComponents
 {
-    #includeEtc "caseDicts/postProcessing/minMax/minMaxComponents.cfg"
+    #includeFunc minMaxComponents.cfg
 
     mode components;
 }
diff --git a/etc/caseDicts/postProcessing/minMax/minMaxComponents.cfg b/etc/caseDicts/postProcessing/minMax/minMaxComponents.cfg
index f18af3c91f9790a3727c10a3164a327f16bcd11d..cc1d5ab3889bcf948e1372ed8930f0e3d4949449 100644
--- a/etc/caseDicts/postProcessing/minMax/minMaxComponents.cfg
+++ b/etc/caseDicts/postProcessing/minMax/minMaxComponents.cfg
@@ -6,7 +6,7 @@
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
-#includeEtc "caseDicts/postProcessing/minMax/fieldMinMax.cfg"
+#includeFunc fieldMinMax.cfg
 mode components;
 
 // ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/minMax/minMaxMagnitude b/etc/caseDicts/postProcessing/minMax/minMaxMagnitude
index 3691baa8c09dc9c1653805780fc6be4bd2c7b71d..7197b3dc4ff1e0a100b4155c69298d4d671ecdea 100644
--- a/etc/caseDicts/postProcessing/minMax/minMaxMagnitude
+++ b/etc/caseDicts/postProcessing/minMax/minMaxMagnitude
@@ -8,7 +8,7 @@
 
 minMaxMagnitude
 {
-    #includeEtc "caseDicts/postProcessing/minMax/fieldMinMax.cfg"
+    #includeFunc fieldMinMax.cfg
 
     fields (U p);
 }
diff --git a/etc/caseDicts/postProcessing/numerical/residuals b/etc/caseDicts/postProcessing/numerical/residuals
index d4e937ecc720878dea685b75a9f17aff81e1e719..feb2a5924ffd6d790a15916d6075cf954aefabbf 100644
--- a/etc/caseDicts/postProcessing/numerical/residuals
+++ b/etc/caseDicts/postProcessing/numerical/residuals
@@ -8,7 +8,7 @@
 
 residuals
 {
-    #includeEtc "caseDicts/postProcessing/numerical/residuals.cfg"
+    #includeFunc residuals.cfg
 
     fields (p U);
 }
diff --git a/etc/caseDicts/postProcessing/pressure/pressure.cfg b/etc/caseDicts/postProcessing/pressure/pressure.cfg
index 39a2fa681986006c2326d56b84f4bbb7c6fbb22b..49f3577853d5b3c2f5b55f7087bdb4cc2026dd43 100644
--- a/etc/caseDicts/postProcessing/pressure/pressure.cfg
+++ b/etc/caseDicts/postProcessing/pressure/pressure.cfg
@@ -15,7 +15,7 @@ FoamFile
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 type            pressure;
-libs            ("libutilityFunctionObjects.so");
+libs            ("libfieldFunctionObjects.so");
 
 executeControl  writeTime;
 writeControl    writeTime;
diff --git a/etc/caseDicts/postProcessing/pressure/pressureDifference.cfg b/etc/caseDicts/postProcessing/pressure/pressureDifference.cfg
index 9636eac4d5166d74b6d00318e4ee0b931ace4ef5..b64268ed3169bbc6f52b8c6a55274d1a8b23ee41 100644
--- a/etc/caseDicts/postProcessing/pressure/pressureDifference.cfg
+++ b/etc/caseDicts/postProcessing/pressure/pressureDifference.cfg
@@ -17,13 +17,13 @@ log             false;
 
 source1
 {
-    #includeEtc "caseDicts/postProcessing/faceSource/faceSource.cfg"
+    #includeFunc faceSource.cfg
     operation       areaAverage;
     fields          (p);
 }
 source2
 {
-    #includeEtc "caseDicts/postProcessing/faceSource/faceSource.cfg"
+    #includeFunc faceSource.cfg
     operation       areaAverage;
     fields          (p);
 }
diff --git a/etc/caseDicts/postProcessing/pressure/pressureDifferencePatch b/etc/caseDicts/postProcessing/pressure/pressureDifferencePatch
index 8bb8360cb7e6cc2cc5bdecdda43936c961577c60..dc76efaf318a3967bc7c06245be718e8b1aaca16 100644
--- a/etc/caseDicts/postProcessing/pressure/pressureDifferencePatch
+++ b/etc/caseDicts/postProcessing/pressure/pressureDifferencePatch
@@ -11,7 +11,7 @@ pressureDifferencePatch
     patch1 <patch1>;
     patch2 <patch2>;
 
-    #includeEtc "caseDicts/postProcessing/pressure/pressureDifferencePatch.cfg"
+    #includeFunc pressureDifferencePatch.cfg
 }
 
 // ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/pressure/pressureDifferencePatch.cfg b/etc/caseDicts/postProcessing/pressure/pressureDifferencePatch.cfg
index 01a239236fba83249cdaa8f1a432e10e5bef055b..d9e9b2f404d83ebf925809080530561c5f39c10a 100644
--- a/etc/caseDicts/postProcessing/pressure/pressureDifferencePatch.cfg
+++ b/etc/caseDicts/postProcessing/pressure/pressureDifferencePatch.cfg
@@ -6,7 +6,7 @@
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
-#includeEtc "caseDicts/postProcessing/pressure/pressureDifference.cfg"
+#includeFunc pressureDifference.cfg
 
 source1
 {
diff --git a/etc/caseDicts/postProcessing/pressure/pressureDifferenceSurface b/etc/caseDicts/postProcessing/pressure/pressureDifferenceSurface
index e83ccdabc8c463fb93b039b0c4356e5b6cf66d19..dc2a39451a87f7dcae00d1e2e4656c8ce18985ac 100644
--- a/etc/caseDicts/postProcessing/pressure/pressureDifferenceSurface
+++ b/etc/caseDicts/postProcessing/pressure/pressureDifferenceSurface
@@ -11,8 +11,7 @@ pressureDifferenceSurface
     triSurface1 <triSurface1>;
     triSurface2 <triSurface2>;
 
-    #includeEtc
-        "caseDicts/postProcessing/pressure/pressureDifferenceSurface.cfg"
+    #includeFunc pressureDifferenceSurface.cfg
 }
 
 // ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/pressure/pressureDifferenceSurface.cfg b/etc/caseDicts/postProcessing/pressure/pressureDifferenceSurface.cfg
index c1df7cff5bc7cd4444daea099e110df024f81c8a..4a57c5a7cfb69c8450777e99d992cffafeea120f 100644
--- a/etc/caseDicts/postProcessing/pressure/pressureDifferenceSurface.cfg
+++ b/etc/caseDicts/postProcessing/pressure/pressureDifferenceSurface.cfg
@@ -6,7 +6,7 @@
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
-#includeEtc "caseDicts/postProcessing/pressure/pressureDifference.cfg"
+#includeFunc pressureDifference.cfg
 
 source1
 {
diff --git a/etc/caseDicts/postProcessing/pressure/staticPressure b/etc/caseDicts/postProcessing/pressure/staticPressure
index 97f79325b274aadb43b60c944f0d2345ab6ae3df..37bde327a452a3eb18cbc00cf47569ee17596241 100644
--- a/etc/caseDicts/postProcessing/pressure/staticPressure
+++ b/etc/caseDicts/postProcessing/pressure/staticPressure
@@ -8,9 +8,9 @@
 
 staticPressure
 {
-    #includeEtc "caseDicts/postProcessing/pressure/staticPressure.cfg"
+    #includeFunc staticPressure.cfg
 
-    rho 1.2; // Density to scale
+    rhoInf 1.2; // Density to scale
 }
 
 // ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/pressure/staticPressure.cfg b/etc/caseDicts/postProcessing/pressure/staticPressure.cfg
index 5283b1ee1231b0968c015c5e5c87a88a32525e96..7d9cbddfab65b305a9d2aab9ce1783bc1190ceff 100644
--- a/etc/caseDicts/postProcessing/pressure/staticPressure.cfg
+++ b/etc/caseDicts/postProcessing/pressure/staticPressure.cfg
@@ -6,11 +6,10 @@
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
-#includeEtc "caseDicts/postProcessing/pressure/pressure.cfg"
+#includeFunc pressure.cfg
 
 calcTotal     no;
 calcCoeff     no;
 rho           rhoInf;
-rhoInf        $rho;
 
 // ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/pressure/totalPressureCompressible b/etc/caseDicts/postProcessing/pressure/totalPressureCompressible
index b2a67de034e55979bd8b398fa1bad089eb23afd1..950bff3ecc1dbdcd00cb2633b25f285f28345554 100644
--- a/etc/caseDicts/postProcessing/pressure/totalPressureCompressible
+++ b/etc/caseDicts/postProcessing/pressure/totalPressureCompressible
@@ -8,8 +8,7 @@
 
 totalPressure
 {
-    #includeEtc
-        "caseDicts/postProcessing/pressure/totalPressureCompressible.cfg"
+    #includeFunc totalPressureCompressible.cfg
 
     pRef    0;
 }
diff --git a/etc/caseDicts/postProcessing/pressure/totalPressureCompressible.cfg b/etc/caseDicts/postProcessing/pressure/totalPressureCompressible.cfg
index 6a86d3949fce956896b3787045bfb22ba7ffae93..28ab16cda16ef86b46ef70fde1193cc543a2fa14 100644
--- a/etc/caseDicts/postProcessing/pressure/totalPressureCompressible.cfg
+++ b/etc/caseDicts/postProcessing/pressure/totalPressureCompressible.cfg
@@ -6,7 +6,7 @@
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
-#includeEtc "caseDicts/postProcessing/pressure/pressure.cfg"
+#includeFunc pressure.cfg
 
 calcTotal     no;
 calcCoeff     no;
diff --git a/etc/caseDicts/postProcessing/pressure/totalPressureIncompressible b/etc/caseDicts/postProcessing/pressure/totalPressureIncompressible
index b4daf266341bdc341d0734ed73ac3ae10f794dfe..6f9f0de90018be0cb3b02943ba373eb681a2d168 100644
--- a/etc/caseDicts/postProcessing/pressure/totalPressureIncompressible
+++ b/etc/caseDicts/postProcessing/pressure/totalPressureIncompressible
@@ -8,11 +8,10 @@
 
 totalPressure
 {
-    #includeEtc
-        "caseDicts/postProcessing/pressure/totalPressureIncompressible.cfg"
+    #includeFunc totalPressureIncompressible.cfg
 
-    pRef  0.0;
-    rho   1.2;
+    pRef    0.0;
+    rhoInf  1.2;
 }
 
 // ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/pressure/totalPressureIncompressible.cfg b/etc/caseDicts/postProcessing/pressure/totalPressureIncompressible.cfg
index c5f2833ac531482d795eeed729dd9563185e9624..4be65223eef6939527e4ef1eebf6057cafb51e7e 100644
--- a/etc/caseDicts/postProcessing/pressure/totalPressureIncompressible.cfg
+++ b/etc/caseDicts/postProcessing/pressure/totalPressureIncompressible.cfg
@@ -6,11 +6,10 @@
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
-#includeEtc "caseDicts/postProcessing/pressure/pressure.cfg"
+#includeFunc pressure.cfg
 
 calcTotal     yes;
 calcCoeff     no;
 rho           rhoInf;
-rhoInf        $rho;
 
 // ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/probes/boundaryCloud b/etc/caseDicts/postProcessing/probes/boundaryCloud
index 72b0da5b76c57cae259bbca05ff6b1029094d0df..195bd4724167e26956de73fff699f48f9578b2ac 100644
--- a/etc/caseDicts/postProcessing/probes/boundaryCloud
+++ b/etc/caseDicts/postProcessing/probes/boundaryCloud
@@ -19,7 +19,7 @@ boundaryCloud
 
     patches     (".*");
 
-    #includeEtc "caseDicts/postProcessing/probes/boundaryCloud.cfg"
+    #includeFunc boundaryCloud.cfg
 }
 
 // ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/probes/boundaryCloud.cfg b/etc/caseDicts/postProcessing/probes/boundaryCloud.cfg
index d90c94122bd380b23184bd27600998191365a580..10d23ab346d65726332acdd9f060ee19d75a3914 100644
--- a/etc/caseDicts/postProcessing/probes/boundaryCloud.cfg
+++ b/etc/caseDicts/postProcessing/probes/boundaryCloud.cfg
@@ -6,7 +6,7 @@
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
-#includeEtc "caseDicts/postProcessing/probes/cloud.cfg"
+#includeFunc cloud.cfg
 
 sets
 (
diff --git a/etc/caseDicts/postProcessing/probes/internalCloud b/etc/caseDicts/postProcessing/probes/internalCloud
index e5ba0c2541dd1428f749ab791044687efe90facb..7fdeb0c13aa5c4ca62f20ba7072f9df497a25951 100644
--- a/etc/caseDicts/postProcessing/probes/internalCloud
+++ b/etc/caseDicts/postProcessing/probes/internalCloud
@@ -14,7 +14,7 @@ internalCloud
         (0 0 0)
     );
 
-    #includeEtc "caseDicts/postProcessing/probes/internalCloud.cfg"
+    #includeFunc internalCloud.cfg
 }
 
 // ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/probes/internalCloud.cfg b/etc/caseDicts/postProcessing/probes/internalCloud.cfg
index 19bf54f8983077b55671b39441742cab76f6768e..9179ce273e8b6ea356a01889dc4c494e7eb8848e 100644
--- a/etc/caseDicts/postProcessing/probes/internalCloud.cfg
+++ b/etc/caseDicts/postProcessing/probes/internalCloud.cfg
@@ -6,7 +6,7 @@
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
-#includeEtc "caseDicts/postProcessing/probes/cloud.cfg"
+#includeFunc cloud.cfg
 
 sets
 (
diff --git a/etc/caseDicts/postProcessing/probes/probes b/etc/caseDicts/postProcessing/probes/probes
index f5936b06b3b09daeea7c84ebcbbbebadc57d6a06..a2d4a4fed023eb706c2a93df722c618ccae96d02 100644
--- a/etc/caseDicts/postProcessing/probes/probes
+++ b/etc/caseDicts/postProcessing/probes/probes
@@ -8,7 +8,7 @@
 
 probes
 {
-    #includeEtc "caseDicts/postProcessing/probes/probes.cfg"
+    #includeFunc probes.cfg
 
     fields (p U);
     probeLocations
diff --git a/etc/caseDicts/postProcessing/scalarTransport/scalarTransport b/etc/caseDicts/postProcessing/scalarTransport/scalarTransport
index c1204f7e731512539f1f34bbf1891fad6aa65fbc..2eba2a4a565e5f04ad38d24fd11f7214d0a3cd88 100644
--- a/etc/caseDicts/postProcessing/scalarTransport/scalarTransport
+++ b/etc/caseDicts/postProcessing/scalarTransport/scalarTransport
@@ -8,7 +8,7 @@
 
 T
 {
-    #includeEtc "caseDicts/postProcessing/scalarTransport/scalarTransport.cfg"
+    #includeFunc scalarTransport.cfg
 
     userDT true;
     DT     1e-09;
diff --git a/etc/caseDicts/postProcessing/scalarTransport/scalarTransportDict b/etc/caseDicts/postProcessing/scalarTransport/scalarTransportDict
index 32b4bf14032ab4bc8379fd86047de19daabc5b55..dea72251df25377d1aad08831cf78e5c26d13663 100644
--- a/etc/caseDicts/postProcessing/scalarTransport/scalarTransportDict
+++ b/etc/caseDicts/postProcessing/scalarTransport/scalarTransportDict
@@ -20,6 +20,6 @@ writeInterval   1e-2;
 // transportProperties settings
 DT      DT [ 0 2 -1 0 0 0 0 ] 1e-9;
 
-#includeEtc "caseDicts/postProcessing/scalarTransport/scalarTransportDict.cfg"
+#includeFunc scalarTransportDict.cfg
 
 // ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/visualization/streamlines b/etc/caseDicts/postProcessing/visualization/streamlines
index c194eb7efe1be698aea35b56da14ef8d3ed98a68..b9d625f5b645a61dc3f6c0d4e1ab3c103c7e9371 100644
--- a/etc/caseDicts/postProcessing/visualization/streamlines
+++ b/etc/caseDicts/postProcessing/visualization/streamlines
@@ -14,7 +14,7 @@ streamlines
     fields  (U p);
 
     // Must be last entry
-    #includeEtc "caseDicts/postProcessing/visualization/streamlines.cfg"
+    #includeFunc streamlines.cfg
 }
 
 // ************************************************************************* //
diff --git a/etc/caseDicts/postProcessing/visualization/surfaces b/etc/caseDicts/postProcessing/visualization/surfaces
index 3b820bd51ee3a959a03804230c1c792ed5d413f0..60b6432f8b1db18991d86782128e1d294f87e589 100644
--- a/etc/caseDicts/postProcessing/visualization/surfaces
+++ b/etc/caseDicts/postProcessing/visualization/surfaces
@@ -8,7 +8,7 @@
 
 surfaces
 {
-    #includeEtc "caseDicts/postProcessing/visualization/surfaces.cfg"
+    #includeFunc surfaces.cfg
 
     fields       (p U);
 
diff --git a/etc/config.csh/aliases b/etc/config.csh/aliases
index bef648240c92293fde47dbb52ec4c9ac3f06b351..6d922a435f58d0513bd0380a18c69118357cf843 100644
--- a/etc/config.csh/aliases
+++ b/etc/config.csh/aliases
@@ -33,13 +33,13 @@
 # Change compiled version aliases
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 alias wmSet 'source $WM_PROJECT_DIR/etc/cshrc'
-alias wm64 'wmSET WM_ARCH_OPTION=64'
-alias wm32 'wmSET WM_ARCH_OPTION=32'
-alias wmSP 'wmSET WM_PRECISION_OPTION=SP'
-alias wmDP 'wmSET WM_PRECISION_OPTION=DP'
+alias wm64 'wmSet WM_ARCH_OPTION=64'
+alias wm32 'wmSet WM_ARCH_OPTION=32'
+alias wmSP 'wmSet WM_PRECISION_OPTION=SP'
+alias wmDP 'wmSet WM_PRECISION_OPTION=DP'
 
 # Refresh the environment
-alias wmRefresh 'wmSET $FOAM_SETTINGS'
+alias wmRefresh 'wmSet $FOAM_SETTINGS'
 
 # Clear env
 alias wmUnset 'source $WM_PROJECT_DIR/etc/config.csh/unset'
diff --git a/etc/config.csh/unset b/etc/config.csh/unset
index bdebc037666ddc42be42ebe8d336ff2c51faadbf..86e06808e3a2fbe1363ff0400943aa56f07c3142 100644
--- a/etc/config.csh/unset
+++ b/etc/config.csh/unset
@@ -152,16 +152,16 @@ unset cleaned foamClean foamOldDirs
 #------------------------------------------------------------------------------
 # Cleanup aliases
 
-unalias wmSET
+unalias wmSet
 unalias wm64
 unalias wm32
 unalias wmSP
 unalias wmDP
 
-unalias wmUNSET
+unalias wmUnset
 
-unalias wmSchedON
-unalias wmSchedOFF
+unalias wmSchedOn
+unalias wmSchedOff
 unalias foamPV
 
 unalias src
diff --git a/etc/config.sh/aliases b/etc/config.sh/aliases
index 1fb545497ea4601c8e1bd338ea886207b88503f0..28a504a257376d0734c8dff7d562cef8c33669a2 100644
--- a/etc/config.sh/aliases
+++ b/etc/config.sh/aliases
@@ -33,13 +33,13 @@
 # Change compiled version aliases
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 alias wmSet='. $WM_PROJECT_DIR/etc/bashrc'
-alias wm64='wmSET WM_ARCH_OPTION=64'
-alias wm32='wmSET WM_ARCH_OPTION=32'
-alias wmSP='wmSET WM_PRECISION_OPTION=SP'
-alias wmDP='wmSET WM_PRECISION_OPTION=DP'
+alias wm64='wmSet WM_ARCH_OPTION=64'
+alias wm32='wmSet WM_ARCH_OPTION=32'
+alias wmSP='wmSet WM_PRECISION_OPTION=SP'
+alias wmDP='wmSet WM_PRECISION_OPTION=DP'
 
 # Refresh the environment
-alias wmRefresh='wmSET $FOAM_SETTINGS'
+alias wmRefresh='wmSet $FOAM_SETTINGS'
 
 # Clear env
 alias wmUnset='. $WM_PROJECT_DIR/etc/config.sh/unset'
diff --git a/etc/config.sh/unset b/etc/config.sh/unset
index 8e2b541b34bf0b960af8ac2b48faa5f33a8a8bf3..0023fded3f7b7fa832c70e95d9789c482689b8ce 100644
--- a/etc/config.sh/unset
+++ b/etc/config.sh/unset
@@ -138,16 +138,16 @@ unset cleaned foamClean foamOldDirs
 #------------------------------------------------------------------------------
 # Cleanup aliases
 
-unalias wmSET
+unalias wmSet
 unalias wm64
 unalias wm32
 unalias wmSP
 unalias wmDP
 
-unalias wmUNSET
+unalias wmUnset
 
-unalias wmSchedON
-unalias wmSchedOFF
+unalias wmSchedOn
+unalias wmSchedOff
 unset foamPV
 
 unalias src
diff --git a/src/Allwmake b/src/Allwmake
index eb70924aeb6499f0f2d6a5f9bce3a2abba191627..8571acd0c193e8cf16a728a7482a4bd9bade9652 100755
--- a/src/Allwmake
+++ b/src/Allwmake
@@ -76,7 +76,7 @@ wmake $targetType engine
 wmake $targetType fvOptions
 wmake $targetType regionCoupled
 
-postProcessing/Allwmake $targetType $*
+functionObjects/Allwmake $targetType $*
 
 wmake $targetType sixDoFRigidBodyMotion
 wmake $targetType rigidBodyDynamics
diff --git a/src/OSspecific/POSIX/signals/sigStopAtWriteNow.C b/src/OSspecific/POSIX/signals/sigStopAtWriteNow.C
index 61a968be175a226b5e0f461db3f030293342369d..a601a24052bb3907de72115a97f49c28a8cb86ef 100644
--- a/src/OSspecific/POSIX/signals/sigStopAtWriteNow.C
+++ b/src/OSspecific/POSIX/signals/sigStopAtWriteNow.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
diff --git a/src/OpenFOAM/Make/files b/src/OpenFOAM/Make/files
index d67b35953c13ae7209a196275b30065f3a5cd802..c264836fb3b3d1721b4b05ed212daf1f17547c56 100644
--- a/src/OpenFOAM/Make/files
+++ b/src/OpenFOAM/Make/files
@@ -3,6 +3,7 @@ global/global.Cver
 /* global/constants/dimensionedConstants.C in global.Cver */
 global/argList/argList.C
 global/clock/clock.C
+global/etcFiles/etcFiles.C
 
 bools = primitives/bools
 $(bools)/bool/bool.C
@@ -186,6 +187,7 @@ $(functionEntries)/codeStream/codeStream.C
 $(functionEntries)/functionEntry/functionEntry.C
 $(functionEntries)/includeEntry/includeEntry.C
 $(functionEntries)/includeEtcEntry/includeEtcEntry.C
+$(functionEntries)/includeFuncEntry/includeFuncEntry.C
 $(functionEntries)/includeIfPresentEntry/includeIfPresentEntry.C
 $(functionEntries)/inputModeEntry/inputModeEntry.C
 $(functionEntries)/removeEntry/removeEntry.C
diff --git a/src/OpenFOAM/db/dictionary/functionEntries/includeEtcEntry/includeEtcEntry.C b/src/OpenFOAM/db/dictionary/functionEntries/includeEtcEntry/includeEtcEntry.C
index 4831eb85f424dc4604f29d913074152fc95052a2..ee591a1b87d761f6a2c1b7f2a6621ebaf58270ff 100644
--- a/src/OpenFOAM/db/dictionary/functionEntries/includeEtcEntry/includeEtcEntry.C
+++ b/src/OpenFOAM/db/dictionary/functionEntries/includeEtcEntry/includeEtcEntry.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2015-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -24,11 +24,10 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "includeEtcEntry.H"
-#include "dictionary.H"
+#include "etcFiles.H"
 #include "IFstream.H"
-#include "addToMemberFunctionSelectionTable.H"
 #include "stringOps.H"
-#include "OSspecific.H"
+#include "addToMemberFunctionSelectionTable.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
diff --git a/src/OpenFOAM/db/dictionary/functionEntries/includeFuncEntry/includeFuncEntry.C b/src/OpenFOAM/db/dictionary/functionEntries/includeFuncEntry/includeFuncEntry.C
new file mode 100644
index 0000000000000000000000000000000000000000..c33e3a887db41b3d26094d2d8d12a90779fd7589
--- /dev/null
+++ b/src/OpenFOAM/db/dictionary/functionEntries/includeFuncEntry/includeFuncEntry.C
@@ -0,0 +1,152 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2016 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "includeFuncEntry.H"
+#include "functionObjectList.H"
+#include "dictionary.H"
+#include "IFstream.H"
+#include "addToMemberFunctionSelectionTable.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+const Foam::word Foam::functionEntries::includeFuncEntry::typeName
+(
+    Foam::functionEntries::includeFuncEntry::typeName_()
+);
+
+// Don't lookup the debug switch here as the debug switch dictionary
+// might include includeFuncEntry
+int Foam::functionEntries::includeFuncEntry::debug(0);
+
+bool Foam::functionEntries::includeFuncEntry::report(false);
+
+
+namespace Foam
+{
+namespace functionEntries
+{
+    addToMemberFunctionSelectionTable
+    (
+        functionEntry,
+        includeFuncEntry,
+        execute,
+        dictionaryIstream
+    );
+
+    addToMemberFunctionSelectionTable
+    (
+        functionEntry,
+        includeFuncEntry,
+        execute,
+        primitiveEntryIstream
+    );
+}
+}
+
+// * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * * //
+
+Foam::fileName Foam::functionEntries::includeFuncEntry::funcPath
+(
+    const word& fName,
+    const dictionary& dict
+)
+{
+    // Search the system and etc directories for the file and return the path
+    return functionObjectList::findDict(fName);
+}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+bool Foam::functionEntries::includeFuncEntry::execute
+(
+    dictionary& parentDict,
+    Istream& is
+)
+{
+    const word fName(is);
+    const fileName fPath(funcPath(fName, parentDict));
+    IFstream ifs(fPath);
+
+    if (ifs)
+    {
+        if (Foam::functionEntries::includeFuncEntry::report)
+        {
+            Info<< fPath << endl;
+        }
+        parentDict.read(ifs);
+        return true;
+    }
+    else
+    {
+        FatalIOErrorInFunction
+        (
+            is
+        )   << "Cannot open functionObject file "
+            << (ifs.name().size() ? ifs.name() : fileName(fName))
+            << " while reading dictionary " << parentDict.name()
+            << exit(FatalIOError);
+
+        return false;
+    }
+}
+
+
+bool Foam::functionEntries::includeFuncEntry::execute
+(
+    const dictionary& parentDict,
+    primitiveEntry& entry,
+    Istream& is
+)
+{
+    const word fName(is);
+    const fileName fPath(funcPath(fName, parentDict));
+    IFstream ifs(fPath);
+
+    if (ifs)
+    {
+        if (Foam::functionEntries::includeFuncEntry::report)
+        {
+            Info<< fPath << endl;
+        }
+        entry.read(parentDict, ifs);
+        return true;
+    }
+    else
+    {
+        FatalIOErrorInFunction
+        (
+            is
+        )   << "Cannot open functionObject file "
+            << (ifs.name().size() ? ifs.name() : fileName(fName))
+            << " while reading dictionary " << parentDict.name()
+            << exit(FatalIOError);
+
+        return false;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/src/OpenFOAM/db/dictionary/functionEntries/includeFuncEntry/includeFuncEntry.H b/src/OpenFOAM/db/dictionary/functionEntries/includeFuncEntry/includeFuncEntry.H
new file mode 100644
index 0000000000000000000000000000000000000000..9cae78306261fef933f237ceb077b63d8005293c
--- /dev/null
+++ b/src/OpenFOAM/db/dictionary/functionEntries/includeFuncEntry/includeFuncEntry.H
@@ -0,0 +1,132 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2016 OpenFOAM Foundation
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::functionEntries::includeFuncEntry
+
+Description
+    Specify a functionObject dictionary file to include, expects the
+    functionObject name to follow (without quotes).
+
+    Search for functionObject dictionary file in
+    user/group/shipped directories.
+    The search scheme allows for version-specific and
+    version-independent files using the following hierarchy:
+    - \b user settings:
+      - ~/.OpenFOAM/\<VERSION\>/caseDicts/postProcessing
+      - ~/.OpenFOAM/caseDicts/postProcessing
+    - \b group (site) settings (when $WM_PROJECT_SITE is set):
+      - $WM_PROJECT_SITE/\<VERSION\>/caseDicts/postProcessing
+      - $WM_PROJECT_SITE/caseDicts/postProcessing
+    - \b group (site) settings (when $WM_PROJECT_SITE is not set):
+      - $WM_PROJECT_INST_DIR/site/\<VERSION\>/caseDicts/postProcessing
+      - $WM_PROJECT_INST_DIR/site/caseDicts/postProcessing
+    - \b other (shipped) settings:
+      - $WM_PROJECT_DIR/etc/caseDicts/postProcessing
+
+    An example of the \c \#includeFunc directive:
+    \verbatim
+        #includeFunc <funcName>
+    \endverbatim
+
+See Also
+    functionObjectList::findDict
+
+SourceFiles
+    includeFuncEntry.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef includeFuncEntry_H
+#define includeFuncEntry_H
+
+#include "functionEntry.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace functionEntries
+{
+
+/*---------------------------------------------------------------------------*\
+                        Class includeFuncEntry Declaration
+\*---------------------------------------------------------------------------*/
+
+class includeFuncEntry
+:
+    public functionEntry
+{
+    // Private Member Functions
+
+        //- Disallow default bitwise copy construct
+        includeFuncEntry(const includeFuncEntry&);
+
+        //- Disallow default bitwise assignment
+        void operator=(const includeFuncEntry&);
+
+        //- Return the path to the functionObject dictionary path
+        static fileName funcPath
+        (
+            const word& fName,
+            const dictionary& dict
+        );
+
+
+public:
+
+    // Static data members
+
+        //- Report which file is included to stdout
+        static bool report;
+
+
+    //- Runtime type information
+    ClassName("includeFunc");
+
+
+    // Member Functions
+
+        //- Execute the functionEntry in a sub-dict context
+        static bool execute(dictionary& parentDict, Istream&);
+
+        //- Execute the functionEntry in a primitiveEntry context
+        static bool execute
+        (
+            const dictionary& parentDict,
+            primitiveEntry&,
+            Istream&
+        );
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace functionEntries
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCode.C b/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCode.C
index f617f56de29627fa3bcea504c5cbc8893d1ae6e0..1537c8c4c2c8f0e49df9f4c842b5571454c43d27 100644
--- a/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCode.C
+++ b/src/OpenFOAM/db/dynamicLibrary/dynamicCode/dynamicCode.C
@@ -29,6 +29,7 @@ License
 #include "IFstream.H"
 #include "OFstream.H"
 #include "OSspecific.H"
+#include "etcFiles.H"
 #include "dictionary.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
diff --git a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C
index 292167048daf89be35ea9e0efcded1778819f2b0..041c3b98e440536289d2a5f886671ab8f88947ec 100644
--- a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C
+++ b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C
@@ -28,6 +28,18 @@ License
 #include "mapPolyMesh.H"
 #include "argList.H"
 #include "timeControlFunctionObject.H"
+#include "IFstream.H"
+#include "dictionaryEntry.H"
+#include "stringOps.H"
+#include "etcFiles.H"
+
+/* * * * * * * * * * * * * * * Static Member Data  * * * * * * * * * * * * * */
+
+Foam::fileName Foam::functionObjectList::functionObjectDictPath
+(
+    "caseDicts/postProcessing"
+);
+
 
 // * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //
 
@@ -59,6 +71,125 @@ Foam::functionObject* Foam::functionObjectList::remove
 }
 
 
+Foam::fileName Foam::functionObjectList::findDict(const word& funcName)
+{
+    // First check if there is a functionObject dictionary file in the
+    // case system directory
+    fileName dictFile = stringOps::expand("$FOAM_CASE")/"system"/funcName;
+
+    if (isFile(dictFile))
+    {
+        return dictFile;
+    }
+    else
+    {
+        fileNameList etcDirs(findEtcDirs(functionObjectDictPath));
+
+        forAll(etcDirs, i)
+        {
+            dictFile = search(funcName, etcDirs[i]);
+            if (!dictFile.empty())
+            {
+                return dictFile;
+            }
+        }
+    }
+
+    return fileName::null;
+}
+
+
+void Foam::functionObjectList::readFunctionObject
+(
+    const word& funcNameArgs0,
+    dictionary& functionsDict,
+    HashSet<word>& selectedFields
+)
+{
+    // Parse the optional functionObject arguments
+    // e.g. 'Q(U)' -> funcName = Q; args = (U);
+
+    word funcNameArgs(funcNameArgs0);
+    string::stripInvalid<word>(funcNameArgs);
+
+    word funcName(funcNameArgs);
+    wordList args;
+
+    word::size_type start = 0;
+    word::size_type i = 0;
+
+    for
+    (
+        word::const_iterator iter = funcNameArgs.begin();
+        iter != funcNameArgs.end();
+        ++iter
+    )
+    {
+        char c = *iter;
+
+        if (c == '(')
+        {
+            funcName.resize(i);
+            start = i+1;
+        }
+        else if (c == ',')
+        {
+            args.append(funcNameArgs(start, i - start));
+            start = i+1;
+        }
+        else if (c == ')')
+        {
+            args.append(funcNameArgs(start, i - start));
+            break;
+        }
+
+        ++i;
+    }
+
+    // Search for the functionObject dictionary
+    fileName path = findDict(funcName);
+
+    if (path == fileName::null)
+    {
+        WarningInFunction
+            << "Cannot find functionObject file " << funcName << endl;
+        return;
+    }
+
+    // Read the functionObject dictionary
+    IFstream fileStream(path);
+    dictionary funcsDict(fileStream);
+    dictionary& funcDict = funcsDict.subDict(funcName);
+
+    // Insert the 'field' or 'fields' entry corresponding to the optional
+    // arguments or read the 'field' or 'fields' entry and add the required
+    // fields to selectedFields
+    if (args.size() == 1)
+    {
+        funcDict.set("field", args[0]);
+        selectedFields.insert(args[0]);
+    }
+    else if (args.size() > 1)
+    {
+        funcDict.set("fields", args);
+        selectedFields.insert(args);
+    }
+    else if (funcDict.found("field"))
+    {
+        selectedFields.insert(word(funcDict.lookup("field")));
+    }
+    else if (funcDict.found("fields"))
+    {
+        selectedFields.insert(wordList(funcDict.lookup("fields")));
+    }
+
+    // Merge this functionObject dictionary into functionsDict
+    dictionary funcArgsDict;
+    funcArgsDict.add(funcNameArgs, funcDict);
+    functionsDict.subDict("functions").merge(funcArgsDict);
+}
+
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 Foam::functionObjectList::functionObjectList
@@ -98,35 +229,65 @@ Foam::autoPtr<Foam::functionObjectList> Foam::functionObjectList::New
 (
     const argList& args,
     const Time& runTime,
-    dictionary& functionObjectsDict
+    dictionary& functionsDict,
+    HashSet<word>& selectedFields
 )
 {
-    autoPtr<functionObjectList> functionObjectsPtr;
+    autoPtr<functionObjectList> functionsPtr;
+
+    functionsDict.add
+    (
+        dictionaryEntry("functions", functionsDict, dictionary::null)
+    );
 
-    if (args.optionFound("dict"))
+    if
+    (
+        args.optionFound("dict")
+     || args.optionFound("func")
+     || args.optionFound("funcs")
+    )
     {
-        functionObjectsDict = IOdictionary
-        (
-            IOobject
+        if (args.optionFound("dict"))
+        {
+            functionsDict.merge
             (
-                args["dict"],
-                runTime,
-                IOobject::MUST_READ_IF_MODIFIED
-            )
-        );
+                IOdictionary
+                (
+                    IOobject
+                    (
+                        args["dict"],
+                        runTime,
+                        IOobject::MUST_READ_IF_MODIFIED
+                    )
+                )
+            );
+        }
 
-        functionObjectsPtr.reset
-        (
-            new functionObjectList(runTime, functionObjectsDict)
-        );
+        if (args.optionFound("func"))
+        {
+            readFunctionObject(args["func"], functionsDict, selectedFields);
+        }
+
+        if (args.optionFound("funcs"))
+        {
+            wordList funcs(args.optionLookup("funcs")());
+
+            forAll(funcs, i)
+            {
+                readFunctionObject(funcs[i], functionsDict, selectedFields);
+            }
+        }
+
+        functionsPtr.reset(new functionObjectList(runTime, functionsDict));
     }
     else
     {
-        functionObjectsPtr.reset(new functionObjectList(runTime));
+        functionsPtr.reset(new functionObjectList(runTime));
     }
-    functionObjectsPtr->start();
 
-    return functionObjectsPtr;
+    functionsPtr->start();
+
+    return functionsPtr;
 }
 
 
diff --git a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.H b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.H
index 7cb6d4173ad75a1dbdf6b75207299a63fbf5153b..b69d0d7aae74d12e084254974ebf953ab79b0665 100644
--- a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.H
+++ b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.H
@@ -44,6 +44,7 @@ SourceFiles
 #include "functionObject.H"
 #include "SHA1Digest.H"
 #include "HashTable.H"
+#include "HashSet.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -90,6 +91,13 @@ class functionObjectList
         //  Returns a NULL pointer (and index -1) if it didn't exist.
         functionObject* remove(const word&, label& oldIndex);
 
+        static void readFunctionObject
+        (
+            const word& funcNameArgs0,
+            dictionary& functionsDict,
+            HashSet<word>& selectedFields
+        );
+
         //- Disallow default bitwise copy construct
         functionObjectList(const functionObjectList&);
 
@@ -99,13 +107,20 @@ class functionObjectList
 
 public:
 
+    // Static data members
+
+        //- Default relative path to the directory structure
+        //  containing the functionObject dictionary files
+        static fileName functionObjectDictPath;
+
+
     // Constructors
 
-        //- Construct from Time and the execution setting
+        //- Construct from Time and the execution setting.
         //  The functionObject specifications are read from the controlDict
         functionObjectList
         (
-            const Time&,
+            const Time& runTime,
             const bool execution=true
         );
 
@@ -119,13 +134,12 @@ public:
         //    or not. Default: true.
         functionObjectList
         (
-            const Time& t,
+            const Time& runTime,
             const dictionary& parentDict,
             const bool execution=true
         );
 
         //- Construct and return a functionObjectList for an application.
-        //
         //  If the "dict" argument is specified the functionObjectList is
         //  constructed from that dictionary which is returned as
         //  functionObjectsDict otherwise the functionObjectList is constructed
@@ -134,7 +148,8 @@ public:
         (
             const argList& args,
             const Time& runTime,
-            dictionary& functionObjectsDict
+            dictionary& functionObjectsDict,
+            HashSet<word>& selectedFields
         );
 
 
@@ -159,6 +174,26 @@ public:
         //- Find the ID of a given function object by name
         label findObjectID(const word& name) const;
 
+        //- Search for functionObject dictionary file in
+        //  user/group/shipped directories.
+        //  The search scheme allows for version-specific and
+        //  version-independent files using the following hierarchy:
+        //  - \b user settings:
+        //    - ~/.OpenFOAM/\<VERSION\>/caseDicts/postProcessing
+        //    - ~/.OpenFOAM/caseDicts/postProcessing
+        //  - \b group (site) settings (when $WM_PROJECT_SITE is set):
+        //    - $WM_PROJECT_SITE/\<VERSION\>/caseDicts/postProcessing
+        //    - $WM_PROJECT_SITE/caseDicts/postProcessing
+        //  - \b group (site) settings (when $WM_PROJECT_SITE is not set):
+        //    - $WM_PROJECT_INST_DIR/site/\<VERSION\>/caseDicts/postProcessing
+        //    - $WM_PROJECT_INST_DIR/site/caseDicts/postProcessing
+        //  - \b other (shipped) settings:
+        //    - $WM_PROJECT_DIR/etc/caseDicts/postProcessing
+        //
+        //  \return The path of the functionObject dictionary file if found
+        //  otherwise null
+        static fileName findDict(const word& funcName);
+
         //- Read and set the function objects if their data have changed
         bool read();
 
diff --git a/src/OpenFOAM/db/functionObjects/functionObjectList/postProcess.H b/src/OpenFOAM/db/functionObjects/functionObjectList/postProcess.H
index a736546f2cf8872a7f67084f98915e845dea7cf8..16607129613f3e0d6253e77663f64f0ad28468e3 100644
--- a/src/OpenFOAM/db/functionObjects/functionObjectList/postProcess.H
+++ b/src/OpenFOAM/db/functionObjects/functionObjectList/postProcess.H
@@ -71,7 +71,7 @@ if (argList::postProcess(argc, argv))
 {
     Foam::timeSelector::addOptions();
     #include "addRegionOption.H"
-    #include "addDictOption.H"
+    #include "addFunctionObjectOptions.H"
 
     #include "setRootCase.H"
     #include INCLUDE_FILE(CREATE_TIME)
@@ -84,12 +84,14 @@ if (argList::postProcess(argc, argv))
 
     // Externally stored dictionary for functionObjectList
     // if not constructed from runTime
-    dictionary functionObjectsDict;
+    dictionary functionsDict;
+
+    HashSet<word> selectedFields;
 
     // Construct functionObjectList
-    autoPtr<functionObjectList> functionObjectsPtr
+    autoPtr<functionObjectList> functionsPtr
     (
-        functionObjectList::New(args, runTime, functionObjectsDict)
+        functionObjectList::New(args, runTime, functionsDict, selectedFields)
     );
 
     forAll(timeDirs, timeI)
@@ -101,8 +103,13 @@ if (argList::postProcess(argc, argv))
         if (mesh.readUpdate() != polyMesh::UNCHANGED)
         {
             // Update functionObjects if mesh changes
-            functionObjectsPtr =
-                functionObjectList::New(args, runTime, functionObjectsDict);
+            functionsPtr = functionObjectList::New
+            (
+                args,
+                runTime,
+                functionsDict,
+                selectedFields
+            );
         }
 
         FatalIOError.throwExceptions();
@@ -119,7 +126,7 @@ if (argList::postProcess(argc, argv))
             #include INCLUDE_FILE(CREATE_FIELDS_3)
             #endif
 
-            functionObjectsPtr->execute(true);
+            functionsPtr->execute(true);
         }
         catch (IOerror& err)
         {
diff --git a/src/OpenFOAM/fields/ReadFields/ReadFields.H b/src/OpenFOAM/fields/ReadFields/ReadFields.H
index bb464c8ba51a793d5f20f069ce92dd2f5034b6e9..af90731616a80bfdab280a188fd66a66e7e5c67c 100644
--- a/src/OpenFOAM/fields/ReadFields/ReadFields.H
+++ b/src/OpenFOAM/fields/ReadFields/ReadFields.H
@@ -47,6 +47,7 @@ namespace Foam
 
 class regIOobject;
 class IOobjectList;
+class objectRegistry;
 
 //- Read all fields of the specified type.
 //  Returns names of fields read.
diff --git a/src/OpenFOAM/global/debug/debug.C b/src/OpenFOAM/global/debug/debug.C
index b2f0dfd2fb0bcb07b58032aef647f41d7ee3a395..1c90bda00db481cebf67d04bcf503af78ae51261 100644
--- a/src/OpenFOAM/global/debug/debug.C
+++ b/src/OpenFOAM/global/debug/debug.C
@@ -29,7 +29,7 @@ Description
 #include "debug.H"
 #include "dictionary.H"
 #include "IFstream.H"
-#include "OSspecific.H"
+#include "etcFiles.H"
 #include "Ostream.H"
 #include "demandDrivenData.H"
 #include "simpleObjectRegistry.H"
diff --git a/src/OpenFOAM/include/OSspecific.H b/src/OpenFOAM/include/OSspecific.H
index dc59042f229525325e2b9bf25d2030c07d498773..c40aebb598d4e120cd64ed7d752cd67287fe056a 100644
--- a/src/OpenFOAM/include/OSspecific.H
+++ b/src/OpenFOAM/include/OSspecific.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
diff --git a/src/OpenFOAM/include/addFunctionObjectOptions.H b/src/OpenFOAM/include/addFunctionObjectOptions.H
new file mode 100644
index 0000000000000000000000000000000000000000..cacca9d5fb6e3a7653fa98616c9016cab7f5c436
--- /dev/null
+++ b/src/OpenFOAM/include/addFunctionObjectOptions.H
@@ -0,0 +1,26 @@
+#include "addDictOption.H"
+Foam::argList::addOption
+(
+    "field",
+    "name",
+    "specify the name of the field to be processed, e.g. U"
+);
+Foam::argList::addOption
+(
+    "fields",
+    "list",
+    "specify a list of fields to be processed, e.g. '(U T p)' - "
+    "regular expressions not currently supported"
+);
+Foam::argList::addOption
+(
+    "func",
+    "name",
+    "specify the name of the functionObject to execute, e.g. Q"
+);
+Foam::argList::addOption
+(
+    "funcs",
+    "list",
+    "specify the names of the functionObjects to execute, e.g. '(Q div(U))'"
+);
diff --git a/src/OpenFOAM/meshes/meshShapes/cellModeller/globalCellModeller.C b/src/OpenFOAM/meshes/meshShapes/cellModeller/globalCellModeller.C
index 04652de8883ab989c4f5bfb47e02022698870b38..92f66696a7556cc37f35112458c80618c3426c6d 100644
--- a/src/OpenFOAM/meshes/meshShapes/cellModeller/globalCellModeller.C
+++ b/src/OpenFOAM/meshes/meshShapes/cellModeller/globalCellModeller.C
@@ -27,7 +27,7 @@ Description
 \*---------------------------------------------------------------------------*/
 
 #include "cellModeller.H"
-#include "OSspecific.H"
+#include "etcFiles.H"
 #include "IFstream.H"
 
 // * * * * * * * * * * * * * * * Static data * * * * * * * * * * * * * * * * //
diff --git a/src/OpenFOAM/primitives/strings/stringOps/stringOps.C b/src/OpenFOAM/primitives/strings/stringOps/stringOps.C
index 52387922b1865a208afaacfdf6bc11cd6ffcf0b4..4dc7c08f0fe5962b9470e3d85daae2930a644b76 100644
--- a/src/OpenFOAM/primitives/strings/stringOps/stringOps.C
+++ b/src/OpenFOAM/primitives/strings/stringOps/stringOps.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
@@ -26,6 +26,7 @@ License
 #include "stringOps.H"
 #include "typeInfo.H"
 #include "OSspecific.H"
+#include "etcFiles.H"
 #include "OStringStream.H"
 
 
diff --git a/src/finiteVolume/finiteVolume/convectionSchemes/gaussConvectionScheme/gaussConvectionScheme.H b/src/finiteVolume/finiteVolume/convectionSchemes/gaussConvectionScheme/gaussConvectionScheme.H
index fc7d98d4c5c79045ad155cca869f1ec124c5ecdc..511754910a6ec5a8418bb461744beb96d4abdcfb 100644
--- a/src/finiteVolume/finiteVolume/convectionSchemes/gaussConvectionScheme/gaussConvectionScheme.H
+++ b/src/finiteVolume/finiteVolume/convectionSchemes/gaussConvectionScheme/gaussConvectionScheme.H
@@ -36,6 +36,7 @@ SourceFiles
 #define gaussConvectionScheme_H
 
 #include "convectionScheme.H"
+#include "etcFiles.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/postProcessing/functionObjects/Allwmake b/src/functionObjects/Allwmake
similarity index 93%
rename from src/postProcessing/functionObjects/Allwmake
rename to src/functionObjects/Allwmake
index 9eaf5762e82cc4143348ac3984800ba85f091159..7e4c72f3cee20b68acacbb4c604d3f92ac88bd1b 100755
--- a/src/postProcessing/functionObjects/Allwmake
+++ b/src/functionObjects/Allwmake
@@ -10,5 +10,6 @@ wmake $targetType field
 wmake $targetType forces
 wmake $targetType lagrangian
 wmake $targetType utilities
+wmake $targetType solvers
 
 #------------------------------------------------------------------------------
diff --git a/src/postProcessing/functionObjects/field/CourantNo/CourantNo.C b/src/functionObjects/field/CourantNo/CourantNo.C
similarity index 95%
rename from src/postProcessing/functionObjects/field/CourantNo/CourantNo.C
rename to src/functionObjects/field/CourantNo/CourantNo.C
index 31fa4f191682e88399e936d9c2572c3c447d97d2..2f7c735801381240c8507ab51b2f8ae61efb0865 100644
--- a/src/postProcessing/functionObjects/field/CourantNo/CourantNo.C
+++ b/src/functionObjects/field/CourantNo/CourantNo.C
@@ -68,10 +68,10 @@ Foam::functionObjects::CourantNo::byRho
 
 bool Foam::functionObjects::CourantNo::calc()
 {
-    if (foundObject<surfaceScalarField>(phiName_))
+    if (foundObject<surfaceScalarField>(fieldName_))
     {
         const surfaceScalarField& phi =
-            lookupObject<surfaceScalarField>(phiName_);
+            lookupObject<surfaceScalarField>(fieldName_);
 
         tmp<volScalarField::Internal> Coi
         (
@@ -138,8 +138,9 @@ Foam::functionObjects::CourantNo::CourantNo
     const dictionary& dict
 )
 :
-    fieldExpression(name, runTime, dict, "phi", "Co")
+    fieldExpression(name, runTime, dict, "phi")
 {
+    setResultName("Co", "phi");
     read(dict);
 }
 
@@ -156,7 +157,6 @@ bool Foam::functionObjects::CourantNo::read(const dictionary& dict)
 {
     fieldExpression::read(dict);
 
-    phiName_ = dict.lookupOrDefault<word>("phi", "phi");
     rhoName_ = dict.lookupOrDefault<word>("rho", "rho");
 
     return true;
diff --git a/src/postProcessing/functionObjects/field/CourantNo/CourantNo.H b/src/functionObjects/field/CourantNo/CourantNo.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/CourantNo/CourantNo.H
rename to src/functionObjects/field/CourantNo/CourantNo.H
diff --git a/src/postProcessing/functionObjects/field/Lambda2/Lambda2.C b/src/functionObjects/field/Lambda2/Lambda2.C
similarity index 96%
rename from src/postProcessing/functionObjects/field/Lambda2/Lambda2.C
rename to src/functionObjects/field/Lambda2/Lambda2.C
index 0587d7be427cdeef67b01f11c48d30a0a1d292d0..20cc6a77716435d7ee663fe09cbd439dc5aa62eb 100644
--- a/src/postProcessing/functionObjects/field/Lambda2/Lambda2.C
+++ b/src/functionObjects/field/Lambda2/Lambda2.C
@@ -83,8 +83,10 @@ Foam::functionObjects::Lambda2::Lambda2
     const dictionary& dict
 )
 :
-    fieldExpression(name, runTime, dict, "U", "Lambda2")
-{}
+    fieldExpression(name, runTime, dict, "U")
+{
+    setResultName(typeName, "U");
+}
 
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
diff --git a/src/postProcessing/functionObjects/field/Lambda2/Lambda2.H b/src/functionObjects/field/Lambda2/Lambda2.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/Lambda2/Lambda2.H
rename to src/functionObjects/field/Lambda2/Lambda2.H
diff --git a/src/postProcessing/functionObjects/field/MachNo/MachNo.C b/src/functionObjects/field/MachNo/MachNo.C
similarity index 96%
rename from src/postProcessing/functionObjects/field/MachNo/MachNo.C
rename to src/functionObjects/field/MachNo/MachNo.C
index a362e508f1fac61d4fc99c6d5d80a3347eb4294e..b3fbccee6fa12e3637212a624ffa85d2233279f4 100644
--- a/src/postProcessing/functionObjects/field/MachNo/MachNo.C
+++ b/src/functionObjects/field/MachNo/MachNo.C
@@ -82,8 +82,10 @@ Foam::functionObjects::MachNo::MachNo
     const dictionary& dict
 )
 :
-    fieldExpression(name, runTime, dict, "U", "Ma")
-{}
+    fieldExpression(name, runTime, dict, "U")
+{
+    setResultName("Ma", "U");
+}
 
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
diff --git a/src/postProcessing/functionObjects/field/MachNo/MachNo.H b/src/functionObjects/field/MachNo/MachNo.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/MachNo/MachNo.H
rename to src/functionObjects/field/MachNo/MachNo.H
diff --git a/src/postProcessing/functionObjects/field/Make/files b/src/functionObjects/field/Make/files
similarity index 93%
rename from src/postProcessing/functionObjects/field/Make/files
rename to src/functionObjects/field/Make/files
index ee5a63349101b620019a413d0917d1f53f9d2709..50ffce51de6ff7e5d278b2a5e3f16152347d1fe1 100644
--- a/src/postProcessing/functionObjects/field/Make/files
+++ b/src/functionObjects/field/Make/files
@@ -27,7 +27,7 @@ wallBoundedStreamLine/wallBoundedStreamLineParticle.C
 wallBoundedStreamLine/wallBoundedStreamLineParticleCloud.C
 wallBoundedStreamLine/wallBoundedParticle.C
 
-surfaceInterpolateFields/surfaceInterpolateFields.C
+surfaceInterpolate/surfaceInterpolate.C
 
 regionSizeDistribution/regionSizeDistribution.C
 histogram/histogram.C
@@ -50,4 +50,7 @@ blendingFactor/blendingFactor.C
 pressure/pressure.C
 MachNo/MachNo.C
 
+turbulenceFields/turbulenceFields.C
+yPlus/yPlus.C
+
 LIB = $(FOAM_LIBBIN)/libfieldFunctionObjects
diff --git a/src/postProcessing/functionObjects/field/Make/options b/src/functionObjects/field/Make/options
similarity index 68%
rename from src/postProcessing/functionObjects/field/Make/options
rename to src/functionObjects/field/Make/options
index 5e97121147df4d0142b7d7adca581b0f70fd9a8a..59922f16102be9b156af327b357febe246a8c178 100644
--- a/src/postProcessing/functionObjects/field/Make/options
+++ b/src/functionObjects/field/Make/options
@@ -8,13 +8,18 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/compressible/lnInclude \
-    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude
 
 LIB_LIBS = \
     -lfiniteVolume \
     -lfluidThermophysicalModels \
-    -lcompressibleTransportModels \
+    -lincompressibleTransportModels \
     -lturbulenceModels \
+    -lcompressibleTransportModels \
+    -lincompressibleTurbulenceModels \
+    -lcompressibleTurbulenceModels \
     -lmeshTools \
     -lsurfMesh \
     -llagrangian \
diff --git a/src/postProcessing/functionObjects/field/PecletNo/PecletNo.C b/src/functionObjects/field/PecletNo/PecletNo.C
similarity index 85%
rename from src/postProcessing/functionObjects/field/PecletNo/PecletNo.C
rename to src/functionObjects/field/PecletNo/PecletNo.C
index 69c4ee48ae5dd200672ff3f3d149e42bd1802cd7..3650448e847c67a55022d0cda99060145540407b 100644
--- a/src/postProcessing/functionObjects/field/PecletNo/PecletNo.C
+++ b/src/functionObjects/field/PecletNo/PecletNo.C
@@ -50,7 +50,7 @@ namespace functionObjects
 
 bool Foam::functionObjects::PecletNo::calc()
 {
-    if (foundObject<surfaceScalarField>(phiName_))
+    if (foundObject<surfaceScalarField>(fieldName_))
     {
         tmp<volScalarField> nuEff
         (
@@ -61,7 +61,7 @@ bool Foam::functionObjects::PecletNo::calc()
         );
 
         const surfaceScalarField& phi =
-            mesh_.lookupObject<surfaceScalarField>(phiName_);
+            mesh_.lookupObject<surfaceScalarField>(fieldName_);
 
         return store
         (
@@ -90,9 +90,9 @@ Foam::functionObjects::PecletNo::PecletNo
     const dictionary& dict
 )
 :
-    fieldExpression(name, runTime, dict, "phi", "Pe")
+    fieldExpression(name, runTime, dict, "phi")
 {
-    read(dict);
+    setResultName("Pe", "phi");
 }
 
 
@@ -102,16 +102,4 @@ Foam::functionObjects::PecletNo::~PecletNo()
 {}
 
 
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-bool Foam::functionObjects::PecletNo::read(const dictionary& dict)
-{
-    fieldExpression::read(dict);
-
-    phiName_ = dict.lookupOrDefault<word>("phi", "phi");
-
-    return true;
-}
-
-
 // ************************************************************************* //
diff --git a/src/postProcessing/functionObjects/field/PecletNo/PecletNo.H b/src/functionObjects/field/PecletNo/PecletNo.H
similarity index 93%
rename from src/postProcessing/functionObjects/field/PecletNo/PecletNo.H
rename to src/functionObjects/field/PecletNo/PecletNo.H
index 3ff90f0cd4e7e5971bc4e6c9f638513bee6f7afb..bd333a1a131ef2ead7f7b79dc3b426b1480922f1 100644
--- a/src/postProcessing/functionObjects/field/PecletNo/PecletNo.H
+++ b/src/functionObjects/field/PecletNo/PecletNo.H
@@ -60,12 +60,6 @@ class PecletNo
 :
     public fieldExpression
 {
-    // Private data
-
-        //- Name of flux field, default is "phi"
-        word phiName_;
-
-
     // Private Member Functions
 
         //- Calculate the Peclet number field and return true if successful
@@ -92,12 +86,6 @@ public:
 
     //- Destructor
     virtual ~PecletNo();
-
-
-    // Member Functions
-
-        //- Read the PecletNo data
-        virtual bool read(const dictionary&);
 };
 
 
diff --git a/src/postProcessing/functionObjects/field/Q/Q.C b/src/functionObjects/field/Q/Q.C
similarity index 92%
rename from src/postProcessing/functionObjects/field/Q/Q.C
rename to src/functionObjects/field/Q/Q.C
index be54432d9014ad24860949cefb5b9c1b23d63e31..a3012cd03ba3657972bc4477d6a29c82cf226668 100644
--- a/src/postProcessing/functionObjects/field/Q/Q.C
+++ b/src/functionObjects/field/Q/Q.C
@@ -79,17 +79,7 @@ Foam::functionObjects::Q::Q
 :
     fieldExpression(name, runTime, dict, "U")
 {
-    if (resultName_.empty())
-    {
-        if (fieldName_ != "U")
-        {
-            resultName_ = "Q(" + fieldName_ + ')';
-        }
-        else
-        {
-            resultName_ = 'Q';
-        }
-    }
+    setResultName(typeName, "U");
 }
 
 
diff --git a/src/postProcessing/functionObjects/field/Q/Q.H b/src/functionObjects/field/Q/Q.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/Q/Q.H
rename to src/functionObjects/field/Q/Q.H
diff --git a/src/postProcessing/functionObjects/field/blendingFactor/blendingFactor.C b/src/functionObjects/field/blendingFactor/blendingFactor.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/blendingFactor/blendingFactor.C
rename to src/functionObjects/field/blendingFactor/blendingFactor.C
diff --git a/src/postProcessing/functionObjects/field/blendingFactor/blendingFactor.H b/src/functionObjects/field/blendingFactor/blendingFactor.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/blendingFactor/blendingFactor.H
rename to src/functionObjects/field/blendingFactor/blendingFactor.H
diff --git a/src/postProcessing/functionObjects/field/blendingFactor/blendingFactorTemplates.C b/src/functionObjects/field/blendingFactor/blendingFactorTemplates.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/blendingFactor/blendingFactorTemplates.C
rename to src/functionObjects/field/blendingFactor/blendingFactorTemplates.C
diff --git a/src/postProcessing/functionObjects/field/components/components.C b/src/functionObjects/field/components/components.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/components/components.C
rename to src/functionObjects/field/components/components.C
diff --git a/src/postProcessing/functionObjects/field/components/components.H b/src/functionObjects/field/components/components.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/components/components.H
rename to src/functionObjects/field/components/components.H
diff --git a/src/postProcessing/functionObjects/field/components/componentsTemplates.C b/src/functionObjects/field/components/componentsTemplates.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/components/componentsTemplates.C
rename to src/functionObjects/field/components/componentsTemplates.C
diff --git a/src/postProcessing/functionObjects/field/div/div.C b/src/functionObjects/field/div/div.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/div/div.C
rename to src/functionObjects/field/div/div.C
diff --git a/src/postProcessing/functionObjects/field/div/div.H b/src/functionObjects/field/div/div.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/div/div.H
rename to src/functionObjects/field/div/div.H
diff --git a/src/postProcessing/functionObjects/field/div/divTemplates.C b/src/functionObjects/field/div/divTemplates.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/div/divTemplates.C
rename to src/functionObjects/field/div/divTemplates.C
diff --git a/src/postProcessing/functionObjects/field/doc/fieldFunctionObjectsDoc.H b/src/functionObjects/field/doc/fieldFunctionObjectsDoc.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/doc/fieldFunctionObjectsDoc.H
rename to src/functionObjects/field/doc/fieldFunctionObjectsDoc.H
diff --git a/src/postProcessing/functionObjects/field/enstrophy/enstrophy.C b/src/functionObjects/field/enstrophy/enstrophy.C
similarity index 96%
rename from src/postProcessing/functionObjects/field/enstrophy/enstrophy.C
rename to src/functionObjects/field/enstrophy/enstrophy.C
index 6c62c7294ab62eaca34fd7060e3e0cb64d0be452..5100e3c8e0974c8028f23a9d2d92823d88e81a0f 100644
--- a/src/postProcessing/functionObjects/field/enstrophy/enstrophy.C
+++ b/src/functionObjects/field/enstrophy/enstrophy.C
@@ -75,8 +75,10 @@ Foam::functionObjects::enstrophy::enstrophy
     const dictionary& dict
 )
 :
-    fieldExpression(name, runTime, dict, "U", "enstrophy")
-{}
+    fieldExpression(name, runTime, dict, "U")
+{
+    setResultName(typeName, "U");
+}
 
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
diff --git a/src/postProcessing/functionObjects/field/enstrophy/enstrophy.H b/src/functionObjects/field/enstrophy/enstrophy.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/enstrophy/enstrophy.H
rename to src/functionObjects/field/enstrophy/enstrophy.H
diff --git a/src/postProcessing/functionObjects/field/fieldAverage/controlDict b/src/functionObjects/field/fieldAverage/controlDict
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldAverage/controlDict
rename to src/functionObjects/field/fieldAverage/controlDict
diff --git a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage.C b/src/functionObjects/field/fieldAverage/fieldAverage.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldAverage/fieldAverage.C
rename to src/functionObjects/field/fieldAverage/fieldAverage.C
diff --git a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverage.H b/src/functionObjects/field/fieldAverage/fieldAverage.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldAverage/fieldAverage.H
rename to src/functionObjects/field/fieldAverage/fieldAverage.H
diff --git a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItem.C b/src/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItem.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItem.C
rename to src/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItem.C
diff --git a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItem.H b/src/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItem.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItem.H
rename to src/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItem.H
diff --git a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItemIO.C b/src/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItemIO.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItemIO.C
rename to src/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItemIO.C
diff --git a/src/postProcessing/functionObjects/field/fieldAverage/fieldAverageTemplates.C b/src/functionObjects/field/fieldAverage/fieldAverageTemplates.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldAverage/fieldAverageTemplates.C
rename to src/functionObjects/field/fieldAverage/fieldAverageTemplates.C
diff --git a/src/postProcessing/functionObjects/field/fieldCoordinateSystemTransform/fieldCoordinateSystemTransform.C b/src/functionObjects/field/fieldCoordinateSystemTransform/fieldCoordinateSystemTransform.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldCoordinateSystemTransform/fieldCoordinateSystemTransform.C
rename to src/functionObjects/field/fieldCoordinateSystemTransform/fieldCoordinateSystemTransform.C
diff --git a/src/postProcessing/functionObjects/field/fieldCoordinateSystemTransform/fieldCoordinateSystemTransform.H b/src/functionObjects/field/fieldCoordinateSystemTransform/fieldCoordinateSystemTransform.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldCoordinateSystemTransform/fieldCoordinateSystemTransform.H
rename to src/functionObjects/field/fieldCoordinateSystemTransform/fieldCoordinateSystemTransform.H
diff --git a/src/postProcessing/functionObjects/field/fieldCoordinateSystemTransform/fieldCoordinateSystemTransformTemplates.C b/src/functionObjects/field/fieldCoordinateSystemTransform/fieldCoordinateSystemTransformTemplates.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldCoordinateSystemTransform/fieldCoordinateSystemTransformTemplates.C
rename to src/functionObjects/field/fieldCoordinateSystemTransform/fieldCoordinateSystemTransformTemplates.C
diff --git a/src/postProcessing/functionObjects/field/fieldCoordinateSystemTransform/postProcessingDict b/src/functionObjects/field/fieldCoordinateSystemTransform/postProcessingDict
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldCoordinateSystemTransform/postProcessingDict
rename to src/functionObjects/field/fieldCoordinateSystemTransform/postProcessingDict
diff --git a/src/postProcessing/functionObjects/field/fieldExpression/fieldExpression.C b/src/functionObjects/field/fieldExpression/fieldExpression.C
similarity index 88%
rename from src/postProcessing/functionObjects/field/fieldExpression/fieldExpression.C
rename to src/functionObjects/field/fieldExpression/fieldExpression.C
index 2eb9331b6babddfd41ef3d63a3664965e0840514..fa7a26d03b65edb24904b31a92d82952f95a22ac 100644
--- a/src/postProcessing/functionObjects/field/fieldExpression/fieldExpression.C
+++ b/src/functionObjects/field/fieldExpression/fieldExpression.C
@@ -46,6 +46,31 @@ bool Foam::functionObjects::fieldExpression::calc()
 }
 
 
+void Foam::functionObjects::fieldExpression::setResultName
+(
+    const word& typeName,
+    const word& defaultArg
+)
+{
+    if (fieldName_.empty())
+    {
+        fieldName_ = defaultArg;
+    }
+
+    if (resultName_.empty())
+    {
+        if (fieldName_ != defaultArg)
+        {
+            resultName_ = typeName + '(' + fieldName_ + ')';
+        }
+        else
+        {
+            resultName_ = typeName;
+        }
+    }
+}
+
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 Foam::functionObjects::fieldExpression::fieldExpression
diff --git a/src/postProcessing/functionObjects/field/fieldExpression/fieldExpression.H b/src/functionObjects/field/fieldExpression/fieldExpression.H
similarity index 97%
rename from src/postProcessing/functionObjects/field/fieldExpression/fieldExpression.H
rename to src/functionObjects/field/fieldExpression/fieldExpression.H
index f5d0befd365a298ec5e1019f0f9a44bbf248fbb6..786927d558043b58ec6140d393ab95dadd936e89 100644
--- a/src/postProcessing/functionObjects/field/fieldExpression/fieldExpression.H
+++ b/src/functionObjects/field/fieldExpression/fieldExpression.H
@@ -73,6 +73,8 @@ protected:
 
         virtual bool calc();
 
+        void setResultName(const word& typeName, const word& defaultArg);
+
 
 private:
 
diff --git a/src/postProcessing/functionObjects/field/fieldMinMax/controlDict b/src/functionObjects/field/fieldMinMax/controlDict
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldMinMax/controlDict
rename to src/functionObjects/field/fieldMinMax/controlDict
diff --git a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C b/src/functionObjects/field/fieldMinMax/fieldMinMax.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.C
rename to src/functionObjects/field/fieldMinMax/fieldMinMax.C
diff --git a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.H b/src/functionObjects/field/fieldMinMax/fieldMinMax.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMax.H
rename to src/functionObjects/field/fieldMinMax/fieldMinMax.H
diff --git a/src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C b/src/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C
rename to src/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C
diff --git a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C b/src/functionObjects/field/fieldValues/cellSource/cellSource.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C
rename to src/functionObjects/field/fieldValues/cellSource/cellSource.C
diff --git a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.H b/src/functionObjects/field/fieldValues/cellSource/cellSource.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.H
rename to src/functionObjects/field/fieldValues/cellSource/cellSource.H
diff --git a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceI.H b/src/functionObjects/field/fieldValues/cellSource/cellSourceI.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceI.H
rename to src/functionObjects/field/fieldValues/cellSource/cellSourceI.H
diff --git a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C b/src/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C
rename to src/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C
diff --git a/src/postProcessing/functionObjects/field/fieldValues/controlDict b/src/functionObjects/field/fieldValues/controlDict
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldValues/controlDict
rename to src/functionObjects/field/fieldValues/controlDict
diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C b/src/functionObjects/field/fieldValues/faceSource/faceSource.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C
rename to src/functionObjects/field/fieldValues/faceSource/faceSource.C
diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.H b/src/functionObjects/field/fieldValues/faceSource/faceSource.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.H
rename to src/functionObjects/field/fieldValues/faceSource/faceSource.H
diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceI.H b/src/functionObjects/field/fieldValues/faceSource/faceSourceI.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceI.H
rename to src/functionObjects/field/fieldValues/faceSource/faceSourceI.H
diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C b/src/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C
rename to src/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.C b/src/functionObjects/field/fieldValues/fieldValue/fieldValue.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.C
rename to src/functionObjects/field/fieldValues/fieldValue/fieldValue.C
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.H b/src/functionObjects/field/fieldValues/fieldValue/fieldValue.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValue.H
rename to src/functionObjects/field/fieldValues/fieldValue/fieldValue.H
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueI.H b/src/functionObjects/field/fieldValues/fieldValue/fieldValueI.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueI.H
rename to src/functionObjects/field/fieldValues/fieldValue/fieldValueI.H
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueNew.C b/src/functionObjects/field/fieldValues/fieldValue/fieldValueNew.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueNew.C
rename to src/functionObjects/field/fieldValues/fieldValue/fieldValueNew.C
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueTemplates.C b/src/functionObjects/field/fieldValues/fieldValue/fieldValueTemplates.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldValues/fieldValue/fieldValueTemplates.C
rename to src/functionObjects/field/fieldValues/fieldValue/fieldValueTemplates.C
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C b/src/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C
rename to src/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.H b/src/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.H
rename to src/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.H
diff --git a/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaTemplates.C b/src/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaTemplates.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaTemplates.C
rename to src/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaTemplates.C
diff --git a/src/postProcessing/functionObjects/field/flowType/flowType.C b/src/functionObjects/field/flowType/flowType.C
similarity index 97%
rename from src/postProcessing/functionObjects/field/flowType/flowType.C
rename to src/functionObjects/field/flowType/flowType.C
index a867c850fad65ee7bc193f6b5677ca9abdfc5231..11d053f6a14fe38ce9f49aedd4bbdcf061706a04 100644
--- a/src/postProcessing/functionObjects/field/flowType/flowType.C
+++ b/src/functionObjects/field/flowType/flowType.C
@@ -87,8 +87,10 @@ Foam::functionObjects::flowType::flowType
     const dictionary& dict
 )
 :
-    fieldExpression(name, runTime, dict, "U", "flowType")
-{}
+    fieldExpression(name, runTime, dict, "U")
+{
+    setResultName(typeName, "U");
+}
 
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
diff --git a/src/postProcessing/functionObjects/field/flowType/flowType.H b/src/functionObjects/field/flowType/flowType.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/flowType/flowType.H
rename to src/functionObjects/field/flowType/flowType.H
diff --git a/src/postProcessing/functionObjects/field/grad/grad.C b/src/functionObjects/field/grad/grad.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/grad/grad.C
rename to src/functionObjects/field/grad/grad.C
diff --git a/src/postProcessing/functionObjects/field/grad/grad.H b/src/functionObjects/field/grad/grad.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/grad/grad.H
rename to src/functionObjects/field/grad/grad.H
diff --git a/src/postProcessing/functionObjects/field/grad/gradTemplates.C b/src/functionObjects/field/grad/gradTemplates.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/grad/gradTemplates.C
rename to src/functionObjects/field/grad/gradTemplates.C
diff --git a/src/postProcessing/functionObjects/field/histogram/histogram.C b/src/functionObjects/field/histogram/histogram.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/histogram/histogram.C
rename to src/functionObjects/field/histogram/histogram.C
diff --git a/src/postProcessing/functionObjects/field/histogram/histogram.H b/src/functionObjects/field/histogram/histogram.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/histogram/histogram.H
rename to src/functionObjects/field/histogram/histogram.H
diff --git a/src/postProcessing/functionObjects/field/mag/mag.C b/src/functionObjects/field/mag/mag.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/mag/mag.C
rename to src/functionObjects/field/mag/mag.C
diff --git a/src/postProcessing/functionObjects/field/mag/mag.H b/src/functionObjects/field/mag/mag.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/mag/mag.H
rename to src/functionObjects/field/mag/mag.H
diff --git a/src/postProcessing/functionObjects/field/mag/magTemplates.C b/src/functionObjects/field/mag/magTemplates.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/mag/magTemplates.C
rename to src/functionObjects/field/mag/magTemplates.C
diff --git a/src/postProcessing/functionObjects/field/magSqr/magSqr.C b/src/functionObjects/field/magSqr/magSqr.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/magSqr/magSqr.C
rename to src/functionObjects/field/magSqr/magSqr.C
diff --git a/src/postProcessing/functionObjects/field/magSqr/magSqr.H b/src/functionObjects/field/magSqr/magSqr.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/magSqr/magSqr.H
rename to src/functionObjects/field/magSqr/magSqr.H
diff --git a/src/postProcessing/functionObjects/field/magSqr/magSqrTemplates.C b/src/functionObjects/field/magSqr/magSqrTemplates.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/magSqr/magSqrTemplates.C
rename to src/functionObjects/field/magSqr/magSqrTemplates.C
diff --git a/src/postProcessing/functionObjects/field/nearWallFields/controlDict b/src/functionObjects/field/nearWallFields/controlDict
similarity index 100%
rename from src/postProcessing/functionObjects/field/nearWallFields/controlDict
rename to src/functionObjects/field/nearWallFields/controlDict
diff --git a/src/postProcessing/functionObjects/field/nearWallFields/findCellParticle.C b/src/functionObjects/field/nearWallFields/findCellParticle.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/nearWallFields/findCellParticle.C
rename to src/functionObjects/field/nearWallFields/findCellParticle.C
diff --git a/src/postProcessing/functionObjects/field/nearWallFields/findCellParticle.H b/src/functionObjects/field/nearWallFields/findCellParticle.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/nearWallFields/findCellParticle.H
rename to src/functionObjects/field/nearWallFields/findCellParticle.H
diff --git a/src/postProcessing/functionObjects/field/nearWallFields/findCellParticleCloud.C b/src/functionObjects/field/nearWallFields/findCellParticleCloud.C
similarity index 95%
rename from src/postProcessing/functionObjects/field/nearWallFields/findCellParticleCloud.C
rename to src/functionObjects/field/nearWallFields/findCellParticleCloud.C
index 0d5fdf5ea46b216307c4df57c9bbd2aa301342a8..387621742e121f9c71e8774609758a6d7d5e70a8 100644
--- a/src/postProcessing/functionObjects/field/nearWallFields/findCellParticleCloud.C
+++ b/src/functionObjects/field/nearWallFields/findCellParticleCloud.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.C b/src/functionObjects/field/nearWallFields/nearWallFields.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.C
rename to src/functionObjects/field/nearWallFields/nearWallFields.C
diff --git a/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.H b/src/functionObjects/field/nearWallFields/nearWallFields.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.H
rename to src/functionObjects/field/nearWallFields/nearWallFields.H
diff --git a/src/postProcessing/functionObjects/field/nearWallFields/nearWallFieldsTemplates.C b/src/functionObjects/field/nearWallFields/nearWallFieldsTemplates.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/nearWallFields/nearWallFieldsTemplates.C
rename to src/functionObjects/field/nearWallFields/nearWallFieldsTemplates.C
diff --git a/src/postProcessing/functionObjects/field/pressure/pressure.C b/src/functionObjects/field/pressure/pressure.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/pressure/pressure.C
rename to src/functionObjects/field/pressure/pressure.C
diff --git a/src/postProcessing/functionObjects/field/pressure/pressure.H b/src/functionObjects/field/pressure/pressure.H
similarity index 99%
rename from src/postProcessing/functionObjects/field/pressure/pressure.H
rename to src/functionObjects/field/pressure/pressure.H
index 4970c5aa5859606a7291d2bb41354ce0f4d13164..1f662eb6db6482efe997b0f8bb6f30afd39805bc 100644
--- a/src/postProcessing/functionObjects/field/pressure/pressure.H
+++ b/src/functionObjects/field/pressure/pressure.H
@@ -25,7 +25,7 @@ Class
     Foam::functionObjects::pressure
 
 Group
-    grpForcesFunctionObjects
+    grpFieldFunctionObjects
 
 Description
     This function object includes tools to manipulate the pressure into
diff --git a/src/postProcessing/functionObjects/field/processorField/postProcessingDict b/src/functionObjects/field/processorField/postProcessingDict
similarity index 100%
rename from src/postProcessing/functionObjects/field/processorField/postProcessingDict
rename to src/functionObjects/field/processorField/postProcessingDict
diff --git a/src/postProcessing/functionObjects/field/processorField/processorField.C b/src/functionObjects/field/processorField/processorField.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/processorField/processorField.C
rename to src/functionObjects/field/processorField/processorField.C
diff --git a/src/postProcessing/functionObjects/field/processorField/processorField.H b/src/functionObjects/field/processorField/processorField.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/processorField/processorField.H
rename to src/functionObjects/field/processorField/processorField.H
diff --git a/src/postProcessing/functionObjects/field/randomise/randomise.C b/src/functionObjects/field/randomise/randomise.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/randomise/randomise.C
rename to src/functionObjects/field/randomise/randomise.C
diff --git a/src/postProcessing/functionObjects/field/randomise/randomise.H b/src/functionObjects/field/randomise/randomise.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/randomise/randomise.H
rename to src/functionObjects/field/randomise/randomise.H
diff --git a/src/postProcessing/functionObjects/field/randomise/randomiseTemplates.C b/src/functionObjects/field/randomise/randomiseTemplates.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/randomise/randomiseTemplates.C
rename to src/functionObjects/field/randomise/randomiseTemplates.C
diff --git a/src/postProcessing/functionObjects/field/readFields/postProcessingDict b/src/functionObjects/field/readFields/postProcessingDict
similarity index 100%
rename from src/postProcessing/functionObjects/field/readFields/postProcessingDict
rename to src/functionObjects/field/readFields/postProcessingDict
diff --git a/src/postProcessing/functionObjects/field/readFields/readFields.C b/src/functionObjects/field/readFields/readFields.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/readFields/readFields.C
rename to src/functionObjects/field/readFields/readFields.C
diff --git a/src/postProcessing/functionObjects/field/readFields/readFields.H b/src/functionObjects/field/readFields/readFields.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/readFields/readFields.H
rename to src/functionObjects/field/readFields/readFields.H
diff --git a/src/postProcessing/functionObjects/field/readFields/readFieldsTemplates.C b/src/functionObjects/field/readFields/readFieldsTemplates.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/readFields/readFieldsTemplates.C
rename to src/functionObjects/field/readFields/readFieldsTemplates.C
diff --git a/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C b/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C
rename to src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C
diff --git a/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.H b/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.H
rename to src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.H
diff --git a/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistributionTemplates.C b/src/functionObjects/field/regionSizeDistribution/regionSizeDistributionTemplates.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistributionTemplates.C
rename to src/functionObjects/field/regionSizeDistribution/regionSizeDistributionTemplates.C
diff --git a/src/postProcessing/functionObjects/field/streamLine/controlDict b/src/functionObjects/field/streamLine/controlDict
similarity index 100%
rename from src/postProcessing/functionObjects/field/streamLine/controlDict
rename to src/functionObjects/field/streamLine/controlDict
diff --git a/src/postProcessing/functionObjects/field/streamLine/streamLine.C b/src/functionObjects/field/streamLine/streamLine.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/streamLine/streamLine.C
rename to src/functionObjects/field/streamLine/streamLine.C
diff --git a/src/postProcessing/functionObjects/field/streamLine/streamLine.H b/src/functionObjects/field/streamLine/streamLine.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/streamLine/streamLine.H
rename to src/functionObjects/field/streamLine/streamLine.H
diff --git a/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.C b/src/functionObjects/field/streamLine/streamLineParticle.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/streamLine/streamLineParticle.C
rename to src/functionObjects/field/streamLine/streamLineParticle.C
diff --git a/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.H b/src/functionObjects/field/streamLine/streamLineParticle.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/streamLine/streamLineParticle.H
rename to src/functionObjects/field/streamLine/streamLineParticle.H
diff --git a/src/postProcessing/functionObjects/field/streamLine/streamLineParticleCloud.C b/src/functionObjects/field/streamLine/streamLineParticleCloud.C
similarity index 96%
rename from src/postProcessing/functionObjects/field/streamLine/streamLineParticleCloud.C
rename to src/functionObjects/field/streamLine/streamLineParticleCloud.C
index 26f5358ec17fafd21f977511c4b7ae50f90d93bc..566a1279982d050af301a071246be23f04a32dfb 100644
--- a/src/postProcessing/functionObjects/field/streamLine/streamLineParticleCloud.C
+++ b/src/functionObjects/field/streamLine/streamLineParticleCloud.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
diff --git a/src/postProcessing/functionObjects/field/streamLine/streamLineParticleCloud.H b/src/functionObjects/field/streamLine/streamLineParticleCloud.H
similarity index 97%
rename from src/postProcessing/functionObjects/field/streamLine/streamLineParticleCloud.H
rename to src/functionObjects/field/streamLine/streamLineParticleCloud.H
index c36fe7e8ce02a11624f07100e710e4e192ccd026..9fdbad50f5d8c52c59d42bf6650bc012186d93e1 100644
--- a/src/postProcessing/functionObjects/field/streamLine/streamLineParticleCloud.H
+++ b/src/functionObjects/field/streamLine/streamLineParticleCloud.H
@@ -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
diff --git a/src/postProcessing/functionObjects/field/surfaceInterpolateFields/surfaceInterpolateFields.C b/src/functionObjects/field/surfaceInterpolate/surfaceInterpolate.C
similarity index 86%
rename from src/postProcessing/functionObjects/field/surfaceInterpolateFields/surfaceInterpolateFields.C
rename to src/functionObjects/field/surfaceInterpolate/surfaceInterpolate.C
index 096d16a525e5235986648e6021ec60beccd4f686..ed486a637c8b1f1d0f486526f29e8046cf1b87c5 100644
--- a/src/postProcessing/functionObjects/field/surfaceInterpolateFields/surfaceInterpolateFields.C
+++ b/src/functionObjects/field/surfaceInterpolate/surfaceInterpolate.C
@@ -23,7 +23,7 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "surfaceInterpolateFields.H"
+#include "surfaceInterpolate.H"
 #include "surfaceFields.H"
 #include "addToRunTimeSelectionTable.H"
 
@@ -33,12 +33,12 @@ namespace Foam
 {
 namespace functionObjects
 {
-    defineTypeNameAndDebug(surfaceInterpolateFields, 0);
+    defineTypeNameAndDebug(surfaceInterpolate, 0);
 
     addToRunTimeSelectionTable
     (
         functionObject,
-        surfaceInterpolateFields,
+        surfaceInterpolate,
         dictionary
     );
 }
@@ -47,7 +47,7 @@ namespace functionObjects
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::functionObjects::surfaceInterpolateFields::surfaceInterpolateFields
+Foam::functionObjects::surfaceInterpolate::surfaceInterpolate
 (
     const word& name,
     const Time& runTime,
@@ -63,13 +63,13 @@ Foam::functionObjects::surfaceInterpolateFields::surfaceInterpolateFields
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
-Foam::functionObjects::surfaceInterpolateFields::~surfaceInterpolateFields()
+Foam::functionObjects::surfaceInterpolate::~surfaceInterpolate()
 {}
 
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-bool Foam::functionObjects::surfaceInterpolateFields::read
+bool Foam::functionObjects::surfaceInterpolate::read
 (
     const dictionary& dict
 )
@@ -80,7 +80,7 @@ bool Foam::functionObjects::surfaceInterpolateFields::read
 }
 
 
-bool Foam::functionObjects::surfaceInterpolateFields::execute
+bool Foam::functionObjects::surfaceInterpolate::execute
 (
     const bool postProcess
 )
@@ -106,7 +106,7 @@ bool Foam::functionObjects::surfaceInterpolateFields::execute
 }
 
 
-bool Foam::functionObjects::surfaceInterpolateFields::write
+bool Foam::functionObjects::surfaceInterpolate::write
 (
     const bool postProcess
 )
diff --git a/src/postProcessing/functionObjects/field/surfaceInterpolateFields/surfaceInterpolateFields.H b/src/functionObjects/field/surfaceInterpolate/surfaceInterpolate.H
similarity index 87%
rename from src/postProcessing/functionObjects/field/surfaceInterpolateFields/surfaceInterpolateFields.H
rename to src/functionObjects/field/surfaceInterpolate/surfaceInterpolate.H
index 1a20882c6c1fb13ca2fbe45549066b213f574cb8..aa4405fb1cf6d48a64644465978b875b059e045c 100644
--- a/src/postProcessing/functionObjects/field/surfaceInterpolateFields/surfaceInterpolateFields.H
+++ b/src/functionObjects/field/surfaceInterpolate/surfaceInterpolate.H
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::surfaceInterpolateFields
+    Foam::surfaceInterpolate
 
 Group grpFieldFunctionObjects
 
@@ -40,9 +40,9 @@ Description
 
     Example of function object specification:
     \verbatim
-    surfaceInterpolateFields1
+    surfaceInterpolate1
     {
-        type        surfaceInterpolateFields;
+        type        surfaceInterpolate;
         libs ("libfieldFunctionObjects.so");
         ...
         fields      ((p pNear)(U UNear));
@@ -62,12 +62,12 @@ SeeAlso
     Foam::functionObjects::timeControl
 
 SourceFiles
-    surfaceInterpolateFields.C
+    surfaceInterpolate.C
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef functionObjects_surfaceInterpolateFields_H
-#define functionObjects_surfaceInterpolateFields_H
+#ifndef functionObjects_surfaceInterpolate_H
+#define functionObjects_surfaceInterpolate_H
 
 #include "fvMeshFunctionObject.H"
 #include "surfaceFieldsFwd.H"
@@ -87,10 +87,10 @@ namespace functionObjects
 {
 
 /*---------------------------------------------------------------------------*\
-                  Class surfaceInterpolateFields Declaration
+                  Class surfaceInterpolate Declaration
 \*---------------------------------------------------------------------------*/
 
-class surfaceInterpolateFields
+class surfaceInterpolate
 :
     public fvMeshFunctionObject
 {
@@ -123,23 +123,23 @@ private:
     // Private member functions
 
         //- Disallow default bitwise copy construct
-        surfaceInterpolateFields(const surfaceInterpolateFields&);
+        surfaceInterpolate(const surfaceInterpolate&);
 
         //- Disallow default bitwise assignment
-        void operator=(const surfaceInterpolateFields&);
+        void operator=(const surfaceInterpolate&);
 
 
 public:
 
     //- Runtime type information
-    TypeName("surfaceInterpolateFields");
+    TypeName("surfaceInterpolate");
 
 
     // Constructors
 
         //- Construct for given objectRegistry and dictionary.
         //  Allow the possibility to load fields from files
-        surfaceInterpolateFields
+        surfaceInterpolate
         (
             const word& name,
             const Time& runTime,
@@ -148,7 +148,7 @@ public:
 
 
     //- Destructor
-    virtual ~surfaceInterpolateFields();
+    virtual ~surfaceInterpolate();
 
 
     // Member Functions
@@ -172,7 +172,7 @@ public:
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #ifdef NoRepository
-    #include "surfaceInterpolateFieldsTemplates.C"
+    #include "surfaceInterpolateTemplates.C"
 #endif
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/postProcessing/functionObjects/field/surfaceInterpolateFields/surfaceInterpolateFieldsTemplates.C b/src/functionObjects/field/surfaceInterpolate/surfaceInterpolateTemplates.C
similarity index 96%
rename from src/postProcessing/functionObjects/field/surfaceInterpolateFields/surfaceInterpolateFieldsTemplates.C
rename to src/functionObjects/field/surfaceInterpolate/surfaceInterpolateTemplates.C
index 3ed285f220966535af355f5670ab5db5cc723bbe..320bbd1d0501aeb4dfda14d25234589b4bdb5ebc 100644
--- a/src/postProcessing/functionObjects/field/surfaceInterpolateFields/surfaceInterpolateFieldsTemplates.C
+++ b/src/functionObjects/field/surfaceInterpolate/surfaceInterpolateTemplates.C
@@ -23,14 +23,14 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "surfaceInterpolateFields.H"
+#include "surfaceInterpolate.H"
 #include "volFields.H"
 #include "linear.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 template<class Type>
-void Foam::functionObjects::surfaceInterpolateFields::interpolateFields
+void Foam::functionObjects::surfaceInterpolate::interpolateFields
 (
     PtrList<GeometricField<Type, fvsPatchField, surfaceMesh>>& sflds
 ) const
diff --git a/src/postProcessing/functionObjects/utilities/turbulenceFields/postProcessingDict b/src/functionObjects/field/turbulenceFields/postProcessingDict
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/turbulenceFields/postProcessingDict
rename to src/functionObjects/field/turbulenceFields/postProcessingDict
diff --git a/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFields.C b/src/functionObjects/field/turbulenceFields/turbulenceFields.C
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFields.C
rename to src/functionObjects/field/turbulenceFields/turbulenceFields.C
diff --git a/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFields.H b/src/functionObjects/field/turbulenceFields/turbulenceFields.H
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFields.H
rename to src/functionObjects/field/turbulenceFields/turbulenceFields.H
diff --git a/src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFieldsTemplates.C b/src/functionObjects/field/turbulenceFields/turbulenceFieldsTemplates.C
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/turbulenceFields/turbulenceFieldsTemplates.C
rename to src/functionObjects/field/turbulenceFields/turbulenceFieldsTemplates.C
diff --git a/src/postProcessing/functionObjects/field/vorticity/vorticity.C b/src/functionObjects/field/vorticity/vorticity.C
similarity index 96%
rename from src/postProcessing/functionObjects/field/vorticity/vorticity.C
rename to src/functionObjects/field/vorticity/vorticity.C
index 6e0c1f6526db83acccba58a2e514a79023365838..567799d7e861ff861d0daafecdf21ee24e6a4c2b 100644
--- a/src/postProcessing/functionObjects/field/vorticity/vorticity.C
+++ b/src/functionObjects/field/vorticity/vorticity.C
@@ -75,8 +75,10 @@ Foam::functionObjects::vorticity::vorticity
     const dictionary& dict
 )
 :
-    fieldExpression(name, runTime, dict, "U", "vorticity")
-{}
+    fieldExpression(name, runTime, dict, "U")
+{
+    setResultName(typeName, "U");
+}
 
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
diff --git a/src/postProcessing/functionObjects/field/vorticity/vorticity.H b/src/functionObjects/field/vorticity/vorticity.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/vorticity/vorticity.H
rename to src/functionObjects/field/vorticity/vorticity.H
diff --git a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/controlDict b/src/functionObjects/field/wallBoundedStreamLine/controlDict
similarity index 100%
rename from src/postProcessing/functionObjects/field/wallBoundedStreamLine/controlDict
rename to src/functionObjects/field/wallBoundedStreamLine/controlDict
diff --git a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.C b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.C
rename to src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.C
diff --git a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.H b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.H
rename to src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.H
diff --git a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C
rename to src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C
diff --git a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.C b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.C
rename to src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.C
diff --git a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.H b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.H
rename to src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.H
diff --git a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.C b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.C
similarity index 100%
rename from src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.C
rename to src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.C
diff --git a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.H b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.H
similarity index 100%
rename from src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.H
rename to src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.H
diff --git a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticleCloud.C b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticleCloud.C
similarity index 96%
rename from src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticleCloud.C
rename to src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticleCloud.C
index dbe7ce827665f75efc529d49e258af19570ea7e6..b594620c32de665b448a0a2fa23e3df580cab8fe 100644
--- a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticleCloud.C
+++ b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticleCloud.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticleCloud.H b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticleCloud.H
similarity index 97%
rename from src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticleCloud.H
rename to src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticleCloud.H
index b91e9b5d8fa32007dc01cfe6e0426a9199027449..8ce123d6a558617db83e4c9f694c482522ea365e 100644
--- a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticleCloud.H
+++ b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticleCloud.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/postProcessing/functionObjects/utilities/yPlus/yPlus.C b/src/functionObjects/field/yPlus/yPlus.C
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/yPlus/yPlus.C
rename to src/functionObjects/field/yPlus/yPlus.C
diff --git a/src/postProcessing/functionObjects/utilities/yPlus/yPlus.H b/src/functionObjects/field/yPlus/yPlus.H
similarity index 99%
rename from src/postProcessing/functionObjects/utilities/yPlus/yPlus.H
rename to src/functionObjects/field/yPlus/yPlus.H
index 363cd8074bd0d66354106a2c5bb45c6f1f1a157f..ce4bc069d6639e6b9a864b86990c188f7664951f 100644
--- a/src/postProcessing/functionObjects/utilities/yPlus/yPlus.H
+++ b/src/functionObjects/field/yPlus/yPlus.H
@@ -25,7 +25,7 @@ Class
     Foam::functionObjects::yPlus
 
 Group
-    grpUtilitiesFunctionObjects
+    grpFieldFunctionObjects
 
 Description
     Evaluates and outputs turbulence y+ for  models.  Values written to
diff --git a/src/postProcessing/functionObjects/forces/Make/files b/src/functionObjects/forces/Make/files
similarity index 100%
rename from src/postProcessing/functionObjects/forces/Make/files
rename to src/functionObjects/forces/Make/files
diff --git a/src/postProcessing/functionObjects/forces/Make/options b/src/functionObjects/forces/Make/options
similarity index 100%
rename from src/postProcessing/functionObjects/forces/Make/options
rename to src/functionObjects/forces/Make/options
diff --git a/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.C b/src/functionObjects/forces/forceCoeffs/forceCoeffs.C
similarity index 100%
rename from src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.C
rename to src/functionObjects/forces/forceCoeffs/forceCoeffs.C
diff --git a/src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.H b/src/functionObjects/forces/forceCoeffs/forceCoeffs.H
similarity index 100%
rename from src/postProcessing/functionObjects/forces/forceCoeffs/forceCoeffs.H
rename to src/functionObjects/forces/forceCoeffs/forceCoeffs.H
diff --git a/src/postProcessing/functionObjects/forces/forces/forces.C b/src/functionObjects/forces/forces/forces.C
similarity index 100%
rename from src/postProcessing/functionObjects/forces/forces/forces.C
rename to src/functionObjects/forces/forces/forces.C
diff --git a/src/postProcessing/functionObjects/forces/forces/forces.H b/src/functionObjects/forces/forces/forces.H
similarity index 100%
rename from src/postProcessing/functionObjects/forces/forces/forces.H
rename to src/functionObjects/forces/forces/forces.H
diff --git a/src/postProcessing/functionObjects/forces/forcesFunctionObjectsDoc.H b/src/functionObjects/forces/forcesFunctionObjectsDoc.H
similarity index 94%
rename from src/postProcessing/functionObjects/forces/forcesFunctionObjectsDoc.H
rename to src/functionObjects/forces/forcesFunctionObjectsDoc.H
index b171ef9289183bb8eb56e4c1a4199c5beff64f2f..d68a9767f879a95f72304edf26eaf884608b6f45 100644
--- a/src/postProcessing/functionObjects/forces/forcesFunctionObjectsDoc.H
+++ b/src/functionObjects/forces/forcesFunctionObjectsDoc.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/postProcessing/functionObjects/forces/wallShearStress/wallShearStress.C b/src/functionObjects/forces/wallShearStress/wallShearStress.C
similarity index 100%
rename from src/postProcessing/functionObjects/forces/wallShearStress/wallShearStress.C
rename to src/functionObjects/forces/wallShearStress/wallShearStress.C
diff --git a/src/postProcessing/functionObjects/forces/wallShearStress/wallShearStress.H b/src/functionObjects/forces/wallShearStress/wallShearStress.H
similarity index 100%
rename from src/postProcessing/functionObjects/forces/wallShearStress/wallShearStress.H
rename to src/functionObjects/forces/wallShearStress/wallShearStress.H
diff --git a/src/postProcessing/functionObjects/lagrangian/Make/files b/src/functionObjects/lagrangian/Make/files
similarity index 84%
rename from src/postProcessing/functionObjects/lagrangian/Make/files
rename to src/functionObjects/lagrangian/Make/files
index 368d9dffe6ee105b075697a74ac59184020c655d..93227fe85df0ffb5c1a640e303d548fb87e7e06f 100644
--- a/src/postProcessing/functionObjects/lagrangian/Make/files
+++ b/src/functionObjects/lagrangian/Make/files
@@ -1,4 +1,5 @@
 cloudInfo/cloudInfo.C
 icoUncoupledKinematicCloud/icoUncoupledKinematicCloud.C
+dsmcFields/dsmcFields.C
 
 LIB = $(FOAM_LIBBIN)/liblagrangianFunctionObjects
diff --git a/src/postProcessing/functionObjects/lagrangian/Make/options b/src/functionObjects/lagrangian/Make/options
similarity index 93%
rename from src/postProcessing/functionObjects/lagrangian/Make/options
rename to src/functionObjects/lagrangian/Make/options
index f99c39cb4bdb08a1c99cec757dcdae94b2e9704a..7a7bf38ba33656c867a1948e6553d05e1e249cf4 100644
--- a/src/postProcessing/functionObjects/lagrangian/Make/options
+++ b/src/functionObjects/lagrangian/Make/options
@@ -5,6 +5,7 @@ EXE_INC = \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/lagrangian/basic/lnInclude \
     -I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
+    -I$(LIB_SRC)/lagrangian/DSMC/lnInclude \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
     -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude
 
diff --git a/src/postProcessing/functionObjects/lagrangian/cloudInfo/cloudInfo.C b/src/functionObjects/lagrangian/cloudInfo/cloudInfo.C
similarity index 100%
rename from src/postProcessing/functionObjects/lagrangian/cloudInfo/cloudInfo.C
rename to src/functionObjects/lagrangian/cloudInfo/cloudInfo.C
diff --git a/src/postProcessing/functionObjects/lagrangian/cloudInfo/cloudInfo.H b/src/functionObjects/lagrangian/cloudInfo/cloudInfo.H
similarity index 100%
rename from src/postProcessing/functionObjects/lagrangian/cloudInfo/cloudInfo.H
rename to src/functionObjects/lagrangian/cloudInfo/cloudInfo.H
diff --git a/src/postProcessing/functionObjects/lagrangian/cloudInfo/postProcessingDict b/src/functionObjects/lagrangian/cloudInfo/postProcessingDict
similarity index 100%
rename from src/postProcessing/functionObjects/lagrangian/cloudInfo/postProcessingDict
rename to src/functionObjects/lagrangian/cloudInfo/postProcessingDict
diff --git a/src/postProcessing/functionObjects/utilities/dsmcFields/dsmcFields.C b/src/functionObjects/lagrangian/dsmcFields/dsmcFields.C
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/dsmcFields/dsmcFields.C
rename to src/functionObjects/lagrangian/dsmcFields/dsmcFields.C
diff --git a/src/postProcessing/functionObjects/utilities/dsmcFields/dsmcFields.H b/src/functionObjects/lagrangian/dsmcFields/dsmcFields.H
similarity index 98%
rename from src/postProcessing/functionObjects/utilities/dsmcFields/dsmcFields.H
rename to src/functionObjects/lagrangian/dsmcFields/dsmcFields.H
index 9aa5125d44a363479822f7803f5c9d08b22f4a6d..7ef4359e29e696d708890da9e03b433ce87dd51b 100644
--- a/src/postProcessing/functionObjects/utilities/dsmcFields/dsmcFields.H
+++ b/src/functionObjects/lagrangian/dsmcFields/dsmcFields.H
@@ -25,7 +25,7 @@ Class
     Foam::functionObjects::dsmcFields
 
 Group
-    grpUtilitiesFunctionObjects
+    grpLagrangianFunctionObjects
 
 Description
     Calculate intensive fields:
diff --git a/src/postProcessing/functionObjects/lagrangian/icoUncoupledKinematicCloud/icoUncoupledKinematicCloud.C b/src/functionObjects/lagrangian/icoUncoupledKinematicCloud/icoUncoupledKinematicCloud.C
similarity index 100%
rename from src/postProcessing/functionObjects/lagrangian/icoUncoupledKinematicCloud/icoUncoupledKinematicCloud.C
rename to src/functionObjects/lagrangian/icoUncoupledKinematicCloud/icoUncoupledKinematicCloud.C
diff --git a/src/postProcessing/functionObjects/lagrangian/icoUncoupledKinematicCloud/icoUncoupledKinematicCloud.H b/src/functionObjects/lagrangian/icoUncoupledKinematicCloud/icoUncoupledKinematicCloud.H
similarity index 100%
rename from src/postProcessing/functionObjects/lagrangian/icoUncoupledKinematicCloud/icoUncoupledKinematicCloud.H
rename to src/functionObjects/lagrangian/icoUncoupledKinematicCloud/icoUncoupledKinematicCloud.H
diff --git a/src/postProcessing/functionObjects/lagrangian/lagrangianFunctionObjectsDoc.H b/src/functionObjects/lagrangian/lagrangianFunctionObjectsDoc.H
similarity index 100%
rename from src/postProcessing/functionObjects/lagrangian/lagrangianFunctionObjectsDoc.H
rename to src/functionObjects/lagrangian/lagrangianFunctionObjectsDoc.H
diff --git a/src/functionObjects/solvers/Make/files b/src/functionObjects/solvers/Make/files
new file mode 100644
index 0000000000000000000000000000000000000000..2b8e8f8d8e1369556a1a7e4ec7d171056e2a4076
--- /dev/null
+++ b/src/functionObjects/solvers/Make/files
@@ -0,0 +1,3 @@
+scalarTransport/scalarTransport.C
+
+LIB = $(FOAM_LIBBIN)/libsolverFunctionObjects
diff --git a/applications/utilities/postProcessing/velocityField/Pe/Make/options b/src/functionObjects/solvers/Make/options
similarity index 83%
rename from applications/utilities/postProcessing/velocityField/Pe/Make/options
rename to src/functionObjects/solvers/Make/options
index 94361e96877f56d0ce4d4065db9bd4f171a170b5..be705a6cbc7289c54f8106a6ef0b23769b62f09e 100644
--- a/applications/utilities/postProcessing/velocityField/Pe/Make/options
+++ b/src/functionObjects/solvers/Make/options
@@ -1,5 +1,4 @@
 EXE_INC = \
-    -I$(LIB_SRC)/postProcessing/postCalc \
     -I$(LIB_SRC)/transportModels \
     -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
     -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
@@ -10,17 +9,14 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude
 
-EXE_LIBS = \
-    $(FOAM_LIBBIN)/postCalc.o \
+LIB_LIBS = \
+    -lfvOptions \
+    -lfluidThermophysicalModels \
+    -lincompressibleTransportModels \
+    -lcompressibleTransportModels \
     -lturbulenceModels \
     -lincompressibleTurbulenceModels \
     -lcompressibleTurbulenceModels \
-    -lincompressibleTransportModels \
-    -lcompressibleTransportModels \
-    -lfluidThermophysicalModels \
     -lspecie \
     -lfiniteVolume \
-    -lfvOptions \
-    -lgenericPatchFields \
-    -lmeshTools \
-    -lsampling
+    -lmeshTools
diff --git a/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.C b/src/functionObjects/solvers/scalarTransport/scalarTransport.C
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.C
rename to src/functionObjects/solvers/scalarTransport/scalarTransport.C
diff --git a/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.H b/src/functionObjects/solvers/scalarTransport/scalarTransport.H
similarity index 99%
rename from src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.H
rename to src/functionObjects/solvers/scalarTransport/scalarTransport.H
index 9f3ea589b955e07d5bb1e8e672cd192f6c6c6f6e..1208388ffeacdd1396a4d7444b5ab8f5dc81120c 100644
--- a/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.H
+++ b/src/functionObjects/solvers/scalarTransport/scalarTransport.H
@@ -25,7 +25,7 @@ Class
     Foam::functionObjects::scalarTransport
 
 Group
-    grpUtilitiesFunctionObjects
+    grpSolversFunctionObjects
 
 Description
     This function object evolves a passive scalar transport equation.  The
diff --git a/src/postProcessing/functionObjects/utilities/Make/files b/src/functionObjects/utilities/Make/files
similarity index 76%
rename from src/postProcessing/functionObjects/utilities/Make/files
rename to src/functionObjects/utilities/Make/files
index e9578cdb67602b4079ce4373d6eab7882b21cfc6..c064190a489d3bea20eac1d5fe8d1ff4df1ec59b 100644
--- a/src/postProcessing/functionObjects/utilities/Make/files
+++ b/src/functionObjects/utilities/Make/files
@@ -8,10 +8,4 @@ removeRegisteredObject/removeRegisteredObject.C
 writeDictionary/writeDictionary.C
 writeRegisteredObject/writeRegisteredObject.C
 
-scalarTransport/scalarTransport.C
-dsmcFields/dsmcFields.C
-
-turbulenceFields/turbulenceFields.C
-yPlus/yPlus.C
-
 LIB = $(FOAM_LIBBIN)/libutilityFunctionObjects
diff --git a/src/postProcessing/postCalc/Make/options b/src/functionObjects/utilities/Make/options
similarity index 100%
rename from src/postProcessing/postCalc/Make/options
rename to src/functionObjects/utilities/Make/options
diff --git a/src/postProcessing/functionObjects/utilities/abort/abort.C b/src/functionObjects/utilities/abort/abort.C
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/abort/abort.C
rename to src/functionObjects/utilities/abort/abort.C
diff --git a/src/postProcessing/functionObjects/utilities/abort/abort.H b/src/functionObjects/utilities/abort/abort.H
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/abort/abort.H
rename to src/functionObjects/utilities/abort/abort.H
diff --git a/src/postProcessing/functionObjects/utilities/codedFunctionObject/codedFunctionObject.C b/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.C
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/codedFunctionObject/codedFunctionObject.C
rename to src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.C
diff --git a/src/postProcessing/functionObjects/utilities/codedFunctionObject/codedFunctionObject.H b/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.H
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/codedFunctionObject/codedFunctionObject.H
rename to src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.H
diff --git a/src/postProcessing/functionObjects/utilities/doc/utilitiesFunctionObjectsDoc.H b/src/functionObjects/utilities/doc/utilitiesFunctionObjectsDoc.H
similarity index 95%
rename from src/postProcessing/functionObjects/utilities/doc/utilitiesFunctionObjectsDoc.H
rename to src/functionObjects/utilities/doc/utilitiesFunctionObjectsDoc.H
index 992ed19dbe763f03590b3b6287219a2a277b3ae5..fc49205801a491a06623f7a47d6c0bad9a60c3a4 100644
--- a/src/postProcessing/functionObjects/utilities/doc/utilitiesFunctionObjectsDoc.H
+++ b/src/functionObjects/utilities/doc/utilitiesFunctionObjectsDoc.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/src/postProcessing/functionObjects/utilities/removeRegisteredObject/removeRegisteredObject.C b/src/functionObjects/utilities/removeRegisteredObject/removeRegisteredObject.C
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/removeRegisteredObject/removeRegisteredObject.C
rename to src/functionObjects/utilities/removeRegisteredObject/removeRegisteredObject.C
diff --git a/src/postProcessing/functionObjects/utilities/removeRegisteredObject/removeRegisteredObject.H b/src/functionObjects/utilities/removeRegisteredObject/removeRegisteredObject.H
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/removeRegisteredObject/removeRegisteredObject.H
rename to src/functionObjects/utilities/removeRegisteredObject/removeRegisteredObject.H
diff --git a/src/postProcessing/functionObjects/utilities/residuals/residuals.C b/src/functionObjects/utilities/residuals/residuals.C
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/residuals/residuals.C
rename to src/functionObjects/utilities/residuals/residuals.C
diff --git a/src/postProcessing/functionObjects/utilities/residuals/residuals.H b/src/functionObjects/utilities/residuals/residuals.H
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/residuals/residuals.H
rename to src/functionObjects/utilities/residuals/residuals.H
diff --git a/src/postProcessing/functionObjects/utilities/residuals/residualsTemplates.C b/src/functionObjects/utilities/residuals/residualsTemplates.C
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/residuals/residualsTemplates.C
rename to src/functionObjects/utilities/residuals/residualsTemplates.C
diff --git a/src/postProcessing/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.C b/src/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.C
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.C
rename to src/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.C
diff --git a/src/postProcessing/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.H b/src/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.H
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.H
rename to src/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.H
diff --git a/src/postProcessing/functionObjects/utilities/systemCall/Make/files b/src/functionObjects/utilities/systemCall/Make/files
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/systemCall/Make/files
rename to src/functionObjects/utilities/systemCall/Make/files
diff --git a/src/postProcessing/functionObjects/utilities/systemCall/Make/options b/src/functionObjects/utilities/systemCall/Make/options
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/systemCall/Make/options
rename to src/functionObjects/utilities/systemCall/Make/options
diff --git a/src/postProcessing/functionObjects/utilities/systemCall/controlDict b/src/functionObjects/utilities/systemCall/controlDict
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/systemCall/controlDict
rename to src/functionObjects/utilities/systemCall/controlDict
diff --git a/src/postProcessing/functionObjects/utilities/systemCall/systemCall.C b/src/functionObjects/utilities/systemCall/systemCall.C
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/systemCall/systemCall.C
rename to src/functionObjects/utilities/systemCall/systemCall.C
diff --git a/src/postProcessing/functionObjects/utilities/systemCall/systemCall.H b/src/functionObjects/utilities/systemCall/systemCall.H
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/systemCall/systemCall.H
rename to src/functionObjects/utilities/systemCall/systemCall.H
diff --git a/src/postProcessing/functionObjects/utilities/timeActivatedFileUpdate/controlDict b/src/functionObjects/utilities/timeActivatedFileUpdate/controlDict
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/timeActivatedFileUpdate/controlDict
rename to src/functionObjects/utilities/timeActivatedFileUpdate/controlDict
diff --git a/src/postProcessing/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.C b/src/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.C
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.C
rename to src/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.C
diff --git a/src/postProcessing/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.H b/src/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.H
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.H
rename to src/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.H
diff --git a/src/postProcessing/functionObjects/utilities/writeDictionary/writeDictionary.C b/src/functionObjects/utilities/writeDictionary/writeDictionary.C
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/writeDictionary/writeDictionary.C
rename to src/functionObjects/utilities/writeDictionary/writeDictionary.C
diff --git a/src/postProcessing/functionObjects/utilities/writeDictionary/writeDictionary.H b/src/functionObjects/utilities/writeDictionary/writeDictionary.H
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/writeDictionary/writeDictionary.H
rename to src/functionObjects/utilities/writeDictionary/writeDictionary.H
diff --git a/src/postProcessing/functionObjects/utilities/writeRegisteredObject/controlDict b/src/functionObjects/utilities/writeRegisteredObject/controlDict
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/writeRegisteredObject/controlDict
rename to src/functionObjects/utilities/writeRegisteredObject/controlDict
diff --git a/src/postProcessing/functionObjects/utilities/writeRegisteredObject/writeRegisteredObject.C b/src/functionObjects/utilities/writeRegisteredObject/writeRegisteredObject.C
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/writeRegisteredObject/writeRegisteredObject.C
rename to src/functionObjects/utilities/writeRegisteredObject/writeRegisteredObject.C
diff --git a/src/postProcessing/functionObjects/utilities/writeRegisteredObject/writeRegisteredObject.H b/src/functionObjects/utilities/writeRegisteredObject/writeRegisteredObject.H
similarity index 100%
rename from src/postProcessing/functionObjects/utilities/writeRegisteredObject/writeRegisteredObject.H
rename to src/functionObjects/utilities/writeRegisteredObject/writeRegisteredObject.H
diff --git a/src/fvMotionSolver/Make/options b/src/fvMotionSolver/Make/options
index 29e4469610118cb4f0468cba7f80f5aacbf7a1fd..c4bc7921795d4223f04e45221b080c67f4473937 100644
--- a/src/fvMotionSolver/Make/options
+++ b/src/fvMotionSolver/Make/options
@@ -4,7 +4,7 @@ EXE_INC = \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/fileFormats/lnInclude \
-    -I$(LIB_SRC)/postProcessing/functionObjects/forces/lnInclude \
+    -I$(LIB_SRC)/functionObjects/forces/lnInclude \
 
 LIB_LIBS = \
     -ltriSurface \
diff --git a/src/postProcessing/Allwmake b/src/postProcessing/Allwmake
deleted file mode 100755
index 8b292497bd0efc3240c46e0e5d298f314f8f3869..0000000000000000000000000000000000000000
--- a/src/postProcessing/Allwmake
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-cd ${0%/*} || exit 1    # Run from this directory
-
-# Parse arguments for library compilation
-targetType=libso
-. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
-set -x
-
-wmake ${1:-libo} postCalc
-wmake $targetType foamCalcFunctions
-
-functionObjects/Allwmake $targetType $*
-
-#------------------------------------------------------------------------------
diff --git a/src/postProcessing/foamCalcFunctions/Make/files b/src/postProcessing/foamCalcFunctions/Make/files
deleted file mode 100644
index 8fa83c42e0c460804e0a5702514670a06b982564..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/Make/files
+++ /dev/null
@@ -1,14 +0,0 @@
-calcType/calcType.C
-calcType/calcTypeNew.C
-
-field/components/components.C
-field/mag/mag.C
-field/magSqr/magSqr.C
-field/magGrad/magGrad.C
-field/div/div.C
-field/randomise/randomise.C
-field/interpolate/interpolate.C
-
-basic/addSubtract/addSubtract.C
-
-LIB = $(FOAM_LIBBIN)/libfoamCalcFunctions
diff --git a/src/postProcessing/foamCalcFunctions/Make/options b/src/postProcessing/foamCalcFunctions/Make/options
deleted file mode 100644
index a3ae8da833177387e9eecf75b5e2675fc7b481f5..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/Make/options
+++ /dev/null
@@ -1,7 +0,0 @@
-EXE_INC = \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude
-
-LIB_LIBS = \
-    -lfiniteVolume \
-    -lmeshTools
diff --git a/src/postProcessing/foamCalcFunctions/basic/addSubtract/addSubtract.C b/src/postProcessing/foamCalcFunctions/basic/addSubtract/addSubtract.C
deleted file mode 100644
index 720f5d11450940690faf366039223676c8cd2360..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/basic/addSubtract/addSubtract.C
+++ /dev/null
@@ -1,299 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "addSubtract.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-    namespace calcTypes
-    {
-        defineTypeNameAndDebug(addSubtract, 0);
-        addToRunTimeSelectionTable(calcType, addSubtract, dictionary);
-    }
-}
-
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void Foam::calcTypes::addSubtract::writeAddSubtractFields
-(
-    const Time& runTime,
-    const fvMesh& mesh,
-    const IOobject& baseFieldHeader
-)
-{
-    bool processed = false;
-
-    IOobject addSubtractFieldHeader
-    (
-        addSubtractFieldName_,
-        runTime.timeName(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    if (addSubtractFieldHeader.headerOk())
-    {
-        writeAddSubtractField<scalar>
-        (
-            baseFieldHeader,
-            addSubtractFieldHeader,
-            mesh,
-            processed
-        );
-        writeAddSubtractField<vector>
-        (
-            baseFieldHeader,
-            addSubtractFieldHeader,
-            mesh,
-            processed
-        );
-        writeAddSubtractField<sphericalTensor>
-        (
-            baseFieldHeader,
-            addSubtractFieldHeader,
-            mesh,
-            processed
-        );
-        writeAddSubtractField<symmTensor>
-        (
-            baseFieldHeader,
-            addSubtractFieldHeader,
-            mesh,
-            processed
-        );
-        writeAddSubtractField<tensor>
-        (
-            baseFieldHeader,
-            addSubtractFieldHeader,
-            mesh,
-            processed
-        );
-
-        if (!processed)
-        {
-            FatalError
-                << "Unable to process " << baseFieldName_
-                << " + " << addSubtractFieldName_ << nl
-                << "No call to addSubtract for fields of type "
-                << baseFieldHeader.headerClassName() << " + "
-                << addSubtractFieldHeader.headerClassName() << nl << nl
-                << exit(FatalError);
-        }
-    }
-    else
-    {
-        FatalErrorInFunction
-            << "Unable to read addSubtract field: " << addSubtractFieldName_
-            << nl << exit(FatalError);
-    }
-}
-
-
-void Foam::calcTypes::addSubtract::writeAddSubtractValues
-(
-    const Time& runTime,
-    const fvMesh& mesh,
-    const IOobject& baseFieldHeader
-)
-{
-    bool processed = false;
-
-    writeAddSubtractValue<scalar>
-    (
-        baseFieldHeader,
-        addSubtractValueStr_,
-        mesh,
-        processed
-    );
-    writeAddSubtractValue<vector>
-    (
-        baseFieldHeader,
-        addSubtractValueStr_,
-        mesh,
-        processed
-    );
-    writeAddSubtractValue<sphericalTensor>
-    (
-        baseFieldHeader,
-        addSubtractValueStr_,
-        mesh,
-        processed
-    );
-    writeAddSubtractValue<symmTensor>
-    (
-        baseFieldHeader,
-        addSubtractValueStr_,
-        mesh,
-        processed
-    );
-    writeAddSubtractValue<tensor>
-    (
-        baseFieldHeader,
-        addSubtractValueStr_,
-        mesh,
-        processed
-    );
-
-    if (!processed)
-    {
-        FatalErrorInFunction
-            << "Unable to process " << baseFieldName_
-            << " + " << addSubtractValueStr_ << nl
-            << "No call to addSubtract for fields of type "
-            << baseFieldHeader.headerClassName() << nl << nl
-            << exit(FatalError);
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Foam::calcTypes::addSubtract::addSubtract()
-:
-    calcType(),
-    baseFieldName_(""),
-    calcType_(FIELD),
-    addSubtractFieldName_(""),
-    addSubtractValueStr_(""),
-    resultName_(""),
-    calcMode_(ADD)
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
-
-Foam::calcTypes::addSubtract::~addSubtract()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void Foam::calcTypes::addSubtract::init()
-{
-    argList::validArgs.append("add");
-    argList::validArgs.append("baseField");
-    argList::validArgs.append("calcMode");
-    argList::validOptions.insert("field", "field");
-    argList::validOptions.insert("value", "valueString");
-    argList::validOptions.insert("result", "field");
-}
-
-
-void Foam::calcTypes::addSubtract::preCalc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{
-    baseFieldName_ = args[2];
-    const word calcModeName = args[3];
-
-    if (calcModeName == "add")
-    {
-        calcMode_ = ADD;
-    }
-    else if (calcModeName == "subtract")
-    {
-        calcMode_ = SUBTRACT;
-    }
-    else
-    {
-        FatalErrorInFunction
-            << "Invalid calcMode: " << calcModeName << nl
-            << "    Valid calcModes are add and subtract" << nl
-            << exit(FatalError);
-    }
-
-    if (args.optionReadIfPresent("field", addSubtractFieldName_))
-    {
-        calcType_ = FIELD;
-    }
-    else if (args.optionReadIfPresent("value", addSubtractValueStr_))
-    {
-        calcType_ = VALUE;
-    }
-    else
-    {
-        FatalErrorInFunction
-            << "addSubtract requires either -field or -value option"
-            << nl << exit(FatalError);
-    }
-
-    args.optionReadIfPresent("resultName", resultName_);
-}
-
-
-void Foam::calcTypes::addSubtract::calc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{
-    IOobject baseFieldHeader
-    (
-        baseFieldName_,
-        runTime.timeName(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    if (baseFieldHeader.headerOk())
-    {
-        switch (calcType_)
-        {
-            case FIELD:
-            {
-                writeAddSubtractFields(runTime, mesh, baseFieldHeader);
-                break;
-            }
-            case VALUE:
-            {
-                writeAddSubtractValues(runTime, mesh, baseFieldHeader);
-                break;
-            }
-            default:
-            {
-                FatalErrorInFunction
-                    << "unknown calcType " << calcType_ << nl
-                    << abort(FatalError);
-            }
-        }
-    }
-    else
-    {
-        FatalErrorInFunction
-            << "Unable to read base field: " << baseFieldName_
-            << nl << exit(FatalError);
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/basic/addSubtract/addSubtract.H b/src/postProcessing/foamCalcFunctions/basic/addSubtract/addSubtract.H
deleted file mode 100644
index 0458adcee6544bef572ca6a43bbcf3e7edb9056e..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/basic/addSubtract/addSubtract.H
+++ /dev/null
@@ -1,217 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::calcTypes::addSubtract
-
-Description
-    adds/subtracts a field or value to/from a base field.
-
-    New field name specified by -resultName option, or automatically as:
-        \<baseFieldName\>_add_<addSubtractFieldName>
-        \<baseFieldName\>_add_value
-        \<baseFieldName\>_subtract_<addSubtractFieldName>
-        \<baseFieldName\>_subtract_value
-
-    Example usage:
-        addSubtract p add -value 100000 -resultName pAbs
-        addSubtract U subtract -field U0
-
-SourceFiles
-    addSubtract.C
-    writeaddSubtractField.C
-    writeaddSubtractValue.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef addSubtract_H
-#define addSubtract_H
-
-#include "calcType.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-namespace calcTypes
-{
-
-/*---------------------------------------------------------------------------*\
-                          Class addSubtract Declaration
-\*---------------------------------------------------------------------------*/
-
-class addSubtract
-:
-    public calcType
-{
-public:
-
-    enum calcTypes
-    {
-        FIELD,
-        VALUE
-    };
-
-    enum calcModes
-    {
-        ADD,
-        SUBTRACT
-    };
-
-
-private:
-
-    // Private data
-
-        //- Name of base field (to addSubtract to)
-        word baseFieldName_;
-
-        //- Calc type as given by enumerations above
-        calcTypes calcType_;
-
-        //- Name of field to add/subtract
-        word addSubtractFieldName_;
-
-        //- String representation of value to add/subtract
-        string addSubtractValueStr_;
-
-        //- Name of result field
-        word resultName_;
-
-        //- Mode - addSubtract/subtract
-        calcModes calcMode_;
-
-
-    // Private Member Functions
-
-        // Output
-
-            //- Calc and output field addSubtractitions
-            void writeAddSubtractFields
-            (
-                const Time& runTime,
-                const fvMesh& mesh,
-                const IOobject& baseFieldHeader
-            );
-
-            //- Calc and output field and value addSubtractitions
-            void writeAddSubtractValues
-            (
-                const Time& runTime,
-                const fvMesh& mesh,
-                const IOobject& baseFieldHeader
-            );
-
-
-        //- Disallow default bitwise copy construct
-        addSubtract(const addSubtract&);
-
-        //- Disallow default bitwise assignment
-        void operator=(const addSubtract&);
-
-
-protected:
-
-    // Member Functions
-
-        // Calculation routines
-
-            //- Initialise - typically setting static variables,
-            //  e.g. command line arguments
-            virtual void init();
-
-            //- Pre-time loop calculations
-            virtual void preCalc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-
-            //- Time loop calculations
-            virtual void calc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-
-
-        // I-O
-
-            //- Write addSubtract field
-            template<class Type>
-            void writeAddSubtractField
-            (
-                const IOobject& baseHeader,
-                const IOobject& addSubtractHeader,
-                const fvMesh& mesh,
-                bool& processed
-            );
-
-            //- Write addSubtract value
-            template<class Type>
-            void writeAddSubtractValue
-            (
-                const IOobject& baseHeader,
-                const string& valueStr,
-                const fvMesh& mesh,
-                bool& processed
-            );
-
-
-public:
-
-    //- Runtime type information
-    TypeName("addSubtract");
-
-
-    // Constructors
-
-        //- Construct null
-        addSubtract();
-
-
-    //- Destructor
-    virtual ~addSubtract();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace calcTypes
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#ifdef NoRepository
-    #include "writeAddSubtractField.C"
-    #include "writeAddSubtractValue.C"
-#endif
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/basic/addSubtract/writeAddSubtractField.C b/src/postProcessing/foamCalcFunctions/basic/addSubtract/writeAddSubtractField.C
deleted file mode 100644
index 8304569ae4a65ed496f242a024158e7eccafe244..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/basic/addSubtract/writeAddSubtractField.C
+++ /dev/null
@@ -1,94 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-template<class Type>
-void Foam::calcTypes::addSubtract::writeAddSubtractField
-(
-    const IOobject& baseHeader,
-    const IOobject& addHeader,
-    const fvMesh& mesh,
-    bool& processed
-)
-{
-    typedef GeometricField<Type, fvPatchField, volMesh> fieldType;
-
-    if
-    (
-        baseHeader.headerClassName() == fieldType::typeName
-     && baseHeader.headerClassName() == addHeader.headerClassName()
-    )
-    {
-        if (resultName_ == "")
-        {
-            if (calcMode_ == ADD)
-            {
-                resultName_ = baseHeader.name() + "_add_" + addHeader.name();
-            }
-            else
-            {
-                resultName_ = baseHeader.name() + "_subtract_"
-                    + addHeader.name();
-            }
-        }
-
-        Info<< "    Reading " << baseHeader.name() << endl;
-        fieldType baseField(baseHeader, mesh);
-
-        Info<< "    Reading " << addHeader.name() << endl;
-        fieldType addField(addHeader, mesh);
-
-        if (baseField.dimensions() == addField.dimensions())
-        {
-            Info<< "    Calculating " << resultName_ << endl;
-
-            fieldType newField
-            (
-                IOobject
-                (
-                    resultName_,
-                    mesh.time().timeName(),
-                    mesh,
-                    IOobject::NO_READ
-                ),
-                calcMode_ == ADD
-              ? (baseField + addField)()
-              : (baseField - addField)()
-            );
-            newField.write();
-        }
-        else
-        {
-            Info<< "    Cannot calculate " << resultName_ << nl
-                << "    - inconsistent dimensions: "
-                << baseField.dimensions() << " - " << addField.dimensions()
-                << endl;
-        }
-
-        processed = true;
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/postProcessing/foamCalcFunctions/basic/addSubtract/writeAddSubtractValue.C b/src/postProcessing/foamCalcFunctions/basic/addSubtract/writeAddSubtractValue.C
deleted file mode 100644
index b1ec01bdd998a11a697a58ee8ff24ce5fa14e223..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/basic/addSubtract/writeAddSubtractValue.C
+++ /dev/null
@@ -1,93 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "volFields.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-template<class Type>
-void Foam::calcTypes::addSubtract::writeAddSubtractValue
-(
-    const IOobject& baseHeader,
-    const string& valueStr,
-    const fvMesh& mesh,
-    bool& processed
-)
-{
-    typedef GeometricField<Type, fvPatchField, volMesh> fieldType;
-
-    if (baseHeader.headerClassName() == fieldType::typeName)
-    {
-        if (resultName_ == "")
-        {
-            if (calcMode_ == ADD)
-            {
-                resultName_ = baseHeader.name() + "_add_value";
-            }
-            else
-            {
-                resultName_ = baseHeader.name() + "_subtract_value";
-            }
-        }
-
-        Type value;
-        IStringStream(valueStr)() >> value;
-
-        Info<< "    Reading " << baseHeader.name() << endl;
-        fieldType baseField(baseHeader, mesh);
-
-        fieldType newField
-        (
-            IOobject
-            (
-                resultName_,
-                mesh.time().timeName(),
-                mesh,
-                IOobject::NO_READ
-            ),
-            baseField
-        );
-
-        Info<< "    Calculating " << resultName_ << endl;
-        if (calcMode_ == ADD)
-        {
-            newField == baseField
-                + dimensioned<Type>("value", baseField.dimensions(), value);
-        }
-        else
-        {
-            newField == baseField
-                - dimensioned<Type>("value", baseField.dimensions(), value);
-        }
-
-        newField.write();
-
-        processed = true;
-    }
-
-}
-
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/calcType/calcType.C b/src/postProcessing/foamCalcFunctions/calcType/calcType.C
deleted file mode 100644
index b78de6d9932df8ae69716ac73d8071ae0890be49..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/calcType/calcType.C
+++ /dev/null
@@ -1,159 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "calcType.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-    defineTypeNameAndDebug(calcType, 0);
-    defineRunTimeSelectionTable(calcType, dictionary);
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Foam::calcType::calcType()
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
-
-Foam::calcType::~calcType()
-{}
-
-
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
-void Foam::calcType::init()
-{}
-
-
-void Foam::calcType::preCalc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{}
-
-
-void Foam::calcType::calc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{}
-
-
-void Foam::calcType::postCalc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void Foam::calcType::tryInit()
-{
-    FatalIOError.throwExceptions();
-
-    try
-    {
-        init();
-    }
-    catch(IOerror& err)
-    {
-        Warning<< err << endl;
-    }
-}
-
-
-void Foam::calcType::tryPreCalc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{
-    FatalIOError.throwExceptions();
-
-    try
-    {
-        preCalc(args, runTime, mesh);
-    }
-    catch(IOerror& err)
-    {
-        Warning<< err << endl;
-    }
-}
-
-
-void Foam::calcType::tryCalc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{
-    FatalIOError.throwExceptions();
-
-    try
-    {
-        calc(args, runTime, mesh);
-    }
-    catch(IOerror& err)
-    {
-        Warning<< err << endl;
-    }
-}
-
-
-void Foam::calcType::tryPostCalc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{
-    FatalIOError.throwExceptions();
-
-    try
-    {
-        postCalc(args, runTime, mesh);
-    }
-    catch(IOerror& err)
-    {
-        Warning<< err << endl;
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/calcType/calcType.H b/src/postProcessing/foamCalcFunctions/calcType/calcType.H
deleted file mode 100644
index 33ae4da26a8986b90e1706fb13ae4c2510b9e399..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/calcType/calcType.H
+++ /dev/null
@@ -1,179 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Namespace
-    Foam::calcTypes
-
-Description
-    Namespace for post-processing calculation functions
-
-
-Class
-    Foam::calcType
-
-Description
-    Base class for post-processing calculation functions
-
-SourceFiles
-    calcType.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef calcType_H
-#define calcType_H
-
-#include "argList.H"
-#include "fvMesh.H"
-#include "runTimeSelectionTables.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-/*---------------------------------------------------------------------------*\
-                          Class calcType Declaration
-\*---------------------------------------------------------------------------*/
-
-class calcType
-{
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct
-        calcType(const calcType&);
-
-        //- Disallow default bitwise assignment
-        void operator=(const calcType&);
-
-
-protected:
-
-    // Protected Member Functions
-
-        // Calculation routines
-
-            //- Initialise - typically setting static variables,
-            //  e.g. command line arguments
-            virtual void init();
-
-            //- Pre-time loop calculations
-            virtual void preCalc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-
-            //- Time loop calculations
-            virtual void calc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-
-            //- Post-time loop calculations
-            virtual void postCalc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-
-
-public:
-
-    //- Runtime type information
-    TypeName("calcType");
-
-
-    // Declare runtime constructor selection table
-
-        declareRunTimeSelectionTable
-        (
-            autoPtr,
-            calcType,
-            dictionary,
-            (),
-            ()
-        );
-
-
-    // Constructors
-
-        //- Construct null
-        calcType();
-
-
-    // Selectors
-
-        static autoPtr<calcType> New(const word& calcTypeName);
-
-
-    //- Destructor
-    virtual ~calcType();
-
-
-    // Member Functions
-
-        // Calculation routines - wrapped by exception handling loop
-
-            //- Initialise - typically setting static variables,
-            //  e.g. command line arguments
-            void tryInit();
-
-            //- Pre-time loop calculations
-            void tryPreCalc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-
-            //- Time loop calculations
-            void tryCalc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-
-            //- Post-time loop calculations
-            void tryPostCalc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/calcType/calcTypeNew.C b/src/postProcessing/foamCalcFunctions/calcType/calcTypeNew.C
deleted file mode 100644
index 89f9db57d63966480ffd2884a88a0265a99d6d21..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/calcType/calcTypeNew.C
+++ /dev/null
@@ -1,65 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "calcType.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-Foam::autoPtr<Foam::calcType> Foam::calcType::New
-(
-    const word& calcTypeName
-)
-{
-    Info<< "Selecting calcType " << calcTypeName << endl;
-
-    dictionaryConstructorTable::iterator cstrIter =
-        dictionaryConstructorTablePtr_->find(calcTypeName);
-
-    if (cstrIter == dictionaryConstructorTablePtr_->end())
-    {
-        // special treatment for -help
-        // exit without stack trace
-        if (calcTypeName == "-help")
-        {
-            FatalErrorInFunction
-                << "Valid calcType selections are:" << nl
-                << dictionaryConstructorTablePtr_->sortedToc() << nl
-                << exit(FatalError);
-        }
-        else
-        {
-            FatalErrorInFunction
-                << "Unknown calcType type " << calcTypeName << nl
-                << "Valid calcType selections are:" << nl
-                << dictionaryConstructorTablePtr_->sortedToc() << nl
-                << abort(FatalError);
-        }
-    }
-
-    return autoPtr<calcType>(cstrIter()());
-}
-
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/field/components/components.C b/src/postProcessing/foamCalcFunctions/field/components/components.C
deleted file mode 100644
index ea459965e9c044b6767ceae692e4d6d0b3cc799f..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/field/components/components.C
+++ /dev/null
@@ -1,116 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "components.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-    namespace calcTypes
-    {
-        defineTypeNameAndDebug(components, 0);
-        addToRunTimeSelectionTable(calcType, components, dictionary);
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Foam::calcTypes::components::components()
-:
-    calcType()
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
-
-Foam::calcTypes::components::~components()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void Foam::calcTypes::components::init()
-{
-    argList::validArgs.append("components");
-    argList::validArgs.append("field");
-}
-
-
-void Foam::calcTypes::components::preCalc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{}
-
-
-void Foam::calcTypes::components::calc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{
-    const word fieldName = args[2];
-
-    IOobject fieldHeader
-    (
-        fieldName,
-        runTime.timeName(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    // Check field exists
-    if (fieldHeader.headerOk())
-    {
-        bool processed = false;
-
-        writeComponentFields<vector>(fieldHeader, mesh, processed);
-        writeComponentFields<sphericalTensor>(fieldHeader, mesh, processed);
-        writeComponentFields<symmTensor>(fieldHeader, mesh, processed);
-        writeComponentFields<tensor>(fieldHeader, mesh, processed);
-
-        if (!processed)
-        {
-            FatalError
-                << "Unable to process " << fieldName << nl
-                << "No call to components for fields of type "
-                << fieldHeader.headerClassName() << nl << nl
-                << exit(FatalError);
-        }
-    }
-    else
-    {
-        Info<< "    No " << fieldName << endl;
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/field/components/components.H b/src/postProcessing/foamCalcFunctions/field/components/components.H
deleted file mode 100644
index e32b50925cfafb5de3ddb41b0d48dd442aa13918..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/field/components/components.H
+++ /dev/null
@@ -1,137 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::calcTypes::components
-
-Description
-    Writes scalar fields corresponding to each component of the supplied
-    field (name) for each time.
-
-SourceFiles
-    components.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef components_H
-#define components_H
-
-#include "calcType.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-namespace calcTypes
-{
-
-/*---------------------------------------------------------------------------*\
-                         Class components Declaration
-\*---------------------------------------------------------------------------*/
-
-class components
-:
-    public calcType
-{
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct
-        components(const components&);
-
-        //- Disallow default bitwise assignment
-        void operator=(const components&);
-
-
-protected:
-
-    // Member Functions
-
-        // Calculation routines
-
-            //- Initialise - typically setting static variables,
-            //  e.g. command line arguments
-            virtual void init();
-
-            //- Pre-time loop calculations
-            virtual void preCalc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-
-            //- Time loop calculations
-            virtual void calc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-
-
-        // I-O
-
-            //- Write component fields
-            template<class Type>
-            void writeComponentFields
-            (
-                const IOobject& header,
-                const fvMesh& mesh,
-                bool& processed
-            );
-
-
-public:
-
-    //- Runtime type information
-    TypeName("components");
-
-
-    // Constructors
-
-        //- Construct null
-        components();
-
-
-    //- Destructor
-    virtual ~components();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace calcTypes
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#ifdef NoRepository
-    #include "writeComponentFields.C"
-#endif
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/field/components/writeComponentFields.C b/src/postProcessing/foamCalcFunctions/field/components/writeComponentFields.C
deleted file mode 100644
index 82b234f60ff531eddd1ce859e84bf6407b72c3ac..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/field/components/writeComponentFields.C
+++ /dev/null
@@ -1,69 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "volFields.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-template<class Type>
-void Foam::calcTypes::components::writeComponentFields
-(
-    const IOobject& header,
-    const fvMesh& mesh,
-    bool& processed
-)
-{
-    typedef GeometricField<Type, fvPatchField, volMesh> fieldType;
-
-    if (header.headerClassName() == fieldType::typeName)
-    {
-        Info<< "    Reading " << header.name() << endl;
-        fieldType field(header, mesh);
-
-        for (direction i=0; i<Type::nComponents; i++)
-        {
-            Info<< "    Calculating " << header.name()
-                << Type::componentNames[i] << endl;
-
-            volScalarField componentField
-            (
-                IOobject
-                (
-                    header.name() + word(Type::componentNames[i]),
-                    mesh.time().timeName(),
-                    mesh,
-                    IOobject::NO_READ
-                ),
-                field.component(i)
-            );
-            componentField.write();
-        }
-
-        processed = true;
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/field/div/div.C b/src/postProcessing/foamCalcFunctions/field/div/div.C
deleted file mode 100644
index 9cc574900d974ec420c682fbba4581a1226de748..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/field/div/div.C
+++ /dev/null
@@ -1,114 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "div.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-    namespace calcTypes
-    {
-        defineTypeNameAndDebug(div, 0);
-        addToRunTimeSelectionTable(calcType, div, dictionary);
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Foam::calcTypes::div::div()
-:
-    calcType()
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
-
-Foam::calcTypes::div::~div()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void Foam::calcTypes::div::init()
-{
-    argList::validArgs.append("div");
-    argList::validArgs.append("field");
-}
-
-
-void Foam::calcTypes::div::preCalc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{}
-
-
-void Foam::calcTypes::div::calc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{
-    const word fieldName = args[2];
-
-    IOobject fieldHeader
-    (
-        fieldName,
-        runTime.timeName(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    // Check field exists
-    if (fieldHeader.headerOk())
-    {
-        bool processed = false;
-
-        writeDivField<surfaceScalarField>(fieldHeader, mesh, processed);
-        writeDivField<volVectorField>(fieldHeader, mesh, processed);
-
-        if (!processed)
-        {
-                FatalError
-                    << "Unable to process " << fieldName << nl
-                    << "No call to div for fields of type "
-                    << fieldHeader.headerClassName() << nl << nl
-                    << exit(FatalError);
-        }
-    }
-    else
-    {
-        Info<< "    No " << fieldName << endl;
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/field/div/div.H b/src/postProcessing/foamCalcFunctions/field/div/div.H
deleted file mode 100644
index e17a9c841cbeb7ab0f7a9cab6c1ed77cf5863e80..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/field/div/div.H
+++ /dev/null
@@ -1,137 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::calcTypes::div
-
-Description
-    Writes scalar fields corresponding to the divergence of the supplied
-    field (name) for each time.
-
-SourceFiles
-    div.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef div_H
-#define div_H
-
-#include "calcType.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-namespace calcTypes
-{
-
-/*---------------------------------------------------------------------------*\
-                          Class div Declaration
-\*---------------------------------------------------------------------------*/
-
-class div
-:
-    public calcType
-{
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct
-        div(const div&);
-
-        //- Disallow default bitwise assignment
-        void operator=(const div&);
-
-
-protected:
-
-    // Member Functions
-
-        // Calculation routines
-
-            //- Initialise - typically setting static variables,
-            //  e.g. command line arguments
-            virtual void init();
-
-            //- Pre-time loop calculations
-            virtual void preCalc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-
-            //- Time loop calculations
-            virtual void calc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-
-
-        // I-O
-
-            //- Write div fields
-            template<class Type>
-            void writeDivField
-            (
-                const IOobject& header,
-                const fvMesh& mesh,
-                bool& processed
-            );
-
-
-public:
-
-    //- Runtime type information
-    TypeName("div");
-
-
-    // Constructors
-
-        //- Construct null
-        div();
-
-
-    //- Destructor
-    virtual ~div();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace calcTypes
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#ifdef NoRepository
-    #include "writeDivField.C"
-#endif
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/field/div/writeDivField.C b/src/postProcessing/foamCalcFunctions/field/div/writeDivField.C
deleted file mode 100644
index 9cb87d180f5988862f0bb00a3faedc57f6cc2721..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/field/div/writeDivField.C
+++ /dev/null
@@ -1,62 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "fvcDiv.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-template<class Type>
-void Foam::calcTypes::div::writeDivField
-(
-    const IOobject& header,
-    const fvMesh& mesh,
-    bool& processed
-)
-{
-    if (header.headerClassName() == Type::typeName)
-    {
-        Info<< "    Reading " << header.name() << endl;
-        Type field(header, mesh);
-
-        Info<< "    Calculating div" << header.name() << endl;
-        volScalarField divField
-        (
-            IOobject
-            (
-                "div" + header.name(),
-                mesh.time().timeName(),
-                mesh,
-                IOobject::NO_READ
-            ),
-            fvc::div(field)
-        );
-        divField.write();
-
-        processed = true;
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/field/interpolate/interpolate.C b/src/postProcessing/foamCalcFunctions/field/interpolate/interpolate.C
deleted file mode 100644
index 0baac4164ad41f608d860d7dda464b8e01d68add..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/field/interpolate/interpolate.C
+++ /dev/null
@@ -1,117 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "interpolate.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-    namespace calcTypes
-    {
-        defineTypeNameAndDebug(interpolate, 0);
-        addToRunTimeSelectionTable(calcType, interpolate, dictionary);
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Foam::calcTypes::interpolate::interpolate()
-:
-    calcType()
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
-
-Foam::calcTypes::interpolate::~interpolate()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void Foam::calcTypes::interpolate::init()
-{
-    Foam::argList::validArgs.append("interpolate");
-    argList::validArgs.append("field");
-}
-
-
-void Foam::calcTypes::interpolate::preCalc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{}
-
-
-void Foam::calcTypes::interpolate::calc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{
-    const word fieldName = args[2];
-
-    IOobject fieldHeader
-    (
-        fieldName,
-        runTime.timeName(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    // Check field exists
-    if (fieldHeader.headerOk())
-    {
-        bool processed = false;
-
-        writeInterpolateField<scalar>(fieldHeader, mesh, processed);
-        writeInterpolateField<vector>(fieldHeader, mesh, processed);
-        writeInterpolateField<sphericalTensor>(fieldHeader, mesh, processed);
-        writeInterpolateField<symmTensor>(fieldHeader, mesh, processed);
-        writeInterpolateField<tensor>(fieldHeader, mesh, processed);
-
-        if (!processed)
-        {
-            FatalError
-                << "Unable to process " << fieldName << nl
-                << "No call to interpolate for fields of type "
-                << fieldHeader.headerClassName() << nl << nl
-                << exit(FatalError);
-        }
-    }
-    else
-    {
-        Info<< "    No " << fieldName << endl;
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/field/interpolate/interpolate.H b/src/postProcessing/foamCalcFunctions/field/interpolate/interpolate.H
deleted file mode 100644
index d69df8301849cc12a2d017708f732c9d1e080734..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/field/interpolate/interpolate.H
+++ /dev/null
@@ -1,136 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::calcTypes::interpolate
-
-Description
-    Interpolates volume fields to surface fields for each time.
-
-SourceFiles
-    interpolate.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef interpolate_H
-#define interpolate_H
-
-#include "calcType.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-namespace calcTypes
-{
-
-/*---------------------------------------------------------------------------*\
-                          Class interpolate Declaration
-\*---------------------------------------------------------------------------*/
-
-class interpolate
-:
-    public calcType
-{
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct
-        interpolate(const interpolate&);
-
-        //- Disallow default bitwise assignment
-        void operator=(const interpolate&);
-
-
-protected:
-
-    // Member Functions
-
-        // Calculation routines
-
-            //- Initialise - typically setting static variables,
-            //  e.g. command line arguments
-            virtual void init();
-
-            //- Pre-time loop calculations
-            virtual void preCalc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-
-            //- Time loop calculations
-            virtual void calc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-
-
-        // I-O
-
-            //- Write interpolate fields
-            template<class Type>
-            void writeInterpolateField
-            (
-                const IOobject& header,
-                const fvMesh& mesh,
-                bool& processed
-            );
-
-
-public:
-
-    //- Runtime type information
-    TypeName("interpolate");
-
-
-    // Constructors
-
-        //- Construct null
-        interpolate();
-
-
-    //- Destructor
-    virtual ~interpolate();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace calcTypes
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#ifdef NoRepository
-    #include "writeInterpolateField.C"
-#endif
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/field/interpolate/writeInterpolateField.C b/src/postProcessing/foamCalcFunctions/field/interpolate/writeInterpolateField.C
deleted file mode 100644
index 31d4f453736aaffcdf958f67cedb481494731dc8..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/field/interpolate/writeInterpolateField.C
+++ /dev/null
@@ -1,65 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "surfaceInterpolate.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-template<class Type>
-void Foam::calcTypes::interpolate::writeInterpolateField
-(
-    const IOobject& header,
-    const fvMesh& mesh,
-    bool& processed
-)
-{
-    typedef GeometricField<Type, fvPatchField, volMesh> fieldType;
-    typedef GeometricField<Type, fvsPatchField, surfaceMesh> surfaceFieldType;
-
-    if (header.headerClassName() == fieldType::typeName)
-    {
-        Info<< "    Reading " << header.name() << endl;
-        fieldType field(header, mesh);
-
-        Info<< "    Calculating interpolate" << header.name() << endl;
-        surfaceFieldType interpolateField
-        (
-            IOobject
-            (
-                "interpolate" + header.name(),
-                mesh.time().timeName(),
-                mesh,
-                IOobject::NO_READ
-            ),
-            fvc::interpolate(field)
-        );
-        interpolateField.write();
-
-        processed = true;
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/field/mag/mag.C b/src/postProcessing/foamCalcFunctions/field/mag/mag.C
deleted file mode 100644
index 5021f29e9f695f0516662b92fdc3eadf0d3c3aa8..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/field/mag/mag.C
+++ /dev/null
@@ -1,117 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "mag.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-    namespace calcTypes
-    {
-        defineTypeNameAndDebug(mag, 0);
-        addToRunTimeSelectionTable(calcType, mag, dictionary);
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Foam::calcTypes::mag::mag()
-:
-    calcType()
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
-
-Foam::calcTypes::mag::~mag()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void Foam::calcTypes::mag::init()
-{
-    argList::validArgs.append("mag");
-    argList::validArgs.append("field");
-}
-
-
-void Foam::calcTypes::mag::preCalc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{}
-
-
-void Foam::calcTypes::mag::calc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{
-    const word fieldName = args[2];
-
-    IOobject fieldHeader
-    (
-        fieldName,
-        runTime.timeName(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    // Check field exists
-    if (fieldHeader.headerOk())
-    {
-        bool processed = false;
-
-        writeMagField<scalar>(fieldHeader, mesh, processed);
-        writeMagField<vector>(fieldHeader, mesh, processed);
-        writeMagField<sphericalTensor>(fieldHeader, mesh, processed);
-        writeMagField<symmTensor>(fieldHeader, mesh, processed);
-        writeMagField<tensor>(fieldHeader, mesh, processed);
-
-        if (!processed)
-        {
-            FatalError
-                << "Unable to process " << fieldName << nl
-                << "No call to mag for fields of type "
-                << fieldHeader.headerClassName() << nl << nl
-                << exit(FatalError);
-        }
-    }
-    else
-    {
-        Info<< "    No " << fieldName << endl;
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/field/mag/mag.H b/src/postProcessing/foamCalcFunctions/field/mag/mag.H
deleted file mode 100644
index 5590ab09401bf6f788647c129208645c42be9f79..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/field/mag/mag.H
+++ /dev/null
@@ -1,136 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::calcTypes::mag
-
-Description
-    Calculates and writes the magnitude of a field for each time
-
-SourceFiles
-    mag.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef mag_H
-#define mag_H
-
-#include "calcType.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-namespace calcTypes
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class mag Declaration
-\*---------------------------------------------------------------------------*/
-
-class mag
-:
-    public calcType
-{
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct
-        mag(const mag&);
-
-        //- Disallow default bitwise assignment
-        void operator=(const mag&);
-
-
-protected:
-
-    // Member Functions
-
-        // Calculation routines
-
-            //- Initialise - typically setting static variables,
-            //  e.g. command line arguments
-            virtual void init();
-
-            //- Pre-time loop calculations
-            virtual void preCalc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-
-            //- Time loop calculations
-            virtual void calc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-
-
-        // I-O
-
-            //- Write component fields
-            template<class Type>
-            void writeMagField
-            (
-                const IOobject& header,
-                const fvMesh& mesh,
-                bool& processed
-            );
-
-
-public:
-
-    //- Runtime type information
-    TypeName("mag");
-
-
-    // Constructors
-
-        //- Construct null
-        mag();
-
-
-    //- Destructor
-    virtual ~mag();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace calcTypes
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#ifdef NoRepository
-    #include "writeMagField.C"
-#endif
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/field/mag/writeMagField.C b/src/postProcessing/foamCalcFunctions/field/mag/writeMagField.C
deleted file mode 100644
index e33c0a9837ac019f3a53b9c351301b8a5daeaa2c..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/field/mag/writeMagField.C
+++ /dev/null
@@ -1,64 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "fvcGrad.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-template<class Type>
-void Foam::calcTypes::mag::writeMagField
-(
-    const IOobject& header,
-    const fvMesh& mesh,
-    bool& processed
-)
-{
-    typedef GeometricField<Type, fvPatchField, volMesh> fieldType;
-
-    if (header.headerClassName() == fieldType::typeName)
-    {
-        Info<< "    Reading " << header.name() << endl;
-        fieldType field(header, mesh);
-
-        Info<< "    Calculating mag" << header.name() << endl;
-        volScalarField magField
-        (
-            IOobject
-            (
-                "mag" + header.name(),
-                mesh.time().timeName(),
-                mesh,
-                IOobject::NO_READ
-            ),
-            Foam::mag(field)
-        );
-        magField.write();
-
-        processed = true;
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/field/magGrad/magGrad.C b/src/postProcessing/foamCalcFunctions/field/magGrad/magGrad.C
deleted file mode 100644
index 3dc90cefeeb36e6684f33e69f7ea44609776dee4..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/field/magGrad/magGrad.C
+++ /dev/null
@@ -1,114 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "magGrad.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-    namespace calcTypes
-    {
-        defineTypeNameAndDebug(magGrad, 0);
-        addToRunTimeSelectionTable(calcType, magGrad, dictionary);
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Foam::calcTypes::magGrad::magGrad()
-:
-    calcType()
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
-
-Foam::calcTypes::magGrad::~magGrad()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void Foam::calcTypes::magGrad::init()
-{
-    argList::validArgs.append("magGrad");
-    argList::validArgs.append("field");
-}
-
-
-void Foam::calcTypes::magGrad::preCalc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{}
-
-
-void Foam::calcTypes::magGrad::calc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{
-    const word fieldName = args[2];
-
-    IOobject fieldHeader
-    (
-        fieldName,
-        runTime.timeName(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    // Check field exists
-    if (fieldHeader.headerOk())
-    {
-        bool processed = false;
-
-        writeMagGradField<scalar>(fieldHeader, mesh, processed);
-        writeMagGradField<vector>(fieldHeader, mesh, processed);
-
-        if (!processed)
-        {
-            FatalError
-                << "Unable to process " << fieldName << nl
-                << "No call to magGrad for fields of type "
-                << fieldHeader.headerClassName() << nl << nl
-                << exit(FatalError);
-        }
-    }
-    else
-    {
-        Info<< "    No " << fieldName << endl;
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/field/magGrad/magGrad.H b/src/postProcessing/foamCalcFunctions/field/magGrad/magGrad.H
deleted file mode 100644
index 3ced81278177335c6ee3decead829d806eee37a3..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/field/magGrad/magGrad.H
+++ /dev/null
@@ -1,137 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::calcTypes::magGrad
-
-Description
-    Writes scalar fields corresponding to the magnitude ot the gradient
-    of the supplied field (name) for each time.
-
-SourceFiles
-    magGrad.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef magGrad_H
-#define magGrad_H
-
-#include "calcType.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-namespace calcTypes
-{
-
-/*---------------------------------------------------------------------------*\
-                          Class magGrad Declaration
-\*---------------------------------------------------------------------------*/
-
-class magGrad
-:
-    public calcType
-{
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct
-        magGrad(const magGrad&);
-
-        //- Disallow default bitwise assignment
-        void operator=(const magGrad&);
-
-
-protected:
-
-    // Member Functions
-
-        // Calculation routines
-
-            //- Initialise - typically setting static variables,
-            //  e.g. command line arguments
-            virtual void init();
-
-            //- Pre-time loop calculations
-            virtual void preCalc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-
-            //- Time loop calculations
-            virtual void calc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-
-
-        // I-O
-
-            //- Write magGrad fields
-            template<class Type>
-            void writeMagGradField
-            (
-                const IOobject& header,
-                const fvMesh& mesh,
-                bool& processed
-            );
-
-
-public:
-
-    //- Runtime type information
-    TypeName("magGrad");
-
-
-    // Constructors
-
-        //- Construct null
-        magGrad();
-
-
-    //- Destructor
-    virtual ~magGrad();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace calcTypes
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#ifdef NoRepository
-    #include "writeMagGradField.C"
-#endif
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/field/magGrad/writeMagGradField.C b/src/postProcessing/foamCalcFunctions/field/magGrad/writeMagGradField.C
deleted file mode 100644
index cfc9ccc6cb06035db4fe1d51dc55073557f19f4f..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/field/magGrad/writeMagGradField.C
+++ /dev/null
@@ -1,64 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "fvcGrad.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-template<class Type>
-void Foam::calcTypes::magGrad::writeMagGradField
-(
-    const IOobject& header,
-    const fvMesh& mesh,
-    bool& processed
-)
-{
-    typedef GeometricField<Type, fvPatchField, volMesh> fieldType;
-
-    if (header.headerClassName() == fieldType::typeName)
-    {
-        Info<< "    Reading " << header.name() << endl;
-        fieldType field(header, mesh);
-
-        Info<< "    Calculating magGrad" << header.name() << endl;
-        volScalarField magGradField
-        (
-            IOobject
-            (
-                "magGrad" + header.name(),
-                mesh.time().timeName(),
-                mesh,
-                IOobject::NO_READ
-            ),
-            Foam::mag(fvc::grad(field))
-        );
-        magGradField.write();
-
-        processed = true;
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/field/magSqr/magSqr.C b/src/postProcessing/foamCalcFunctions/field/magSqr/magSqr.C
deleted file mode 100644
index 93c740b714694104acebe5326d94cada2e7e5844..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/field/magSqr/magSqr.C
+++ /dev/null
@@ -1,118 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "magSqr.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-    namespace calcTypes
-    {
-        defineTypeNameAndDebug(magSqr, 0);
-        addToRunTimeSelectionTable(calcType, magSqr, dictionary);
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Foam::calcTypes::magSqr::magSqr()
-:
-    calcType()
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
-
-Foam::calcTypes::magSqr::~magSqr()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void Foam::calcTypes::magSqr::init()
-{
-    argList::validArgs.append("magSqr");
-    argList::validArgs.append("field");
-}
-
-
-void Foam::calcTypes::magSqr::preCalc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{}
-
-
-void Foam::calcTypes::magSqr::calc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{
-    const word fieldName = args[2];
-
-    IOobject fieldHeader
-    (
-        fieldName,
-        runTime.timeName(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    // Check field exists
-    if (fieldHeader.headerOk())
-    {
-        bool processed = false;
-
-        writeMagSqrField<scalar>(fieldHeader, mesh, processed);
-        writeMagSqrField<vector>(fieldHeader, mesh, processed);
-        writeMagSqrField<sphericalTensor>(fieldHeader, mesh, processed);
-        writeMagSqrField<symmTensor>(fieldHeader, mesh, processed);
-        writeMagSqrField<tensor>(fieldHeader, mesh, processed);
-
-        if (!processed)
-        {
-            FatalError
-                << "Unable to process " << fieldName << nl
-                << "No call to magSqr for fields of type "
-                << fieldHeader.headerClassName() << nl << nl
-               << exit(FatalError);
-        }
-    }
-    else
-    {
-        Info<< "    No " << fieldName << endl;
-    }
-}
-
-
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/field/magSqr/magSqr.H b/src/postProcessing/foamCalcFunctions/field/magSqr/magSqr.H
deleted file mode 100644
index 8750f4c206fe964326af673a3c1fdca30f7de55a..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/field/magSqr/magSqr.H
+++ /dev/null
@@ -1,136 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::calcTypes::magSqr
-
-Description
-    Calculates and writes the magnitude-sqaured of a field for each time
-
-SourceFiles
-    magSqr.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef magSqr_H
-#define magSqr_H
-
-#include "calcType.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-namespace calcTypes
-{
-
-/*---------------------------------------------------------------------------*\
-                          Class magSqr Declaration
-\*---------------------------------------------------------------------------*/
-
-class magSqr
-:
-    public calcType
-{
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct
-        magSqr(const magSqr&);
-
-        //- Disallow default bitwise assignment
-        void operator=(const magSqr&);
-
-
-protected:
-
-    // Member Functions
-
-        // Calculation routines
-
-            //- Initialise - typically setting static variables,
-            //  e.g. command line arguments
-            virtual void init();
-
-            //- Pre-time loop calculations
-            virtual void preCalc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-
-            //- Time loop calculations
-            virtual void calc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-
-
-        // I-O
-
-            //- Write component fields
-            template<class Type>
-            void writeMagSqrField
-            (
-                const IOobject& header,
-                const fvMesh& mesh,
-                bool& processed
-            );
-
-
-public:
-
-    //- Runtime type information
-    TypeName("magSqr");
-
-
-    // Constructors
-
-        //- Construct null
-        magSqr();
-
-
-    //- Destructor
-    virtual ~magSqr();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace calcTypes
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#ifdef NoRepository
-    #include "writeMagSqrField.C"
-#endif
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/field/magSqr/writeMagSqrField.C b/src/postProcessing/foamCalcFunctions/field/magSqr/writeMagSqrField.C
deleted file mode 100644
index 22a56292afbfc55b3b7a94518498f344702166e7..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/field/magSqr/writeMagSqrField.C
+++ /dev/null
@@ -1,64 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "volFields.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-template<class Type>
-void Foam::calcTypes::magSqr::writeMagSqrField
-(
-    const IOobject& header,
-    const fvMesh& mesh,
-    bool& processed
-)
-{
-    typedef GeometricField<Type, fvPatchField, volMesh> fieldType;
-
-    if (header.headerClassName() == fieldType::typeName)
-    {
-        Info<< "    Reading " << header.name() << endl;
-        fieldType field(header, mesh);
-
-        Info<< "    Calculating magSqr" << header.name() << endl;
-        volScalarField magSqrField
-        (
-            IOobject
-            (
-                "magSqr" + header.name(),
-                mesh.time().timeName(),
-                mesh,
-                IOobject::NO_READ
-            ),
-            Foam::magSqr(field)
-        );
-        magSqrField.write();
-
-        processed = true;
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/field/randomise/randomise.C b/src/postProcessing/foamCalcFunctions/field/randomise/randomise.C
deleted file mode 100644
index 080e7b5c44d83ee4e45cb01dedb625d839738a29..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/field/randomise/randomise.C
+++ /dev/null
@@ -1,148 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "randomise.H"
-#include "addToRunTimeSelectionTable.H"
-
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-namespace Foam
-{
-    namespace calcTypes
-    {
-        defineTypeNameAndDebug(randomise, 0);
-        addToRunTimeSelectionTable(calcType, randomise, dictionary);
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Foam::calcTypes::randomise::randomise()
-:
-    calcType()
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
-
-Foam::calcTypes::randomise::~randomise()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void Foam::calcTypes::randomise::init()
-{
-    argList::validArgs.append("randomise");
-    argList::validArgs.append("perturbation");
-    argList::validArgs.append("field");
-}
-
-
-void Foam::calcTypes::randomise::preCalc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{}
-
-
-void Foam::calcTypes::randomise::calc
-(
-    const argList& args,
-    const Time& runTime,
-    const fvMesh& mesh
-)
-{
-    const scalar pertMag = args.argRead<scalar>(2);
-    const word fieldName = args[3];
-
-    Random rand(1234567);
-
-    IOobject fieldHeader
-    (
-        fieldName,
-        runTime.timeName(),
-        mesh,
-        IOobject::MUST_READ
-    );
-
-    // Check field exists
-    if (fieldHeader.headerOk())
-    {
-        bool processed = false;
-
-        writeRandomField<vector>
-        (
-            fieldHeader,
-            pertMag,
-            rand,
-            mesh,
-            processed
-        );
-        writeRandomField<sphericalTensor>
-        (
-            fieldHeader,
-            pertMag,
-            rand,
-            mesh,
-            processed
-        );
-        writeRandomField<symmTensor>
-        (
-            fieldHeader,
-            pertMag,
-            rand,
-            mesh,
-            processed
-        );
-        writeRandomField<tensor>
-        (
-            fieldHeader,
-            pertMag,
-            rand,
-            mesh,
-            processed
-        );
-
-        if (!processed)
-        {
-            FatalError
-                << "Unable to process " << fieldName << nl
-                << "No call to randomise for fields of type "
-                << fieldHeader.headerClassName() << nl << nl
-                << exit(FatalError);
-        }
-    }
-    else
-    {
-        Info<< "    No " << fieldName << endl;
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/field/randomise/randomise.H b/src/postProcessing/foamCalcFunctions/field/randomise/randomise.H
deleted file mode 100644
index eb7dcdd849f443ca5115527e5205e9f6719e9315..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/field/randomise/randomise.H
+++ /dev/null
@@ -1,139 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::calcTypes::randomise
-
-Description
-    Adds a random component to a field, with a given perturbation magnitude.
-
-SourceFiles
-    randomise.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef randomise_H
-#define randomise_H
-
-#include "calcType.H"
-#include "Random.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-namespace calcTypes
-{
-
-/*---------------------------------------------------------------------------*\
-                         Class randomise Declaration
-\*---------------------------------------------------------------------------*/
-
-class randomise
-:
-    public calcType
-{
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct
-        randomise(const randomise&);
-
-        //- Disallow default bitwise assignment
-        void operator=(const randomise&);
-
-
-protected:
-
-    // Member Functions
-
-        // Calculation routines
-
-            //- Initialise - typically setting static variables,
-            //  e.g. command line arguments
-            virtual void init();
-
-            //- Pre-time loop calculations
-            virtual void preCalc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-
-            //- Time loop calculations
-            virtual void calc
-            (
-                const argList& args,
-                const Time& runTime,
-                const fvMesh& mesh
-            );
-
-
-        // I-O
-
-            //- Write component fields
-            template<class Type>
-            void writeRandomField
-            (
-                const IOobject& header,
-                const scalar pertMag,
-                Random& rand,
-                const fvMesh& mesh,
-                bool& processed
-            );
-
-
-public:
-
-    //- Runtime type information
-    TypeName("randomise");
-
-
-    // Constructors
-
-        //- Construct null
-        randomise();
-
-
-    //- Destructor
-    virtual ~randomise();
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace calcTypes
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#ifdef NoRepository
-    #include "writeRandomField.C"
-#endif
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/postProcessing/foamCalcFunctions/field/randomise/writeRandomField.C b/src/postProcessing/foamCalcFunctions/field/randomise/writeRandomField.C
deleted file mode 100644
index 771a8659d949e5aadd737290e15f26bac010bd27..0000000000000000000000000000000000000000
--- a/src/postProcessing/foamCalcFunctions/field/randomise/writeRandomField.C
+++ /dev/null
@@ -1,76 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "volFields.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-template<class Type>
-void Foam::calcTypes::randomise::writeRandomField
-(
-    const IOobject& header,
-    const scalar pertMag,
-    Random& rand,
-    const fvMesh& mesh,
-    bool& processed
-)
-{
-    typedef GeometricField<Type, fvPatchField, volMesh> fieldType;
-
-    if (header.headerClassName() == fieldType::typeName)
-    {
-        Info<< "    Reading " << header.name() << endl;
-        fieldType field(header, mesh);
-
-        forAll(field, celli)
-        {
-            Type rndPert;
-            rand.randomise(rndPert);
-            rndPert = 2.0*rndPert - pTraits<Type>::one;
-            rndPert /= mag(rndPert);
-            field[celli] += pertMag*rndPert;
-        }
-
-        fieldType randomisedField
-        (
-            IOobject
-            (
-                header.name() + "Random",
-                mesh.time().timeName(),
-                mesh,
-                IOobject::NO_READ
-            ),
-            field
-        );
-
-        Info<< "    Writing " << header.name() << "Random" << endl;
-        randomisedField.write();
-
-        processed = true;
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/src/postProcessing/postCalc/Make/files b/src/postProcessing/postCalc/Make/files
deleted file mode 100644
index fc955741b3626c0a0d2a8081c14c20f85cc33746..0000000000000000000000000000000000000000
--- a/src/postProcessing/postCalc/Make/files
+++ /dev/null
@@ -1,3 +0,0 @@
-postCalc.C
-
-LIB = $(FOAM_LIBBIN)/postCalc
diff --git a/src/postProcessing/postCalc/calc.H b/src/postProcessing/postCalc/calc.H
deleted file mode 100644
index de0bad426ec972a7596e34e8214a215333a8b283..0000000000000000000000000000000000000000
--- a/src/postProcessing/postCalc/calc.H
+++ /dev/null
@@ -1,51 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-InNamespace
-    Foam
-
-Description
-    Function prototype for all simple post-processing functions
-    e.g. calcDivPhi, calcMagU etc.
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef calc_H
-#define calc_H
-
-#include "argList.H"
-#include "Time.H"
-#include "fvMesh.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-    void calc(const argList& args, const Time& runTime, const fvMesh& mesh);
-}
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/src/postProcessing/postCalc/postCalc.C b/src/postProcessing/postCalc/postCalc.C
deleted file mode 100644
index d0d32d62a174030396b2c6d40b88ee2f20972135..0000000000000000000000000000000000000000
--- a/src/postProcessing/postCalc/postCalc.C
+++ /dev/null
@@ -1,90 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Application
-    postCalc
-
-Description
-    Generic wrapper for calculating a quantity at each time
-
-\*---------------------------------------------------------------------------*/
-
-#include "calc.H"
-#include "timeSelector.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-    void tryCalc(const argList& args, const Time& runTime, const fvMesh& mesh)
-    {
-        FatalIOError.throwExceptions();
-
-        try
-        {
-            calc(args, runTime, mesh);
-        }
-        catch(IOerror& err)
-        {
-            Warning<< err << endl;
-        }
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-int main(int argc, char *argv[])
-{
-    Foam::timeSelector::addOptions();
-    #include "addRegionOption.H"
-    Foam::argList::addBoolOption
-    (
-        "noWrite",
-        "suppress writing results"
-    );
-    #include "addDictOption.H"
-
-    #include "setRootCase.H"
-    #include "createTime.H"
-    Foam::instantList timeDirs = Foam::timeSelector::select0(runTime, args);
-    #include "createNamedMesh.H"
-
-    forAll(timeDirs, timeI)
-    {
-        runTime.setTime(timeDirs[timeI], timeI);
-
-        Foam::Info<< "Time = " << runTime.timeName() << Foam::endl;
-
-        mesh.readUpdate();
-
-        Foam::tryCalc(args, runTime, mesh);
-
-        Foam::Info<< Foam::endl;
-    }
-
-    return 0;
-}
-
-
-// ************************************************************************* //
diff --git a/src/rigidBodyMeshMotion/Make/options b/src/rigidBodyMeshMotion/Make/options
index 92a8f72b4d2910be4c41401bbbbe32923227a48c..eb48d3524fbc7825a1cfce49844dd65611d5bd5a 100644
--- a/src/rigidBodyMeshMotion/Make/options
+++ b/src/rigidBodyMeshMotion/Make/options
@@ -2,7 +2,7 @@ EXE_INC = -ggdb3 -DFULLDEBUG \
     -I$(LIB_SRC)/rigidBodyDynamics/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/postProcessing/functionObjects/forces/lnInclude \
+    -I$(LIB_SRC)/functionObjects/forces/lnInclude \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/dynamicMesh/lnInclude
 
diff --git a/src/sixDoFRigidBodyMotion/Make/options b/src/sixDoFRigidBodyMotion/Make/options
index f2367d2e1d47e8b701978c06a03ad5696c8c8668..11834cbddf832eaa0032645344fbb419d6e4cad2 100644
--- a/src/sixDoFRigidBodyMotion/Make/options
+++ b/src/sixDoFRigidBodyMotion/Make/options
@@ -1,7 +1,7 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/postProcessing/functionObjects/forces/lnInclude \
+    -I$(LIB_SRC)/functionObjects/forces/lnInclude \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/dynamicMesh/lnInclude
 
diff --git a/tutorials/compressible/rhoCentralDyMFoam/movingCone/system/cuttingPlane b/tutorials/compressible/rhoCentralDyMFoam/movingCone/system/cuttingPlane
index a1cfdee93ec954337167e2e3afa247d82d52da3e..6373b8aa819da6338e87ec845553e3e0af45b019 100644
--- a/tutorials/compressible/rhoCentralDyMFoam/movingCone/system/cuttingPlane
+++ b/tutorials/compressible/rhoCentralDyMFoam/movingCone/system/cuttingPlane
@@ -11,7 +11,7 @@ cuttingPlane
     type            surfaces;
     libs ("libsampling.so");
 
-    writeControl   writeTime;
+    writeControl    writeTime;
 
     surfaceFormat   vtk;
     fields          ( p U );
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/system/controlDict b/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/system/controlDict
index af81fb869a34e744679372226c0cca5428867c26..7844e3ac026ff0d5b506b85dee9e9918bf76a6cd 100644
--- a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/system/controlDict
+++ b/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/system/controlDict
@@ -54,9 +54,8 @@ functions
     fieldAverage1
     {
         type            fieldAverage;
-        libs ( "libfieldFunctionObjects.so" );
-        enabled         true;
-        writeControl   writeTime;
+        libs            ("libfieldFunctionObjects.so");
+        writeControl    writeTime;
 
         fields
         (
diff --git a/tutorials/compressible/sonicDyMFoam/movingCone/system/cuttingPlane b/tutorials/compressible/sonicDyMFoam/movingCone/system/cuttingPlane
index a1cfdee93ec954337167e2e3afa247d82d52da3e..6373b8aa819da6338e87ec845553e3e0af45b019 100644
--- a/tutorials/compressible/sonicDyMFoam/movingCone/system/cuttingPlane
+++ b/tutorials/compressible/sonicDyMFoam/movingCone/system/cuttingPlane
@@ -11,7 +11,7 @@ cuttingPlane
     type            surfaces;
     libs ("libsampling.so");
 
-    writeControl   writeTime;
+    writeControl    writeTime;
 
     surfaceFormat   vtk;
     fields          ( p U );
diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/Allrun b/tutorials/compressible/sonicFoam/laminar/shockTube/Allrun
index 20ffce0a1503bf7c7a8a4ae7b80b8bb6c90fe005..7e02aa1ed65447aa631c5522b1d2984decaaf33c 100755
--- a/tutorials/compressible/sonicFoam/laminar/shockTube/Allrun
+++ b/tutorials/compressible/sonicFoam/laminar/shockTube/Allrun
@@ -9,7 +9,7 @@ application=`getApplication`
 runApplication blockMesh
 runApplication setFields
 runApplication $application
-runApplication foamCalc mag U
+runApplication postProcess -func 'mag(U)'
 runApplication sample
 
 #------------------------------------------------------------------------------
diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/system/sampleDict b/tutorials/compressible/sonicFoam/laminar/shockTube/system/sampleDict
index 56c198065e65c3e38be3866a05567f3726cd31c2..5690ad6976f14aa1e8fc470d9fecfdf4388d30ef 100644
--- a/tutorials/compressible/sonicFoam/laminar/shockTube/system/sampleDict
+++ b/tutorials/compressible/sonicFoam/laminar/shockTube/system/sampleDict
@@ -31,6 +31,6 @@ sets
     }
 );
 
-fields          (T magU p);
+fields          (T mag(U) p);
 
 // ************************************************************************* //
diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/controlDict b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/controlDict
index 75c6aedf9c670c965d32104dd7e9d55249ac1492..dba292f8180e819572fbdee6f1b970f45852c861 100644
--- a/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/controlDict
+++ b/tutorials/discreteMethods/dsmcFoam/freeSpacePeriodic/system/controlDict
@@ -52,8 +52,8 @@ functions
     fieldAverage1
     {
         type            fieldAverage;
-        libs ( "libfieldFunctionObjects.so" );
-        writeControl   writeTime;
+        libs            ("libfieldFunctionObjects.so");
+        writeControl    writeTime;
 
         fields
         (
@@ -116,9 +116,8 @@ functions
     dsmcFields1
     {
         type            dsmcFields;
-        libs ( "libutilityFunctionObjects.so" );
-        enabled         true;
-        writeControl   writeTime;
+        libs            ("liblagrangianFunctionObjects.so");
+        writeControl    writeTime;
     }
 }
 
diff --git a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/controlDict b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/controlDict
index c1a97cd71f6f9c752fd6adff562062b8d444c909..784e7586f3d2b75ce7acb4cc807aee79f0e67d9d 100644
--- a/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/controlDict
+++ b/tutorials/discreteMethods/dsmcFoam/freeSpaceStream/system/controlDict
@@ -52,8 +52,8 @@ functions
     fieldAverage1
     {
         type            fieldAverage;
-        libs ( "libfieldFunctionObjects.so" );
-        writeControl   writeTime;
+        libs            ("libfieldFunctionObjects.so");
+        writeControl    writeTime;
         restartOnOutput   off;
 
         fields
@@ -117,9 +117,8 @@ functions
     dsmcFields1
     {
         type            dsmcFields;
-        libs ( "libutilityFunctionObjects.so" );
-        enabled         true;
-        writeControl   writeTime;
+        libs            ("liblagrangianFunctionObjects.so");
+        writeControl    writeTime;
     }
 }
 
diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/controlDict b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/controlDict
index eb5e78206aaea523ee95d30d2e25205678d85d70..0bc64456c717fabc1cb397fcd7f6fbba8122f518 100644
--- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/controlDict
+++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/system/controlDict
@@ -52,8 +52,8 @@ functions
     fieldAverage1
     {
         type            fieldAverage;
-        libs ( "libfieldFunctionObjects.so" );
-        writeControl   writeTime;
+        libs            ("libfieldFunctionObjects.so");
+        writeControl    writeTime;
 
         fields
         (
@@ -113,12 +113,12 @@ functions
             }
         );
     }
+
     dsmcFields1
     {
         type            dsmcFields;
-        libs ( "libutilityFunctionObjects.so" );
-        enabled         true;
-        writeControl   writeTime;
+        libs            ("liblagrangianFunctionObjects.so");
+        writeControl    writeTime;
     }
 }
 
diff --git a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/controlDict b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/controlDict
index f89ed2f0162403c6e4c90d32e69d3edec4e0ee27..0f6825eac9601a93e7e3174f8f6a0d8625c79e0e 100644
--- a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/controlDict
+++ b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/system/controlDict
@@ -52,8 +52,8 @@ functions
     fieldAverage1
     {
         type            fieldAverage;
-        libs ( "libfieldFunctionObjects.so" );
-        writeControl   writeTime;
+        libs            ("libfieldFunctionObjects.so");
+        writeControl    writeTime;
 
         fields
         (
@@ -117,18 +117,16 @@ functions
     dsmcFields1
     {
         type            dsmcFields;
-        libs ( "libutilityFunctionObjects.so" );
-        enabled         true;
-        writeControl   writeTime;
+        libs            ("liblagrangianFunctionObjects.so");
+        writeControl    writeTime;
     }
 
     forces1
     {
         type            forces;
-        enabled         true;
-        libs ( "libforces.so" );
-        writeControl   writeTime;
-        patches         ( obstacle );
+        libs            ("libforces.so");
+        writeControl    writeTime;
+        patches         (obstacle);
         directForceDensity true;
         fDName          fDMean;
         CofR            (0 0 0);
diff --git a/tutorials/electromagnetics/mhdFoam/hartmann/Allrun b/tutorials/electromagnetics/mhdFoam/hartmann/Allrun
index bb8053763d99c22c3d43a793b99a030fa5c09c3b..fad602889c9fa75887dabfd137924b7cc8b5629a 100755
--- a/tutorials/electromagnetics/mhdFoam/hartmann/Allrun
+++ b/tutorials/electromagnetics/mhdFoam/hartmann/Allrun
@@ -9,7 +9,7 @@ application=`getApplication`
 
 runApplication blockMesh
 runApplication $application
-runApplication foamCalc components U
+runApplication postProcess -func 'components(U)'
 runApplication sample
 
 #------------------------------------------------------------------------------
diff --git a/tutorials/incompressible/pimpleDyMFoam/movingCone/system/cuttingPlane b/tutorials/incompressible/pimpleDyMFoam/movingCone/system/cuttingPlane
index a1cfdee93ec954337167e2e3afa247d82d52da3e..6373b8aa819da6338e87ec845553e3e0af45b019 100644
--- a/tutorials/incompressible/pimpleDyMFoam/movingCone/system/cuttingPlane
+++ b/tutorials/incompressible/pimpleDyMFoam/movingCone/system/cuttingPlane
@@ -11,7 +11,7 @@ cuttingPlane
     type            surfaces;
     libs ("libsampling.so");
 
-    writeControl   writeTime;
+    writeControl    writeTime;
 
     surfaceFormat   vtk;
     fields          ( p U );
diff --git a/tutorials/incompressible/pimpleDyMFoam/propeller/system/Q b/tutorials/incompressible/pimpleDyMFoam/propeller/system/Q
index 1c385eae6ef092cc6e48872b7ba64cb133e50bed..9d8ff222f8250b0b134cd4abf89d5e3c660f996b 100644
--- a/tutorials/incompressible/pimpleDyMFoam/propeller/system/Q
+++ b/tutorials/incompressible/pimpleDyMFoam/propeller/system/Q
@@ -6,16 +6,15 @@
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
-// Calculate Q (from U)
+// Calculate Q(U)
 Q
 {
-    // Where to load it from
-    libs ("libfieldFunctionObjects.so");
-
     type Q;
 
-    // Output every
-    writeControl writeTime;
+    libs ("libfieldFunctionObjects.so");
+
+    executeControl  writeTime;
+    writeControl    writeTime;
 }
 
 
diff --git a/tutorials/incompressible/pimpleDyMFoam/propeller/system/surfaces b/tutorials/incompressible/pimpleDyMFoam/propeller/system/surfaces
index 5d6e58798798e27c99852f32b12897c383ad2def..00101c0397b47501ca99da7189898b9fd7f25e5a 100644
--- a/tutorials/incompressible/pimpleDyMFoam/propeller/system/surfaces
+++ b/tutorials/incompressible/pimpleDyMFoam/propeller/system/surfaces
@@ -10,7 +10,7 @@ surfaces
 {
     type            surfaces;
     libs ("libsampling.so");
-    writeControl   writeTime;
+    writeControl    writeTime;
 
     surfaceFormat   vtk;
     fields          (p U Q);
diff --git a/tutorials/incompressible/pimpleFoam/TJunction/system/controlDict b/tutorials/incompressible/pimpleFoam/TJunction/system/controlDict
index 0151f88dca5d691f4ccfeea163ab40f33b04d692..c1fd57f2efcf0e71c8c9fb66b1de76716465a332 100644
--- a/tutorials/incompressible/pimpleFoam/TJunction/system/controlDict
+++ b/tutorials/incompressible/pimpleFoam/TJunction/system/controlDict
@@ -62,7 +62,7 @@ functions
         name            probes;
 
         // Write at same frequency as fields
-        writeControl   writeTime;
+        writeControl    writeTime;
         writeInterval  1;
 
         // Fields to be probed
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/system/controlDict b/tutorials/incompressible/pimpleFoam/TJunctionFan/system/controlDict
index 1fdcaebb0b4bd8342e532af4741040e64b24cf60..a227e63934df2a7b674789f7b2aff78c54913f88 100644
--- a/tutorials/incompressible/pimpleFoam/TJunctionFan/system/controlDict
+++ b/tutorials/incompressible/pimpleFoam/TJunctionFan/system/controlDict
@@ -62,7 +62,7 @@ functions
         name            probes;
 
         // Write at same frequency as fields
-        writeControl   writeTime;
+        writeControl    writeTime;
         writeInterval  1;
 
         // Fields to be probed
diff --git a/tutorials/incompressible/pimpleFoam/channel395/system/controlDict b/tutorials/incompressible/pimpleFoam/channel395/system/controlDict
index 5e66d134cee58ee6f241470a17f5b99cb7472cba..90fe520d6551dcc8f0dca659a8ce657bf8bd63a2 100644
--- a/tutorials/incompressible/pimpleFoam/channel395/system/controlDict
+++ b/tutorials/incompressible/pimpleFoam/channel395/system/controlDict
@@ -50,9 +50,8 @@ functions
     fieldAverage1
     {
         type            fieldAverage;
-        libs ( "libfieldFunctionObjects.so" );
-        enabled         true;
-        writeControl   writeTime;
+        libs            ("libfieldFunctionObjects.so");
+        writeControl    writeTime;
 
         fields
         (
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/controlDict b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/controlDict
index 81ed6433926f7e5c5e82b3111eee05b9c752d898..7b51359648027553ccbab0ea0e5d1427773a090c 100644
--- a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/controlDict
+++ b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/controlDict
@@ -52,7 +52,7 @@ functions
     streamLines
     {
         type            streamLine;
-        writeControl   writeTime;
+        writeControl    writeTime;
         setFormat       vtk;
         trackForward    true;
         fields          (p U);
@@ -73,7 +73,7 @@ functions
     {
         type            surfaces;
         libs ( "libsampling.so" );
-        writeControl   writeTime;
+        writeControl    writeTime;
         surfaceFormat   vtk;
         fields          ( p U );
         interpolationScheme cellPoint;
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/cuttingPlane b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/cuttingPlane
index 558bf223ce041482abda52fe7f0997ef4a320467..6b099000356441a2717a8b2fc8abf0272dd70729 100644
--- a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/cuttingPlane
+++ b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/cuttingPlane
@@ -10,7 +10,7 @@ cuttingPlane
 {
     type            surfaces;
     libs ("libsampling.so");
-    writeControl   writeTime;
+    writeControl    writeTime;
 
     surfaceFormat   vtk;
     fields          ( p U );
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/streamLines b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/streamLines
index 9dfff44aeb95469686180e2ac371da3914f85cb5..80dd5a310c29eaa3898cbe099a11ca24b4f962a4 100644
--- a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/streamLines
+++ b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/streamLines
@@ -11,7 +11,7 @@ streamLines
     type            streamLine;
 
     // Output every
-    writeControl   writeTime;
+    writeControl    writeTime;
     // writeInterval 10;
 
     setFormat       vtk; //gnuplot; //xmgr; //raw; //jplot; //csv; //ensight;
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/system/controlDict b/tutorials/incompressible/pisoFoam/les/pitzDaily/system/controlDict
index d935938c765ee686f724047d4e3c7c6dbc1cd94e..3a1c3f17f72ce8d7bd721b07469b40f6f092a4b0 100644
--- a/tutorials/incompressible/pisoFoam/les/pitzDaily/system/controlDict
+++ b/tutorials/incompressible/pisoFoam/les/pitzDaily/system/controlDict
@@ -50,10 +50,9 @@ functions
     probes
     {
         type            probes;
-        libs ("libsampling.so");
-        enabled         true;
-        writeControl   timeStep;
-        writeInterval  1;
+        libs            ("libsampling.so");
+        writeControl    timeStep;
+        writeInterval   1;
 
         fields
         (
@@ -76,9 +75,8 @@ functions
     fieldAverage1
     {
         type            fieldAverage;
-        libs ("libfieldFunctionObjects.so");
-        enabled         true;
-        writeControl   writeTime;
+        libs            ("libfieldFunctionObjects.so");
+        writeControl    writeTime;
 
         fields
         (
@@ -105,9 +103,8 @@ functions
         type surfaces;
 
         // Where to load it from (if not already in solver)
-        libs ("libsampling.so");
-        enabled         true;
-        writeControl   writeTime;
+        libs            ("libsampling.so");
+        writeControl    writeTime;
 
         interpolationScheme cellPoint;
 
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/controlDict b/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/controlDict
index d935938c765ee686f724047d4e3c7c6dbc1cd94e..3a1c3f17f72ce8d7bd721b07469b40f6f092a4b0 100644
--- a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/controlDict
+++ b/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/controlDict
@@ -50,10 +50,9 @@ functions
     probes
     {
         type            probes;
-        libs ("libsampling.so");
-        enabled         true;
-        writeControl   timeStep;
-        writeInterval  1;
+        libs            ("libsampling.so");
+        writeControl    timeStep;
+        writeInterval   1;
 
         fields
         (
@@ -76,9 +75,8 @@ functions
     fieldAverage1
     {
         type            fieldAverage;
-        libs ("libfieldFunctionObjects.so");
-        enabled         true;
-        writeControl   writeTime;
+        libs            ("libfieldFunctionObjects.so");
+        writeControl    writeTime;
 
         fields
         (
@@ -105,9 +103,8 @@ functions
         type surfaces;
 
         // Where to load it from (if not already in solver)
-        libs ("libsampling.so");
-        enabled         true;
-        writeControl   writeTime;
+        libs            ("libsampling.so");
+        writeControl    writeTime;
 
         interpolationScheme cellPoint;
 
diff --git a/tutorials/incompressible/simpleFoam/motorBike/system/cuttingPlane b/tutorials/incompressible/simpleFoam/motorBike/system/cuttingPlane
index 558bf223ce041482abda52fe7f0997ef4a320467..6b099000356441a2717a8b2fc8abf0272dd70729 100644
--- a/tutorials/incompressible/simpleFoam/motorBike/system/cuttingPlane
+++ b/tutorials/incompressible/simpleFoam/motorBike/system/cuttingPlane
@@ -10,7 +10,7 @@ cuttingPlane
 {
     type            surfaces;
     libs ("libsampling.so");
-    writeControl   writeTime;
+    writeControl    writeTime;
 
     surfaceFormat   vtk;
     fields          ( p U );
diff --git a/tutorials/incompressible/simpleFoam/motorBike/system/streamLines b/tutorials/incompressible/simpleFoam/motorBike/system/streamLines
index 6b87e7f63e1bedf87a789b90c267ff4fd5f92400..6e6918f36a80145e4395a16a8f40e58bde35162c 100644
--- a/tutorials/incompressible/simpleFoam/motorBike/system/streamLines
+++ b/tutorials/incompressible/simpleFoam/motorBike/system/streamLines
@@ -14,7 +14,7 @@ streamLines
     type            streamLine;
 
     // Output every
-    writeControl   writeTime;
+    writeControl    writeTime;
     // writeInterval 10;
 
     setFormat       vtk; //gnuplot; //xmgr; //raw; //jplot; //csv; //ensight;
diff --git a/tutorials/incompressible/simpleFoam/motorBike/system/wallBoundedStreamLines b/tutorials/incompressible/simpleFoam/motorBike/system/wallBoundedStreamLines
index 526775898ded1e12966668f626a28b42db89dd2c..26cecc44783fbe77999fc6976fdee6a327e1775a 100644
--- a/tutorials/incompressible/simpleFoam/motorBike/system/wallBoundedStreamLines
+++ b/tutorials/incompressible/simpleFoam/motorBike/system/wallBoundedStreamLines
@@ -15,7 +15,7 @@ near
     type nearWallFields;
 
     // Output every
-    writeControl   writeTime;
+    writeControl    writeTime;
 
     // Calculate every
     executeControl   writeTime;
@@ -43,7 +43,7 @@ wallBoundedStreamLines
     type            wallBoundedStreamLine;
 
     // Output every
-    writeControl   writeTime;
+    writeControl    writeTime;
 
     setFormat       vtk; //gnuplot; //xmgr; //raw; //jplot;
 
diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/system/controlDict b/tutorials/incompressible/simpleFoam/pitzDaily/system/controlDict
index 2636d7bd48397144889bba4d87edfe7285f589b5..3b60eb97cf1f4fefa7576da4e3efab241d85dad0 100644
--- a/tutorials/incompressible/simpleFoam/pitzDaily/system/controlDict
+++ b/tutorials/incompressible/simpleFoam/pitzDaily/system/controlDict
@@ -55,7 +55,7 @@ functions
         libs ("libfieldFunctionObjects.so");
 
         // Output every
-        writeControl   writeTime;
+        writeControl    writeTime;
         // writeInterval 10;
 
         setFormat       vtk; //gnuplot;//xmgr;//raw;//jplot;//csv;//ensight;
diff --git a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/controlDict b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/controlDict
index 31b1f7ff22d947184d8fd83752eba66e5c1368ae..8daa2f853f22502e08ab5cf18b3b3a03b3f3caeb 100644
--- a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/controlDict
+++ b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/controlDict
@@ -55,7 +55,7 @@ functions
         libs ("libfieldFunctionObjects.so");
 
         // Output every
-        writeControl   writeTime;
+        writeControl    writeTime;
         // writeInterval 10;
 
         setFormat       vtk; //gnuplot;//xmgr;//raw;//jplot;//csv;//ensight;
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/system/controlDict b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/system/controlDict
index 6121a89143b2b8a72c37ae7d1f3c1a42bcd3c249..935559ccc1552d31b088aad0f497e239f2fd577b 100644
--- a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/system/controlDict
+++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/system/controlDict
@@ -56,9 +56,8 @@ functions
     faceSource1
     {
         type            faceSource;
-        libs ("libfieldFunctionObjects.so");
-        enabled         yes;
-        writeControl   writeTime;
+        libs            ("libfieldFunctionObjects.so");
+        writeControl    writeTime;
         log             yes;
         valueOutput     no;
         source          patch;
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/system/controlDict b/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/system/controlDict
index 6b2dc4faaee5e988c29706777430b92f74e11c00..5dc1e71c2d853535c7013d3eba474a0df99b5a4c 100644
--- a/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/system/controlDict
+++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/system/controlDict
@@ -51,9 +51,8 @@ functions
     faceSource1
     {
         type            faceSource;
-        libs ("libfieldFunctionObjects.so");
-        enabled         yes;
-        writeControl   writeTime;
+        libs            ("libfieldFunctionObjects.so");
+        writeControl    writeTime;
         log             yes;
         valueOutput     no;
         source          patch;
diff --git a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/system/controlDict b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/system/controlDict
index 85cbcd795dba230e51428f9ed1252b15a2344320..9b6fa3b8441fade2c5c31837ddce572618fc3e72 100644
--- a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/system/controlDict
+++ b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/system/controlDict
@@ -53,7 +53,7 @@ functions
         type            faceSource;
         libs ("libfieldFunctionObjects.so");
         enabled         yes;
-        writeControl   writeTime;
+        writeControl    writeTime;
         log             yes;
         valueOutput     no;
         source          patch;
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/system/controlDict b/tutorials/multiphase/cavitatingFoam/les/throttle/system/controlDict
index c5ef129b1aaa3e87247102871718143d123dc6be..f69bf214d5af67e2642c286a198a20b0d4353e65 100644
--- a/tutorials/multiphase/cavitatingFoam/les/throttle/system/controlDict
+++ b/tutorials/multiphase/cavitatingFoam/les/throttle/system/controlDict
@@ -54,9 +54,8 @@ functions
     fieldAverage1
     {
         type            fieldAverage;
-        libs ( "libfieldFunctionObjects.so" );
-        enabled         false;
-        writeControl   writeTime;
+        libs            ("libfieldFunctionObjects.so");
+        writeControl    writeTime;
         fields
         (
             U
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/controlDict b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/controlDict
index 8bd22cef0b7696a9077de893dc20da95a889c657..6a43f403ab7269100033adbef7c34bddc53859a1 100644
--- a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/controlDict
+++ b/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/controlDict
@@ -54,9 +54,8 @@ functions
     fieldAverage1
     {
         type            fieldAverage;
-        libs ( "libfieldFunctionObjects.so" );
-        enabled         false;
-        writeControl   writeTime;
+        libs            ("libfieldFunctionObjects.so");
+        writeControl    writeTime;
         fields
         (
             U
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/controlDict b/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/controlDict
index 9c73195f268244e402cafafdd868e73ced0c735e..78c5db3ab01904d4588e2fa1f9d671a315310806 100644
--- a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/controlDict
+++ b/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/controlDict
@@ -58,7 +58,7 @@ functions
     {
         type            probes;
         libs ("libsampling.so");
-        writeControl   writeTime;
+        writeControl    writeTime;
         probeLocations
         (
             (0 9.95 19.77)
@@ -75,7 +75,7 @@ functions
     {
         type            surfaces;
         libs ("libsampling.so");
-        writeControl   writeTime;
+        writeControl    writeTime;
         surfaceFormat   raw;
         fields
         (
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/controlDict b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/controlDict
index dc1ec8c127d850f2f76da53ac14a62ab14db0185..194bfd02fe80f2eca16ea9c1f1662e6e0273fa63 100644
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/controlDict
+++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/controlDict
@@ -58,7 +58,7 @@ functions
     {
         type            probes;
         libs ("libsampling.so");
-        writeControl   writeTime;
+        writeControl    writeTime;
         probeLocations
         (
             (0 9.95 19.77)
@@ -75,7 +75,7 @@ functions
     {
         type            surfaces;
         libs ("libsampling.so");
-        writeControl   writeTime;
+        writeControl    writeTime;
         surfaceFormat   raw;
         fields
         (
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/controlDict b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/controlDict
index 4f211ef3841d2f578f2d88e5d2372ad77e7df236..175f54794cd259fae35273e12e66d1ee0a82f387 100644
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/controlDict
+++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/controlDict
@@ -57,7 +57,7 @@ functions
     {
         type            probes;
         libs ("libsampling.so");
-        writeControl   writeTime;
+        writeControl    writeTime;
         probeLocations
         (
             (0 9.95 19.77)
@@ -74,7 +74,7 @@ functions
     {
         type            surfaces;
         libs ("libsampling.so");
-        writeControl   writeTime;
+        writeControl    writeTime;
         surfaceFormat   raw;
         fields
         (
diff --git a/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/system/controlDict b/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/system/controlDict
index 8336493c6a68a09cd547488b96a5db4df40ba707..e6cd8a7004766d030d60e906c03780146f2e3eed 100644
--- a/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/system/controlDict
+++ b/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/system/controlDict
@@ -57,7 +57,7 @@ functions
     {
         type            fieldAverage;
         libs ( "libfieldFunctionObjects.so" );
-        writeControl   writeTime;
+        writeControl    writeTime;
         fields
         (
             U.air
diff --git a/tutorials/multiphase/potentialFreeSurfaceDyMFoam/oscillatingBox/system/controlDict b/tutorials/multiphase/potentialFreeSurfaceDyMFoam/oscillatingBox/system/controlDict
index 31a100e56b325c5b2e0e324012445996e4ce37e2..9846717057100beebc2c4e2b3d8d0efdf6c7bc39 100644
--- a/tutorials/multiphase/potentialFreeSurfaceDyMFoam/oscillatingBox/system/controlDict
+++ b/tutorials/multiphase/potentialFreeSurfaceDyMFoam/oscillatingBox/system/controlDict
@@ -57,7 +57,7 @@ functions
     {
         type            forces;
         libs ("libforces.so");
-        writeControl   writeTime;
+        writeControl    writeTime;
         patches         (floatingObject);
         rho             rhoInf;
         log             yes;
@@ -69,7 +69,6 @@ functions
     {
         type            faceSource;
         libs ("libfieldFunctionObjects.so");
-        enabled         yes;
         writeControl   timeStep;
         writeInterval  1;
         log             yes;
diff --git a/tutorials/multiphase/potentialFreeSurfaceFoam/oscillatingBox/system/controlDict b/tutorials/multiphase/potentialFreeSurfaceFoam/oscillatingBox/system/controlDict
index 0d70bd5321b0f3f82064f87b9138e62bccdc3847..53157df907de6186f58460dbbebbbb6d17a16178 100644
--- a/tutorials/multiphase/potentialFreeSurfaceFoam/oscillatingBox/system/controlDict
+++ b/tutorials/multiphase/potentialFreeSurfaceFoam/oscillatingBox/system/controlDict
@@ -56,7 +56,7 @@ functions
     forces
     {
         type            forces;
-        libs ("libforces.so");
+        libs            ("libforces.so");
         writeControl    writeTime;
         patches         (floatingObject);
         rho             rhoInf;
@@ -68,10 +68,9 @@ functions
     poolHeight
     {
         type            faceSource;
-        libs ("libfieldFunctionObjects.so");
-        enabled         yes;
-        writeControl   timeStep;
-        writeInterval  1;
+        libs            ("libfieldFunctionObjects.so");
+        writeControl    timeStep;
+        writeInterval   1;
         log             yes;
         writeTotalArea  no;
         valueOutput     no;
diff --git a/tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/system/controlDict b/tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/system/controlDict
index 4952298b153b88289b0d71dd728828836e226747..987fa05c0a086a8d04d51d737d267be272bf4789 100644
--- a/tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/system/controlDict
+++ b/tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/system/controlDict
@@ -57,7 +57,7 @@ functions0
     {
         type            fieldAverage;
         libs ( "libfieldFunctionObjects.so" );
-        writeControl   writeTime;
+        writeControl    writeTime;
         fields
         (
             U.air
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/LES/bubbleColumn/system/controlDict b/tutorials/multiphase/reactingTwoPhaseEulerFoam/LES/bubbleColumn/system/controlDict
index bda032fbbb831b9daa874aac69e570814301280d..ab77d7aa4a8ab1adbe17f7b2ac59808c9808605f 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/LES/bubbleColumn/system/controlDict
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/LES/bubbleColumn/system/controlDict
@@ -57,7 +57,7 @@ functions
     {
         type            fieldAverage;
         libs ( "libfieldFunctionObjects.so" );
-        writeControl   writeTime;
+        writeControl    writeTime;
         fields
         (
             U.air
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumn/system/controlDict b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumn/system/controlDict
index bda032fbbb831b9daa874aac69e570814301280d..ab77d7aa4a8ab1adbe17f7b2ac59808c9808605f 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumn/system/controlDict
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumn/system/controlDict
@@ -57,7 +57,7 @@ functions
     {
         type            fieldAverage;
         libs ( "libfieldFunctionObjects.so" );
-        writeControl   writeTime;
+        writeControl    writeTime;
         fields
         (
             U.air
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/fluidisedBed/system/controlDict b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/fluidisedBed/system/controlDict
index 0171ad9a96d0a7d28075d361a06a3167a2438d89..998a61a75746105c35753bb0d880c47bde3cd947 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/fluidisedBed/system/controlDict
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/fluidisedBed/system/controlDict
@@ -57,7 +57,7 @@ functions
     {
         type            fieldAverage;
         libs ( "libfieldFunctionObjects.so" );
-        writeControl   writeTime;
+        writeControl    writeTime;
         fields
         (
             U.particles
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumn/system/controlDict b/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumn/system/controlDict
index bda032fbbb831b9daa874aac69e570814301280d..ab77d7aa4a8ab1adbe17f7b2ac59808c9808605f 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumn/system/controlDict
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumn/system/controlDict
@@ -57,7 +57,7 @@ functions
     {
         type            fieldAverage;
         libs ( "libfieldFunctionObjects.so" );
-        writeControl   writeTime;
+        writeControl    writeTime;
         fields
         (
             U.air
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumnIATE/system/controlDict b/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumnIATE/system/controlDict
index bda032fbbb831b9daa874aac69e570814301280d..ab77d7aa4a8ab1adbe17f7b2ac59808c9808605f 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumnIATE/system/controlDict
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/bubbleColumnIATE/system/controlDict
@@ -57,7 +57,7 @@ functions
     {
         type            fieldAverage;
         libs ( "libfieldFunctionObjects.so" );
-        writeControl   writeTime;
+        writeControl    writeTime;
         fields
         (
             U.air
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/fluidisedBed/system/controlDict b/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/fluidisedBed/system/controlDict
index bd01b0bd4ff0737d5a4479919a117dcebcddb598..17459a91c5c33e6d593372a91d7ce1bc2568310c 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/fluidisedBed/system/controlDict
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/fluidisedBed/system/controlDict
@@ -57,7 +57,7 @@ functions
     {
         type            fieldAverage;
         libs ( "libfieldFunctionObjects.so" );
-        writeControl   writeTime;
+        writeControl    writeTime;
         fields
         (
             U.particles
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/system/controlDict
index 732ef99879267134ffc253650c22731d1500b7ef..c47d61162c3b2d973080c7b2de9129b2ddc4db7f 100644
--- a/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/system/controlDict
+++ b/tutorials/multiphase/twoPhaseEulerFoam/LES/bubbleColumn/system/controlDict
@@ -57,7 +57,7 @@ functions
     {
         type            fieldAverage;
         libs ( "libfieldFunctionObjects.so" );
-        writeControl   writeTime;
+        writeControl    writeTime;
         fields
         (
             U.air
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/system/controlDict
index 732ef99879267134ffc253650c22731d1500b7ef..c47d61162c3b2d973080c7b2de9129b2ddc4db7f 100644
--- a/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/system/controlDict
+++ b/tutorials/multiphase/twoPhaseEulerFoam/RAS/bubbleColumn/system/controlDict
@@ -57,7 +57,7 @@ functions
     {
         type            fieldAverage;
         libs ( "libfieldFunctionObjects.so" );
-        writeControl   writeTime;
+        writeControl    writeTime;
         fields
         (
             U.air
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/system/controlDict
index 9ccb4f9d3513d3fa857b358b0ff656aa713f2fc2..500eeb0e9af9341be94ba5b7b85da93d0d59946a 100644
--- a/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/system/controlDict
+++ b/tutorials/multiphase/twoPhaseEulerFoam/RAS/fluidisedBed/system/controlDict
@@ -57,7 +57,7 @@ functions
     {
         type            fieldAverage;
         libs ( "libfieldFunctionObjects.so" );
-        writeControl   writeTime;
+        writeControl    writeTime;
         fields
         (
             U.particles
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/system/controlDict
index 732ef99879267134ffc253650c22731d1500b7ef..c47d61162c3b2d973080c7b2de9129b2ddc4db7f 100644
--- a/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/system/controlDict
+++ b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumn/system/controlDict
@@ -57,7 +57,7 @@ functions
     {
         type            fieldAverage;
         libs ( "libfieldFunctionObjects.so" );
-        writeControl   writeTime;
+        writeControl    writeTime;
         fields
         (
             U.air
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumnIATE/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumnIATE/system/controlDict
index 732ef99879267134ffc253650c22731d1500b7ef..c47d61162c3b2d973080c7b2de9129b2ddc4db7f 100644
--- a/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumnIATE/system/controlDict
+++ b/tutorials/multiphase/twoPhaseEulerFoam/laminar/bubbleColumnIATE/system/controlDict
@@ -57,7 +57,7 @@ functions
     {
         type            fieldAverage;
         libs ( "libfieldFunctionObjects.so" );
-        writeControl   writeTime;
+        writeControl    writeTime;
         fields
         (
             U.air
diff --git a/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/system/controlDict b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/system/controlDict
index 565b7fedf8621d79b97d0bad6e9e12f03535dfad..b78dca22431e38f28b7afcd2ddf356e768931fa6 100644
--- a/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/system/controlDict
+++ b/tutorials/multiphase/twoPhaseEulerFoam/laminar/fluidisedBed/system/controlDict
@@ -57,7 +57,7 @@ functions
     {
         type            fieldAverage;
         libs ( "libfieldFunctionObjects.so" );
-        writeControl   writeTime;
+        writeControl    writeTime;
         fields
         (
             U.particles