diff --git a/applications/utilities/mesh/generation/snappyHexMesh/Make/options b/applications/utilities/mesh/generation/snappyHexMesh/Make/options
index e6db59c8250a374574abe60d32f0445bc89f226a..d2ae5219d3c7ff37174e855b7607db591e83a070 100644
--- a/applications/utilities/mesh/generation/snappyHexMesh/Make/options
+++ b/applications/utilities/mesh/generation/snappyHexMesh/Make/options
@@ -1,6 +1,6 @@
 EXE_INC = \
     /* -g -DFULLDEBUG -O0 */ \
-    -I$(LIB_SRC)/decompositionMethods/decompositionMethods/lnInclude \
+    -I$(LIB_SRC)/parallel/decompositionMethods/lnInclude \
     -I$(LIB_SRC)/mesh/autoMesh/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/triSurface/lnInclude \
diff --git a/applications/utilities/mesh/manipulation/renumberMesh/Make/options b/applications/utilities/mesh/manipulation/renumberMesh/Make/options
index a8d7971b3b4a3ff72007b43a9db20a85694ca376..3b3b8ad48f32676c2865d1da6cef3fc0d0f803f7 100644
--- a/applications/utilities/mesh/manipulation/renumberMesh/Make/options
+++ b/applications/utilities/mesh/manipulation/renumberMesh/Make/options
@@ -2,7 +2,7 @@ EXE_INC = \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/decompositionMethods/decompositionMethods/lnInclude
+    -I$(LIB_SRC)/parallel/decompositionMethods/lnInclude
 
 EXE_LIBS = \
     -lmeshTools \
diff --git a/applications/utilities/parallelProcessing/decomposePar/Make/files b/applications/utilities/parallelProcessing/decomposePar/Make/files
index d5b8de23cb73bcd5cd29d90725ffc1f2e8e96956..076ecd41bf0d9d5dc6c407fe6090941a978a6197 100644
--- a/applications/utilities/parallelProcessing/decomposePar/Make/files
+++ b/applications/utilities/parallelProcessing/decomposePar/Make/files
@@ -1,7 +1,7 @@
-decomposeMesh.C
 decomposePar.C
 domainDecomposition.C
-distributeCells.C
+domainDecompositionMesh.C
+domainDecompositionDistribute.C
 fvFieldDecomposer.C
 pointFieldDecomposer.C
 lagrangianFieldDecomposer.C
diff --git a/applications/utilities/parallelProcessing/decomposePar/Make/options b/applications/utilities/parallelProcessing/decomposePar/Make/options
index a1b8151fdd0fef6e0a5087b2708fea8ffd0ce2aa..58cb426daf10bcd05385a3a1805d2abdf48c10e6 100644
--- a/applications/utilities/parallelProcessing/decomposePar/Make/options
+++ b/applications/utilities/parallelProcessing/decomposePar/Make/options
@@ -1,5 +1,5 @@
 EXE_INC = \
-    -I$(LIB_SRC)/decompositionMethods/decompositionMethods/lnInclude \
+    -I$(LIB_SRC)/parallel/decompositionMethods/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/lagrangian/basic/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude
diff --git a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C
index b2e08a6907a7fa0b4d5943dee6e577cbebf7748c..f8a8ca01d57b492b5f2604462fb091d7fcf055e4 100644
--- a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C
+++ b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C
@@ -106,7 +106,6 @@ int main(int argc, char *argv[])
         Info<< "Decomposing mesh " << regionName << nl << endl;
     }
 
-
     bool writeCellDist           = args.optionFound("cellDist");
     bool copyUniform             = args.optionFound("copyUniform");
     bool decomposeFieldsOnly     = args.optionFound("fields");
