diff --git a/src/functionObjects/field/ddt2/ddt2.H b/src/functionObjects/field/ddt2/ddt2.H
index 0f4b69bea34188ad80e1f9383af379eb745c572a..ab790ecf0847093561ab0f86e1ddb9a1cf1fe89b 100644
--- a/src/functionObjects/field/ddt2/ddt2.H
+++ b/src/functionObjects/field/ddt2/ddt2.H
@@ -22,10 +22,10 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::ddt2
+    Foam::functionObjects::ddt2
 
 Group
-    grpFVFunctionObjects
+    grpFieldFunctionObjects
 
 Description
     This function object calculates the magnitude squared
diff --git a/src/functionObjects/field/externalCoupled/externalCoupled.H b/src/functionObjects/field/externalCoupled/externalCoupled.H
index 96ae2392cdbe6b7c03a5c1eedd56ad7a8db13304..8032711addbb2c6e5a07fb4ac452cc0daa4da069 100644
--- a/src/functionObjects/field/externalCoupled/externalCoupled.H
+++ b/src/functionObjects/field/externalCoupled/externalCoupled.H
@@ -25,7 +25,7 @@ Class
     Foam::functionObjects::externalCoupled
 
 Group
-    grpUtilitiesFunctionObjects
+    grpFieldFunctionObjects
 
 Description
     This functionObject provides a simple interface for explicit coupling with
diff --git a/src/functionObjects/field/fieldExpression/fieldExpression.H b/src/functionObjects/field/fieldExpression/fieldExpression.H
index 3c8647c0336a85fe9a7973b56e6280e18b3f318d..56cd540469df258844b494ca28f4c32a7cee326d 100644
--- a/src/functionObjects/field/fieldExpression/fieldExpression.H
+++ b/src/functionObjects/field/fieldExpression/fieldExpression.H
@@ -28,6 +28,7 @@ Group
     grpFieldFunctionObjects
 
 Description
+    Base class for field expression function objects
 
 See also
     Foam::functionObjects::fvMeshFunctionObject
diff --git a/src/functionObjects/field/surfaceInterpolate/surfaceInterpolate.H b/src/functionObjects/field/surfaceInterpolate/surfaceInterpolate.H
index 4420a6da67593dfdf34e85c2bd2140390c6f8d01..f30f0d2f991950c932086ddee0572072bdc6f124 100644
--- a/src/functionObjects/field/surfaceInterpolate/surfaceInterpolate.H
+++ b/src/functionObjects/field/surfaceInterpolate/surfaceInterpolate.H
@@ -22,9 +22,10 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::surfaceInterpolate
+    Foam::functionObjects::surfaceInterpolate
 
-Group grpFieldFunctionObjects
+Group
+    grpFieldFunctionObjects
 
 Description
     Linearly interpolates volume fields to generate surface fields.
diff --git a/src/functionObjects/field/turbulenceFields/turbulenceFields.H b/src/functionObjects/field/turbulenceFields/turbulenceFields.H
index fb0ea99559c110b63ffdf508f4c9fbae1a5ce673..fca6bea2ad46450d390c2c3cf6390ae7ffa07a2c 100644
--- a/src/functionObjects/field/turbulenceFields/turbulenceFields.H
+++ b/src/functionObjects/field/turbulenceFields/turbulenceFields.H
@@ -25,7 +25,7 @@ Class
     Foam::functionObjects::turbulenceFields
 
 Group
-    grpUtilitiesFunctionObjects
+    grpFieldFunctionObjects
 
 Description
     Stores turbulence fields on the mesh database for further manipulation.
diff --git a/src/functionObjects/field/valueAverage/valueAverage.H b/src/functionObjects/field/valueAverage/valueAverage.H
index 625da2b039076c75abb8567823f8ddc98f0e8fa1..ff797caca757713ae1e1cd8fde8897acfc3c7872 100644
--- a/src/functionObjects/field/valueAverage/valueAverage.H
+++ b/src/functionObjects/field/valueAverage/valueAverage.H
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::valueAverage
+    Foam::functionObjects::valueAverage
 
 Group
     grpFieldFunctionObjects