diff --git a/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.C b/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.C
index d3b9bd049249ba3211935864d8438eb32a204517..392594cc6240d2482102bac10d5ce0212c00023e 100644
--- a/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.C
+++ b/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.C
@@ -38,7 +38,7 @@ License
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-void domainDecomposition::mark
+void Foam::domainDecomposition::mark
 (
     const labelList& zoneElems,
     const label zoneI,
@@ -66,7 +66,7 @@ void domainDecomposition::mark
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 // from components
-domainDecomposition::domainDecomposition(const IOobject& io)
+Foam::domainDecomposition::domainDecomposition(const IOobject& io)
 :
     fvMesh(io),
     decompositionDict_
@@ -105,13 +105,13 @@ domainDecomposition::domainDecomposition(const IOobject& io)
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
-domainDecomposition::~domainDecomposition()
+Foam::domainDecomposition::~domainDecomposition()
 {}
 
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-bool domainDecomposition::writeDecomposition()
+bool Foam::domainDecomposition::writeDecomposition()
 {
     Info<< "\nConstructing processor meshes" << endl;
 
diff --git a/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.H b/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.H
index 6ec357a02ef08eb837324816a275e88255aab648..c8b8d9ac3dca6d8232866c1c073c444c00b84b7e 100644
--- a/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.H
+++ b/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.H
@@ -26,7 +26,7 @@ Class
     Foam::domainDecomposition
 
 Description
-    Automatic domain decomposition class for FOAM meshes
+    Automatic domain decomposition class for finite-volume meshes
 
 SourceFiles
     domainDecomposition.C
@@ -42,13 +42,11 @@ SourceFiles
 #include "PtrList.H"
 #include "point.H"
 
-#ifndef namespaceFoam
-#define namespaceFoam
-    using namespace Foam;
-#endif
+namespace Foam
+{
 
 /*---------------------------------------------------------------------------*\
-                           Class domainDecomposition Declaration
+                     Class domainDecomposition Declaration
 \*---------------------------------------------------------------------------*/
 
 class domainDecomposition
@@ -79,7 +77,7 @@ class domainDecomposition
         // original face. In order to do this properly, all face
         // indices will be incremented by 1 and the decremented as
         // necessary t avoid the problem of face number zero having no
-        // sign.  
+        // sign.
         labelListList procFaceAddressing_;
 
         //- Labels of cells for each processor
@@ -165,6 +163,11 @@ public:
 };
 
 
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #endif
diff --git a/applications/utilities/parallelProcessing/decomposePar/distributeCells.C b/applications/utilities/parallelProcessing/decomposePar/domainDecompositionDistribute.C
similarity index 99%
rename from applications/utilities/parallelProcessing/decomposePar/distributeCells.C
rename to applications/utilities/parallelProcessing/decomposePar/domainDecompositionDistribute.C
index ffd54ac6851818258383cbae31e424dbfdbd7519..d6e68ea880e13749712f983aab80ddc9fe044a47 100644
--- a/applications/utilities/parallelProcessing/decomposePar/distributeCells.C
+++ b/applications/utilities/parallelProcessing/decomposePar/domainDecompositionDistribute.C
@@ -33,7 +33,7 @@ License
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-void domainDecomposition::distributeCells()
+void Foam::domainDecomposition::distributeCells()
 {
     Info<< "\nCalculating distribution of cells" << endl;
 
diff --git a/applications/utilities/parallelProcessing/decomposePar/decomposeMesh.C b/applications/utilities/parallelProcessing/decomposePar/domainDecompositionMesh.C
similarity index 99%
rename from applications/utilities/parallelProcessing/decomposePar/decomposeMesh.C
rename to applications/utilities/parallelProcessing/decomposePar/domainDecompositionMesh.C
index 2e29b243aaef87077953eb5c18755e2347358ab4..e00130a99c3213958d80ce9cb111cff62425f5a0 100644
--- a/applications/utilities/parallelProcessing/decomposePar/decomposeMesh.C
+++ b/applications/utilities/parallelProcessing/decomposePar/domainDecompositionMesh.C
@@ -40,7 +40,7 @@ Description
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-void domainDecomposition::decomposeMesh(const bool filterEmptyPatches)
+void Foam::domainDecomposition::decomposeMesh(const bool filterEmptyPatches)
 {
     // Decide which cell goes to which processor
     distributeCells();
@@ -775,3 +775,5 @@ void domainDecomposition::decomposeMesh(const bool filterEmptyPatches)
         sort(globallySharedPoints_);
     }
 }
+
+// ************************************************************************* //
diff --git a/applications/utilities/parallelProcessing/decomposePar/fvFieldDecomposer.C b/applications/utilities/parallelProcessing/decomposePar/fvFieldDecomposer.C
index f5a6451c1266b6a0e02c165c3501c037c7f85b64..ca440ec85c210bd2574e898d4cfed06a8c4f75e7 100644
--- a/applications/utilities/parallelProcessing/decomposePar/fvFieldDecomposer.C
+++ b/applications/utilities/parallelProcessing/decomposePar/fvFieldDecomposer.C
@@ -26,14 +26,10 @@ License
 
 #include "fvFieldDecomposer.H"
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-fvFieldDecomposer::patchFieldDecomposer::patchFieldDecomposer
+Foam::fvFieldDecomposer::patchFieldDecomposer::patchFieldDecomposer
 (
     const unallocLabelList& addressingSlice,
     const label addressingOffset
@@ -41,15 +37,15 @@ fvFieldDecomposer::patchFieldDecomposer::patchFieldDecomposer
 :
     directAddressing_(addressingSlice)
 {
-    forAll (directAddressing_, i)
+    forAll(directAddressing_, i)
     {
-        // Subtract one to align addressing.  
+        // Subtract one to align addressing.
         directAddressing_[i] -= addressingOffset + 1;
     }
 }
 
 
-fvFieldDecomposer::processorVolPatchFieldDecomposer::
+Foam::fvFieldDecomposer::processorVolPatchFieldDecomposer::
 processorVolPatchFieldDecomposer
 (
     const fvMesh& mesh,
@@ -61,9 +57,9 @@ processorVolPatchFieldDecomposer
     const labelList& own = mesh.faceOwner();
     const labelList& neighb = mesh.faceNeighbour();
 
-    forAll (directAddressing_, i)
+    forAll(directAddressing_, i)
     {
-        // Subtract one to align addressing.  
+        // Subtract one to align addressing.
         label ai = mag(addressingSlice[i]) - 1;
 
         if (ai < neighb.size())
@@ -97,7 +93,7 @@ processorVolPatchFieldDecomposer
 }
 
 
-fvFieldDecomposer::processorSurfacePatchFieldDecomposer::
+Foam::fvFieldDecomposer::processorSurfacePatchFieldDecomposer::
 processorSurfacePatchFieldDecomposer
 (
     const unallocLabelList& addressingSlice
@@ -106,7 +102,7 @@ processorSurfacePatchFieldDecomposer
     addressing_(addressingSlice.size()),
     weights_(addressingSlice.size())
 {
-    forAll (addressing_, i)
+    forAll(addressing_, i)
     {
         addressing_[i].setSize(1);
         weights_[i].setSize(1);
@@ -117,7 +113,7 @@ processorSurfacePatchFieldDecomposer
 }
 
 
-fvFieldDecomposer::fvFieldDecomposer
+Foam::fvFieldDecomposer::fvFieldDecomposer
 (
     const fvMesh& completeMesh,
     const fvMesh& procMesh,
@@ -147,7 +143,7 @@ fvFieldDecomposer::fvFieldDecomposer
         static_cast<processorSurfacePatchFieldDecomposer*>(NULL)
     )
 {
-    forAll (boundaryAddressing_, patchi)
+    forAll(boundaryAddressing_, patchi)
     {
         if (boundaryAddressing_[patchi] >= 0)
         {
@@ -162,14 +158,14 @@ fvFieldDecomposer::fvFieldDecomposer
         }
         else
         {
-            processorVolPatchFieldDecomposerPtrs_[patchi] = 
+            processorVolPatchFieldDecomposerPtrs_[patchi] =
                 new processorVolPatchFieldDecomposer
                 (
                     completeMesh_,
                     procMesh_.boundary()[patchi].patchSlice(faceAddressing_)
                 );
 
-            processorSurfacePatchFieldDecomposerPtrs_[patchi] = 
+            processorSurfacePatchFieldDecomposerPtrs_[patchi] =
                 new processorSurfacePatchFieldDecomposer
                 (
                     static_cast<const unallocLabelList&>
@@ -187,9 +183,9 @@ fvFieldDecomposer::fvFieldDecomposer
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
-fvFieldDecomposer::~fvFieldDecomposer()
+Foam::fvFieldDecomposer::~fvFieldDecomposer()
 {
-    forAll (patchFieldDecomposerPtrs_, patchi)
+    forAll(patchFieldDecomposerPtrs_, patchi)
     {
         if (patchFieldDecomposerPtrs_[patchi])
         {
@@ -197,7 +193,7 @@ fvFieldDecomposer::~fvFieldDecomposer()
         }
     }
 
-    forAll (processorVolPatchFieldDecomposerPtrs_, patchi)
+    forAll(processorVolPatchFieldDecomposerPtrs_, patchi)
     {
         if (processorVolPatchFieldDecomposerPtrs_[patchi])
         {
@@ -205,7 +201,7 @@ fvFieldDecomposer::~fvFieldDecomposer()
         }
     }
 
-    forAll (processorSurfacePatchFieldDecomposerPtrs_, patchi)
+    forAll(processorSurfacePatchFieldDecomposerPtrs_, patchi)
     {
         if (processorSurfacePatchFieldDecomposerPtrs_[patchi])
         {
@@ -214,9 +210,4 @@ fvFieldDecomposer::~fvFieldDecomposer()
     }
 }
 
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
 // ************************************************************************* //
diff --git a/applications/utilities/parallelProcessing/decomposePar/fvFieldDecomposerDecomposeFields.C b/applications/utilities/parallelProcessing/decomposePar/fvFieldDecomposerDecomposeFields.C
index 512ea77d1d7473017a06395001b8413f1ef79de4..afea303fbcb6b194f350dc05dedda87556239f6d 100644
--- a/applications/utilities/parallelProcessing/decomposePar/fvFieldDecomposerDecomposeFields.C
+++ b/applications/utilities/parallelProcessing/decomposePar/fvFieldDecomposerDecomposeFields.C
@@ -28,16 +28,11 @@ License
 #include "processorFvPatchField.H"
 #include "processorFvsPatchField.H"
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 template<class Type>
-tmp<GeometricField<Type, fvPatchField, volMesh> >
-fvFieldDecomposer::decomposeField
+Foam::tmp<Foam::GeometricField<Type, Foam::fvPatchField, Foam::volMesh> >
+Foam::fvFieldDecomposer::decomposeField
 (
     const GeometricField<Type, fvPatchField, volMesh>& field
 ) const
@@ -106,8 +101,8 @@ fvFieldDecomposer::decomposeField
 
 
 template<class Type>
-tmp<GeometricField<Type, fvsPatchField, surfaceMesh> >
-fvFieldDecomposer::decomposeField
+Foam::tmp<Foam::GeometricField<Type, Foam::fvsPatchField, Foam::surfaceMesh> >
+Foam::fvFieldDecomposer::decomposeField
 (
     const GeometricField<Type, fvsPatchField, surfaceMesh>& field
 ) const
@@ -217,7 +212,7 @@ fvFieldDecomposer::decomposeField
 
 
 template<class GeoField>
-void fvFieldDecomposer::decomposeFields
+void Foam::fvFieldDecomposer::decomposeFields
 (
     const PtrList<GeoField>& fields
 ) const
@@ -229,8 +224,4 @@ void fvFieldDecomposer::decomposeFields
 }
 
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
 // ************************************************************************* //
diff --git a/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposer.C b/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposer.C
index 5d8a7f4301c9463cb1d56eccf1a7a2ddcc41b083..200a4fbccec1e1a6725e485fc2c2a0ed30c5e30f 100644
--- a/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposer.C
+++ b/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposer.C
@@ -29,16 +29,10 @@ Description
 
 #include "lagrangianFieldDecomposer.H"
 
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 // Construct from components
-lagrangianFieldDecomposer::lagrangianFieldDecomposer
+Foam::lagrangianFieldDecomposer::lagrangianFieldDecomposer
 (
     const polyMesh& mesh,
     const polyMesh& procMesh,
@@ -88,6 +82,4 @@ lagrangianFieldDecomposer::lagrangianFieldDecomposer
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-} // End namespace Foam
-
 // ************************************************************************* //
diff --git a/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposerDecomposeFields.C b/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposerDecomposeFields.C
index ae852298086ba05a9b5ce45199171031b8a84662..36a5888d458d46939f4931501993282bde40ba29 100644
--- a/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposerDecomposeFields.C
+++ b/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposerDecomposeFields.C
@@ -27,15 +27,10 @@ License
 #include "lagrangianFieldDecomposer.H"
 #include "IOobjectList.H"
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 template<class Type>
-void lagrangianFieldDecomposer::readFields
+void Foam::lagrangianFieldDecomposer::readFields
 (
     const label cloudI,
     const IOobjectList& lagrangianObjects,
@@ -70,7 +65,8 @@ void lagrangianFieldDecomposer::readFields
 
 
 template<class Type>
-tmp<IOField<Type> > lagrangianFieldDecomposer::decomposeField
+Foam::tmp<Foam::IOField<Type> >
+Foam::lagrangianFieldDecomposer::decomposeField
 (
     const word& cloudName,
     const IOField<Type>& field
@@ -100,7 +96,7 @@ tmp<IOField<Type> > lagrangianFieldDecomposer::decomposeField
 
 
 template<class GeoField>
-void lagrangianFieldDecomposer::decomposeFields
+void Foam::lagrangianFieldDecomposer::decomposeFields
 (
     const word& cloudName,
     const PtrList<GeoField>& fields
@@ -116,8 +112,4 @@ void lagrangianFieldDecomposer::decomposeFields
 }
 
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
 // ************************************************************************* //
diff --git a/applications/utilities/parallelProcessing/decomposePar/pointFieldDecomposer.C b/applications/utilities/parallelProcessing/decomposePar/pointFieldDecomposer.C
index 9be8a89e551cb6d00f569b08ffb7e0ac7cfe9e60..53c8d59aee799f22a1ec45ea9d31029490029ca7 100644
--- a/applications/utilities/parallelProcessing/decomposePar/pointFieldDecomposer.C
+++ b/applications/utilities/parallelProcessing/decomposePar/pointFieldDecomposer.C
@@ -26,14 +26,9 @@ License
 
 #include "pointFieldDecomposer.H"
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-    
-pointFieldDecomposer::patchFieldDecomposer::patchFieldDecomposer
+
+Foam::pointFieldDecomposer::patchFieldDecomposer::patchFieldDecomposer
 (
     const pointPatch& completeMeshPatch,
     const pointPatch& procMeshPatch,
@@ -52,7 +47,7 @@ pointFieldDecomposer::patchFieldDecomposer::patchFieldDecomposer
 
     const labelList& completeMeshPatchPoints = completeMeshPatch.meshPoints();
 
-    forAll (completeMeshPatchPoints, pointi)
+    forAll(completeMeshPatchPoints, pointi)
     {
         pointMap[completeMeshPatchPoints[pointi]] = pointi;
     }
@@ -61,7 +56,7 @@ pointFieldDecomposer::patchFieldDecomposer::patchFieldDecomposer
     // patch
     const labelList& procMeshPatchPoints = procMeshPatch.meshPoints();
 
-    forAll (procMeshPatchPoints, pointi)
+    forAll(procMeshPatchPoints, pointi)
     {
         directAddressing_[pointi] =
             pointMap[directAddr[procMeshPatchPoints[pointi]]];
@@ -79,7 +74,7 @@ pointFieldDecomposer::patchFieldDecomposer::patchFieldDecomposer
 }
 
 
-pointFieldDecomposer::pointFieldDecomposer
+Foam::pointFieldDecomposer::pointFieldDecomposer
 (
     const pointMesh& completeMesh,
     const pointMesh& procMesh,
@@ -97,7 +92,7 @@ pointFieldDecomposer::pointFieldDecomposer
         static_cast<patchFieldDecomposer*>(NULL)
     )
 {
-    forAll (boundaryAddressing_, patchi)
+    forAll(boundaryAddressing_, patchi)
     {
         if (boundaryAddressing_[patchi] >= 0)
         {
@@ -114,9 +109,9 @@ pointFieldDecomposer::pointFieldDecomposer
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
-pointFieldDecomposer::~pointFieldDecomposer()
+Foam::pointFieldDecomposer::~pointFieldDecomposer()
 {
-    forAll (patchFieldDecomposerPtrs_, patchi)
+    forAll(patchFieldDecomposerPtrs_, patchi)
     {
         if (patchFieldDecomposerPtrs_[patchi])
         {
@@ -128,6 +123,4 @@ pointFieldDecomposer::~pointFieldDecomposer()
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-} // End namespace Foam
-
 // ************************************************************************* //
diff --git a/applications/utilities/parallelProcessing/decomposePar/pointFieldDecomposerDecomposeFields.C b/applications/utilities/parallelProcessing/decomposePar/pointFieldDecomposerDecomposeFields.C
index 5bd8144c06b1fa6010bbc97ec96d4e86c178a050..4f22046b39d85e836ede65c57c08cf64086ae63f 100644
--- a/applications/utilities/parallelProcessing/decomposePar/pointFieldDecomposerDecomposeFields.C
+++ b/applications/utilities/parallelProcessing/decomposePar/pointFieldDecomposerDecomposeFields.C
@@ -28,16 +28,11 @@ License
 #include "processorPointPatchFields.H"
 #include "globalPointPatchFields.H"
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 template<class Type>
-tmp<GeometricField<Type, pointPatchField, pointMesh> >
-pointFieldDecomposer::decomposeField
+Foam::tmp<Foam::GeometricField<Type, Foam::pointPatchField, Foam::pointMesh> >
+Foam::pointFieldDecomposer::decomposeField
 (
     const GeometricField<Type, pointPatchField, pointMesh>& field
 ) const
@@ -117,7 +112,7 @@ pointFieldDecomposer::decomposeField
 
 
 template<class GeoField>
-void pointFieldDecomposer::decomposeFields
+void Foam::pointFieldDecomposer::decomposeFields
 (
     const PtrList<GeoField>& fields
 ) const
@@ -131,6 +126,4 @@ void pointFieldDecomposer::decomposeFields
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-} // End namespace Foam
-
 // ************************************************************************* //
diff --git a/applications/utilities/parallelProcessing/reconstructPar/Make/files b/applications/utilities/parallelProcessing/reconstructPar/Make/files
index fa4f2375fd1ccd187ebd3307c86826ff49c2e7ec..37acabe62dbc9c7eb1c485f2ee7df91c734e1bc2 100644
--- a/applications/utilities/parallelProcessing/reconstructPar/Make/files
+++ b/applications/utilities/parallelProcessing/reconstructPar/Make/files
@@ -1,7 +1,3 @@
-processorMeshes.C
-fvFieldReconstructor.C
-pointFieldReconstructor.C
-reconstructLagrangianPositions.C
 reconstructPar.C
 
 EXE = $(FOAM_APPBIN)/reconstructPar
diff --git a/applications/utilities/parallelProcessing/reconstructPar/Make/options b/applications/utilities/parallelProcessing/reconstructPar/Make/options
index b041c31836a1f66e3fa559170637574539005686..cfa9eb8dfcd8624d2271517573a6efb6e3cc228d 100644
--- a/applications/utilities/parallelProcessing/reconstructPar/Make/options
+++ b/applications/utilities/parallelProcessing/reconstructPar/Make/options
@@ -1,9 +1,11 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/lagrangian/basic/lnInclude
+    -I$(LIB_SRC)/lagrangian/basic/lnInclude \
+    -I$(LIB_SRC)/parallel/reconstruct/lnInclude
 
 EXE_LIBS = \
     -lfiniteVolume \
     -lgenericPatchFields \
     -llagrangian \
-    -lmeshTools
+    -lmeshTools \
+    -lreconstruct
diff --git a/applications/utilities/parallelProcessing/redistributeMeshPar/Make/options b/applications/utilities/parallelProcessing/redistributeMeshPar/Make/options
index c0f7a0877670d32235f3e117f3e4141ab34c6ee7..45ab666e2496296d016b1c0fd4e64df9ecf0f4a0 100644
--- a/applications/utilities/parallelProcessing/redistributeMeshPar/Make/options
+++ b/applications/utilities/parallelProcessing/redistributeMeshPar/Make/options
@@ -1,5 +1,5 @@
 EXE_INC = \
-    -I$(LIB_SRC)/decompositionMethods/decompositionMethods/lnInclude \
+    -I$(LIB_SRC)/parallel/decompositionMethods/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/dynamicMesh/lnInclude
diff --git a/applications/utilities/parallelProcessing/redistributeMeshPar/redistributeMeshPar.C b/applications/utilities/parallelProcessing/redistributeMeshPar/redistributeMeshPar.C
index cb0aa6469fc9991a4f64d5dc578b3e3bd0629773..20398a16d3ed4d7ea11bd8d0c5f775ee17c30445 100644
--- a/applications/utilities/parallelProcessing/redistributeMeshPar/redistributeMeshPar.C
+++ b/applications/utilities/parallelProcessing/redistributeMeshPar/redistributeMeshPar.C
@@ -33,11 +33,11 @@ Description
     Balances mesh and writes new mesh to new time directory.
 
     Can also work like decomposePar:
-
+    @verbatim
         mkdir processor0
         cp -r constant processor0
         mpirun -np ddd redistributeMeshPar -parallel
-
+    @endverbatim
 \*---------------------------------------------------------------------------*/
 
 #include "Field.H"
diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/Allwmake b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/Allwmake
index 5866aa8f371296d65d50ffd0b6454e745502bcb4..bbb2c4343653286e5f8d3b5bbd87a37b6454999d 100755
--- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/Allwmake
+++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/Allwmake
@@ -1,6 +1,9 @@
 #!/bin/sh
+cd ${0%/*} || exit 1    # run from this directory
 
 if [ "$TEC_360_2009" ]
 then
     wmake
 fi
+
+# ----------------------------------------------------------------- end-of-file
diff --git a/applications/utilities/postProcessing/graphics/fieldview9Reader/Allwmake b/applications/utilities/postProcessing/graphics/fieldview9Reader/Allwmake
index a2dc313fb1957b75938552cc1dd23cc62bef0c8b..e4825541df7abca62ba2b230030f6046cef7a2e2 100755
--- a/applications/utilities/postProcessing/graphics/fieldview9Reader/Allwmake
+++ b/applications/utilities/postProcessing/graphics/fieldview9Reader/Allwmake
@@ -6,3 +6,5 @@
 # then
 #    wmake fieldview9Reader
 # fi
+
+# ----------------------------------------------------------------- end-of-file
diff --git a/applications/utilities/preProcessing/wallFunctionTable/Allwmake b/applications/utilities/preProcessing/wallFunctionTable/Allwmake
index 57795a542fae3d0cdd2659b8b95b2e4d266db12f..55a6cbd37fa9dcbaf7e2eb1f32402e0d74f79d11 100755
--- a/applications/utilities/preProcessing/wallFunctionTable/Allwmake
+++ b/applications/utilities/preProcessing/wallFunctionTable/Allwmake
@@ -1,5 +1,8 @@
 #!/bin/sh
+cd ${0%/*} || exit 1    # run from this directory
+set -x
 
 wmake libso tabulatedWallFunction
 wmake
 
+# ----------------------------------------------------------------- end-of-file
diff --git a/src/Allwmake b/src/Allwmake
index e4724a1e8f14bf4f331697de3da1895926345725..6592f244d711e9300cf0be993b87c706d712161d 100755
--- a/src/Allwmake
+++ b/src/Allwmake
@@ -27,7 +27,7 @@ wmake libso edgeMesh
 wmake libso surfMesh
 
 # Decomposition methods needed by meshTools
-decompositionMethods/Allwmake
+wmake libso parallel/decompositionMethods
 
 wmake libso meshTools
 wmake libso finiteVolume
@@ -46,6 +46,7 @@ thermophysicalModels/Allwmake
 transportModels/Allwmake
 turbulenceModels/Allwmake
 lagrangian/Allwmake
+parallel/Allwmake
 postProcessing/Allwmake
 conversion/Allwmake
 mesh/Allwmake
diff --git a/src/mesh/autoMesh/Make/options b/src/mesh/autoMesh/Make/options
index f1687b7eb1ecf3b19e60d8363cc3703b17a80e72..573d0007c1d9445f4cee37c8f74341922bbc4940 100644
--- a/src/mesh/autoMesh/Make/options
+++ b/src/mesh/autoMesh/Make/options
@@ -1,5 +1,5 @@
 EXE_INC = \
-    -I$(LIB_SRC)/decompositionMethods/decompositionMethods/lnInclude \
+    -I$(LIB_SRC)/parallel/decompositionMethods/lnInclude \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/lagrangian/basic/lnInclude \
diff --git a/src/meshTools/Make/options b/src/meshTools/Make/options
index 1d1560eb5a4b73f7c97f6644a30f146534b5bb5e..0ff22029260fd949e08c06a762e8352bcadf6d7c 100644
--- a/src/meshTools/Make/options
+++ b/src/meshTools/Make/options
@@ -1,6 +1,6 @@
 EXE_INC = \
     -I$(LIB_SRC)/triSurface/lnInclude \
-    -I$(LIB_SRC)/decompositionMethods/decompositionMethods/lnInclude \
+    -I$(LIB_SRC)/parallel/decompositionMethods/lnInclude \
     -I$(LIB_SRC)/lagrangian/basic/lnInclude
 
 LIB_LIBS = \
diff --git a/src/decompositionMethods/Allwmake b/src/parallel/Allwmake
similarity index 70%
rename from src/decompositionMethods/Allwmake
rename to src/parallel/Allwmake
index f71ea71b867935edc49b4529681def9fe7cfde95..34d323251aadcde80683ac1b8609faba82fc936d 100755
--- a/src/decompositionMethods/Allwmake
+++ b/src/parallel/Allwmake
@@ -3,10 +3,11 @@ cd ${0%/*} || exit 1    # run from this directory
 set -x
 
 wmake libso decompositionMethods
+wmake libso reconstruct
 
 if [ -d "$FOAM_MPI_LIBBIN" ]
 then
-    (WM_OPTIONS=${WM_OPTIONS}$WM_MPLIB; wmake libso parMetisDecomp)
+    ( WM_OPTIONS=${WM_OPTIONS}$WM_MPLIB; wmake libso parMetisDecomp )
 fi
 
 # ----------------------------------------------------------------- end-of-file
diff --git a/src/decompositionMethods/decompositionMethods/Make/files b/src/parallel/decompositionMethods/Make/files
similarity index 100%
rename from src/decompositionMethods/decompositionMethods/Make/files
rename to src/parallel/decompositionMethods/Make/files
diff --git a/src/decompositionMethods/decompositionMethods/Make/options b/src/parallel/decompositionMethods/Make/options
similarity index 100%
rename from src/decompositionMethods/decompositionMethods/Make/options
rename to src/parallel/decompositionMethods/Make/options
diff --git a/src/decompositionMethods/decompositionMethods/decompositionMethod/decompositionMethod.C b/src/parallel/decompositionMethods/decompositionMethod/decompositionMethod.C
similarity index 100%
rename from src/decompositionMethods/decompositionMethods/decompositionMethod/decompositionMethod.C
rename to src/parallel/decompositionMethods/decompositionMethod/decompositionMethod.C
diff --git a/src/decompositionMethods/decompositionMethods/decompositionMethod/decompositionMethod.H b/src/parallel/decompositionMethods/decompositionMethod/decompositionMethod.H
similarity index 100%
rename from src/decompositionMethods/decompositionMethods/decompositionMethod/decompositionMethod.H
rename to src/parallel/decompositionMethods/decompositionMethod/decompositionMethod.H
diff --git a/src/decompositionMethods/decompositionMethods/geomDecomp/geomDecomp.C b/src/parallel/decompositionMethods/geomDecomp/geomDecomp.C
similarity index 100%
rename from src/decompositionMethods/decompositionMethods/geomDecomp/geomDecomp.C
rename to src/parallel/decompositionMethods/geomDecomp/geomDecomp.C
diff --git a/src/decompositionMethods/decompositionMethods/geomDecomp/geomDecomp.H b/src/parallel/decompositionMethods/geomDecomp/geomDecomp.H
similarity index 100%
rename from src/decompositionMethods/decompositionMethods/geomDecomp/geomDecomp.H
rename to src/parallel/decompositionMethods/geomDecomp/geomDecomp.H
diff --git a/src/decompositionMethods/decompositionMethods/hierarchGeomDecomp/hierarchGeomDecomp.C b/src/parallel/decompositionMethods/hierarchGeomDecomp/hierarchGeomDecomp.C
similarity index 100%
rename from src/decompositionMethods/decompositionMethods/hierarchGeomDecomp/hierarchGeomDecomp.C
rename to src/parallel/decompositionMethods/hierarchGeomDecomp/hierarchGeomDecomp.C
diff --git a/src/decompositionMethods/decompositionMethods/hierarchGeomDecomp/hierarchGeomDecomp.H b/src/parallel/decompositionMethods/hierarchGeomDecomp/hierarchGeomDecomp.H
similarity index 100%
rename from src/decompositionMethods/decompositionMethods/hierarchGeomDecomp/hierarchGeomDecomp.H
rename to src/parallel/decompositionMethods/hierarchGeomDecomp/hierarchGeomDecomp.H
diff --git a/src/decompositionMethods/decompositionMethods/manualDecomp/manualDecomp.C b/src/parallel/decompositionMethods/manualDecomp/manualDecomp.C
similarity index 100%
rename from src/decompositionMethods/decompositionMethods/manualDecomp/manualDecomp.C
rename to src/parallel/decompositionMethods/manualDecomp/manualDecomp.C
diff --git a/src/decompositionMethods/decompositionMethods/manualDecomp/manualDecomp.H b/src/parallel/decompositionMethods/manualDecomp/manualDecomp.H
similarity index 100%
rename from src/decompositionMethods/decompositionMethods/manualDecomp/manualDecomp.H
rename to src/parallel/decompositionMethods/manualDecomp/manualDecomp.H
diff --git a/src/decompositionMethods/decompositionMethods/metisDecomp/metisDecomp.C b/src/parallel/decompositionMethods/metisDecomp/metisDecomp.C
similarity index 100%
rename from src/decompositionMethods/decompositionMethods/metisDecomp/metisDecomp.C
rename to src/parallel/decompositionMethods/metisDecomp/metisDecomp.C
diff --git a/src/decompositionMethods/decompositionMethods/metisDecomp/metisDecomp.H b/src/parallel/decompositionMethods/metisDecomp/metisDecomp.H
similarity index 100%
rename from src/decompositionMethods/decompositionMethods/metisDecomp/metisDecomp.H
rename to src/parallel/decompositionMethods/metisDecomp/metisDecomp.H
diff --git a/src/decompositionMethods/decompositionMethods/scotchDecomp/scotchDecomp.C b/src/parallel/decompositionMethods/scotchDecomp/scotchDecomp.C
similarity index 100%
rename from src/decompositionMethods/decompositionMethods/scotchDecomp/scotchDecomp.C
rename to src/parallel/decompositionMethods/scotchDecomp/scotchDecomp.C
diff --git a/src/decompositionMethods/decompositionMethods/scotchDecomp/scotchDecomp.H b/src/parallel/decompositionMethods/scotchDecomp/scotchDecomp.H
similarity index 100%
rename from src/decompositionMethods/decompositionMethods/scotchDecomp/scotchDecomp.H
rename to src/parallel/decompositionMethods/scotchDecomp/scotchDecomp.H
diff --git a/src/decompositionMethods/decompositionMethods/simpleGeomDecomp/simpleGeomDecomp.C b/src/parallel/decompositionMethods/simpleGeomDecomp/simpleGeomDecomp.C
similarity index 100%
rename from src/decompositionMethods/decompositionMethods/simpleGeomDecomp/simpleGeomDecomp.C
rename to src/parallel/decompositionMethods/simpleGeomDecomp/simpleGeomDecomp.C
diff --git a/src/decompositionMethods/decompositionMethods/simpleGeomDecomp/simpleGeomDecomp.H b/src/parallel/decompositionMethods/simpleGeomDecomp/simpleGeomDecomp.H
similarity index 100%
rename from src/decompositionMethods/decompositionMethods/simpleGeomDecomp/simpleGeomDecomp.H
rename to src/parallel/decompositionMethods/simpleGeomDecomp/simpleGeomDecomp.H
diff --git a/src/decompositionMethods/parMetisDecomp/Make/files b/src/parallel/parMetisDecomp/Make/files
similarity index 100%
rename from src/decompositionMethods/parMetisDecomp/Make/files
rename to src/parallel/parMetisDecomp/Make/files
diff --git a/src/decompositionMethods/parMetisDecomp/Make/options b/src/parallel/parMetisDecomp/Make/options
similarity index 100%
rename from src/decompositionMethods/parMetisDecomp/Make/options
rename to src/parallel/parMetisDecomp/Make/options
diff --git a/src/decompositionMethods/parMetisDecomp/parMetisDecomp.C b/src/parallel/parMetisDecomp/parMetisDecomp.C
similarity index 100%
rename from src/decompositionMethods/parMetisDecomp/parMetisDecomp.C
rename to src/parallel/parMetisDecomp/parMetisDecomp.C
diff --git a/src/decompositionMethods/parMetisDecomp/parMetisDecomp.H b/src/parallel/parMetisDecomp/parMetisDecomp.H
similarity index 100%
rename from src/decompositionMethods/parMetisDecomp/parMetisDecomp.H
rename to src/parallel/parMetisDecomp/parMetisDecomp.H
diff --git a/src/decompositionMethods/parMetisDecomp/parMetisDecompTemplates.C b/src/parallel/parMetisDecomp/parMetisDecompTemplates.C
similarity index 100%
rename from src/decompositionMethods/parMetisDecomp/parMetisDecompTemplates.C
rename to src/parallel/parMetisDecomp/parMetisDecompTemplates.C
diff --git a/src/parallel/reconstruct/Make/files b/src/parallel/reconstruct/Make/files
new file mode 100644
index 0000000000000000000000000000000000000000..64023e9573ba96525acca6a464dc0000b858361c
--- /dev/null
+++ b/src/parallel/reconstruct/Make/files
@@ -0,0 +1,6 @@
+processorMeshes.C
+fvFieldReconstructor.C
+pointFieldReconstructor.C
+reconstructLagrangianPositions.C
+
+LIB = $(FOAM_LIBBIN)/libreconstruct
diff --git a/src/parallel/reconstruct/Make/options b/src/parallel/reconstruct/Make/options
new file mode 100644
index 0000000000000000000000000000000000000000..71546225cf549de3ffb95105271396bf163a8dfc
--- /dev/null
+++ b/src/parallel/reconstruct/Make/options
@@ -0,0 +1,7 @@
+EXE_INC = \
+    -I$(LIB_SRC)/finiteVolume/lnInclude \
+    -I$(LIB_SRC)/lagrangian/basic/lnInclude
+
+LIB_LIBS = \
+    -lfiniteVolume \
+    -llagrangian
diff --git a/applications/utilities/parallelProcessing/reconstructPar/fvFieldReconstructor.C b/src/parallel/reconstruct/fvFieldReconstructor.C
similarity index 100%
rename from applications/utilities/parallelProcessing/reconstructPar/fvFieldReconstructor.C
rename to src/parallel/reconstruct/fvFieldReconstructor.C
diff --git a/applications/utilities/parallelProcessing/reconstructPar/fvFieldReconstructor.H b/src/parallel/reconstruct/fvFieldReconstructor.H
similarity index 97%
rename from applications/utilities/parallelProcessing/reconstructPar/fvFieldReconstructor.H
rename to src/parallel/reconstruct/fvFieldReconstructor.H
index b9f2fb4bf6af487877b31361acf66b74edd4268b..0e3758cafc8885f6f258288f90fe9675d21ce427 100644
--- a/applications/utilities/parallelProcessing/reconstructPar/fvFieldReconstructor.H
+++ b/src/parallel/reconstruct/fvFieldReconstructor.H
@@ -26,7 +26,7 @@ Class
     Foam::fvFieldReconstructor
 
 Description
-    FV volume and surface field reconstructor.
+    Finite volume reconstructor for volume and surface fields.
 
 SourceFiles
     fvFieldReconstructor.C
@@ -50,7 +50,7 @@ namespace Foam
 
 
 /*---------------------------------------------------------------------------*\
-                 Class fvFieldReconstructor Declaration
+                    Class fvFieldReconstructor Declaration
 \*---------------------------------------------------------------------------*/
 
 class fvFieldReconstructor
diff --git a/applications/utilities/parallelProcessing/reconstructPar/fvFieldReconstructorReconstructFields.C b/src/parallel/reconstruct/fvFieldReconstructorReconstructFields.C
similarity index 100%
rename from applications/utilities/parallelProcessing/reconstructPar/fvFieldReconstructorReconstructFields.C
rename to src/parallel/reconstruct/fvFieldReconstructorReconstructFields.C
diff --git a/applications/utilities/parallelProcessing/reconstructPar/pointFieldReconstructor.C b/src/parallel/reconstruct/pointFieldReconstructor.C
similarity index 100%
rename from applications/utilities/parallelProcessing/reconstructPar/pointFieldReconstructor.C
rename to src/parallel/reconstruct/pointFieldReconstructor.C
diff --git a/applications/utilities/parallelProcessing/reconstructPar/pointFieldReconstructor.H b/src/parallel/reconstruct/pointFieldReconstructor.H
similarity index 96%
rename from applications/utilities/parallelProcessing/reconstructPar/pointFieldReconstructor.H
rename to src/parallel/reconstruct/pointFieldReconstructor.H
index 34b458913c43cb73e94c369c373ef71d80e9caf6..7ab04c3d41d69cafc49df1016a397cda2019e0cb 100644
--- a/applications/utilities/parallelProcessing/reconstructPar/pointFieldReconstructor.H
+++ b/src/parallel/reconstruct/pointFieldReconstructor.H
@@ -47,7 +47,7 @@ namespace Foam
 {
 
 /*---------------------------------------------------------------------------*\
-              Class pointFieldReconstructor Declaration
+                   Class pointFieldReconstructor Declaration
 \*---------------------------------------------------------------------------*/
 
 class pointFieldReconstructor
@@ -73,10 +73,7 @@ class pointFieldReconstructor
     // Private Member Functions
 
         //- Disallow default bitwise copy construct
-        pointFieldReconstructor
-        (
-            const pointFieldReconstructor&
-        );
+        pointFieldReconstructor(const pointFieldReconstructor&);
 
         //- Disallow default bitwise assignment
         void operator=(const pointFieldReconstructor&);
diff --git a/applications/utilities/parallelProcessing/reconstructPar/pointFieldReconstructorReconstructFields.C b/src/parallel/reconstruct/pointFieldReconstructorReconstructFields.C
similarity index 100%
rename from applications/utilities/parallelProcessing/reconstructPar/pointFieldReconstructorReconstructFields.C
rename to src/parallel/reconstruct/pointFieldReconstructorReconstructFields.C
diff --git a/applications/utilities/parallelProcessing/reconstructPar/processorMeshes.C b/src/parallel/reconstruct/processorMeshes.C
similarity index 91%
rename from applications/utilities/parallelProcessing/reconstructPar/processorMeshes.C
rename to src/parallel/reconstruct/processorMeshes.C
index 8c77b9f85562f15912fc72d340206ab92643834c..fb6ccbed5eb438f60ba2bd80e75527e3e18a5fa4 100644
--- a/applications/utilities/parallelProcessing/reconstructPar/processorMeshes.C
+++ b/src/parallel/reconstruct/processorMeshes.C
@@ -127,8 +127,8 @@ Foam::processorMeshes::processorMeshes
     const word& meshName
 )
 :
-    databases_(databases),
     meshName_(meshName),
+    databases_(databases),
     meshes_(databases.size()),
     pointProcAddressing_(databases.size()),
     faceProcAddressing_(databases.size()),
@@ -165,20 +165,17 @@ Foam::fvMesh::readUpdateState Foam::processorMeshes::readUpdate()
         {
             stat = procStat;
         }
-        else
+        else if (stat != procStat)
         {
-            if (stat != procStat)
-            {
-                FatalErrorIn("processorMeshes::readUpdate()")
-                    << "Processor " << procI
-                    << " has a different polyMesh at time "
-                    << databases_[procI].timeName()
-                    << " compared to any previous processors." << nl
-                    << "Please check time " << databases_[procI].timeName()
-                    << " directories on all processors for consistent"
-                    << " mesh files."
-                    << exit(FatalError);
-            }
+            FatalErrorIn("processorMeshes::readUpdate()")
+                << "Processor " << procI
+                << " has a different polyMesh at time "
+                << databases_[procI].timeName()
+                << " compared to any previous processors." << nl
+                << "Please check time " << databases_[procI].timeName()
+                << " directories on all processors for consistent"
+                << " mesh files."
+                << exit(FatalError);
         }
     }
 
diff --git a/applications/utilities/parallelProcessing/reconstructPar/processorMeshes.H b/src/parallel/reconstruct/processorMeshes.H
similarity index 96%
rename from applications/utilities/parallelProcessing/reconstructPar/processorMeshes.H
rename to src/parallel/reconstruct/processorMeshes.H
index d83c3d6216c1824a11da1d66ac330bf2649ce5e0..ab39bc7a3ce0b8e1df27713891b5b5688096143d 100644
--- a/applications/utilities/parallelProcessing/reconstructPar/processorMeshes.H
+++ b/src/parallel/reconstruct/processorMeshes.H
@@ -55,11 +55,11 @@ class processorMeshes
 {
     // Private data
 
+        const word meshName_;
+
         //- Processor databases
         PtrList<Time>& databases_;
 
-        const word meshName_;
-
         //- List of processor meshes
         PtrList<fvMesh> meshes_;
 
@@ -98,29 +98,32 @@ public:
 
     // Member Functions
 
-        //- Update the meshes based on the mesh files saved in
-        //  time directories
+        //- Update the meshes based on the mesh files saved in time directories
         fvMesh::readUpdateState readUpdate();
 
         //- Reconstruct point position after motion in parallel
-        void reconstructPoints(fvMesh& mesh);
+        void reconstructPoints(fvMesh&);
 
         PtrList<fvMesh>& meshes()
         {
             return meshes_;
         }
+
         const PtrList<labelIOList>& pointProcAddressing() const
         {
             return pointProcAddressing_;
         }
+
         PtrList<labelIOList>& faceProcAddressing()
         {
             return faceProcAddressing_;
         }
+
         const PtrList<labelIOList>& cellProcAddressing() const
         {
             return cellProcAddressing_;
         }
+
         const PtrList<labelIOList>& boundaryProcAddressing() const
         {
             return boundaryProcAddressing_;
diff --git a/applications/utilities/parallelProcessing/reconstructPar/reconstructLagrangian.H b/src/parallel/reconstruct/reconstructLagrangian.H
similarity index 100%
rename from applications/utilities/parallelProcessing/reconstructPar/reconstructLagrangian.H
rename to src/parallel/reconstruct/reconstructLagrangian.H
diff --git a/applications/utilities/parallelProcessing/reconstructPar/reconstructLagrangianFields.C b/src/parallel/reconstruct/reconstructLagrangianFields.C
similarity index 100%
rename from applications/utilities/parallelProcessing/reconstructPar/reconstructLagrangianFields.C
rename to src/parallel/reconstruct/reconstructLagrangianFields.C
diff --git a/applications/utilities/parallelProcessing/reconstructPar/reconstructLagrangianPositions.C b/src/parallel/reconstruct/reconstructLagrangianPositions.C
similarity index 100%
rename from applications/utilities/parallelProcessing/reconstructPar/reconstructLagrangianPositions.C
rename to src/parallel/reconstruct/reconstructLagrangianPositions.C