diff --git a/src/functionObjects/field/zeroGradient/zeroGradient.H b/src/functionObjects/field/zeroGradient/zeroGradient.H
index 3ceda2cefe63552e8757a09df5ee9535594a4fc6..4cf6298aa27a6c8a002cb22687f0d901a35ce260 100644
--- a/src/functionObjects/field/zeroGradient/zeroGradient.H
+++ b/src/functionObjects/field/zeroGradient/zeroGradient.H
@@ -22,10 +22,10 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::zeroGradient
+    Foam::functionObjects::zeroGradient
 
 Group
-    grpFVFunctionObjects
+    grpFieldFunctionObjects
 
 Description
     This function object creates a volume field with zero-gradient
diff --git a/src/functionObjects/forces/forcesFunctionObjectsDoc.H b/src/functionObjects/forces/doc/forcesFunctionObjectsDoc.H
similarity index 100%
rename from src/functionObjects/forces/forcesFunctionObjectsDoc.H
rename to src/functionObjects/forces/doc/forcesFunctionObjectsDoc.H
diff --git a/src/functionObjects/lagrangian/lagrangianFunctionObjectsDoc.H b/src/functionObjects/lagrangian/doc/lagrangianFunctionObjectsDoc.H
similarity index 100%
rename from src/functionObjects/lagrangian/lagrangianFunctionObjectsDoc.H
rename to src/functionObjects/lagrangian/doc/lagrangianFunctionObjectsDoc.H
diff --git a/src/postProcessing/functionObjects/field/doc/fieldFunctionObjectsDoc.H b/src/functionObjects/solvers/doc/solversFunctionObjectsDoc.H
similarity index 84%
rename from src/postProcessing/functionObjects/field/doc/fieldFunctionObjectsDoc.H
rename to src/functionObjects/solvers/doc/solversFunctionObjectsDoc.H
index 6c934be48ecefb962b4dcbebfbdf67753387a27a..80cd9f30049d5bd2d712fc117e765b8461c12a4b 100644
--- a/src/postProcessing/functionObjects/field/doc/fieldFunctionObjectsDoc.H
+++ b/src/functionObjects/solvers/doc/solversFunctionObjectsDoc.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) 2016 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -21,13 +21,13 @@ License
     You should have received a copy of the GNU General Public License along with
     OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
-\defgroup grpFieldFunctionObjects Field function objects
+\defgroup grpSolversFunctionObjects Solver function objects
 @{
     \ingroup grpFunctionObjects
-    This group contains field-based function objects
+    This group contains solver-based function objects
 
     Function objects in this group are packaged into the
-    libfieldFunctionObjects.so library.
+    libsolverFunctionObjects.so library.
 @}
 
 \*---------------------------------------------------------------------------*/
diff --git a/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.C b/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.C
index b1a12b48cd7de31486f6a5fd71bf2d3e644e5850..29c98a9126b94a98d5c1ff31cf6c0e00a8e87336 100644
--- a/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.C
+++ b/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.C
@@ -36,6 +36,8 @@ License
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 namespace Foam
+{
+namespace functionObjects
 {
     defineTypeNameAndDebug(codedFunctionObject, 0);
 
@@ -46,10 +48,11 @@ namespace Foam
         dictionary
     );
 }
+}
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-void Foam::codedFunctionObject::prepare
+void Foam::functionObjects::codedFunctionObject::prepare
 (
     dynamicCode& dynCode,
     const dynamicCodeContext& context
@@ -90,25 +93,26 @@ void Foam::codedFunctionObject::prepare
 }
 
 
-Foam::dlLibraryTable& Foam::codedFunctionObject::libs() const
+Foam::dlLibraryTable& Foam::functionObjects::codedFunctionObject::libs() const
 {
     return const_cast<Time&>(time_).libs();
 }
 
 
-Foam::string Foam::codedFunctionObject::description() const
+Foam::string Foam::functionObjects::codedFunctionObject::description() const
 {
     return "functionObject " + name();
 }
 
 
-void Foam::codedFunctionObject::clearRedirect() const
+void Foam::functionObjects::codedFunctionObject::clearRedirect() const
 {
     redirectFunctionObjectPtr_.clear();
 }
 
 
-const Foam::dictionary& Foam::codedFunctionObject::codeDict() const
+const Foam::dictionary&
+Foam::functionObjects::codedFunctionObject::codeDict() const
 {
     return dict_;
 }
@@ -116,7 +120,7 @@ const Foam::dictionary& Foam::codedFunctionObject::codeDict() const
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::codedFunctionObject::codedFunctionObject
+Foam::functionObjects::codedFunctionObject::codedFunctionObject
 (
     const word& name,
     const Time& time,
@@ -137,13 +141,14 @@ Foam::codedFunctionObject::codedFunctionObject
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
-Foam::codedFunctionObject::~codedFunctionObject()
+Foam::functionObjects::codedFunctionObject::~codedFunctionObject()
 {}
 
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-Foam::functionObject& Foam::codedFunctionObject::redirectFunctionObject() const
+Foam::functionObject&
+Foam::functionObjects::codedFunctionObject::redirectFunctionObject() const
 {
     if (!redirectFunctionObjectPtr_.valid())
     {
@@ -161,28 +166,28 @@ Foam::functionObject& Foam::codedFunctionObject::redirectFunctionObject() const
 }
 
 
-bool Foam::codedFunctionObject::execute()
+bool Foam::functionObjects::codedFunctionObject::execute()
 {
     updateLibrary(name_);
     return redirectFunctionObject().execute();
 }
 
 
-bool Foam::codedFunctionObject::write()
+bool Foam::functionObjects::codedFunctionObject::write()
 {
     updateLibrary(name_);
     return redirectFunctionObject().write();
 }
 
 
-bool Foam::codedFunctionObject::end()
+bool Foam::functionObjects::codedFunctionObject::end()
 {
     updateLibrary(name_);
     return redirectFunctionObject().end();
 }
 
 
-bool Foam::codedFunctionObject::read(const dictionary& dict)
+bool Foam::functionObjects::codedFunctionObject::read(const dictionary& dict)
 {
     functionObject::read(dict);
 
diff --git a/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.H b/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.H
index 21c5a6ad94b6fa9e22793a0ed57448144e1c6bf0..3360fc11cbb13875664293540ab951d6ed5cf27e 100644
--- a/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.H
+++ b/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.H
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::codedFunctionObject
+    Foam::functionObjects::codedFunctionObject
 
 Group
     grpUtilitiesFunctionObjects
@@ -80,6 +80,8 @@ SourceFiles
 
 namespace Foam
 {
+namespace functionObjects
+{
 
 /*---------------------------------------------------------------------------*\
                      Class codedFunctionObject Declaration
@@ -186,6 +188,7 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace functionObjects
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/functionObjects/utilities/doc/utilitiesFunctionObjectsDoc.H b/src/functionObjects/utilities/doc/utilitiesFunctionObjectsDoc.H
index fc49205801a491a06623f7a47d6c0bad9a60c3a4..0549ddbf6f9bddb948c8e6ef0b18a264900ed0ca 100644
--- a/src/functionObjects/utilities/doc/utilitiesFunctionObjectsDoc.H
+++ b/src/functionObjects/utilities/doc/utilitiesFunctionObjectsDoc.H
@@ -25,6 +25,9 @@ License
 @{
     \ingroup grpFunctionObjects
     This group contains utility-based function objects
+
+    Function objects in this group are packaged into the
+    libutilityFunctionObjects.so library.
 @}
 
 \*---------------------------------------------------------------------------*/
diff --git a/src/functionObjects/utilities/removeRegisteredObject/removeRegisteredObject.H b/src/functionObjects/utilities/removeRegisteredObject/removeRegisteredObject.H
index 276b8ccfed8533aa9d995c005f214dc7bbb2a9cf..ce36d0f0664b3bc7841ea4fff3790182e3e4c358 100644
--- a/src/functionObjects/utilities/removeRegisteredObject/removeRegisteredObject.H
+++ b/src/functionObjects/utilities/removeRegisteredObject/removeRegisteredObject.H
@@ -66,10 +66,6 @@ SourceFiles
 
 namespace Foam
 {
-
-// Forward declaration of classes
-class objectRegistry;
-
 namespace functionObjects
 {
 
diff --git a/src/functionObjects/utilities/thermoCoupleProbes/thermoCoupleProbes.C b/src/functionObjects/utilities/thermoCoupleProbes/thermoCoupleProbes.C
index 7e42f5368a2f5c3e00fd6606cf046be0854e481f..64a14fcb384d053237b9b41ecaa7991cb2ff8f0d 100644
--- a/src/functionObjects/utilities/thermoCoupleProbes/thermoCoupleProbes.C
+++ b/src/functionObjects/utilities/thermoCoupleProbes/thermoCoupleProbes.C
@@ -33,37 +33,30 @@ using namespace Foam::constant;
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 namespace Foam
+{
+namespace functionObjects
 {
     defineTypeNameAndDebug(thermoCoupleProbes, 0);
     addToRunTimeSelectionTable(functionObject, thermoCoupleProbes, dictionary);
 }
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-
-void Foam::thermoCoupleProbes::readDict(const dictionary& dict)
-{
-    rho_ = readScalar(dict.lookup("rho"));
-    Cp_ = readScalar(dict.lookup("Cp"));
-    d_ = readScalar(dict.lookup("d"));
-    epsilon_ = readScalar(dict.lookup("epsilon"));
 }
 
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::thermoCoupleProbes::thermoCoupleProbes
+Foam::functionObjects::thermoCoupleProbes::thermoCoupleProbes
 (
     const word& name,
     const Time& runTime,
     const dictionary& dict,
     const bool loadFromFiles,
-    const bool doFindElements
+    const bool readFields
 )
 :
-    probes(name, runTime, dict, loadFromFiles, doFindElements),
+    probes(name, runTime, dict, loadFromFiles, false),
     ODESystem(),
-    radName_(dict.lookup("radName")),
+    UName_(dict.lookup("U")),
+    radiationFieldName_(dict.lookup("radiationField")),
     thermo_
     (
         mesh_.lookupObject<fluidThermo>(basicThermo::dictName)
@@ -71,8 +64,10 @@ Foam::thermoCoupleProbes::thermoCoupleProbes
     odeSolver_(ODESolver::New(*this, dict)),
     Ttc_(this->size(), 0.0)
 {
-
-    readDict(dict);
+    if (readFields)
+    {
+        read(dict);
+    }
 
     // Check if the property exist (resume old calculation)
     // or of it is new.
@@ -85,35 +80,24 @@ Foam::thermoCoupleProbes::thermoCoupleProbes
     }
     else
     {
-       Ttc_ = probes::sample(thermo_.T());
-    }
-
-    // Initialize thermocouple at initial T (room temperature)
-
-    if (doFindElements)
-    {
-        // Find the elements
-        findElements(mesh_);
-
-        // Open the probe streams
-        prepare();
+        Ttc_ = probes::sample(thermo_.T());
     }
 }
 
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
-Foam::thermoCoupleProbes::~thermoCoupleProbes()
+Foam::functionObjects::thermoCoupleProbes::~thermoCoupleProbes()
 {}
 
 
-Foam::label Foam::thermoCoupleProbes::nEqns() const
+Foam::label Foam::functionObjects::thermoCoupleProbes::nEqns() const
 {
     return this->size();
 }
 
 
-void Foam::thermoCoupleProbes::derivatives
+void Foam::functionObjects::thermoCoupleProbes::derivatives
 (
     const scalar x,
     const scalarField& y,
@@ -128,14 +112,14 @@ void Foam::thermoCoupleProbes::derivatives
     scalarField Cpc(y.size(), 0.0);
     scalarField kappac(y.size(), 0.0);
 
-    if (radName_ != "none")
+    if (radiationFieldName_ != "none")
     {
-        G = sample(mesh_.lookupObject<volScalarField>(radName_));
+        G = sample(mesh_.lookupObject<volScalarField>(radiationFieldName_));
     }
 
     Tc = probes::sample(thermo_.T());
 
-    Uc = mag(this->sample(mesh_.lookupObject<volVectorField>("U")));
+    Uc = mag(this->sample(mesh_.lookupObject<volVectorField>(UName_)));
 
     rhoc = this->sample(thermo_.rho()());
     kappac = this->sample(thermo_.kappa()());
@@ -150,8 +134,8 @@ void Foam::thermoCoupleProbes::derivatives
 
     const scalar sigma = physicoChemical::sigma.value();
 
-    scalar area = 4*constant::mathematical::pi*sqr(d_/2);
-    scalar volume = (4/3)*constant::mathematical::pi*pow(d_/2, 3);
+    scalar area = 4*constant::mathematical::pi*sqr(0.5*d_);
+    scalar volume = (4/3)*constant::mathematical::pi*pow3(0.5*d_);
 
     dydx =
         (epsilon_*(G/4 - sigma*pow(y, 4.0))*area + htc*(Tc - y)*area)
@@ -159,7 +143,7 @@ void Foam::thermoCoupleProbes::derivatives
 }
 
 
-void Foam::thermoCoupleProbes::jacobian
+void Foam::functionObjects::thermoCoupleProbes::jacobian
 (
     const scalar x,
     const scalarField& y,
@@ -168,18 +152,20 @@ void Foam::thermoCoupleProbes::jacobian
 ) const
 {
     derivatives(x, y, dfdt);
-    for (label i=0; i<nEqns(); i++)
+
+    const label n = nEqns();
+
+    for (label i=0; i<n; i++)
     {
-        for (label j=0; j<nEqns(); j++)
+        for (label j=0; j<n; j++)
         {
             dfdy(i, j) = 0.0;
         }
     }
-
 }
 
 
-bool Foam::thermoCoupleProbes::write()
+bool Foam::functionObjects::thermoCoupleProbes::write()
 {
     if (this->size())
     {
@@ -190,11 +176,12 @@ bool Foam::thermoCoupleProbes::write()
         setProperty(typeName, probeDict);
         return true;
     }
-     return false;
+
+    return false;
 }
 
 
-bool Foam::thermoCoupleProbes::execute()
+bool Foam::functionObjects::thermoCoupleProbes::execute()
 {
     if (this->size())
     {
@@ -208,11 +195,18 @@ bool Foam::thermoCoupleProbes::execute()
 }
 
 
-bool Foam::thermoCoupleProbes::read(const dictionary& dict)
+bool Foam::functionObjects::thermoCoupleProbes::read(const dictionary& dict)
 {
-    readDict(dict);
-    probes::read(dict);
-    return true;
+    if (probes::read(dict))
+    {
+        rho_ = readScalar(dict.lookup("rho"));
+        Cp_ = readScalar(dict.lookup("Cp"));
+        d_ = readScalar(dict.lookup("d"));
+        epsilon_ = readScalar(dict.lookup("epsilon"));
+        return true;
+    }
+
+    return false;
 }
 
 
diff --git a/src/functionObjects/utilities/thermoCoupleProbes/thermoCoupleProbes.H b/src/functionObjects/utilities/thermoCoupleProbes/thermoCoupleProbes.H
index 657c974fb241b7d774e122bbbc81f1b331800305..b56ccdc62f255e998238eff078e3cb86fe9d48b2 100644
--- a/src/functionObjects/utilities/thermoCoupleProbes/thermoCoupleProbes.H
+++ b/src/functionObjects/utilities/thermoCoupleProbes/thermoCoupleProbes.H
@@ -24,10 +24,17 @@ License
 Class
     Foam::functionObjects::thermoCoupleProbes
 
+Group
+    grpUtilitiesFunctionObjects
+
 Description
-    Sample probe for temperature using a thermocouple. Uses the correlation:
+    Sample probe for temperature using a thermocouple.
+
+    Uses the correlation:
 
-    Nu = 2.0 + (0.4*sqrt(Re) + 0.06*pow(Re, 2/3))*pow(Pr, 0.4)
+    \f[
+        Nu = 2.0 + \left(0.4 Re^{0.5} + 0.06 Re^{2/3}\right)*Pr^{0.4}
+    \f]
 
     Example of function object specification:
     \verbatim
@@ -47,14 +54,14 @@ Description
         d               1e-3;
         epsilon         0.85;
 
-        radName         G;
+        radiationField  G;
 
-        functionObjectLibs ("libsampling.so");
-        outputControl   timeStep;
-        outputInterval  1;
+        libs            ("libutilityFunctionObjects.so");
+        writeControl    timeStep;
+        writeInterval   1;
         probeLocations
         (
-            ( 0.5 0.5 0.5 )
+            (0.5 0.5 0.5)
         );
         fields
         (
@@ -69,8 +76,8 @@ SourceFiles
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef thermoCoupleProbes_H
-#define thermoCoupleProbes_H
+#ifndef functionObjects_hermoCoupleProbes_H
+#define functionObjects_hermoCoupleProbes_H
 
 #include "probes.H"
 #include "ODESystem.H"
@@ -82,9 +89,11 @@ SourceFiles
 
 namespace Foam
 {
+namespace functionObjects
+{
 
 /*---------------------------------------------------------------------------*\
-                        Class thermoCoupleProbes Declaration
+                     Class thermoCoupleProbes Declaration
 \*---------------------------------------------------------------------------*/
 
 class thermoCoupleProbes
@@ -108,8 +117,11 @@ protected:
         //- Thermocouple emissivity
         scalar epsilon_;
 
-        //- Name for the incident radiation field
-        word radName_;
+        //- Name of the velocity field
+        word UName_;
+
+        //- Name of the incident radiation field
+        word radiationFieldName_;
 
          //- Fluid thermo reference
         const fluidThermo& thermo_;
@@ -131,10 +143,6 @@ protected:
         );
 
 
-        //- Read dictionary settings
-        void readDict(const dictionary& dict);
-
-
 private:
 
         //- Disallow default bitwise copy construct
@@ -160,7 +168,7 @@ public:
             const Time& runTime,
             const dictionary& dict,
             const bool loadFromFiles = false,
-            const bool findElements = true
+            const bool readFields = true
         );
 
 
@@ -202,6 +210,7 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace functionObjects
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/functionObjects/utilities/thermoCoupleProbes/thermoCoupleProbesTemplates.C b/src/functionObjects/utilities/thermoCoupleProbes/thermoCoupleProbesTemplates.C
index ee296ab80c77201da5583450c5613044e21c4519..64877bf221287fb3de73c8d903f81dadb6ed299e 100644
--- a/src/functionObjects/utilities/thermoCoupleProbes/thermoCoupleProbesTemplates.C
+++ b/src/functionObjects/utilities/thermoCoupleProbes/thermoCoupleProbesTemplates.C
@@ -29,7 +29,7 @@ License
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
 template<class Type>
-void Foam::thermoCoupleProbes::sampleAndWrite
+void Foam::functionObjects::thermoCoupleProbes::sampleAndWrite
 (
     const GeometricField<Type, fvPatchField, volMesh>& vField
 )
@@ -50,4 +50,6 @@ void Foam::thermoCoupleProbes::sampleAndWrite
         probeStream << endl;
     }
 }
+
+
 // ************************************************************************* //
diff --git a/src/functionObjects/utilities/writeDictionary/writeDictionary.H b/src/functionObjects/utilities/writeDictionary/writeDictionary.H
index b6d33bc694dafa91bbd80045fb5954581989dffc..6f719601b04b3382d63966b546881d6c97d3e757 100644
--- a/src/functionObjects/utilities/writeDictionary/writeDictionary.H
+++ b/src/functionObjects/utilities/writeDictionary/writeDictionary.H
@@ -46,10 +46,6 @@ SourceFiles
 
 namespace Foam
 {
-
-// Forward declaration of classes
-class objectRegistry;
-
 namespace functionObjects
 {
 
diff --git a/src/postProcessing/functionObjects/IO/doc/IOFunctionObjectsDoc.H b/src/postProcessing/functionObjects/IO/doc/IOFunctionObjectsDoc.H
deleted file mode 100644
index 9071ce5b5e228f2ee485be7a7ab55adcb07ccaa0..0000000000000000000000000000000000000000
--- a/src/postProcessing/functionObjects/IO/doc/IOFunctionObjectsDoc.H
+++ /dev/null
@@ -1,30 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-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/>.
-
-\defgroup grpIOFunctionObjects Input/output function objects
-@{
-    \ingroup grpFunctionObjects
-    This group contains input/output-based function objects
-@}
-
-\*---------------------------------------------------------------------------*/
diff --git a/src/postProcessing/functionObjects/cloud/doc/cloudFunctionObjectsDoc.H b/src/postProcessing/functionObjects/cloud/doc/cloudFunctionObjectsDoc.H
deleted file mode 100644
index 2ac4b66db489ed419625a7eae35a2d792b4a86b0..0000000000000000000000000000000000000000
--- a/src/postProcessing/functionObjects/cloud/doc/cloudFunctionObjectsDoc.H
+++ /dev/null
@@ -1,33 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 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/>.
-
-\defgroup grpCloudFunctionObjects Cloud function objects
-@{
-    \ingroup grpFunctionObjects
-    This group contains cloud-based function objects.
-
-    Function objects in this group are packaged into the
-    libcloudFunctionObjects.so library.
-@}
-
-\*---------------------------------------------------------------------------*/
diff --git a/src/postProcessing/functionObjects/doc/functionObjects.dox b/src/postProcessing/functionObjects/doc/functionObjects.dox
deleted file mode 100644
index 1f1702dca1a706cbad9fc3145863db67a194ddd9..0000000000000000000000000000000000000000
--- a/src/postProcessing/functionObjects/doc/functionObjects.dox
+++ /dev/null
@@ -1,100 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015-2016 OpenCFD Ltd.
--------------------------------------------------------------------------------
-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/>.
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-\page pagePostProcessing Post-processing
-
-\section secFunctionObjects Function objects
-
-OpenFOAM includes a collection of \ref grpFunctionObjects that offer users the
-opportunity to closely manage their computational analyses.  These objects can
-be applied to manipulate the workflow process, and provide a mechanism to
-extract predicted field and derived quantities at run-time.  Alternatively,
-the actions can be executed afterwards using the \c execFlowFunctionObjects
-utility.
-
-\linebreak
-The current range of features comprises of:
-- \ref grpCloudFunctionObjects
-- \ref grpFieldFunctionObjects
-- \ref grpForcesFunctionObjects
-- \ref grpFVFunctionObjects
-- \ref grpGraphicsFunctionObjects
-- \ref grpIOFunctionObjects
-- \ref grpJobControlFunctionObjects
-- \ref grpUtilitiesFunctionObjects
-- \ref grpThermophysicalFunctionObjects
-
-\linebreak
-\subsection secFieldFunctionObjectUsage Using function objects
-
-Function objects are defined by additional entries in the
-$FOAM_CASE/system/controlDict input dictionary.  Each object is listed in a
-\c functions sub-dictionary entry, e.g. the following shows the input options
-applicable to `output' -type objects:
-
-\verbatim
-functions
-{
-    myFunctionObject    // user-defined name of function object entry
-    {
-        type                functionObjectType;
-        functionObjectLibs  ("libMyFunctionObjectlib.so");
-        region              defaultRegion;
-        enabled             yes;
-        timeStart           0;
-        timeEnd             10;
-        evaluateControl     timeStep;
-        evaluateInterval    1;
-        outputControl       outputTime;
-        outputInterval      1;
-        ...
-    }
-}
-\endverbatim
-
-Where:
-\table
-    Property | Description                           | Required | Default value
-    type     | type of function object               | yes      |
-    functionObjectLibs | libraries containing object implementation | yes |
-    region   | name of region for multi-region cases | no       |
-    enabled  | on/off switch                         | no       | yes
-    timeStart| start time                            | no       |
-    timeEnd  | end time                              | no       |
-    evaluateControl | when to evaluate: either 'outputTime' or 'timeStep'| no | timeStep
-    evaluateInterval| steps between evaluation when evaluateControl=timeStep | no | 1
-    outputControl | when to output: either 'outputTime' or 'timeStep'| no | timeStep
-    outputInterval| steps between output when outputControl=timeStep | no | 1
-\endtable
-
-The sub-dictionary name \c myFunctionObject is chosen by the user, and is
-typically used as the name of the output directory for any derived data.  The
-\c type entry defines the type of function object properties that follow.
-Since the function objects are packaged into separate libraries, the user must
-tell the code where to find the function object implementation, identified
-using the \c functionObjectLibs entry.
-
-
-\*---------------------------------------------------------------------------*/
diff --git a/src/postProcessing/functionObjects/forces/doc/forcesFunctionObjectsDoc.H b/src/postProcessing/functionObjects/forces/doc/forcesFunctionObjectsDoc.H
deleted file mode 100644
index b171ef9289183bb8eb56e4c1a4199c5beff64f2f..0000000000000000000000000000000000000000
--- a/src/postProcessing/functionObjects/forces/doc/forcesFunctionObjectsDoc.H
+++ /dev/null
@@ -1,33 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 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/>.
-
-\defgroup grpForcesFunctionObjects Forces function objects
-@{
-    \ingroup grpFunctionObjects
-    This group contains force-based function objects
-
-    Function objects in this group are packaged into the
-    libforcesFunctionObjects.so library.
-@}
-
-\*---------------------------------------------------------------------------*/
diff --git a/src/postProcessing/functionObjects/jobControl/doc/jobControlFunctionObjectsDoc.H b/src/postProcessing/functionObjects/jobControl/doc/jobControlFunctionObjectsDoc.H
deleted file mode 100644
index 34a586b2077d907aa06231a7f364ce8a026c1a42..0000000000000000000000000000000000000000
--- a/src/postProcessing/functionObjects/jobControl/doc/jobControlFunctionObjectsDoc.H
+++ /dev/null
@@ -1,30 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 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/>.
-
-\defgroup grpJobControlFunctionObjects Job control function objects
-@{
-    \ingroup grpFunctionObjects
-    This group contains job control-based function objects
-@}
-
-\*---------------------------------------------------------------------------*/