From 758d76c795977b92253535316f42ee0777caeb01 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 9 Sep 2016 11:01:37 +0100
Subject: [PATCH 01/96] functionObjectList::readFunctionObject: Added support
 for region specification

Now the postProcess utility '-region' option works correctly, e.g. for
the chtMultiRegionSimpleFoam/heatExchanger case

postProcess -region air -func "mag(U)"

calculates 'mag(U)' for all the time steps in region 'air'.
---
 .../functionObjectList/functionObjectList.C   | 33 +++++++++++++++++--
 .../functionObjectList/functionObjectList.H   |  3 +-
 2 files changed, 32 insertions(+), 4 deletions(-)

diff --git a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C
index 7bd1882942..04cfc5acfb 100644
--- a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C
+++ b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C
@@ -151,7 +151,8 @@ bool Foam::functionObjectList::readFunctionObject
 (
     const string& funcNameArgs,
     dictionary& functionsDict,
-    HashSet<word>& requiredFields
+    HashSet<word>& requiredFields,
+    const word& region
 )
 {
     // Parse the optional functionObject arguments:
@@ -291,6 +292,12 @@ bool Foam::functionObjectList::readFunctionObject
         funcDict.set(entry::New(entryStream).ptr());
     }
 
+    // Insert the region name if specified
+    if (region != word::null)
+    {
+        funcDict.set("region", region);
+    }
+
     // Merge this functionObject dictionary into functionsDict
     dictionary funcArgsDict;
     funcArgsDict.add(string::validate<word>(funcNameArgs), funcDict);
@@ -352,6 +359,14 @@ Foam::autoPtr<Foam::functionObjectList> Foam::functionObjectList::New
 
     dictionary& functionsDict = controlDict.subDict("functions");
 
+    word region = word::null;
+
+    // Set the region name if specified
+    if (args.optionFound("region"))
+    {
+        region = args["region"];
+    }
+
     if
     (
         args.optionFound("dict")
@@ -377,7 +392,13 @@ Foam::autoPtr<Foam::functionObjectList> Foam::functionObjectList::New
 
         if (args.optionFound("func"))
         {
-            readFunctionObject(args["func"], functionsDict, requiredFields);
+            readFunctionObject
+            (
+                args["func"],
+                functionsDict,
+                requiredFields,
+                region
+            );
         }
 
         if (args.optionFound("funcs"))
@@ -386,7 +407,13 @@ Foam::autoPtr<Foam::functionObjectList> Foam::functionObjectList::New
 
             forAll(funcs, i)
             {
-                readFunctionObject(funcs[i], functionsDict, requiredFields);
+                readFunctionObject
+                (
+                    funcs[i],
+                    functionsDict,
+                    requiredFields,
+                    region
+                );
             }
         }
 
diff --git a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.H b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.H
index da27e7d7f3..405e613369 100644
--- a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.H
+++ b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.H
@@ -218,7 +218,8 @@ public:
         (
             const string& funcNameArgs0,
             dictionary& functionsDict,
-            HashSet<word>& requiredFields
+            HashSet<word>& requiredFields,
+            const word& region = word::null
         );
 
         //- Read and set the function objects if their data have changed
-- 
GitLab


From 648c777dd0b3addad052fa04770e4577cd308523 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 9 Sep 2016 12:20:25 +0100
Subject: [PATCH 02/96] structuredRenumber: Corrected to run in parallel Patch
 contributed by Mattijs Janssens

---
 .../structuredRenumber/OppositeFaceCellWave.C | 331 ++++++++++++++++++
 .../structuredRenumber/OppositeFaceCellWave.H | 143 ++++++++
 .../OppositeFaceCellWaveName.C                |  36 ++
 .../structuredRenumber/structuredRenumber.C   | 154 +++++---
 .../structuredRenumber/structuredRenumber.H   |  35 +-
 5 files changed, 651 insertions(+), 48 deletions(-)
 create mode 100644 src/renumber/renumberMethods/structuredRenumber/OppositeFaceCellWave.C
 create mode 100644 src/renumber/renumberMethods/structuredRenumber/OppositeFaceCellWave.H
 create mode 100644 src/renumber/renumberMethods/structuredRenumber/OppositeFaceCellWaveName.C

diff --git a/src/renumber/renumberMethods/structuredRenumber/OppositeFaceCellWave.C b/src/renumber/renumberMethods/structuredRenumber/OppositeFaceCellWave.C
new file mode 100644
index 0000000000..4e865bd0b1
--- /dev/null
+++ b/src/renumber/renumberMethods/structuredRenumber/OppositeFaceCellWave.C
@@ -0,0 +1,331 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  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 "OppositeFaceCellWave.H"
+#include "polyMesh.H"
+
+// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
+
+template<class Type, class TrackingData>
+void Foam::OppositeFaceCellWave<Type, TrackingData>::opposingFaceLabels
+(
+    const label celli,
+    const label masterFaceLabel,
+    DynamicList<label>& oppositeFaceLabels
+) const
+{
+    // Variant of cell::opposingFaceLabel
+
+    // Algorithm:
+    // Go through all the faces of the cell and find the one which
+    // does not share a single vertex with the master face.  If there
+    // are two or more such faces, return the first one and issue a
+    // warning; if there is no opposite face, return -1;
+
+    const face& masterFace = this->mesh_.faces()[masterFaceLabel];
+
+    const labelList& curFaceLabels = this->mesh_.cells()[celli];
+
+    oppositeFaceLabels.clear();
+
+    forAll(curFaceLabels, facei)
+    {
+        // Compare the face with the master
+        const face& curFace = this->mesh_.faces()[curFaceLabels[facei]];
+
+        // Skip the master face
+        if (curFaceLabels[facei] != masterFaceLabel)
+        {
+            bool sharedPoint = false;
+
+            // Compare every vertex of the current face against the
+            // vertices of the master face
+            forAll(curFace, pointi)
+            {
+                const label l = curFace[pointi];
+
+                forAll(masterFace, masterPointi)
+                {
+                    if (masterFace[masterPointi] == l)
+                    {
+                        sharedPoint = true;
+                        break;
+                    }
+                }
+
+                if (sharedPoint) break;
+            }
+
+            // If no points are shared, this is the opposite face
+            if (!sharedPoint)
+            {
+                // Found opposite face
+                oppositeFaceLabels.append(curFaceLabels[facei]);
+            }
+        }
+    }
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+// Iterate, propagating changedFacesInfo across mesh, until no change (or
+// maxIter reached). Initial cell values specified.
+template<class Type, class TrackingData>
+Foam::OppositeFaceCellWave<Type, TrackingData>::OppositeFaceCellWave
+(
+    const polyMesh& mesh,
+    const labelList& changedFaces,
+    const List<Type>& changedFacesInfo,
+    UList<Type>& allFaceInfo,
+    UList<Type>& allCellInfo,
+    const label maxIter,
+    TrackingData& td
+)
+:
+    FaceCellWave<Type, TrackingData>
+    (
+        mesh,
+        changedFaces,
+        changedFacesInfo,
+        allFaceInfo,
+        allCellInfo,
+        0,              //maxIter,
+        td
+    ),
+    changedOppositeFaces_(this->mesh_.nCells())
+{
+    // Iterate until nothing changes
+    label iter = this->iterate(maxIter);
+
+    if ((maxIter > 0) && (iter >= maxIter))
+    {
+        FatalErrorInFunction
+            << "Maximum number of iterations reached. Increase maxIter."
+            << endl
+            << "    maxIter:" << maxIter << endl
+            << "    nChangedCells:" << this->changedCells_.size() << endl
+            << "    nChangedFaces:" << this->changedFaces_.size() << endl
+            << exit(FatalError);
+    }
+}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class Type, class TrackingData>
+Foam::label Foam::OppositeFaceCellWave<Type, TrackingData>::faceToCell()
+{
+    const labelList& owner = this->mesh_.faceOwner();
+    const labelList& neighbour = this->mesh_.faceNeighbour();
+    label nInternalFaces = this->mesh_.nInternalFaces();
+
+    DynamicList<label> oppositeFaceLabels;
+
+    forAll(this->changedFaces_, changedFacei)
+    {
+        label facei = this->changedFaces_[changedFacei];
+
+        if (!this->changedFace_[facei])
+        {
+            FatalErrorInFunction
+                << "Face " << facei
+                << " not marked as having been changed"
+                << abort(FatalError);
+        }
+
+
+        const Type& neighbourWallInfo = this->allFaceInfo_[facei];
+
+        // Evaluate all connected cells
+
+        // Owner
+        {
+            label celli = owner[facei];
+            Type& currentWallInfo = this->allCellInfo_[celli];
+
+            if (!currentWallInfo.equal(neighbourWallInfo, this->td_))
+            {
+                // Check if cell is prismatic w.r.t facei
+                opposingFaceLabels(celli, facei, oppositeFaceLabels);
+
+                if (oppositeFaceLabels.size())
+                {
+                    label sz = this->changedCells_.size();
+                    this->updateCell
+                    (
+                        celli,
+                        facei,
+                        neighbourWallInfo,
+                        this->propagationTol_,
+                        currentWallInfo
+                    );
+                    if (this->changedCells_.size() > sz)
+                    {
+                        label oppFacei = -1;
+                        if (oppositeFaceLabels.size() == 1)
+                        {
+                            oppFacei = oppositeFaceLabels[0];
+                        }
+                        changedOppositeFaces_.append(oppFacei);
+                    }
+                }
+            }
+        }
+
+        // Neighbour.
+        if (facei < nInternalFaces)
+        {
+            label celli = neighbour[facei];
+            Type& currentWallInfo2 = this->allCellInfo_[celli];
+
+            if (!currentWallInfo2.equal(neighbourWallInfo, this->td_))
+            {
+                // Check if cell is prismatic w.r.t facei
+                opposingFaceLabels(celli, facei, oppositeFaceLabels);
+
+                if (oppositeFaceLabels.size())
+                {
+                    label sz = this->changedCells_.size();
+                    this->updateCell
+                    (
+                        celli,
+                        facei,
+                        neighbourWallInfo,
+                        this->propagationTol_,
+                        currentWallInfo2
+                    );
+                    if (this->changedCells_.size() > sz)
+                    {
+                        label oppFacei = -1;
+                        if (oppositeFaceLabels.size() == 1)
+                        {
+                            oppFacei = oppositeFaceLabels[0];
+                        }
+                        changedOppositeFaces_.append(oppFacei);
+                    }
+                }
+            }
+        }
+
+        // Reset status of face
+        this->changedFace_[facei] = false;
+    }
+
+    // Handled all changed faces by now
+    this->changedFaces_.clear();
+
+    if (debug & 2)
+    {
+        Pout<< " Changed cells            : " << this->changedCells_.size()
+            << endl;
+    }
+
+    // Sum changedCells over all procs
+    label totNChanged = this->changedCells_.size();
+
+    reduce(totNChanged, sumOp<label>());
+
+    return totNChanged;
+}
+
+
+template<class Type, class TrackingData>
+Foam::label Foam::OppositeFaceCellWave<Type, TrackingData>::cellToFace()
+{
+    forAll(this->changedCells_, changedCelli)
+    {
+        label celli = this->changedCells_[changedCelli];
+        label facei = changedOppositeFaces_[changedCelli];
+
+        if (!this->changedCell_[celli])
+        {
+            FatalErrorInFunction
+                << "Cell " << celli << " not marked as having been changed"
+                << abort(FatalError);
+        }
+
+        if (facei != -1)
+        {
+            const Type& neighbourWallInfo = this->allCellInfo_[celli];
+
+            // Evaluate facei
+
+            Type& currentWallInfo = this->allFaceInfo_[facei];
+
+            if (!currentWallInfo.equal(neighbourWallInfo, this->td_))
+            {
+                this->updateFace
+                (
+                    facei,
+                    celli,
+                    neighbourWallInfo,
+                    this->propagationTol_,
+                    currentWallInfo
+                );
+            }
+        }
+
+        // Reset status of cell
+        this->changedCell_[celli] = false;
+    }
+
+    // Handled all changed cells by now
+    this->changedCells_.clear();
+    changedOppositeFaces_.clear();
+
+    if (this->hasCyclicPatches_)
+    {
+        // Transfer changed faces across cyclic halves
+        this->handleCyclicPatches();
+    }
+
+    if (this->hasCyclicAMIPatches_)
+    {
+        this->handleAMICyclicPatches();
+    }
+
+    if (Pstream::parRun())
+    {
+        // Transfer changed faces from neighbouring processors.
+        this->handleProcPatches();
+    }
+
+    if (debug & 2)
+    {
+        Pout<< " Changed faces            : " << this->changedFaces_.size()
+            << endl;
+    }
+
+    // Sum nChangedFaces over all procs
+    label totNChanged = this->changedFaces_.size();
+
+    reduce(totNChanged, sumOp<label>());
+
+    return totNChanged;
+}
+
+
+// ************************************************************************* //
diff --git a/src/renumber/renumberMethods/structuredRenumber/OppositeFaceCellWave.H b/src/renumber/renumberMethods/structuredRenumber/OppositeFaceCellWave.H
new file mode 100644
index 0000000000..bcfe3cb0dd
--- /dev/null
+++ b/src/renumber/renumberMethods/structuredRenumber/OppositeFaceCellWave.H
@@ -0,0 +1,143 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  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::OppositeFaceCellWave
+
+Description
+    Version of FaceCellWave that walks through prismatic cells only.
+
+    Used to determine mesh structure. In the front walking routines
+    (faceToCell and faceToCell) it
+    - walks across prismatic cells only
+    - and only to a single opposite face
+
+    Notes:
+    A cell with a split faces will be marked but not walked through (since
+    there is no single opposite face.
+
+SourceFiles
+    OppositeFaceCellWave.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef OppositeFaceCellWave_H
+#define OppositeFaceCellWave_H
+
+#include "FaceCellWave.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+/*---------------------------------------------------------------------------*\
+                        Class OppositeFaceCellWaveName Declaration
+\*---------------------------------------------------------------------------*/
+
+TemplateName(OppositeFaceCellWave);
+
+
+/*---------------------------------------------------------------------------*\
+                           Class OppositeFaceCellWave Declaration
+\*---------------------------------------------------------------------------*/
+
+template<class Type, class TrackingData = int>
+class OppositeFaceCellWave
+:
+    public FaceCellWave<Type, TrackingData>,
+    public OppositeFaceCellWaveName
+{
+protected:
+
+    // Protected data
+
+        //- For every entry in changedCells (i.e. the cell front) gives
+        //  the face that it needs to transfer to
+        DynamicList<label> changedOppositeFaces_;
+
+
+   // Protected Member Functions
+
+        //- Determine 'opposite' faces (= faces not sharing a vertex) on cell
+        void opposingFaceLabels
+        (
+            const label celli,
+            const label facei,
+            DynamicList<label>&
+        ) const;
+
+
+public:
+
+    // Constructors
+
+        //- Construct from mesh and list of changed faces with the Type
+        //  for these faces. Iterates until nothing changes or maxIter reached.
+        //  (maxIter can be 0)
+        OppositeFaceCellWave
+        (
+            const polyMesh&,
+            const labelList& initialChangedFaces,
+            const List<Type>& changedFacesInfo,
+            UList<Type>& allFaceInfo,
+            UList<Type>& allCellInfo,
+            const label maxIter,
+            TrackingData& td = FaceCellWave<Type, TrackingData>::dummyTrackData_
+        );
+
+
+    //- Destructor
+    virtual ~OppositeFaceCellWave()
+    {};
+
+
+    // Member Functions
+
+        //- Propagate from face to cell. Returns total number of cells
+        //  (over all processors) changed.
+        virtual label faceToCell();
+
+        //- Propagate from cell to face. Returns total number of faces
+        //  (over all processors) changed. (Faces on processorpatches are
+        //  counted double)
+        virtual label cellToFace();
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#ifdef NoRepository
+    #include "OppositeFaceCellWave.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/renumber/renumberMethods/structuredRenumber/OppositeFaceCellWaveName.C b/src/renumber/renumberMethods/structuredRenumber/OppositeFaceCellWaveName.C
new file mode 100644
index 0000000000..ddad4b6ec2
--- /dev/null
+++ b/src/renumber/renumberMethods/structuredRenumber/OppositeFaceCellWaveName.C
@@ -0,0 +1,36 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  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 "OppositeFaceCellWave.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+defineTypeNameAndDebug(OppositeFaceCellWaveName, 0);
+}
+
+
+// ************************************************************************* //
diff --git a/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.C b/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.C
index 093d44bb25..e227f2861f 100644
--- a/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.C
+++ b/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.C
@@ -27,7 +27,7 @@ License
 #include "addToRunTimeSelectionTable.H"
 #include "topoDistanceData.H"
 #include "fvMeshSubset.H"
-#include "FaceCellWave.H"
+#include "OppositeFaceCellWave.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -54,7 +54,7 @@ Foam::structuredRenumber::structuredRenumber
     renumberMethod(renumberDict),
     methodDict_(renumberDict.subDict(typeName + "Coeffs")),
     patches_(methodDict_.lookup("patches")),
-    //nLayers_(readLabel(methodDict_.lookup("nLayers"))),
+    nLayers_(methodDict_.lookupOrDefault<label>("nLayers", labelMax)),
     depthFirst_(methodDict_.lookup("depthFirst")),
     method_(renumberMethod::New(methodDict_)),
     reverse_(methodDict_.lookup("reverse"))
@@ -63,6 +63,75 @@ Foam::structuredRenumber::structuredRenumber
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
+bool Foam::structuredRenumber::layerLess::operator()
+(
+    const label a,
+    const label b
+)
+{
+    const topoDistanceData& ta = distance_[a];
+    const topoDistanceData& tb = distance_[b];
+
+    int dummy;
+
+    if (ta.valid(dummy))
+    {
+        if (tb.valid(dummy))
+        {
+            if (depthFirst_)
+            {
+                if (ta.data() < tb.data())
+                {
+                    // Sort column first
+                    return true;
+                }
+                else if (ta.data() > tb.data())
+                {
+                    return false;
+                }
+                else
+                {
+                    // Same column. Sort according to layer
+                    return ta.distance() < tb.distance();
+                }
+            }
+            else
+            {
+                if (ta.distance() < tb.distance())
+                {
+                    return true;
+                }
+                else if (ta.distance() > tb.distance())
+                {
+                    return false;
+                }
+                else
+                {
+                    // Same layer; sort according to current values
+                    return ta.data() < tb.data();
+                }
+            }
+        }
+        else
+        {
+            return true;
+        }
+    }
+    else
+    {
+        if (tb.valid(dummy))
+        {
+            return false;
+        }
+        else
+        {
+            // Both not valid; fall back to cell indices for sorting
+            return order_[a] < order_[b];
+        }
+    }
+}
+
+
 Foam::labelList Foam::structuredRenumber::renumber
 (
     const polyMesh& mesh,
@@ -104,18 +173,13 @@ Foam::labelList Foam::structuredRenumber::renumber
     const label nLayers = nTotalCells/nTotalSeeds;
 
     Info<< type() << " : seeding " << nTotalSeeds
-        << " cells on " << nLayers << " layers" << nl
+        << " cells on (estimated) " << nLayers << " layers" << nl
         << endl;
 
 
-    // Avoid subsetMesh, FaceCellWave going through proc boundaries
-    bool oldParRun = Pstream::parRun();
-    Pstream::parRun() = false;
-
-
     // Work array. Used here to temporarily store the original-to-ordered
     // index. Later on used to store the ordered-to-original.
-    labelList orderedToOld(points.size(), -1);
+    labelList orderedToOld(mesh.nCells(), -1);
 
     // Subset the layer of cells next to the patch
     {
@@ -125,20 +189,23 @@ Foam::labelList Foam::structuredRenumber::renumber
 
         pointField subPoints(points, subsetter.cellMap());
 
-        // Decompose the layer of cells
+        // Locally renumber the layer of cells
         labelList subOrder(method_().renumber(subMesh, subPoints));
 
         labelList subOrigToOrdered(invert(subOrder.size(), subOrder));
 
-        // Transfer to final decomposition
+        globalIndex globalSubCells(subOrder.size());
+
+        // Transfer to final decomposition and convert into global numbering
         forAll(subOrder, i)
         {
-            orderedToOld[subsetter.cellMap()[i]] = subOrigToOrdered[i];
+            orderedToOld[subsetter.cellMap()[i]] =
+                globalSubCells.toGlobal(subOrigToOrdered[i]);
         }
     }
 
 
-    // Walk out.
+    // Walk sub-ordering (=column index) out.
     labelList patchFaces(nFaces);
     List<topoDistanceData> patchData(nFaces);
     nFaces = 0;
@@ -151,7 +218,7 @@ Foam::labelList Foam::structuredRenumber::renumber
             patchFaces[nFaces] = pp.start()+i;
             patchData[nFaces] = topoDistanceData
             (
-                orderedToOld[fc[i]],// passive data: order of originating face
+                orderedToOld[fc[i]],// passive data: global column
                 0                   // distance: layer
             );
             nFaces++;
@@ -163,50 +230,43 @@ Foam::labelList Foam::structuredRenumber::renumber
     List<topoDistanceData> faceData(mesh.nFaces());
 
     // Propagate information inwards
-    FaceCellWave<topoDistanceData> deltaCalc
+    OppositeFaceCellWave<topoDistanceData> deltaCalc
     (
         mesh,
         patchFaces,
         patchData,
         faceData,
         cellData,
-        nTotalCells+1
+        0
     );
 
+    deltaCalc.iterate(nLayers_);
 
-    Pstream::parRun() = oldParRun;
+    Info<< type() << " : did not visit "
+        << deltaCalc.getUnsetCells()
+        << " cells out of " << nTotalCells
+        << "; using " << method_().type() << " renumbering for these" << endl;
 
+    // Get cell order using the method(). These values will get overwitten
+    // by any visited cell so are used only if the number of nLayers is limited.
+    labelList oldToOrdered
+    (
+        invert
+        (
+            mesh.nCells(),
+            method_().renumber(mesh, points)
+        )
+    );
 
-    // And extract.
-    // Note that distance is distance from face so starts at 1.
-    bool haveWarned = false;
-    forAll(orderedToOld, celli)
-    {
-        if (!cellData[celli].valid(deltaCalc.data()))
-        {
-            if (!haveWarned)
-            {
-                WarningInFunction
-                    << "Did not visit some cells, e.g. cell " << celli
-                    << " at " << mesh.cellCentres()[celli] << endl
-                    << "Assigning these cells to domain 0." << endl;
-                haveWarned = true;
-            }
-            orderedToOld[celli] = 0;
-        }
-        else
-        {
-            label layerI = cellData[celli].distance();
-            if (depthFirst_)
-            {
-                orderedToOld[nLayers*cellData[celli].data()+layerI] = celli;
-            }
-            else
-            {
-                orderedToOld[cellData[celli].data()+nLayers*layerI] = celli;
-            }
-        }
-    }
+    // Use specialised sorting to sorted either layers or columns first
+    // Done so that at no point we need to combine both into a single
+    // index and we might run out of label size.
+    sortedOrder
+    (
+        cellData,
+        orderedToOld,
+        layerLess(depthFirst_, oldToOrdered, cellData)
+    );
 
     // Return furthest away cell first
     if (reverse_)
diff --git a/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.H b/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.H
index b95f7d7036..407fbf2329 100644
--- a/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.H
+++ b/src/renumber/renumberMethods/structuredRenumber/structuredRenumber.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -41,6 +41,7 @@ SourceFiles
 #define structuredRenumber_H
 
 #include "renumberMethod.H"
+#include "topoDistanceData.H"
 #include "Switch.H"
 
 namespace Foam
@@ -54,12 +55,44 @@ class structuredRenumber
 :
     public renumberMethod
 {
+public:
+
+    // Public classes
+
+        //- Less function class that can be used for sorting according to
+        //  column and layer
+        class layerLess
+        {
+            const Switch depthFirst_;
+            const labelList& order_;
+            const List<topoDistanceData>& distance_;
+
+        public:
+
+            layerLess
+            (
+                const Switch depthFirst,
+                const labelList& order,
+                const List<topoDistanceData>& distance
+            )
+            :
+                depthFirst_(depthFirst),
+                order_(order),
+                distance_(distance)
+            {}
+
+            bool operator()(const label a, const label b);
+        };
+
+
     // Private data
 
         const dictionary methodDict_;
 
         const wordReList patches_;
 
+        const label nLayers_;
+
         const Switch depthFirst_;
 
         const autoPtr<renumberMethod> method_;
-- 
GitLab


From 52323f8dd1db7a466e8a546996688acae84141b1 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 9 Sep 2016 12:29:06 +0100
Subject: [PATCH 03/96] codedFvOption: Added cellSet support Patch provided by
 Mattijs Janssens Resolves bug-report
 http://bugs.openfoam.org/view.php?id=2240

---
 etc/codeTemplates/dynamicCode/codedFvOptionTemplate.C   | 2 +-
 etc/codeTemplates/dynamicCode/codedFvOptionTemplate.H   | 4 ++--
 src/fvOptions/sources/general/codedSource/CodedSource.C | 1 +
 src/fvOptions/sources/general/codedSource/CodedSource.H | 6 ++----
 4 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/etc/codeTemplates/dynamicCode/codedFvOptionTemplate.C b/etc/codeTemplates/dynamicCode/codedFvOptionTemplate.C
index b3bcb86ecd..6cb5cc0d7b 100644
--- a/etc/codeTemplates/dynamicCode/codedFvOptionTemplate.C
+++ b/etc/codeTemplates/dynamicCode/codedFvOptionTemplate.C
@@ -104,7 +104,7 @@ ${typeName}FvOption${SourceType}
     const fvMesh& mesh
 )
 :
-    option(name, modelType, dict, mesh)
+    cellSetOption(name, modelType, dict, mesh)
 {
     if (${verbose:-false})
     {
diff --git a/etc/codeTemplates/dynamicCode/codedFvOptionTemplate.H b/etc/codeTemplates/dynamicCode/codedFvOptionTemplate.H
index 2a10ff9b35..c276419362 100644
--- a/etc/codeTemplates/dynamicCode/codedFvOptionTemplate.H
+++ b/etc/codeTemplates/dynamicCode/codedFvOptionTemplate.H
@@ -105,7 +105,7 @@ SourceFiles
 #ifndef codedFvOptionTemplate_H
 #define codedFvOptionTemplate_H
 
-#include "fvOption.H"
+#include "cellSetOption.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -121,7 +121,7 @@ namespace fv
 
 class ${typeName}FvOption${SourceType}
 :
-    public option
+    public cellSetOption
 {
 public:
 
diff --git a/src/fvOptions/sources/general/codedSource/CodedSource.C b/src/fvOptions/sources/general/codedSource/CodedSource.C
index 3933d87f8d..267354e313 100644
--- a/src/fvOptions/sources/general/codedSource/CodedSource.C
+++ b/src/fvOptions/sources/general/codedSource/CodedSource.C
@@ -68,6 +68,7 @@ void Foam::fv::CodedSource<Type>::prepare
             "-I$(LIB_SRC)/finiteVolume/lnInclude \\\n"
             "-I$(LIB_SRC)/meshTools/lnInclude \\\n"
             "-I$(LIB_SRC)/sampling/lnInclude \\\n"
+            "-I$(LIB_SRC)/fvOptions/lnInclude \\\n"
             + context.options()
             + "\n\nLIB_LIBS = \\\n"
             + "    -lmeshTools \\\n"
diff --git a/src/fvOptions/sources/general/codedSource/CodedSource.H b/src/fvOptions/sources/general/codedSource/CodedSource.H
index b484e91587..2e742bc005 100644
--- a/src/fvOptions/sources/general/codedSource/CodedSource.H
+++ b/src/fvOptions/sources/general/codedSource/CodedSource.H
@@ -57,14 +57,12 @@ Usage
     {
         type            scalarCodedSource;
 
-        active          yes;
-
         scalarCodedSourceCoeffs
         {
             selectionMode   all;
 
-            fieldNames      (h);
-            name    sourceTime;
+            fields          (h);
+            name            sourceTime;
 
             codeInclude
             #{
-- 
GitLab


From ca4accb4208290fd89ab519f3925559923b207e2 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 9 Sep 2016 14:53:10 +0100
Subject: [PATCH 04/96] wmake: Updated '-q' option to work on Ubuntu and other
 'dash'-based GNU/Linux distributions

---
 wmake/wmake | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/wmake/wmake b/wmake/wmake
index 0e42e77196..e7402a581b 100755
--- a/wmake/wmake
+++ b/wmake/wmake
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 #------------------------------------------------------------------------------
 # =========                 |
 # \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
@@ -335,13 +335,13 @@ if [ "$all" = "queue" ]
 then
     [ -n "$update" ] || wmakeLnIncludeAll $parOpt
 
-    (                                                                          \
-        WM_COLLECT_DIR=$WM_PROJECT_DIR/platforms/${WM_OPTIONS}/${PWD////_}     \
-        WM_SCHEDULER=wmakeCollect                                              \
-        trap '$WM_SCHEDULER -kill' TERM INT;                                   \
+    (
+        export WM_COLLECT_DIR=$WM_PROJECT_DIR/platforms/${WM_OPTIONS}/${PWD////_}
+        WM_SCHEDULER=wmakeCollect
+        trap '$WM_SCHEDULER -kill' TERM INT
         $WM_SCHEDULER -clean                                                   \
      && wmake -all objects                                                     \
-     && $WM_SCHEDULER                                                          \
+     && $WM_SCHEDULER
     ) && wmake -all
     exit $?
 fi
-- 
GitLab


From 7531b2a4bec20bd3cbbea23b6311a5772a432a3e Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 9 Sep 2016 14:54:12 +0100
Subject: [PATCH 05/96] renumberMethods: Added missing .C file for
 structuredRenumber

---
 src/renumber/renumberMethods/Make/files                         | 1 +
 .../structuredRenumber/OppositeFaceCellWaveName.C               | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/renumber/renumberMethods/Make/files b/src/renumber/renumberMethods/Make/files
index 4fe9cd69fb..c0a6685038 100644
--- a/src/renumber/renumberMethods/Make/files
+++ b/src/renumber/renumberMethods/Make/files
@@ -4,5 +4,6 @@ CuthillMcKeeRenumber/CuthillMcKeeRenumber.C
 randomRenumber/randomRenumber.C
 springRenumber/springRenumber.C
 structuredRenumber/structuredRenumber.C
+structuredRenumber/OppositeFaceCellWaveName.C
 
 LIB = $(FOAM_LIBBIN)/librenumberMethods
diff --git a/src/renumber/renumberMethods/structuredRenumber/OppositeFaceCellWaveName.C b/src/renumber/renumberMethods/structuredRenumber/OppositeFaceCellWaveName.C
index ddad4b6ec2..9af627e95d 100644
--- a/src/renumber/renumberMethods/structuredRenumber/OppositeFaceCellWaveName.C
+++ b/src/renumber/renumberMethods/structuredRenumber/OppositeFaceCellWaveName.C
@@ -29,7 +29,7 @@ License
 
 namespace Foam
 {
-defineTypeNameAndDebug(OppositeFaceCellWaveName, 0);
+    defineTypeNameAndDebug(OppositeFaceCellWaveName, 0);
 }
 
 
-- 
GitLab


From 017281a11652cfc2e202c1ce4586326cf61c84e4 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 9 Sep 2016 16:23:28 +0100
Subject: [PATCH 06/96] combustionModels/FSD: Corrected Renamed 'omega' to
 'FSDomega' to avoid a clash with the k-omega turbulence models.

Resolves bug-report http://bugs.openfoam.org/view.php?id=2237
---
 .../reactionRateFlameArea.C                   | 30 +--------------
 .../reactionRateFlameArea.H                   | 11 +-----
 .../relaxation/relaxation.C                   |  9 +++--
 .../combustionModel/combustionModel.H         | 19 ++++------
 .../combustionModel/combustionModelI.H        | 37 +++++++------------
 .../psiChemistryCombustion.C                  |  9 +----
 .../psiChemistryCombustion.H                  |  5 +--
 .../psiCombustionModel/psiCombustionModel.H   |  5 +--
 .../psiThermoCombustion/psiThermoCombustion.C |  9 +----
 .../psiThermoCombustion/psiThermoCombustion.H |  5 +--
 .../rhoChemistryCombustion.C                  |  9 +----
 .../rhoChemistryCombustion.H                  |  5 +--
 .../rhoCombustionModel/rhoCombustionModel.H   |  5 +--
 .../rhoThermoCombustion/rhoThermoCombustion.C |  9 +----
 .../rhoThermoCombustion/rhoThermoCombustion.H |  5 +--
 .../les/smallPoolFire2D/0/{omega => FSDomega} |  2 +-
 .../constant/combustionProperties             |  2 +
 .../les/smallPoolFire2D/system/fvSchemes      |  2 +
 .../les/smallPoolFire2D/system/fvSolution     |  4 +-
 19 files changed, 46 insertions(+), 136 deletions(-)
 rename tutorials/combustion/fireFoam/les/smallPoolFire2D/0/{omega => FSDomega} (98%)

diff --git a/src/combustionModels/FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameArea.C b/src/combustionModels/FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameArea.C
index 06dca4d56c..4e767ca3ad 100644
--- a/src/combustionModels/FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameArea.C
+++ b/src/combustionModels/FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameArea.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
@@ -36,32 +36,6 @@ namespace Foam
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::reactionRateFlameArea::reactionRateFlameArea
-(
-    const dictionary& dict,
-    const fvMesh& mesh,
-    const combustionModel& combModel
-)
-:
-    coeffDict_(dictionary::null),
-    mesh_(mesh),
-    combModel_(combModel),
-    fuel_(dict.lookup("fuel")),
-    omega_
-    (
-        IOobject
-        (
-            "omega",
-            mesh_.time().timeName(),
-            mesh_,
-            IOobject::MUST_READ,
-            IOobject::AUTO_WRITE
-        ),
-        mesh_
-    )
-{}
-
-
 Foam::reactionRateFlameArea::reactionRateFlameArea
 (
     const word& modelType,
@@ -78,7 +52,7 @@ Foam::reactionRateFlameArea::reactionRateFlameArea
     (
         IOobject
         (
-            "omega",
+            "FSDomega",
             mesh_.time().timeName(),
             mesh_,
             IOobject::MUST_READ,
diff --git a/src/combustionModels/FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameArea.H b/src/combustionModels/FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameArea.H
index b6267a3892..4ae4271a9a 100644
--- a/src/combustionModels/FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameArea.H
+++ b/src/combustionModels/FSD/reactionRateFlameAreaModels/reactionRateFlameArea/reactionRateFlameArea.H
@@ -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
@@ -111,14 +111,6 @@ public:
 
     // Constructors
 
-        //- Construct from dictionary and psiReactionThermo
-        reactionRateFlameArea
-        (
-            const dictionary& dict,
-            const fvMesh& mesh,
-            const combustionModel& combModel
-        );
-
         //- Construct from components
         reactionRateFlameArea
         (
@@ -160,7 +152,6 @@ public:
 
         //- Update from dictionary
         virtual bool read(const dictionary& dictProperties);
-
 };
 
 
diff --git a/src/combustionModels/FSD/reactionRateFlameAreaModels/relaxation/relaxation.C b/src/combustionModels/FSD/reactionRateFlameAreaModels/relaxation/relaxation.C
index f26b698b6f..c714bc5cd2 100644
--- a/src/combustionModels/FSD/reactionRateFlameAreaModels/relaxation/relaxation.C
+++ b/src/combustionModels/FSD/reactionRateFlameAreaModels/relaxation/relaxation.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
@@ -123,13 +123,14 @@ void Foam::reactionRateFlameAreaModels::relaxation::correct
        /(sqr(omega0 - omegaInf) + sqr(omegaMin))
     );
 
-    const volScalarField rho(combModel_.rho());
-    const surfaceScalarField phi(combModel_.phi());
+    const volScalarField& rho = combModel_.rho();
+    const tmp<surfaceScalarField> tphi = combModel_.phi();
+    const surfaceScalarField& phi = tphi();
 
     solve
     (
          fvm::ddt(rho, omega_)
-       + fvm::div(phi, omega_, "div(phi,omega)")
+       + fvm::div(phi, omega_)
       ==
          rho*Rc*omega0
        - fvm::SuSp(rho*(tau + Rc), omega_)
diff --git a/src/combustionModels/combustionModel/combustionModel.H b/src/combustionModels/combustionModel/combustionModel.H
index 5368d1af80..2eb74cc3b5 100644
--- a/src/combustionModels/combustionModel/combustionModel.H
+++ b/src/combustionModels/combustionModel/combustionModel.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
@@ -111,20 +111,17 @@ public:
             //- Return const access to the mesh database
             inline const fvMesh& mesh() const;
 
-            //- Return const access to phi
-            inline const surfaceScalarField& phi() const;
-
-            //- Return const access to rho
-            virtual tmp<volScalarField> rho() const = 0;
+            //- Set turbulence
+            inline void setTurbulence(compressibleTurbulenceModel& turbModel);
 
             //- Return access to turbulence
             inline const compressibleTurbulenceModel& turbulence() const;
 
-            //- Set turbulence
-            inline void setTurbulence
-            (
-                compressibleTurbulenceModel& turbModel
-            );
+            //- Return const access to rho
+            inline const volScalarField& rho() const;
+
+            //- Return const access to phi
+            inline tmp<surfaceScalarField> phi() const;
 
             //- Is combustion active?
             inline const Switch& active() const;
diff --git a/src/combustionModels/combustionModel/combustionModelI.H b/src/combustionModels/combustionModel/combustionModelI.H
index e095c5f7e0..135dbe4038 100644
--- a/src/combustionModels/combustionModel/combustionModelI.H
+++ b/src/combustionModels/combustionModel/combustionModelI.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
@@ -31,42 +31,31 @@ inline const Foam::fvMesh& Foam::combustionModel::mesh() const
 }
 
 
-inline const Foam::surfaceScalarField& Foam::combustionModel::phi() const
+inline const Foam::compressibleTurbulenceModel&
+Foam::combustionModel::turbulence() const
 {
-    if (turbulencePtr_)
-    {
-        return turbulencePtr_->phi();
-    }
-    else
+    if (!turbulencePtr_)
     {
         FatalErrorInFunction
             << "turbulencePtr_ is empty. Please use "
             << "combustionModel::setTurbulence "
             << "(compressibleTurbulenceModel& )"
             << abort(FatalError);
-
-        return turbulencePtr_->phi();
     }
+
+    return *turbulencePtr_;
 }
 
 
-inline const Foam::compressibleTurbulenceModel&
-Foam::combustionModel::turbulence() const
+inline const Foam::volScalarField& Foam::combustionModel::rho() const
 {
-    if (turbulencePtr_)
-    {
-        return *turbulencePtr_;
-    }
-    else
-    {
-        FatalErrorInFunction
-            << "turbulencePtr_ is empty. Please use "
-            << "combustionModel::setTurbulence "
-            << "(compressibleTurbulenceModel& )"
-            << abort(FatalError);
+    return turbulence().rho();
+}
 
-        return *turbulencePtr_;
-    }
+
+inline Foam::tmp<Foam::surfaceScalarField> Foam::combustionModel::phi() const
+{
+    return turbulence().alphaRhoPhi();
 }
 
 
diff --git a/src/combustionModels/psiCombustionModel/psiChemistryCombustion/psiChemistryCombustion.C b/src/combustionModels/psiCombustionModel/psiChemistryCombustion/psiChemistryCombustion.C
index be0ccfabfb..b28116706e 100644
--- a/src/combustionModels/psiCombustionModel/psiChemistryCombustion/psiChemistryCombustion.C
+++ b/src/combustionModels/psiCombustionModel/psiChemistryCombustion/psiChemistryCombustion.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -61,11 +61,4 @@ Foam::combustionModels::psiChemistryCombustion::thermo() const
 }
 
 
-Foam::tmp<Foam::volScalarField>
-Foam::combustionModels::psiChemistryCombustion::rho() const
-{
-    return chemistryPtr_->thermo().rho();
-}
-
-
 // ************************************************************************* //
diff --git a/src/combustionModels/psiCombustionModel/psiChemistryCombustion/psiChemistryCombustion.H b/src/combustionModels/psiCombustionModel/psiChemistryCombustion/psiChemistryCombustion.H
index e3725d35d3..5c16c8ad8e 100644
--- a/src/combustionModels/psiCombustionModel/psiChemistryCombustion/psiChemistryCombustion.H
+++ b/src/combustionModels/psiCombustionModel/psiChemistryCombustion/psiChemistryCombustion.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -95,9 +95,6 @@ public:
 
         //- Return const access to the thermo package
         virtual const psiReactionThermo& thermo() const;
-
-        //- Return const access to the density field
-        virtual tmp<volScalarField> rho() const;
 };
 
 
diff --git a/src/combustionModels/psiCombustionModel/psiCombustionModel/psiCombustionModel.H b/src/combustionModels/psiCombustionModel/psiCombustionModel/psiCombustionModel.H
index 64c5234bfc..36bd824f41 100644
--- a/src/combustionModels/psiCombustionModel/psiCombustionModel/psiCombustionModel.H
+++ b/src/combustionModels/psiCombustionModel/psiCombustionModel/psiCombustionModel.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
@@ -120,9 +120,6 @@ public:
         //- Return const access to the thermo package
         virtual const psiReactionThermo& thermo() const = 0;
 
-        //- Return tmp of rho
-        virtual tmp<volScalarField> rho() const = 0;
-
 
     // IO
 
diff --git a/src/combustionModels/psiCombustionModel/psiThermoCombustion/psiThermoCombustion.C b/src/combustionModels/psiCombustionModel/psiThermoCombustion/psiThermoCombustion.C
index 6d45d60ef5..25450e2473 100644
--- a/src/combustionModels/psiCombustionModel/psiThermoCombustion/psiThermoCombustion.C
+++ b/src/combustionModels/psiCombustionModel/psiThermoCombustion/psiThermoCombustion.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -61,11 +61,4 @@ Foam::combustionModels::psiThermoCombustion::thermo() const
 }
 
 
-Foam::tmp<Foam::volScalarField>
-Foam::combustionModels::psiThermoCombustion::rho() const
-{
-    return thermoPtr_->rho();
-}
-
-
 // ************************************************************************* //
diff --git a/src/combustionModels/psiCombustionModel/psiThermoCombustion/psiThermoCombustion.H b/src/combustionModels/psiCombustionModel/psiThermoCombustion/psiThermoCombustion.H
index 44a55155ad..f922e1a44d 100644
--- a/src/combustionModels/psiCombustionModel/psiThermoCombustion/psiThermoCombustion.H
+++ b/src/combustionModels/psiCombustionModel/psiThermoCombustion/psiThermoCombustion.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -95,9 +95,6 @@ public:
 
         //- Return const access to the thermo package
         virtual const psiReactionThermo& thermo() const;
-
-        //- Return const access to the density field
-        virtual tmp<volScalarField> rho() const;
 };
 
 
diff --git a/src/combustionModels/rhoCombustionModel/rhoChemistryCombustion/rhoChemistryCombustion.C b/src/combustionModels/rhoCombustionModel/rhoChemistryCombustion/rhoChemistryCombustion.C
index 70ce698d7b..b6d1ac1172 100644
--- a/src/combustionModels/rhoCombustionModel/rhoChemistryCombustion/rhoChemistryCombustion.C
+++ b/src/combustionModels/rhoCombustionModel/rhoChemistryCombustion/rhoChemistryCombustion.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -61,11 +61,4 @@ Foam::combustionModels::rhoChemistryCombustion::thermo() const
 }
 
 
-Foam::tmp<Foam::volScalarField>
-Foam::combustionModels::rhoChemistryCombustion::rho() const
-{
-    return chemistryPtr_->thermo().rho();
-}
-
-
 // ************************************************************************* //
diff --git a/src/combustionModels/rhoCombustionModel/rhoChemistryCombustion/rhoChemistryCombustion.H b/src/combustionModels/rhoCombustionModel/rhoChemistryCombustion/rhoChemistryCombustion.H
index 2a37812e05..c8389c0ea5 100644
--- a/src/combustionModels/rhoCombustionModel/rhoChemistryCombustion/rhoChemistryCombustion.H
+++ b/src/combustionModels/rhoCombustionModel/rhoChemistryCombustion/rhoChemistryCombustion.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -95,9 +95,6 @@ public:
 
         //- Return const access to the thermo package
         virtual const rhoReactionThermo& thermo() const;
-
-        //- Return const access to the density field
-        virtual tmp<volScalarField> rho() const;
 };
 
 
diff --git a/src/combustionModels/rhoCombustionModel/rhoCombustionModel/rhoCombustionModel.H b/src/combustionModels/rhoCombustionModel/rhoCombustionModel/rhoCombustionModel.H
index 341b5b6dcd..0266c74b3e 100644
--- a/src/combustionModels/rhoCombustionModel/rhoCombustionModel/rhoCombustionModel.H
+++ b/src/combustionModels/rhoCombustionModel/rhoCombustionModel/rhoCombustionModel.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
@@ -127,9 +127,6 @@ public:
         //- Return const access to the thermo package
         virtual const rhoReactionThermo& thermo() const = 0;
 
-        //- Return tmp of rho
-        virtual tmp<volScalarField> rho() const = 0;
-
 
      // IO
 
diff --git a/src/combustionModels/rhoCombustionModel/rhoThermoCombustion/rhoThermoCombustion.C b/src/combustionModels/rhoCombustionModel/rhoThermoCombustion/rhoThermoCombustion.C
index ef95710f2a..aa645f0898 100644
--- a/src/combustionModels/rhoCombustionModel/rhoThermoCombustion/rhoThermoCombustion.C
+++ b/src/combustionModels/rhoCombustionModel/rhoThermoCombustion/rhoThermoCombustion.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -61,11 +61,4 @@ Foam::combustionModels::rhoThermoCombustion::thermo() const
 }
 
 
-Foam::tmp<Foam::volScalarField>
-Foam::combustionModels::rhoThermoCombustion::rho() const
-{
-    return thermoPtr_().rho();
-}
-
-
 // ************************************************************************* //
diff --git a/src/combustionModels/rhoCombustionModel/rhoThermoCombustion/rhoThermoCombustion.H b/src/combustionModels/rhoCombustionModel/rhoThermoCombustion/rhoThermoCombustion.H
index 6982569fa6..43041d4601 100644
--- a/src/combustionModels/rhoCombustionModel/rhoThermoCombustion/rhoThermoCombustion.H
+++ b/src/combustionModels/rhoCombustionModel/rhoThermoCombustion/rhoThermoCombustion.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -95,9 +95,6 @@ public:
 
         //- Return const access to the thermo package
         virtual const rhoReactionThermo& thermo() const;
-
-        //- Return const access to the density field
-        virtual tmp<volScalarField> rho() const;
 };
 
 
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/omega b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/FSDomega
similarity index 98%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/0/omega
rename to tutorials/combustion/fireFoam/les/smallPoolFire2D/0/FSDomega
index faca2f4dd8..f91a845488 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/omega
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/FSDomega
@@ -11,7 +11,7 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      omega;
+    object      FSDomega;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/combustionProperties b/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/combustionProperties
index 51e80f82d6..dff08d26af 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/combustionProperties
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/combustionProperties
@@ -35,6 +35,8 @@ FSDCoeffs
 
     fuel                Methane;
 
+    semiImplicit        no;
+
     relaxationCoeffs
     {
         C                     2.0;
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/fvSchemes b/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/fvSchemes
index 82cb86a511..60500f7832 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/fvSchemes
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/fvSchemes
@@ -30,8 +30,10 @@ divSchemes
     default         none;
 
     div(phi,U)      Gauss LUST grad(U);
+    div(U)          Gauss linear;
     div(phi,K)      Gauss linear;
     div(phi,k)      Gauss limitedLinear 1;
+    div(phi,FSDomega) Gauss limitedLinear 1;
     div(phi,Yi_h)   Gauss multivariateSelection
     {
         O2              limitedLinear01 1;
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/fvSolution b/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/fvSolution
index 4506a37939..063fada2c7 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/fvSolution
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/fvSolution
@@ -54,7 +54,7 @@ solvers
     }
 
 
-    "(U|Yi|k|h|omega)"
+    "(U|Yi|k|h|FSDomega)"
     {
         solver          PBiCGStab;
         preconditioner  DILU;
@@ -63,7 +63,7 @@ solvers
         nSweeps         1;
     };
 
-    "(U|Yi|k|h|omega)Final"
+    "(U|Yi|k|h|FSDomega)Final"
     {
         $U;
         tolerance       1e-6;
-- 
GitLab


From ed068e4c2036aee64a443edbefabacdaa37444e6 Mon Sep 17 00:00:00 2001
From: Chris Greenshields <http://cfd.direct>
Date: Fri, 9 Sep 2016 20:00:26 +0100
Subject: [PATCH 07/96] foamEtcFile: replaced redundant package directory name

---
 bin/foamEtcFile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bin/foamEtcFile b/bin/foamEtcFile
index 4deb76e192..3d3d01864e 100755
--- a/bin/foamEtcFile
+++ b/bin/foamEtcFile
@@ -103,7 +103,7 @@ OpenFOAM-*)         # standard naming convention OpenFOAM-<VERSION>
     version="${projectDirName##OpenFOAM-}"
     ;;
 
-openfoam[0-9]* | openfoamdev)     # debian naming convention 'openfoam<VERSION>'
+openfoam[0-9]* | openfoam-dev)     # debian naming convention 'openfoam<VERSION>'
     versionNum="${projectDirName##openfoam}"
     case "$versionNum" in
     ??)         # convert 2 digit version number to decimal delineated
-- 
GitLab


From 9a13c991ccec18c7a82605193a47549a730a96d9 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 9 Sep 2016 21:48:29 +0100
Subject: [PATCH 08/96] reactingEulerFoam/interfacialModels/dragModels:
 Corrected file permissions

---
 .../interfacialModels/dragModels/Beetstra/Beetstra.C           | 0
 .../interfacialModels/dragModels/Beetstra/Beetstra.H           | 0
 .../interfacialModels/dragModels/Tenneti/Tenneti.C             | 0
 .../interfacialModels/dragModels/Tenneti/Tenneti.H             | 3 ++-
 4 files changed, 2 insertions(+), 1 deletion(-)
 mode change 100755 => 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Beetstra/Beetstra.C
 mode change 100755 => 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Beetstra/Beetstra.H
 mode change 100755 => 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Tenneti/Tenneti.C
 mode change 100755 => 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Tenneti/Tenneti.H

diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Beetstra/Beetstra.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Beetstra/Beetstra.C
old mode 100755
new mode 100644
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Beetstra/Beetstra.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Beetstra/Beetstra.H
old mode 100755
new mode 100644
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Tenneti/Tenneti.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Tenneti/Tenneti.C
old mode 100755
new mode 100644
diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Tenneti/Tenneti.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Tenneti/Tenneti.H
old mode 100755
new mode 100644
index 3003dbc594..bc1601e976
--- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Tenneti/Tenneti.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Tenneti/Tenneti.H
@@ -58,6 +58,7 @@ namespace dragModels
 {
 
 class SchillerNaumann;
+
 /*---------------------------------------------------------------------------*\
                            Class Tenneti Declaration
 \*---------------------------------------------------------------------------*/
@@ -68,7 +69,7 @@ class Tenneti
 {
     // Private data
 
-        //- Ergun drag model
+        //- SchillerNaumann drag model
         autoPtr<SchillerNaumann> SchillerNaumann_;
 
         //- Residual Reynolds Number
-- 
GitLab


From a7210ecb1ab7e7544e0fb39fc98f78b00550b40f Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sat, 10 Sep 2016 16:44:01 +0100
Subject: [PATCH 09/96] GAMGSolverSolve: Replace PBiCG with PBiCGStab to solve
 the coarsest-level of asymmetric matrices

---
 .../matrices/lduMatrix/solvers/GAMG/GAMGSolver.H   |  6 +++---
 .../lduMatrix/solvers/GAMG/GAMGSolverSolve.C       | 14 +++++++-------
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolver.H b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolver.H
index 4a2990cc54..c909cbc2eb 100644
--- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolver.H
+++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolver.H
@@ -39,7 +39,7 @@ Description
       - Coarse matrix scaling: performed by correction scaling, using steepest
         descent optimisation.
       - Type of cycle: V-cycle with optional pre-smoothing.
-      - Coarsest-level matrix solved using PCG or PBiCG.
+      - Coarsest-level matrix solved using PCG or PBiCGStab.
 
 SourceFiles
     GAMGSolver.C
@@ -300,9 +300,9 @@ class GAMGSolver
             const scalar relTol
         ) const;
 
-        //- Create and return the dictionary to specify the PBiCG solver
+        //- Create and return the dictionary to specify the PBiCGStab solver
         //  to solve the coarsest level
-        dictionary PBiCGsolverDict
+        dictionary PBiCGStabSolverDict
         (
             const scalar tol,
             const scalar relTol
diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolverSolve.C b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolverSolve.C
index fbd1b40179..c4157d57f2 100644
--- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolverSolve.C
+++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolverSolve.C
@@ -25,7 +25,7 @@ License
 
 #include "GAMGSolver.H"
 #include "PCG.H"
-#include "PBiCG.H"
+#include "PBiCGStab.H"
 #include "SubField.H"
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
@@ -533,13 +533,13 @@ Foam::dictionary Foam::GAMGSolver::PCGsolverDict
 }
 
 
-Foam::dictionary Foam::GAMGSolver::PBiCGsolverDict
+Foam::dictionary Foam::GAMGSolver::PBiCGStabSolverDict
 (
     const scalar tol,
     const scalar relTol
 ) const
 {
-    dictionary dict(IStringStream("solver PBiCG; preconditioner DILU;")());
+    dictionary dict(IStringStream("solver PBiCGStab; preconditioner DILU;")());
     dict.add("tolerance", tol);
     dict.add("relTol", relTol);
 
@@ -612,14 +612,14 @@ void Foam::GAMGSolver::solveCoarsestLevel
     //
     //            if (allMatrix.asymmetric())
     //            {
-    //                coarseSolverPerf = PBiCG
+    //                coarseSolverPerf = PBiCGStab
     //                (
     //                    "coarsestLevelCorr",
     //                    allMatrix,
     //                    procInterfaceLevelsBouCoeffs_[coarsestLevel],
     //                    procInterfaceLevelsIntCoeffs_[coarsestLevel],
     //                    procInterfaceLevels_[coarsestLevel],
-    //                    PBiCGsolverDict(tolerance_, relTol_)
+    //                    PBiCGStabSolverDict(tolerance_, relTol_)
     //                ).solve
     //                (
     //                    coarsestCorrField,
@@ -673,14 +673,14 @@ void Foam::GAMGSolver::solveCoarsestLevel
 
         if (matrixLevels_[coarsestLevel].asymmetric())
         {
-            coarseSolverPerf = PBiCG
+            coarseSolverPerf = PBiCGStab
             (
                 "coarsestLevelCorr",
                 matrixLevels_[coarsestLevel],
                 interfaceLevelsBouCoeffs_[coarsestLevel],
                 interfaceLevelsIntCoeffs_[coarsestLevel],
                 interfaceLevels_[coarsestLevel],
-                PBiCGsolverDict(tolerance_, relTol_)
+                PBiCGStabSolverDict(tolerance_, relTol_)
             ).solve
             (
                 coarsestCorrField,
-- 
GitLab


From d0e97370ccf7a61429f8d07a5b7c2c044643ac39 Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Tue, 13 Sep 2016 08:51:03 +0200
Subject: [PATCH 10/96] BUG: metisDecomp compile failure for WM_DP (closes
 #232)

- spurious use of floatScalar instead of scalar for processor weights.

STYLE: partially updated dummy metis.h to reflect metis-5.1.0 API
---
 src/dummyThirdParty/metisDecomp/metis.h       | 59 +++++++++++--------
 .../decompose/metisDecomp/metisDecomp.C       |  2 +-
 2 files changed, 37 insertions(+), 24 deletions(-)

diff --git a/src/dummyThirdParty/metisDecomp/metis.h b/src/dummyThirdParty/metisDecomp/metis.h
index 7b6ca31fc6..b594fc09b1 100644
--- a/src/dummyThirdParty/metisDecomp/metis.h
+++ b/src/dummyThirdParty/metisDecomp/metis.h
@@ -1,5 +1,5 @@
 #ifndef METIS_H
-#define METIS_H 1
+#define METIS_H
 
 /* *** DUMMY VERSION of metis.h - this file should not be included if you have metis
  *     installed in the correct position in $WM_THIRD_PARTY_DIR - see
@@ -8,39 +8,52 @@
 
 #warning "Dummy metis.h - gets included since it cannot find metis installation."
 
-#define IDXTYPEWIDTH 32
+// Integer type: OpenFOAM uses WM_LABEL_SIZE, metis.h uses IDXTYPEWIDTH
+#if WM_LABEL_SIZE == 32
+  typedef int32_t idx_t;
 
-/*------------------------------------------------------------------------
-* Undefine the following #define in order to use short idxtype as the idxtype 
-*-------------------------------------------------------------------------*/
-#if IDXTYPEWIDTH == 32
+  #define IDXTYPEWIDTH 32
   #define SCNIDX  SCNd32
   #define PRIIDX  PRId32
+#elif WM_LABEL_SIZE == 64
+  typedef int64_t idx_t;
 
-  typedef int32_t idxtype;
-#elif IDXTYPEWIDTH == 64
+  #define IDXTYPEWIDTH 64
   #define SCNIDX  SCNd64
   #define PRIIDX  PRId64
-
-  typedef int64_t idxtype;
 #else
-  #error "Incorrect user-supplied value fo IDXTYPEWIDTH"
+  #error "Incorrect user-supplied value for WM_LABEL_SIZE  (metis IDXTYPEWIDTH)"
 #endif
 
 
-void METIS_WPartGraphRecursive(idxtype *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt,
-                   idxtype *adjwgt, idxtype *wgtflag, idxtype *numflag, idxtype *nparts, float *tpwgts, 
-                   idxtype *options, idxtype *edgecut, idxtype *part);
-void METIS_PartGraphRecursive(idxtype *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt,
-                   idxtype *adjwgt, idxtype *wgtflag, idxtype *numflag, idxtype *nparts, idxtype *options, 
-                   idxtype *edgecut, idxtype *part);
-void METIS_WPartGraphKway(idxtype *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, 
-                   idxtype *adjwgt, idxtype *wgtflag, idxtype *numflag, idxtype *nparts, float *tpwgts, 
-                   idxtype *options, idxtype *edgecut, idxtype *part); 
-void METIS_PartGraphKway(idxtype *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, 
-                   idxtype *adjwgt, idxtype *wgtflag, idxtype *numflag, idxtype *nparts, idxtype *options, 
-                   idxtype *edgecut, idxtype *part); 
+// Float type: OpenFOAM uses WM_SP, WM_DP, metis.h uses REALTYPEWIDTH
+#if defined(WM_SP)
+  typedef float real_t;
+  #define REALTYPEWIDTH 32
+#elif defined(WM_DP)
+  typedef double real_t;
+  #define REALTYPEWIDTH 64
+#else
+  #error "Incorrect user-supplied value for WM_SP / WM_DP  (metis REALTYPEWIDTH)"
+#endif
+
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+int            METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t *xadj,
+                  idx_t *adjncy, idx_t *vwgt, idx_t *vsize, idx_t *adjwgt,
+                  idx_t *nparts, real_t *tpwgts, real_t *ubvec, idx_t *options,
+                  idx_t *edgecut, idx_t *part);
+
+int            METIS_PartGraphKway(idx_t *nvtxs, idx_t *ncon, idx_t *xadj,
+                  idx_t *adjncy, idx_t *vwgt, idx_t *vsize, idx_t *adjwgt,
+                  idx_t *nparts, real_t *tpwgts, real_t *ubvec, idx_t *options,
+                  idx_t *edgecut, idx_t *part);
+
+#ifdef __cplusplus
+}
+#endif
 
 
 #endif
diff --git a/src/parallel/decompose/metisDecomp/metisDecomp.C b/src/parallel/decompose/metisDecomp/metisDecomp.C
index 11b75a0ea0..28449f42d0 100644
--- a/src/parallel/decompose/metisDecomp/metisDecomp.C
+++ b/src/parallel/decompose/metisDecomp/metisDecomp.C
@@ -67,7 +67,7 @@ Foam::label Foam::metisDecomp::decompose
 
     // processor weights initialised with no size, only used if specified in
     // a file
-    Field<floatScalar> processorWeights;
+    Field<scalar> processorWeights;
 
     // cell weights (so on the vertices of the dual)
     List<label> cellWeights;
-- 
GitLab


From 777463de8868aac28e205a427b58463ff93f2cc9 Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Tue, 13 Sep 2016 08:58:00 +0200
Subject: [PATCH 11/96] COMP: CGAL rules should use lib64/ (fixes #234)

- 64-bit builds of gcc/mpfr/gmp use lib64/ for their installation path.
  Use this for the wmake rules as well.
---
 wmake/rules/General/CGAL | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/wmake/rules/General/CGAL b/wmake/rules/General/CGAL
index 354e719aa4..4bade675a2 100644
--- a/wmake/rules/General/CGAL
+++ b/wmake/rules/General/CGAL
@@ -5,8 +5,8 @@ CGAL_INC = \
     -I$(BOOST_ARCH_PATH)/include
 
 CGAL_LIBS = \
-    -L$(MPFR_ARCH_PATH)/lib \
-    -L$(GMP_ARCH_PATH)/lib \
+    -L$(MPFR_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
+    -L$(GMP_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
     -L$(BOOST_ARCH_PATH)/lib \
     -L$(CGAL_ARCH_PATH)/lib \
     -lCGAL \
-- 
GitLab


From 7ca9baecc12ec1600c3437362a4c847d0d157715 Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Tue, 13 Sep 2016 18:26:00 +0200
Subject: [PATCH 12/96] ENH: expand data mask for foamToEnsight (issue #231)

- Default is a width of 8 characters, but this can be extended up to 31
  characters via the '-width' command-line option.

- Now use a similar structure as foamToEnsightParts for the masking.
  This reduces the clutter within the directory, makes it easier to
  selectively delete some time steps (using shell commands).

- Added in a "time" information data in each sub-directory to
  make it possible to reconstruct the case file with an external
  script.

- Conversion of cloud data should now also work in parallel
  (may need more testing).

- Support binary output for cloud data.

- Better avoidance of illegal ensight variable names.
  But still partially incomplete (due to patch fields).

==================================================
Example of NEW file structure:

    EnSight/verticalChannel.case        # case name
    EnSight/geometry                    # for non-moving geometry

    EnSight/data/                       # time-varying data
    EnSight/data/00000000/
    EnSight/data/00000001/
    ...

  Fields are stored by name within the data/********/ directories:

    EnSight/data/00000001/time          # human-readable time info
    EnSight/data/00000001/U
    EnSight/data/00000001/p
    ...
    EnSight/data/00000001/geometry      # for moving geometry

  Clouds are stored at the next sub-directory level:

    EnSight/data/00000001/lagrangian/<cloudName>/positions
    EnSight/data/00000001/lagrangian/<cloudName>/U
    ...

==================================================
The old structure was significantly more cluttered:

    EnSight/verticalChannel.case
    EnSight/verticalChannel.0000.mesh
    EnSight/verticalChannel.0001.p
    EnSight/verticalChannel.0001.<cloudName>
    EnSight/verticalChannel.0001.<cloudName>.U

==================================================
---
 .../dataConversion/foamToEnsight/Make/files   |   3 +-
 .../dataConversion/foamToEnsight/Make/options |   7 +-
 .../dataConversion/foamToEnsight/checkData.H  |   4 +-
 .../foamToEnsight/checkMeshMoving.H           |  16 +-
 .../foamToEnsight/ensightAsciiStream.H        |  22 +-
 .../foamToEnsight/ensightBinaryStream.H       |  21 +-
 .../foamToEnsight/ensightCaseTail.H           |  14 +-
 .../foamToEnsight/ensightCloud.C              | 180 +++++++++
 .../{ensightCloudField.H => ensightCloud.H}   |  45 ++-
 .../foamToEnsight/ensightCloudField.C         | 129 -------
 .../foamToEnsight/ensightCloudTemplates.C     | 192 ++++++++++
 .../foamToEnsight/ensightField.C              | 289 +++++++--------
 .../foamToEnsight/ensightField.H              |   9 +-
 .../foamToEnsight/ensightMesh.C               | 101 +++---
 .../foamToEnsight/ensightMesh.H               |  27 +-
 .../foamToEnsight/ensightParticlePositions.C  | 103 ------
 .../foamToEnsight/ensightParticlePositions.H  |  54 ---
 .../foamToEnsight/ensightStream.H             |  10 +-
 .../foamToEnsight/foamToEnsight.C             | 341 ++++++++++--------
 .../dataConversion/foamToEnsight/itoa.C       |  61 ----
 .../dataConversion/foamToEnsight/itoa.H       |  47 ---
 21 files changed, 843 insertions(+), 832 deletions(-)
 create mode 100644 applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloud.C
 rename applications/utilities/postProcessing/dataConversion/foamToEnsight/{ensightCloudField.H => ensightCloud.H} (71%)
 delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloudField.C
 create mode 100644 applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloudTemplates.C
 delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightParticlePositions.C
 delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightParticlePositions.H
 delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToEnsight/itoa.C
 delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToEnsight/itoa.H

diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/Make/files b/applications/utilities/postProcessing/dataConversion/foamToEnsight/Make/files
index 44c513a079..421e8392b8 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/Make/files
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/Make/files
@@ -1,6 +1,5 @@
-itoa.C
 ensightMesh.C
-ensightParticlePositions.C
+ensightCloud.C
 foamToEnsight.C
 
 EXE = $(FOAM_APPBIN)/foamToEnsight
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/Make/options b/applications/utilities/postProcessing/dataConversion/foamToEnsight/Make/options
index c818403451..1424ecc536 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/Make/options
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/Make/options
@@ -5,7 +5,8 @@ EXE_INC = \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
-    -I$(LIB_SRC)/lagrangian/basic/lnInclude
+    -I$(LIB_SRC)/lagrangian/basic/lnInclude \
+    -I$(LIB_SRC)/conversion/lnInclude
 
 EXE_LIBS = \
     -lfiniteVolume \
@@ -13,5 +14,5 @@ EXE_LIBS = \
     -lfileFormats \
     -lsampling \
     -lgenericPatchFields \
-    -llagrangian
-
+    -llagrangian \
+    -lconversion
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkData.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkData.H
index 47a3540da7..dcc3ddd4ea 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkData.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkData.H
@@ -1,7 +1,7 @@
 // ignore special fields or fields that we don't handle
 //
 bool variableGood = true;
-for (label n1=0; n1<Times.size() && variableGood; ++n1)
+for (label n1=0; n1<timeDirs.size() && variableGood; ++n1)
 {
     // ignore _0 fields
     if (fieldName.size() > 2 && fieldName(fieldName.size() - 2, 2) == "_0")
@@ -13,7 +13,7 @@ for (label n1=0; n1<Times.size() && variableGood; ++n1)
         variableGood = IOobject
         (
             fieldName,
-            Times[n1].name(),
+            timeDirs[n1].name(),
             mesh,
             IOobject::NO_READ
         ).typeHeaderOk<volScalarField>(false);
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkMeshMoving.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkMeshMoving.H
index d4027ad1c5..a1b23a53a9 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkMeshMoving.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkMeshMoving.H
@@ -1,25 +1,25 @@
 // check for "points" in any of the result directories
 
 bool meshMoving = false;
-if (Times.size() > 1)
+if (timeDirs.size() > 1)
 {
     // We already loaded a mesh (usually from constant). See if any other
     // points files
-    forAll(Times, timeI)
+    forAll(timeDirs, timeI)
     {
-        if (Times[timeI].name() != mesh.pointsInstance())
+        if (timeDirs[timeI].name() != mesh.pointsInstance())
         {
-            IOobject io
+            meshMoving = IOobject
             (
                 "points",
-                Times[timeI].name(),
+                timeDirs[timeI].name(),
                 polyMesh::meshSubDir,
                 mesh,
                 IOobject::NO_READ
-            );
-            if (io.typeHeaderOk<pointIOField>(true))
+            ).typeHeaderOk<pointIOField>(true);
+
+            if (meshMoving)
             {
-                meshMoving = true;
                 break;
             }
         }
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightAsciiStream.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightAsciiStream.H
index 68eb88e158..ceccc987ae 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightAsciiStream.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightAsciiStream.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -52,17 +52,17 @@ class ensightAsciiStream
 {
     // Private data
 
-        //- Description of data_
+        //- Output file stream
         OFstream str_;
 
 
     // Private Member Functions
 
         //- Disallow default bitwise copy construct
-        ensightAsciiStream(const ensightAsciiStream&);
+        ensightAsciiStream(const ensightAsciiStream&) = delete;
 
         //- Disallow default bitwise assignment
-        void operator=(const ensightAsciiStream&);
+        void operator=(const ensightAsciiStream&) = delete;
 
 
 public:
@@ -70,14 +70,14 @@ public:
     // Constructors
 
         //- Construct from components
-        ensightAsciiStream(const fileName& f, const Time& runTime)
+        ensightAsciiStream(const fileName& f)
         :
             ensightStream(f),
             str_
             (
                 f,
-                runTime.writeFormat(),
-                runTime.writeVersion(),
+                IOstream::ASCII,
+                IOstream::currentVersion,
                 IOstream::UNCOMPRESSED
             )
         {
@@ -139,14 +139,6 @@ public:
                 << setw(10) << partI << nl;
         }
 
-    // Member Operators
-
-    // Friend Functions
-
-    // Friend Operators
-
-    // IOstream Operators
-
 };
 
 
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightBinaryStream.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightBinaryStream.H
index d343567722..d1c3d6e3b3 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightBinaryStream.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightBinaryStream.H
@@ -51,17 +51,17 @@ class ensightBinaryStream
 {
     // Private data
 
-        //- Description of data_
+        //- Output file stream
         autoPtr<std::ofstream> str_;
 
 
     // Private Member Functions
 
         //- Disallow default bitwise copy construct
-        ensightBinaryStream(const ensightBinaryStream&);
+        ensightBinaryStream(const ensightBinaryStream&) = delete;
 
         //- Disallow default bitwise assignment
-        void operator=(const ensightBinaryStream&);
+        void operator=(const ensightBinaryStream&) = delete;
 
 
 public:
@@ -69,7 +69,7 @@ public:
     // Constructors
 
         //- Construct from components
-        ensightBinaryStream(const fileName& f, const Time&)
+        ensightBinaryStream(const fileName& f)
         :
             ensightStream(f),
             str_
@@ -90,11 +90,6 @@ public:
 
     // Member Functions
 
-        virtual bool ascii() const
-        {
-            return false;
-        }
-
         virtual void write(const char* val)
         {
             char buffer[80];
@@ -141,14 +136,6 @@ public:
             write(partI);
         }
 
-    // Member Operators
-
-    // Friend Functions
-
-    // Friend Operators
-
-    // IOstream Operators
-
 };
 
 
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCaseTail.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCaseTail.H
index 6ec8373fcf..5a18a953c7 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCaseTail.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCaseTail.H
@@ -1,5 +1,8 @@
 if (Pstream::master())
 {
+    ensightCaseFile.setf(ios_base::scientific, ios_base::floatfield);
+    ensightCaseFile.precision(5);
+
     ensightCaseFile << nl << "TIME" << nl
         << "time set:                      " << 1 << nl
         << "number of steps:               " << nTimeSteps << nl
@@ -8,20 +11,17 @@ if (Pstream::master())
 
     ensightCaseFile << "time values:" << nl;
 
-    ensightCaseFile.setf(ios_base::scientific, ios_base::floatfield);
-    ensightCaseFile.precision(5);
-
     label count = 0;
     scalar Tcorr = 0.0;
-    if (Times[0].value() < 0)
+    if (timeDirs[0].value() < 0)
     {
-        Tcorr = - Times[0].value();
+        Tcorr = -timeDirs[0].value();
         Info<< "Correcting time values. Adding " << Tcorr << endl;
     }
 
-    forAll(Times, n)
+    forAll(timeDirs, n)
     {
-        ensightCaseFile << setw(12) << Times[n].value() + Tcorr << " ";
+        ensightCaseFile << setw(12) << timeDirs[n].value() + Tcorr << " ";
 
         if (++count % 6 == 0)
         {
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloud.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloud.C
new file mode 100644
index 0000000000..08779ff0a8
--- /dev/null
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloud.C
@@ -0,0 +1,180 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+     \\/     M anipulation  | Copyright (C) 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/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "ensightCloud.H"
+#include "ensightFile.H"
+#include "fvMesh.H"
+#include "passiveParticle.H"
+#include "Cloud.H"
+#include "pointList.H"
+
+// * * * * * * * * * * * * * * * Global Functions  * * * * * * * * * * * * * //
+
+void Foam::ensightParticlePositions
+(
+    const fvMesh& mesh,
+    const fileName& dataDir,
+    const label timeIndex,
+    const word& cloudName,
+    const bool dataExists,
+    IOstream::streamFormat format
+)
+{
+    if (dataExists)
+    {
+        Info<< " positions";
+    }
+    else
+    {
+        Info<< " positions{0}";
+    }
+
+    // Total number of parcels on all processes
+    label nTotParcels = 0;
+    autoPtr<Cloud<passiveParticle>> cloudPtr;
+
+    if (dataExists)
+    {
+        cloudPtr.reset(new Cloud<passiveParticle>(mesh, cloudName, false));
+        nTotParcels = cloudPtr().size();
+    }
+    reduce(nTotParcels, sumOp<label>());
+
+    if (Pstream::master())
+    {
+        const fileName postFileName =
+            ensightFile::subDir(timeIndex)/cloud::prefix/cloudName/"positions";
+
+        // the ITER/lagrangian subdirectory must exist
+        mkDir(dataDir/postFileName.path());
+
+        ensightFile os(dataDir, postFileName, format);
+
+        // tag binary format (just like geometry files)
+        os.writeBinaryHeader();
+        os.write(postFileName); // description
+        os.newline();
+        os.write("particle coordinates");
+        os.newline();
+        os.write(nTotParcels, 8);   // unusual width
+        os.newline();
+
+        if (!nTotParcels)
+        {
+            return;  // DONE
+        }
+
+        if (format == IOstream::BINARY)
+        {
+            // binary write is Ensight6 - first ids, then positions
+
+            // 1-index
+            for (label parcelId = 0; parcelId < nTotParcels; ++parcelId)
+            {
+                os.write(parcelId+1);
+            }
+
+            // Master
+            forAllConstIter(Cloud<passiveParticle>, cloudPtr(), elmnt)
+            {
+                const point& p = elmnt().position();
+
+                os.write(p.x());
+                os.write(p.y());
+                os.write(p.z());
+            }
+
+            // Slaves
+            for (int slave=1; slave<Pstream::nProcs(); ++slave)
+            {
+                IPstream fromSlave(Pstream::scheduled, slave);
+                pointList points(fromSlave);
+
+                forAll(points, pti)
+                {
+                    const point& p = points[pti];
+
+                    os.write(p.x());
+                    os.write(p.y());
+                    os.write(p.z());
+                }
+            }
+        }
+        else
+        {
+            // ASCII id + position together
+
+            label parcelId = 0;
+            forAllConstIter(Cloud<passiveParticle>, cloudPtr(), elmnt)
+            {
+                const point& p = elmnt().position();
+
+                os.write(++parcelId, 8);    // unusual width
+                os.write(p.x());
+                os.write(p.y());
+                os.write(p.z());
+                os.newline();
+            }
+
+            // Slaves
+            for (int slave=1; slave<Pstream::nProcs(); ++slave)
+            {
+                IPstream fromSlave(Pstream::scheduled, slave);
+                pointList points(fromSlave);
+
+                forAll(points, pti)
+                {
+                    const point& p = points[pti];
+
+                    os.write(++parcelId, 8);    // unusual width
+                    os.write(p.x());
+                    os.write(p.y());
+                    os.write(p.z());
+                    os.newline();
+                }
+            }
+        }
+    }
+    else if (nTotParcels)
+    {
+        // SLAVE, and data exist
+        pointList points(cloudPtr().size());
+
+        label pti = 0;
+        forAllConstIter(Cloud<passiveParticle>, cloudPtr(), elmnt)
+        {
+            const point& p = elmnt().position();
+            points[pti++] = p;
+        }
+
+        {
+            OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
+            toMaster<< points;
+        }
+    }
+
+}
+
+// ************************************************************************* //
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloudField.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloud.H
similarity index 71%
rename from applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloudField.H
rename to applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloud.H
index 57016c3254..1466150662 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloudField.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloud.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -27,35 +27,62 @@ InApplication
 Description
 
 SourceFiles
-    ensightCloudField.C
+    ensightCloud.C
+    ensightCloudTemplates.C
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef ensightCloudField_H
-#define ensightCloudField_H
+#ifndef ensightCloud_H
+#define ensightCloud_H
 
+#include "ensightFile.H"
+#include "fvMesh.H"
 #include "Cloud.H"
 #include "IOobject.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+namespace Foam
+{
+
+void ensightParticlePositions
+(
+    const fvMesh& mesh,
+    const fileName& dataDir,
+    const label timeIndex,
+    const word& cloudName,
+    const bool dataExists,
+    const IOstream::streamFormat format
+);
+
+
 template<class Type>
 void ensightCloudField
 (
     const IOobject& fieldObject,
-    const fileName& postProcPath,
-    const word& prepend,
+    const fileName& dataDir,
     const label timeIndex,
-    const word& timeFile,
     const word& cloudName,
+    const label cloudNo,
     Ostream& ensightCaseFile,
-    const bool dataExists
+    const bool dataExists,
+    const IOstream::streamFormat format
 );
 
+
+template<class Type>
+void writeCloudField
+(
+    const IOField<Type>& field,
+    ensightFile& os
+);
+
+}
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #ifdef NoRepository
-    #include "ensightCloudField.C"
+    #include "ensightCloudTemplates.C"
 #endif
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloudField.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloudField.C
deleted file mode 100644
index 337380de13..0000000000
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloudField.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/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "ensightCloudField.H"
-#include "Time.H"
-#include "IOField.H"
-#include "OFstream.H"
-#include "IOmanip.H"
-#include "ensightPTraits.H"
-
-using namespace Foam;
-
-// * * * * * * * * * * * * * * * Global Functions  * * * * * * * * * * * * * //
-
-template<class Type>
-void ensightCloudField
-(
-    const IOobject& fieldObject,
-    const fileName& postProcPath,
-    const word& prepend,
-    const label timeIndex,
-    const word& cloudName,
-    Ostream& ensightCaseFile,
-    const bool dataExists
-)
-{
-    if (dataExists)
-    {
-        Info<< "Converting cloud " << cloudName
-            << " field " << fieldObject.name() << endl;
-    }
-    else
-    {
-        Info<< "Creating empty cloud " << cloudName
-            << " field "  << fieldObject.name() << endl;
-    }
-
-    word timeFile = prepend + itoa(timeIndex);
-
-    const Time& runTime = fieldObject.time();
-
-    if (timeIndex == 0 && Pstream::master())
-    {
-        ensightCaseFile
-            << pTraits<Type>::typeName << " per measured node:      1       ";
-        ensightCaseFile.width(15);
-        ensightCaseFile.setf(ios_base::left);
-        ensightCaseFile
-            << ("c" + fieldObject.name()).c_str()
-            << (' ' + prepend + "****." + cloudName
-              + "." + fieldObject.name()).c_str()
-            << nl;
-    }
-
-    fileName ensightFileName
-    (
-        timeFile + "." + cloudName +"." + fieldObject.name()
-    );
-
-    OFstream ensightFile
-    (
-        postProcPath/ensightFileName,
-        runTime.writeFormat(),
-        runTime.writeVersion(),
-        runTime.writeCompression()
-    );
-
-    ensightFile<< pTraits<Type>::typeName << " values" << nl;
-
-    if (dataExists)
-    {
-        IOField<Type> vf(fieldObject);
-
-        ensightFile.setf(ios_base::scientific, ios_base::floatfield);
-        ensightFile.precision(5);
-
-        label count = 0;
-        forAll(vf, i)
-        {
-            Type v = vf[i];
-
-            if (mag(v) < 1.0e-90)
-            {
-                v = Zero;
-            }
-
-            for (direction i=0; i < pTraits<Type>::nComponents; ++i)
-            {
-                label cmpt = ensightPTraits<Type>::componentOrder[i];
-
-                ensightFile << setw(12) << component(v, cmpt);
-                if (++count % 6 == 0)
-                {
-                    ensightFile << nl;
-                }
-            }
-        }
-
-        if ((count % 6 != 0) || (count==0))
-        {
-            ensightFile << nl;
-        }
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloudTemplates.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloudTemplates.C
new file mode 100644
index 0000000000..efcd11beb9
--- /dev/null
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloudTemplates.C
@@ -0,0 +1,192 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
+     \\/     M anipulation  | Copyright (C) 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/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "ensightCloud.H"
+#include "ensightFile.H"
+#include "Time.H"
+#include "IOField.H"
+#include "OFstream.H"
+#include "IOmanip.H"
+#include "ensightPTraits.H"
+
+// * * * * * * * * * * * * * * * Global Functions  * * * * * * * * * * * * * //
+
+template<class Type>
+void Foam::writeCloudField
+(
+    const Foam::IOField<Type>& field,
+    Foam::ensightFile& os
+)
+{
+    if (returnReduce(field.size(), sumOp<label>()) > 0)
+    {
+        if (Pstream::master())
+        {
+            // 6 values per line
+            label count = 0;
+
+            // Master
+            forAll(field, i)
+            {
+                Type val = field[i];
+
+                if (mag(val) < 1e-90)
+                {
+                    val = Zero;
+                }
+
+                for (direction i=0; i < pTraits<Type>::nComponents; ++i)
+                {
+                    label cmpt = ensightPTraits<Type>::componentOrder[i];
+                    os.write( component(val, cmpt) );
+
+                    if (++count % 6 == 0)
+                    {
+                        os.newline();
+                    }
+                }
+            }
+
+            // Slaves
+            for (int slave=1; slave<Pstream::nProcs(); ++slave)
+            {
+                IPstream fromSlave(Pstream::scheduled, slave);
+                Field<Type> slaveData(fromSlave);
+
+                forAll(slaveData, i)
+                {
+                    Type val = slaveData[i];
+
+                    if (mag(val) < 1e-90)
+                    {
+                        val = Zero;
+                    }
+
+                    for (direction i=0; i < pTraits<Type>::nComponents; ++i)
+                    {
+                        label cmpt = ensightPTraits<Type>::componentOrder[i];
+                        os.write( component(val, cmpt) );
+
+                        if (++count % 6 == 0)
+                        {
+                            os.newline();
+                        }
+                    }
+                }
+            }
+
+            // add final newline if required
+            if (count % 6)
+            {
+                os.newline();
+            }
+        }
+        else
+        {
+            OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
+            toMaster<< field;
+        }
+    }
+}
+
+
+template<class Type>
+void Foam::ensightCloudField
+(
+    const Foam::IOobject& fieldObject,
+    const Foam::fileName& dataDir,
+    const Foam::label timeIndex,
+    const Foam::word& cloudName,
+    const Foam::label cloudNo,
+    Foam::Ostream& ensightCaseFile,
+    const bool dataExists,
+    Foam::IOstream::streamFormat format
+)
+{
+    const ensight::VarName varName(fieldObject.name());
+
+    if (dataExists)
+    {
+        Info<< ' ' << fieldObject.name();
+    }
+    else
+    {
+        Info<< ' ' << fieldObject.name() << "{0}"; // ie, empty field
+    }
+
+    ensightFile* filePtr(nullptr);
+    if (Pstream::master())
+    {
+        const fileName postFileName =
+            ensightFile::subDir(timeIndex)/cloud::prefix/cloudName/varName;
+
+        // the ITER/lagrangian subdirectory must exist
+        // the ITER/lagrangian subdirectory was already created
+        // when writing positions
+
+        mkDir(dataDir/postFileName.path());
+
+        if (timeIndex == 0)
+        {
+            const fileName dirName =
+                dataDir.name()/ensightFile::mask()/cloud::prefix/cloudName;
+
+            ensightCaseFile.setf(ios_base::left);
+
+            // prefix variables with 'c' (cloud)
+            ensightCaseFile
+                << ensightPTraits<Type>::typeName << " per "
+                << setw(20)
+                << "measured node:"
+                << " 1  "
+                << setw(15)
+                << ("c" + Foam::name(cloudNo) + varName).c_str() << ' '
+                << (dirName/varName).c_str()
+                << nl;
+        }
+
+        filePtr = new ensightFile(dataDir, postFileName, format);
+        filePtr->write
+        (
+            // description
+            string(postFileName + " <" + pTraits<Type>::typeName + ">")
+        );
+        filePtr->newline();
+    }
+
+    if (dataExists)
+    {
+        IOField<Type> field(fieldObject);
+        writeCloudField(field, *filePtr);
+    }
+
+    if (filePtr) // on master only
+    {
+        delete filePtr;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightField.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightField.C
index 11c3a9a7b6..40e115ef09 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightField.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightField.C
@@ -23,12 +23,12 @@ License
 
 \*---------------------------------------------------------------------------*/
 
+#include "ensightFile.H"
 #include "ensightField.H"
 #include "fvMesh.H"
 #include "volFields.H"
 #include "OFstream.H"
 #include "IOmanip.H"
-#include "itoa.H"
 #include "volPointInterpolation.H"
 #include "ensightBinaryStream.H"
 #include "ensightAsciiStream.H"
@@ -121,10 +121,8 @@ volField
 //    const IOobject& io,
 //    const fvMesh& mesh,
 //    const ensightMesh& eMesh,
-//    const fileName& postProcPath,
-//    const word& prepend,
+//    const fileName& dataDir,
 //    const label timeIndex,
-//    const bool binary,
 //    const bool nodeValues,
 //    Ostream& ensightCaseFile
 //)
@@ -134,10 +132,8 @@ volField
 //    (
 //        volField<typename Container::value_type>(meshSubsetter, fld),
 //        eMesh,
-//        postProcPath,
-//        prepend,
+//        dataDir,
 //        timeIndex,
-//        binary,
 //        nodeValues,
 //        ensightCaseFile
 //    );
@@ -175,26 +171,26 @@ void writeField
 (
     const char* key,
     const Field<Type>& vf,
-    ensightStream& ensightFile
+    ensightStream& os
 )
 {
     if (returnReduce(vf.size(), sumOp<label>()) > 0)
     {
         if (Pstream::master())
         {
-            ensightFile.write(key);
+            os.write(key);
 
             for (direction i=0; i < pTraits<Type>::nComponents; ++i)
             {
                 label cmpt = ensightPTraits<Type>::componentOrder[i];
 
-                ensightFile.write(vf.component(cmpt));
+                os.write(vf.component(cmpt));
 
                 for (int slave=1; slave<Pstream::nProcs(); slave++)
                 {
                     IPstream fromSlave(Pstream::scheduled, slave);
                     scalarField slaveData(fromSlave);
-                    ensightFile.write(slaveData);
+                    os.write(slaveData);
                 }
             }
         }
@@ -220,35 +216,35 @@ bool writePatchField
     const label ensightPatchI,
     const faceSets& boundaryFaceSet,
     const ensightMesh::nFacePrimitives& nfp,
-    ensightStream& ensightFile
+    ensightStream& os
 )
 {
     if (nfp.nTris || nfp.nQuads || nfp.nPolys)
     {
         if (Pstream::master())
         {
-            ensightFile.writePartHeader(ensightPatchI);
+            os.writePartHeader(ensightPatchI);
         }
 
         writeField
         (
             "tria3",
             Field<Type>(pf, boundaryFaceSet.tris),
-            ensightFile
+            os
         );
 
         writeField
         (
             "quad4",
             Field<Type>(pf, boundaryFaceSet.quads),
-            ensightFile
+            os
         );
 
         writeField
         (
             "nsided",
             Field<Type>(pf, boundaryFaceSet.polys),
-            ensightFile
+            os
         );
 
         return true;
@@ -267,15 +263,11 @@ void writePatchField
     const Field<Type>& pf,
     const word& patchName,
     const ensightMesh& eMesh,
-    const fileName& postProcPath,
-    const word& prepend,
+    const fileName& dataDir,
     const label timeIndex,
-    const bool binary,
     Ostream& ensightCaseFile
 )
 {
-    const Time& runTime = eMesh.mesh().time();
-
     const List<faceSets>& boundaryFaceSets = eMesh.boundaryFaceSets();
     const wordList& allPatchNames = eMesh.allPatchNames();
     const HashTable<ensightMesh::nFacePrimitives>&
@@ -295,54 +287,52 @@ void writePatchField
         ensightPatchI++;
     }
 
-
-    word pfName = patchName + '.' + fieldName;
-
-    word timeFile = prepend + itoa(timeIndex);
-
-    ensightStream* ensightFilePtr = NULL;
+    ensightStream* filePtr(nullptr);
     if (Pstream::master())
     {
+        // TODO: verify that these are indeed valid ensight variable names
+        const word varName = patchName + '.' + fieldName;
+        const fileName postFileName = ensightFile::subDir(timeIndex)/varName;
+
+        // the data/ITER subdirectory must exist
+        mkDir(dataDir/postFileName.path());
+
         if (timeIndex == 0)
         {
-            ensightCaseFile.setf(ios_base::left);
+            const fileName dirName = dataDir.name()/ensightFile::mask();
 
+            ensightCaseFile.setf(ios_base::left);
             ensightCaseFile
-                << ensightPTraits<Type>::typeName
-                << " per element:            1       "
-                << setw(15) << pfName
-                << (' ' + prepend + "****." + pfName).c_str()
+                << ensightPTraits<Type>::typeName << " per "
+                << setw(20)
+                << "element:"
+                << " 1  "
+                << setw(15)
+                << varName.c_str() << ' '
+                << (dirName/varName).c_str()
                 << nl;
         }
 
-        // set the filename of the ensight file
-        fileName ensightFileName(timeFile + "." + pfName);
-
-        if (binary)
+        if (eMesh.format() == IOstream::BINARY)
         {
-            ensightFilePtr = new ensightBinaryStream
+            filePtr = new ensightBinaryStream
             (
-                postProcPath/ensightFileName,
-                runTime
+                dataDir/postFileName
             );
         }
         else
         {
-            ensightFilePtr = new ensightAsciiStream
+            filePtr = new ensightAsciiStream
             (
-                postProcPath/ensightFileName,
-                runTime
+                dataDir/postFileName
             );
         }
-    }
-
-    ensightStream& ensightFile = *ensightFilePtr;
 
-    if (Pstream::master())
-    {
-        ensightFile.write(ensightPTraits<Type>::typeName);
+        filePtr->write(ensightPTraits<Type>::typeName);
     }
 
+    ensightStream& os = *filePtr;
+
     if (patchi >= 0)
     {
         writePatchField
@@ -352,7 +342,7 @@ void writePatchField
             ensightPatchI,
             boundaryFaceSets[patchi],
             nPatchPrims.find(patchName)(),
-            ensightFile
+            os
         );
     }
     else
@@ -366,13 +356,13 @@ void writePatchField
             ensightPatchI,
             nullFaceSets,
             nPatchPrims.find(patchName)(),
-            ensightFile
+            os
         );
     }
 
-    if (Pstream::master())
+    if (filePtr) // on master only
     {
-        delete ensightFilePtr;
+        delete filePtr;
     }
 }
 
@@ -382,19 +372,14 @@ void ensightField
 (
     const GeometricField<Type, fvPatchField, volMesh>& vf,
     const ensightMesh& eMesh,
-    const fileName& postProcPath,
-    const word& prepend,
+    const fileName& dataDir,
     const label timeIndex,
-    const bool binary,
     Ostream& ensightCaseFile
 )
 {
-    Info<< "Converting field " << vf.name() << endl;
-
-    word timeFile = prepend + itoa(timeIndex);
+    Info<< ' ' << vf.name();
 
     const fvMesh& mesh = eMesh.mesh();
-    const Time& runTime = mesh.time();
 
     const cellSets& meshCellSets = eMesh.meshCellSets();
     const List<faceSets>& boundaryFaceSets = eMesh.boundaryFaceSets();
@@ -414,91 +399,91 @@ void ensightField
     const labelList& hexes = meshCellSets.hexes;
     const labelList& polys = meshCellSets.polys;
 
-    ensightStream* ensightFilePtr = NULL;
+    ensightStream* filePtr(nullptr);
     if (Pstream::master())
     {
-        // set the filename of the ensight file
-        fileName ensightFileName(timeFile + "." + vf.name());
+        const ensight::VarName varName(vf.name());
+        const fileName postFileName = ensightFile::subDir(timeIndex)/varName;
+
+        // the data/ITER subdirectory must exist
+        mkDir(dataDir/postFileName.path());
+
+        if (timeIndex == 0)
+        {
+            const fileName dirName = dataDir.name()/ensightFile::mask();
+
+            ensightCaseFile.setf(ios_base::left);
+            ensightCaseFile
+                << ensightPTraits<Type>::typeName
+                << " per element:     1  "
+                << setw(15)
+                << varName.c_str() << ' '
+                << (dirName/varName).c_str()
+                << nl;
+        }
 
-        if (binary)
+        if (eMesh.format() == IOstream::BINARY)
         {
-            ensightFilePtr = new ensightBinaryStream
+            filePtr = new ensightBinaryStream
             (
-                postProcPath/ensightFileName,
-                runTime
+                dataDir/postFileName
             );
         }
         else
         {
-            ensightFilePtr = new ensightAsciiStream
+            filePtr = new ensightAsciiStream
             (
-                postProcPath/ensightFileName,
-                runTime
+                dataDir/postFileName
             );
         }
-    }
-
-    ensightStream& ensightFile = *ensightFilePtr;
-
-    if (Pstream::master())
-    {
-        if (timeIndex == 0)
-        {
-            ensightCaseFile.setf(ios_base::left);
-
-            ensightCaseFile
-                << ensightPTraits<Type>::typeName
-                << " per element:            1       "
-                << setw(15) << vf.name()
-                << (' ' + prepend + "****." + vf.name()).c_str()
-                << nl;
-        }
 
-        ensightFile.write(ensightPTraits<Type>::typeName);
+        filePtr->write(ensightPTraits<Type>::typeName);
     }
 
+    ensightStream& os = *filePtr;
+
     if (patchNames.empty())
     {
         eMesh.barrier();
 
         if (Pstream::master())
         {
-            ensightFile.writePartHeader(1);
+            os.writePartHeader(1);
         }
 
         writeField
         (
             "hexa8",
             map(vf, hexes, wedges),
-            ensightFile
+            os
         );
 
         writeField
         (
             "penta6",
             Field<Type>(vf, prisms),
-            ensightFile
+            os
         );
 
         writeField
         (
             "pyramid5",
             Field<Type>(vf, pyrs),
-            ensightFile
+            os
         );
 
         writeField
         (
             "tetra4",
             Field<Type>(vf, tets),
-            ensightFile
+            os
         );
 
         writeField
         (
             "nfaced",
             Field<Type>(vf, polys),
-            ensightFile
+            os
         );
     }
 
@@ -521,7 +506,7 @@ void ensightField
                     ensightPatchI,
                     boundaryFaceSets[patchi],
                     nPatchPrims.find(patchName)(),
-                    ensightFile
+                    os
                 )
             )
             {
@@ -546,8 +531,7 @@ void ensightField
 
             eMesh.barrier();
 
-            label zoneID = mesh.faceZones().findZoneID(faceZoneName);
-
+            const label zoneID = mesh.faceZones().findZoneID(faceZoneName);
             const faceZone& fz = mesh.faceZones()[zoneID];
 
             // Prepare data to write
@@ -595,7 +579,7 @@ void ensightField
                     ensightPatchI,
                     faceZoneFaceSets[zoneID],
                     nFaceZonePrims.find(faceZoneName)(),
-                    ensightFile
+                    os
                 )
             )
             {
@@ -603,9 +587,10 @@ void ensightField
             }
         }
     }
-    if (Pstream::master())
+
+    if (filePtr) // on master only
     {
-        delete ensightFilePtr;
+        delete filePtr;
     }
 }
 
@@ -615,80 +600,78 @@ void ensightPointField
 (
     const GeometricField<Type, pointPatchField, pointMesh>& pf,
     const ensightMesh& eMesh,
-    const fileName& postProcPath,
-    const word& prepend,
+    const fileName& dataDir,
     const label timeIndex,
-    const bool binary,
     Ostream& ensightCaseFile
 )
 {
-    Info<< "Converting field " << pf.name() << endl;
-
-    word timeFile = prepend + itoa(timeIndex);
+    Info<< ' ' << pf.name();
 
     const fvMesh& mesh = eMesh.mesh();
     const wordList& allPatchNames = eMesh.allPatchNames();
     const wordHashSet& patchNames = eMesh.patchNames();
     const wordHashSet& faceZoneNames = eMesh.faceZoneNames();
 
-
-    ensightStream* ensightFilePtr = NULL;
+    ensightStream* filePtr(nullptr);
     if (Pstream::master())
     {
-        // set the filename of the ensight file
-        fileName ensightFileName(timeFile + "." + pf.name());
+        const ensight::VarName varName(pf.name());
+        const fileName postFileName = ensightFile::subDir(timeIndex)/varName;
 
-        if (binary)
+        // the data/ITER subdirectory must exist
+        mkDir(dataDir/postFileName.path());
+
+        if (timeIndex == 0)
         {
-            ensightFilePtr = new ensightBinaryStream
+            const fileName dirName = dataDir.name()/ensightFile::mask();
+
+            ensightCaseFile.setf(ios_base::left);
+            ensightCaseFile
+                << ensightPTraits<Type>::typeName
+                << " per "
+                << setw(20)
+                << " node:"
+                << " 1  "
+                << setw(15)
+                << varName.c_str() << ' '
+                << (dirName/varName).c_str()
+                << nl;
+        }
+
+        if (eMesh.format() == IOstream::BINARY)
+        {
+            filePtr = new ensightBinaryStream
             (
-                postProcPath/ensightFileName,
-                mesh.time()
+                dataDir/postFileName
             );
         }
         else
         {
-            ensightFilePtr = new ensightAsciiStream
+            filePtr = new ensightAsciiStream
             (
-                postProcPath/ensightFileName,
-                mesh.time()
+                dataDir/postFileName
             );
         }
-    }
-
-    ensightStream& ensightFile = *ensightFilePtr;
-
-    if (Pstream::master())
-    {
-        if (timeIndex == 0)
-        {
-            ensightCaseFile.setf(ios_base::left);
-
-            ensightCaseFile
-                << ensightPTraits<Type>::typeName
-                << " per node:            1       "
-                << setw(15) << pf.name()
-                << (' ' + prepend + "****." + pf.name()).c_str()
-                << nl;
-        }
 
-        ensightFile.write(ensightPTraits<Type>::typeName);
+        filePtr->write(ensightPTraits<Type>::typeName);
     }
 
+    ensightStream& os = *filePtr;
+
     if (eMesh.patchNames().empty())
     {
         eMesh.barrier();
 
         if (Pstream::master())
         {
-            ensightFile.writePartHeader(1);
+            os.writePartHeader(1);
         }
 
         writeField
         (
             "coordinates",
             Field<Type>(pf.internalField(), eMesh.uniquePointMap()),
-            ensightFile
+            os
         );
     }
 
@@ -704,11 +687,8 @@ void ensightPointField
         if (patchNames.empty() || patchNames.found(patchName))
         {
             const fvPatch& p = mesh.boundary()[patchi];
-            if
-            (
-                returnReduce(p.size(), sumOp<label>())
-              > 0
-            )
+
+            if (returnReduce(p.size(), sumOp<label>()) > 0)
             {
                 // Renumber the patch points/faces into unique points
                 labelList pointToGlobal;
@@ -724,14 +704,14 @@ void ensightPointField
 
                 if (Pstream::master())
                 {
-                    ensightFile.writePartHeader(ensightPatchI);
+                    os.writePartHeader(ensightPatchI);
                 }
 
                 writeField
                 (
                     "coordinates",
                     Field<Type>(pf.internalField(), uniqueMeshPointLabels),
-                    ensightFile
+                    os
                 );
 
                 ensightPatchI++;
@@ -748,8 +728,7 @@ void ensightPointField
 
             eMesh.barrier();
 
-            label zoneID = mesh.faceZones().findZoneID(faceZoneName);
-
+            const label zoneID = mesh.faceZones().findZoneID(faceZoneName);
             const faceZone& fz = mesh.faceZones()[zoneID];
 
             if (returnReduce(fz().nPoints(), sumOp<label>()) > 0)
@@ -768,7 +747,7 @@ void ensightPointField
 
                 if (Pstream::master())
                 {
-                    ensightFile.writePartHeader(ensightPatchI);
+                    os.writePartHeader(ensightPatchI);
                 }
 
                 writeField
@@ -779,7 +758,7 @@ void ensightPointField
                         pf.internalField(),
                         uniqueMeshPointLabels
                     ),
-                    ensightFile
+                    os
                 );
 
                 ensightPatchI++;
@@ -787,9 +766,9 @@ void ensightPointField
         }
     }
 
-    if (Pstream::master())
+    if (filePtr) // on master only
     {
-        delete ensightFilePtr;
+        delete filePtr;
     }
 }
 
@@ -799,10 +778,8 @@ void ensightField
 (
     const GeometricField<Type, fvPatchField, volMesh>& vf,
     const ensightMesh& eMesh,
-    const fileName& postProcPath,
-    const word& prepend,
+    const fileName& dataDir,
     const label timeIndex,
-    const bool binary,
     const bool nodeValues,
     Ostream& ensightCaseFile
 )
@@ -819,10 +796,8 @@ void ensightField
         (
             pfld,
             eMesh,
-            postProcPath,
-            prepend,
+            dataDir,
             timeIndex,
-            binary,
             ensightCaseFile
         );
     }
@@ -832,10 +807,8 @@ void ensightField
         (
             vf,
             eMesh,
-            postProcPath,
-            prepend,
+            dataDir,
             timeIndex,
-            binary,
             ensightCaseFile
         );
     }
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightField.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightField.H
index 813fea468e..175ef1ac7d 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightField.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightField.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -69,10 +69,8 @@ void ensightField
 (
     const Foam::GeometricField<Type, Foam::fvPatchField, Foam::volMesh>& vf,
     const Foam::ensightMesh& eMesh,
-    const Foam::fileName& postProcPath,
-    const Foam::word& prepend,
+    const Foam::fileName& dataDir,
     const Foam::label timeIndex,
-    const bool binary,
     const bool nodeValues,
     Foam::Ostream& ensightCaseFile
 );
@@ -85,8 +83,7 @@ void writePatchField
     const Foam::Field<Type>& pf,
     const Foam::word& patchName,
     const Foam::ensightMesh& eMesh,
-    const Foam::fileName& postProcPath,
-    const Foam::word& prepend,
+    const Foam::fileName& dataDir,
     const Foam::label timeIndex,
     Foam::Ostream& ensightCaseFile
 );
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightMesh.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightMesh.C
index da9f080aa0..1a06c2933b 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightMesh.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightMesh.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -32,16 +32,21 @@ License
 #include "processorPolyPatch.H"
 #include "cellModeller.H"
 #include "IOmanip.H"
-#include "itoa.H"
 #include "globalIndex.H"
 #include "mapDistribute.H"
 #include "stringListOps.H"
 
+#include "ensightFile.H"
 #include "ensightBinaryStream.H"
 #include "ensightAsciiStream.H"
 
 #include <fstream>
 
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+const char* Foam::ensightMesh::geometryName = "geometry";
+
+
 // * * * * * * * * * * * * * Private Functions * * * * * * * * * * * * * * //
 
 void Foam::ensightMesh::correct()
@@ -403,7 +408,7 @@ Foam::ensightMesh::ensightMesh
     const bool faceZones,
     const wordReList& faceZonePatterns,
 
-    const bool binary
+    const IOstream::streamFormat format
 )
 :
     mesh_(mesh),
@@ -412,7 +417,7 @@ Foam::ensightMesh::ensightMesh
     patchPatterns_(patchPatterns),
     faceZones_(faceZones),
     faceZonePatterns_(faceZonePatterns),
-    binary_(binary),
+    format_(format),
     meshCellSets_(mesh.nCells())
 {
     correct();
@@ -521,7 +526,7 @@ void Foam::ensightMesh::writePrims
     // Create a temp int array
     if (cellShapes.size())
     {
-        if (ensightGeometryFile.ascii())
+        if (format_ == IOstream::ASCII)
         {
             // Workaround for paraview issue : write one cell per line
 
@@ -1018,63 +1023,55 @@ void Foam::ensightMesh::writeAllPoints
 
 void Foam::ensightMesh::write
 (
-    const fileName& postProcPath,
-    const word& prepend,
+    const fileName& dataDir,
     const label timeIndex,
     const bool meshMoving,
     Ostream& ensightCaseFile
 ) const
 {
-    const Time& runTime = mesh_.time();
     const cellShapeList& cellShapes = mesh_.cellShapes();
 
-
-    word timeFile = prepend;
-
-    if (timeIndex == 0)
-    {
-        timeFile += "0000.";
-    }
-    else if (meshMoving)
+    ensightStream* filePtr(nullptr);
+    if (Pstream::master())
     {
-        timeFile += itoa(timeIndex) + '.';
-    }
+        // set the filename of the ensight file
+        fileName geoFileName = dataDir.path()/ensightMesh::geometryName;
 
-    // set the filename of the ensight file
-    fileName ensightGeometryFileName = timeFile + "mesh";
+        if (meshMoving)
+        {
+            geoFileName =
+                dataDir/ensightFile::subDir(timeIndex)/ensightMesh::geometryName;
 
-    ensightStream* ensightGeometryFilePtr = NULL;
-    if (Pstream::master())
-    {
-        if (binary_)
+            mkDir(geoFileName.path());
+        }
+
+        if (format_ == IOstream::BINARY)
         {
-            ensightGeometryFilePtr = new ensightBinaryStream
+            filePtr = new ensightBinaryStream
             (
-                postProcPath/ensightGeometryFileName,
-                runTime
+                geoFileName
             );
-            ensightGeometryFilePtr->write("C binary");
+            filePtr->write("C binary");
         }
         else
         {
-            ensightGeometryFilePtr = new ensightAsciiStream
+            filePtr = new ensightAsciiStream
             (
-                postProcPath/ensightGeometryFileName,
-                runTime
+                geoFileName
             );
         }
     }
 
-    ensightStream& ensightGeometryFile = *ensightGeometryFilePtr;
+    ensightStream& os = *filePtr;
 
     if (Pstream::master())
     {
         string desc = string("written by OpenFOAM-") + Foam::FOAMversion;
 
-        ensightGeometryFile.write("EnSight Geometry File");
-        ensightGeometryFile.write(desc.c_str());
-        ensightGeometryFile.write("node id assign");
-        ensightGeometryFile.write("element id assign");
+        os.write("EnSight Geometry File");
+        os.write(desc.c_str());
+        os.write("node id assign");
+        os.write("element id assign");
     }
 
     if (patchNames_.empty())
@@ -1089,7 +1086,7 @@ void Foam::ensightMesh::write
             "internalMesh",
             uniquePoints,
             nPoints,
-            ensightGeometryFile
+            os
         );
 
         writeAllPrims
@@ -1103,7 +1100,7 @@ void Foam::ensightMesh::write
                 meshCellSets_.wedges,
                 pointToGlobal_
             ),
-            ensightGeometryFile
+            os
         );
 
         writeAllPrims
@@ -1111,7 +1108,7 @@ void Foam::ensightMesh::write
             "penta6",
             meshCellSets_.nPrisms,
             map(cellShapes, meshCellSets_.prisms, pointToGlobal_),
-            ensightGeometryFile
+            os
         );
 
         writeAllPrims
@@ -1119,7 +1116,7 @@ void Foam::ensightMesh::write
             "pyramid5",
             meshCellSets_.nPyrs,
             map(cellShapes, meshCellSets_.pyrs, pointToGlobal_),
-            ensightGeometryFile
+            os
         );
 
         writeAllPrims
@@ -1127,13 +1124,13 @@ void Foam::ensightMesh::write
             "tetra4",
             meshCellSets_.nTets,
             map(cellShapes, meshCellSets_.tets, pointToGlobal_),
-            ensightGeometryFile
+            os
         );
 
         writeAllPolys
         (
             pointToGlobal_,
-            ensightGeometryFile
+            os
         );
     }
 
@@ -1182,7 +1179,7 @@ void Foam::ensightMesh::write
                     patchName,
                     uniquePoints,
                     globalPointsPtr().size(),
-                    ensightGeometryFile
+                    os
                 );
 
                 writeAllFacePrims
@@ -1191,7 +1188,7 @@ void Foam::ensightMesh::write
                     tris,
                     nfp.nTris,
                     patchFaces,
-                    ensightGeometryFile
+                    os
                 );
 
                 writeAllFacePrims
@@ -1200,7 +1197,7 @@ void Foam::ensightMesh::write
                     quads,
                     nfp.nQuads,
                     patchFaces,
-                    ensightGeometryFile
+                    os
                 );
 
                 writeAllNSided
@@ -1208,7 +1205,7 @@ void Foam::ensightMesh::write
                     polys,
                     nfp.nPolys,
                     patchFaces,
-                    ensightGeometryFile
+                    os
                 );
             }
         }
@@ -1287,7 +1284,7 @@ void Foam::ensightMesh::write
                 faceZoneName,
                 uniquePoints,
                 globalPointsPtr().size(),
-                ensightGeometryFile
+                os
             );
 
             writeAllFacePrims
@@ -1296,7 +1293,7 @@ void Foam::ensightMesh::write
                 tris,
                 nfp.nTris,
                 faceZoneMasterFaces,
-                ensightGeometryFile
+                os
             );
 
             writeAllFacePrims
@@ -1305,7 +1302,7 @@ void Foam::ensightMesh::write
                 quads,
                 nfp.nQuads,
                 faceZoneMasterFaces,
-                ensightGeometryFile
+                os
             );
 
             writeAllNSided
@@ -1313,14 +1310,14 @@ void Foam::ensightMesh::write
                 polys,
                 nfp.nPolys,
                 faceZoneMasterFaces,
-                ensightGeometryFile
+                os
             );
         }
     }
 
-    if (Pstream::master())
+    if (filePtr) // only on master
     {
-        delete ensightGeometryFilePtr;
+        delete filePtr;
     }
 }
 
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightMesh.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightMesh.H
index e1f7e8384b..321c989969 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightMesh.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightMesh.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -63,6 +63,11 @@ class ensightStream;
 class ensightMesh
 {
 public:
+
+    //- The name for geometry files
+    static const char* geometryName;
+
+        //- Helper class for managing face primitives
         class nFacePrimitives
         {
         public:
@@ -97,8 +102,8 @@ private:
         const bool faceZones_;
         const wordReList faceZonePatterns_;
 
-        //- Set binary file output
-        const bool binary_;
+        //- Ascii/Binary file output
+        const IOstream::streamFormat format_;
 
         //- The ensight part id for the first patch
         label patchPartOffset_;
@@ -140,10 +145,10 @@ private:
     // Private Member Functions
 
         //- Disallow default bitwise copy construct
-        ensightMesh(const ensightMesh&);
+        ensightMesh(const ensightMesh&) = delete;
 
         //- Disallow default bitwise assignment
-        void operator=(const ensightMesh&);
+        void operator=(const ensightMesh&) = delete;
 
         void writePoints
         (
@@ -267,7 +272,7 @@ public:
             const wordReList& patchPatterns,
             const bool faceZones,
             const wordReList& faceZonePatterns,
-            const bool binary
+            const IOstream::streamFormat format = IOstream::BINARY
         );
 
 
@@ -284,6 +289,11 @@ public:
                 return mesh_;
             }
 
+            IOstream::streamFormat format() const
+            {
+                return format_;
+            }
+
             const cellSets& meshCellSets() const
             {
                 return meshCellSets_;
@@ -352,8 +362,6 @@ public:
             }
 
 
-
-
     // Other
 
         //- Update for new mesh
@@ -371,8 +379,7 @@ public:
 
         void write
         (
-            const fileName& postProcPath,
-            const word& prepend,
+            const fileName& ensightDir,
             const label timeIndex,
             const bool meshMoving,
             Ostream& ensightCaseFile
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightParticlePositions.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightParticlePositions.C
deleted file mode 100644
index d736b3fa93..0000000000
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightParticlePositions.C
+++ /dev/null
@@ -1,103 +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/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "ensightParticlePositions.H"
-#include "fvMesh.H"
-#include "passiveParticle.H"
-#include "Cloud.H"
-#include "OFstream.H"
-#include "IOmanip.H"
-#include "itoa.H"
-
-using namespace Foam;
-
-// * * * * * * * * * * * * * * * Global Functions  * * * * * * * * * * * * * //
-
-void ensightParticlePositions
-(
-    const fvMesh& mesh,
-    const fileName& postProcPath,
-    const word& timeFile,
-    const word& cloudName,
-    const bool dataExists
-)
-{
-    if (dataExists)
-    {
-        Info<< "Converting cloud " << cloudName << " positions" <<  endl;
-    }
-    else
-    {
-        Info<< "Creating empty cloud " << cloudName << " positions" << endl;
-    }
-
-    const Time& runTime = mesh.time();
-
-    fileName ensightFileName(timeFile + "." + cloudName);
-    OFstream ensightFile
-    (
-        postProcPath/ensightFileName,
-        runTime.writeFormat(),
-        runTime.writeVersion(),
-        runTime.writeCompression()
-    );
-
-    // Output header
-    ensightFile
-        << cloudName.c_str() << nl
-        << "particle coordinates" << nl;
-
-    if (dataExists)
-    {
-        Cloud<passiveParticle> parcels(mesh, cloudName, false);
-
-        // Set Format
-        ensightFile.setf(ios_base::scientific, ios_base::floatfield);
-        ensightFile.precision(5);
-
-        ensightFile<< setw(8) << parcels.size() << nl;
-
-        label nParcels = 0;
-
-        // Output positions
-        forAllConstIter(Cloud<passiveParticle>, parcels, elmnt)
-        {
-            const vector& p = elmnt().position();
-
-            ensightFile
-                << setw(8) << ++nParcels
-                << setw(12) << p.x() << setw(12) << p.y() << setw(12) << p.z()
-                << nl;
-        }
-    }
-    else
-    {
-        label nParcels = 0;
-        ensightFile<< setw(8) << nParcels << nl;
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightParticlePositions.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightParticlePositions.H
deleted file mode 100644
index 902a9ba658..0000000000
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightParticlePositions.H
+++ /dev/null
@@ -1,54 +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/>.
-
-InApplication
-    foamToEnsight
-
-Description
-
-SourceFiles
-    ensightParticlePositions.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef ensightParticlePositions_H
-#define ensightParticlePositions_H
-
-#include "fvMesh.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-void ensightParticlePositions
-(
-    const Foam::fvMesh& mesh,
-    const Foam::fileName& postProcPath,
-    const Foam::word& timeFile,
-    const Foam::word& CloudName,
-    const bool dataExists
-);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightStream.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightStream.H
index e736977848..89146e1102 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightStream.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightStream.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -57,10 +57,10 @@ class ensightStream
     // Private Member Functions
 
         //- Disallow default bitwise copy construct
-        ensightStream(const ensightStream&);
+        ensightStream(const ensightStream&) = delete;
 
         //- Disallow default bitwise assignment
-        void operator=(const ensightStream&);
+        void operator=(const ensightStream&) = delete;
 
 
 public:
@@ -86,8 +86,6 @@ public:
             return name_;
         }
 
-        virtual bool ascii() const = 0;
-
         virtual void write(const char*) = 0;
 
         virtual void write(const int) = 0;
@@ -98,8 +96,6 @@ public:
 
         virtual void writePartHeader(const label) = 0;
 
-
-
 };
 
 
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C
index af56283641..ecfb4fe74d 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -34,11 +34,14 @@ Description
 
 Usage
     - foamToEnsight [OPTION] \n
-    Translates OpenFOAM data to Ensight format
+    Translates OpenFOAM data to EnSight format
 
     \param -ascii \n
     Write Ensight data in ASCII format instead of "C Binary"
 
+    \param -noZero \n
+    Exclude the often incomplete initial conditions.
+
     \param -patches patchList \n
     Specify particular patches to write.
     Specifying an empty list suppresses writing the internalMesh.
@@ -52,6 +55,9 @@ Usage
     \param -cellZone zoneName \n
     Specify single cellZone to write (not lagrangian)
 
+    \param -width \<n\>\n
+    Width of EnSight data subdir (default: 8)
+
 Note
     Parallel support for cloud data is not supported
     - writes to \a EnSight directory to avoid collisions with foamToEnsightParts
@@ -70,14 +76,12 @@ Note
 #include "scalarIOField.H"
 #include "tensorIOField.H"
 
+#include "ensightFile.H"
 #include "ensightMesh.H"
 #include "ensightField.H"
-
-#include "ensightParticlePositions.H"
-#include "ensightCloudField.H"
+#include "ensightCloud.H"
 
 #include "fvc.H"
-
 #include "cellSet.H"
 #include "fvMeshSubset.H"
 
@@ -151,32 +155,21 @@ int main(int argc, char *argv[])
         "word",
         "specify cellZone to write"
     );
+    argList::addOption
+    (
+        "name",
+        "subdir",
+        "define sub-directory name to use for ensight data "
+        "(default: 'EnSight')"
+    );
+    argList::addOption
+    (
+        "width",
+        "n",
+        "width of ensight data subdir"
+    );
 
-    #include "setRootCase.H"
-
-    // Check options
-    const bool binary = !args.optionFound("ascii");
-    const bool nodeValues = args.optionFound("nodeValues");
-
-    cpuTime timer;
-    memInfo mem;
-    Info<< "Initial memory "
-        << mem.update().size() << " kB" << endl;
-
-    #include "createTime.H"
-
-    instantList Times = timeSelector::select0(runTime, args);
-
-    #include "createNamedMesh.H"
-
-    // Mesh instance (region0 gets filtered out)
-    fileName regionPrefix = "";
-
-    if (regionName != polyMesh::defaultRegion)
-    {
-        regionPrefix = regionName;
-    }
-
+    // the volume field types that we handle
     const label nVolFieldTypes = 10;
     const word volFieldTypes[] =
     {
@@ -193,38 +186,88 @@ int main(int argc, char *argv[])
         volTensorField::DimensionedInternalField::typeName
     };
 
+    #include "setRootCase.H"
+
+    // default to binary output, unless otherwise specified
+    const enum IOstream::streamFormat format =
+    (
+        args.optionFound("ascii")
+      ? IOstream::ASCII
+      : IOstream::BINARY
+    );
+
+    const bool nodeValues = args.optionFound("nodeValues");
+
+    cpuTime timer;
+    memInfo mem;
+    Info<< "Initial memory "
+        << mem.update().size() << " kB" << endl;
+
+    #include "createTime.H"
+
+    instantList timeDirs = timeSelector::select0(runTime, args);
+
+    // adjust output width
+    if (args.optionFound("width"))
+    {
+        ensightFile::subDirWidth(args.optionRead<label>("width"));
+    }
+
+    // define sub-directory name to use for EnSight data
+    fileName ensightDir = "EnSight";
+    args.optionReadIfPresent("name", ensightDir);
+
     // Path to EnSight directory at case level only
     // - For parallel cases, data only written from master
-    fileName ensightDir = args.rootPath()/args.globalCaseName()/"EnSight";
+    if (!ensightDir.isAbsolute())
+    {
+        ensightDir = args.rootPath()/args.globalCaseName()/ensightDir;
+    }
+
+    const fileName dataDir  = ensightDir/"data";
+    const fileName dataMask = dataDir.name()/ensightFile::mask();
 
     if (Pstream::master())
     {
+        // EnSight and EnSight/data directories must exist
+        // - remove old data for a clean conversion of everything
         if (isDir(ensightDir))
         {
             rmDir(ensightDir);
         }
 
-        mkDir(ensightDir);
+        mkDir(dataDir);
+    }
+
+    #include "createNamedMesh.H"
+
+    // Mesh instance (region0 gets filtered out)
+    fileName regionPrefix;
+    if (regionName != polyMesh::defaultRegion)
+    {
+        regionPrefix = regionName;
     }
 
     // Start of case file header output
     // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    const word prepend = args.globalCaseName() + '.';
-
-    OFstream *ensightCaseFilePtr = NULL;
+    OFstream *ensightCaseFilePtr(nullptr);
     if (Pstream::master())
     {
-        fileName caseFileName = prepend + "case";
+        fileName caseFileName = args.globalCaseName() + ".case";
         Info<< nl << "write case: " << caseFileName.c_str() << endl;
 
-        // the case file is always ASCII
+        // The case file is always ASCII
         ensightCaseFilePtr = new OFstream
         (
             ensightDir/caseFileName,
             IOstream::ASCII
         );
 
+        ensightCaseFilePtr->setf(ios_base::left);
+        ensightCaseFilePtr->setf(ios_base::scientific, ios_base::floatfield);
+        ensightCaseFilePtr->precision(5);
+
         *ensightCaseFilePtr
             << "FORMAT" << nl
             << "type: ensight gold" << nl << nl;
@@ -280,11 +323,11 @@ int main(int argc, char *argv[])
         patchPatterns,
         selectedZones,
         zonePatterns,
-        binary
+        format
     );
 
     // Set Time to the last time before looking for the lagrangian objects
-    runTime.setTime(Times.last(), Times.size()-1);
+    runTime.setTime(timeDirs.last(), timeDirs.size()-1);
 
     IOobjectList objects(mesh, runTime.timeName());
 
@@ -296,88 +339,99 @@ int main(int argc, char *argv[])
             << " Writing meshes for every timestep." << endl;
     }
 
-
-    wordHashSet allCloudNames;
     if (Pstream::master())
     {
-        word geomFileName = prepend + "0000";
+        // test the pre-check variable if there is a moving mesh
+        // time-set for geometries
+        // TODO: split off into separate time-set,
+        // but need to verify ensight spec
 
-        // test pre check variable if there is a moving mesh
         if (meshMoving)
         {
-            geomFileName = prepend + "****";
+            ensightCaseFile
+                << "GEOMETRY" << nl
+                << setw(16) << "model: 1"
+                << (dataMask/ensightMesh::geometryName).c_str() << nl;
+        }
+        else
+        {
+            ensightCaseFile
+                << "GEOMETRY" << nl
+                << setw(16) << "model:"
+                << ensightMesh::geometryName << nl;
         }
-
-        ensightCaseFile
-            << "GEOMETRY" << nl
-            << "model:        1     "
-            << (geomFileName + ".mesh").c_str() << nl;
     }
 
-    // Identify if lagrangian data exists at each time, and add clouds
-    // to the 'allCloudNames' hash set
-    forAll(Times, timeI)
+    // Identify if lagrangian data exists any time step, and add clouds
+    // to the 'cloudNames' (sorted list)
+    wordList cloudNames;
     {
-        runTime.setTime(Times[timeI], timeI);
+        wordHashSet allCloudNames;
 
-        fileNameList cloudDirs = readDir
-        (
-            runTime.timePath()/regionPrefix/cloud::prefix,
-            fileName::DIRECTORY
-        );
-
-        forAll(cloudDirs, cloudI)
+        forAll(timeDirs, timeI)
         {
-            IOobjectList cloudObjs
+            runTime.setTime(timeDirs[timeI], timeI);
+
+            fileNameList cloudDirs = readDir
             (
-                mesh,
-                runTime.timeName(),
-                cloud::prefix/cloudDirs[cloudI]
+                runTime.timePath()/regionPrefix/cloud::prefix,
+                fileName::DIRECTORY
             );
 
-            IOobject* positionsPtr = cloudObjs.lookup(word("positions"));
-
-            if (positionsPtr)
+            forAll(cloudDirs, cloudI)
             {
-                allCloudNames.insert(cloudDirs[cloudI]);
+                IOobjectList cloudObjs
+                (
+                    mesh,
+                    runTime.timeName(),
+                    cloud::prefix/cloudDirs[cloudI]
+                );
+
+                IOobject* positionsPtr = cloudObjs.lookup(word("positions"));
+
+                if (positionsPtr)
+                {
+                    allCloudNames.insert(cloudDirs[cloudI]);
+                }
             }
         }
+
+        // sorted for consistency
+        cloudNames = allCloudNames.sortedToc();
     }
 
     HashTable<HashTable<word>> allCloudFields;
-    forAllConstIter(wordHashSet, allCloudNames, cloudIter)
+    forAll(cloudNames, cloudNo)
     {
+        const word& cloudName = cloudNames[cloudNo];
+
         // Add the name of the cloud(s) to the case file header
         if (Pstream::master())
         {
             ensightCaseFile
-            <<  (
-                    "measured:     1     "
-                  + prepend
-                  + "****."
-                  + cloudIter.key()
-                ).c_str()
-            << nl;
+                << setw(16) << "measured: 1"
+                << fileName(dataMask/cloud::prefix/cloudName/"positions").c_str()
+                << nl;
         }
 
         // Create a new hash table for each cloud
-        allCloudFields.insert(cloudIter.key(), HashTable<word>());
+        allCloudFields.insert(cloudName, HashTable<word>());
 
         // Identify the new cloud in the hash table
         HashTable<HashTable<word>>::iterator newCloudIter =
-            allCloudFields.find(cloudIter.key());
+            allCloudFields.find(cloudName);
 
         // Loop over all times to build list of fields and field types
         // for each cloud
-        forAll(Times, timeI)
+        forAll(timeDirs, timeI)
         {
-            runTime.setTime(Times[timeI], timeI);
+            runTime.setTime(timeDirs[timeI], timeI);
 
             IOobjectList cloudObjs
             (
                 mesh,
                 runTime.timeName(),
-                cloud::prefix/cloudIter.key()
+                cloud::prefix/cloudName
             );
 
             forAllConstIter(IOobjectList, cloudObjs, fieldIter)
@@ -398,15 +452,26 @@ int main(int argc, char *argv[])
     }
 
     label nTimeSteps = 0;
-    forAll(Times, timeIndex)
+    forAll(timeDirs, timeIndex)
     {
-        nTimeSteps++;
-        runTime.setTime(Times[timeIndex], timeIndex);
+        ++nTimeSteps;
+        runTime.setTime(timeDirs[timeIndex], timeIndex);
 
-        word timeName = itoa(timeIndex);
-        word timeFile = prepend + timeName;
+        Info<< "Time [" << timeIndex << "] = " << runTime.timeName() << nl;
 
-        Info<< "Translating time = " << runTime.timeName() << nl;
+        if (Pstream::master())
+        {
+            // the data/ITER subdirectory must exist
+            // Note that data/ITER is indeed a valid ensight::FileName
+            const fileName subDir = ensightFile::subDir(timeIndex);
+            mkDir(dataDir/subDir);
+
+            // place a timestamp in the directory for future reference
+            OFstream timeStamp(dataDir/subDir/"time");
+            timeStamp
+                << "#   timestep time" << nl
+                << subDir.c_str() << " " << runTime.timeName() << nl;
+        }
 
         polyMesh::readUpdateState meshState = mesh.readUpdate();
         if (timeIndex != 0 && meshSubsetter.hasSubMesh())
@@ -420,7 +485,6 @@ int main(int argc, char *argv[])
             meshSubsetter.setLargeCellSubset(c0, 0);
         }
 
-
         if (meshState != polyMesh::UNCHANGED)
         {
             eMesh.correct();
@@ -430,8 +494,7 @@ int main(int argc, char *argv[])
         {
             eMesh.write
             (
-                ensightDir,
-                prepend,
+                dataDir,
                 timeIndex,
                 meshMoving,
                 ensightCaseFile
@@ -450,6 +513,7 @@ int main(int argc, char *argv[])
 
         // Cell field data output
         // ~~~~~~~~~~~~~~~~~~~~~~
+        Info<< "Write volume field (";
 
         for (label i=0; i<nVolFieldTypes; i++)
         {
@@ -491,10 +555,8 @@ int main(int argc, char *argv[])
                     (
                         volField(meshSubsetter, vf),
                         eMesh,
-                        ensightDir,
-                        prepend,
+                        dataDir,
                         timeIndex,
-                        binary,
                         nodeValues,
                         ensightCaseFile
                     );
@@ -506,10 +568,8 @@ int main(int argc, char *argv[])
                     (
                         volField(meshSubsetter, vf),
                         eMesh,
-                        ensightDir,
-                        prepend,
+                        dataDir,
                         timeIndex,
-                        binary,
                         nodeValues,
                         ensightCaseFile
                     );
@@ -521,10 +581,8 @@ int main(int argc, char *argv[])
                     (
                         volField(meshSubsetter, vf),
                         eMesh,
-                        ensightDir,
-                        prepend,
+                        dataDir,
                         timeIndex,
-                        binary,
                         nodeValues,
                         ensightCaseFile
                     );
@@ -536,10 +594,8 @@ int main(int argc, char *argv[])
                     (
                         volField(meshSubsetter, vf),
                         eMesh,
-                        ensightDir,
-                        prepend,
+                        dataDir,
                         timeIndex,
-                        binary,
                         nodeValues,
                         ensightCaseFile
                     );
@@ -551,10 +607,8 @@ int main(int argc, char *argv[])
                     (
                         volField(meshSubsetter, vf),
                         eMesh,
-                        ensightDir,
-                        prepend,
+                        dataDir,
                         timeIndex,
-                        binary,
                         nodeValues,
                         ensightCaseFile
                     );
@@ -575,10 +629,8 @@ int main(int argc, char *argv[])
                     (
                         volField<scalar>(meshSubsetter, df),
                         eMesh,
-                        ensightDir,
-                        prepend,
+                        dataDir,
                         timeIndex,
-                        binary,
                         nodeValues,
                         ensightCaseFile
                     );
@@ -598,10 +650,8 @@ int main(int argc, char *argv[])
                     (
                         volField<vector>(meshSubsetter, df),
                         eMesh,
-                        ensightDir,
-                        prepend,
+                        dataDir,
                         timeIndex,
-                        binary,
                         nodeValues,
                         ensightCaseFile
                     );
@@ -621,10 +671,8 @@ int main(int argc, char *argv[])
                     (
                         volField<sphericalTensor>(meshSubsetter, df),
                         eMesh,
-                        ensightDir,
-                        prepend,
+                        dataDir,
                         timeIndex,
-                        binary,
                         nodeValues,
                         ensightCaseFile
                     );
@@ -644,10 +692,8 @@ int main(int argc, char *argv[])
                     (
                         volField<symmTensor>(meshSubsetter, df),
                         eMesh,
-                        ensightDir,
-                        prepend,
+                        dataDir,
                         timeIndex,
-                        binary,
                         nodeValues,
                         ensightCaseFile
                     );
@@ -667,24 +713,30 @@ int main(int argc, char *argv[])
                     (
                         volField<tensor>(meshSubsetter, df),
                         eMesh,
-                        ensightDir,
-                        prepend,
+                        dataDir,
                         timeIndex,
-                        binary,
                         nodeValues,
                         ensightCaseFile
                     );
                 }
             }
         }
+        Info<< " )" << endl;
 
 
         // Cloud field data output
         // ~~~~~~~~~~~~~~~~~~~~~~~
 
-        forAllConstIter(HashTable<HashTable<word>>, allCloudFields, cloudIter)
+        forAll(cloudNames, cloudNo)
         {
-            const word& cloudName = cloudIter.key();
+            const word& cloudName = cloudNames[cloudNo];
+            if (!allCloudFields.found(cloudName))
+            {
+                // extra safety
+                continue;
+            }
+
+            const HashTable<word>& cloudFields = allCloudFields[cloudName];
 
             fileNameList currentCloudDirs = readDir
             (
@@ -692,17 +744,22 @@ int main(int argc, char *argv[])
                 fileName::DIRECTORY
             );
 
+            Info<< "Write " << cloudName << " (";
+
             bool cloudExists = inFileNameList(currentCloudDirs, cloudName);
+            reduce(cloudExists, orOp<bool>());
+
             ensightParticlePositions
             (
                 mesh,
-                ensightDir,
-                timeFile,
+                dataDir,
+                timeIndex,
                 cloudName,
-                cloudExists
+                cloudExists,
+                format
             );
 
-            forAllConstIter(HashTable<word>, cloudIter(), fieldIter)
+            forAllConstIter(HashTable<word>, cloudFields, fieldIter)
             {
                 const word& fieldName = fieldIter.key();
                 const word& fieldType = fieldIter();
@@ -720,17 +777,20 @@ int main(int argc, char *argv[])
                 (
                     false
                 );
+                reduce(fieldExists, orOp<bool>());
+
                 if (fieldType == scalarIOField::typeName)
                 {
                     ensightCloudField<scalar>
                     (
                         fieldObject,
-                        ensightDir,
-                        prepend,
+                        dataDir,
                         timeIndex,
                         cloudName,
+                        cloudNo,
                         ensightCaseFile,
-                        fieldExists
+                        fieldExists,
+                        format
                     );
                 }
                 else if (fieldType == vectorIOField::typeName)
@@ -738,37 +798,34 @@ int main(int argc, char *argv[])
                     ensightCloudField<vector>
                     (
                         fieldObject,
-                        ensightDir,
-                        prepend,
+                        dataDir,
                         timeIndex,
                         cloudName,
+                        cloudNo,
                         ensightCaseFile,
-                        fieldExists
+                        fieldExists,
+                        format
                     );
                 }
-                else
-                {
-                    Info<< "Unable to convert field type " << fieldType
-                        << " for field " << fieldName << endl;
-                }
             }
+            Info<< " )" << endl;
         }
 
         Info<< "Wrote in "
             << timer.cpuTimeIncrement() << " s, "
-            << mem.update().size() << " kB" << endl;
+            << mem.update().size() << " kB" << nl << endl;
     }
 
     #include "ensightCaseTail.H"
 
-    if (Pstream::master())
+    if (ensightCaseFilePtr) // on master only
     {
         delete ensightCaseFilePtr;
     }
 
-    Info<< "\nEnd: "
+    Info<< "End: "
         << timer.elapsedCpuTime() << " s, "
-        << mem.update().peak() << " kB (peak)\n" << endl;
+        << mem.update().peak() << " kB (peak)" << nl << endl;
 
     return 0;
 }
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/itoa.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/itoa.C
deleted file mode 100644
index 0975da93d3..0000000000
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/itoa.C
+++ /dev/null
@@ -1,61 +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/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "itoa.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-word itoa(const label n)
-{
-    const label offset = '0';
-    const label length = 4;
-
-    char val[length + 1];
-
-    label leftOfN = n;
-
-    for (label i=0; i<length; i++)
-    {
-        label j = label(leftOfN/pow(10, length - i - 1));
-        leftOfN -= j*pow(10, length - i - 1);
-        val[i] = offset + j;
-    }
-
-    val[length] = 0;
-
-    return val;
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// ************************************************************************* //
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/itoa.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/itoa.H
deleted file mode 100644
index 0977a38960..0000000000
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/itoa.H
+++ /dev/null
@@ -1,47 +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/>.
-
-InApplication
-    foamToEnsight
-
-Description
-
-\*---------------------------------------------------------------------------*/
-
-#include "word.H"
-#include "label.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-word itoa(const label n);
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// ************************************************************************* //
-- 
GitLab


From a28370dda18eabd7b9163cf853d2fccfd7508c00 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 14 Sep 2016 09:41:03 +0100
Subject: [PATCH 13/96] MGridGenGAMGAgglomeration: Update call to
 continueAgglomerating Resolves bug-report
 http://bugs.openfoam.org/view.php?id=2244

---
 .../MGridGenGamgAgglomeration/MGridGenGAMGAgglomeration.C       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/MGridGenGAMGAgglomeration.C b/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/MGridGenGAMGAgglomeration.C
index 6959e4b2fd..644a585366 100644
--- a/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/MGridGenGAMGAgglomeration.C
+++ b/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/MGridGenGAMGAgglomeration.C
@@ -286,7 +286,7 @@ Foam::MGridGenGAMGAgglomeration::MGridGenGAMGAgglomeration
             );
         }
 
-        if (continueAgglomerating(nCoarseCells))
+        if (continueAgglomerating(finalAgglomPtr().size(), nCoarseCells))
         {
             nCells_[nCreatedLevels] = nCoarseCells;
             restrictAddressing_.set(nCreatedLevels, finalAgglomPtr);
-- 
GitLab


From 2c90bd2ee6d674c4f693d8e9294cceca8f311d98 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 14 Sep 2016 09:59:02 +0100
Subject: [PATCH 14/96] rigidBodyMeshMotionSolver: experimental nDoF
 mesh-motion solver supporting the displacement-based elliptic solvers

Specification for the tutorials/multiphase/interDyMFoam/ras/floatingObject case:

dynamicFvMesh       dynamicMotionSolverFvMesh;

motionSolverLibs   ("librigidBodyMeshMotion.so" "libfvMotionSolvers.so");

solver             rigidBodyMotionSolver;

rigidBodyMotionSolverCoeffs
{
    report          on;

    meshSolver
    {
        solver displacementLaplacian;

        displacementLaplacianCoeffs
        {
            diffusivity inverseDistance (floatingObject);
        }
    }
.
.
.
---
 .../rigidBodyMotion/rigidBodyMotion.C         |  22 ++
 .../rigidBodyMotion/rigidBodyMotion.H         |   8 +
 src/rigidBodyMeshMotion/Make/files            |   3 +-
 .../rigidBodyMeshMotion.C                     |   0
 .../rigidBodyMeshMotion.H                     |   0
 .../rigidBodyMeshMotionSolver.C               | 334 ++++++++++++++++++
 .../rigidBodyMeshMotionSolver.H               | 184 ++++++++++
 7 files changed, 550 insertions(+), 1 deletion(-)
 rename src/rigidBodyMeshMotion/{ => rigidBodyMeshMotion}/rigidBodyMeshMotion.C (100%)
 rename src/rigidBodyMeshMotion/{ => rigidBodyMeshMotion}/rigidBodyMeshMotion.H (100%)
 create mode 100644 src/rigidBodyMeshMotion/rigidBodyMeshMotionSolver/rigidBodyMeshMotionSolver.C
 create mode 100644 src/rigidBodyMeshMotion/rigidBodyMeshMotionSolver/rigidBodyMeshMotionSolver.H

diff --git a/src/rigidBodyDynamics/rigidBodyMotion/rigidBodyMotion.C b/src/rigidBodyDynamics/rigidBodyMotion/rigidBodyMotion.C
index f14acc6e60..94794dfe50 100644
--- a/src/rigidBodyDynamics/rigidBodyMotion/rigidBodyMotion.C
+++ b/src/rigidBodyDynamics/rigidBodyMotion/rigidBodyMotion.C
@@ -178,6 +178,28 @@ void Foam::RBD::rigidBodyMotion::status(const label bodyID) const
 }
 
 
+Foam::tmp<Foam::pointField> Foam::RBD::rigidBodyMotion::transformPoints
+(
+    const label bodyID,
+    const pointField& initialPoints
+) const
+{
+    // Calculate the transform from the initial state in the global frame
+    // to the current state in the global frame
+    spatialTransform X(X0(bodyID).inv() & X00(bodyID));
+
+    tmp<pointField> tpoints(new pointField(initialPoints.size()));
+    pointField& points = tpoints.ref();
+
+    forAll(points, i)
+    {
+        points[i] = X.transformPoint(initialPoints[i]);
+    }
+
+    return tpoints;
+}
+
+
 Foam::tmp<Foam::pointField> Foam::RBD::rigidBodyMotion::transformPoints
 (
     const label bodyID,
diff --git a/src/rigidBodyDynamics/rigidBodyMotion/rigidBodyMotion.H b/src/rigidBodyDynamics/rigidBodyMotion/rigidBodyMotion.H
index c386169064..d065d9797c 100644
--- a/src/rigidBodyDynamics/rigidBodyMotion/rigidBodyMotion.H
+++ b/src/rigidBodyDynamics/rigidBodyMotion/rigidBodyMotion.H
@@ -183,6 +183,14 @@ public:
 
         // Transformations
 
+            //- Transform the given initial pointField of the specified body
+            //  to correspond to the current motion state
+            tmp<pointField> transformPoints
+            (
+                const label bodyID,
+                const pointField& initialPoints
+            ) const;
+
             //- Transform the given initial pointField of the specified body
             //  to correspond to the current motion state scaled using
             //  'slerp' interpolation
diff --git a/src/rigidBodyMeshMotion/Make/files b/src/rigidBodyMeshMotion/Make/files
index f7fcbc1361..57443ab01d 100644
--- a/src/rigidBodyMeshMotion/Make/files
+++ b/src/rigidBodyMeshMotion/Make/files
@@ -1,3 +1,4 @@
-rigidBodyMeshMotion.C
+rigidBodyMeshMotion/rigidBodyMeshMotion.C
+rigidBodyMeshMotionSolver/rigidBodyMeshMotionSolver.C
 
 LIB = $(FOAM_LIBBIN)/librigidBodyMeshMotion
diff --git a/src/rigidBodyMeshMotion/rigidBodyMeshMotion.C b/src/rigidBodyMeshMotion/rigidBodyMeshMotion/rigidBodyMeshMotion.C
similarity index 100%
rename from src/rigidBodyMeshMotion/rigidBodyMeshMotion.C
rename to src/rigidBodyMeshMotion/rigidBodyMeshMotion/rigidBodyMeshMotion.C
diff --git a/src/rigidBodyMeshMotion/rigidBodyMeshMotion.H b/src/rigidBodyMeshMotion/rigidBodyMeshMotion/rigidBodyMeshMotion.H
similarity index 100%
rename from src/rigidBodyMeshMotion/rigidBodyMeshMotion.H
rename to src/rigidBodyMeshMotion/rigidBodyMeshMotion/rigidBodyMeshMotion.H
diff --git a/src/rigidBodyMeshMotion/rigidBodyMeshMotionSolver/rigidBodyMeshMotionSolver.C b/src/rigidBodyMeshMotion/rigidBodyMeshMotionSolver/rigidBodyMeshMotionSolver.C
new file mode 100644
index 0000000000..f6476e46a0
--- /dev/null
+++ b/src/rigidBodyMeshMotion/rigidBodyMeshMotionSolver/rigidBodyMeshMotionSolver.C
@@ -0,0 +1,334 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  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 "rigidBodyMeshMotionSolver.H"
+#include "addToRunTimeSelectionTable.H"
+#include "polyMesh.H"
+#include "pointPatchDist.H"
+#include "pointConstraints.H"
+#include "uniformDimensionedFields.H"
+#include "forces.H"
+#include "mathematicalConstants.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+    defineTypeNameAndDebug(rigidBodyMeshMotionSolver, 0);
+
+    addToRunTimeSelectionTable
+    (
+        motionSolver,
+        rigidBodyMeshMotionSolver,
+        dictionary
+    );
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+Foam::rigidBodyMeshMotionSolver::bodyMesh::bodyMesh
+(
+    const polyMesh& mesh,
+    const word& name,
+    const label bodyID,
+    const dictionary& dict
+)
+:
+    name_(name),
+    bodyID_(bodyID),
+    patches_(wordReList(dict.lookup("patches"))),
+    patchSet_(mesh.boundaryMesh().patchSet(patches_))
+{}
+
+
+Foam::rigidBodyMeshMotionSolver::rigidBodyMeshMotionSolver
+(
+    const polyMesh& mesh,
+    const IOdictionary& dict
+)
+:
+    motionSolver(mesh, dict, typeName),
+    model_
+    (
+        coeffDict(),
+        IOobject
+        (
+            "rigidBodyMotionState",
+            mesh.time().timeName(),
+            "uniform",
+            mesh
+        ).headerOk()
+      ? IOdictionary
+        (
+            IOobject
+            (
+                "rigidBodyMotionState",
+                mesh.time().timeName(),
+                "uniform",
+                mesh,
+                IOobject::READ_IF_PRESENT,
+                IOobject::NO_WRITE,
+                false
+            )
+        )
+      : coeffDict()
+    ),
+    test_(coeffDict().lookupOrDefault<Switch>("test", false)),
+    rhoInf_(1.0),
+    rhoName_(coeffDict().lookupOrDefault<word>("rho", "rho")),
+    curTimeIndex_(-1),
+    meshSolverPtr_
+    (
+        motionSolver::New
+        (
+            mesh,
+            IOdictionary
+            (
+                IOobject
+                (
+                    "rigidBodyMotionSolver:meshSolver",
+                    mesh.time().constant(),
+                    mesh
+                ),
+                coeffDict().subDict("meshSolver")
+            )
+        )
+    ),
+    meshSolver_(refCast<displacementMotionSolver>(meshSolverPtr_()))
+{
+    if (rhoName_ == "rhoInf")
+    {
+        rhoInf_ = readScalar(coeffDict().lookup("rhoInf"));
+    }
+
+    const dictionary& bodiesDict = coeffDict().subDict("bodies");
+
+    forAllConstIter(IDLList<entry>, bodiesDict, iter)
+    {
+        const dictionary& bodyDict = iter().dict();
+
+        if (bodyDict.found("patches"))
+        {
+            const label bodyID = model_.bodyID(iter().keyword());
+
+            if (bodyID == -1)
+            {
+                FatalErrorInFunction
+                    << "Body " << iter().keyword()
+                    << " has been merged with another body"
+                       " and cannot be assigned a set of patches"
+                    << exit(FatalError);
+            }
+
+            bodyMeshes_.append
+            (
+                new bodyMesh
+                (
+                    mesh,
+                    iter().keyword(),
+                    bodyID,
+                    bodyDict
+                )
+            );
+        }
+    }
+}
+
+
+// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
+
+Foam::rigidBodyMeshMotionSolver::~rigidBodyMeshMotionSolver()
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+Foam::tmp<Foam::pointField>
+Foam::rigidBodyMeshMotionSolver::curPoints() const
+{
+    return meshSolverPtr_->curPoints();
+}
+
+
+void Foam::rigidBodyMeshMotionSolver::solve()
+{
+    const Time& t = mesh().time();
+
+    if (mesh().nPoints() != meshSolver_.points0().size())
+    {
+        FatalErrorInFunction
+            << "The number of points in the mesh seems to have changed." << endl
+            << "In constant/polyMesh there are " << meshSolver_.points0().size()
+            << " points; in the current mesh there are " << mesh().nPoints()
+            << " points." << exit(FatalError);
+    }
+
+    // Store the motion state at the beginning of the time-step
+    if (curTimeIndex_ != this->db().time().timeIndex())
+    {
+        model_.newTime();
+        curTimeIndex_ = this->db().time().timeIndex();
+    }
+
+    if (db().foundObject<uniformDimensionedVectorField>("g"))
+    {
+        model_.g() =
+            db().lookupObject<uniformDimensionedVectorField>("g").value();
+    }
+
+    if (test_)
+    {
+        label nIter(readLabel(coeffDict().lookup("nIter")));
+
+        for (label i=0; i<nIter; i++)
+        {
+            model_.solve
+            (
+                t.deltaTValue(),
+                scalarField(model_.nDoF(), Zero),
+                Field<spatialVector>(model_.nBodies(), Zero)
+            );
+        }
+    }
+    else
+    {
+        Field<spatialVector> fx(model_.nBodies(), Zero);
+
+        forAll(bodyMeshes_, bi)
+        {
+            const label bodyID = bodyMeshes_[bi].bodyID_;
+
+            dictionary forcesDict;
+            forcesDict.add("type", functionObjects::forces::typeName);
+            forcesDict.add("patches", bodyMeshes_[bi].patches_);
+            forcesDict.add("rhoInf", rhoInf_);
+            forcesDict.add("rho", rhoName_);
+            forcesDict.add("CofR", vector::zero);
+
+            functionObjects::forces f("forces", db(), forcesDict);
+            f.calcForcesMoment();
+
+            fx[bodyID] = spatialVector(f.momentEff(), f.forceEff());
+        }
+
+        model_.solve
+        (
+            t.deltaTValue(),
+            scalarField(model_.nDoF(), Zero),
+            fx
+        );
+    }
+
+    if (Pstream::master() && model_.report())
+    {
+        forAll(bodyMeshes_, bi)
+        {
+            model_.status(bodyMeshes_[bi].bodyID_);
+        }
+    }
+
+    // Update the displacements
+    forAll(bodyMeshes_, bi)
+    {
+        forAllConstIter(labelHashSet, bodyMeshes_[bi].patchSet_, iter)
+        {
+            label patchi = iter.key();
+
+            pointField patchPoints0
+            (
+                meshSolver_.pointDisplacement().boundaryField()[patchi]
+               .patchInternalField(meshSolver_.points0())
+            );
+
+            meshSolver_.pointDisplacement().boundaryFieldRef()[patchi] ==
+            (
+                model_.transformPoints
+                (
+                    bodyMeshes_[bi].bodyID_,
+                    patchPoints0
+                ) - patchPoints0
+            )();
+        }
+    }
+
+    meshSolverPtr_->solve();
+}
+
+
+bool Foam::rigidBodyMeshMotionSolver::writeObject
+(
+    IOstream::streamFormat fmt,
+    IOstream::versionNumber ver,
+    IOstream::compressionType cmp
+) const
+{
+    IOdictionary dict
+    (
+        IOobject
+        (
+            "rigidBodyMotionState",
+            mesh().time().timeName(),
+            "uniform",
+            mesh(),
+            IOobject::NO_READ,
+            IOobject::NO_WRITE,
+            false
+        )
+    );
+
+    model_.state().write(dict);
+    return dict.regIOobject::write();
+}
+
+
+bool Foam::rigidBodyMeshMotionSolver::read()
+{
+    if (motionSolver::read())
+    {
+        model_.read(coeffDict());
+
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+
+void Foam::rigidBodyMeshMotionSolver::movePoints(const pointField& points)
+{
+    meshSolverPtr_->movePoints(points);
+}
+
+
+void Foam::rigidBodyMeshMotionSolver::updateMesh(const mapPolyMesh& mpm)
+{
+    meshSolverPtr_->updateMesh(mpm);
+}
+
+
+// ************************************************************************* //
diff --git a/src/rigidBodyMeshMotion/rigidBodyMeshMotionSolver/rigidBodyMeshMotionSolver.H b/src/rigidBodyMeshMotion/rigidBodyMeshMotionSolver/rigidBodyMeshMotionSolver.H
new file mode 100644
index 0000000000..26dfb21899
--- /dev/null
+++ b/src/rigidBodyMeshMotion/rigidBodyMeshMotionSolver/rigidBodyMeshMotionSolver.H
@@ -0,0 +1,184 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  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::rigidBodyMeshMotionSolver
+
+Description
+    Rigid-body mesh motion solver for fvMesh.
+
+    Applies septernion interpolation of movement as function of distance to the
+    object surface.
+
+SourceFiles
+    rigidBodyMeshMotionSolver.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef rigidBodyMeshMotionSolver_H
+#define rigidBodyMeshMotionSolver_H
+
+#include "displacementMotionSolver.H"
+#include "rigidBodyMotion.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+/*---------------------------------------------------------------------------*\
+        Class rigidBodyMeshMotionSolver Declaration
+\*---------------------------------------------------------------------------*/
+
+class rigidBodyMeshMotionSolver
+:
+    public motionSolver
+{
+    //- Class containing the patches and point motion weighting for each body
+    class bodyMesh
+    {
+        //- Name of the body
+        const word name_;
+
+        //- ID of the body in the RBD::rigidBodyMotion
+        const label bodyID_;
+
+        //- List of mesh patches associated with this body
+        const wordReList patches_;
+
+        //- Patches to integrate forces
+        const labelHashSet patchSet_;
+
+
+    public:
+
+        friend class rigidBodyMeshMotionSolver;
+
+        bodyMesh
+        (
+            const polyMesh& mesh,
+            const word& name,
+            const label bodyID,
+            const dictionary& dict
+        );
+    };
+
+
+    // Private data
+
+        //- Rigid-body model
+        RBD::rigidBodyMotion model_;
+
+        //- List of the bodyMeshes containing the patches and point motion
+        //  weighting for each body
+        PtrList<bodyMesh> bodyMeshes_;
+
+        //- Switch for test-mode in which only the
+        //  gravitational body-force is applied
+        Switch test_;
+
+        //- Reference density required by the forces object for
+        //  incompressible calculations, required if rho == rhoInf
+        scalar rhoInf_;
+
+        //- Name of density field, optional unless used for an
+        //  incompressible simulation, when this needs to be specified
+        //  as rhoInf
+        word rhoName_;
+
+        //- Current time index (used for updating)
+        label curTimeIndex_;
+
+        autoPtr<motionSolver> meshSolverPtr_;
+
+        displacementMotionSolver& meshSolver_;
+
+
+    // Private Member Functions
+
+        //- Disallow default bitwise copy construct
+        rigidBodyMeshMotionSolver
+        (
+            const rigidBodyMeshMotionSolver&
+        );
+
+        //- Disallow default bitwise assignment
+        void operator=(const rigidBodyMeshMotionSolver&);
+
+
+public:
+
+    //- Runtime type information
+    TypeName("rigidBodyMotionSolver");
+
+
+    // Constructors
+
+        //- Construct from polyMesh and IOdictionary
+        rigidBodyMeshMotionSolver
+        (
+            const polyMesh&,
+            const IOdictionary& dict
+        );
+
+
+    //- Destructor
+    ~rigidBodyMeshMotionSolver();
+
+
+    // Member Functions
+
+        //- Return point location obtained from the current motion field
+        virtual tmp<pointField> curPoints() const;
+
+        //- Solve for motion
+        virtual void solve();
+
+        //- Write state using given format, version and compression
+        virtual bool writeObject
+        (
+            IOstream::streamFormat fmt,
+            IOstream::versionNumber ver,
+            IOstream::compressionType cmp
+        ) const;
+
+        //- Read dynamicMeshDict dictionary
+        virtual bool read();
+
+        //- Update local data for geometry changes
+        virtual void movePoints(const pointField&);
+
+        //-  Update local data for topology changes
+        virtual void updateMesh(const mapPolyMesh&);
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
-- 
GitLab


From 2dd9b3913623eb8f51edd0caa7dda75944b8cafa Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Wed, 14 Sep 2016 14:02:40 +0200
Subject: [PATCH 15/96] ENH: runTime calculation of (dp/dt)^2 - issue #224

- implemented using magSqr() instead of sqr().
  For scalar fields they are the same, but can be useful
  if this function object is extended for more field types.
---
 .../functionObjects/utilities/Make/files      |   3 +
 .../functionObjects/utilities/Make/options    |   2 +-
 .../functionObjects/utilities/ddt2/IOddt2.H   |  49 ++++
 .../functionObjects/utilities/ddt2/ddt2.C     | 235 ++++++++++++++++++
 .../functionObjects/utilities/ddt2/ddt2.H     | 212 ++++++++++++++++
 .../utilities/ddt2/ddt2FunctionObject.C       |  42 ++++
 .../utilities/ddt2/ddt2FunctionObject.H       |  53 ++++
 7 files changed, 595 insertions(+), 1 deletion(-)
 create mode 100644 src/postProcessing/functionObjects/utilities/ddt2/IOddt2.H
 create mode 100644 src/postProcessing/functionObjects/utilities/ddt2/ddt2.C
 create mode 100644 src/postProcessing/functionObjects/utilities/ddt2/ddt2.H
 create mode 100644 src/postProcessing/functionObjects/utilities/ddt2/ddt2FunctionObject.C
 create mode 100644 src/postProcessing/functionObjects/utilities/ddt2/ddt2FunctionObject.H

diff --git a/src/postProcessing/functionObjects/utilities/Make/files b/src/postProcessing/functionObjects/utilities/Make/files
index 29ca6fe361..4b7341f296 100644
--- a/src/postProcessing/functionObjects/utilities/Make/files
+++ b/src/postProcessing/functionObjects/utilities/Make/files
@@ -6,6 +6,9 @@ codedFunctionObject/codedFunctionObject.C
 CourantNo/CourantNo.C
 CourantNo/CourantNoFunctionObject.C
 
+ddt2/ddt2.C
+ddt2/ddt2FunctionObject.C
+
 DESModelRegions/DESModelRegions.C
 DESModelRegions/DESModelRegionsFunctionObject.C
 
diff --git a/src/postProcessing/functionObjects/utilities/Make/options b/src/postProcessing/functionObjects/utilities/Make/options
index 82ceb9db5f..3feeee001a 100644
--- a/src/postProcessing/functionObjects/utilities/Make/options
+++ b/src/postProcessing/functionObjects/utilities/Make/options
@@ -32,4 +32,4 @@ LIB_LIBS = \
     -lsampling \
     -lsurfMesh \
     -lchemistryModel \
-    -lreactionThermophysicalModels
\ No newline at end of file
+    -lreactionThermophysicalModels
diff --git a/src/postProcessing/functionObjects/utilities/ddt2/IOddt2.H b/src/postProcessing/functionObjects/utilities/ddt2/IOddt2.H
new file mode 100644
index 0000000000..b644076624
--- /dev/null
+++ b/src/postProcessing/functionObjects/utilities/ddt2/IOddt2.H
@@ -0,0 +1,49 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2016 OpenCFD Ltd.
+     \\/     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/>.
+
+Typedef
+    Foam::IOddt2
+
+Description
+    Instance of the generic IOOutputFilter for ddt2.
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef IOddt2_H
+#define IOddt2_H
+
+#include "ddt2.H"
+#include "IOOutputFilter.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+    typedef IOOutputFilter<ddt2> IOddt2;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/postProcessing/functionObjects/utilities/ddt2/ddt2.C b/src/postProcessing/functionObjects/utilities/ddt2/ddt2.C
new file mode 100644
index 0000000000..76975fcd07
--- /dev/null
+++ b/src/postProcessing/functionObjects/utilities/ddt2/ddt2.C
@@ -0,0 +1,235 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2016 OpenCFD Ltd.
+     \\/     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 "ddt2.H"
+
+#include "volFields.H"
+#include "dictionary.H"
+#include "FieldFunctions.H"
+#include "fvcDdt.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+    defineTypeNameAndDebug(ddt2, 0);
+}
+
+// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
+
+
+template<class FieldType>
+bool Foam::ddt2::calculate
+(
+    const fvMesh& mesh,
+    bool& done
+)
+{
+    if (done)
+    {
+        return true; // already done - skip
+    }
+
+    done = mesh.foundObject<FieldType>(fieldName_);
+    if (!done)
+    {
+        return false;
+    }
+
+    const FieldType& input =
+        mesh.lookupObject<FieldType>(fieldName_);
+
+    if (!mesh.foundObject<volScalarField>(resultName_))
+    {
+        const dimensionSet dims
+        (
+            mag_
+          ? mag(input.dimensions()/dimTime)
+          : magSqr(input.dimensions()/dimTime)
+        );
+
+        mesh.objectRegistry::store
+        (
+            new volScalarField
+            (
+                IOobject
+                (
+                    resultName_,
+                    mesh.time().timeName(),
+                    mesh,
+                    IOobject::NO_READ,
+                    IOobject::NO_WRITE // OR IOobject::AUTO_WRITE
+                ),
+                mesh,
+                dimensionedScalar
+                (
+                    "zero",
+                    dims,
+                    Zero
+                ),
+                emptyPolyPatch::typeName
+            )
+        );
+    }
+
+    volScalarField& field = const_cast<volScalarField&>
+    (
+        mesh.lookupObject<volScalarField>(resultName_)
+    );
+
+    if (mag_)
+    {
+        field = mag(fvc::ddt(input));
+    }
+    else
+    {
+        field = magSqr(fvc::ddt(input));
+    }
+
+    return done;
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+Foam::ddt2::ddt2
+(
+    const word& name,
+    const objectRegistry& obr,
+    const dictionary& dict,
+    const bool loadFromFiles
+)
+:
+    name_(name),
+    obr_(obr),
+    active_(true),
+    fieldName_("undefined-fieldName"),
+    resultName_(word::null),
+    log_(true),
+    mag_(dict.lookupOrDefault<Switch>("mag", false))
+{
+    // Check if the available mesh is an fvMesh, otherwise deactivate
+    if (!isA<fvMesh>(obr_))
+    {
+        active_ = false;
+        WarningInFunction
+            << "No fvMesh available, deactivating." << nl
+            << endl;
+    }
+
+    read(dict);
+}
+
+
+// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
+
+Foam::ddt2::~ddt2()
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+void Foam::ddt2::read(const dictionary& dict)
+{
+    if (active_)
+    {
+        log_.readIfPresent("log", dict);
+
+        dict.lookup("fieldName") >> fieldName_;
+        dict.readIfPresent("resultName", resultName_);
+
+        if (resultName_.empty())
+        {
+            resultName_ =
+            (
+                word(mag_ ? "mag" : "magSqr")
+              + "(ddt(" + fieldName_ + "))"
+            );
+        }
+    }
+}
+
+
+void Foam::ddt2::execute()
+{
+    if (active_)
+    {
+        const fvMesh& mesh = refCast<const fvMesh>(obr_);
+        bool done = false;
+
+        calculate<volScalarField>(mesh, done);
+        calculate<volVectorField>(mesh, done);
+
+        if (!done)
+        {
+            WarningInFunction
+                << "Unprocessed field " << fieldName_ << endl;
+        }
+    }
+}
+
+
+void Foam::ddt2::end()
+{
+    // Do nothing
+}
+
+
+void Foam::ddt2::timeSet()
+{
+    // Do nothing
+}
+
+
+void Foam::ddt2::write()
+{
+    if (active_)
+    {
+        if (obr_.foundObject<regIOobject>(resultName_))
+        {
+            const regIOobject& io =
+                obr_.lookupObject<regIOobject>(resultName_);
+
+            if (log_)
+            {
+                const volScalarField& field = dynamicCast<const volScalarField&>
+                (
+                    io
+                );
+
+                // could add additional statistics here
+                Info<< type() << " " << name_
+                    << " output: writing field " << field.name()
+                    << " average: " << gAverage(field) << endl;
+            }
+
+            // could also add option to suppress writing?
+            io.write();
+        }
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/src/postProcessing/functionObjects/utilities/ddt2/ddt2.H b/src/postProcessing/functionObjects/utilities/ddt2/ddt2.H
new file mode 100644
index 0000000000..93ee8ea077
--- /dev/null
+++ b/src/postProcessing/functionObjects/utilities/ddt2/ddt2.H
@@ -0,0 +1,212 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2016 OpenCFD Ltd.
+     \\/     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::ddt2
+
+Group
+    grpFVFunctionObjects
+
+Description
+    This function object calculates the magnitude squared
+    of d(scalarField)/dt.
+
+    The result can be used further for determining variance or RMS values
+    (for example).
+
+    Example of function object specification:
+    \verbatim
+    dpdt2
+    {
+        type        ddt2;
+        functionObjectLibs ("libutilityFunctionObjects.so");
+        fieldName   p;
+        resultName  dpdt2;
+        ...
+    }
+    \endverbatim
+
+    \heading Function object usage
+    \table
+        Property | Description                | Required  | Default value
+        type     | type name: ddt2            | yes       |
+        fieldName | Name of field to process  | yes       |
+        resultName | Name of magnitude field  | no        | magSqr(ddt(fieldName))
+        log      | Log to standard output     | no        | yes
+        mag      | Use 'mag' instead of 'magSqr' | no     | false
+    \endtable
+
+    Note that the optional 'mag' entry cannot be changed during the simulation
+    since it alters the dimensions of the output field.
+
+SourceFiles
+    ddt2.C
+    IOddt2.H
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef ddt2_H
+#define ddt2_H
+
+#include "volFieldsFwd.H"
+#include "surfaceFieldsFwd.H"
+#include "pointFieldFwd.H"
+#include "OFstream.H"
+#include "Switch.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// Forward declaration of classes
+class objectRegistry;
+class dictionary;
+class fvMesh;
+class polyMesh;
+class mapPolyMesh;
+class dimensionSet;
+
+/*---------------------------------------------------------------------------*\
+                            Class ddt2 Declaration
+\*---------------------------------------------------------------------------*/
+
+class ddt2
+{
+    // Private data
+
+        //- Name of this ddt2 object
+        word name_;
+
+        //- Reference to the database
+        const objectRegistry& obr_;
+
+        //- On/off switch
+        bool active_;
+
+        //- Name of field to process
+        word fieldName_;
+
+        //- Name of result field
+        word resultName_;
+
+        //- Switch to send output to Info as well as to file
+        Switch log_;
+
+        //- Use 'mag' instead of 'magSqr'.
+        //  Cannot be adjusted during the simulation since it alters the
+        //  dimensions of the output field.
+        const Switch mag_;
+
+
+    // Private Member Functions
+
+        //- Create result field upon demand
+        volScalarField& getOrCreateResultField
+        (
+            const fvMesh&,
+            const dimensionSet& inputDims
+        );
+
+
+        //- Create result field upon demand
+        template<class FieldType>
+        bool calculate(const FieldType& input);
+
+        //- Create result field upon demand
+        template<class FieldType>
+        bool calculate(const fvMesh&, bool& done);
+
+
+        //- Disallow default bitwise copy construct
+        ddt2(const ddt2&) = delete;
+
+        //- Disallow default bitwise assignment
+        void operator=(const ddt2&) = delete;
+
+
+public:
+
+    //- Runtime type information
+    TypeName("ddt2");
+
+
+    // Constructors
+
+        //- Construct for given objectRegistry and dictionary.
+        //  Allow the possibility to load fields from files
+        ddt2
+        (
+            const word& name,
+            const objectRegistry&,
+            const dictionary&,
+            const bool loadFromFiles = false
+        );
+
+
+    //- Destructor
+    virtual ~ddt2();
+
+
+    // Member Functions
+
+        //- Return name of the ddt2 function object
+        virtual const word& name() const
+        {
+            return name_;
+        }
+
+        //- Read the ddt2 specification
+        virtual void read(const dictionary&);
+
+        //- Execute, currently does nothing
+        virtual void execute();
+
+        //- Execute at the final time-loop, currently does nothing
+        virtual void end();
+
+        //- Called when time was set at the end of the Time::operator++
+        virtual void timeSet();
+
+        //- Calculate the ddt2 and write
+        virtual void write();
+
+        //- Update for changes of mesh
+        virtual void updateMesh(const mapPolyMesh&)
+        {}
+
+        //- Update for changes of mesh
+        virtual void movePoints(const polyMesh&)
+        {}
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/postProcessing/functionObjects/utilities/ddt2/ddt2FunctionObject.C b/src/postProcessing/functionObjects/utilities/ddt2/ddt2FunctionObject.C
new file mode 100644
index 0000000000..9e09a15681
--- /dev/null
+++ b/src/postProcessing/functionObjects/utilities/ddt2/ddt2FunctionObject.C
@@ -0,0 +1,42 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2016 OpenCFD Ltd.
+     \\/     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 "ddt2FunctionObject.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+    defineNamedTemplateTypeNameAndDebug(ddt2FunctionObject, 0);
+
+    addToRunTimeSelectionTable
+    (
+        functionObject,
+        ddt2FunctionObject,
+        dictionary
+    );
+}
+
+// ************************************************************************* //
diff --git a/src/postProcessing/functionObjects/utilities/ddt2/ddt2FunctionObject.H b/src/postProcessing/functionObjects/utilities/ddt2/ddt2FunctionObject.H
new file mode 100644
index 0000000000..5f36e229c5
--- /dev/null
+++ b/src/postProcessing/functionObjects/utilities/ddt2/ddt2FunctionObject.H
@@ -0,0 +1,53 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2016 OpenCFD Ltd.
+     \\/     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/>.
+
+Typedef
+    Foam::ddt2FunctionObject
+
+Description
+    FunctionObject wrapper around ddt2 to allow it to be created
+    via the functions entry within controlDict.
+
+SourceFiles
+    ddt2FunctionObject.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef ddt2FunctionObject_H
+#define ddt2FunctionObject_H
+
+#include "ddt2.H"
+#include "OutputFilterFunctionObject.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+    typedef OutputFilterFunctionObject<ddt2> ddt2FunctionObject;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
-- 
GitLab


From 47811eae8e9b661250cbc0ea151a89debcc9783e Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 14 Sep 2016 14:14:14 +0100
Subject: [PATCH 16/96] rigidBodyMotion: Change the transform averaging to use
 approximate inverse-distance weighting Now works correctly for an arbitrary
 number of bodies Resolves bug-report
 http://bugs.openfoam.org/view.php?id=2211

---
 .../rigidBodyMotion/rigidBodyMotion.C            | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/src/rigidBodyDynamics/rigidBodyMotion/rigidBodyMotion.C b/src/rigidBodyDynamics/rigidBodyMotion/rigidBodyMotion.C
index 94794dfe50..6cf2514c04 100644
--- a/src/rigidBodyDynamics/rigidBodyMotion/rigidBodyMotion.C
+++ b/src/rigidBodyDynamics/rigidBodyMotion/rigidBodyMotion.C
@@ -271,25 +271,23 @@ Foam::tmp<Foam::pointField> Foam::RBD::rigidBodyMotion::transformPoints
 
     forAll(points, i)
     {
-        // Sum (1 - wi) and find the maximum wi
-        scalar sum1mw = 0;
-        scalar maxw = 0;
+        // Initialize to 1 for the far-field weight
+        scalar sum1mw = 1;
 
         forAll(bodyIDs, bi)
         {
             w[bi] = (*(weights[bi]))[i];
-            sum1mw += 1 - w[bi];
-            maxw = max(maxw, w[bi]);
+            sum1mw += w[bi]/(1 + SMALL - w[bi]);
         }
 
-        // Calculate the limiter for (1 - wi) to ensure the sum(wi) = maxw
-        scalar lambda = (w.size() - 1 - maxw)/sum1mw;
+        // Calculate the limiter for wi/(1 - wi) to ensure the sum(wi) = 1
+        scalar lambda = 1/sum1mw;
 
-        // Limit (1 - wi) and sum the resulting wi
+        // Limit wi/(1 - wi) and sum the resulting wi
         scalar sumw = 0;
         forAll(bodyIDs, bi)
         {
-            w[bi] = 1 - lambda*(1 - w[bi]);
+            w[bi] = lambda*w[bi]/(1 + SMALL - w[bi]);
             sumw += w[bi];
         }
 
-- 
GitLab


From b4bf4be70081219fe654ba092e766b718beabd7c Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 16 Sep 2016 11:10:03 +0100
Subject: [PATCH 17/96] GAMGAgglomeration: corrected continueAgglomerating
 Patch provided by Mattijs Janssens Resolves bug-report
 http://bugs.openfoam.org/view.php?id=2226

---
 .../GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C
index eb73b6f436..65898e9c13 100644
--- a/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C
+++ b/src/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGAgglomerations/GAMGAgglomeration/GAMGAgglomeration.C
@@ -211,9 +211,9 @@ bool Foam::GAMGAgglomeration::continueAgglomerating
 ) const
 {
     const label nTotalCoarseCells = returnReduce(nCoarseCells, sumOp<label>());
-    if (nTotalCoarseCells >= Pstream::nProcs()*nCellsInCoarsestLevel_)
+    if (nTotalCoarseCells < Pstream::nProcs()*nCellsInCoarsestLevel_)
     {
-        return true;
+        return false;
     }
     else
     {
-- 
GitLab


From e1c067822ae755a3bdcbb393bd8d1170cf94cae9 Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Fri, 16 Sep 2016 21:33:40 +0200
Subject: [PATCH 18/96] ENH: runTime calculation of zeroGradient volume fields
 (issue #235)

Extrapolate internal field to walls for post-processing.
Uses as new syntax for handling the naming of multiple fields.

The input fields are selected via a wordReList.
For example,

    fields      (U "(T|k|epsilon|omega)");

The names of the resulting output fields use placeholder tokens for
flexibility. For example,

    result      zeroGradient(@@);

The '@@' placeholder is replaced by the name of the input field.
Eg,
    fields      (U T);
    result      zeroGradient(@@);
->  zeroGradient(U), zeroGradient(T)

Or,
    fields      (U T);
    result      @@nearWall;
->  UnearWall, TnearWall

NOTE:
    The function object will skip over fields that only have
    processor, empty, zeroGradient patches. The operation does not
    make much sense for these, and it avoids inadvertently
    re-processing fields twice.
---
 .../functionObjects/utilities/Make/files      |   3 +
 .../utilities/zeroGradient/IOzeroGradient.H   |  49 +++
 .../utilities/zeroGradient/zeroGradient.C     | 341 ++++++++++++++++++
 .../utilities/zeroGradient/zeroGradient.H     | 220 +++++++++++
 .../zeroGradient/zeroGradientFunctionObject.C |  42 +++
 .../zeroGradient/zeroGradientFunctionObject.H |  54 +++
 6 files changed, 709 insertions(+)
 create mode 100644 src/postProcessing/functionObjects/utilities/zeroGradient/IOzeroGradient.H
 create mode 100644 src/postProcessing/functionObjects/utilities/zeroGradient/zeroGradient.C
 create mode 100644 src/postProcessing/functionObjects/utilities/zeroGradient/zeroGradient.H
 create mode 100644 src/postProcessing/functionObjects/utilities/zeroGradient/zeroGradientFunctionObject.C
 create mode 100644 src/postProcessing/functionObjects/utilities/zeroGradient/zeroGradientFunctionObject.H

diff --git a/src/postProcessing/functionObjects/utilities/Make/files b/src/postProcessing/functionObjects/utilities/Make/files
index 4b7341f296..fdb2b220ea 100644
--- a/src/postProcessing/functionObjects/utilities/Make/files
+++ b/src/postProcessing/functionObjects/utilities/Make/files
@@ -54,6 +54,9 @@ wallShearStress/wallShearStressFunctionObject.C
 yPlus/yPlus.C
 yPlus/yPlusFunctionObject.C
 
+zeroGradient/zeroGradient.C
+zeroGradient/zeroGradientFunctionObject.C
+
 setTimeStep/setTimeStepFunctionObject.C
 
 reactionSensitivityAnalysis/reactionsSensitivityAnalysisFunctionObject.C
diff --git a/src/postProcessing/functionObjects/utilities/zeroGradient/IOzeroGradient.H b/src/postProcessing/functionObjects/utilities/zeroGradient/IOzeroGradient.H
new file mode 100644
index 0000000000..eabf6bab3c
--- /dev/null
+++ b/src/postProcessing/functionObjects/utilities/zeroGradient/IOzeroGradient.H
@@ -0,0 +1,49 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2016 OpenCFD Ltd.
+     \\/     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/>.
+
+Typedef
+    Foam::IOzeroGradient
+
+Description
+    Instance of the generic IOOutputFilter for zeroGradient.
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef IOzeroGradient_H
+#define IOzeroGradient_H
+
+#include "zeroGradient.H"
+#include "IOOutputFilter.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+    typedef IOOutputFilter<zeroGradient> IOzeroGradient;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/postProcessing/functionObjects/utilities/zeroGradient/zeroGradient.C b/src/postProcessing/functionObjects/utilities/zeroGradient/zeroGradient.C
new file mode 100644
index 0000000000..4b12a948e0
--- /dev/null
+++ b/src/postProcessing/functionObjects/utilities/zeroGradient/zeroGradient.C
@@ -0,0 +1,341 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2016 OpenCFD Ltd.
+     \\/     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 "zeroGradient.H"
+
+#include "volFields.H"
+#include "dictionary.H"
+#include "symmetryFvPatchField.H"
+#include "symmetryPlaneFvPatchField.H"
+#include "zeroGradientFvPatchField.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+    defineTypeNameAndDebug(zeroGradient, 0);
+}
+
+// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
+
+bool Foam::zeroGradient::checkFormatName(const word& str)
+{
+    if (str.find("@@") == string::npos)
+    {
+        WarningInFunction
+            << "Bad result naming "
+            << "(no '@@' token found), deactivating."
+            << nl << endl;
+
+        return false;
+    }
+    else if (str == "@@")
+    {
+        WarningInFunction
+            << "Bad result naming "
+            << "(only a '@@' token found), deactivating."
+            << nl
+            << endl;
+
+        return false;
+    }
+    else
+    {
+        return true;
+    }
+}
+
+
+void Foam::zeroGradient::uniqWords(wordReList& lst)
+{
+    boolList retain(lst.size());
+    wordHashSet uniq;
+    forAll(lst, i)
+    {
+        const wordRe& select = lst[i];
+
+        retain[i] =
+        (
+            select.isPattern()
+         || uniq.insert(static_cast<const word&>(select))
+        );
+    }
+
+    inplaceSubset(retain, lst);
+}
+
+
+template<class Type>
+bool Foam::zeroGradient::accept
+(
+    const GeometricField<Type, fvPatchField, volMesh>& input
+)
+{
+    const typename GeometricField<Type, fvPatchField, volMesh>
+    ::GeometricBoundaryField& patches = input.boundaryField();
+
+    forAll(patches, patchi)
+    {
+        const fvPatchField<Type>& p = patches[patchi];
+        const polyPatch& pp = p.patch().patch();
+
+        bool ignore =
+        (
+            isA<emptyPolyPatch>(pp)
+         || isA<processorPolyPatch>(pp)
+
+         || isA<zeroGradientFvPatchField<Type>>(p)
+         || isA<symmetryFvPatchField<Type>>(p)
+         || isA<symmetryPlaneFvPatchField<Type>>(p)
+        );
+
+        if (!ignore)
+        {
+            return true;
+        }
+    }
+
+    return false;
+}
+
+
+template<class Type>
+int Foam::zeroGradient::apply
+(
+    const fvMesh& mesh,
+    const word& inputName,
+    int& state
+)
+{
+    typedef GeometricField<Type, fvPatchField, volMesh> vfType;
+
+    // state: return 0 (not-processed), -1 (skip), +1 ok
+
+    // already done, or not available
+    if (state || !mesh.foundObject<vfType>(inputName))
+    {
+        return state;
+    }
+
+    const vfType& input = mesh.lookupObject<vfType>(inputName);
+
+    if (!returnReduce(accept(input), orOp<bool>()))
+    {
+        state = -1;
+        return state;
+    }
+
+    word outputName(resultName_);
+    outputName.replace("@@", inputName);
+
+    // also save the field-type, just in case we want it later
+    results_.set(outputName, vfType::typeName);
+
+    if (!mesh.foundObject<vfType>(outputName))
+    {
+        mesh.objectRegistry::store
+        (
+            new vfType
+            (
+                IOobject
+                (
+                    outputName,
+                    mesh.time().timeName(),
+                    mesh,
+                    IOobject::NO_READ,
+                    IOobject::NO_WRITE
+                ),
+                mesh,
+                dimensioned<Type>("0", input.dimensions(), Zero),
+                zeroGradientFvPatchField<Type>::typeName
+            )
+        );
+    }
+
+    vfType& output = const_cast<vfType&>(mesh.lookupObject<vfType>(outputName));
+    output = input;
+    output.correctBoundaryConditions();
+
+    state = +1;
+    return state;
+}
+
+
+int Foam::zeroGradient::process(const fvMesh& mesh, const word& fieldName)
+{
+    int state = 0;
+    apply<scalar>(mesh, fieldName, state);
+    apply<vector>(mesh, fieldName, state);
+    apply<sphericalTensor>(mesh, fieldName, state);
+    apply<symmTensor>(mesh, fieldName, state);
+    apply<tensor>(mesh, fieldName, state);
+
+    return state;
+}
+
+
+void Foam::zeroGradient::process(const fvMesh& mesh)
+{
+    results_.clear();
+
+    wordHashSet candidates = subsetStrings(selectFields_, mesh.names());
+    DynamicList<word> missing(selectFields_.size());
+    DynamicList<word> ignored(selectFields_.size());
+
+    // check exact matches first
+    forAll(selectFields_, i)
+    {
+        const wordRe& select = selectFields_[i];
+        if (!select.isPattern())
+        {
+            const word& fieldName = static_cast<const word&>(select);
+
+            if (!candidates.erase(fieldName))
+            {
+                missing.append(fieldName);
+            }
+            else if (process(mesh, fieldName) < 1)
+            {
+                ignored.append(fieldName);
+            }
+        }
+    }
+
+    forAllConstIter(wordHashSet, candidates, iter)
+    {
+        process(mesh, iter.key());
+    }
+
+    if (missing.size())
+    {
+        WarningInFunction
+            << "Missing field " << missing << endl;
+    }
+    if (ignored.size())
+    {
+        WarningInFunction
+            << "Unprocessed field " << ignored << endl;
+    }
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+Foam::zeroGradient::zeroGradient
+(
+    const word& name,
+    const objectRegistry& obr,
+    const dictionary& dict,
+    const bool loadFromFiles
+)
+:
+    name_(name),
+    obr_(obr),
+    active_(true),
+    selectFields_(),
+    resultName_(string::null),
+    results_(),
+    log_(false)
+{
+    // Check if the available mesh is an fvMesh, otherwise deactivate
+    if (!isA<fvMesh>(obr_))
+    {
+        active_ = false;
+        WarningInFunction
+            << "No fvMesh available, deactivating." << nl
+            << endl;
+    }
+
+    read(dict);
+}
+
+
+// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
+
+Foam::zeroGradient::~zeroGradient()
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+void Foam::zeroGradient::read(const dictionary& dict)
+{
+    if (active_)
+    {
+        log_ = dict.lookupOrDefault<Switch>("log", false);
+
+        dict.lookup("fields") >> selectFields_;
+        uniqWords(selectFields_);
+
+        resultName_ = dict.lookupOrDefault<word>
+        (
+            "result",
+            type() + "(@@)"
+        );
+        active_ = checkFormatName(resultName_);
+    }
+}
+
+
+void Foam::zeroGradient::execute()
+{
+    results_.clear();
+    if (active_)
+    {
+        process(refCast<const fvMesh>(obr_));
+    }
+}
+
+
+void Foam::zeroGradient::write()
+{
+    if (active_)
+    {
+        // consistent output order
+        const wordList outputList = results_.sortedToc();
+
+        forAll(outputList, i)
+        {
+            const word& fieldName = outputList[i];
+
+            if (obr_.foundObject<regIOobject>(fieldName))
+            {
+                const regIOobject& io =
+                    obr_.lookupObject<regIOobject>(fieldName);
+
+                if (log_)
+                {
+                    Info<< type() << " " << name_
+                        << " output: writing field " << fieldName << endl;
+                }
+
+                io.write();
+            }
+        }
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/src/postProcessing/functionObjects/utilities/zeroGradient/zeroGradient.H b/src/postProcessing/functionObjects/utilities/zeroGradient/zeroGradient.H
new file mode 100644
index 0000000000..74b83cfa89
--- /dev/null
+++ b/src/postProcessing/functionObjects/utilities/zeroGradient/zeroGradient.H
@@ -0,0 +1,220 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2016 OpenCFD Ltd.
+     \\/     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::zeroGradient
+
+Group
+    grpFVFunctionObjects
+
+Description
+    This function object creates a volume field with zero-gradient
+    boundary conditions from another volume field.
+
+    The result can be used, for example, to post-process near-wall
+    field values.
+
+    Example of function object specification:
+    \verbatim
+    zeroGrad
+    {
+        type        zeroGradient;
+        functionObjectLibs ("libutilityFunctionObjects.so");
+        fields      (U "(T|k|epsilon|omega)");
+        result      @@nearWall;
+        ...
+    }
+    \endverbatim
+
+    \heading Function object usage
+    \table
+        Property | Description                | Required  | Default value
+        type     | type name: zeroGradient    | yes       |
+        fields   | Name of fields to process  | yes       |
+        result   | Name of results            | no        | zeroGradient(@@)
+        log      | Log to standard output     | no        | no
+    \endtable
+
+    A list of fields can contain exact names or regular expressions.
+    The token '\@\@' in the result name is replaced by the name of the source
+    field.
+
+    The function object will skip over fields that would not benefit
+    - ie, only processor, empty, zeroGradient, symmetry patches.
+    This check should also prevent processing fields multiple times.
+
+SourceFiles
+    zeroGradient.C
+    zeroGradientFunctionObject.C
+    IOzeroGradient.H
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef zeroGradient_H
+#define zeroGradient_H
+
+#include "volFieldsFwd.H"
+#include "OFstream.H"
+#include "wordReList.H"
+#include "Switch.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// Forward declaration of classes
+class objectRegistry;
+class dictionary;
+class fvMesh;
+class polyMesh;
+class mapPolyMesh;
+
+/*---------------------------------------------------------------------------*\
+                            Class zeroGradient Declaration
+\*---------------------------------------------------------------------------*/
+
+class zeroGradient
+{
+    // Private data
+
+        //- Name of this zeroGradient object
+        word name_;
+
+        //- Reference to the database
+        const objectRegistry& obr_;
+
+        //- On/off switch
+        bool active_;
+
+        //- Name of fields to process
+        wordReList selectFields_;
+
+        //- Formatting for the result fields.
+        word resultName_;
+
+        //- Hashed names of result fields, and their type
+        HashTable<word> results_;
+
+        //- Switch to send output to Info as well as to file
+        Switch log_;
+
+
+    // Private Member Functions
+
+        //- Check that the word contains the appropriate substitution token(s).
+        static bool checkFormatName(const word&);
+
+        //- Eliminate duplicate 'word' entries
+        static void uniqWords(wordReList&);
+
+
+        //- Accept unless field only has empty/zero-gradient/processor patches
+        template<class Type>
+        static bool accept(const GeometricField<Type, fvPatchField, volMesh>&);
+
+        //- Apply for the volume field type
+        template<class Type>
+        int apply(const fvMesh& mesh, const word& inputName, int& state);
+
+        //- Process by trying to apply for various volume field types.
+        int process(const fvMesh& mesh, const word& inputName);
+
+        //- Calculate the zeroGradient fields
+        void process(const fvMesh& mesh);
+
+
+        //- Disallow default bitwise copy construct
+        zeroGradient(const zeroGradient&) = delete;
+
+        //- Disallow default bitwise assignment
+        void operator=(const zeroGradient&) = delete;
+
+
+public:
+
+    //- Runtime type information
+    TypeName("zeroGradient");
+
+
+    // Constructors
+
+        //- Construct for given objectRegistry and dictionary.
+        //  Allow the possibility to load fields from files
+        zeroGradient
+        (
+            const word& name,
+            const objectRegistry&,
+            const dictionary&,
+            const bool loadFromFiles = false
+        );
+
+
+    //- Destructor
+    virtual ~zeroGradient();
+
+
+    // Member Functions
+
+        //- Return name of the zeroGradient function object
+        virtual const word& name() const
+        {
+            return name_;
+        }
+
+        //- Read the zeroGradient specification
+        virtual void read(const dictionary&);
+
+        //- Calculate the zeroGradient fields
+        virtual void execute();
+
+        //- Execute at the final time-loop, currently does nothing
+        virtual void end()
+        {}
+
+        //- Called when time was set at the end of the Time::operator++
+        virtual void timeSet()
+        {}
+
+        //- Write the zeroGradient fields
+        virtual void write();
+
+        //- Update for changes of mesh
+        virtual void updateMesh(const mapPolyMesh&)
+        {}
+
+        //- Update for changes of mesh
+        virtual void movePoints(const polyMesh&)
+        {}
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/postProcessing/functionObjects/utilities/zeroGradient/zeroGradientFunctionObject.C b/src/postProcessing/functionObjects/utilities/zeroGradient/zeroGradientFunctionObject.C
new file mode 100644
index 0000000000..89b5c7f09a
--- /dev/null
+++ b/src/postProcessing/functionObjects/utilities/zeroGradient/zeroGradientFunctionObject.C
@@ -0,0 +1,42 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2016 OpenCFD Ltd.
+     \\/     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 "zeroGradientFunctionObject.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+    defineNamedTemplateTypeNameAndDebug(zeroGradientFunctionObject, 0);
+
+    addToRunTimeSelectionTable
+    (
+        functionObject,
+        zeroGradientFunctionObject,
+        dictionary
+    );
+}
+
+// ************************************************************************* //
diff --git a/src/postProcessing/functionObjects/utilities/zeroGradient/zeroGradientFunctionObject.H b/src/postProcessing/functionObjects/utilities/zeroGradient/zeroGradientFunctionObject.H
new file mode 100644
index 0000000000..cccea11df9
--- /dev/null
+++ b/src/postProcessing/functionObjects/utilities/zeroGradient/zeroGradientFunctionObject.H
@@ -0,0 +1,54 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2016 OpenCFD Ltd.
+     \\/     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/>.
+
+Typedef
+    Foam::zeroGradientFunctionObject
+
+Description
+    FunctionObject wrapper around zeroGradient to allow it to be created
+    via the functions entry within controlDict.
+
+SourceFiles
+    zeroGradientFunctionObject.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef zeroGradientFunctionObject_H
+#define zeroGradientFunctionObject_H
+
+#include "zeroGradient.H"
+#include "OutputFilterFunctionObject.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+    typedef OutputFilterFunctionObject<zeroGradient>
+        zeroGradientFunctionObject;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
-- 
GitLab


From 0c563657a8b350d8dbc25c210b8fdb8cdaf87981 Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Fri, 16 Sep 2016 14:49:47 +0200
Subject: [PATCH 19/96] ENH: more flexible selection/naming for ddt2 FO (issue
 #224)

- bugfix (empty patches), and added detection of steady-state
  scheme.

Caveat: when called via execFlowFunctionObjects will always produce a
  zero field, since the oldTime field is not available for this mode.
---
 .../functionObjects/utilities/ddt2/ddt2.C     | 278 +++++++++++++-----
 .../functionObjects/utilities/ddt2/ddt2.H     |  69 +++--
 2 files changed, 245 insertions(+), 102 deletions(-)

diff --git a/src/postProcessing/functionObjects/utilities/ddt2/ddt2.C b/src/postProcessing/functionObjects/utilities/ddt2/ddt2.C
index 76975fcd07..44fc01630d 100644
--- a/src/postProcessing/functionObjects/utilities/ddt2/ddt2.C
+++ b/src/postProcessing/functionObjects/utilities/ddt2/ddt2.C
@@ -29,6 +29,7 @@ License
 #include "dictionary.H"
 #include "FieldFunctions.H"
 #include "fvcDdt.H"
+#include "steadyStateDdtScheme.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
@@ -39,76 +40,198 @@ namespace Foam
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-
-template<class FieldType>
-bool Foam::ddt2::calculate
-(
-    const fvMesh& mesh,
-    bool& done
-)
+bool Foam::ddt2::checkFormatName(const word& str)
 {
-    if (done)
+    if (str.find("@@") == string::npos)
     {
-        return true; // already done - skip
-    }
+        WarningInFunction
+            << "Bad result naming "
+            << "(no '@@' token found), deactivating."
+            << nl << endl;
 
-    done = mesh.foundObject<FieldType>(fieldName_);
-    if (!done)
+        return false;
+    }
+    else if (str == "@@")
     {
+        WarningInFunction
+            << "Bad result naming "
+            << "(only a '@@' token found), deactivating."
+            << nl
+            << endl;
+
         return false;
     }
+    else
+    {
+        return true;
+    }
+}
 
-    const FieldType& input =
-        mesh.lookupObject<FieldType>(fieldName_);
 
-    if (!mesh.foundObject<volScalarField>(resultName_))
+void Foam::ddt2::uniqWords(wordReList& lst)
+{
+    boolList retain(lst.size());
+    wordHashSet uniq;
+    forAll(lst, i)
     {
-        const dimensionSet dims
+        const wordRe& select = lst[i];
+
+        retain[i] =
         (
-            mag_
-          ? mag(input.dimensions()/dimTime)
-          : magSqr(input.dimensions()/dimTime)
+            select.isPattern()
+         || uniq.insert(static_cast<const word&>(select))
         );
+    }
+
+    inplaceSubset(retain, lst);
+}
+
+
+bool Foam::ddt2::accept(const word& fieldName) const
+{
+    // check input vs possible result names
+    // to avoid circular calculations
+    return !blacklist_.match(fieldName);
+}
+
+
+template<class FieldType>
+int Foam::ddt2::apply
+(
+    const fvMesh& mesh,
+    const word& inputName,
+    int& state
+)
+{
+    // state: return 0 (not-processed), -1 (skip), +1 ok
+
+    // already done, or not available
+    if (state || !mesh.foundObject<FieldType>(inputName))
+    {
+        return state;
+    }
+
+    const FieldType& input = mesh.lookupObject<FieldType>(inputName);
+
+    word outputName(resultName_);
+    outputName.replace("@@", inputName);
+
+    results_.set(outputName);
 
+    if (!mesh.foundObject<volScalarField>(outputName))
+    {
         mesh.objectRegistry::store
         (
             new volScalarField
             (
                 IOobject
                 (
-                    resultName_,
+                    outputName,
                     mesh.time().timeName(),
                     mesh,
                     IOobject::NO_READ,
-                    IOobject::NO_WRITE // OR IOobject::AUTO_WRITE
+                    IOobject::NO_WRITE
                 ),
                 mesh,
                 dimensionedScalar
                 (
-                    "zero",
-                    dims,
+                    "0",
+                    (
+                        mag_
+                      ? mag(input.dimensions()/dimTime)
+                      : magSqr(input.dimensions()/dimTime)
+                    ),
                     Zero
-                ),
-                emptyPolyPatch::typeName
+                )
             )
         );
     }
 
-    volScalarField& field = const_cast<volScalarField&>
+    volScalarField& output = const_cast<volScalarField&>
     (
-        mesh.lookupObject<volScalarField>(resultName_)
+        mesh.lookupObject<volScalarField>(outputName)
     );
 
     if (mag_)
     {
-        field = mag(fvc::ddt(input));
+        output = mag(fvc::ddt(input));
     }
     else
     {
-        field = magSqr(fvc::ddt(input));
+        output = magSqr(fvc::ddt(input));
+    }
+
+    if (log_)
+    {
+        // could add additional statistics here
+        Info<< type() << " " << name_
+            << " field " << output
+            << " average: " << gAverage(output) << endl;
+    }
+
+    state = +1;
+    return state;
+}
+
+
+int Foam::ddt2::process(const fvMesh& mesh, const word& fieldName)
+{
+    if (!accept(fieldName))
+    {
+        return -1;
+    }
+
+    int state = 0;
+
+    apply<volScalarField>(mesh, fieldName, state);
+    apply<volVectorField>(mesh, fieldName, state);
+
+    return state;
+}
+
+
+void Foam::ddt2::process(const fvMesh& mesh)
+{
+    results_.clear();
+
+    wordHashSet candidates = subsetStrings(selectFields_, mesh.names());
+    DynamicList<word> missing(selectFields_.size());
+    DynamicList<word> ignored(selectFields_.size());
+
+    // check exact matches first
+    forAll(selectFields_, i)
+    {
+        const wordRe& select = selectFields_[i];
+        if (!select.isPattern())
+        {
+            const word& fieldName = static_cast<const word&>(select);
+
+            if (!candidates.erase(fieldName))
+            {
+                missing.append(fieldName);
+            }
+            else if (process(mesh, fieldName) < 1)
+            {
+                ignored.append(fieldName);
+            }
+        }
     }
 
-    return done;
+    forAllConstIter(wordHashSet, candidates, iter)
+    {
+        process(mesh, iter.key());
+    }
+
+    if (missing.size())
+    {
+        WarningInFunction
+            << "Missing field " << missing << endl;
+    }
+    if (ignored.size())
+    {
+        WarningInFunction
+            << "Unprocessed field " << ignored << endl;
+    }
 }
 
 
@@ -125,13 +248,28 @@ Foam::ddt2::ddt2
     name_(name),
     obr_(obr),
     active_(true),
-    fieldName_("undefined-fieldName"),
+    selectFields_(),
     resultName_(word::null),
+    blacklist_(),
+    results_(),
     log_(true),
     mag_(dict.lookupOrDefault<Switch>("mag", false))
 {
-    // Check if the available mesh is an fvMesh, otherwise deactivate
-    if (!isA<fvMesh>(obr_))
+    // Check if the available mesh is an fvMesh and transient,
+    // otherwise deactivate
+    if (isA<fvMesh>(obr_))
+    {
+        const fvMesh& mesh = refCast<const fvMesh>(obr_);
+
+        if (word(mesh.ddtScheme("default")) == "steadyState")
+        {
+            active_ = false;
+            WarningInFunction
+                << "Steady-state, deactivating." << nl
+                << endl;
+        }
+    }
+    else
     {
         active_ = false;
         WarningInFunction
@@ -157,76 +295,62 @@ void Foam::ddt2::read(const dictionary& dict)
     {
         log_.readIfPresent("log", dict);
 
-        dict.lookup("fieldName") >> fieldName_;
-        dict.readIfPresent("resultName", resultName_);
+        dict.lookup("fields") >> selectFields_;
+        uniqWords(selectFields_);
+
+        resultName_ = dict.lookupOrDefault<word>
+        (
+            "result",
+            ( mag_ ? "mag(ddt(@@))" : "magSqr(ddt(@@))" )
+        );
 
-        if (resultName_.empty())
+        active_ = checkFormatName(resultName_);
+        if (active_)
         {
-            resultName_ =
+            blacklist_.set
             (
-                word(mag_ ? "mag" : "magSqr")
-              + "(ddt(" + fieldName_ + "))"
+                string::quotemeta<regExp>
+                (
+                    resultName_
+                ).replace("@@", "(.+)")
             );
         }
+        else
+        {
+            blacklist_.clear();
+        }
     }
 }
 
 
 void Foam::ddt2::execute()
 {
+    results_.clear();
     if (active_)
     {
-        const fvMesh& mesh = refCast<const fvMesh>(obr_);
-        bool done = false;
-
-        calculate<volScalarField>(mesh, done);
-        calculate<volVectorField>(mesh, done);
-
-        if (!done)
-        {
-            WarningInFunction
-                << "Unprocessed field " << fieldName_ << endl;
-        }
+        process(refCast<const fvMesh>(obr_));
     }
 }
 
 
-void Foam::ddt2::end()
-{
-    // Do nothing
-}
-
-
-void Foam::ddt2::timeSet()
-{
-    // Do nothing
-}
-
-
 void Foam::ddt2::write()
 {
     if (active_)
     {
-        if (obr_.foundObject<regIOobject>(resultName_))
+        // consistent output order
+        const wordList outputList = results_.sortedToc();
+
+        forAll(outputList, i)
         {
-            const regIOobject& io =
-                obr_.lookupObject<regIOobject>(resultName_);
+            const word& fieldName = outputList[i];
 
-            if (log_)
+            if (obr_.foundObject<regIOobject>(fieldName))
             {
-                const volScalarField& field = dynamicCast<const volScalarField&>
-                (
-                    io
-                );
+                const regIOobject& io =
+                    obr_.lookupObject<regIOobject>(fieldName);
 
-                // could add additional statistics here
-                Info<< type() << " " << name_
-                    << " output: writing field " << field.name()
-                    << " average: " << gAverage(field) << endl;
+                io.write();
             }
-
-            // could also add option to suppress writing?
-            io.write();
         }
     }
 }
diff --git a/src/postProcessing/functionObjects/utilities/ddt2/ddt2.H b/src/postProcessing/functionObjects/utilities/ddt2/ddt2.H
index 93ee8ea077..acbcc5d47c 100644
--- a/src/postProcessing/functionObjects/utilities/ddt2/ddt2.H
+++ b/src/postProcessing/functionObjects/utilities/ddt2/ddt2.H
@@ -40,8 +40,8 @@ Description
     {
         type        ddt2;
         functionObjectLibs ("libutilityFunctionObjects.so");
-        fieldName   p;
-        resultName  dpdt2;
+        fields      (p);
+        result      d@@dt2;
         ...
     }
     \endverbatim
@@ -50,8 +50,8 @@ Description
     \table
         Property | Description                | Required  | Default value
         type     | type name: ddt2            | yes       |
-        fieldName | Name of field to process  | yes       |
-        resultName | Name of magnitude field  | no        | magSqr(ddt(fieldName))
+        fields   | Name of fields to process  | yes       |
+        result   | Name of results            | no        | magSqr(ddt(@@))
         log      | Log to standard output     | no        | yes
         mag      | Use 'mag' instead of 'magSqr' | no     | false
     \endtable
@@ -59,6 +59,13 @@ Description
     Note that the optional 'mag' entry cannot be changed during the simulation
     since it alters the dimensions of the output field.
 
+    A list of fields can contain exact names or regular expressions.
+    The token '\@\@' in the result name is replaced by the name of the source
+    field.
+
+    The function object will skip over fields that appear to have
+    already been processed (ie, their names are similar to the output names).
+
 SourceFiles
     ddt2.C
     IOddt2.H
@@ -69,9 +76,10 @@ SourceFiles
 #define ddt2_H
 
 #include "volFieldsFwd.H"
-#include "surfaceFieldsFwd.H"
-#include "pointFieldFwd.H"
 #include "OFstream.H"
+#include "wordReList.H"
+#include "regExp.H"
+#include "HashSet.H"
 #include "Switch.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -85,7 +93,6 @@ class dictionary;
 class fvMesh;
 class polyMesh;
 class mapPolyMesh;
-class dimensionSet;
 
 /*---------------------------------------------------------------------------*\
                             Class ddt2 Declaration
@@ -104,12 +111,18 @@ class ddt2
         //- On/off switch
         bool active_;
 
-        //- Name of field to process
-        word fieldName_;
+        //- Name of fields to process
+        wordReList selectFields_;
 
-        //- Name of result field
+        //- Formatting for the result fields.
         word resultName_;
 
+        //- Avoid processing the same field twice.
+        mutable regExp blacklist_;
+
+        //- Hashed names of result fields.
+        wordHashSet results_;
+
         //- Switch to send output to Info as well as to file
         Switch log_;
 
@@ -121,21 +134,25 @@ class ddt2
 
     // Private Member Functions
 
-        //- Create result field upon demand
-        volScalarField& getOrCreateResultField
-        (
-            const fvMesh&,
-            const dimensionSet& inputDims
-        );
+        //- Check that the word contains the appropriate substitution token(s).
+        static bool checkFormatName(const word&);
 
+        //- Eliminate duplicate 'word' entries
+        static void uniqWords(wordReList&);
 
-        //- Create result field upon demand
-        template<class FieldType>
-        bool calculate(const FieldType& input);
 
-        //- Create result field upon demand
+        //- Accept unless field name appears to have already been processed
+        bool accept(const word& fieldName) const;
+
+        //- Apply for the volume field type
         template<class FieldType>
-        bool calculate(const fvMesh&, bool& done);
+        int apply(const fvMesh& mesh, const word& inputName, int& state);
+
+        //- Process by trying to apply for various volume field types.
+        int process(const fvMesh& mesh, const word& inputName);
+
+        //- Calculate the ddt2 fields
+        void process(const fvMesh& mesh);
 
 
         //- Disallow default bitwise copy construct
@@ -179,16 +196,18 @@ public:
         //- Read the ddt2 specification
         virtual void read(const dictionary&);
 
-        //- Execute, currently does nothing
+        //- Calculate the ddt2 fields
         virtual void execute();
 
         //- Execute at the final time-loop, currently does nothing
-        virtual void end();
+        virtual void end()
+        {}
 
         //- Called when time was set at the end of the Time::operator++
-        virtual void timeSet();
+        virtual void timeSet()
+        {}
 
-        //- Calculate the ddt2 and write
+        //- Write the ddt fields
         virtual void write();
 
         //- Update for changes of mesh
-- 
GitLab


From 78e7952bfce0ffc8bda27601ec208e180a055764 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 16 Sep 2016 14:49:50 +0100
Subject: [PATCH 20/96] PatchToPatchInterpolate: Update to use the tmp ref()
 non-const access function Resolves bug-report
 http://bugs.openfoam.org/view.php?id=2248

---
 .../patchToPatchInterpolation/PatchToPatchInterpolate.C       | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/OpenFOAM/interpolations/patchToPatchInterpolation/PatchToPatchInterpolate.C b/src/OpenFOAM/interpolations/patchToPatchInterpolation/PatchToPatchInterpolate.C
index 5ce595791e..82857f5019 100644
--- a/src/OpenFOAM/interpolations/patchToPatchInterpolation/PatchToPatchInterpolate.C
+++ b/src/OpenFOAM/interpolations/patchToPatchInterpolation/PatchToPatchInterpolate.C
@@ -54,7 +54,7 @@ PatchToPatchInterpolation<FromPatch, ToPatch>::pointInterpolate
         new Field<Type>(toPatch_.nPoints(), Zero)
     );
 
-    Field<Type>& result = tresult();
+    Field<Type>& result = tresult.ref();
 
     const List<typename FromPatch::FaceType>& fromPatchLocalFaces =
         fromPatch_.localFaces();
@@ -118,7 +118,7 @@ PatchToPatchInterpolation<FromPatch, ToPatch>::faceInterpolate
         new Field<Type>(toPatch_.size(), Zero)
     );
 
-    Field<Type>& result = tresult();
+    Field<Type>& result = tresult.ref();
 
     const labelListList& fromPatchFaceFaces = fromPatch_.faceFaces();
 
-- 
GitLab


From a6ee4f5af3d838048cf4a7ee2f96b3b5a3cc5736 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 16 Sep 2016 17:39:50 +0100
Subject: [PATCH 21/96] setInitialMultiRegionDeltaT: update to be consistent
 with the standard setInitialDeltaT Resolves bug-report
 http://bugs.openfoam.org/bug_change_status_page.php

---
 .../include/setInitialMultiRegionDeltaT.H                   | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/include/setInitialMultiRegionDeltaT.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/include/setInitialMultiRegionDeltaT.H
index bf831e93c2..f768c3c8b8 100644
--- a/applications/solvers/heatTransfer/chtMultiRegionFoam/include/setInitialMultiRegionDeltaT.H
+++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/include/setInitialMultiRegionDeltaT.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
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Global
-    setInitialDeltaT
+    setInitialMultiRegionDeltaT
 
 Description
     Set the initial timestep for the CHT MultiRegion solver.
@@ -48,7 +48,7 @@ if (adjustTimeStep)
             min
             (
                 min(maxCo/CoNum, maxDi/DiNum)*runTime.deltaT().value(),
-                maxDeltaT
+                min(runTime.deltaTValue(), maxDeltaT)
             )
         );
         Info<< "deltaT = " <<  runTime.deltaT().value() << endl;
-- 
GitLab


From fba2c4f29b3fa9d58351f18e19ac14679f0703bd Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sat, 17 Sep 2016 14:53:15 +0100
Subject: [PATCH 22/96] mapFields: reset the FOAM_CASE environment variable
 Patch proveded by Alexey Matveichev Resolves bug-report
 http://bugs.openfoam.org/view.php?id=2229

---
 .../utilities/preProcessing/mapFields/createTimes.H         | 6 ++++++
 applications/utilities/preProcessing/mapFields/mapFields.C  | 4 ++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/applications/utilities/preProcessing/mapFields/createTimes.H b/applications/utilities/preProcessing/mapFields/createTimes.H
index 91e6a349ae..bcac99a3ae 100644
--- a/applications/utilities/preProcessing/mapFields/createTimes.H
+++ b/applications/utilities/preProcessing/mapFields/createTimes.H
@@ -1,11 +1,17 @@
     Info<< "\nCreate databases as time" << endl;
 
+    const auto caseDirOrig = getEnv("FOAM_CASE");
+    const auto caseNameOrig = getEnv("FOAM_CASE_NAME");
+    setEnv("FOAM_CASE", rootDirSource/caseDirSource, true);
+    setEnv("FOAM_CASE_NAME", caseDirSource, true);
     Time runTimeSource
     (
         Time::controlDictName,
         rootDirSource,
         caseDirSource
     );
+    setEnv("FOAM_CASE", caseDirOrig, true);
+    setEnv("FOAM_CASE_NAME", caseNameOrig, true);
 
     Time runTimeTarget
     (
diff --git a/applications/utilities/preProcessing/mapFields/mapFields.C b/applications/utilities/preProcessing/mapFields/mapFields.C
index 16e70e88e8..1dca92e47c 100644
--- a/applications/utilities/preProcessing/mapFields/mapFields.C
+++ b/applications/utilities/preProcessing/mapFields/mapFields.C
@@ -236,8 +236,8 @@ int main(int argc, char *argv[])
     fileName rootDirTarget(args.rootPath());
     fileName caseDirTarget(args.globalCaseName());
 
-    const fileName casePath = args[1];
-    const fileName rootDirSource = casePath.path();
+    fileName casePath = args[1];
+    const fileName rootDirSource = casePath.path().toAbsolute();
     const fileName caseDirSource = casePath.name();
 
     Info<< "Source: " << rootDirSource << " " << caseDirSource << endl;
-- 
GitLab


From 87c78ca1ef8752758311177061617c18ace5f622 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Mon, 19 Sep 2016 07:52:42 +0100
Subject: [PATCH 23/96] blockMesh: Added block face orientation checks to aid
 debugging

Individual inward-pointing faces are checked and if all faces are
inward-pointing the block is inside-out.  These errors are fatal and the
message indicates which block the error occurs in and where in the
blockMeshDict the block is defined.
---
 .../blockDescriptor/blockDescriptor.C         | 65 ++++++++++++++++++-
 .../blockDescriptor/blockDescriptor.H         |  3 +
 2 files changed, 65 insertions(+), 3 deletions(-)

diff --git a/src/mesh/blockMesh/blockDescriptor/blockDescriptor.C b/src/mesh/blockMesh/blockDescriptor/blockDescriptor.C
index 1bdb4a82d7..f8f148756d 100644
--- a/src/mesh/blockMesh/blockDescriptor/blockDescriptor.C
+++ b/src/mesh/blockMesh/blockDescriptor/blockDescriptor.C
@@ -23,9 +23,66 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "error.H"
 #include "blockDescriptor.H"
 
+// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
+
+void Foam::blockDescriptor::check(const Istream& is)
+{
+    const point blockCentre(blockShape_.centre(blockPointField_));
+    const faceList faces(blockShape_.faces());
+
+    // Check each face is outward-pointing with respect to the block centre
+    label outwardFaceCount = 0;
+    boolList correctFaces(faces.size(), true);
+
+    forAll(faces, i)
+    {
+        point faceCentre(faces[i].centre(blockPointField_));
+        vector faceNormal(faces[i].normal(blockPointField_));
+        if (mag(faceNormal) > SMALL)
+        {
+            if (((faceCentre - blockCentre) & faceNormal) > 0)
+            {
+                outwardFaceCount++;
+            }
+            else
+            {
+                correctFaces[i] = false;
+            }
+        }
+        else
+        {
+            outwardFaceCount++;
+        }
+    }
+
+    // If all faces are inward-pointing the block is inside-out
+    if (outwardFaceCount == 0)
+    {
+        FatalIOErrorInFunction(is)
+            << "Block " << *this << " is inside-out"
+            << exit(FatalIOError);
+    }
+    else if (outwardFaceCount != faces.size())
+    {
+        FatalIOErrorInFunction(is)
+            << "Block " << *this << " has inward-pointing faces"
+            << nl << "    ";
+
+        forAll(correctFaces, i)
+        {
+            if (!correctFaces[i])
+            {
+                FatalIOError<< faces[i] << token::SPACE;
+            }
+        }
+
+        FatalIOError << exit(FatalIOError);
+    }
+}
+
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 Foam::blockDescriptor::blockDescriptor
@@ -156,11 +213,13 @@ Foam::blockDescriptor::blockDescriptor
     }
     else
     {
-        FatalErrorInFunction
+        FatalIOErrorInFunction(is)
             << "Unknown definition of expansion ratios: " << expRatios
-            << exit(FatalError);
+            << exit(FatalIOError);
     }
 
+    check(is);
+
     // Create a list of edges
     makeBlockEdges();
 }
diff --git a/src/mesh/blockMesh/blockDescriptor/blockDescriptor.H b/src/mesh/blockMesh/blockDescriptor/blockDescriptor.H
index c245eefccc..37bba39bba 100644
--- a/src/mesh/blockMesh/blockDescriptor/blockDescriptor.H
+++ b/src/mesh/blockMesh/blockDescriptor/blockDescriptor.H
@@ -90,6 +90,9 @@ class blockDescriptor
 
     // Private Member Functions
 
+        //- Check block has outward-pointing faces
+        void check(const Istream& is);
+
         //- Set the points/weights for all edges
         void makeBlockEdges();
 
-- 
GitLab


From b07a783fdda6fed8f8f05be8b5fa45ebb6247058 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Mon, 19 Sep 2016 22:08:39 +0100
Subject: [PATCH 24/96] solvers: Moved createRDeltaT.H into createFields.H so
 that it is available with the -postProcess option

Required to support LTS with the -postProcess option with sub-models dependent on ddt
terms during construction, in particular reactingTwoPhaseEulerFoam.
---
 applications/solvers/combustion/reactingFoam/createFields.H     | 2 ++
 applications/solvers/combustion/reactingFoam/reactingFoam.C     | 1 -
 .../reactingFoam/rhoReactingBuoyantFoam/createFields.H          | 2 ++
 .../rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C             | 1 -
 .../combustion/reactingFoam/rhoReactingFoam/createFields.H      | 2 ++
 .../combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C   | 1 -
 applications/solvers/compressible/rhoCentralFoam/createFields.H | 2 ++
 .../rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C        | 2 ++
 .../solvers/compressible/rhoCentralFoam/rhoCentralFoam.C        | 1 -
 applications/solvers/compressible/rhoPimpleFoam/createFields.H  | 2 ++
 .../rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C           | 1 -
 applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C | 1 -
 .../solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C    | 1 -
 .../solvers/lagrangian/coalChemistryFoam/createFields.H         | 2 ++
 .../solvers/lagrangian/reactingParcelFoam/createFields.H        | 2 ++
 .../solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C  | 1 -
 applications/solvers/multiphase/interFoam/createFields.H        | 2 ++
 .../solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C    | 1 -
 applications/solvers/multiphase/interFoam/interFoam.C           | 1 -
 .../solvers/multiphase/interFoam/interMixingFoam/createFields.H | 2 ++
 .../multiphase/interFoam/interMixingFoam/interMixingFoam.C      | 1 -
 .../reactingMultiphaseEulerFoam/createFields.H                  | 1 +
 .../reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C   | 1 -
 .../reactingEulerFoam/reactingTwoPhaseEulerFoam/createFields.H  | 1 +
 .../reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C       | 1 -
 25 files changed, 22 insertions(+), 13 deletions(-)

diff --git a/applications/solvers/combustion/reactingFoam/createFields.H b/applications/solvers/combustion/reactingFoam/createFields.H
index bebae9978c..e4475e5d1b 100644
--- a/applications/solvers/combustion/reactingFoam/createFields.H
+++ b/applications/solvers/combustion/reactingFoam/createFields.H
@@ -1,3 +1,5 @@
+#include "createRDeltaT.H"
+
 Info<< "Creating reaction model\n" << endl;
 
 autoPtr<combustionModels::psiCombustionModel> reaction
diff --git a/applications/solvers/combustion/reactingFoam/reactingFoam.C b/applications/solvers/combustion/reactingFoam/reactingFoam.C
index efcc5eb0e1..1ad7568022 100644
--- a/applications/solvers/combustion/reactingFoam/reactingFoam.C
+++ b/applications/solvers/combustion/reactingFoam/reactingFoam.C
@@ -49,7 +49,6 @@ int main(int argc, char *argv[])
     #include "createMesh.H"
     #include "createControl.H"
     #include "createTimeControls.H"
-    #include "createRDeltaT.H"
     #include "initContinuityErrs.H"
     #include "createFields.H"
     #include "createFieldRefs.H"
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/createFields.H b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/createFields.H
index 02e1e65b5c..a4b328f367 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/createFields.H
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/createFields.H
@@ -1,3 +1,5 @@
+#include "createRDeltaT.H"
+
 Info<< "Creating reaction model\n" << endl;
 
 autoPtr<combustionModels::rhoCombustionModel> reaction
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
index 8c86817538..4d9258e3da 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingBuoyantFoam/rhoReactingBuoyantFoam.C
@@ -50,7 +50,6 @@ int main(int argc, char *argv[])
     #include "createMesh.H"
     #include "createControl.H"
     #include "createTimeControls.H"
-    #include "createRDeltaT.H"
     #include "initContinuityErrs.H"
     #include "createFields.H"
     #include "createFieldRefs.H"
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/createFields.H b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/createFields.H
index c5d3bf6a67..fbd45dd20c 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/createFields.H
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/createFields.H
@@ -1,3 +1,5 @@
+#include "createRDeltaT.H"
+
 Info<< "Creating reaction model\n" << endl;
 
 autoPtr<combustionModels::rhoCombustionModel> reaction
diff --git a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
index 479399a2b0..b6cda2184c 100644
--- a/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
+++ b/applications/solvers/combustion/reactingFoam/rhoReactingFoam/rhoReactingFoam.C
@@ -50,7 +50,6 @@ int main(int argc, char *argv[])
     #include "createMesh.H"
     #include "createControl.H"
     #include "createTimeControls.H"
-    #include "createRDeltaT.H"
     #include "initContinuityErrs.H"
     #include "createFields.H"
     #include "createFieldRefs.H"
diff --git a/applications/solvers/compressible/rhoCentralFoam/createFields.H b/applications/solvers/compressible/rhoCentralFoam/createFields.H
index d425593810..b7cbdd067f 100644
--- a/applications/solvers/compressible/rhoCentralFoam/createFields.H
+++ b/applications/solvers/compressible/rhoCentralFoam/createFields.H
@@ -1,3 +1,5 @@
+#include "createRDeltaT.H"
+
 Info<< "Reading thermophysical properties\n" << endl;
 
 autoPtr<psiThermo> pThermo
diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C
index 3a61fcaab0..7f31cf3cb4 100644
--- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C
+++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C
@@ -36,6 +36,8 @@ Description
 #include "turbulentFluidThermoModel.H"
 #include "fixedRhoFvPatchScalarField.H"
 #include "directionInterpolate.H"
+#include "localEulerDdtScheme.H"
+#include "fvcSmooth.H"
 #include "motionSolver.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C
index d276cce808..2d5357bf24 100644
--- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C
+++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C
@@ -51,7 +51,6 @@ int main(int argc, char *argv[])
     #include "createFields.H"
     #include "createFieldRefs.H"
     #include "createTimeControls.H"
-    #include "createRDeltaT.H"
 
     turbulence->validate();
 
diff --git a/applications/solvers/compressible/rhoPimpleFoam/createFields.H b/applications/solvers/compressible/rhoPimpleFoam/createFields.H
index 8d1ccb82fd..a7ee3eca45 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/createFields.H
+++ b/applications/solvers/compressible/rhoPimpleFoam/createFields.H
@@ -1,3 +1,5 @@
+#include "createRDeltaT.H"
+
 Info<< "Reading thermophysical properties\n" << endl;
 
 autoPtr<psiThermo> pThermo
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C
index 9613b4a9a6..c7046bb9b4 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam/rhoPimpleDyMFoam.C
@@ -57,7 +57,6 @@ int main(int argc, char *argv[])
     #include "createTime.H"
     #include "createDynamicFvMesh.H"
     #include "createControl.H"
-    #include "createRDeltaT.H"
     #include "initContinuityErrs.H"
     #include "createFields.H"
     #include "createFieldRefs.H"
diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
index 94df912700..108ad9aa0e 100644
--- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
+++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
@@ -53,7 +53,6 @@ int main(int argc, char *argv[])
     #include "createMesh.H"
     #include "createControl.H"
     #include "createTimeControls.H"
-    #include "createRDeltaT.H"
     #include "initContinuityErrs.H"
     #include "createFields.H"
     #include "createFieldRefs.H"
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C b/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C
index 809571a35f..cb12fc2b9c 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C
+++ b/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C
@@ -53,7 +53,6 @@ int main(int argc, char *argv[])
     #include "createMesh.H"
     #include "createControl.H"
     #include "createTimeControls.H"
-    #include "createRDeltaT.H"
     #include "createFields.H"
     #include "createFieldRefs.H"
     #include "createFvOptions.H"
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/createFields.H b/applications/solvers/lagrangian/coalChemistryFoam/createFields.H
index 33313ca070..d3daf7265c 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/createFields.H
+++ b/applications/solvers/lagrangian/coalChemistryFoam/createFields.H
@@ -1,3 +1,5 @@
+#include "createRDeltaT.H"
+
 #include "readGravitationalAcceleration.H"
 
 Info<< "Creating combustion model\n" << endl;
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/createFields.H b/applications/solvers/lagrangian/reactingParcelFoam/createFields.H
index c04c242f45..e5ed566eba 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/createFields.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/createFields.H
@@ -1,3 +1,5 @@
+#include "createRDeltaT.H"
+
 #include "readGravitationalAcceleration.H"
 
 Info<< "Creating combustion model\n" << endl;
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
index 06838171f1..dc9fd5c49a 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
+++ b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C
@@ -52,7 +52,6 @@ int main(int argc, char *argv[])
     #include "createMesh.H"
     #include "createControl.H"
     #include "createTimeControls.H"
-    #include "createRDeltaT.H"
     #include "createFields.H"
     #include "createFieldRefs.H"
     #include "createFvOptions.H"
diff --git a/applications/solvers/multiphase/interFoam/createFields.H b/applications/solvers/multiphase/interFoam/createFields.H
index 77cabdc4c1..4a82afbd29 100644
--- a/applications/solvers/multiphase/interFoam/createFields.H
+++ b/applications/solvers/multiphase/interFoam/createFields.H
@@ -1,3 +1,5 @@
+#include "createRDeltaT.H"
+
 Info<< "Reading field p_rgh\n" << endl;
 volScalarField p_rgh
 (
diff --git a/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C b/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C
index 07206d3c52..0534896b68 100644
--- a/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C
+++ b/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C
@@ -60,7 +60,6 @@ int main(int argc, char *argv[])
     #include "createControl.H"
     #include "createTimeControls.H"
     #include "createDyMControls.H"
-    #include "createRDeltaT.H"
     #include "createFields.H"
     #include "createFvOptions.H"
 
diff --git a/applications/solvers/multiphase/interFoam/interFoam.C b/applications/solvers/multiphase/interFoam/interFoam.C
index c5c4be315b..5db4d7d32e 100644
--- a/applications/solvers/multiphase/interFoam/interFoam.C
+++ b/applications/solvers/multiphase/interFoam/interFoam.C
@@ -62,7 +62,6 @@ int main(int argc, char *argv[])
     #include "createMesh.H"
     #include "createControl.H"
     #include "createTimeControls.H"
-    #include "createRDeltaT.H"
     #include "initContinuityErrs.H"
     #include "createFields.H"
     #include "createFvOptions.H"
diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/createFields.H b/applications/solvers/multiphase/interFoam/interMixingFoam/createFields.H
index 07e174717b..5b152b78a7 100644
--- a/applications/solvers/multiphase/interFoam/interMixingFoam/createFields.H
+++ b/applications/solvers/multiphase/interFoam/interMixingFoam/createFields.H
@@ -1,3 +1,5 @@
+#include "createRDeltaT.H"
+
 Info<< "Reading field p_rgh\n" << endl;
 volScalarField p_rgh
 (
diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C b/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C
index 28d8d6d4bf..b26630d360 100644
--- a/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C
+++ b/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C
@@ -52,7 +52,6 @@ int main(int argc, char *argv[])
     #include "createMesh.H"
     #include "createControl.H"
     #include "createTimeControls.H"
-    #include "createRDeltaT.H"
     #include "initContinuityErrs.H"
     #include "createFields.H"
     #include "createFvOptions.H"
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/createFields.H b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/createFields.H
index 8eafafb2fd..1fc5b19ca7 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/createFields.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/createFields.H
@@ -1,3 +1,4 @@
+#include "createRDeltaT.H"
 #include "readGravitationalAcceleration.H"
 #include "readhRef.H"
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C
index d1b1619567..11af0415fb 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C
@@ -50,7 +50,6 @@ int main(int argc, char *argv[])
     #include "createMesh.H"
     #include "createControl.H"
     #include "createTimeControls.H"
-    #include "createRDeltaT.H"
     #include "createFields.H"
     #include "createFieldRefs.H"
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/createFields.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/createFields.H
index 932c05cb0d..697269ff40 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/createFields.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/createFields.H
@@ -1,3 +1,4 @@
+#include "createRDeltaT.H"
 #include "readGravitationalAcceleration.H"
 #include "readhRef.H"
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C
index 032b9bce43..e6fe5259de 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C
@@ -51,7 +51,6 @@ int main(int argc, char *argv[])
     #include "createMesh.H"
     #include "createControl.H"
     #include "createTimeControls.H"
-    #include "createRDeltaT.H"
     #include "createFields.H"
     #include "createFieldRefs.H"
 
-- 
GitLab


From 267b125ab0dfc9f64a18321fd21a8ef22e06b867 Mon Sep 17 00:00:00 2001
From: Prashant <prashantS.sonakar@esi-group.com>
Date: Tue, 20 Sep 2016 15:15:19 +0530
Subject: [PATCH 25/96] BUG: output field name instead of field (fixes #224)

---
 src/postProcessing/functionObjects/utilities/ddt2/ddt2.C | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/postProcessing/functionObjects/utilities/ddt2/ddt2.C b/src/postProcessing/functionObjects/utilities/ddt2/ddt2.C
index 44fc01630d..58edbf3627 100644
--- a/src/postProcessing/functionObjects/utilities/ddt2/ddt2.C
+++ b/src/postProcessing/functionObjects/utilities/ddt2/ddt2.C
@@ -165,7 +165,7 @@ int Foam::ddt2::apply
     {
         // could add additional statistics here
         Info<< type() << " " << name_
-            << " field " << output
+            << " field " << outputName
             << " average: " << gAverage(output) << endl;
     }
 
-- 
GitLab


From 5df2c040faaf5c9ff05441d47e94313d08b93779 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 20 Sep 2016 14:50:41 +0100
Subject: [PATCH 26/96] reactingParcelFilmFoam: Corrected support for
 -postProcess option

---
 .../solvers/lagrangian/reactingParcelFilmFoam/Make/options    | 2 +-
 .../lagrangian/reactingParcelFilmFoam/createFieldRefs.H       | 4 ++++
 .../solvers/lagrangian/reactingParcelFilmFoam/createFields.H  | 2 --
 .../reactingParcelFilmFoam/createSurfaceFilmModel.H           | 2 --
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options b/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options
index 8b2729e8c0..014cd4e356 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options
@@ -1,4 +1,5 @@
 EXE_INC = \
+    -I. \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I${LIB_SRC}/sampling/lnInclude \
     -I${LIB_SRC}/meshTools/lnInclude \
@@ -25,7 +26,6 @@ EXE_INC = \
     -I$(LIB_SRC)/combustionModels/lnInclude \
     -I$(FOAM_SOLVERS)/combustion/reactingFoam
 
-
 EXE_LIBS = \
     -lfiniteVolume \
     -lfvOptions \
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/createFieldRefs.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/createFieldRefs.H
index 4748421aa4..14914688ca 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/createFieldRefs.H
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/createFieldRefs.H
@@ -1 +1,5 @@
 const label inertIndex(composition.species()[inertSpecie]);
+
+const volScalarField& T = thermo.T();
+const volScalarField& psi = thermo.psi();
+filmModelType& surfaceFilm = tsurfaceFilm();
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/createFields.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/createFields.H
index 313c82d0e2..8ec3c94169 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/createFields.H
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/createFields.H
@@ -37,8 +37,6 @@ volScalarField rho
 );
 
 volScalarField& p = thermo.p();
-const volScalarField& T = thermo.T();
-const volScalarField& psi = thermo.psi();
 
 Info<< "\nReading field U\n" << endl;
 volVectorField U
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/createSurfaceFilmModel.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/createSurfaceFilmModel.H
index 1db870f0aa..ffdbcbf6a9 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/createSurfaceFilmModel.H
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/createSurfaceFilmModel.H
@@ -3,5 +3,3 @@ Info<< "\nConstructing surface film model" << endl;
 typedef regionModels::surfaceFilmModels::surfaceFilmModel filmModelType;
 
 autoPtr<filmModelType> tsurfaceFilm(filmModelType::New(mesh, g));
-filmModelType& surfaceFilm = tsurfaceFilm();
-
-- 
GitLab


From eb8d593df231f0f65e29ca85902fdf50433836e6 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 20 Sep 2016 14:51:13 +0100
Subject: [PATCH 27/96] foamList: Added missing
 -I$(LIB_SRC)/meshTools/lnInclude needed for recent changes to AMI

---
 applications/utilities/miscellaneous/foamList/Make/options | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/applications/utilities/miscellaneous/foamList/Make/options b/applications/utilities/miscellaneous/foamList/Make/options
index 441805c465..84027a1c28 100644
--- a/applications/utilities/miscellaneous/foamList/Make/options
+++ b/applications/utilities/miscellaneous/foamList/Make/options
@@ -6,7 +6,8 @@ EXE_INC = \
     -I$(LIB_SRC)/transportModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
-    -I$(LIB_SRC)/finiteVolume/lnInclude
+    -I$(LIB_SRC)/finiteVolume/lnInclude \
+    -I$(LIB_SRC)/meshTools/lnInclude
 
 EXE_LIBS = \
     -lbarotropicCompressibilityModel \
-- 
GitLab


From 855f424635f6da27b73146bcef007f41cd86f9ef Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 20 Sep 2016 15:05:43 +0100
Subject: [PATCH 28/96] TurbulenceModels: Created a general base-class and
 selection mechanism for laminar stress models

Renamed the original 'laminar' model to 'Stokes' to indicate it is a
linear stress model supporting both Newtonian and non-Newtonian
viscosity.

This general framework will support linear, non-linear, visco-elastic
etc. laminar transport models.

For backward compatibility the 'Stokes' laminar stress model can be
selected either the original 'laminar' 'simulationType'
specification in turbulenceProperties:

    simulationType laminar;

or using the new more general 'laminarModel' specification:

    simulationType laminar;

    laminar
    {
        laminarModel        Stokes;
    }

which allows other laminar stress models to be selected.
---
 .../DPMTurbulenceModels/DPMTurbulenceModels.C |  11 +-
 .../compressibleTurbulenceModels.C            |  13 +-
 .../multiphaseCompressibleTurbulenceModels.C  |   9 +-
 .../phaseCompressibleTurbulenceModels.C       |   9 +-
 .../phaseCompressibleTurbulenceModels.C       |   9 +-
 .../makeTurbulenceModel.H                     |  34 +-
 .../turbulentFluidThermoModel.H               |   2 +
 .../turbulentFluidThermoModels.C              |   9 +
 .../turbulentFluidThermoModels.H              |   6 +-
 .../turbulentTransportModel.H                 |   2 +
 .../turbulentTransportModels.C                |   9 +
 .../turbulentTransportModels.H                |   6 +-
 .../laminar/{laminar.C => Stokes/Stokes.C}    |  87 ++---
 .../laminar/{laminar.H => Stokes/Stokes.H}    |  42 ++-
 .../laminar/laminarModel/laminarModel.C       | 339 ++++++++++++++++++
 .../laminar/laminarModel/laminarModel.H       | 208 +++++++++++
 .../laminar/laminarModel/laminarModelDoc.H    |  32 ++
 .../turbulenceModels/makeTurbulenceModel.H    |  10 +-
 18 files changed, 750 insertions(+), 87 deletions(-)
 rename src/TurbulenceModels/turbulenceModels/laminar/{laminar.C => Stokes/Stokes.C} (75%)
 rename src/TurbulenceModels/turbulenceModels/laminar/{laminar.H => Stokes/Stokes.H} (82%)
 create mode 100644 src/TurbulenceModels/turbulenceModels/laminar/laminarModel/laminarModel.C
 create mode 100644 src/TurbulenceModels/turbulenceModels/laminar/laminarModel/laminarModel.H
 create mode 100644 src/TurbulenceModels/turbulenceModels/laminar/laminarModel/laminarModelDoc.H

diff --git a/applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels/DPMTurbulenceModels.C b/applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels/DPMTurbulenceModels.C
index 66b480df0e..ae345c2066 100644
--- a/applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels/DPMTurbulenceModels.C
+++ b/applications/solvers/lagrangian/DPMFoam/DPMTurbulenceModels/DPMTurbulenceModels.C
@@ -28,8 +28,8 @@ License
 #include "addToRunTimeSelectionTable.H"
 #include "makeTurbulenceModel.H"
 
-#include "laminar.H"
-#include "turbulentTransportModel.H"
+#include "laminarModel.H"
+#include "RASModel.H"
 #include "LESModel.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -52,6 +52,10 @@ makeBaseTurbulenceModel
     singlePhaseTransportModel
 );
 
+#define makeLaminarModel(Type)                                                 \
+    makeTemplatedTurbulenceModel                                               \
+    (singlePhaseTransportModelPhaseIncompressibleTurbulenceModel, laminar, Type)
+
 #define makeRASModel(Type)                                                     \
     makeTemplatedTurbulenceModel                                               \
     (singlePhaseTransportModelPhaseIncompressibleTurbulenceModel, RAS, Type)
@@ -60,6 +64,9 @@ makeBaseTurbulenceModel
     makeTemplatedTurbulenceModel                                               \
     (singlePhaseTransportModelPhaseIncompressibleTurbulenceModel, LES, Type)
 
+#include "Stokes.H"
+makeLaminarModel(Stokes);
+
 #include "kEpsilon.H"
 makeRASModel(kEpsilon);
 
diff --git a/applications/solvers/multiphase/driftFluxFoam/compressibleTurbulenceModels.C b/applications/solvers/multiphase/driftFluxFoam/compressibleTurbulenceModels.C
index 4cb722f5f4..abf89c1500 100644
--- a/applications/solvers/multiphase/driftFluxFoam/compressibleTurbulenceModels.C
+++ b/applications/solvers/multiphase/driftFluxFoam/compressibleTurbulenceModels.C
@@ -28,7 +28,7 @@ License
 #include "addToRunTimeSelectionTable.H"
 #include "makeTurbulenceModel.H"
 
-#include "laminar.H"
+#include "laminarModel.H"
 #include "RASModel.H"
 #include "LESModel.H"
 
@@ -52,6 +52,14 @@ makeBaseTurbulenceModel
     incompressibleTwoPhaseInteractingMixture
 );
 
+#define makeLaminarModel(Type)                                                 \
+    makeTemplatedTurbulenceModel                                               \
+    (                                                                          \
+        incompressibleTwoPhaseInteractingMixtureCompressibleTurbulenceModel,   \
+        laminar,                                                               \
+        Type                                                                   \
+    )
+
 #define makeRASModel(Type)                                                     \
     makeTemplatedTurbulenceModel                                               \
     (                                                                          \
@@ -68,6 +76,9 @@ makeBaseTurbulenceModel
         Type                                                                   \
     )
 
+#include "Stokes.H"
+makeLaminarModel(Stokes);
+
 #include "kEpsilon.H"
 makeRASModel(kEpsilon);
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/multiphaseCompressibleTurbulenceModels.C b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/multiphaseCompressibleTurbulenceModels.C
index 083c2567f3..92089901d6 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/multiphaseCompressibleTurbulenceModels.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/multiphaseCompressibleTurbulenceModels.C
@@ -27,7 +27,7 @@ License
 #include "addToRunTimeSelectionTable.H"
 #include "makeTurbulenceModel.H"
 
-#include "laminar.H"
+#include "laminarModel.H"
 #include "RASModel.H"
 #include "LESModel.H"
 
@@ -53,6 +53,10 @@ makeBaseTurbulenceModel
     phaseModel
 );
 
+#define makeLaminarModel(Type)                                                 \
+    makeTemplatedLaminarModel                                                  \
+    (phaseModelPhaseCompressibleTurbulenceModel, laminar, Type)
+
 #define makeRASModel(Type)                                                     \
     makeTemplatedTurbulenceModel                                               \
     (phaseModelPhaseCompressibleTurbulenceModel, RAS, Type)
@@ -61,6 +65,9 @@ makeBaseTurbulenceModel
     makeTemplatedTurbulenceModel                                               \
     (phaseModelPhaseCompressibleTurbulenceModel, LES, Type)
 
+#include "Stokes.H"
+makeLaminarModel(Stokes);
+
 #include "kEpsilon.H"
 makeRASModel(kEpsilon);
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C
index bd04977f2b..bcf7911619 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C
@@ -27,7 +27,7 @@ License
 #include "addToRunTimeSelectionTable.H"
 #include "makeTurbulenceModel.H"
 
-#include "laminar.H"
+#include "laminarModel.H"
 #include "RASModel.H"
 #include "LESModel.H"
 
@@ -53,6 +53,10 @@ makeBaseTurbulenceModel
     phaseModel
 );
 
+#define makeLaminarModel(Type)                                                 \
+    makeTemplatedLaminarModel                                                  \
+    (phaseModelPhaseCompressibleTurbulenceModel, laminar, Type)
+
 #define makeRASModel(Type)                                                     \
     makeTemplatedTurbulenceModel                                               \
     (phaseModelPhaseCompressibleTurbulenceModel, RAS, Type)
@@ -61,6 +65,9 @@ makeBaseTurbulenceModel
     makeTemplatedTurbulenceModel                                               \
     (phaseModelPhaseCompressibleTurbulenceModel, LES, Type)
 
+#include "Stokes.H"
+makeLaminarModel(Stokes);
+
 #include "kEpsilon.H"
 makeRASModel(kEpsilon);
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C
index c60dea0f77..6871136560 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C
@@ -32,7 +32,7 @@ License
 #include "ThermalDiffusivity.H"
 #include "EddyDiffusivity.H"
 
-#include "laminar.H"
+#include "laminarModel.H"
 #include "RASModel.H"
 #include "LESModel.H"
 
@@ -58,6 +58,10 @@ makeBaseTurbulenceModel
     phaseModel
 );
 
+#define makeLaminarModel(Type)                                                 \
+    makeTemplatedLaminarModel                                                  \
+    (phaseModelPhaseCompressibleTurbulenceModel, laminar, Type)
+
 #define makeRASModel(Type)                                                     \
     makeTemplatedTurbulenceModel                                               \
     (phaseModelPhaseCompressibleTurbulenceModel, RAS, Type)
@@ -66,6 +70,9 @@ makeBaseTurbulenceModel
     makeTemplatedTurbulenceModel                                               \
     (phaseModelPhaseCompressibleTurbulenceModel, LES, Type)
 
+#include "Stokes.H"
+makeLaminarModel(Stokes);
+
 #include "kEpsilon.H"
 makeRASModel(kEpsilon);
 
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H
index da2dd7188a..e4e5358e33 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H
@@ -34,7 +34,8 @@ License
     {                                                                          \
         typedef TDModel<BaseModel<Transport>>                                  \
             Transport##BaseModel;                                              \
-        typedef laminar<Transport##BaseModel> Laminar##Transport##BaseModel;   \
+        typedef laminarModel<Transport##BaseModel>                             \
+            laminar##Transport##BaseModel;                                     \
         typedef RASModel<EddyDiffusivity<Transport##BaseModel>>                \
             RAS##Transport##BaseModel;                                         \
         typedef LESModel<EddyDiffusivity<Transport##BaseModel>>                \
@@ -65,14 +66,18 @@ License
             Transport##BaseModel;                                              \
                                                                                \
                                                                                \
-        typedef laminar<Transport##BaseModel> Laminar##Transport##BaseModel;   \
+        typedef laminarModel<Transport##BaseModel>                             \
+            laminar##Transport##BaseModel;                                     \
                                                                                \
-        defineNamedTemplateTypeNameAndDebug(Laminar##Transport##BaseModel, 0); \
+        defineNamedTemplateTypeNameAndDebug(laminar##Transport##BaseModel, 0); \
+                                                                               \
+        defineTemplateRunTimeSelectionTable                                    \
+        (laminar##Transport##BaseModel, dictionary);                           \
                                                                                \
         addToRunTimeSelectionTable                                             \
         (                                                                      \
             Transport##baseModel,                                              \
-            Laminar##Transport##BaseModel,                                     \
+            laminar##Transport##BaseModel,                                     \
             dictionary                                                         \
         );                                                                     \
                                                                                \
@@ -110,6 +115,27 @@ License
     }
 
 
+#define makeTemplatedLaminarModel(BaseModel, SType, Type)                      \
+    typedef Foam::SType##Models::Type<Foam::BaseModel>                         \
+        Type##SType##BaseModel;                                                \
+    defineNamedTemplateTypeNameAndDebug(Type##SType##BaseModel, 0);            \
+                                                                               \
+    namespace Foam                                                             \
+    {                                                                          \
+        namespace SType##Models                                                \
+        {                                                                      \
+            typedef Type<BaseModel> Type##SType##BaseModel;                    \
+                                                                               \
+            addToRunTimeSelectionTable                                         \
+            (                                                                  \
+                SType##BaseModel,                                              \
+                Type##SType##BaseModel,                                        \
+                dictionary                                                     \
+            );                                                                 \
+        }                                                                      \
+    }
+
+
 #define makeTemplatedTurbulenceModel(BaseModel, SType, Type)                   \
     typedef Foam::SType##Models::Type<Foam::EddyDiffusivity<Foam::BaseModel>> \
         Type##SType##BaseModel;                                                \
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.H
index 3306738501..98bc0b5783 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModel.H
@@ -46,6 +46,7 @@ SourceFiles
 #include "CompressibleTurbulenceModel.H"
 #include "ThermalDiffusivity.H"
 #include "EddyDiffusivity.H"
+#include "laminarModel.H"
 #include "RASModel.H"
 #include "LESModel.H"
 #include "fluidThermo.H"
@@ -59,6 +60,7 @@ namespace Foam
         typedef ThermalDiffusivity<CompressibleTurbulenceModel<fluidThermo>>
             turbulenceModel;
 
+        typedef laminarModel<turbulenceModel> laminarModel;
         typedef RASModel<EddyDiffusivity<turbulenceModel>> RASModel;
         typedef LESModel<EddyDiffusivity<turbulenceModel>> LESModel;
 
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C
index 0bf0cf00e9..83c184f49a 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C
@@ -37,6 +37,15 @@ makeBaseTurbulenceModel
     fluidThermo
 );
 
+
+// -------------------------------------------------------------------------- //
+// Laminar models
+// -------------------------------------------------------------------------- //
+
+#include "Stokes.H"
+makeLaminarModel(Stokes);
+
+
 // -------------------------------------------------------------------------- //
 // RAS models
 // -------------------------------------------------------------------------- //
diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.H
index 67ba5cf4ea..54b8c3ebef 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.H
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.H
@@ -32,7 +32,7 @@ License
 #include "ThermalDiffusivity.H"
 #include "EddyDiffusivity.H"
 
-#include "laminar.H"
+#include "laminarModel.H"
 #include "RASModel.H"
 #include "LESModel.H"
 
@@ -48,6 +48,10 @@ makeTurbulenceModelTypes
     fluidThermo
 );
 
+#define makeLaminarModel(Type)                                                 \
+    makeTemplatedLaminarModel                                                  \
+    (fluidThermoCompressibleTurbulenceModel, laminar, Type)
+
 #define makeRASModel(Type)                                                     \
     makeTemplatedTurbulenceModel                                               \
     (fluidThermoCompressibleTurbulenceModel, RAS, Type)
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModel.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModel.H
index 31b9a37c15..268425e1a1 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModel.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModel.H
@@ -44,6 +44,7 @@ SourceFiles
 #define turbulentTransportModel_H
 
 #include "IncompressibleTurbulenceModel.H"
+#include "laminarModel.H"
 #include "RASModel.H"
 #include "LESModel.H"
 #include "incompressible/transportModel/transportModel.H"
@@ -56,6 +57,7 @@ namespace Foam
     {
         typedef IncompressibleTurbulenceModel<transportModel> turbulenceModel;
 
+        typedef laminarModel<turbulenceModel> laminarModel;
         typedef RASModel<turbulenceModel> RASModel;
         typedef LESModel<turbulenceModel> LESModel;
 
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.C
index 31d3cfc901..1679dbcb4a 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.C
@@ -36,6 +36,15 @@ makeBaseTurbulenceModel
     transportModel
 );
 
+
+// -------------------------------------------------------------------------- //
+// Laminar models
+// -------------------------------------------------------------------------- //
+
+#include "Stokes.H"
+makeLaminarModel(Stokes);
+
+
 // -------------------------------------------------------------------------- //
 // RAS models
 // -------------------------------------------------------------------------- //
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.H
index c86c93ab7e..b0501ac0a4 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.H
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.H
@@ -28,7 +28,7 @@ License
 #include "addToRunTimeSelectionTable.H"
 #include "makeTurbulenceModel.H"
 
-#include "laminar.H"
+#include "laminarModel.H"
 #include "RASModel.H"
 #include "LESModel.H"
 
@@ -43,6 +43,10 @@ makeTurbulenceModelTypes
     transportModel
 );
 
+#define makeLaminarModel(Type)                                                 \
+    makeTemplatedTurbulenceModel                                               \
+    (transportModelIncompressibleTurbulenceModel, laminar, Type)
+
 #define makeRASModel(Type)                                                     \
     makeTemplatedTurbulenceModel                                               \
     (transportModelIncompressibleTurbulenceModel, RAS, Type)
diff --git a/src/TurbulenceModels/turbulenceModels/laminar/laminar.C b/src/TurbulenceModels/turbulenceModels/laminar/Stokes/Stokes.C
similarity index 75%
rename from src/TurbulenceModels/turbulenceModels/laminar/laminar.C
rename to src/TurbulenceModels/turbulenceModels/laminar/Stokes/Stokes.C
index 2e60815a41..792e4c82a8 100644
--- a/src/TurbulenceModels/turbulenceModels/laminar/laminar.C
+++ b/src/TurbulenceModels/turbulenceModels/laminar/Stokes/Stokes.C
@@ -23,17 +23,24 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "laminar.H"
+#include "Stokes.H"
 #include "volFields.H"
 #include "surfaceFields.H"
 #include "fvcGrad.H"
 #include "fvcDiv.H"
 #include "fvmLaplacian.H"
 
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace laminarModels
+{
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 template<class BasicTurbulenceModel>
-Foam::laminar<BasicTurbulenceModel>::laminar
+Stokes<BasicTurbulenceModel>::Stokes
 (
     const alphaField& alpha,
     const rhoField& rho,
@@ -44,7 +51,7 @@ Foam::laminar<BasicTurbulenceModel>::laminar
     const word& propertiesName
 )
 :
-    linearViscousStress<BasicTurbulenceModel>
+    linearViscousStress<laminarModel<BasicTurbulenceModel>>
     (
         typeName,
         alpha,
@@ -58,57 +65,26 @@ Foam::laminar<BasicTurbulenceModel>::laminar
 {}
 
 
-// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * //
-
-template<class BasicTurbulenceModel>
-Foam::autoPtr<Foam::laminar<BasicTurbulenceModel>>
-Foam::laminar<BasicTurbulenceModel>::New
-(
-    const alphaField& alpha,
-    const rhoField& rho,
-    const volVectorField& U,
-    const surfaceScalarField& alphaRhoPhi,
-    const surfaceScalarField& phi,
-    const transportModel& transport,
-    const word& propertiesName
-)
-{
-    return autoPtr<laminar>
-    (
-        new laminar
-        (
-            alpha,
-            rho,
-            U,
-            alphaRhoPhi,
-            phi,
-            transport,
-            propertiesName
-        )
-    );
-}
-
-
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 template<class BasicTurbulenceModel>
-const Foam::dictionary&
-Foam::laminar<BasicTurbulenceModel>::coeffDict() const
+const dictionary&
+Stokes<BasicTurbulenceModel>::coeffDict() const
 {
     return dictionary::null;
 }
 
 
 template<class BasicTurbulenceModel>
-bool Foam::laminar<BasicTurbulenceModel>::read()
+bool Stokes<BasicTurbulenceModel>::read()
 {
     return true;
 }
 
 
 template<class BasicTurbulenceModel>
-Foam::tmp<Foam::volScalarField>
-Foam::laminar<BasicTurbulenceModel>::nut() const
+tmp<volScalarField>
+Stokes<BasicTurbulenceModel>::nut() const
 {
     return tmp<volScalarField>
     (
@@ -131,8 +107,8 @@ Foam::laminar<BasicTurbulenceModel>::nut() const
 
 
 template<class BasicTurbulenceModel>
-Foam::tmp<Foam::scalarField>
-Foam::laminar<BasicTurbulenceModel>::nut
+tmp<scalarField>
+Stokes<BasicTurbulenceModel>::nut
 (
     const label patchi
 ) const
@@ -145,8 +121,8 @@ Foam::laminar<BasicTurbulenceModel>::nut
 
 
 template<class BasicTurbulenceModel>
-Foam::tmp<Foam::volScalarField>
-Foam::laminar<BasicTurbulenceModel>::nuEff() const
+tmp<volScalarField>
+Stokes<BasicTurbulenceModel>::nuEff() const
 {
     return tmp<volScalarField>
     (
@@ -159,8 +135,8 @@ Foam::laminar<BasicTurbulenceModel>::nuEff() const
 
 
 template<class BasicTurbulenceModel>
-Foam::tmp<Foam::scalarField>
-Foam::laminar<BasicTurbulenceModel>::nuEff
+tmp<scalarField>
+Stokes<BasicTurbulenceModel>::nuEff
 (
     const label patchi
 ) const
@@ -170,8 +146,8 @@ Foam::laminar<BasicTurbulenceModel>::nuEff
 
 
 template<class BasicTurbulenceModel>
-Foam::tmp<Foam::volScalarField>
-Foam::laminar<BasicTurbulenceModel>::k() const
+tmp<volScalarField>
+Stokes<BasicTurbulenceModel>::k() const
 {
     return tmp<volScalarField>
     (
@@ -194,8 +170,8 @@ Foam::laminar<BasicTurbulenceModel>::k() const
 
 
 template<class BasicTurbulenceModel>
-Foam::tmp<Foam::volScalarField>
-Foam::laminar<BasicTurbulenceModel>::epsilon() const
+tmp<volScalarField>
+Stokes<BasicTurbulenceModel>::epsilon() const
 {
     return tmp<volScalarField>
     (
@@ -221,8 +197,8 @@ Foam::laminar<BasicTurbulenceModel>::epsilon() const
 
 
 template<class BasicTurbulenceModel>
-Foam::tmp<Foam::volSymmTensorField>
-Foam::laminar<BasicTurbulenceModel>::R() const
+tmp<volSymmTensorField>
+Stokes<BasicTurbulenceModel>::R() const
 {
     return tmp<volSymmTensorField>
     (
@@ -248,10 +224,15 @@ Foam::laminar<BasicTurbulenceModel>::R() const
 
 
 template<class BasicTurbulenceModel>
-void Foam::laminar<BasicTurbulenceModel>::correct()
+void Stokes<BasicTurbulenceModel>::correct()
 {
-    BasicTurbulenceModel::correct();
+    laminarModel<BasicTurbulenceModel>::correct();
 }
 
 
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace laminarModels
+} // End namespace Foam
+
 // ************************************************************************* //
diff --git a/src/TurbulenceModels/turbulenceModels/laminar/laminar.H b/src/TurbulenceModels/turbulenceModels/laminar/Stokes/Stokes.H
similarity index 82%
rename from src/TurbulenceModels/turbulenceModels/laminar/laminar.H
rename to src/TurbulenceModels/turbulenceModels/laminar/Stokes/Stokes.H
index 114287c0b6..a714cbf294 100644
--- a/src/TurbulenceModels/turbulenceModels/laminar/laminar.H
+++ b/src/TurbulenceModels/turbulenceModels/laminar/Stokes/Stokes.H
@@ -22,34 +22,37 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::laminar
+    Foam::Stokes
 
 Description
-    Turbulence model for laminar flow.
+    Turbulence model for Stokes flow.
 
 SourceFiles
-    laminar.C
+    Stokes.C
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef laminar_H
-#define laminar_H
+#ifndef Stokes_H
+#define Stokes_H
 
+#include "laminarModel.H"
 #include "linearViscousStress.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
 {
+namespace laminarModels
+{
 
 /*---------------------------------------------------------------------------* \
-                           Class laminar Declaration
+                           Class Stokes Declaration
 \*---------------------------------------------------------------------------*/
 
 template<class BasicTurbulenceModel>
-class laminar
+class Stokes
 :
-    public linearViscousStress<BasicTurbulenceModel>
+    public linearViscousStress<laminarModel<BasicTurbulenceModel>>
 {
 
 public:
@@ -60,13 +63,13 @@ public:
 
 
     //- Runtime type information
-    TypeName("laminar");
+    TypeName("Stokes");
 
 
     // Constructors
 
         //- Construct from components
-        laminar
+        Stokes
         (
             const alphaField& alpha,
             const rhoField& rho,
@@ -81,7 +84,7 @@ public:
     // Selectors
 
         //- Return a reference to the selected turbulence model
-        static autoPtr<laminar> New
+        static autoPtr<Stokes> New
         (
             const alphaField& alpha,
             const rhoField& rho,
@@ -94,7 +97,7 @@ public:
 
 
     //- Destructor
-    virtual ~laminar()
+    virtual ~Stokes()
     {}
 
 
@@ -106,41 +109,42 @@ public:
         //- Read turbulenceProperties dictionary
         virtual bool read();
 
-        //- Return the turbulence viscosity, i.e. 0 for laminar flow
+        //- Return the turbulence viscosity, i.e. 0 for Stokes flow
         virtual tmp<volScalarField> nut() const;
 
         //- Return the turbulence viscosity on patch
         virtual tmp<scalarField> nut(const label patchi) const;
 
-        //- Return the effective viscosity, i.e. the laminar viscosity
+        //- Return the effective viscosity, i.e. the Stokes viscosity
         virtual tmp<volScalarField> nuEff() const;
 
         //- Return the effective viscosity on patch
         virtual tmp<scalarField> nuEff(const label patchi) const;
 
-        //- Return the turbulence kinetic energy, i.e. 0 for laminar flow
+        //- Return the turbulence kinetic energy, i.e. 0 for Stokes flow
         virtual tmp<volScalarField> k() const;
 
         //- Return the turbulence kinetic energy dissipation rate,
-        //  i.e. 0 for laminar flow
+        //  i.e. 0 for Stokes flow
         virtual tmp<volScalarField> epsilon() const;
 
-        //- Return the Reynolds stress tensor, i.e. 0 for laminar flow
+        //- Return the Reynolds stress tensor, i.e. 0 for Stokes flow
         virtual tmp<volSymmTensorField> R() const;
 
-        //- Correct the laminar viscosity
+        //- Correct the Stokes viscosity
         virtual void correct();
 };
 
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+} // End namespace laminarModels
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #ifdef NoRepository
-    #include "laminar.C"
+    #include "Stokes.C"
 #endif
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/TurbulenceModels/turbulenceModels/laminar/laminarModel/laminarModel.C b/src/TurbulenceModels/turbulenceModels/laminar/laminarModel/laminarModel.C
new file mode 100644
index 0000000000..0bd0bb49e3
--- /dev/null
+++ b/src/TurbulenceModels/turbulenceModels/laminar/laminarModel/laminarModel.C
@@ -0,0 +1,339 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  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 "laminarModel.H"
+#include "Stokes.H"
+
+// * * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+void Foam::laminarModel<BasicTurbulenceModel>::printCoeffs(const word& type)
+{
+    if (printCoeffs_)
+    {
+        Info<< type << "Coeffs" << coeffDict_ << endl;
+    }
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+Foam::laminarModel<BasicTurbulenceModel>::laminarModel
+(
+    const word& type,
+    const alphaField& alpha,
+    const rhoField& rho,
+    const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
+    const surfaceScalarField& phi,
+    const transportModel& transport,
+    const word& propertiesName
+)
+:
+    BasicTurbulenceModel
+    (
+        type,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    ),
+
+    laminarDict_(this->subOrEmptyDict("laminar")),
+    printCoeffs_(laminarDict_.lookupOrDefault<Switch>("printCoeffs", false)),
+    coeffDict_(laminarDict_.subOrEmptyDict(type + "Coeffs"))
+{
+    // Force the construction of the mesh deltaCoeffs which may be needed
+    // for the construction of the derived models and BCs
+    this->mesh_.deltaCoeffs();
+}
+
+
+// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+Foam::autoPtr<Foam::laminarModel<BasicTurbulenceModel>>
+Foam::laminarModel<BasicTurbulenceModel>::New
+(
+    const alphaField& alpha,
+    const rhoField& rho,
+    const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
+    const surfaceScalarField& phi,
+    const transportModel& transport,
+    const word& propertiesName
+)
+{
+    IOdictionary modelDict
+    (
+        IOobject
+        (
+            IOobject::groupName(propertiesName, U.group()),
+            U.time().constant(),
+            U.db(),
+            IOobject::MUST_READ_IF_MODIFIED,
+            IOobject::NO_WRITE,
+            false
+        )
+    );
+
+    if (modelDict.found("laminar"))
+    {
+        // get model name, but do not register the dictionary
+        // otherwise it is registered in the database twice
+        const word modelType
+        (
+            modelDict.subDict("laminar").lookup("laminarModel")
+        );
+
+        Info<< "Selecting laminar stress model " << modelType << endl;
+
+        typename dictionaryConstructorTable::iterator cstrIter =
+            dictionaryConstructorTablePtr_->find(modelType);
+
+        if (cstrIter == dictionaryConstructorTablePtr_->end())
+        {
+            FatalErrorInFunction
+                << "Unknown laminarModel type "
+                << modelType << nl << nl
+                << "Valid laminarModel types:" << endl
+                << dictionaryConstructorTablePtr_->sortedToc()
+                << exit(FatalError);
+        }
+
+        return autoPtr<laminarModel>
+        (
+            cstrIter()
+            (
+                alpha,
+                rho,
+                U,
+                alphaRhoPhi,
+                phi,
+                transport, propertiesName)
+        );
+    }
+    else
+    {
+        Info<< "Selecting laminar stress model "
+            << laminarModels::Stokes<BasicTurbulenceModel>::typeName << endl;
+
+        return autoPtr<laminarModel>
+        (
+            new laminarModels::Stokes<BasicTurbulenceModel>
+            (
+                alpha,
+                rho,
+                U,
+                alphaRhoPhi,
+                phi,
+                transport,
+                propertiesName
+            )
+        );
+    }
+}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+bool Foam::laminarModel<BasicTurbulenceModel>::read()
+{
+    if (BasicTurbulenceModel::read())
+    {
+        laminarDict_ <<= this->subDict("laminar");
+
+        if
+        (
+            const dictionary* dictPtr =
+                laminarDict_.subDictPtr(type() + "Coeffs")
+        )
+        {
+            coeffDict_ <<= *dictPtr;
+        }
+
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+
+template<class BasicTurbulenceModel>
+Foam::tmp<Foam::volScalarField>
+Foam::laminarModel<BasicTurbulenceModel>::nut() const
+{
+    return tmp<volScalarField>
+    (
+        new volScalarField
+        (
+            IOobject
+            (
+                IOobject::groupName("nut", this->U_.group()),
+                this->runTime_.timeName(),
+                this->mesh_,
+                IOobject::NO_READ,
+                IOobject::NO_WRITE,
+                false
+            ),
+            this->mesh_,
+            dimensionedScalar("nut", dimViscosity, 0.0)
+        )
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+Foam::tmp<Foam::scalarField>
+Foam::laminarModel<BasicTurbulenceModel>::nut
+(
+    const label patchi
+) const
+{
+    return tmp<scalarField>
+    (
+        new scalarField(this->mesh_.boundary()[patchi].size(), 0.0)
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+Foam::tmp<Foam::volScalarField>
+Foam::laminarModel<BasicTurbulenceModel>::nuEff() const
+{
+    return tmp<volScalarField>
+    (
+        new volScalarField
+        (
+            IOobject::groupName("nuEff", this->U_.group()), this->nu()
+        )
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+Foam::tmp<Foam::scalarField>
+Foam::laminarModel<BasicTurbulenceModel>::nuEff
+(
+    const label patchi
+) const
+{
+    return this->nu(patchi);
+}
+
+
+template<class BasicTurbulenceModel>
+Foam::tmp<Foam::volScalarField>
+Foam::laminarModel<BasicTurbulenceModel>::k() const
+{
+    return tmp<volScalarField>
+    (
+        new volScalarField
+        (
+            IOobject
+            (
+                IOobject::groupName("k", this->U_.group()),
+                this->runTime_.timeName(),
+                this->mesh_,
+                IOobject::NO_READ,
+                IOobject::NO_WRITE,
+                false
+            ),
+            this->mesh_,
+            dimensionedScalar("k", sqr(this->U_.dimensions()), 0.0)
+        )
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+Foam::tmp<Foam::volScalarField>
+Foam::laminarModel<BasicTurbulenceModel>::epsilon() const
+{
+    return tmp<volScalarField>
+    (
+        new volScalarField
+        (
+            IOobject
+            (
+                IOobject::groupName("epsilon", this->U_.group()),
+                this->runTime_.timeName(),
+                this->mesh_,
+                IOobject::NO_READ,
+                IOobject::NO_WRITE,
+                false
+            ),
+            this->mesh_,
+            dimensionedScalar
+            (
+                "epsilon", sqr(this->U_.dimensions())/dimTime, 0.0
+            )
+        )
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+Foam::tmp<Foam::volSymmTensorField>
+Foam::laminarModel<BasicTurbulenceModel>::R() const
+{
+    return tmp<volSymmTensorField>
+    (
+        new volSymmTensorField
+        (
+            IOobject
+            (
+                IOobject::groupName("R", this->U_.group()),
+                this->runTime_.timeName(),
+                this->mesh_,
+                IOobject::NO_READ,
+                IOobject::NO_WRITE,
+                false
+            ),
+            this->mesh_,
+            dimensionedSymmTensor
+            (
+                "R", sqr(this->U_.dimensions()), Zero
+            )
+        )
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+void Foam::laminarModel<BasicTurbulenceModel>::correct()
+{
+    BasicTurbulenceModel::correct();
+}
+
+
+// ************************************************************************* //
diff --git a/src/TurbulenceModels/turbulenceModels/laminar/laminarModel/laminarModel.H b/src/TurbulenceModels/turbulenceModels/laminar/laminarModel/laminarModel.H
new file mode 100644
index 0000000000..ad5466e0ff
--- /dev/null
+++ b/src/TurbulenceModels/turbulenceModels/laminar/laminarModel/laminarModel.H
@@ -0,0 +1,208 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  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::laminarModel
+
+Description
+    Templated abstract base class for laminar transport models
+
+SourceFiles
+    laminarModel.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef laminarModel_H
+#define laminarModel_H
+
+#include "TurbulenceModel.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+/*---------------------------------------------------------------------------*\
+                           Class laminarModel Declaration
+\*---------------------------------------------------------------------------*/
+
+template<class BasicTurbulenceModel>
+class laminarModel
+:
+    public BasicTurbulenceModel
+{
+
+protected:
+
+    // Protected data
+
+        //- laminar coefficients dictionary
+        dictionary laminarDict_;
+
+        //- Flag to print the model coeffs at run-time
+        Switch printCoeffs_;
+
+        //- Model coefficients dictionary
+        dictionary coeffDict_;
+
+
+    // Protected Member Functions
+
+        //- Print model coefficients
+        virtual void printCoeffs(const word& type);
+
+
+private:
+
+    // Private Member Functions
+
+        //- Disallow default bitwise copy construct
+        laminarModel(const laminarModel&);
+
+        //- Disallow default bitwise assignment
+        void operator=(const laminarModel&);
+
+
+public:
+
+    typedef typename BasicTurbulenceModel::alphaField alphaField;
+    typedef typename BasicTurbulenceModel::rhoField rhoField;
+    typedef typename BasicTurbulenceModel::transportModel transportModel;
+
+
+    //- Runtime type information
+    TypeName("laminar");
+
+
+    // Declare run-time constructor selection table
+
+        declareRunTimeSelectionTable
+        (
+            autoPtr,
+            laminarModel,
+            dictionary,
+            (
+                const alphaField& alpha,
+                const rhoField& rho,
+                const volVectorField& U,
+                const surfaceScalarField& alphaRhoPhi,
+                const surfaceScalarField& phi,
+                const transportModel& transport,
+                const word& propertiesName
+            ),
+            (alpha, rho, U, alphaRhoPhi, phi, transport, propertiesName)
+        );
+
+
+    // Constructors
+
+        //- Construct from components
+        laminarModel
+        (
+            const word& type,
+            const alphaField& alpha,
+            const rhoField& rho,
+            const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
+            const surfaceScalarField& phi,
+            const transportModel& transport,
+            const word& propertiesName
+        );
+
+
+    // Selectors
+
+        //- Return a reference to the selected laminar model
+        static autoPtr<laminarModel> New
+        (
+            const alphaField& alpha,
+            const rhoField& rho,
+            const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
+            const surfaceScalarField& phi,
+            const transportModel& transport,
+            const word& propertiesName = turbulenceModel::propertiesName
+        );
+
+
+    //- Destructor
+    virtual ~laminarModel()
+    {}
+
+
+    // Member Functions
+
+        //- Read model coefficients if they have changed
+        virtual bool read();
+
+
+        // Access
+
+            //- Const access to the coefficients dictionary
+            virtual const dictionary& coeffDict() const
+            {
+                return coeffDict_;
+            }
+
+            //- Return the turbulence viscosity, i.e. 0 for laminar flow
+            virtual tmp<volScalarField> nut() const;
+
+            //- Return the turbulence viscosity on patch
+            virtual tmp<scalarField> nut(const label patchi) const;
+
+            //- Return the effective viscosity, i.e. the laminar viscosity
+            virtual tmp<volScalarField> nuEff() const;
+
+            //- Return the effective viscosity on patch
+            virtual tmp<scalarField> nuEff(const label patchi) const;
+
+            //- Return the turbulence kinetic energy, i.e. 0 for laminar flow
+            virtual tmp<volScalarField> k() const;
+
+            //- Return the turbulence kinetic energy dissipation rate,
+            //  i.e. 0 for laminar flow
+            virtual tmp<volScalarField> epsilon() const;
+
+            //- Return the Reynolds stress tensor, i.e. 0 for laminar flow
+            virtual tmp<volSymmTensorField> R() const;
+
+            //- Correct the laminar transport
+            virtual void correct();
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#ifdef NoRepository
+    #include "laminarModel.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/TurbulenceModels/turbulenceModels/laminar/laminarModel/laminarModelDoc.H b/src/TurbulenceModels/turbulenceModels/laminar/laminarModel/laminarModelDoc.H
new file mode 100644
index 0000000000..e58e1c6d43
--- /dev/null
+++ b/src/TurbulenceModels/turbulenceModels/laminar/laminarModel/laminarModelDoc.H
@@ -0,0 +1,32 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  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/>.
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+\defgroup grpLaminar laminar transport model
+@{
+    \ingroup grpTurbulence
+    This group contains laminar models.
+@}
+
+\*---------------------------------------------------------------------------*/
diff --git a/src/TurbulenceModels/turbulenceModels/makeTurbulenceModel.H b/src/TurbulenceModels/turbulenceModels/makeTurbulenceModel.H
index 1b226749e8..64ba83fee2 100644
--- a/src/TurbulenceModels/turbulenceModels/makeTurbulenceModel.H
+++ b/src/TurbulenceModels/turbulenceModels/makeTurbulenceModel.H
@@ -28,7 +28,8 @@ License
     namespace Foam                                                             \
     {                                                                          \
         typedef BaseModel<Transport> Transport##BaseModel;                     \
-        typedef laminar<Transport##BaseModel> Laminar##Transport##BaseModel;   \
+        typedef laminarModel<Transport##BaseModel>                             \
+            laminar##Transport##BaseModel;                                     \
         typedef RASModel<Transport##BaseModel> RAS##Transport##BaseModel;      \
         typedef LESModel<Transport##BaseModel> LES##Transport##BaseModel;      \
     }
@@ -53,12 +54,15 @@ License
         );                                                                     \
                                                                                \
                                                                                \
-        defineNamedTemplateTypeNameAndDebug(Laminar##Transport##BaseModel, 0); \
+        defineNamedTemplateTypeNameAndDebug(laminar##Transport##BaseModel, 0); \
+                                                                               \
+        defineTemplateRunTimeSelectionTable                                    \
+        (laminar##Transport##BaseModel, dictionary);                           \
                                                                                \
         addToRunTimeSelectionTable                                             \
         (                                                                      \
             Transport##baseModel,                                              \
-            Laminar##Transport##BaseModel,                                     \
+            laminar##Transport##BaseModel,                                     \
             dictionary                                                         \
         );                                                                     \
                                                                                \
-- 
GitLab


From 4500cd15a08d4c1a4ca60fe120ed811e88e843ce Mon Sep 17 00:00:00 2001
From: mattijs <mattijs>
Date: Tue, 20 Sep 2016 17:07:30 +0100
Subject: [PATCH 29/96] ENH: fvc: instantiating 2D volVectorField

---
 applications/test/fvc2D/Make/files   |  3 ++
 applications/test/fvc2D/Make/options |  7 +++
 applications/test/fvc2D/Test-fvc2D.C | 75 ++++++++++++++++++++++++++++
 3 files changed, 85 insertions(+)
 create mode 100644 applications/test/fvc2D/Make/files
 create mode 100644 applications/test/fvc2D/Make/options
 create mode 100644 applications/test/fvc2D/Test-fvc2D.C

diff --git a/applications/test/fvc2D/Make/files b/applications/test/fvc2D/Make/files
new file mode 100644
index 0000000000..ffd2664354
--- /dev/null
+++ b/applications/test/fvc2D/Make/files
@@ -0,0 +1,3 @@
+Test-fvc2D.C
+
+EXE = $(FOAM_USER_APPBIN)/Test-fvc2D
diff --git a/applications/test/fvc2D/Make/options b/applications/test/fvc2D/Make/options
new file mode 100644
index 0000000000..d27c95d033
--- /dev/null
+++ b/applications/test/fvc2D/Make/options
@@ -0,0 +1,7 @@
+EXE_INC = \
+    -I$(LIB_SRC)/finiteVolume/lnInclude \
+    -I$(LIB_SRC)/meshTools/lnInclude
+
+EXE_LIBS = \
+    -lfiniteVolume \
+    -lmeshTools
diff --git a/applications/test/fvc2D/Test-fvc2D.C b/applications/test/fvc2D/Test-fvc2D.C
new file mode 100644
index 0000000000..c1fbdf5cf9
--- /dev/null
+++ b/applications/test/fvc2D/Test-fvc2D.C
@@ -0,0 +1,75 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  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/>.
+
+Application
+    test
+
+Description
+    Finite volume method test code.
+
+\*---------------------------------------------------------------------------*/
+
+#include "fvCFD.H"
+#include "vector2D.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+namespace Foam
+{
+    typedef GeometricField<vector2D, fvPatchField, volMesh> volVector2DField;
+
+    defineTemplate2TypeNameAndDebug
+    (
+        volVector2DField::DimensionedInternalField,
+        0
+    );
+    defineTemplateTypeNameAndDebug(volVector2DField, 0);
+
+    typedef fvPatchField<vector2D> fvPatchVector2DField;
+    makeFvPatchField(fvPatchVector2DField)
+}
+
+int main(int argc, char *argv[])
+{
+    #include "setRootCase.H"
+
+    #include "createTime.H"
+    #include "createMesh.H"
+
+    GeometricField<vector2D, fvPatchField, volMesh> fld
+    (
+        IOobject
+        (
+            "U",
+            runTime.timeName(),
+            mesh,
+            IOobject::MUST_READ,
+            IOobject::AUTO_WRITE
+        ),
+        mesh
+    );
+
+    Info<< "end" << endl;
+}
+
+
+// ************************************************************************* //
-- 
GitLab


From f6fa3d5cc6874409534f75dccc2041f5b63eb36b Mon Sep 17 00:00:00 2001
From: Chris Greenshields <http://cfd.direct>
Date: Tue, 20 Sep 2016 18:24:09 +0100
Subject: [PATCH 30/96] Organisation of pimpleFoam tutorials into categories of
 turbulence modelling

---
 .../pimpleFoam/{ => LES}/channel395/0.orig/U        |   0
 .../pimpleFoam/{ => LES}/channel395/0.orig/k        |   0
 .../pimpleFoam/{ => LES}/channel395/0.orig/nuTilda  |   0
 .../pimpleFoam/{ => LES}/channel395/0.orig/nut      |   0
 .../pimpleFoam/{ => LES}/channel395/0.orig/p        |   0
 .../pimpleFoam/{ => LES}/channel395/0/B.gz          | Bin
 .../pimpleFoam/{ => LES}/channel395/0/U.gz          | Bin
 .../pimpleFoam/{ => LES}/channel395/0/k.gz          | Bin
 .../pimpleFoam/{ => LES}/channel395/0/nuTilda.gz    | Bin
 .../pimpleFoam/{ => LES}/channel395/0/nut.gz        | Bin
 .../pimpleFoam/{ => LES}/channel395/0/p.gz          | Bin
 .../pimpleFoam/{ => LES}/channel395/Allrun          |   0
 .../{ => LES}/channel395/constant/fvOptions         |   0
 .../{ => LES}/channel395/constant/postChannelDict   |   0
 .../channel395/constant/transportProperties         |   0
 .../channel395/constant/turbulenceProperties        |   0
 .../{ => LES}/channel395/system/blockMeshDict       |   0
 .../{ => LES}/channel395/system/controlDict         |   0
 .../{ => LES}/channel395/system/decomposeParDict    |   0
 .../{ => LES}/channel395/system/fvSchemes           |   0
 .../{ => LES}/channel395/system/fvSolution          |   0
 .../pimpleFoam/{ => RAS}/TJunction/0/U              |   0
 .../pimpleFoam/{ => RAS}/TJunction/0/epsilon        |   0
 .../pimpleFoam/{ => RAS}/TJunction/0/k              |   0
 .../pimpleFoam/{ => RAS}/TJunction/0/nuTilda        |   0
 .../pimpleFoam/{ => RAS}/TJunction/0/nut            |   0
 .../pimpleFoam/{ => RAS}/TJunction/0/p              |   0
 .../pimpleFoam/{ => RAS}/TJunction/README.txt       |   0
 .../TJunction/constant/transportProperties          |   0
 .../TJunction/constant/turbulenceProperties         |   0
 .../{ => RAS}/TJunction/system/blockMeshDict        |   0
 .../{ => RAS}/TJunction/system/controlDict          |   0
 .../pimpleFoam/{ => RAS}/TJunction/system/fvSchemes |   0
 .../{ => RAS}/TJunction/system/fvSolution           |   0
 .../pimpleFoam/{ => RAS}/TJunctionFan/0.orig/U      |   0
 .../{ => RAS}/TJunctionFan/0.orig/epsilon           |   0
 .../pimpleFoam/{ => RAS}/TJunctionFan/0.orig/k      |   0
 .../{ => RAS}/TJunctionFan/0.orig/nuTilda           |   0
 .../pimpleFoam/{ => RAS}/TJunctionFan/0.orig/nut    |   0
 .../pimpleFoam/{ => RAS}/TJunctionFan/0.orig/p      |   0
 .../pimpleFoam/{ => RAS}/TJunctionFan/Allclean      |   0
 .../pimpleFoam/{ => RAS}/TJunctionFan/Allrun        |   0
 .../pimpleFoam/{ => RAS}/TJunctionFan/README.txt    |   0
 .../TJunctionFan/constant/transportProperties       |   0
 .../TJunctionFan/constant/turbulenceProperties      |   0
 .../{ => RAS}/TJunctionFan/system/blockMeshDict     |   0
 .../{ => RAS}/TJunctionFan/system/controlDict       |   0
 .../{ => RAS}/TJunctionFan/system/createBafflesDict |   0
 .../{ => RAS}/TJunctionFan/system/fvSchemes         |   0
 .../{ => RAS}/TJunctionFan/system/fvSolution        |   0
 .../{ => RAS}/TJunctionFan/system/topoSetDict       |   0
 .../pimpleFoam/{ => RAS}/elipsekkLOmega/0/U         |   0
 .../pimpleFoam/{ => RAS}/elipsekkLOmega/0/kl        |   0
 .../pimpleFoam/{ => RAS}/elipsekkLOmega/0/kt        |   0
 .../pimpleFoam/{ => RAS}/elipsekkLOmega/0/nut       |   0
 .../pimpleFoam/{ => RAS}/elipsekkLOmega/0/omega     |   0
 .../pimpleFoam/{ => RAS}/elipsekkLOmega/0/p         |   0
 .../pimpleFoam/{ => RAS}/elipsekkLOmega/Allclean    |   0
 .../pimpleFoam/{ => RAS}/elipsekkLOmega/Allrun      |   0
 .../elipsekkLOmega/constant/transportProperties     |   0
 .../elipsekkLOmega/constant/turbulenceProperties    |   0
 .../{ => RAS}/elipsekkLOmega/system/blockMeshDict   |   0
 .../elipsekkLOmega/system/changeDictionaryDict      |   0
 .../elipsekkLOmega/system/changeDictionaryDict.X    |   0
 .../elipsekkLOmega/system/changeDictionaryDict.Y    |   0
 .../{ => RAS}/elipsekkLOmega/system/controlDict     |   0
 .../{ => RAS}/elipsekkLOmega/system/createPatchDict |   0
 .../{ => RAS}/elipsekkLOmega/system/fvSchemes       |   0
 .../{ => RAS}/elipsekkLOmega/system/fvSolution      |   0
 .../{ => RAS}/elipsekkLOmega/system/mirrorMeshDict  |   0
 .../{ => RAS}/elipsekkLOmega/system/topoSetDict     |   0
 .../pimpleFoam/{ => RAS}/pitzDaily/0/U              |   0
 .../pimpleFoam/{ => RAS}/pitzDaily/0/epsilon        |   0
 .../pimpleFoam/{ => RAS}/pitzDaily/0/k              |   0
 .../pimpleFoam/{ => RAS}/pitzDaily/0/nuTilda        |   0
 .../pimpleFoam/{ => RAS}/pitzDaily/0/nut            |   0
 .../pimpleFoam/{ => RAS}/pitzDaily/0/p              |   0
 .../pitzDaily/constant/transportProperties          |   0
 .../pitzDaily/constant/turbulenceProperties         |   0
 .../{ => RAS}/pitzDaily/system/blockMeshDict        |   0
 .../{ => RAS}/pitzDaily/system/controlDict          |   0
 .../pimpleFoam/{ => RAS}/pitzDaily/system/fvSchemes |   0
 .../{ => RAS}/pitzDaily/system/fvSolution           |   0
 83 files changed, 0 insertions(+), 0 deletions(-)
 rename tutorials/incompressible/pimpleFoam/{ => LES}/channel395/0.orig/U (100%)
 rename tutorials/incompressible/pimpleFoam/{ => LES}/channel395/0.orig/k (100%)
 rename tutorials/incompressible/pimpleFoam/{ => LES}/channel395/0.orig/nuTilda (100%)
 rename tutorials/incompressible/pimpleFoam/{ => LES}/channel395/0.orig/nut (100%)
 rename tutorials/incompressible/pimpleFoam/{ => LES}/channel395/0.orig/p (100%)
 rename tutorials/incompressible/pimpleFoam/{ => LES}/channel395/0/B.gz (100%)
 rename tutorials/incompressible/pimpleFoam/{ => LES}/channel395/0/U.gz (100%)
 rename tutorials/incompressible/pimpleFoam/{ => LES}/channel395/0/k.gz (100%)
 rename tutorials/incompressible/pimpleFoam/{ => LES}/channel395/0/nuTilda.gz (100%)
 rename tutorials/incompressible/pimpleFoam/{ => LES}/channel395/0/nut.gz (100%)
 rename tutorials/incompressible/pimpleFoam/{ => LES}/channel395/0/p.gz (100%)
 rename tutorials/incompressible/pimpleFoam/{ => LES}/channel395/Allrun (100%)
 rename tutorials/incompressible/pimpleFoam/{ => LES}/channel395/constant/fvOptions (100%)
 rename tutorials/incompressible/pimpleFoam/{ => LES}/channel395/constant/postChannelDict (100%)
 rename tutorials/incompressible/pimpleFoam/{ => LES}/channel395/constant/transportProperties (100%)
 rename tutorials/incompressible/pimpleFoam/{ => LES}/channel395/constant/turbulenceProperties (100%)
 rename tutorials/incompressible/pimpleFoam/{ => LES}/channel395/system/blockMeshDict (100%)
 rename tutorials/incompressible/pimpleFoam/{ => LES}/channel395/system/controlDict (100%)
 rename tutorials/incompressible/pimpleFoam/{ => LES}/channel395/system/decomposeParDict (100%)
 rename tutorials/incompressible/pimpleFoam/{ => LES}/channel395/system/fvSchemes (100%)
 rename tutorials/incompressible/pimpleFoam/{ => LES}/channel395/system/fvSolution (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunction/0/U (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunction/0/epsilon (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunction/0/k (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunction/0/nuTilda (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunction/0/nut (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunction/0/p (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunction/README.txt (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunction/constant/transportProperties (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunction/constant/turbulenceProperties (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunction/system/blockMeshDict (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunction/system/controlDict (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunction/system/fvSchemes (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunction/system/fvSolution (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunctionFan/0.orig/U (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunctionFan/0.orig/epsilon (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunctionFan/0.orig/k (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunctionFan/0.orig/nuTilda (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunctionFan/0.orig/nut (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunctionFan/0.orig/p (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunctionFan/Allclean (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunctionFan/Allrun (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunctionFan/README.txt (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunctionFan/constant/transportProperties (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunctionFan/constant/turbulenceProperties (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunctionFan/system/blockMeshDict (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunctionFan/system/controlDict (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunctionFan/system/createBafflesDict (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunctionFan/system/fvSchemes (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunctionFan/system/fvSolution (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/TJunctionFan/system/topoSetDict (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/elipsekkLOmega/0/U (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/elipsekkLOmega/0/kl (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/elipsekkLOmega/0/kt (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/elipsekkLOmega/0/nut (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/elipsekkLOmega/0/omega (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/elipsekkLOmega/0/p (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/elipsekkLOmega/Allclean (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/elipsekkLOmega/Allrun (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/elipsekkLOmega/constant/transportProperties (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/elipsekkLOmega/constant/turbulenceProperties (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/elipsekkLOmega/system/blockMeshDict (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/elipsekkLOmega/system/changeDictionaryDict (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/elipsekkLOmega/system/changeDictionaryDict.X (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/elipsekkLOmega/system/changeDictionaryDict.Y (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/elipsekkLOmega/system/controlDict (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/elipsekkLOmega/system/createPatchDict (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/elipsekkLOmega/system/fvSchemes (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/elipsekkLOmega/system/fvSolution (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/elipsekkLOmega/system/mirrorMeshDict (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/elipsekkLOmega/system/topoSetDict (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/pitzDaily/0/U (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/pitzDaily/0/epsilon (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/pitzDaily/0/k (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/pitzDaily/0/nuTilda (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/pitzDaily/0/nut (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/pitzDaily/0/p (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/pitzDaily/constant/transportProperties (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/pitzDaily/constant/turbulenceProperties (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/pitzDaily/system/blockMeshDict (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/pitzDaily/system/controlDict (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/pitzDaily/system/fvSchemes (100%)
 rename tutorials/incompressible/pimpleFoam/{ => RAS}/pitzDaily/system/fvSolution (100%)

diff --git a/tutorials/incompressible/pimpleFoam/channel395/0.orig/U b/tutorials/incompressible/pimpleFoam/LES/channel395/0.orig/U
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/channel395/0.orig/U
rename to tutorials/incompressible/pimpleFoam/LES/channel395/0.orig/U
diff --git a/tutorials/incompressible/pimpleFoam/channel395/0.orig/k b/tutorials/incompressible/pimpleFoam/LES/channel395/0.orig/k
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/channel395/0.orig/k
rename to tutorials/incompressible/pimpleFoam/LES/channel395/0.orig/k
diff --git a/tutorials/incompressible/pimpleFoam/channel395/0.orig/nuTilda b/tutorials/incompressible/pimpleFoam/LES/channel395/0.orig/nuTilda
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/channel395/0.orig/nuTilda
rename to tutorials/incompressible/pimpleFoam/LES/channel395/0.orig/nuTilda
diff --git a/tutorials/incompressible/pimpleFoam/channel395/0.orig/nut b/tutorials/incompressible/pimpleFoam/LES/channel395/0.orig/nut
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/channel395/0.orig/nut
rename to tutorials/incompressible/pimpleFoam/LES/channel395/0.orig/nut
diff --git a/tutorials/incompressible/pimpleFoam/channel395/0.orig/p b/tutorials/incompressible/pimpleFoam/LES/channel395/0.orig/p
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/channel395/0.orig/p
rename to tutorials/incompressible/pimpleFoam/LES/channel395/0.orig/p
diff --git a/tutorials/incompressible/pimpleFoam/channel395/0/B.gz b/tutorials/incompressible/pimpleFoam/LES/channel395/0/B.gz
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/channel395/0/B.gz
rename to tutorials/incompressible/pimpleFoam/LES/channel395/0/B.gz
diff --git a/tutorials/incompressible/pimpleFoam/channel395/0/U.gz b/tutorials/incompressible/pimpleFoam/LES/channel395/0/U.gz
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/channel395/0/U.gz
rename to tutorials/incompressible/pimpleFoam/LES/channel395/0/U.gz
diff --git a/tutorials/incompressible/pimpleFoam/channel395/0/k.gz b/tutorials/incompressible/pimpleFoam/LES/channel395/0/k.gz
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/channel395/0/k.gz
rename to tutorials/incompressible/pimpleFoam/LES/channel395/0/k.gz
diff --git a/tutorials/incompressible/pimpleFoam/channel395/0/nuTilda.gz b/tutorials/incompressible/pimpleFoam/LES/channel395/0/nuTilda.gz
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/channel395/0/nuTilda.gz
rename to tutorials/incompressible/pimpleFoam/LES/channel395/0/nuTilda.gz
diff --git a/tutorials/incompressible/pimpleFoam/channel395/0/nut.gz b/tutorials/incompressible/pimpleFoam/LES/channel395/0/nut.gz
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/channel395/0/nut.gz
rename to tutorials/incompressible/pimpleFoam/LES/channel395/0/nut.gz
diff --git a/tutorials/incompressible/pimpleFoam/channel395/0/p.gz b/tutorials/incompressible/pimpleFoam/LES/channel395/0/p.gz
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/channel395/0/p.gz
rename to tutorials/incompressible/pimpleFoam/LES/channel395/0/p.gz
diff --git a/tutorials/incompressible/pimpleFoam/channel395/Allrun b/tutorials/incompressible/pimpleFoam/LES/channel395/Allrun
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/channel395/Allrun
rename to tutorials/incompressible/pimpleFoam/LES/channel395/Allrun
diff --git a/tutorials/incompressible/pimpleFoam/channel395/constant/fvOptions b/tutorials/incompressible/pimpleFoam/LES/channel395/constant/fvOptions
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/channel395/constant/fvOptions
rename to tutorials/incompressible/pimpleFoam/LES/channel395/constant/fvOptions
diff --git a/tutorials/incompressible/pimpleFoam/channel395/constant/postChannelDict b/tutorials/incompressible/pimpleFoam/LES/channel395/constant/postChannelDict
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/channel395/constant/postChannelDict
rename to tutorials/incompressible/pimpleFoam/LES/channel395/constant/postChannelDict
diff --git a/tutorials/incompressible/pimpleFoam/channel395/constant/transportProperties b/tutorials/incompressible/pimpleFoam/LES/channel395/constant/transportProperties
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/channel395/constant/transportProperties
rename to tutorials/incompressible/pimpleFoam/LES/channel395/constant/transportProperties
diff --git a/tutorials/incompressible/pimpleFoam/channel395/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/LES/channel395/constant/turbulenceProperties
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/channel395/constant/turbulenceProperties
rename to tutorials/incompressible/pimpleFoam/LES/channel395/constant/turbulenceProperties
diff --git a/tutorials/incompressible/pimpleFoam/channel395/system/blockMeshDict b/tutorials/incompressible/pimpleFoam/LES/channel395/system/blockMeshDict
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/channel395/system/blockMeshDict
rename to tutorials/incompressible/pimpleFoam/LES/channel395/system/blockMeshDict
diff --git a/tutorials/incompressible/pimpleFoam/channel395/system/controlDict b/tutorials/incompressible/pimpleFoam/LES/channel395/system/controlDict
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/channel395/system/controlDict
rename to tutorials/incompressible/pimpleFoam/LES/channel395/system/controlDict
diff --git a/tutorials/incompressible/pimpleFoam/channel395/system/decomposeParDict b/tutorials/incompressible/pimpleFoam/LES/channel395/system/decomposeParDict
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/channel395/system/decomposeParDict
rename to tutorials/incompressible/pimpleFoam/LES/channel395/system/decomposeParDict
diff --git a/tutorials/incompressible/pimpleFoam/channel395/system/fvSchemes b/tutorials/incompressible/pimpleFoam/LES/channel395/system/fvSchemes
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/channel395/system/fvSchemes
rename to tutorials/incompressible/pimpleFoam/LES/channel395/system/fvSchemes
diff --git a/tutorials/incompressible/pimpleFoam/channel395/system/fvSolution b/tutorials/incompressible/pimpleFoam/LES/channel395/system/fvSolution
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/channel395/system/fvSolution
rename to tutorials/incompressible/pimpleFoam/LES/channel395/system/fvSolution
diff --git a/tutorials/incompressible/pimpleFoam/TJunction/0/U b/tutorials/incompressible/pimpleFoam/RAS/TJunction/0/U
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunction/0/U
rename to tutorials/incompressible/pimpleFoam/RAS/TJunction/0/U
diff --git a/tutorials/incompressible/pimpleFoam/TJunction/0/epsilon b/tutorials/incompressible/pimpleFoam/RAS/TJunction/0/epsilon
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunction/0/epsilon
rename to tutorials/incompressible/pimpleFoam/RAS/TJunction/0/epsilon
diff --git a/tutorials/incompressible/pimpleFoam/TJunction/0/k b/tutorials/incompressible/pimpleFoam/RAS/TJunction/0/k
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunction/0/k
rename to tutorials/incompressible/pimpleFoam/RAS/TJunction/0/k
diff --git a/tutorials/incompressible/pimpleFoam/TJunction/0/nuTilda b/tutorials/incompressible/pimpleFoam/RAS/TJunction/0/nuTilda
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunction/0/nuTilda
rename to tutorials/incompressible/pimpleFoam/RAS/TJunction/0/nuTilda
diff --git a/tutorials/incompressible/pimpleFoam/TJunction/0/nut b/tutorials/incompressible/pimpleFoam/RAS/TJunction/0/nut
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunction/0/nut
rename to tutorials/incompressible/pimpleFoam/RAS/TJunction/0/nut
diff --git a/tutorials/incompressible/pimpleFoam/TJunction/0/p b/tutorials/incompressible/pimpleFoam/RAS/TJunction/0/p
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunction/0/p
rename to tutorials/incompressible/pimpleFoam/RAS/TJunction/0/p
diff --git a/tutorials/incompressible/pimpleFoam/TJunction/README.txt b/tutorials/incompressible/pimpleFoam/RAS/TJunction/README.txt
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunction/README.txt
rename to tutorials/incompressible/pimpleFoam/RAS/TJunction/README.txt
diff --git a/tutorials/incompressible/pimpleFoam/TJunction/constant/transportProperties b/tutorials/incompressible/pimpleFoam/RAS/TJunction/constant/transportProperties
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunction/constant/transportProperties
rename to tutorials/incompressible/pimpleFoam/RAS/TJunction/constant/transportProperties
diff --git a/tutorials/incompressible/pimpleFoam/TJunction/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/RAS/TJunction/constant/turbulenceProperties
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunction/constant/turbulenceProperties
rename to tutorials/incompressible/pimpleFoam/RAS/TJunction/constant/turbulenceProperties
diff --git a/tutorials/incompressible/pimpleFoam/TJunction/system/blockMeshDict b/tutorials/incompressible/pimpleFoam/RAS/TJunction/system/blockMeshDict
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunction/system/blockMeshDict
rename to tutorials/incompressible/pimpleFoam/RAS/TJunction/system/blockMeshDict
diff --git a/tutorials/incompressible/pimpleFoam/TJunction/system/controlDict b/tutorials/incompressible/pimpleFoam/RAS/TJunction/system/controlDict
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunction/system/controlDict
rename to tutorials/incompressible/pimpleFoam/RAS/TJunction/system/controlDict
diff --git a/tutorials/incompressible/pimpleFoam/TJunction/system/fvSchemes b/tutorials/incompressible/pimpleFoam/RAS/TJunction/system/fvSchemes
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunction/system/fvSchemes
rename to tutorials/incompressible/pimpleFoam/RAS/TJunction/system/fvSchemes
diff --git a/tutorials/incompressible/pimpleFoam/TJunction/system/fvSolution b/tutorials/incompressible/pimpleFoam/RAS/TJunction/system/fvSolution
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunction/system/fvSolution
rename to tutorials/incompressible/pimpleFoam/RAS/TJunction/system/fvSolution
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/0.orig/U b/tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/U
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunctionFan/0.orig/U
rename to tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/U
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/0.orig/epsilon b/tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/epsilon
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunctionFan/0.orig/epsilon
rename to tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/epsilon
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/0.orig/k b/tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/k
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunctionFan/0.orig/k
rename to tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/k
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/0.orig/nuTilda b/tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/nuTilda
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunctionFan/0.orig/nuTilda
rename to tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/nuTilda
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/0.orig/nut b/tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/nut
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunctionFan/0.orig/nut
rename to tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/nut
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/0.orig/p b/tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/p
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunctionFan/0.orig/p
rename to tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/p
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/Allclean b/tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/Allclean
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunctionFan/Allclean
rename to tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/Allclean
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/Allrun b/tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/Allrun
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunctionFan/Allrun
rename to tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/Allrun
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/README.txt b/tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/README.txt
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunctionFan/README.txt
rename to tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/README.txt
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/constant/transportProperties b/tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/constant/transportProperties
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunctionFan/constant/transportProperties
rename to tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/constant/transportProperties
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/constant/turbulenceProperties
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunctionFan/constant/turbulenceProperties
rename to tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/constant/turbulenceProperties
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/system/blockMeshDict b/tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/system/blockMeshDict
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunctionFan/system/blockMeshDict
rename to tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/system/blockMeshDict
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/system/controlDict b/tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/system/controlDict
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunctionFan/system/controlDict
rename to tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/system/controlDict
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/system/createBafflesDict b/tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/system/createBafflesDict
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunctionFan/system/createBafflesDict
rename to tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/system/createBafflesDict
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/system/fvSchemes b/tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/system/fvSchemes
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunctionFan/system/fvSchemes
rename to tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/system/fvSchemes
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/system/fvSolution b/tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/system/fvSolution
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunctionFan/system/fvSolution
rename to tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/system/fvSolution
diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/system/topoSetDict b/tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/system/topoSetDict
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/TJunctionFan/system/topoSetDict
rename to tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/system/topoSetDict
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/U b/tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/0/U
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/U
rename to tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/0/U
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/kl b/tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/0/kl
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/kl
rename to tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/0/kl
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/kt b/tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/0/kt
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/kt
rename to tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/0/kt
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/nut b/tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/0/nut
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/nut
rename to tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/0/nut
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/omega b/tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/0/omega
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/omega
rename to tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/0/omega
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/p b/tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/0/p
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/elipsekkLOmega/0/p
rename to tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/0/p
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/Allclean b/tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/Allclean
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/elipsekkLOmega/Allclean
rename to tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/Allclean
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/Allrun b/tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/Allrun
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/elipsekkLOmega/Allrun
rename to tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/Allrun
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/constant/transportProperties b/tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/constant/transportProperties
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/elipsekkLOmega/constant/transportProperties
rename to tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/constant/transportProperties
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/constant/turbulenceProperties
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/elipsekkLOmega/constant/turbulenceProperties
rename to tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/constant/turbulenceProperties
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/blockMeshDict b/tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/system/blockMeshDict
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/blockMeshDict
rename to tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/system/blockMeshDict
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/changeDictionaryDict b/tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/system/changeDictionaryDict
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/changeDictionaryDict
rename to tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/system/changeDictionaryDict
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/changeDictionaryDict.X b/tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/system/changeDictionaryDict.X
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/changeDictionaryDict.X
rename to tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/system/changeDictionaryDict.X
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/changeDictionaryDict.Y b/tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/system/changeDictionaryDict.Y
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/changeDictionaryDict.Y
rename to tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/system/changeDictionaryDict.Y
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/controlDict b/tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/system/controlDict
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/controlDict
rename to tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/system/controlDict
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/createPatchDict b/tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/system/createPatchDict
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/createPatchDict
rename to tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/system/createPatchDict
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/fvSchemes b/tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/system/fvSchemes
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/fvSchemes
rename to tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/system/fvSchemes
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/fvSolution b/tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/system/fvSolution
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/fvSolution
rename to tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/system/fvSolution
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/mirrorMeshDict b/tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/system/mirrorMeshDict
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/mirrorMeshDict
rename to tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/system/mirrorMeshDict
diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/topoSetDict b/tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/system/topoSetDict
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/topoSetDict
rename to tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/system/topoSetDict
diff --git a/tutorials/incompressible/pimpleFoam/pitzDaily/0/U b/tutorials/incompressible/pimpleFoam/RAS/pitzDaily/0/U
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/pitzDaily/0/U
rename to tutorials/incompressible/pimpleFoam/RAS/pitzDaily/0/U
diff --git a/tutorials/incompressible/pimpleFoam/pitzDaily/0/epsilon b/tutorials/incompressible/pimpleFoam/RAS/pitzDaily/0/epsilon
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/pitzDaily/0/epsilon
rename to tutorials/incompressible/pimpleFoam/RAS/pitzDaily/0/epsilon
diff --git a/tutorials/incompressible/pimpleFoam/pitzDaily/0/k b/tutorials/incompressible/pimpleFoam/RAS/pitzDaily/0/k
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/pitzDaily/0/k
rename to tutorials/incompressible/pimpleFoam/RAS/pitzDaily/0/k
diff --git a/tutorials/incompressible/pimpleFoam/pitzDaily/0/nuTilda b/tutorials/incompressible/pimpleFoam/RAS/pitzDaily/0/nuTilda
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/pitzDaily/0/nuTilda
rename to tutorials/incompressible/pimpleFoam/RAS/pitzDaily/0/nuTilda
diff --git a/tutorials/incompressible/pimpleFoam/pitzDaily/0/nut b/tutorials/incompressible/pimpleFoam/RAS/pitzDaily/0/nut
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/pitzDaily/0/nut
rename to tutorials/incompressible/pimpleFoam/RAS/pitzDaily/0/nut
diff --git a/tutorials/incompressible/pimpleFoam/pitzDaily/0/p b/tutorials/incompressible/pimpleFoam/RAS/pitzDaily/0/p
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/pitzDaily/0/p
rename to tutorials/incompressible/pimpleFoam/RAS/pitzDaily/0/p
diff --git a/tutorials/incompressible/pimpleFoam/pitzDaily/constant/transportProperties b/tutorials/incompressible/pimpleFoam/RAS/pitzDaily/constant/transportProperties
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/pitzDaily/constant/transportProperties
rename to tutorials/incompressible/pimpleFoam/RAS/pitzDaily/constant/transportProperties
diff --git a/tutorials/incompressible/pimpleFoam/pitzDaily/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/RAS/pitzDaily/constant/turbulenceProperties
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/pitzDaily/constant/turbulenceProperties
rename to tutorials/incompressible/pimpleFoam/RAS/pitzDaily/constant/turbulenceProperties
diff --git a/tutorials/incompressible/pimpleFoam/pitzDaily/system/blockMeshDict b/tutorials/incompressible/pimpleFoam/RAS/pitzDaily/system/blockMeshDict
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/pitzDaily/system/blockMeshDict
rename to tutorials/incompressible/pimpleFoam/RAS/pitzDaily/system/blockMeshDict
diff --git a/tutorials/incompressible/pimpleFoam/pitzDaily/system/controlDict b/tutorials/incompressible/pimpleFoam/RAS/pitzDaily/system/controlDict
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/pitzDaily/system/controlDict
rename to tutorials/incompressible/pimpleFoam/RAS/pitzDaily/system/controlDict
diff --git a/tutorials/incompressible/pimpleFoam/pitzDaily/system/fvSchemes b/tutorials/incompressible/pimpleFoam/RAS/pitzDaily/system/fvSchemes
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/pitzDaily/system/fvSchemes
rename to tutorials/incompressible/pimpleFoam/RAS/pitzDaily/system/fvSchemes
diff --git a/tutorials/incompressible/pimpleFoam/pitzDaily/system/fvSolution b/tutorials/incompressible/pimpleFoam/RAS/pitzDaily/system/fvSolution
similarity index 100%
rename from tutorials/incompressible/pimpleFoam/pitzDaily/system/fvSolution
rename to tutorials/incompressible/pimpleFoam/RAS/pitzDaily/system/fvSolution
-- 
GitLab


From 3264ba7ad5dc0c049c13e1c297f9874a5cec7e0d Mon Sep 17 00:00:00 2001
From: Chris Greenshields <http://cfd.direct>
Date: Tue, 20 Sep 2016 18:38:15 +0100
Subject: [PATCH 31/96] Maxwell model for viscoelasticity using the
 upper-convected time derivative of the stress tensor.  See
 http://en.wikipedia.org/wiki/Upper-convected_Maxwell_model

The model includes an additional viscosity (nu) from the transport
model from which it is instantiated, which makes it equivalent to the
Oldroyd-B model for the case of an incompressible transport model.
See https://en.wikipedia.org/wiki/Oldroyd-B_model
---
 .../turbulentFluidThermoModels.C              |   3 +
 .../laminar/Maxwell/Maxwell.C                 | 240 ++++++++++++++++++
 .../laminar/Maxwell/Maxwell.H                 | 174 +++++++++++++
 .../pimpleFoam/laminar/planarContraction/0/U  |  46 ++++
 .../pimpleFoam/laminar/planarContraction/0/p  |  42 +++
 .../laminar/planarContraction/0/sigma         |  38 +++
 .../constant/transportProperties              |  21 ++
 .../constant/turbulenceProperties             |  32 +++
 .../planarContraction/system/blockMeshDict    | 112 ++++++++
 .../planarContraction/system/controlDict      |  52 ++++
 .../planarContraction/system/fvSchemes        |  54 ++++
 .../planarContraction/system/fvSolution       |  67 +++++
 .../laminar/planarContraction/system/graphs   |  62 +++++
 .../pimpleFoam/laminar/planarPoiseuille/0/U   |  32 +++
 .../pimpleFoam/laminar/planarPoiseuille/0/p   |  31 +++
 .../laminar/planarPoiseuille/0/sigma          |  32 +++
 .../laminar/planarPoiseuille/Allclean         |  12 +
 .../laminar/planarPoiseuille/Allrun           |  15 ++
 .../planarPoiseuille/constant/fvOptions       |  38 +++
 .../constant/transportProperties              |  21 ++
 .../constant/turbulenceProperties             |  32 +++
 .../planarPoiseuille/system/blockMeshDict     |  96 +++++++
 .../planarPoiseuille/system/controlDict       |  54 ++++
 .../laminar/planarPoiseuille/system/fvSchemes |  54 ++++
 .../planarPoiseuille/system/fvSolution        |  67 +++++
 .../laminar/planarPoiseuille/system/probes    |  21 ++
 .../laminar/planarPoiseuille/system/residuals |  19 ++
 .../planarPoiseuille/system/singleGraph       |  48 ++++
 .../validation/WatersKing/Make/files          |   3 +
 .../validation/WatersKing/Make/options        |  14 +
 .../validation/WatersKing/WatersKing.C        | 146 +++++++++++
 .../validation/WatersKing/createFields.H      |  64 +++++
 .../planarPoiseuille/validation/createGraph   |  27 ++
 33 files changed, 1769 insertions(+)
 create mode 100644 src/TurbulenceModels/turbulenceModels/laminar/Maxwell/Maxwell.C
 create mode 100644 src/TurbulenceModels/turbulenceModels/laminar/Maxwell/Maxwell.H
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarContraction/0/U
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarContraction/0/p
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarContraction/0/sigma
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarContraction/constant/transportProperties
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarContraction/constant/turbulenceProperties
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarContraction/system/blockMeshDict
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarContraction/system/controlDict
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarContraction/system/fvSchemes
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarContraction/system/fvSolution
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarContraction/system/graphs
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/0/U
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/0/p
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/0/sigma
 create mode 100755 tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/Allclean
 create mode 100755 tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/Allrun
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/constant/fvOptions
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/constant/transportProperties
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/constant/turbulenceProperties
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/blockMeshDict
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/controlDict
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/fvSchemes
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/fvSolution
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/probes
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/residuals
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/singleGraph
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/Make/files
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/Make/options
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/WatersKing.C
 create mode 100644 tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/createFields.H
 create mode 100755 tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/createGraph

diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C
index 83c184f49a..6506c21387 100644
--- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C
+++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C
@@ -45,6 +45,9 @@ makeBaseTurbulenceModel
 #include "Stokes.H"
 makeLaminarModel(Stokes);
 
+#include "Maxwell.H"
+makeLaminarModel(Maxwell);
+
 
 // -------------------------------------------------------------------------- //
 // RAS models
diff --git a/src/TurbulenceModels/turbulenceModels/laminar/Maxwell/Maxwell.C b/src/TurbulenceModels/turbulenceModels/laminar/Maxwell/Maxwell.C
new file mode 100644
index 0000000000..1a7f409cd1
--- /dev/null
+++ b/src/TurbulenceModels/turbulenceModels/laminar/Maxwell/Maxwell.C
@@ -0,0 +1,240 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  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 "Maxwell.H"
+#include "fvOptions.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace laminarModels
+{
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+Maxwell<BasicTurbulenceModel>::Maxwell
+(
+    const alphaField& alpha,
+    const rhoField& rho,
+    const volVectorField& U,
+    const surfaceScalarField& alphaRhoPhi,
+    const surfaceScalarField& phi,
+    const transportModel& transport,
+    const word& propertiesName,
+    const word& type
+)
+:
+    laminarModel<BasicTurbulenceModel>
+    (
+        type,
+        alpha,
+        rho,
+        U,
+        alphaRhoPhi,
+        phi,
+        transport,
+        propertiesName
+    ),
+
+    nuM_
+    (
+        dimensioned<scalar>
+        (
+            "nuM",
+            dimViscosity,
+            this->coeffDict_.lookup("nuM")
+        )
+    ),
+
+    lambda_
+    (
+        dimensioned<scalar>
+        (
+            "lambda",
+            dimTime,
+            this->coeffDict_.lookup("lambda")
+        )
+    ),
+
+    sigma_
+    (
+        IOobject
+        (
+            IOobject::groupName("sigma", U.group()),
+            this->runTime_.timeName(),
+            this->mesh_,
+            IOobject::MUST_READ,
+            IOobject::AUTO_WRITE
+        ),
+        this->mesh_
+    )
+{
+    if (type == typeName)
+    {
+        this->printCoeffs(type);
+    }
+}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+bool Maxwell<BasicTurbulenceModel>::read()
+{
+    if (laminarModel<BasicTurbulenceModel>::read())
+    {
+        nuM_.readIfPresent(this->coeffDict());
+        lambda_.readIfPresent(this->coeffDict());
+
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+template<class BasicTurbulenceModel>
+tmp<Foam::volSymmTensorField>
+Maxwell<BasicTurbulenceModel>::R() const
+{
+    return sigma_;
+}
+
+template<class BasicTurbulenceModel>
+tmp<Foam::volSymmTensorField>
+Maxwell<BasicTurbulenceModel>::devRhoReff() const
+{
+    return tmp<volSymmTensorField>
+    (
+        new volSymmTensorField
+        (
+            IOobject
+            (
+                IOobject::groupName("devRhoReff", this->U_.group()),
+                this->runTime_.timeName(),
+                this->mesh_,
+                IOobject::NO_READ,
+                IOobject::NO_WRITE
+            ),
+            this->alpha_*this->rho_*sigma_
+          - (this->alpha_*this->rho_*this->nu())
+           *dev(twoSymm(fvc::grad(this->U_)))
+        )
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<Foam::fvVectorMatrix>
+Maxwell<BasicTurbulenceModel>::divDevRhoReff
+(
+    volVectorField& U
+) const
+{
+    return
+    (
+        fvc::div
+        (
+            this->alpha_*this->rho_*this->nuM_*fvc::grad(U)
+        )
+      + fvc::div(this->alpha_*this->rho_*sigma_)
+      - fvc::div(this->alpha_*this->rho_*this->nu()*dev2(T(fvc::grad(U))))
+      - fvm::laplacian(this->alpha_*this->rho_*nu0(), U)
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<Foam::fvVectorMatrix>
+Maxwell<BasicTurbulenceModel>::divDevRhoReff
+(
+    const volScalarField& rho,
+    volVectorField& U
+) const
+{
+    return
+    (
+        fvc::div
+        (
+            this->alpha_*rho*this->nuM_*fvc::grad(U)
+        )
+      + fvc::div(this->alpha_*rho*sigma_)
+      - fvc::div(this->alpha_*rho*this->nu()*dev2(T(fvc::grad(U))))
+      - fvm::laplacian(this->alpha_*rho*nu0(), U)
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+void Maxwell<BasicTurbulenceModel>::correct()
+{
+    // Local references
+    const alphaField& alpha = this->alpha_;
+    const rhoField& rho = this->rho_;
+    const surfaceScalarField& alphaRhoPhi = this->alphaRhoPhi_;
+    const volVectorField& U = this->U_;
+    volSymmTensorField& sigma = this->sigma_;
+    fv::options& fvOptions(fv::options::New(this->mesh_));
+
+    laminarModel<BasicTurbulenceModel>::correct();
+
+    tmp<volTensorField> tgradU(fvc::grad(U));
+    const volTensorField& gradU = tgradU();
+    dimensionedScalar rLambda = 1.0/(lambda_);
+
+    // Note sigma is positive on lhs of momentum eqn
+    volSymmTensorField P
+    (
+        twoSymm(sigma & gradU)
+      - nuM_*rLambda*twoSymm(gradU)
+    );
+
+    // Viscoelastic stress equation
+    tmp<fvSymmTensorMatrix> sigmaEqn
+    (
+        fvm::ddt(alpha, rho, sigma)
+      + fvm::div(alphaRhoPhi, sigma)
+      + fvm::Sp(alpha*rho*rLambda, sigma)
+      ==
+        alpha*rho*P
+      + fvOptions(alpha, rho, sigma)
+    );
+
+    sigmaEqn.ref().relax();
+    fvOptions.constrain(sigmaEqn.ref());
+    solve(sigmaEqn);
+    fvOptions.correct(sigma_);
+}
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace laminarModels
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/src/TurbulenceModels/turbulenceModels/laminar/Maxwell/Maxwell.H b/src/TurbulenceModels/turbulenceModels/laminar/Maxwell/Maxwell.H
new file mode 100644
index 0000000000..85c4d38d51
--- /dev/null
+++ b/src/TurbulenceModels/turbulenceModels/laminar/Maxwell/Maxwell.H
@@ -0,0 +1,174 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  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::laminarModels::Maxwell
+
+Group
+    grpLaminar
+
+Description
+    Maxwell model for viscoelasticity using the upper-convected time
+    derivative of the stress tensor.
+    See http://en.wikipedia.org/wiki/Upper-convected_Maxwell_model
+
+    The model includes an additional viscosity (nu) from the transport
+    model from which it is instantiated, which makes it equivalent to
+    the Oldroyd-B model for the case of an incompressible transport
+    model (where nu is non-zero).
+    See https://en.wikipedia.org/wiki/Oldroyd-B_model
+
+    Reference:
+    \verbatim
+        Amoreira, L. J., & Oliveira, P. J. (2010).
+        Comparison of different formulations for the numerical calculation
+        of unsteady incompressible viscoelastic fluid flow.
+        Adv. Appl. Math. Mech, 4, 483-502.
+    \endverbatim
+
+SourceFiles
+    Maxwell.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef Maxwell_H
+#define Maxwell_H
+
+#include "laminarModel.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace laminarModels
+{
+
+/*---------------------------------------------------------------------------*\
+                           Class Maxwell Declaration
+\*---------------------------------------------------------------------------*/
+
+template<class BasicTurbulenceModel>
+class Maxwell
+:
+    public laminarModel<BasicTurbulenceModel>
+{
+
+protected:
+
+    // Protected data
+
+        // Model coefficients
+
+            dimensionedScalar nuM_;
+            dimensionedScalar lambda_;
+
+
+        // Fields
+
+            volSymmTensorField sigma_;
+
+
+    // Protected Member Functions
+
+        //- Return the turbulence viscosity
+        tmp<volScalarField> nu0() const
+        {
+            return this->nu() + nuM_;
+        }
+
+
+public:
+
+    typedef typename BasicTurbulenceModel::alphaField alphaField;
+    typedef typename BasicTurbulenceModel::rhoField rhoField;
+    typedef typename BasicTurbulenceModel::transportModel transportModel;
+
+
+    //- Runtime type information
+    TypeName("Maxwell");
+
+
+    // Constructors
+
+        //- Construct from components
+        Maxwell
+        (
+            const alphaField& alpha,
+            const rhoField& rho,
+            const volVectorField& U,
+            const surfaceScalarField& alphaRhoPhi,
+            const surfaceScalarField& phi,
+            const transportModel& transport,
+            const word& propertiesName = turbulenceModel::propertiesName,
+            const word& type = typeName
+        );
+
+
+    //- Destructor
+    virtual ~Maxwell()
+    {}
+
+
+    // Member Functions
+
+        //- Read model coefficients if they have changed
+        virtual bool read();
+
+        //- Return the Reynolds stress tensor
+        virtual tmp<volSymmTensorField> R() const;
+
+        //- Return the effective stress tensor
+        virtual tmp<volSymmTensorField> devRhoReff() const;
+
+        //- Return the source term for the momentum equation
+        virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
+
+        //- Return the source term for the momentum equation
+        virtual tmp<fvVectorMatrix> divDevRhoReff
+        (
+            const volScalarField& rho,
+            volVectorField& U
+        ) const;
+
+        //- Solve the turbulence equations and correct eddy-Viscosity and
+        //  related properties
+        virtual void correct();
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace laminarModels
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#ifdef NoRepository
+    #include "Maxwell.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarContraction/0/U b/tutorials/incompressible/pimpleFoam/laminar/planarContraction/0/U
new file mode 100644
index 0000000000..ee40b539a6
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarContraction/0/U
@@ -0,0 +1,46 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volVectorField;
+    object      U;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+Uinlet          (0.03876 0 0);
+
+dimensions      [0 1 -1 0 0 0 0];
+
+internalField   uniform (0 0 0);
+
+boundaryField
+{
+    inlet
+    {
+        type            fixedValue;
+        value           uniform $Uinlet;
+    }
+
+    outlet
+    {
+        type            zeroGradient;
+        value           uniform (0 0 0);
+    }
+
+    wall
+    {
+        type            fixedValue;
+        value           uniform (0 0 0);
+    }
+
+    #includeEtc "caseDicts/setConstraintTypes"
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarContraction/0/p b/tutorials/incompressible/pimpleFoam/laminar/planarContraction/0/p
new file mode 100644
index 0000000000..f2d9ffb3b9
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarContraction/0/p
@@ -0,0 +1,42 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      p;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -2 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    inlet
+    {
+        type            zeroGradient;
+    }
+
+    outlet
+    {
+        type            fixedValue;
+        value           uniform 0;
+    }
+
+    wall
+    {
+        type            zeroGradient;
+    }
+
+    #includeEtc "caseDicts/setConstraintTypes"
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarContraction/0/sigma b/tutorials/incompressible/pimpleFoam/laminar/planarContraction/0/sigma
new file mode 100644
index 0000000000..259ccfb7b7
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarContraction/0/sigma
@@ -0,0 +1,38 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volSymmTensorField;
+    object      R;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -2 0 0 0 0];
+
+internalField   uniform (0 0 0 0 0 0);
+
+boundaryField
+{
+    inlet
+    {
+        type            fixedValue;
+        value           $internalField;
+    }
+
+    ".*"
+    {
+        type            zeroGradient;
+    }
+
+    #includeEtc "caseDicts/setConstraintTypes"
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarContraction/constant/transportProperties b/tutorials/incompressible/pimpleFoam/laminar/planarContraction/constant/transportProperties
new file mode 100644
index 0000000000..35bbd73e1e
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarContraction/constant/transportProperties
@@ -0,0 +1,21 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  3.0.1                                 |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      transportProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+transportModel  Newtonian;
+
+nu              [0 2 -1 0 0 0 0] 1e-5;
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarContraction/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/laminar/planarContraction/constant/turbulenceProperties
new file mode 100644
index 0000000000..6503cde5c3
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarContraction/constant/turbulenceProperties
@@ -0,0 +1,32 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+simulationType laminar;
+
+laminar
+{
+    laminarModel        Maxwell;
+
+    MaxwellCoeffs
+    {
+        nuM             0.002;
+        lambda          0.03;
+    }
+
+    printCoeffs         on;
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarContraction/system/blockMeshDict b/tutorials/incompressible/pimpleFoam/laminar/planarContraction/system/blockMeshDict
new file mode 100644
index 0000000000..b466803448
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarContraction/system/blockMeshDict
@@ -0,0 +1,112 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      blockMeshDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+convertToMeters 0.0032;
+
+vertices
+(
+    (-40 0 -1)
+    (  0 0 -1)
+    ( 30 0 -1)
+    (-40 1 -1)
+    (  0 1 -1)
+    ( 30 1 -1)
+    (-40 4 -1)
+    (  0 4 -1)
+
+    (-40 0  1)
+    (  0 0  1)
+    ( 30 0  1)
+    (-40 1  1)
+    (  0 1  1)
+    ( 30 1  1)
+    (-40 4  1)
+    (  0 4  1)
+);
+
+blocks
+(
+    hex (0 1 4 3  8  9 12 11) (40 12 1) simpleGrading (0.02 0.4 1)
+    hex (1 2 5 4  9 10 13 12) (30 12 1) simpleGrading (50 0.4 1)
+    hex (3 4 7 6 11 12 15 14) (40 24 1) simpleGrading (0.02 ((0.5 0.5 4.0) (0.5 0.5 0.25)) 1)
+);
+
+edges
+(
+);
+
+boundary
+(
+    inlet
+    {
+        type patch;
+        faces
+        (
+            (0 3 11 8)
+            (3 6 14 11)
+        );
+    }
+
+    walls
+    {
+        type wall;
+        faces
+        (
+            (6 7 15 14)
+            (7 4 12 15)
+            (4 5 13 12)
+        );
+    }
+
+    outlet
+    {
+        type patch;
+        faces
+        (
+            (2 5 13 10)
+        );
+    }
+
+    centreline
+    {
+        type symmetryPlane;
+        faces
+        (
+            (0 1 9 8)
+            (1 2 10 9)
+        );
+    }
+
+    frontAndBack
+    {
+        type empty;
+        faces
+        (
+            (0 1 4 3)
+            (3 4 7 6)
+            (1 2 5 4)
+            (8 9 12 11)
+            (11 12 15 14)
+            (9 10 13 12)
+        );
+    }
+);
+
+mergePatchPairs
+(
+);
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarContraction/system/controlDict b/tutorials/incompressible/pimpleFoam/laminar/planarContraction/system/controlDict
new file mode 100644
index 0000000000..66f6d6cfde
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarContraction/system/controlDict
@@ -0,0 +1,52 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      controlDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+application     pimpleFoam;
+
+startFrom       latestTime;
+
+startTime       0;
+
+stopAt          endTime;
+
+endTime         0.25;
+
+deltaT          2e-4;
+
+writeControl    runTime;
+
+writeInterval   0.01;
+
+purgeWrite      0;
+
+writeFormat     ascii;
+
+writePrecision   8;
+
+writeCompression off;
+
+timeFormat      general;
+
+timePrecision   6;
+
+runTimeModifiable true;
+
+functions
+{
+    #includeFunc graphs
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarContraction/system/fvSchemes b/tutorials/incompressible/pimpleFoam/laminar/planarContraction/system/fvSchemes
new file mode 100644
index 0000000000..9f4397a084
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarContraction/system/fvSchemes
@@ -0,0 +1,54 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      fvSchemes;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+ddtSchemes
+{
+    default         backward;
+}
+
+gradSchemes
+{
+    default         Gauss linear;
+}
+
+divSchemes
+{
+    default         none;
+
+    div(phi,U)      Gauss linearUpwind grad(U);
+    div(phi,sigma)  Gauss vanAlbada;
+
+    div(sigma)                  Gauss linear;
+    div((nu*dev2(T(grad(U)))))  Gauss linear;
+    div((nuM*grad(U)))          Gauss linear;
+}
+
+laplacianSchemes
+{
+    default         Gauss linear corrected;
+}
+
+interpolationSchemes
+{
+    default         linear;
+}
+
+snGradSchemes
+{
+    default         corrected;
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarContraction/system/fvSolution b/tutorials/incompressible/pimpleFoam/laminar/planarContraction/system/fvSolution
new file mode 100644
index 0000000000..302add3af7
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarContraction/system/fvSolution
@@ -0,0 +1,67 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      fvSolution;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solvers
+{
+    p
+    {
+        solver          GAMG;
+        smoother        DIC;
+        tolerance       1e-6;
+        relTol          0.05;
+    }
+
+    "(U|sigma)"
+    {
+        solver          smoothSolver;
+        smoother        symGaussSeidel;
+        tolerance       1e-6;
+        relTol          0.1;
+    }
+
+    pFinal
+    {
+        $p;
+        relTol          0;
+    }
+
+    "(U|sigma)Final"
+    {
+        $U;
+        relTol          0;
+    }
+}
+
+PIMPLE
+{
+    momentumPredictor   off;
+    nOuterCorrectors    15;
+    nCorrectors         1;
+    nNonOrthogonalCorrectors 0;
+    pRefCell            0;
+    pRefValue           0;
+    turbOnFinalIterOnly no;
+}
+
+relaxationFactors
+{
+    equations
+    {
+        ".*"   1;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarContraction/system/graphs b/tutorials/incompressible/pimpleFoam/laminar/planarContraction/system/graphs
new file mode 100644
index 0000000000..6c622052c3
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarContraction/system/graphs
@@ -0,0 +1,62 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Web:      www.OpenFOAM.org
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+Description
+    Writes graph data for specified fields along a line, specified by start
+    and end points.
+
+\*---------------------------------------------------------------------------*/
+
+
+// Sampling and I/O settings
+#includeEtc "caseDicts/postProcessing/graphs/sampleDict.cfg"
+
+// Override settings here, e.g.
+// setConfig { type midPoint; }
+
+type            sets;
+libs            ("libsampling.so");
+
+writeControl    writeTime;
+
+interpolationScheme cellPoint;
+
+setFormat   raw;
+
+setConfig
+{
+    type    midPoint;  // midPoint
+    axis    distance;  // x, y, z, xyz
+}
+
+sets
+(
+    lineA
+    {
+        $setConfig;
+        start (-0.0016 0      0);
+        end   (-0.0016 0.0128 0);
+    }
+
+    lineB
+    {
+        $setConfig;
+        start (-0.0048 0      0);
+        end   (-0.0048 0.0128 0);
+    }
+
+    lineC
+    {
+        $setConfig;
+        start (-0.032 0      0);
+        end   (-0.032 0.0128 0);
+    }
+);
+
+fields  (U);
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/0/U b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/0/U
new file mode 100644
index 0000000000..6a258e941b
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/0/U
@@ -0,0 +1,32 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volVectorField;
+    object      U;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 1 -1 0 0 0 0];
+
+internalField   uniform (0 0 0);
+
+boundaryField
+{
+    wall
+    {
+        type            fixedValue;
+        value           uniform (0 0 0);
+    }
+
+    #includeEtc "caseDicts/setConstraintTypes"
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/0/p b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/0/p
new file mode 100644
index 0000000000..af35540f51
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/0/p
@@ -0,0 +1,31 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      p;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -2 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    walls
+    {
+        type            zeroGradient;
+    }
+
+    #includeEtc "caseDicts/setConstraintTypes"
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/0/sigma b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/0/sigma
new file mode 100644
index 0000000000..491709d9ff
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/0/sigma
@@ -0,0 +1,32 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volSymmTensorField;
+    object      R;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -2 0 0 0 0];
+
+internalField   uniform (0 0 0 0 0 0);
+
+boundaryField
+{
+    walls
+    {
+        type            zeroGradient;
+    }
+
+    #includeEtc "caseDicts/setConstraintTypes"
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/Allclean b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/Allclean
new file mode 100755
index 0000000000..0f2f7ba75f
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/Allclean
@@ -0,0 +1,12 @@
+#!/bin/sh
+cd ${0%/*} || exit 1    # Run from this directory
+
+# Source tutorial clean functions
+. $WM_PROJECT_DIR/bin/tools/CleanFunctions
+
+cleanCase
+rm -rf postProcessing *.dat validation/*.eps
+
+wclean validation/WatersKing
+
+#------------------------------------------------------------------------------
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/Allrun b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/Allrun
new file mode 100755
index 0000000000..1737ee272a
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/Allrun
@@ -0,0 +1,15 @@
+#!/bin/sh
+cd ${0%/*} || exit 1    # Run from this directory
+
+# Source tutorial run functions
+. $WM_PROJECT_DIR/bin/tools/RunFunctions
+
+runApplication blockMesh
+runApplication $(getApplication)
+
+wmake validation/WatersKing
+runApplication WatersKing
+
+( cd validation && ./createGraph )
+
+#------------------------------------------------------------------------------
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/constant/fvOptions b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/constant/fvOptions
new file mode 100644
index 0000000000..5a267f51d2
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/constant/fvOptions
@@ -0,0 +1,38 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      fvOptions;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+momentumSource
+{
+    type      vectorSemiImplicitSource;
+    active    yes;
+
+    vectorSemiImplicitSourceCoeffs
+    {
+        timeStart       0.0;
+        duration        1000;
+        selectionMode   all;
+
+        volumeMode      specific;
+        injectionRateSuSp
+        {
+            U    ((5 0 0) 0);
+        }
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/constant/transportProperties b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/constant/transportProperties
new file mode 100644
index 0000000000..ca57ed7652
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/constant/transportProperties
@@ -0,0 +1,21 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      transportProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+transportModel  Newtonian;
+
+nu              [0 2 -1 0 0 0 0] 0.1; // kinematic -> 0.002 dynamic
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/constant/turbulenceProperties
new file mode 100644
index 0000000000..e7cf61543f
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/constant/turbulenceProperties
@@ -0,0 +1,32 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+simulationType laminar;
+
+laminar
+{
+    laminarModel        Maxwell;
+
+    MaxwellCoeffs
+    {
+        nuM             1;
+        lambda          5;
+    }
+
+    printCoeffs         on;
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/blockMeshDict b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/blockMeshDict
new file mode 100644
index 0000000000..99174900c4
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/blockMeshDict
@@ -0,0 +1,96 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      blockMeshDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+convertToMeters 0.1;
+
+vertices
+(
+    (-1  0 -1)
+    ( 1  0 -1)
+    ( 1 10 -1)
+    (-1 10 -1)
+
+    (-1  0  1)
+    ( 1  0  1)
+    ( 1 10  1)
+    (-1 10  1)
+);
+
+blocks
+(
+    hex (0 1 2 3 4 5 6 7) (1 40 1) simpleGrading (1 4 1)
+);
+
+edges
+(
+);
+
+boundary
+(
+    left
+    {
+        type cyclic;
+        neighbourPatch right;
+        faces
+        (
+            (0 3 7 4)
+        );
+    }
+
+    right
+    {
+        type cyclic;
+        neighbourPatch left;
+        faces
+        (
+            (1 2 6 5)
+        );
+    }
+
+    walls
+    {
+        type wall;
+        faces
+        (
+            (0 1 5 4)
+        );
+    }
+
+    centreline
+    {
+        type symmetryPlane;
+        faces
+        (
+            (2 3 7 6)
+        );
+    }
+
+    frontAndBack
+    {
+        type empty;
+        faces
+        (
+            (0 1 2 3)
+            (4 5 6 7)
+        );
+    }
+);
+
+mergePatchPairs
+(
+);
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/controlDict b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/controlDict
new file mode 100644
index 0000000000..a986b1ae75
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/controlDict
@@ -0,0 +1,54 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      controlDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+application     pimpleFoam;
+
+startFrom       startTime;
+
+startTime       0;
+
+stopAt          endTime;
+
+endTime         25;
+
+deltaT          5e-3;
+
+writeControl    runTime;
+
+writeInterval   1;
+
+purgeWrite      0;
+
+writeFormat     ascii;
+
+writePrecision   8;
+
+writeCompression off;
+
+timeFormat      general;
+
+timePrecision   6;
+
+runTimeModifiable true;
+
+functions
+{
+    #includeFunc residuals
+    #includeFunc singleGraph
+    #includeFunc probes
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/fvSchemes b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/fvSchemes
new file mode 100644
index 0000000000..c7802ef935
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/fvSchemes
@@ -0,0 +1,54 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      fvSchemes;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+ddtSchemes
+{
+    default         backward;
+}
+
+gradSchemes
+{
+    default         Gauss linear;
+}
+
+divSchemes
+{
+    default         none;
+
+    div(phi,U)      Gauss linearUpwind grad(U);
+    div(phi,sigma)  Gauss vanAlbada;
+
+    div(sigma)                  Gauss linear;
+    div((nu*dev2(T(grad(U)))))  Gauss linear;
+    div((nuM*grad(U)))          Gauss linear;
+}
+
+laplacianSchemes
+{
+    default         Gauss linear uncorrected;
+}
+
+interpolationSchemes
+{
+    default         linear;
+}
+
+snGradSchemes
+{
+    default         uncorrected;
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/fvSolution b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/fvSolution
new file mode 100644
index 0000000000..c82c0fb010
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/fvSolution
@@ -0,0 +1,67 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  dev                                   |
+|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      fvSolution;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solvers
+{
+    p
+    {
+        solver          GAMG;
+        smoother        DIC;
+        tolerance       1e-6;
+        relTol          0.05;
+    }
+
+    "(U|sigma)"
+    {
+        solver          smoothSolver;
+        smoother        symGaussSeidel;
+        tolerance       1e-6;
+        relTol          0.1;
+    }
+
+    pFinal
+    {
+        $p;
+        relTol          0;
+    }
+
+    "(U|sigma)Final"
+    {
+        $U;
+        relTol          0;
+    }
+}
+
+PIMPLE
+{
+    momentumPredictor   off;
+    nOuterCorrectors    15;
+    nCorrectors         3;
+    nNonOrthogonalCorrectors 0;
+    pRefCell            0;
+    pRefValue           0;
+    turbOnFinalIterOnly no;
+}
+
+relaxationFactors
+{
+    equations
+    {
+        ".*"   1;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/probes b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/probes
new file mode 100644
index 0000000000..6bec7ba300
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/probes
@@ -0,0 +1,21 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Web:      www.OpenFOAM.org
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+Description
+    Writes out values of fields from cells nearest to specified locations.
+
+\*---------------------------------------------------------------------------*/
+
+#includeEtc "caseDicts/postProcessing/probes/probes.cfg"
+
+fields (U);
+probeLocations
+(
+    (0 1 0)
+);
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/residuals b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/residuals
new file mode 100644
index 0000000000..af061576bd
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/residuals
@@ -0,0 +1,19 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Web:      www.OpenFOAM.org
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+Description
+    For specified fields, writes out the initial residuals for the first
+    solution of each time step; for non-scalar fields (e.g. vectors), writes
+    the largest of the residuals for each component (e.g. x, y, z).
+
+\*---------------------------------------------------------------------------*/
+
+#includeEtc "caseDicts/postProcessing/numerical/residuals.cfg"
+
+fields (p sigma);
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/singleGraph b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/singleGraph
new file mode 100644
index 0000000000..560dd1c51a
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/system/singleGraph
@@ -0,0 +1,48 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Web:      www.OpenFOAM.org
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+Description
+    Writes graph data for specified fields along a line, specified by start
+    and end points.
+
+\*---------------------------------------------------------------------------*/
+
+
+// Sampling and I/O settings
+#includeEtc "caseDicts/postProcessing/graphs/sampleDict.cfg"
+
+// Override settings here, e.g.
+// setConfig { type midPoint; }
+
+type            sets;
+libs            ("libsampling.so");
+
+writeControl    writeTime;
+
+interpolationScheme cellPoint;
+
+setFormat   raw;
+
+setConfig
+{
+    type    midPoint;  // midPoint
+    axis    distance;  // x, y, z, xyz
+}
+
+sets
+(
+    line
+    {
+        $setConfig;
+        start (0 0 0);
+        end   (0 1 0);
+    }
+);
+
+fields  (U);
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/Make/files b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/Make/files
new file mode 100644
index 0000000000..af1834eae1
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/Make/files
@@ -0,0 +1,3 @@
+WatersKing.C
+
+EXE = $(FOAM_USER_APPBIN)/WatersKing
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/Make/options b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/Make/options
new file mode 100644
index 0000000000..780009c876
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/Make/options
@@ -0,0 +1,14 @@
+EXE_INC = \
+    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
+    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
+    -I$(LIB_SRC)/transportModels \
+    -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
+    -I$(LIB_SRC)/finiteVolume/lnInclude \
+    -I$(LIB_SRC)/meshTools/lnInclude
+
+EXE_LIBS = \
+    -lturbulenceModels \
+    -lincompressibleTurbulenceModels \
+    -lincompressibleTransportModels \
+    -lfiniteVolume \
+    -lmeshTools
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/WatersKing.C b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/WatersKing.C
new file mode 100644
index 0000000000..4f9ebd896b
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/WatersKing.C
@@ -0,0 +1,146 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  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
+    WatersKing
+
+Description
+    Analytical solution for the start-up planar Poiseuille flow of an
+    Oldroyd-B fluid.
+
+    References:
+    \verbatim
+        Waters, N. D., & King, M. J. (1970).
+        Unsteady flow of an elasto-viscous liquid.
+        Rheologica Acta, 9, 345-355.
+
+        Amoreira, L. J., & Oliveira, P. J. (2010).
+        Comparison of different formulations for the numerical
+        calculation of unsteady incompressible viscoelastic fluid
+        flow. Adv. Appl. Math. Mech, 4, 483-502.
+    \endverbatim
+
+\*---------------------------------------------------------------------------*/
+
+#include "fvCFD.H"
+#include "singlePhaseTransportModel.H"
+#include "turbulentTransportModel.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+int main(int argc, char *argv[])
+{
+    #include "setRootCase.H"
+    #include "createTime.H"
+
+    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+    #include "createMesh.H"
+    #include "createFields.H"
+
+    const scalar h = mesh.bounds().span().y();
+    Info<< "Height from centreline to wall = " << h << endl;
+
+    label centrelineID = mesh.boundary().findPatchID("centreline");
+    const vector patchToCell =
+        mesh.boundary()[centrelineID].Cf()[0]
+      - mesh.C()[mesh.findNearestCell(location)];
+
+    const scalar y = patchToCell.y()/h;
+    Info<< "Normalised distance from centreline = " << y << nl << endl;
+
+    const scalar nu0 = nu1 + nu2;
+    const scalar E = lambda*nu0/(rho*sqr(h));
+    const scalar beta = nu2/nu0;
+    const scalar UInf = K*sqr(h)/3.0/nu0;
+
+    Info<< "Waters and King parameters:" << nl
+        << "E =    " << E << nl
+        << "beta = " << beta << nl
+        << "K =    " << K << nl
+        << "UInf = " << UInf << nl << endl;
+
+    label order = 8;
+
+    scalarField ak(order, 0);
+    scalarField bk(order, 0);
+    scalarField ck(order, 0);
+    scalarField B(order, 0);
+
+    forAll(ak, i)
+    {
+        scalar k = i + 1;
+        ak[i] = (2.0*k - 1)/2.0*constant::mathematical::pi*::sqrt(E);
+        bk[i] = (1.0 + beta*sqr(ak[i]))/2.0;
+        ck[i] = ::sqrt(mag(sqr(bk[i]) - sqr(ak[i])));
+        B[i]  = 48*::pow(-1, k)/::pow((2*k - 1)*constant::mathematical::pi, 3)*
+                ::cos((2*k - 1)*constant::mathematical::pi*y/2);
+    }
+
+    scalarField A(order, 0);
+    OFstream file(runTime.path()/"WatersKing.dat");
+    const scalar LOGVGREAT = ::log(VGREAT);
+    while (!runTime.end())
+    {
+        scalar t = runTime.timeOutputValue()/lambda;
+        forAll(A, i)
+        {
+            if (bk[i]*t < LOGVGREAT)
+            {
+                if (bk[i] >= ak[i])
+                {
+                    A[i] = (bk[i] - sqr(ak[i]))/ck[i]*::sinh(ck[i]*t)
+                    + ::cosh(ck[i]*t);
+                }
+                else
+                {
+                    A[i] = (bk[i] - sqr(ak[i]))/ck[i]*::sin(ck[i]*t)
+                         + ::cos(ck[i]*t);
+                }
+                A[i] *= ::exp(-bk[i]*t);
+            }
+            else
+            {
+                Info<< "Coefficient A[" << order << "] = 0" << endl;
+                order = i;
+                Info<< "Resizing A and B to " << order << endl;
+                A.resize(order);
+                B.resize(order);
+            }
+        }
+        scalar U = UInf*(1.5*(1 - sqr(y)) + sum(A*B));
+        file<< runTime.timeName() << token::TAB << U << endl;
+        runTime++;
+    }
+
+    Info<< nl << "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
+        << "  ClockTime = " << runTime.elapsedClockTime() << " s"
+        << nl << endl;
+
+    Info<< "End\n" << endl;
+
+    return 0;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/createFields.H b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/createFields.H
new file mode 100644
index 0000000000..4ae80853b4
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/WatersKing/createFields.H
@@ -0,0 +1,64 @@
+Info<< "Reading transportProperties\n" << endl;
+IOdictionary transportProperties
+(
+    IOobject
+    (
+        "transportProperties",
+        runTime.constant(),
+        mesh,
+        IOobject::MUST_READ,
+        IOobject::NO_WRITE
+    )
+);
+const scalar nu2 =
+    dimensionedScalar
+    (
+        "nu",
+        dimViscosity,
+        transportProperties.lookup("nu")
+    ).value();
+
+Info<< "Reading viscoelastic properties\n" << endl;
+IOdictionary turbulenceProperties
+(
+    IOobject
+    (
+        "turbulenceProperties",
+        runTime.constant(),
+        mesh,
+        IOobject::MUST_READ,
+        IOobject::NO_WRITE
+    )
+);
+const dictionary& MaxwellCoeffs =
+    turbulenceProperties.subDict("laminar").subDict("MaxwellCoeffs");
+const scalar nu1 = readScalar(MaxwellCoeffs.lookup("nuM"));
+const scalar lambda = readScalar(MaxwellCoeffs.lookup("lambda"));
+
+const scalar rho = 1;
+
+Info<< "Reading pressure gradient\n" << endl;
+IOdictionary fvOptions
+(
+    IOobject
+    (
+        "fvOptions",
+        runTime.constant(),
+        mesh,
+        IOobject::MUST_READ,
+        IOobject::NO_WRITE
+    )
+);
+const dictionary& gradPDict =
+    fvOptions.subDict("momentumSource").subDict
+    (
+        "vectorSemiImplicitSourceCoeffs"
+    ).subDict
+    (
+        "injectionRateSuSp"
+    );
+const scalar K =
+    Tuple2<vector, scalar>(gradPDict.lookup("U")).first().x();
+
+dictionary probes(IFstream(runTime.system()/"probes")());
+const point location = pointField(probes.lookup("probeLocations"))[0];
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/createGraph b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/createGraph
new file mode 100755
index 0000000000..a30402600e
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/validation/createGraph
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+tail -n +4 ../postProcessing/probes/0/U  | \
+    tr -s " " | tr -d '(' | cut -d " " -f2-3 > ../Numerical.dat
+
+if ! which gnuplot > /dev/null 2>&1
+then
+    echo "gnuplot not found - skipping graph creation" >&2
+    exit 1
+fi
+
+gnuplot<<EOF
+    set terminal postscript eps color enhanced "Helvetica,20"
+    set output "planarPoiseuille.eps"
+    set xlabel "Time / [s]" font "Helvetica,24"
+    set ylabel "Velocity / [m/s]" font "Helvetica,24"
+    set grid
+    set key right top
+    set xrange [0:25]
+    set yrange [0:8]
+    plot \
+        "../Numerical.dat" t "OpenFOAM (every 100 pts)" \
+            with linespoints pointinterval 100 lt 1 pt 6 ps 1.5, \
+        "../WatersKing.dat" with lines t "Analytical" lt -1
+EOF
+
+# ----------------------------------------------------------------- end-of-file
-- 
GitLab


From 10fb32db8d2c68a8bbe739942b5a11c2f6cdb7e9 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 20 Sep 2016 19:03:40 +0100
Subject: [PATCH 32/96] tutorials: Renamed sub-directories ras -> RAS and les
 -> LES

---
 tutorials/combustion/XiFoam/{ras => RAS}/Allclean   |   0
 tutorials/combustion/XiFoam/{ras => RAS}/Allrun     |   0
 .../XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/Su   |   0
 .../XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/T    |   0
 .../XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/Tu   |   0
 .../XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/U    |   0
 .../XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/Xi   |   0
 .../{ras => RAS}/moriyoshiHomogeneous/0/alphat      |   0
 .../XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/b    |   0
 .../{ras => RAS}/moriyoshiHomogeneous/0/epsilon     |   0
 .../XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/ft   |   0
 .../XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/fu   |   0
 .../XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/k    |   0
 .../XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/nut  |   0
 .../XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/p    |   0
 .../constant/combustionProperties                   |   0
 .../constant/thermophysicalProperties               |   0
 .../constant/thermophysicalProperties.hydrogen      |   0
 .../constant/turbulenceProperties                   |   0
 .../moriyoshiHomogeneous/system/blockMeshDict       |   0
 .../moriyoshiHomogeneous/system/controlDict         |   0
 .../moriyoshiHomogeneous/system/fvSchemes           |   0
 .../moriyoshiHomogeneous/system/fvSolution          |   0
 .../flameSpreadWaterSuppressionPanel/0/C3H8         |   0
 .../flameSpreadWaterSuppressionPanel/0/IDefault     |   0
 .../flameSpreadWaterSuppressionPanel/0/N2           |   0
 .../flameSpreadWaterSuppressionPanel/0/O2           |   0
 .../flameSpreadWaterSuppressionPanel/0/T            |   0
 .../flameSpreadWaterSuppressionPanel/0/U            |   0
 .../flameSpreadWaterSuppressionPanel/0/Ydefault     |   0
 .../flameSpreadWaterSuppressionPanel/0/alphat       |   0
 .../0/filmRegion/Tf                                 |   0
 .../0/filmRegion/Uf                                 |   0
 .../0/filmRegion/deltaf                             |   0
 .../flameSpreadWaterSuppressionPanel/0/k            |   0
 .../flameSpreadWaterSuppressionPanel/0/nut          |   0
 .../flameSpreadWaterSuppressionPanel/0/p            |   0
 .../flameSpreadWaterSuppressionPanel/0/p_rgh        |   0
 .../flameSpreadWaterSuppressionPanel/0/ph_rgh.orig  |   0
 .../0/pyrolysisRegion/Qr                            |   0
 .../0/pyrolysisRegion/T                             |   0
 .../0/pyrolysisRegion/Y0Default                     |   0
 .../0/pyrolysisRegion/char                          |   0
 .../0/pyrolysisRegion/p                             |   0
 .../0/pyrolysisRegion/wood                          |   0
 .../flameSpreadWaterSuppressionPanel/Allclean       |   0
 .../flameSpreadWaterSuppressionPanel/Allrun         |   0
 .../constant/additionalControls                     |   0
 .../constant/combustionProperties                   |   0
 .../flameSpreadWaterSuppressionPanel/constant/g     |   0
 .../flameSpreadWaterSuppressionPanel/constant/pRef  |   0
 .../constant/pyrolysisRegion/chemistryProperties    |   0
 .../constant/pyrolysisRegion/radiationProperties    |   0
 .../constant/pyrolysisRegion/reactions              |   0
 .../constant/pyrolysisRegion/thermo.solid           |   0
 .../pyrolysisRegion/thermophysicalProperties        |   0
 .../constant/pyrolysisZones                         |   0
 .../constant/radiationProperties                    |   0
 .../constant/reactingCloud1Positions                |   0
 .../constant/reactingCloud1Properties               |   0
 .../constant/reactions                              |   0
 .../constant/surfaceFilmProperties                  |   0
 .../constant/thermo.compressibleGas                 |   0
 .../constant/thermophysicalProperties               |   0
 .../constant/turbulenceProperties                   |   0
 .../system/blockMeshDict                            |   0
 .../system/controlDict                              |   0
 .../system/createPatchDict                          |   0
 .../system/extrudeToRegionMeshDictFilm              |   0
 .../system/extrudeToRegionMeshDictPyr               |   0
 .../system/filmRegion/changeDictionaryDict          |   0
 .../system/filmRegion/createPatchDict               |   0
 .../system/filmRegion/fvSchemes                     |   0
 .../system/filmRegion/fvSolution                    |   0
 .../system/filmRegion/topoSetDict                   |   0
 .../system/fvSchemes                                |   0
 .../system/fvSolution                               |   0
 .../system/pyrolysisRegion/fvSchemes                |   0
 .../system/pyrolysisRegion/fvSolution               |   0
 .../system/topoSetDict                              |   0
 .../{les => LES}/oppositeBurningPanels/0/C3H8       |   0
 .../fireFoam/{les => LES}/oppositeBurningPanels/0/G |   0
 .../{les => LES}/oppositeBurningPanels/0/IDefault   |   0
 .../{les => LES}/oppositeBurningPanels/0/N2         |   0
 .../{les => LES}/oppositeBurningPanels/0/O2         |   0
 .../fireFoam/{les => LES}/oppositeBurningPanels/0/T |   0
 .../fireFoam/{les => LES}/oppositeBurningPanels/0/U |   0
 .../{les => LES}/oppositeBurningPanels/0/Ydefault   |   0
 .../{les => LES}/oppositeBurningPanels/0/alphat     |   0
 .../fireFoam/{les => LES}/oppositeBurningPanels/0/k |   0
 .../{les => LES}/oppositeBurningPanels/0/nut        |   0
 .../fireFoam/{les => LES}/oppositeBurningPanels/0/p |   0
 .../{les => LES}/oppositeBurningPanels/0/p_rgh      |   0
 .../oppositeBurningPanels/0/panelRegion/Qr          |   0
 .../oppositeBurningPanels/0/panelRegion/T           |   0
 .../oppositeBurningPanels/0/panelRegion/Y0Default   |   0
 .../oppositeBurningPanels/0/panelRegion/char        |   0
 .../oppositeBurningPanels/0/panelRegion/p           |   0
 .../oppositeBurningPanels/0/panelRegion/wood        |   0
 .../oppositeBurningPanels/0/ph_rgh.orig             |   0
 .../{les => LES}/oppositeBurningPanels/Allclean     |   0
 .../{les => LES}/oppositeBurningPanels/Allrun       |   0
 .../constant/additionalControls                     |   0
 .../constant/combustionProperties                   |   0
 .../{les => LES}/oppositeBurningPanels/constant/g   |   0
 .../oppositeBurningPanels/constant/hRef             |   0
 .../oppositeBurningPanels/constant/pRef             |   0
 .../constant/panelRegion/chemistryProperties        |   0
 .../constant/panelRegion/radiationProperties        |   0
 .../constant/panelRegion/reactions                  |   1 -
 .../constant/panelRegion/thermo.solid               |   0
 .../constant/panelRegion/thermophysicalProperties   |   0
 .../oppositeBurningPanels/constant/pyrolysisZones   |   0
 .../constant/radiationProperties                    |   0
 .../constant/reactingCloud1Properties               |   0
 .../oppositeBurningPanels/constant/reactions        |   0
 .../constant/surfaceFilmProperties                  |   0
 .../constant/thermo.compressibleGas                 |   0
 .../constant/thermophysicalProperties               |   0
 .../constant/turbulenceProperties                   |   0
 .../oppositeBurningPanels/system/blockMeshDict      |   0
 .../system/cRefine.topoSetDict                      |   0
 .../oppositeBurningPanels/system/controlDict        |   0
 .../oppositeBurningPanels/system/createPatchDict    |   0
 .../oppositeBurningPanels/system/decomposeParDict   |   0
 .../system/extrudeToRegionMeshDict                  |   0
 .../oppositeBurningPanels/system/f.topoSetDict      |   0
 .../system/fBurner.topoSetDict                      |   0
 .../oppositeBurningPanels/system/fvSchemes          |   0
 .../oppositeBurningPanels/system/fvSolution         |   0
 .../system/panelRegion/decomposeParDict             |   0
 .../system/panelRegion/fvSchemes                    |   0
 .../system/panelRegion/fvSolution                   |   0
 .../oppositeBurningPanels/system/refineMeshDict     |   0
 .../fireFoam/{les => LES}/smallPoolFire2D/0/CH4     |   0
 .../{les => LES}/smallPoolFire2D/0/FSDomega         |   0
 .../fireFoam/{les => LES}/smallPoolFire2D/0/G       |   0
 .../{les => LES}/smallPoolFire2D/0/IDefault         |   0
 .../fireFoam/{les => LES}/smallPoolFire2D/0/N2      |   0
 .../fireFoam/{les => LES}/smallPoolFire2D/0/O2      |   0
 .../fireFoam/{les => LES}/smallPoolFire2D/0/T       |   0
 .../fireFoam/{les => LES}/smallPoolFire2D/0/U       |   0
 .../{les => LES}/smallPoolFire2D/0/Ydefault         |   0
 .../fireFoam/{les => LES}/smallPoolFire2D/0/alphat  |   0
 .../fireFoam/{les => LES}/smallPoolFire2D/0/k       |   0
 .../fireFoam/{les => LES}/smallPoolFire2D/0/nut     |   0
 .../fireFoam/{les => LES}/smallPoolFire2D/0/p       |   0
 .../fireFoam/{les => LES}/smallPoolFire2D/0/p_rgh   |   0
 .../{les => LES}/smallPoolFire2D/0/ph_rgh.orig      |   0
 .../fireFoam/{les => LES}/smallPoolFire2D/0/soot    |   0
 .../fireFoam/{les => LES}/smallPoolFire2D/Allclean  |   0
 .../fireFoam/{les => LES}/smallPoolFire2D/Allrun    |   0
 .../smallPoolFire2D/constant/additionalControls     |   0
 .../smallPoolFire2D/constant/combustionProperties   |   0
 .../{les => LES}/smallPoolFire2D/constant/g         |   0
 .../{les => LES}/smallPoolFire2D/constant/hRef      |   0
 .../{les => LES}/smallPoolFire2D/constant/pRef      |   0
 .../smallPoolFire2D/constant/pyrolysisZones         |   0
 .../smallPoolFire2D/constant/radiationProperties    |   0
 .../constant/reactingCloud1Properties               |   0
 .../{les => LES}/smallPoolFire2D/constant/reactions |   0
 .../smallPoolFire2D/constant/surfaceFilmProperties  |   0
 .../smallPoolFire2D/constant/thermo.compressibleGas |   0
 .../constant/thermophysicalProperties               |   0
 .../smallPoolFire2D/constant/turbulenceProperties   |   0
 .../smallPoolFire2D/system/blockMeshDict            |   0
 .../{les => LES}/smallPoolFire2D/system/controlDict |   0
 .../smallPoolFire2D/system/createPatchDict          |   0
 .../{les => LES}/smallPoolFire2D/system/fvSchemes   |   0
 .../{les => LES}/smallPoolFire2D/system/fvSolution  |   0
 .../{les => LES}/smallPoolFire2D/system/topoSetDict |   0
 .../fireFoam/{les => LES}/smallPoolFire3D/0/CH4     |   0
 .../fireFoam/{les => LES}/smallPoolFire3D/0/G       |   0
 .../{les => LES}/smallPoolFire3D/0/IDefault         |   0
 .../fireFoam/{les => LES}/smallPoolFire3D/0/N2      |   0
 .../fireFoam/{les => LES}/smallPoolFire3D/0/O2      |   0
 .../fireFoam/{les => LES}/smallPoolFire3D/0/T       |   0
 .../fireFoam/{les => LES}/smallPoolFire3D/0/U       |   0
 .../{les => LES}/smallPoolFire3D/0/Ydefault         |   0
 .../fireFoam/{les => LES}/smallPoolFire3D/0/alphat  |   0
 .../fireFoam/{les => LES}/smallPoolFire3D/0/k       |   0
 .../fireFoam/{les => LES}/smallPoolFire3D/0/nut     |   0
 .../fireFoam/{les => LES}/smallPoolFire3D/0/p       |   0
 .../fireFoam/{les => LES}/smallPoolFire3D/0/p_rgh   |   0
 .../{les => LES}/smallPoolFire3D/0/ph_rgh.orig      |   0
 .../fireFoam/{les => LES}/smallPoolFire3D/Allclean  |   0
 .../fireFoam/{les => LES}/smallPoolFire3D/Allrun    |   0
 .../smallPoolFire3D/constant/additionalControls     |   0
 .../smallPoolFire3D/constant/chemistryProperties    |   0
 .../smallPoolFire3D/constant/combustionProperties   |   0
 .../{les => LES}/smallPoolFire3D/constant/g         |   0
 .../{les => LES}/smallPoolFire3D/constant/hRef      |   0
 .../{les => LES}/smallPoolFire3D/constant/pRef      |   0
 .../smallPoolFire3D/constant/pyrolysisZones         |   0
 .../smallPoolFire3D/constant/radiationProperties    |   0
 .../constant/reactingCloud1Properties               |   0
 .../{les => LES}/smallPoolFire3D/constant/reactions |   0
 .../smallPoolFire3D/constant/surfaceFilmProperties  |   0
 .../smallPoolFire3D/constant/thermo.compressibleGas |   0
 .../constant/thermophysicalProperties               |   0
 .../smallPoolFire3D/constant/turbulenceProperties   |   0
 .../smallPoolFire3D/system/blockMeshDict            |   0
 .../{les => LES}/smallPoolFire3D/system/controlDict |   0
 .../smallPoolFire3D/system/createPatchDict          |   0
 .../smallPoolFire3D/system/decomposeParDict         |   0
 .../{les => LES}/smallPoolFire3D/system/fvSchemes   |   0
 .../{les => LES}/smallPoolFire3D/system/fvSolution  |   0
 .../{les => LES}/smallPoolFire3D/system/topoSetDict |   0
 .../rhoPimpleFoam/{les => LES}/pitzDaily/0/T        |   0
 .../rhoPimpleFoam/{les => LES}/pitzDaily/0/U        |   0
 .../rhoPimpleFoam/{les => LES}/pitzDaily/0/alphat   |   0
 .../rhoPimpleFoam/{les => LES}/pitzDaily/0/k        |   0
 .../rhoPimpleFoam/{les => LES}/pitzDaily/0/muTilda  |   0
 .../rhoPimpleFoam/{les => LES}/pitzDaily/0/nut      |   0
 .../rhoPimpleFoam/{les => LES}/pitzDaily/0/p        |   0
 .../pitzDaily/constant/thermophysicalProperties     |   0
 .../pitzDaily/constant/turbulenceProperties         |   0
 .../{les => LES}/pitzDaily/system/blockMeshDict     |   0
 .../{les => LES}/pitzDaily/system/controlDict       |   0
 .../{les => LES}/pitzDaily/system/fvSchemes         |   0
 .../{les => LES}/pitzDaily/system/fvSolution        |   0
 .../rhoPimpleFoam/{ras => RAS}/angledDuct/0/T       |   0
 .../rhoPimpleFoam/{ras => RAS}/angledDuct/0/U       |   0
 .../rhoPimpleFoam/{ras => RAS}/angledDuct/0/alphat  |   0
 .../rhoPimpleFoam/{ras => RAS}/angledDuct/0/epsilon |   0
 .../rhoPimpleFoam/{ras => RAS}/angledDuct/0/k       |   0
 .../rhoPimpleFoam/{ras => RAS}/angledDuct/0/nut     |   0
 .../rhoPimpleFoam/{ras => RAS}/angledDuct/0/p       |   0
 .../rhoPimpleFoam/{ras => RAS}/angledDuct/Allrun    |   0
 .../{ras => RAS}/angledDuct/constant/fvOptions      |   0
 .../angledDuct/constant/thermophysicalProperties    |   0
 .../angledDuct/constant/turbulenceProperties        |   0
 .../{ras => RAS}/angledDuct/system/blockMeshDict.m4 |   0
 .../{ras => RAS}/angledDuct/system/controlDict      |   0
 .../{ras => RAS}/angledDuct/system/fvSchemes        |   0
 .../{ras => RAS}/angledDuct/system/fvSolution       |   0
 .../rhoPimpleFoam/{ras => RAS}/angledDuctLTS/0/T    |   0
 .../rhoPimpleFoam/{ras => RAS}/angledDuctLTS/0/U    |   0
 .../{ras => RAS}/angledDuctLTS/0/alphat             |   0
 .../{ras => RAS}/angledDuctLTS/0/epsilon            |   0
 .../rhoPimpleFoam/{ras => RAS}/angledDuctLTS/0/k    |   0
 .../rhoPimpleFoam/{ras => RAS}/angledDuctLTS/0/nut  |   0
 .../rhoPimpleFoam/{ras => RAS}/angledDuctLTS/0/p    |   0
 .../rhoPimpleFoam/{ras => RAS}/angledDuctLTS/Allrun |   0
 .../{ras => RAS}/angledDuctLTS/constant/fvOptions   |   0
 .../angledDuctLTS/constant/thermophysicalProperties |   0
 .../angledDuctLTS/constant/turbulenceProperties     |   0
 .../angledDuctLTS/system/blockMeshDict.m4           |   0
 .../{ras => RAS}/angledDuctLTS/system/controlDict   |   0
 .../{ras => RAS}/angledDuctLTS/system/fvSchemes     |   0
 .../{ras => RAS}/angledDuctLTS/system/fvSolution    |   0
 .../rhoPimpleFoam/{ras => RAS}/cavity/0/T           |   0
 .../rhoPimpleFoam/{ras => RAS}/cavity/0/U           |   0
 .../rhoPimpleFoam/{ras => RAS}/cavity/0/alphat      |   0
 .../rhoPimpleFoam/{ras => RAS}/cavity/0/epsilon     |   0
 .../rhoPimpleFoam/{ras => RAS}/cavity/0/k           |   0
 .../rhoPimpleFoam/{ras => RAS}/cavity/0/nut         |   0
 .../rhoPimpleFoam/{ras => RAS}/cavity/0/omega       |   0
 .../rhoPimpleFoam/{ras => RAS}/cavity/0/p           |   0
 .../cavity/constant/thermophysicalProperties        |   0
 .../cavity/constant/turbulenceProperties            |   0
 .../{ras => RAS}/cavity/system/blockMeshDict        |   0
 .../{ras => RAS}/cavity/system/controlDict          |   0
 .../{ras => RAS}/cavity/system/fvSchemes            |   0
 .../{ras => RAS}/cavity/system/fvSolution           |   0
 .../rhoPimpleFoam/{ras => RAS}/mixerVessel2D/0/T    |   0
 .../rhoPimpleFoam/{ras => RAS}/mixerVessel2D/0/U    |   0
 .../{ras => RAS}/mixerVessel2D/0/alphat             |   0
 .../{ras => RAS}/mixerVessel2D/0/epsilon            |   0
 .../rhoPimpleFoam/{ras => RAS}/mixerVessel2D/0/k    |   0
 .../rhoPimpleFoam/{ras => RAS}/mixerVessel2D/0/nut  |   0
 .../rhoPimpleFoam/{ras => RAS}/mixerVessel2D/0/p    |   0
 .../rhoPimpleFoam/{ras => RAS}/mixerVessel2D/Allrun |   0
 .../mixerVessel2D/constant/MRFProperties            |   0
 .../{ras => RAS}/mixerVessel2D/constant/fvOptions   |   0
 .../mixerVessel2D/constant/thermophysicalProperties |   0
 .../mixerVessel2D/constant/transportProperties      |   0
 .../mixerVessel2D/constant/turbulenceProperties     |   0
 .../{ras => RAS}/mixerVessel2D/makeMesh             |   0
 .../mixerVessel2D/system/blockMeshDict.m4           |   0
 .../{ras => RAS}/mixerVessel2D/system/controlDict   |   0
 .../{ras => RAS}/mixerVessel2D/system/fvSchemes     |   0
 .../{ras => RAS}/mixerVessel2D/system/fvSolution    |   0
 .../sonicFoam/{ras => RAS}/nacaAirfoil/0/T          |   0
 .../sonicFoam/{ras => RAS}/nacaAirfoil/0/U          |   0
 .../sonicFoam/{ras => RAS}/nacaAirfoil/0/alphat     |   0
 .../sonicFoam/{ras => RAS}/nacaAirfoil/0/epsilon    |   0
 .../sonicFoam/{ras => RAS}/nacaAirfoil/0/k          |   0
 .../sonicFoam/{ras => RAS}/nacaAirfoil/0/nut        |   0
 .../sonicFoam/{ras => RAS}/nacaAirfoil/0/p          |   0
 .../sonicFoam/{ras => RAS}/nacaAirfoil/Allclean     |   0
 .../sonicFoam/{ras => RAS}/nacaAirfoil/Allrun       |   0
 .../{ras => RAS}/nacaAirfoil/Running_Notes          |   0
 .../nacaAirfoil/constant/thermophysicalProperties   |   0
 .../nacaAirfoil/constant/turbulenceProperties       |   0
 .../nacaAirfoil/prostar/nacaAirfoil.bnd.gz          | Bin
 .../nacaAirfoil/prostar/nacaAirfoil.cel.gz          | Bin
 .../nacaAirfoil/prostar/nacaAirfoil.vrt.gz          | Bin
 .../{ras => RAS}/nacaAirfoil/system/controlDict     |   0
 .../{ras => RAS}/nacaAirfoil/system/fvSchemes       |   0
 .../{ras => RAS}/nacaAirfoil/system/fvSolution      |   0
 .../compressible/sonicFoam/{ras => RAS}/prism/0/T   |   0
 .../compressible/sonicFoam/{ras => RAS}/prism/0/U   |   0
 .../sonicFoam/{ras => RAS}/prism/0/alphat           |   0
 .../sonicFoam/{ras => RAS}/prism/0/epsilon          |   0
 .../compressible/sonicFoam/{ras => RAS}/prism/0/k   |   0
 .../compressible/sonicFoam/{ras => RAS}/prism/0/nut |   0
 .../compressible/sonicFoam/{ras => RAS}/prism/0/p   |   0
 .../prism/constant/thermophysicalProperties         |   0
 .../prism/constant/turbulenceProperties             |   0
 .../{ras => RAS}/prism/system/blockMeshDict         |   0
 .../sonicFoam/{ras => RAS}/prism/system/controlDict |   0
 .../sonicFoam/{ras => RAS}/prism/system/fvSchemes   |   0
 .../sonicFoam/{ras => RAS}/prism/system/fvSolution  |   0
 .../pisoFoam/{les => LES}/motorBike/Allclean        |   0
 .../pisoFoam/{les => LES}/motorBike/Allrun          |   0
 .../pisoFoam/{les => LES}/motorBike/lesFiles/Allrun |   0
 .../{les => LES}/motorBike/lesFiles/controlDict     |   0
 .../{les => LES}/motorBike/lesFiles/fvSchemes       |   0
 .../{les => LES}/motorBike/lesFiles/fvSolution      |   0
 .../motorBike/lesFiles/turbulenceProperties         |   0
 .../{les => LES}/motorBike/motorBike/0.orig/U       |   0
 .../motorBike/motorBike/0.orig/include/fixedInlet   |   0
 .../motorBike/0.orig/include/frontBackUpperPatches  |   0
 .../motorBike/0.orig/include/initialConditions      |   0
 .../{les => LES}/motorBike/motorBike/0.orig/k       |   0
 .../{les => LES}/motorBike/motorBike/0.orig/nuTilda |   0
 .../{les => LES}/motorBike/motorBike/0.orig/nut     |   0
 .../{les => LES}/motorBike/motorBike/0.orig/p       |   0
 .../{les => LES}/motorBike/motorBike/Allclean       |   0
 .../{les => LES}/motorBike/motorBike/Allrun         |   0
 .../constant/polyMesh/blockMeshDict.8pSmall         |   0
 .../motorBike/constant/transportProperties          |   0
 .../motorBike/motorBike/constant/triSurface/README  |   0
 .../motorBike/constant/turbulenceProperties         |   0
 .../motorBike/motorBike/system/blockMeshDict        |   0
 .../motorBike/motorBike/system/controlDict          |   0
 .../motorBike/motorBike/system/cuttingPlane         |   0
 .../motorBike/motorBike/system/decomposeParDict     |   0
 .../motorBike/system/decomposeParDict.hierarchical  |   0
 .../motorBike/system/decomposeParDict.ptscotch      |   0
 .../motorBike/motorBike/system/forceCoeffs          |   0
 .../motorBike/motorBike/system/fvSchemes            |   0
 .../motorBike/motorBike/system/fvSolution           |   0
 .../motorBike/motorBike/system/snappyHexMeshDict    |   0
 .../motorBike/motorBike/system/streamLines          |   0
 .../pisoFoam/{les => LES}/pitzDaily/0/U             |   0
 .../pisoFoam/{les => LES}/pitzDaily/0/k             |   0
 .../pisoFoam/{les => LES}/pitzDaily/0/nuTilda       |   0
 .../pisoFoam/{les => LES}/pitzDaily/0/nut           |   0
 .../pisoFoam/{les => LES}/pitzDaily/0/p             |   0
 .../pisoFoam/{les => LES}/pitzDaily/0/s             |   0
 .../pitzDaily/constant/transportProperties          |   0
 .../pitzDaily/constant/turbulenceProperties         |   0
 .../{les => LES}/pitzDaily/system/blockMeshDict     |   0
 .../{les => LES}/pitzDaily/system/controlDict       |   0
 .../{les => LES}/pitzDaily/system/fvSchemes         |   0
 .../{les => LES}/pitzDaily/system/fvSolution        |   0
 .../pisoFoam/{les => LES}/pitzDailyMapped/0/U       |   0
 .../pisoFoam/{les => LES}/pitzDailyMapped/0/k       |   0
 .../pisoFoam/{les => LES}/pitzDailyMapped/0/nuTilda |   0
 .../pisoFoam/{les => LES}/pitzDailyMapped/0/nut     |   0
 .../pisoFoam/{les => LES}/pitzDailyMapped/0/p       |   0
 .../pitzDailyMapped/constant/transportProperties    |   0
 .../pitzDailyMapped/constant/turbulenceProperties   |   0
 .../pitzDailyMapped/system/blockMeshDict            |   0
 .../{les => LES}/pitzDailyMapped/system/controlDict |   0
 .../pitzDailyMapped/system/decomposeParDict         |   0
 .../{les => LES}/pitzDailyMapped/system/fvSchemes   |   0
 .../{les => LES}/pitzDailyMapped/system/fvSolution  |   0
 .../incompressible/pisoFoam/{ras => RAS}/cavity/0/U |   0
 .../pisoFoam/{ras => RAS}/cavity/0/epsilon          |   0
 .../incompressible/pisoFoam/{ras => RAS}/cavity/0/k |   0
 .../pisoFoam/{ras => RAS}/cavity/0/nuTilda          |   0
 .../pisoFoam/{ras => RAS}/cavity/0/nut              |   0
 .../pisoFoam/{ras => RAS}/cavity/0/omega            |   0
 .../incompressible/pisoFoam/{ras => RAS}/cavity/0/p |   0
 .../cavity/constant/transportProperties             |   0
 .../cavity/constant/turbulenceProperties            |   0
 .../{ras => RAS}/cavity/system/blockMeshDict        |   0
 .../pisoFoam/{ras => RAS}/cavity/system/controlDict |   0
 .../pisoFoam/{ras => RAS}/cavity/system/fvSchemes   |   0
 .../pisoFoam/{ras => RAS}/cavity/system/fvSolution  |   0
 .../pisoFoam/{ras => RAS}/cavityCoupledU/0/U        |   0
 .../pisoFoam/{ras => RAS}/cavityCoupledU/0/epsilon  |   0
 .../pisoFoam/{ras => RAS}/cavityCoupledU/0/k        |   0
 .../pisoFoam/{ras => RAS}/cavityCoupledU/0/nuTilda  |   0
 .../pisoFoam/{ras => RAS}/cavityCoupledU/0/nut      |   0
 .../pisoFoam/{ras => RAS}/cavityCoupledU/0/p        |   0
 .../cavityCoupledU/constant/transportProperties     |   0
 .../cavityCoupledU/constant/turbulenceProperties    |   0
 .../cavityCoupledU/system/blockMeshDict             |   0
 .../{ras => RAS}/cavityCoupledU/system/controlDict  |   0
 .../{ras => RAS}/cavityCoupledU/system/fvSchemes    |   0
 .../{ras => RAS}/cavityCoupledU/system/fvSolution   |   0
 .../multiphase/cavitatingFoam/{les => LES}/Allrun   |   0
 .../cavitatingFoam/{les => LES}/throttle/0/U        |   0
 .../{les => LES}/throttle/0/alpha.vapour            |   0
 .../cavitatingFoam/{les => LES}/throttle/0/k        |   0
 .../cavitatingFoam/{les => LES}/throttle/0/nut      |   0
 .../cavitatingFoam/{les => LES}/throttle/0/p        |   0
 .../cavitatingFoam/{les => LES}/throttle/0/rho      |   0
 .../cavitatingFoam/{les => LES}/throttle/Allclean   |   0
 .../cavitatingFoam/{les => LES}/throttle/Allrun     |   0
 .../throttle/constant/thermodynamicProperties       |   0
 .../throttle/constant/transportProperties           |   0
 .../throttle/constant/turbulenceProperties          |   0
 .../{les => LES}/throttle/system/blockMeshDict      |   0
 .../{les => LES}/throttle/system/controlDict        |   0
 .../{les => LES}/throttle/system/fvSchemes          |   0
 .../{les => LES}/throttle/system/fvSolution         |   0
 .../{les => LES}/throttle/system/refineMeshDict     |   0
 .../{les => LES}/throttle/system/topoSetDict.1      |   0
 .../{les => LES}/throttle/system/topoSetDict.2      |   0
 .../{les => LES}/throttle/system/topoSetDict.3      |   0
 .../cavitatingFoam/{les => LES}/throttle3D/0.orig/U |   0
 .../{les => LES}/throttle3D/0.orig/alpha.vapour     |   0
 .../cavitatingFoam/{les => LES}/throttle3D/0.orig/k |   0
 .../{les => LES}/throttle3D/0.orig/nut              |   0
 .../cavitatingFoam/{les => LES}/throttle3D/0.orig/p |   0
 .../{les => LES}/throttle3D/0.orig/rho              |   0
 .../cavitatingFoam/{les => LES}/throttle3D/Allclean |   0
 .../cavitatingFoam/{les => LES}/throttle3D/Allrun   |   0
 .../throttle3D/constant/thermodynamicProperties     |   0
 .../throttle3D/constant/transportProperties         |   0
 .../throttle3D/constant/turbulenceProperties        |   0
 .../{les => LES}/throttle3D/system/blockMeshDict    |   0
 .../{les => LES}/throttle3D/system/controlDict      |   0
 .../{les => LES}/throttle3D/system/decomposeParDict |   0
 .../{les => LES}/throttle3D/system/fvSchemes        |   0
 .../{les => LES}/throttle3D/system/fvSolution       |   0
 .../{les => LES}/throttle3D/system/mapFieldsDict    |   0
 .../{les => LES}/throttle3D/system/refineMeshDict   |   0
 .../{les => LES}/throttle3D/system/topoSetDict.1    |   0
 .../{les => LES}/throttle3D/system/topoSetDict.2    |   0
 .../{les => LES}/throttle3D/system/topoSetDict.3    |   0
 .../cavitatingFoam/{ras => RAS}/throttle/0/U        |   0
 .../{ras => RAS}/throttle/0/alpha.vapour            |   0
 .../cavitatingFoam/{ras => RAS}/throttle/0/k        |   0
 .../cavitatingFoam/{ras => RAS}/throttle/0/nut      |   0
 .../cavitatingFoam/{ras => RAS}/throttle/0/omega    |   0
 .../cavitatingFoam/{ras => RAS}/throttle/0/p        |   0
 .../cavitatingFoam/{ras => RAS}/throttle/0/rho      |   0
 .../cavitatingFoam/{ras => RAS}/throttle/Allclean   |   0
 .../cavitatingFoam/{ras => RAS}/throttle/Allrun     |   0
 .../throttle/constant/thermodynamicProperties       |   0
 .../throttle/constant/transportProperties           |   0
 .../throttle/constant/turbulenceProperties          |   0
 .../{ras => RAS}/throttle/system/blockMeshDict      |   0
 .../{ras => RAS}/throttle/system/controlDict        |   0
 .../{ras => RAS}/throttle/system/fvSchemes          |   0
 .../{ras => RAS}/throttle/system/fvSolution         |   0
 .../{ras => RAS}/throttle/system/refineMeshDict     |   0
 .../{ras => RAS}/throttle/system/topoSetDict.1      |   0
 .../{ras => RAS}/throttle/system/topoSetDict.2      |   0
 .../{ras => RAS}/throttle/system/topoSetDict.3      |   0
 .../{ras => RAS}/sloshingTank2D/0/T                 |   0
 .../{ras => RAS}/sloshingTank2D/0/U                 |   0
 .../{ras => RAS}/sloshingTank2D/0/alpha.water.orig  |   0
 .../{ras => RAS}/sloshingTank2D/0/p                 |   0
 .../{ras => RAS}/sloshingTank2D/0/p_rgh             |   0
 .../{ras => RAS}/sloshingTank2D/Allclean            |   0
 .../{ras => RAS}/sloshingTank2D/Allrun              |   0
 .../sloshingTank2D/constant/dynamicMeshDict         |   0
 .../{ras => RAS}/sloshingTank2D/constant/g          |   0
 .../constant/thermophysicalProperties               |   0
 .../constant/thermophysicalProperties.air           |   0
 .../constant/thermophysicalProperties.water         |   0
 .../sloshingTank2D/constant/transportProperties     |   0
 .../sloshingTank2D/constant/turbulenceProperties    |   0
 .../sloshingTank2D/system/blockMeshDict.m4          |   0
 .../{ras => RAS}/sloshingTank2D/system/controlDict  |   0
 .../sloshingTank2D/system/decomposeParDict          |   0
 .../{ras => RAS}/sloshingTank2D/system/fvSchemes    |   0
 .../{ras => RAS}/sloshingTank2D/system/fvSolution   |   0
 .../sloshingTank2D/system/setFieldsDict             |   0
 .../multiphase/driftFluxFoam/{ras => RAS}/dahl/0/U  |   0
 .../driftFluxFoam/{ras => RAS}/dahl/0/alpha.sludge  |   0
 .../driftFluxFoam/{ras => RAS}/dahl/0/epsilon       |   0
 .../multiphase/driftFluxFoam/{ras => RAS}/dahl/0/k  |   0
 .../driftFluxFoam/{ras => RAS}/dahl/0/nut           |   0
 .../driftFluxFoam/{ras => RAS}/dahl/0/p_rgh         |   0
 .../driftFluxFoam/{ras => RAS}/dahl/constant/g      |   0
 .../{ras => RAS}/dahl/constant/transportProperties  |   0
 .../{ras => RAS}/dahl/constant/turbulenceProperties |   0
 .../{ras => RAS}/dahl/system/blockMeshDict          |   0
 .../{ras => RAS}/dahl/system/controlDict            |   0
 .../{ras => RAS}/dahl/system/fvSchemes              |   0
 .../{ras => RAS}/dahl/system/fvSolution             |   0
 .../driftFluxFoam/{ras => RAS}/mixerVessel2D/0/U    |   0
 .../{ras => RAS}/mixerVessel2D/0/alpha.sludge       |   0
 .../{ras => RAS}/mixerVessel2D/0/epsilon            |   0
 .../driftFluxFoam/{ras => RAS}/mixerVessel2D/0/k    |   0
 .../driftFluxFoam/{ras => RAS}/mixerVessel2D/0/nut  |   0
 .../{ras => RAS}/mixerVessel2D/0/p_rgh              |   0
 .../driftFluxFoam/{ras => RAS}/mixerVessel2D/Allrun |   0
 .../mixerVessel2D/constant/MRFProperties            |   0
 .../{ras => RAS}/mixerVessel2D/constant/g           |   0
 .../mixerVessel2D/constant/transportProperties      |   0
 .../mixerVessel2D/constant/turbulenceProperties     |   0
 .../{ras => RAS}/mixerVessel2D/makeMesh             |   0
 .../mixerVessel2D/system/blockMeshDict.m4           |   0
 .../{ras => RAS}/mixerVessel2D/system/controlDict   |   0
 .../{ras => RAS}/mixerVessel2D/system/fvSchemes     |   0
 .../{ras => RAS}/mixerVessel2D/system/fvSolution    |   0
 .../{ras => RAS}/mixerVessel2D/system/setFieldsDict |   0
 .../{ras => RAS}/mixerVessel2D/system/topoSetDict   |   0
 .../driftFluxFoam/{ras => RAS}/tank3D/0/U           |   0
 .../{ras => RAS}/tank3D/0/alpha.sludge              |   0
 .../driftFluxFoam/{ras => RAS}/tank3D/0/epsilon     |   0
 .../driftFluxFoam/{ras => RAS}/tank3D/0/k           |   0
 .../driftFluxFoam/{ras => RAS}/tank3D/0/nut         |   0
 .../driftFluxFoam/{ras => RAS}/tank3D/0/p_rgh       |   0
 .../driftFluxFoam/{ras => RAS}/tank3D/Allclean      |   0
 .../driftFluxFoam/{ras => RAS}/tank3D/Allrun        |   0
 .../driftFluxFoam/{ras => RAS}/tank3D/constant/g    |   0
 .../{ras => RAS}/tank3D/constant/polyMesh/boundary  |   0
 .../{ras => RAS}/tank3D/constant/polyMesh/cells.gz  | Bin
 .../{ras => RAS}/tank3D/constant/polyMesh/faces.gz  | Bin
 .../tank3D/constant/polyMesh/neighbour.gz           | Bin
 .../{ras => RAS}/tank3D/constant/polyMesh/owner.gz  | Bin
 .../{ras => RAS}/tank3D/constant/polyMesh/points.gz | Bin
 .../tank3D/constant/transportProperties             |   0
 .../tank3D/constant/turbulenceProperties            |   0
 .../{ras => RAS}/tank3D/system/controlDict          |   0
 .../{ras => RAS}/tank3D/system/fvSchemes            |   0
 .../{ras => RAS}/tank3D/system/fvSolution           |   0
 .../interDyMFoam/{ras => RAS}/DTCHull/0.orig/U      |   0
 .../{ras => RAS}/DTCHull/0.orig/alpha.water         |   0
 .../interDyMFoam/{ras => RAS}/DTCHull/0.orig/k      |   0
 .../interDyMFoam/{ras => RAS}/DTCHull/0.orig/nut    |   0
 .../interDyMFoam/{ras => RAS}/DTCHull/0.orig/omega  |   0
 .../interDyMFoam/{ras => RAS}/DTCHull/0.orig/p_rgh  |   0
 .../{ras => RAS}/DTCHull/0.orig/pointDisplacement   |   0
 .../interDyMFoam/{ras => RAS}/DTCHull/Allclean      |   0
 .../interDyMFoam/{ras => RAS}/DTCHull/Allrun        |   0
 .../interDyMFoam/{ras => RAS}/DTCHull/README        |   0
 .../{ras => RAS}/DTCHull/constant/dynamicMeshDict   |   0
 .../DTCHull/constant/dynamicMeshDict.sixDoF         |   0
 .../interDyMFoam/{ras => RAS}/DTCHull/constant/g    |   0
 .../interDyMFoam/{ras => RAS}/DTCHull/constant/hRef |   0
 .../DTCHull/constant/transportProperties            |   0
 .../{ras => RAS}/DTCHull/constant/triSurface/README |   0
 .../DTCHull/constant/turbulenceProperties           |   0
 .../{ras => RAS}/DTCHull/system/blockMeshDict       |   0
 .../{ras => RAS}/DTCHull/system/controlDict         |   0
 .../{ras => RAS}/DTCHull/system/decomposeParDict    |   0
 .../{ras => RAS}/DTCHull/system/fvSchemes           |   0
 .../{ras => RAS}/DTCHull/system/fvSolution          |   0
 .../{ras => RAS}/DTCHull/system/meshQualityDict     |   0
 .../{ras => RAS}/DTCHull/system/refineMeshDict      |   0
 .../{ras => RAS}/DTCHull/system/setFieldsDict       |   0
 .../{ras => RAS}/DTCHull/system/snappyHexMeshDict   |   0
 .../DTCHull/system/surfaceFeatureExtractDict        |   0
 .../{ras => RAS}/DTCHull/system/topoSetDict.1       |   0
 .../{ras => RAS}/DTCHull/system/topoSetDict.2       |   0
 .../{ras => RAS}/DTCHull/system/topoSetDict.3       |   0
 .../{ras => RAS}/DTCHull/system/topoSetDict.4       |   0
 .../{ras => RAS}/DTCHull/system/topoSetDict.5       |   0
 .../{ras => RAS}/DTCHull/system/topoSetDict.6       |   0
 .../{ras => RAS}/damBreakWithObstacle/0.orig/U      |   0
 .../damBreakWithObstacle/0.orig/alpha.water         |   0
 .../damBreakWithObstacle/0.orig/alpha.water.orig    |   0
 .../{ras => RAS}/damBreakWithObstacle/0.orig/k      |   0
 .../{ras => RAS}/damBreakWithObstacle/0.orig/nut    |   0
 .../{ras => RAS}/damBreakWithObstacle/0.orig/omega  |   0
 .../{ras => RAS}/damBreakWithObstacle/0.orig/p_rgh  |   0
 .../{ras => RAS}/damBreakWithObstacle/Allclean      |   0
 .../{ras => RAS}/damBreakWithObstacle/Allrun        |   0
 .../damBreakWithObstacle/constant/dynamicMeshDict   |   0
 .../{ras => RAS}/damBreakWithObstacle/constant/g    |   0
 .../constant/transportProperties                    |   0
 .../constant/turbulenceProperties                   |   0
 .../damBreakWithObstacle/createObstacle.setSet      |   0
 .../damBreakWithObstacle/system/blockMeshDict       |   0
 .../damBreakWithObstacle/system/controlDict         |   0
 .../damBreakWithObstacle/system/decomposeParDict    |   0
 .../damBreakWithObstacle/system/fvSchemes           |   0
 .../damBreakWithObstacle/system/fvSolution          |   0
 .../damBreakWithObstacle/system/setFieldsDict       |   0
 .../damBreakWithObstacle/system/topoSetDict         |   0
 .../{ras => RAS}/floatingObject/0.orig/U            |   0
 .../{ras => RAS}/floatingObject/0.orig/alpha.water  |   0
 .../{ras => RAS}/floatingObject/0.orig/epsilon      |   0
 .../{ras => RAS}/floatingObject/0.orig/k            |   0
 .../{ras => RAS}/floatingObject/0.orig/nut          |   0
 .../{ras => RAS}/floatingObject/0.orig/p_rgh        |   0
 .../floatingObject/0.orig/pointDisplacement         |   0
 .../{ras => RAS}/floatingObject/Allclean            |   0
 .../interDyMFoam/{ras => RAS}/floatingObject/Allrun |   0
 .../floatingObject/constant/dynamicMeshDict         |   0
 .../floatingObject/constant/dynamicMeshDict.sixDoF  |   0
 .../{ras => RAS}/floatingObject/constant/g          |   0
 .../floatingObject/constant/transportProperties     |   0
 .../floatingObject/constant/turbulenceProperties    |   0
 .../floatingObject/system/blockMeshDict             |   0
 .../{ras => RAS}/floatingObject/system/controlDict  |   0
 .../floatingObject/system/decomposeParDict          |   0
 .../{ras => RAS}/floatingObject/system/fvSchemes    |   0
 .../{ras => RAS}/floatingObject/system/fvSolution   |   0
 .../floatingObject/system/setFieldsDict             |   0
 .../{ras => RAS}/floatingObject/system/topoSetDict  |   0
 .../{ras => RAS}/mixerVesselAMI/0.orig/U            |   0
 .../{ras => RAS}/mixerVesselAMI/0.orig/alpha.water  |   0
 .../{ras => RAS}/mixerVesselAMI/0.orig/epsilon      |   0
 .../{ras => RAS}/mixerVesselAMI/0.orig/k            |   0
 .../{ras => RAS}/mixerVesselAMI/0.orig/nut          |   0
 .../{ras => RAS}/mixerVesselAMI/0.orig/p_rgh        |   0
 .../{ras => RAS}/mixerVesselAMI/Allclean            |   0
 .../interDyMFoam/{ras => RAS}/mixerVesselAMI/Allrun |   0
 .../{ras => RAS}/mixerVesselAMI/Allrun.pre          |   0
 .../mixerVesselAMI/constant/dynamicMeshDict         |   0
 .../{ras => RAS}/mixerVesselAMI/constant/g          |   0
 .../mixerVesselAMI/constant/transportProperties     |   0
 .../mixerVesselAMI/constant/triSurface/baffles.stl  |   0
 .../mixerVesselAMI/constant/triSurface/gasInlet.stl |   0
 .../mixerVesselAMI/constant/triSurface/outlet.stl   |   0
 .../mixerVesselAMI/constant/triSurface/problemFaces |   0
 .../mixerVesselAMI/constant/triSurface/rotating.stl |   0
 .../mixerVesselAMI/constant/triSurface/shaft.stl    |   0
 .../constant/triSurface/shaftRotating.stl           |   0
 .../mixerVesselAMI/constant/triSurface/sparger.stl  |   0
 .../mixerVesselAMI/constant/triSurface/stirrer.stl  |   0
 .../mixerVesselAMI/constant/triSurface/vessel.stl   |   0
 .../mixerVesselAMI/constant/turbulenceProperties    |   0
 .../mixerVesselAMI/system/blockMeshDict             |   0
 .../{ras => RAS}/mixerVesselAMI/system/controlDict  |   0
 .../mixerVesselAMI/system/createBafflesDict         |   0
 .../mixerVesselAMI/system/decomposeParDict          |   0
 .../{ras => RAS}/mixerVesselAMI/system/fvSchemes    |   0
 .../{ras => RAS}/mixerVesselAMI/system/fvSolution   |   0
 .../mixerVesselAMI/system/setFieldsDict             |   0
 .../mixerVesselAMI/system/snappyHexMeshDict         |   0
 .../mixerVesselAMI/system/surfaceFeatureExtractDict |   0
 .../interDyMFoam/{ras => RAS}/sloshingTank2D/0/U    |   0
 .../{ras => RAS}/sloshingTank2D/0/alpha.water.orig  |   0
 .../{ras => RAS}/sloshingTank2D/0/p_rgh             |   0
 .../{ras => RAS}/sloshingTank2D/Allclean            |   0
 .../interDyMFoam/{ras => RAS}/sloshingTank2D/Allrun |   0
 .../sloshingTank2D/constant/dynamicMeshDict         |   0
 .../{ras => RAS}/sloshingTank2D/constant/g          |   0
 .../sloshingTank2D/constant/transportProperties     |   0
 .../sloshingTank2D/constant/turbulenceProperties    |   0
 .../sloshingTank2D/system/blockMeshDict.m4          |   0
 .../{ras => RAS}/sloshingTank2D/system/controlDict  |   0
 .../sloshingTank2D/system/decomposeParDict          |   0
 .../{ras => RAS}/sloshingTank2D/system/fvSchemes    |   0
 .../{ras => RAS}/sloshingTank2D/system/fvSolution   |   0
 .../sloshingTank2D/system/setFieldsDict             |   0
 .../{ras => RAS}/sloshingTank2D3DoF/0/U             |   0
 .../sloshingTank2D3DoF/0/alpha.water.orig           |   0
 .../{ras => RAS}/sloshingTank2D3DoF/0/p_rgh         |   0
 .../{ras => RAS}/sloshingTank2D3DoF/Allclean        |   0
 .../{ras => RAS}/sloshingTank2D3DoF/Allrun          |   0
 .../sloshingTank2D3DoF/constant/dynamicMeshDict     |   0
 .../{ras => RAS}/sloshingTank2D3DoF/constant/g      |   0
 .../sloshingTank2D3DoF/constant/transportProperties |   0
 .../constant/turbulenceProperties                   |   0
 .../sloshingTank2D3DoF/system/blockMeshDict.m4      |   0
 .../sloshingTank2D3DoF/system/controlDict           |   0
 .../sloshingTank2D3DoF/system/decomposeParDict      |   0
 .../sloshingTank2D3DoF/system/fvSchemes             |   0
 .../sloshingTank2D3DoF/system/fvSolution            |   0
 .../sloshingTank2D3DoF/system/setFieldsDict         |   0
 .../interDyMFoam/{ras => RAS}/sloshingTank3D/0/U    |   0
 .../{ras => RAS}/sloshingTank3D/0/alpha.water.orig  |   0
 .../{ras => RAS}/sloshingTank3D/0/p_rgh             |   0
 .../{ras => RAS}/sloshingTank3D/Allclean            |   0
 .../interDyMFoam/{ras => RAS}/sloshingTank3D/Allrun |   0
 .../sloshingTank3D/constant/dynamicMeshDict         |   0
 .../{ras => RAS}/sloshingTank3D/constant/g          |   0
 .../sloshingTank3D/constant/transportProperties     |   0
 .../sloshingTank3D/constant/turbulenceProperties    |   0
 .../sloshingTank3D/system/blockMeshDict.m4          |   0
 .../{ras => RAS}/sloshingTank3D/system/controlDict  |   0
 .../sloshingTank3D/system/decomposeParDict          |   0
 .../{ras => RAS}/sloshingTank3D/system/fvSchemes    |   0
 .../{ras => RAS}/sloshingTank3D/system/fvSolution   |   0
 .../sloshingTank3D/system/setFieldsDict             |   0
 .../{ras => RAS}/sloshingTank3D3DoF/0/U             |   0
 .../sloshingTank3D3DoF/0/alpha.water.orig           |   0
 .../{ras => RAS}/sloshingTank3D3DoF/0/p_rgh         |   0
 .../{ras => RAS}/sloshingTank3D3DoF/Allclean        |   0
 .../{ras => RAS}/sloshingTank3D3DoF/Allrun          |   0
 .../sloshingTank3D3DoF/constant/dynamicMeshDict     |   0
 .../{ras => RAS}/sloshingTank3D3DoF/constant/g      |   0
 .../sloshingTank3D3DoF/constant/transportProperties |   0
 .../constant/turbulenceProperties                   |   0
 .../sloshingTank3D3DoF/system/blockMeshDict.m4      |   0
 .../sloshingTank3D3DoF/system/controlDict           |   0
 .../sloshingTank3D3DoF/system/decomposeParDict      |   0
 .../sloshingTank3D3DoF/system/fvSchemes             |   0
 .../sloshingTank3D3DoF/system/fvSolution            |   0
 .../sloshingTank3D3DoF/system/setFieldsDict         |   0
 .../{ras => RAS}/sloshingTank3D6DoF/0/U             |   0
 .../sloshingTank3D6DoF/0/alpha.water.orig           |   0
 .../{ras => RAS}/sloshingTank3D6DoF/0/p_rgh         |   0
 .../{ras => RAS}/sloshingTank3D6DoF/Allclean        |   0
 .../{ras => RAS}/sloshingTank3D6DoF/Allrun          |   0
 .../sloshingTank3D6DoF/constant/6DoF.dat            |   1 -
 .../sloshingTank3D6DoF/constant/dynamicMeshDict     |   0
 .../{ras => RAS}/sloshingTank3D6DoF/constant/g      |   0
 .../sloshingTank3D6DoF/constant/transportProperties |   0
 .../constant/turbulenceProperties                   |   0
 .../sloshingTank3D6DoF/gen6DoF/Make/files           |   0
 .../sloshingTank3D6DoF/gen6DoF/Make/options         |   0
 .../sloshingTank3D6DoF/gen6DoF/gen6DoF.C            |   0
 .../sloshingTank3D6DoF/system/blockMeshDict.m4      |   0
 .../sloshingTank3D6DoF/system/controlDict           |   0
 .../sloshingTank3D6DoF/system/decomposeParDict      |   0
 .../sloshingTank3D6DoF/system/fvSchemes             |   0
 .../sloshingTank3D6DoF/system/fvSolution            |   0
 .../sloshingTank3D6DoF/system/setFieldsDict         |   0
 .../interDyMFoam/{ras => RAS}/testTubeMixer/0/U     |   0
 .../{ras => RAS}/testTubeMixer/0/alpha.water.orig   |   0
 .../interDyMFoam/{ras => RAS}/testTubeMixer/0/p_rgh |   0
 .../{ras => RAS}/testTubeMixer/Allclean             |   0
 .../interDyMFoam/{ras => RAS}/testTubeMixer/Allrun  |   0
 .../testTubeMixer/constant/dynamicMeshDict          |   0
 .../{ras => RAS}/testTubeMixer/constant/g           |   0
 .../testTubeMixer/constant/transportProperties      |   0
 .../testTubeMixer/constant/turbulenceProperties     |   0
 .../{ras => RAS}/testTubeMixer/system/blockMeshDict |   0
 .../{ras => RAS}/testTubeMixer/system/controlDict   |   0
 .../testTubeMixer/system/decomposeParDict           |   0
 .../{ras => RAS}/testTubeMixer/system/fvSchemes     |   0
 .../{ras => RAS}/testTubeMixer/system/fvSolution    |   0
 .../{ras => RAS}/testTubeMixer/system/setFieldsDict |   0
 .../interFoam/{les => LES}/nozzleFlow2D/0/U         |   0
 .../{les => LES}/nozzleFlow2D/0/alpha.fuel          |   0
 .../{les => LES}/nozzleFlow2D/0/data/Ubulk          |   0
 .../{les => LES}/nozzleFlow2D/0/data/ptrace         |   0
 .../interFoam/{les => LES}/nozzleFlow2D/0/k         |   0
 .../interFoam/{les => LES}/nozzleFlow2D/0/nuTilda   |   0
 .../interFoam/{les => LES}/nozzleFlow2D/0/nut       |   0
 .../interFoam/{les => LES}/nozzleFlow2D/0/p_rgh     |   0
 .../interFoam/{les => LES}/nozzleFlow2D/Allclean    |   0
 .../interFoam/{les => LES}/nozzleFlow2D/Allrun      |   0
 .../interFoam/{les => LES}/nozzleFlow2D/constant/g  |   0
 .../nozzleFlow2D/constant/transportProperties       |   0
 .../nozzleFlow2D/constant/turbulenceProperties      |   0
 .../{les => LES}/nozzleFlow2D/system/blockMeshDict  |   0
 .../{les => LES}/nozzleFlow2D/system/controlDict    |   0
 .../{les => LES}/nozzleFlow2D/system/fvSchemes      |   0
 .../{les => LES}/nozzleFlow2D/system/fvSolution     |   0
 .../{les => LES}/nozzleFlow2D/system/refineMeshDict |   0
 .../{les => LES}/nozzleFlow2D/system/topoSetDict.1  |   0
 .../{les => LES}/nozzleFlow2D/system/topoSetDict.2  |   0
 .../interFoam/{ras => RAS}/DTCHull/0.orig/U         |   0
 .../{ras => RAS}/DTCHull/0.orig/alpha.water         |   0
 .../interFoam/{ras => RAS}/DTCHull/0.orig/k         |   0
 .../interFoam/{ras => RAS}/DTCHull/0.orig/nut       |   0
 .../interFoam/{ras => RAS}/DTCHull/0.orig/omega     |   0
 .../interFoam/{ras => RAS}/DTCHull/0.orig/p_rgh     |   0
 .../{ras => RAS}/DTCHull/0.orig/pointDisplacement   |   0
 .../interFoam/{ras => RAS}/DTCHull/Allclean         |   0
 .../interFoam/{ras => RAS}/DTCHull/Allrun           |   0
 .../interFoam/{ras => RAS}/DTCHull/README           |   0
 .../interFoam/{ras => RAS}/DTCHull/constant/g       |   0
 .../interFoam/{ras => RAS}/DTCHull/constant/hRef    |   0
 .../DTCHull/constant/transportProperties            |   0
 .../{ras => RAS}/DTCHull/constant/triSurface/README |   0
 .../DTCHull/constant/turbulenceProperties           |   0
 .../{ras => RAS}/DTCHull/system/blockMeshDict       |   0
 .../{ras => RAS}/DTCHull/system/controlDict         |   0
 .../{ras => RAS}/DTCHull/system/decomposeParDict    |   0
 .../interFoam/{ras => RAS}/DTCHull/system/fvSchemes |   0
 .../{ras => RAS}/DTCHull/system/fvSolution          |   0
 .../{ras => RAS}/DTCHull/system/meshQualityDict     |   0
 .../{ras => RAS}/DTCHull/system/refineMeshDict      |   0
 .../{ras => RAS}/DTCHull/system/setFieldsDict       |   0
 .../{ras => RAS}/DTCHull/system/snappyHexMeshDict   |   0
 .../DTCHull/system/surfaceFeatureExtractDict        |   0
 .../{ras => RAS}/DTCHull/system/topoSetDict.1       |   0
 .../{ras => RAS}/DTCHull/system/topoSetDict.2       |   0
 .../{ras => RAS}/DTCHull/system/topoSetDict.3       |   0
 .../{ras => RAS}/DTCHull/system/topoSetDict.4       |   0
 .../{ras => RAS}/DTCHull/system/topoSetDict.5       |   0
 .../{ras => RAS}/DTCHull/system/topoSetDict.6       |   0
 .../interFoam/{ras => RAS}/angledDuct/0/U           |   0
 .../interFoam/{ras => RAS}/angledDuct/0/alpha.water |   0
 .../interFoam/{ras => RAS}/angledDuct/0/epsilon     |   0
 .../interFoam/{ras => RAS}/angledDuct/0/k           |   0
 .../interFoam/{ras => RAS}/angledDuct/0/nut         |   0
 .../interFoam/{ras => RAS}/angledDuct/0/p_rgh       |   0
 .../interFoam/{ras => RAS}/angledDuct/Allrun        |   0
 .../{ras => RAS}/angledDuct/constant/fvOptions      |   0
 .../interFoam/{ras => RAS}/angledDuct/constant/g    |   0
 .../angledDuct/constant/transportProperties         |   0
 .../angledDuct/constant/turbulenceProperties        |   0
 .../{ras => RAS}/angledDuct/system/blockMeshDict.m4 |   0
 .../{ras => RAS}/angledDuct/system/controlDict      |   0
 .../{ras => RAS}/angledDuct/system/fvSchemes        |   0
 .../{ras => RAS}/angledDuct/system/fvSolution       |   0
 .../interFoam/{ras => RAS}/damBreak/Allclean        |   0
 .../interFoam/{ras => RAS}/damBreak/Allrun          |   0
 .../interFoam/{ras => RAS}/damBreak/damBreak/0/U    |   0
 .../{ras => RAS}/damBreak/damBreak/0/alpha.water    |   0
 .../damBreak/damBreak/0/alpha.water.orig            |   0
 .../{ras => RAS}/damBreak/damBreak/0/epsilon        |   0
 .../interFoam/{ras => RAS}/damBreak/damBreak/0/k    |   0
 .../{ras => RAS}/damBreak/damBreak/0/nuTilda        |   0
 .../interFoam/{ras => RAS}/damBreak/damBreak/0/nut  |   0
 .../{ras => RAS}/damBreak/damBreak/0/p_rgh          |   0
 .../{ras => RAS}/damBreak/damBreak/Allclean         |   0
 .../interFoam/{ras => RAS}/damBreak/damBreak/Allrun |   0
 .../{ras => RAS}/damBreak/damBreak/constant/g       |   0
 .../damBreak/damBreak/constant/transportProperties  |   0
 .../damBreak/damBreak/constant/turbulenceProperties |   0
 .../damBreak/damBreak/system/blockMeshDict          |   0
 .../damBreak/damBreak/system/controlDict            |   0
 .../damBreak/damBreak/system/decomposeParDict       |   0
 .../{ras => RAS}/damBreak/damBreak/system/fvSchemes |   0
 .../damBreak/damBreak/system/fvSolution             |   0
 .../damBreak/damBreak/system/setFieldsDict          |   0
 .../interFoam/{ras => RAS}/damBreakPorousBaffle/0/U |   0
 .../{ras => RAS}/damBreakPorousBaffle/0/alpha.water |   0
 .../damBreakPorousBaffle/0/alpha.water.orig         |   0
 .../{ras => RAS}/damBreakPorousBaffle/0/epsilon     |   0
 .../interFoam/{ras => RAS}/damBreakPorousBaffle/0/k |   0
 .../{ras => RAS}/damBreakPorousBaffle/0/nuTilda     |   0
 .../{ras => RAS}/damBreakPorousBaffle/0/nut         |   0
 .../{ras => RAS}/damBreakPorousBaffle/0/p_rgh       |   0
 .../{ras => RAS}/damBreakPorousBaffle/Allclean      |   0
 .../{ras => RAS}/damBreakPorousBaffle/Allrun        |   0
 .../{ras => RAS}/damBreakPorousBaffle/constant/g    |   0
 .../constant/transportProperties                    |   0
 .../constant/turbulenceProperties                   |   0
 .../damBreakPorousBaffle/system/blockMeshDict       |   0
 .../system/changeDictionaryDict                     |   0
 .../damBreakPorousBaffle/system/controlDict         |   0
 .../damBreakPorousBaffle/system/createBafflesDict   |   0
 .../damBreakPorousBaffle/system/fvSchemes           |   0
 .../damBreakPorousBaffle/system/fvSolution          |   0
 .../damBreakPorousBaffle/system/setFieldsDict       |   0
 .../damBreakPorousBaffle/system/topoSetDict         |   0
 .../interFoam/{ras => RAS}/waterChannel/0/U         |   0
 .../{ras => RAS}/waterChannel/0/alpha.water.orig    |   0
 .../interFoam/{ras => RAS}/waterChannel/0/k         |   0
 .../interFoam/{ras => RAS}/waterChannel/0/nut       |   0
 .../interFoam/{ras => RAS}/waterChannel/0/omega     |   0
 .../interFoam/{ras => RAS}/waterChannel/0/p_rgh     |   0
 .../interFoam/{ras => RAS}/waterChannel/Allclean    |   0
 .../interFoam/{ras => RAS}/waterChannel/Allmesh     |   0
 .../interFoam/{ras => RAS}/waterChannel/Allrun      |   0
 .../interFoam/{ras => RAS}/waterChannel/constant/g  |   0
 .../waterChannel/constant/transportProperties       |   0
 .../waterChannel/constant/turbulenceProperties      |   0
 .../{ras => RAS}/waterChannel/system/blockMeshDict  |   0
 .../{ras => RAS}/waterChannel/system/controlDict    |   0
 .../waterChannel/system/extrudeMeshDict             |   0
 .../waterChannel/system/extrudeMeshDict.1           |   0
 .../waterChannel/system/extrudeMeshDict.2           |   0
 .../{ras => RAS}/waterChannel/system/fvSchemes      |   0
 .../{ras => RAS}/waterChannel/system/fvSolution     |   0
 .../{ras => RAS}/waterChannel/system/setFieldsDict  |   0
 .../interFoam/{ras => RAS}/weirOverflow/0.orig/U    |   0
 .../weirOverflow/0.orig/alpha.water.orig            |   0
 .../{ras => RAS}/weirOverflow/0.orig/epsilon        |   0
 .../weirOverflow/0.orig/include/initialConditions   |   0
 .../interFoam/{ras => RAS}/weirOverflow/0.orig/k    |   0
 .../interFoam/{ras => RAS}/weirOverflow/0.orig/nut  |   0
 .../{ras => RAS}/weirOverflow/0.orig/p_rgh          |   0
 .../interFoam/{ras => RAS}/weirOverflow/Allclean    |   0
 .../interFoam/{ras => RAS}/weirOverflow/Allrun      |   0
 .../interFoam/{ras => RAS}/weirOverflow/constant/g  |   0
 .../weirOverflow/constant/transportProperties       |   0
 .../weirOverflow/constant/turbulenceProperties      |   0
 .../{ras => RAS}/weirOverflow/system/blockMeshDict  |   0
 .../{ras => RAS}/weirOverflow/system/controlDict    |   0
 .../{ras => RAS}/weirOverflow/system/fvSchemes      |   0
 .../{ras => RAS}/weirOverflow/system/fvSolution     |   0
 .../{ras => RAS}/weirOverflow/system/setFieldsDict  |   0
 873 files changed, 2 deletions(-)
 rename tutorials/combustion/XiFoam/{ras => RAS}/Allclean (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/Allrun (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/Su (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/T (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/Tu (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/U (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/Xi (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/alphat (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/b (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/epsilon (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/ft (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/fu (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/k (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/nut (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/moriyoshiHomogeneous/0/p (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/moriyoshiHomogeneous/constant/combustionProperties (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/moriyoshiHomogeneous/constant/thermophysicalProperties (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/moriyoshiHomogeneous/constant/thermophysicalProperties.hydrogen (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/moriyoshiHomogeneous/constant/turbulenceProperties (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/moriyoshiHomogeneous/system/blockMeshDict (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/moriyoshiHomogeneous/system/controlDict (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/moriyoshiHomogeneous/system/fvSchemes (100%)
 rename tutorials/combustion/XiFoam/{ras => RAS}/moriyoshiHomogeneous/system/fvSolution (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/C3H8 (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/IDefault (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/N2 (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/O2 (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/T (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/U (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/Ydefault (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/alphat (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/filmRegion/Tf (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/filmRegion/Uf (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/filmRegion/deltaf (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/k (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/nut (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/p (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/p_rgh (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/ph_rgh.orig (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/Qr (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/T (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/Y0Default (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/char (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/p (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/wood (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/Allclean (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/Allrun (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/constant/additionalControls (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/constant/combustionProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/constant/g (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/constant/pRef (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/chemistryProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/radiationProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/reactions (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/thermo.solid (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/thermophysicalProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/constant/pyrolysisZones (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/constant/radiationProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/constant/reactingCloud1Positions (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/constant/reactingCloud1Properties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/constant/reactions (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/constant/surfaceFilmProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/constant/thermo.compressibleGas (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/constant/thermophysicalProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/constant/turbulenceProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/system/blockMeshDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/system/controlDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/system/createPatchDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/system/extrudeToRegionMeshDictFilm (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/system/extrudeToRegionMeshDictPyr (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/system/filmRegion/changeDictionaryDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/system/filmRegion/createPatchDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/system/filmRegion/fvSchemes (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/system/filmRegion/fvSolution (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/system/filmRegion/topoSetDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/system/fvSchemes (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/system/fvSolution (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/system/pyrolysisRegion/fvSchemes (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/system/pyrolysisRegion/fvSolution (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/flameSpreadWaterSuppressionPanel/system/topoSetDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/0/C3H8 (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/0/G (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/0/IDefault (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/0/N2 (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/0/O2 (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/0/T (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/0/U (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/0/Ydefault (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/0/alphat (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/0/k (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/0/nut (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/0/p (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/0/p_rgh (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/0/panelRegion/Qr (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/0/panelRegion/T (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/0/panelRegion/Y0Default (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/0/panelRegion/char (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/0/panelRegion/p (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/0/panelRegion/wood (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/0/ph_rgh.orig (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/Allclean (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/Allrun (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/constant/additionalControls (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/constant/combustionProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/constant/g (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/constant/hRef (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/constant/pRef (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/constant/panelRegion/chemistryProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/constant/panelRegion/radiationProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/constant/panelRegion/reactions (99%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/constant/panelRegion/thermo.solid (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/constant/panelRegion/thermophysicalProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/constant/pyrolysisZones (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/constant/radiationProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/constant/reactingCloud1Properties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/constant/reactions (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/constant/surfaceFilmProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/constant/thermo.compressibleGas (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/constant/thermophysicalProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/constant/turbulenceProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/system/blockMeshDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/system/cRefine.topoSetDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/system/controlDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/system/createPatchDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/system/decomposeParDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/system/extrudeToRegionMeshDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/system/f.topoSetDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/system/fBurner.topoSetDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/system/fvSchemes (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/system/fvSolution (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/system/panelRegion/decomposeParDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/system/panelRegion/fvSchemes (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/system/panelRegion/fvSolution (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/oppositeBurningPanels/system/refineMeshDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/0/CH4 (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/0/FSDomega (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/0/G (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/0/IDefault (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/0/N2 (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/0/O2 (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/0/T (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/0/U (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/0/Ydefault (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/0/alphat (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/0/k (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/0/nut (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/0/p (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/0/p_rgh (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/0/ph_rgh.orig (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/0/soot (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/Allclean (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/Allrun (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/constant/additionalControls (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/constant/combustionProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/constant/g (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/constant/hRef (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/constant/pRef (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/constant/pyrolysisZones (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/constant/radiationProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/constant/reactingCloud1Properties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/constant/reactions (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/constant/surfaceFilmProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/constant/thermo.compressibleGas (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/constant/thermophysicalProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/constant/turbulenceProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/system/blockMeshDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/system/controlDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/system/createPatchDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/system/fvSchemes (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/system/fvSolution (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire2D/system/topoSetDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/0/CH4 (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/0/G (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/0/IDefault (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/0/N2 (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/0/O2 (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/0/T (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/0/U (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/0/Ydefault (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/0/alphat (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/0/k (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/0/nut (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/0/p (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/0/p_rgh (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/0/ph_rgh.orig (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/Allclean (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/Allrun (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/constant/additionalControls (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/constant/chemistryProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/constant/combustionProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/constant/g (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/constant/hRef (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/constant/pRef (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/constant/pyrolysisZones (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/constant/radiationProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/constant/reactingCloud1Properties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/constant/reactions (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/constant/surfaceFilmProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/constant/thermo.compressibleGas (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/constant/thermophysicalProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/constant/turbulenceProperties (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/system/blockMeshDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/system/controlDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/system/createPatchDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/system/decomposeParDict (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/system/fvSchemes (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/system/fvSolution (100%)
 rename tutorials/combustion/fireFoam/{les => LES}/smallPoolFire3D/system/topoSetDict (100%)
 rename tutorials/compressible/rhoPimpleFoam/{les => LES}/pitzDaily/0/T (100%)
 rename tutorials/compressible/rhoPimpleFoam/{les => LES}/pitzDaily/0/U (100%)
 rename tutorials/compressible/rhoPimpleFoam/{les => LES}/pitzDaily/0/alphat (100%)
 rename tutorials/compressible/rhoPimpleFoam/{les => LES}/pitzDaily/0/k (100%)
 rename tutorials/compressible/rhoPimpleFoam/{les => LES}/pitzDaily/0/muTilda (100%)
 rename tutorials/compressible/rhoPimpleFoam/{les => LES}/pitzDaily/0/nut (100%)
 rename tutorials/compressible/rhoPimpleFoam/{les => LES}/pitzDaily/0/p (100%)
 rename tutorials/compressible/rhoPimpleFoam/{les => LES}/pitzDaily/constant/thermophysicalProperties (100%)
 rename tutorials/compressible/rhoPimpleFoam/{les => LES}/pitzDaily/constant/turbulenceProperties (100%)
 rename tutorials/compressible/rhoPimpleFoam/{les => LES}/pitzDaily/system/blockMeshDict (100%)
 rename tutorials/compressible/rhoPimpleFoam/{les => LES}/pitzDaily/system/controlDict (100%)
 rename tutorials/compressible/rhoPimpleFoam/{les => LES}/pitzDaily/system/fvSchemes (100%)
 rename tutorials/compressible/rhoPimpleFoam/{les => LES}/pitzDaily/system/fvSolution (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuct/0/T (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuct/0/U (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuct/0/alphat (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuct/0/epsilon (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuct/0/k (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuct/0/nut (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuct/0/p (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuct/Allrun (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuct/constant/fvOptions (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuct/constant/thermophysicalProperties (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuct/constant/turbulenceProperties (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuct/system/blockMeshDict.m4 (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuct/system/controlDict (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuct/system/fvSchemes (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuct/system/fvSolution (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuctLTS/0/T (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuctLTS/0/U (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuctLTS/0/alphat (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuctLTS/0/epsilon (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuctLTS/0/k (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuctLTS/0/nut (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuctLTS/0/p (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuctLTS/Allrun (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuctLTS/constant/fvOptions (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuctLTS/constant/thermophysicalProperties (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuctLTS/constant/turbulenceProperties (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuctLTS/system/blockMeshDict.m4 (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuctLTS/system/controlDict (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuctLTS/system/fvSchemes (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/angledDuctLTS/system/fvSolution (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/cavity/0/T (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/cavity/0/U (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/cavity/0/alphat (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/cavity/0/epsilon (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/cavity/0/k (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/cavity/0/nut (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/cavity/0/omega (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/cavity/0/p (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/cavity/constant/thermophysicalProperties (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/cavity/constant/turbulenceProperties (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/cavity/system/blockMeshDict (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/cavity/system/controlDict (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/cavity/system/fvSchemes (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/cavity/system/fvSolution (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/mixerVessel2D/0/T (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/mixerVessel2D/0/U (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/mixerVessel2D/0/alphat (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/mixerVessel2D/0/epsilon (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/mixerVessel2D/0/k (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/mixerVessel2D/0/nut (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/mixerVessel2D/0/p (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/mixerVessel2D/Allrun (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/mixerVessel2D/constant/MRFProperties (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/mixerVessel2D/constant/fvOptions (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/mixerVessel2D/constant/thermophysicalProperties (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/mixerVessel2D/constant/transportProperties (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/mixerVessel2D/constant/turbulenceProperties (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/mixerVessel2D/makeMesh (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/mixerVessel2D/system/blockMeshDict.m4 (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/mixerVessel2D/system/controlDict (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/mixerVessel2D/system/fvSchemes (100%)
 rename tutorials/compressible/rhoPimpleFoam/{ras => RAS}/mixerVessel2D/system/fvSolution (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/nacaAirfoil/0/T (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/nacaAirfoil/0/U (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/nacaAirfoil/0/alphat (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/nacaAirfoil/0/epsilon (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/nacaAirfoil/0/k (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/nacaAirfoil/0/nut (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/nacaAirfoil/0/p (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/nacaAirfoil/Allclean (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/nacaAirfoil/Allrun (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/nacaAirfoil/Running_Notes (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/nacaAirfoil/constant/thermophysicalProperties (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/nacaAirfoil/constant/turbulenceProperties (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/nacaAirfoil/prostar/nacaAirfoil.bnd.gz (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/nacaAirfoil/prostar/nacaAirfoil.cel.gz (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/nacaAirfoil/prostar/nacaAirfoil.vrt.gz (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/nacaAirfoil/system/controlDict (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/nacaAirfoil/system/fvSchemes (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/nacaAirfoil/system/fvSolution (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/prism/0/T (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/prism/0/U (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/prism/0/alphat (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/prism/0/epsilon (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/prism/0/k (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/prism/0/nut (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/prism/0/p (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/prism/constant/thermophysicalProperties (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/prism/constant/turbulenceProperties (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/prism/system/blockMeshDict (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/prism/system/controlDict (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/prism/system/fvSchemes (100%)
 rename tutorials/compressible/sonicFoam/{ras => RAS}/prism/system/fvSolution (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/Allclean (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/Allrun (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/lesFiles/Allrun (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/lesFiles/controlDict (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/lesFiles/fvSchemes (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/lesFiles/fvSolution (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/lesFiles/turbulenceProperties (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/0.orig/U (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/0.orig/include/fixedInlet (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/0.orig/include/frontBackUpperPatches (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/0.orig/include/initialConditions (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/0.orig/k (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/0.orig/nuTilda (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/0.orig/nut (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/0.orig/p (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/Allclean (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/Allrun (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/constant/polyMesh/blockMeshDict.8pSmall (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/constant/transportProperties (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/constant/triSurface/README (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/constant/turbulenceProperties (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/system/blockMeshDict (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/system/controlDict (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/system/cuttingPlane (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/system/decomposeParDict (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/system/decomposeParDict.hierarchical (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/system/decomposeParDict.ptscotch (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/system/forceCoeffs (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/system/fvSchemes (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/system/fvSolution (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/system/snappyHexMeshDict (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/motorBike/motorBike/system/streamLines (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDaily/0/U (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDaily/0/k (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDaily/0/nuTilda (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDaily/0/nut (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDaily/0/p (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDaily/0/s (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDaily/constant/transportProperties (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDaily/constant/turbulenceProperties (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDaily/system/blockMeshDict (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDaily/system/controlDict (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDaily/system/fvSchemes (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDaily/system/fvSolution (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDailyMapped/0/U (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDailyMapped/0/k (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDailyMapped/0/nuTilda (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDailyMapped/0/nut (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDailyMapped/0/p (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDailyMapped/constant/transportProperties (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDailyMapped/constant/turbulenceProperties (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDailyMapped/system/blockMeshDict (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDailyMapped/system/controlDict (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDailyMapped/system/decomposeParDict (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDailyMapped/system/fvSchemes (100%)
 rename tutorials/incompressible/pisoFoam/{les => LES}/pitzDailyMapped/system/fvSolution (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavity/0/U (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavity/0/epsilon (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavity/0/k (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavity/0/nuTilda (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavity/0/nut (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavity/0/omega (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavity/0/p (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavity/constant/transportProperties (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavity/constant/turbulenceProperties (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavity/system/blockMeshDict (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavity/system/controlDict (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavity/system/fvSchemes (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavity/system/fvSolution (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavityCoupledU/0/U (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavityCoupledU/0/epsilon (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavityCoupledU/0/k (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavityCoupledU/0/nuTilda (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavityCoupledU/0/nut (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavityCoupledU/0/p (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavityCoupledU/constant/transportProperties (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavityCoupledU/constant/turbulenceProperties (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavityCoupledU/system/blockMeshDict (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavityCoupledU/system/controlDict (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavityCoupledU/system/fvSchemes (100%)
 rename tutorials/incompressible/pisoFoam/{ras => RAS}/cavityCoupledU/system/fvSolution (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/Allrun (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle/0/U (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle/0/alpha.vapour (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle/0/k (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle/0/nut (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle/0/p (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle/0/rho (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle/Allclean (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle/Allrun (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle/constant/thermodynamicProperties (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle/constant/transportProperties (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle/system/blockMeshDict (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle/system/controlDict (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle/system/fvSchemes (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle/system/fvSolution (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle/system/refineMeshDict (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle/system/topoSetDict.1 (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle/system/topoSetDict.2 (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle/system/topoSetDict.3 (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle3D/0.orig/U (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle3D/0.orig/alpha.vapour (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle3D/0.orig/k (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle3D/0.orig/nut (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle3D/0.orig/p (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle3D/0.orig/rho (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle3D/Allclean (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle3D/Allrun (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle3D/constant/thermodynamicProperties (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle3D/constant/transportProperties (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle3D/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle3D/system/blockMeshDict (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle3D/system/controlDict (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle3D/system/decomposeParDict (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle3D/system/fvSchemes (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle3D/system/fvSolution (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle3D/system/mapFieldsDict (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle3D/system/refineMeshDict (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle3D/system/topoSetDict.1 (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle3D/system/topoSetDict.2 (100%)
 rename tutorials/multiphase/cavitatingFoam/{les => LES}/throttle3D/system/topoSetDict.3 (100%)
 rename tutorials/multiphase/cavitatingFoam/{ras => RAS}/throttle/0/U (100%)
 rename tutorials/multiphase/cavitatingFoam/{ras => RAS}/throttle/0/alpha.vapour (100%)
 rename tutorials/multiphase/cavitatingFoam/{ras => RAS}/throttle/0/k (100%)
 rename tutorials/multiphase/cavitatingFoam/{ras => RAS}/throttle/0/nut (100%)
 rename tutorials/multiphase/cavitatingFoam/{ras => RAS}/throttle/0/omega (100%)
 rename tutorials/multiphase/cavitatingFoam/{ras => RAS}/throttle/0/p (100%)
 rename tutorials/multiphase/cavitatingFoam/{ras => RAS}/throttle/0/rho (100%)
 rename tutorials/multiphase/cavitatingFoam/{ras => RAS}/throttle/Allclean (100%)
 rename tutorials/multiphase/cavitatingFoam/{ras => RAS}/throttle/Allrun (100%)
 rename tutorials/multiphase/cavitatingFoam/{ras => RAS}/throttle/constant/thermodynamicProperties (100%)
 rename tutorials/multiphase/cavitatingFoam/{ras => RAS}/throttle/constant/transportProperties (100%)
 rename tutorials/multiphase/cavitatingFoam/{ras => RAS}/throttle/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/cavitatingFoam/{ras => RAS}/throttle/system/blockMeshDict (100%)
 rename tutorials/multiphase/cavitatingFoam/{ras => RAS}/throttle/system/controlDict (100%)
 rename tutorials/multiphase/cavitatingFoam/{ras => RAS}/throttle/system/fvSchemes (100%)
 rename tutorials/multiphase/cavitatingFoam/{ras => RAS}/throttle/system/fvSolution (100%)
 rename tutorials/multiphase/cavitatingFoam/{ras => RAS}/throttle/system/refineMeshDict (100%)
 rename tutorials/multiphase/cavitatingFoam/{ras => RAS}/throttle/system/topoSetDict.1 (100%)
 rename tutorials/multiphase/cavitatingFoam/{ras => RAS}/throttle/system/topoSetDict.2 (100%)
 rename tutorials/multiphase/cavitatingFoam/{ras => RAS}/throttle/system/topoSetDict.3 (100%)
 rename tutorials/multiphase/compressibleInterDyMFoam/{ras => RAS}/sloshingTank2D/0/T (100%)
 rename tutorials/multiphase/compressibleInterDyMFoam/{ras => RAS}/sloshingTank2D/0/U (100%)
 rename tutorials/multiphase/compressibleInterDyMFoam/{ras => RAS}/sloshingTank2D/0/alpha.water.orig (100%)
 rename tutorials/multiphase/compressibleInterDyMFoam/{ras => RAS}/sloshingTank2D/0/p (100%)
 rename tutorials/multiphase/compressibleInterDyMFoam/{ras => RAS}/sloshingTank2D/0/p_rgh (100%)
 rename tutorials/multiphase/compressibleInterDyMFoam/{ras => RAS}/sloshingTank2D/Allclean (100%)
 rename tutorials/multiphase/compressibleInterDyMFoam/{ras => RAS}/sloshingTank2D/Allrun (100%)
 rename tutorials/multiphase/compressibleInterDyMFoam/{ras => RAS}/sloshingTank2D/constant/dynamicMeshDict (100%)
 rename tutorials/multiphase/compressibleInterDyMFoam/{ras => RAS}/sloshingTank2D/constant/g (100%)
 rename tutorials/multiphase/compressibleInterDyMFoam/{ras => RAS}/sloshingTank2D/constant/thermophysicalProperties (100%)
 rename tutorials/multiphase/compressibleInterDyMFoam/{ras => RAS}/sloshingTank2D/constant/thermophysicalProperties.air (100%)
 rename tutorials/multiphase/compressibleInterDyMFoam/{ras => RAS}/sloshingTank2D/constant/thermophysicalProperties.water (100%)
 rename tutorials/multiphase/compressibleInterDyMFoam/{ras => RAS}/sloshingTank2D/constant/transportProperties (100%)
 rename tutorials/multiphase/compressibleInterDyMFoam/{ras => RAS}/sloshingTank2D/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/compressibleInterDyMFoam/{ras => RAS}/sloshingTank2D/system/blockMeshDict.m4 (100%)
 rename tutorials/multiphase/compressibleInterDyMFoam/{ras => RAS}/sloshingTank2D/system/controlDict (100%)
 rename tutorials/multiphase/compressibleInterDyMFoam/{ras => RAS}/sloshingTank2D/system/decomposeParDict (100%)
 rename tutorials/multiphase/compressibleInterDyMFoam/{ras => RAS}/sloshingTank2D/system/fvSchemes (100%)
 rename tutorials/multiphase/compressibleInterDyMFoam/{ras => RAS}/sloshingTank2D/system/fvSolution (100%)
 rename tutorials/multiphase/compressibleInterDyMFoam/{ras => RAS}/sloshingTank2D/system/setFieldsDict (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/dahl/0/U (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/dahl/0/alpha.sludge (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/dahl/0/epsilon (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/dahl/0/k (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/dahl/0/nut (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/dahl/0/p_rgh (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/dahl/constant/g (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/dahl/constant/transportProperties (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/dahl/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/dahl/system/blockMeshDict (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/dahl/system/controlDict (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/dahl/system/fvSchemes (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/dahl/system/fvSolution (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/mixerVessel2D/0/U (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/mixerVessel2D/0/alpha.sludge (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/mixerVessel2D/0/epsilon (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/mixerVessel2D/0/k (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/mixerVessel2D/0/nut (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/mixerVessel2D/0/p_rgh (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/mixerVessel2D/Allrun (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/mixerVessel2D/constant/MRFProperties (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/mixerVessel2D/constant/g (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/mixerVessel2D/constant/transportProperties (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/mixerVessel2D/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/mixerVessel2D/makeMesh (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/mixerVessel2D/system/blockMeshDict.m4 (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/mixerVessel2D/system/controlDict (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/mixerVessel2D/system/fvSchemes (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/mixerVessel2D/system/fvSolution (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/mixerVessel2D/system/setFieldsDict (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/mixerVessel2D/system/topoSetDict (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/tank3D/0/U (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/tank3D/0/alpha.sludge (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/tank3D/0/epsilon (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/tank3D/0/k (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/tank3D/0/nut (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/tank3D/0/p_rgh (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/tank3D/Allclean (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/tank3D/Allrun (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/tank3D/constant/g (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/tank3D/constant/polyMesh/boundary (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/tank3D/constant/polyMesh/cells.gz (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/tank3D/constant/polyMesh/faces.gz (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/tank3D/constant/polyMesh/neighbour.gz (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/tank3D/constant/polyMesh/owner.gz (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/tank3D/constant/polyMesh/points.gz (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/tank3D/constant/transportProperties (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/tank3D/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/tank3D/system/controlDict (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/tank3D/system/fvSchemes (100%)
 rename tutorials/multiphase/driftFluxFoam/{ras => RAS}/tank3D/system/fvSolution (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/0.orig/U (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/0.orig/alpha.water (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/0.orig/k (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/0.orig/nut (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/0.orig/omega (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/0.orig/p_rgh (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/0.orig/pointDisplacement (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/Allclean (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/Allrun (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/README (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/constant/dynamicMeshDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/constant/dynamicMeshDict.sixDoF (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/constant/g (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/constant/hRef (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/constant/transportProperties (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/constant/triSurface/README (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/system/blockMeshDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/system/controlDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/system/decomposeParDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/system/fvSchemes (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/system/fvSolution (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/system/meshQualityDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/system/refineMeshDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/system/setFieldsDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/system/snappyHexMeshDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/system/surfaceFeatureExtractDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/system/topoSetDict.1 (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/system/topoSetDict.2 (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/system/topoSetDict.3 (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/system/topoSetDict.4 (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/system/topoSetDict.5 (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/DTCHull/system/topoSetDict.6 (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/damBreakWithObstacle/0.orig/U (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/damBreakWithObstacle/0.orig/alpha.water (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/damBreakWithObstacle/0.orig/alpha.water.orig (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/damBreakWithObstacle/0.orig/k (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/damBreakWithObstacle/0.orig/nut (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/damBreakWithObstacle/0.orig/omega (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/damBreakWithObstacle/0.orig/p_rgh (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/damBreakWithObstacle/Allclean (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/damBreakWithObstacle/Allrun (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/damBreakWithObstacle/constant/dynamicMeshDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/damBreakWithObstacle/constant/g (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/damBreakWithObstacle/constant/transportProperties (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/damBreakWithObstacle/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/damBreakWithObstacle/createObstacle.setSet (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/damBreakWithObstacle/system/blockMeshDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/damBreakWithObstacle/system/controlDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/damBreakWithObstacle/system/decomposeParDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/damBreakWithObstacle/system/fvSchemes (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/damBreakWithObstacle/system/fvSolution (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/damBreakWithObstacle/system/setFieldsDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/damBreakWithObstacle/system/topoSetDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/floatingObject/0.orig/U (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/floatingObject/0.orig/alpha.water (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/floatingObject/0.orig/epsilon (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/floatingObject/0.orig/k (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/floatingObject/0.orig/nut (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/floatingObject/0.orig/p_rgh (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/floatingObject/0.orig/pointDisplacement (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/floatingObject/Allclean (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/floatingObject/Allrun (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/floatingObject/constant/dynamicMeshDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/floatingObject/constant/dynamicMeshDict.sixDoF (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/floatingObject/constant/g (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/floatingObject/constant/transportProperties (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/floatingObject/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/floatingObject/system/blockMeshDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/floatingObject/system/controlDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/floatingObject/system/decomposeParDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/floatingObject/system/fvSchemes (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/floatingObject/system/fvSolution (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/floatingObject/system/setFieldsDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/floatingObject/system/topoSetDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/0.orig/U (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/0.orig/alpha.water (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/0.orig/epsilon (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/0.orig/k (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/0.orig/nut (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/0.orig/p_rgh (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/Allclean (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/Allrun (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/Allrun.pre (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/constant/dynamicMeshDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/constant/g (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/constant/transportProperties (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/constant/triSurface/baffles.stl (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/constant/triSurface/gasInlet.stl (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/constant/triSurface/outlet.stl (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/constant/triSurface/problemFaces (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/constant/triSurface/rotating.stl (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/constant/triSurface/shaft.stl (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/constant/triSurface/shaftRotating.stl (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/constant/triSurface/sparger.stl (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/constant/triSurface/stirrer.stl (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/constant/triSurface/vessel.stl (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/system/blockMeshDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/system/controlDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/system/createBafflesDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/system/decomposeParDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/system/fvSchemes (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/system/fvSolution (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/system/setFieldsDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/system/snappyHexMeshDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/mixerVesselAMI/system/surfaceFeatureExtractDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D/0/U (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D/0/alpha.water.orig (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D/0/p_rgh (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D/Allclean (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D/Allrun (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D/constant/dynamicMeshDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D/constant/g (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D/constant/transportProperties (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D/system/blockMeshDict.m4 (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D/system/controlDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D/system/decomposeParDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D/system/fvSchemes (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D/system/fvSolution (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D/system/setFieldsDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D3DoF/0/U (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D3DoF/0/alpha.water.orig (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D3DoF/0/p_rgh (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D3DoF/Allclean (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D3DoF/Allrun (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D3DoF/constant/dynamicMeshDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D3DoF/constant/g (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D3DoF/constant/transportProperties (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D3DoF/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D3DoF/system/blockMeshDict.m4 (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D3DoF/system/controlDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D3DoF/system/decomposeParDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D3DoF/system/fvSchemes (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D3DoF/system/fvSolution (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank2D3DoF/system/setFieldsDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D/0/U (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D/0/alpha.water.orig (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D/0/p_rgh (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D/Allclean (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D/Allrun (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D/constant/dynamicMeshDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D/constant/g (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D/constant/transportProperties (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D/system/blockMeshDict.m4 (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D/system/controlDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D/system/decomposeParDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D/system/fvSchemes (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D/system/fvSolution (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D/system/setFieldsDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D3DoF/0/U (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D3DoF/0/alpha.water.orig (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D3DoF/0/p_rgh (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D3DoF/Allclean (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D3DoF/Allrun (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D3DoF/constant/dynamicMeshDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D3DoF/constant/g (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D3DoF/constant/transportProperties (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D3DoF/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D3DoF/system/blockMeshDict.m4 (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D3DoF/system/controlDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D3DoF/system/decomposeParDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D3DoF/system/fvSchemes (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D3DoF/system/fvSolution (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D3DoF/system/setFieldsDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D6DoF/0/U (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D6DoF/0/alpha.water.orig (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D6DoF/0/p_rgh (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D6DoF/Allclean (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D6DoF/Allrun (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D6DoF/constant/6DoF.dat (99%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D6DoF/constant/dynamicMeshDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D6DoF/constant/g (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D6DoF/constant/transportProperties (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D6DoF/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D6DoF/gen6DoF/Make/files (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D6DoF/gen6DoF/Make/options (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D6DoF/gen6DoF/gen6DoF.C (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D6DoF/system/blockMeshDict.m4 (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D6DoF/system/controlDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D6DoF/system/decomposeParDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D6DoF/system/fvSchemes (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D6DoF/system/fvSolution (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/sloshingTank3D6DoF/system/setFieldsDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/testTubeMixer/0/U (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/testTubeMixer/0/alpha.water.orig (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/testTubeMixer/0/p_rgh (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/testTubeMixer/Allclean (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/testTubeMixer/Allrun (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/testTubeMixer/constant/dynamicMeshDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/testTubeMixer/constant/g (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/testTubeMixer/constant/transportProperties (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/testTubeMixer/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/testTubeMixer/system/blockMeshDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/testTubeMixer/system/controlDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/testTubeMixer/system/decomposeParDict (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/testTubeMixer/system/fvSchemes (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/testTubeMixer/system/fvSolution (100%)
 rename tutorials/multiphase/interDyMFoam/{ras => RAS}/testTubeMixer/system/setFieldsDict (100%)
 rename tutorials/multiphase/interFoam/{les => LES}/nozzleFlow2D/0/U (100%)
 rename tutorials/multiphase/interFoam/{les => LES}/nozzleFlow2D/0/alpha.fuel (100%)
 rename tutorials/multiphase/interFoam/{les => LES}/nozzleFlow2D/0/data/Ubulk (100%)
 rename tutorials/multiphase/interFoam/{les => LES}/nozzleFlow2D/0/data/ptrace (100%)
 rename tutorials/multiphase/interFoam/{les => LES}/nozzleFlow2D/0/k (100%)
 rename tutorials/multiphase/interFoam/{les => LES}/nozzleFlow2D/0/nuTilda (100%)
 rename tutorials/multiphase/interFoam/{les => LES}/nozzleFlow2D/0/nut (100%)
 rename tutorials/multiphase/interFoam/{les => LES}/nozzleFlow2D/0/p_rgh (100%)
 rename tutorials/multiphase/interFoam/{les => LES}/nozzleFlow2D/Allclean (100%)
 rename tutorials/multiphase/interFoam/{les => LES}/nozzleFlow2D/Allrun (100%)
 rename tutorials/multiphase/interFoam/{les => LES}/nozzleFlow2D/constant/g (100%)
 rename tutorials/multiphase/interFoam/{les => LES}/nozzleFlow2D/constant/transportProperties (100%)
 rename tutorials/multiphase/interFoam/{les => LES}/nozzleFlow2D/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/interFoam/{les => LES}/nozzleFlow2D/system/blockMeshDict (100%)
 rename tutorials/multiphase/interFoam/{les => LES}/nozzleFlow2D/system/controlDict (100%)
 rename tutorials/multiphase/interFoam/{les => LES}/nozzleFlow2D/system/fvSchemes (100%)
 rename tutorials/multiphase/interFoam/{les => LES}/nozzleFlow2D/system/fvSolution (100%)
 rename tutorials/multiphase/interFoam/{les => LES}/nozzleFlow2D/system/refineMeshDict (100%)
 rename tutorials/multiphase/interFoam/{les => LES}/nozzleFlow2D/system/topoSetDict.1 (100%)
 rename tutorials/multiphase/interFoam/{les => LES}/nozzleFlow2D/system/topoSetDict.2 (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/0.orig/U (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/0.orig/alpha.water (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/0.orig/k (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/0.orig/nut (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/0.orig/omega (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/0.orig/p_rgh (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/0.orig/pointDisplacement (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/Allclean (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/Allrun (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/README (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/constant/g (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/constant/hRef (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/constant/transportProperties (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/constant/triSurface/README (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/system/blockMeshDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/system/controlDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/system/decomposeParDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/system/fvSchemes (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/system/fvSolution (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/system/meshQualityDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/system/refineMeshDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/system/setFieldsDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/system/snappyHexMeshDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/system/surfaceFeatureExtractDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/system/topoSetDict.1 (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/system/topoSetDict.2 (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/system/topoSetDict.3 (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/system/topoSetDict.4 (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/system/topoSetDict.5 (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/DTCHull/system/topoSetDict.6 (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/angledDuct/0/U (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/angledDuct/0/alpha.water (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/angledDuct/0/epsilon (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/angledDuct/0/k (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/angledDuct/0/nut (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/angledDuct/0/p_rgh (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/angledDuct/Allrun (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/angledDuct/constant/fvOptions (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/angledDuct/constant/g (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/angledDuct/constant/transportProperties (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/angledDuct/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/angledDuct/system/blockMeshDict.m4 (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/angledDuct/system/controlDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/angledDuct/system/fvSchemes (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/angledDuct/system/fvSolution (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreak/Allclean (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreak/Allrun (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreak/damBreak/0/U (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreak/damBreak/0/alpha.water (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreak/damBreak/0/alpha.water.orig (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreak/damBreak/0/epsilon (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreak/damBreak/0/k (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreak/damBreak/0/nuTilda (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreak/damBreak/0/nut (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreak/damBreak/0/p_rgh (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreak/damBreak/Allclean (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreak/damBreak/Allrun (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreak/damBreak/constant/g (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreak/damBreak/constant/transportProperties (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreak/damBreak/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreak/damBreak/system/blockMeshDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreak/damBreak/system/controlDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreak/damBreak/system/decomposeParDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreak/damBreak/system/fvSchemes (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreak/damBreak/system/fvSolution (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreak/damBreak/system/setFieldsDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreakPorousBaffle/0/U (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreakPorousBaffle/0/alpha.water (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreakPorousBaffle/0/alpha.water.orig (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreakPorousBaffle/0/epsilon (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreakPorousBaffle/0/k (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreakPorousBaffle/0/nuTilda (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreakPorousBaffle/0/nut (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreakPorousBaffle/0/p_rgh (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreakPorousBaffle/Allclean (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreakPorousBaffle/Allrun (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreakPorousBaffle/constant/g (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreakPorousBaffle/constant/transportProperties (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreakPorousBaffle/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreakPorousBaffle/system/blockMeshDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreakPorousBaffle/system/changeDictionaryDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreakPorousBaffle/system/controlDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreakPorousBaffle/system/createBafflesDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreakPorousBaffle/system/fvSchemes (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreakPorousBaffle/system/fvSolution (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreakPorousBaffle/system/setFieldsDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/damBreakPorousBaffle/system/topoSetDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/waterChannel/0/U (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/waterChannel/0/alpha.water.orig (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/waterChannel/0/k (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/waterChannel/0/nut (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/waterChannel/0/omega (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/waterChannel/0/p_rgh (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/waterChannel/Allclean (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/waterChannel/Allmesh (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/waterChannel/Allrun (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/waterChannel/constant/g (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/waterChannel/constant/transportProperties (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/waterChannel/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/waterChannel/system/blockMeshDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/waterChannel/system/controlDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/waterChannel/system/extrudeMeshDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/waterChannel/system/extrudeMeshDict.1 (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/waterChannel/system/extrudeMeshDict.2 (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/waterChannel/system/fvSchemes (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/waterChannel/system/fvSolution (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/waterChannel/system/setFieldsDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/weirOverflow/0.orig/U (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/weirOverflow/0.orig/alpha.water.orig (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/weirOverflow/0.orig/epsilon (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/weirOverflow/0.orig/include/initialConditions (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/weirOverflow/0.orig/k (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/weirOverflow/0.orig/nut (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/weirOverflow/0.orig/p_rgh (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/weirOverflow/Allclean (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/weirOverflow/Allrun (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/weirOverflow/constant/g (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/weirOverflow/constant/transportProperties (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/weirOverflow/constant/turbulenceProperties (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/weirOverflow/system/blockMeshDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/weirOverflow/system/controlDict (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/weirOverflow/system/fvSchemes (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/weirOverflow/system/fvSolution (100%)
 rename tutorials/multiphase/interFoam/{ras => RAS}/weirOverflow/system/setFieldsDict (100%)

diff --git a/tutorials/combustion/XiFoam/ras/Allclean b/tutorials/combustion/XiFoam/RAS/Allclean
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/Allclean
rename to tutorials/combustion/XiFoam/RAS/Allclean
diff --git a/tutorials/combustion/XiFoam/ras/Allrun b/tutorials/combustion/XiFoam/RAS/Allrun
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/Allrun
rename to tutorials/combustion/XiFoam/RAS/Allrun
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/Su b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/Su
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/Su
rename to tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/Su
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/T b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/T
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/T
rename to tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/T
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/Tu b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/Tu
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/Tu
rename to tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/Tu
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/U b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/U
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/U
rename to tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/U
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/Xi b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/Xi
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/Xi
rename to tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/Xi
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/alphat b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/alphat
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/alphat
rename to tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/alphat
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/b b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/b
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/b
rename to tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/b
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/epsilon b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/epsilon
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/epsilon
rename to tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/epsilon
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/ft b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/ft
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/ft
rename to tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/ft
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/fu b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/fu
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/fu
rename to tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/fu
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/k b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/k
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/k
rename to tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/k
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/nut b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/nut
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/nut
rename to tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/nut
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/p b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/p
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/0/p
rename to tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/0/p
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/combustionProperties b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/combustionProperties
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/combustionProperties
rename to tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/combustionProperties
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/thermophysicalProperties b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/thermophysicalProperties
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/thermophysicalProperties
rename to tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/thermophysicalProperties
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/thermophysicalProperties.hydrogen b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/thermophysicalProperties.hydrogen
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/thermophysicalProperties.hydrogen
rename to tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/thermophysicalProperties.hydrogen
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/turbulenceProperties b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/turbulenceProperties
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/constant/turbulenceProperties
rename to tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/turbulenceProperties
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/blockMeshDict b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/blockMeshDict
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/blockMeshDict
rename to tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/blockMeshDict
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/controlDict b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/controlDict
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/controlDict
rename to tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/controlDict
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSchemes b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/fvSchemes
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSchemes
rename to tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/fvSchemes
diff --git a/tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSolution b/tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/fvSolution
similarity index 100%
rename from tutorials/combustion/XiFoam/ras/moriyoshiHomogeneous/system/fvSolution
rename to tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/system/fvSolution
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/C3H8 b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/C3H8
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/C3H8
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/C3H8
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/IDefault b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/IDefault
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/IDefault
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/IDefault
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/N2 b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/N2
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/N2
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/N2
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/O2 b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/O2
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/O2
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/O2
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/T b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/T
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/T
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/T
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/U b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/U
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/U
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/U
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/Ydefault b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/Ydefault
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/Ydefault
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/Ydefault
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/alphat b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/alphat
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/alphat
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/alphat
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/filmRegion/Tf b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/filmRegion/Tf
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/filmRegion/Tf
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/filmRegion/Tf
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/filmRegion/Uf b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/filmRegion/Uf
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/filmRegion/Uf
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/filmRegion/Uf
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/filmRegion/deltaf b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/filmRegion/deltaf
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/filmRegion/deltaf
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/filmRegion/deltaf
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/k b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/k
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/k
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/k
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/nut b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/nut
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/nut
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/nut
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/p b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/p
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/p
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/p
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/p_rgh b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/p_rgh
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/p_rgh
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/p_rgh
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/ph_rgh.orig b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/ph_rgh.orig
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/ph_rgh.orig
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/ph_rgh.orig
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/Qr b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/Qr
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/Qr
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/Qr
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/T b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/T
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/T
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/T
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/Y0Default b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/Y0Default
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/Y0Default
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/Y0Default
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/char b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/char
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/char
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/char
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/p b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/p
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/p
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/p
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/wood b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/wood
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/wood
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/0/pyrolysisRegion/wood
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/Allclean b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/Allclean
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/Allclean
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/Allclean
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/Allrun b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/Allrun
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/Allrun
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/Allrun
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/additionalControls b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/additionalControls
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/additionalControls
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/additionalControls
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/combustionProperties b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/combustionProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/combustionProperties
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/combustionProperties
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/g b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/g
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/g
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/g
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pRef b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pRef
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pRef
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pRef
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/chemistryProperties b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/chemistryProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/chemistryProperties
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/chemistryProperties
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/radiationProperties b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/radiationProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/radiationProperties
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/radiationProperties
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/reactions b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/reactions
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/reactions
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/reactions
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/thermo.solid b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/thermo.solid
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/thermo.solid
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/thermo.solid
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/thermophysicalProperties b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/thermophysicalProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/thermophysicalProperties
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/thermophysicalProperties
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pyrolysisZones b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisZones
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pyrolysisZones
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/pyrolysisZones
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/radiationProperties b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/radiationProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/radiationProperties
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/radiationProperties
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/reactingCloud1Positions b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/reactingCloud1Positions
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/reactingCloud1Positions
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/reactingCloud1Positions
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/reactingCloud1Properties b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/reactingCloud1Properties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/reactingCloud1Properties
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/reactingCloud1Properties
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/reactions b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/reactions
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/reactions
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/reactions
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/surfaceFilmProperties b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/surfaceFilmProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/surfaceFilmProperties
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/surfaceFilmProperties
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/thermo.compressibleGas b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/thermo.compressibleGas
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/thermo.compressibleGas
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/thermo.compressibleGas
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/thermophysicalProperties b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/thermophysicalProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/thermophysicalProperties
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/thermophysicalProperties
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/turbulenceProperties b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/turbulenceProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/turbulenceProperties
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/turbulenceProperties
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/blockMeshDict b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/blockMeshDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/blockMeshDict
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/blockMeshDict
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/controlDict b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/controlDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/controlDict
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/controlDict
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/createPatchDict b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/createPatchDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/createPatchDict
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/createPatchDict
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/extrudeToRegionMeshDictFilm b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/extrudeToRegionMeshDictFilm
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/extrudeToRegionMeshDictFilm
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/extrudeToRegionMeshDictFilm
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/extrudeToRegionMeshDictPyr b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/extrudeToRegionMeshDictPyr
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/extrudeToRegionMeshDictPyr
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/extrudeToRegionMeshDictPyr
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/filmRegion/changeDictionaryDict b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/changeDictionaryDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/filmRegion/changeDictionaryDict
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/changeDictionaryDict
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/filmRegion/createPatchDict b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/createPatchDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/filmRegion/createPatchDict
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/createPatchDict
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/filmRegion/fvSchemes b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/fvSchemes
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/filmRegion/fvSchemes
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/fvSchemes
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/filmRegion/fvSolution b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/fvSolution
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/filmRegion/fvSolution
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/fvSolution
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/filmRegion/topoSetDict b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/topoSetDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/filmRegion/topoSetDict
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/filmRegion/topoSetDict
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/fvSchemes b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/fvSchemes
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/fvSchemes
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/fvSchemes
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/fvSolution b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/fvSolution
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/fvSolution
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/fvSolution
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/pyrolysisRegion/fvSchemes b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/pyrolysisRegion/fvSchemes
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/pyrolysisRegion/fvSchemes
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/pyrolysisRegion/fvSchemes
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/pyrolysisRegion/fvSolution b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/pyrolysisRegion/fvSolution
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/pyrolysisRegion/fvSolution
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/pyrolysisRegion/fvSolution
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/topoSetDict b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/topoSetDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/system/topoSetDict
rename to tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/system/topoSetDict
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/C3H8 b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/C3H8
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/C3H8
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/C3H8
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/G b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/G
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/G
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/G
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/IDefault b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/IDefault
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/IDefault
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/IDefault
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/N2 b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/N2
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/N2
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/N2
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/O2 b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/O2
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/O2
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/O2
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/T b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/T
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/T
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/T
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/U b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/U
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/U
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/U
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/Ydefault b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/Ydefault
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/Ydefault
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/Ydefault
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/alphat b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/alphat
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/alphat
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/alphat
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/k b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/k
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/k
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/k
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/nut b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/nut
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/nut
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/nut
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/p b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/p
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/p
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/p
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/p_rgh b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/p_rgh
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/p_rgh
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/p_rgh
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/panelRegion/Qr b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/panelRegion/Qr
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/panelRegion/Qr
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/panelRegion/Qr
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/panelRegion/T b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/panelRegion/T
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/panelRegion/T
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/panelRegion/T
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/panelRegion/Y0Default b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/panelRegion/Y0Default
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/panelRegion/Y0Default
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/panelRegion/Y0Default
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/panelRegion/char b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/panelRegion/char
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/panelRegion/char
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/panelRegion/char
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/panelRegion/p b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/panelRegion/p
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/panelRegion/p
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/panelRegion/p
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/panelRegion/wood b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/panelRegion/wood
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/panelRegion/wood
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/panelRegion/wood
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/ph_rgh.orig b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/ph_rgh.orig
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/ph_rgh.orig
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/0/ph_rgh.orig
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/Allclean b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/Allclean
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/Allclean
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/Allclean
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/Allrun b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/Allrun
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/Allrun
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/Allrun
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/additionalControls b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/additionalControls
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/additionalControls
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/additionalControls
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/combustionProperties b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/combustionProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/combustionProperties
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/combustionProperties
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/g b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/g
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/g
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/g
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/hRef b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/hRef
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/hRef
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/hRef
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/pRef b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/pRef
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/pRef
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/pRef
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/panelRegion/chemistryProperties b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/chemistryProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/panelRegion/chemistryProperties
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/chemistryProperties
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/panelRegion/radiationProperties b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/radiationProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/panelRegion/radiationProperties
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/radiationProperties
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/panelRegion/reactions b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/reactions
similarity index 99%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/panelRegion/reactions
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/reactions
index ee8b4281db..7fc5f0719b 100644
--- a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/panelRegion/reactions
+++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/reactions
@@ -20,4 +20,3 @@ reactions
         Tcrit       400;
     }
 }
-
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/panelRegion/thermo.solid b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/thermo.solid
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/panelRegion/thermo.solid
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/thermo.solid
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/panelRegion/thermophysicalProperties b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/thermophysicalProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/panelRegion/thermophysicalProperties
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/panelRegion/thermophysicalProperties
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/pyrolysisZones b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/pyrolysisZones
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/pyrolysisZones
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/pyrolysisZones
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/radiationProperties b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/radiationProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/radiationProperties
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/radiationProperties
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/reactingCloud1Properties b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/reactingCloud1Properties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/reactingCloud1Properties
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/reactingCloud1Properties
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/reactions b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/reactions
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/reactions
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/reactions
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/surfaceFilmProperties b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/surfaceFilmProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/surfaceFilmProperties
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/surfaceFilmProperties
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/thermo.compressibleGas b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/thermo.compressibleGas
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/thermo.compressibleGas
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/thermo.compressibleGas
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/thermophysicalProperties b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/thermophysicalProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/thermophysicalProperties
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/thermophysicalProperties
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/turbulenceProperties b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/turbulenceProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/turbulenceProperties
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/turbulenceProperties
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/blockMeshDict b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/blockMeshDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/blockMeshDict
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/blockMeshDict
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/cRefine.topoSetDict b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/cRefine.topoSetDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/cRefine.topoSetDict
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/cRefine.topoSetDict
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/controlDict b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/controlDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/controlDict
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/controlDict
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/createPatchDict b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/createPatchDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/createPatchDict
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/createPatchDict
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/decomposeParDict b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/decomposeParDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/decomposeParDict
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/decomposeParDict
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/extrudeToRegionMeshDict b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/extrudeToRegionMeshDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/extrudeToRegionMeshDict
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/extrudeToRegionMeshDict
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/f.topoSetDict b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/f.topoSetDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/f.topoSetDict
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/f.topoSetDict
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/fBurner.topoSetDict b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/fBurner.topoSetDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/fBurner.topoSetDict
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/fBurner.topoSetDict
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/fvSchemes b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/fvSchemes
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/fvSchemes
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/fvSchemes
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/fvSolution b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/fvSolution
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/fvSolution
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/fvSolution
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/panelRegion/decomposeParDict b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/panelRegion/decomposeParDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/panelRegion/decomposeParDict
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/panelRegion/decomposeParDict
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/panelRegion/fvSchemes b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/panelRegion/fvSchemes
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/panelRegion/fvSchemes
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/panelRegion/fvSchemes
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/panelRegion/fvSolution b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/panelRegion/fvSolution
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/panelRegion/fvSolution
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/panelRegion/fvSolution
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/refineMeshDict b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/refineMeshDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/oppositeBurningPanels/system/refineMeshDict
rename to tutorials/combustion/fireFoam/LES/oppositeBurningPanels/system/refineMeshDict
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/CH4 b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/CH4
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/0/CH4
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/CH4
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/FSDomega b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/FSDomega
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/0/FSDomega
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/FSDomega
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/G b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/G
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/0/G
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/G
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/IDefault b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/IDefault
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/0/IDefault
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/IDefault
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/N2 b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/N2
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/0/N2
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/N2
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/O2 b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/O2
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/0/O2
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/O2
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/T b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/T
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/0/T
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/T
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/U b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/U
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/0/U
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/U
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/Ydefault b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/Ydefault
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/0/Ydefault
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/Ydefault
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/alphat b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/alphat
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/0/alphat
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/alphat
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/k b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/k
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/0/k
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/k
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/nut b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/nut
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/0/nut
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/nut
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/p b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/p
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/0/p
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/p
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/p_rgh b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/p_rgh
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/0/p_rgh
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/p_rgh
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/ph_rgh.orig b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/ph_rgh.orig
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/0/ph_rgh.orig
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/ph_rgh.orig
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/soot b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/soot
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/0/soot
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/0/soot
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/Allclean b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/Allclean
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/Allclean
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/Allclean
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/Allrun b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/Allrun
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/Allrun
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/Allrun
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/additionalControls b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/additionalControls
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/additionalControls
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/additionalControls
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/combustionProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/combustionProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/combustionProperties
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/combustionProperties
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/g b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/g
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/g
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/g
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/hRef b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/hRef
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/hRef
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/hRef
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/pRef b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/pRef
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/pRef
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/pRef
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/pyrolysisZones b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/pyrolysisZones
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/pyrolysisZones
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/pyrolysisZones
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/radiationProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/radiationProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/radiationProperties
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/radiationProperties
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/reactingCloud1Properties b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/reactingCloud1Properties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/reactingCloud1Properties
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/reactingCloud1Properties
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/reactions b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/reactions
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/reactions
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/reactions
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/surfaceFilmProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/surfaceFilmProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/surfaceFilmProperties
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/surfaceFilmProperties
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/thermo.compressibleGas b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/thermo.compressibleGas
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/thermo.compressibleGas
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/thermo.compressibleGas
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/thermophysicalProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/thermophysicalProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/thermophysicalProperties
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/thermophysicalProperties
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/turbulenceProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/turbulenceProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/turbulenceProperties
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/turbulenceProperties
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/blockMeshDict b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/blockMeshDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/system/blockMeshDict
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/blockMeshDict
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/controlDict b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/controlDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/system/controlDict
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/controlDict
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/createPatchDict b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/createPatchDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/system/createPatchDict
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/createPatchDict
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/fvSchemes b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/fvSchemes
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/system/fvSchemes
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/fvSchemes
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/fvSolution b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/fvSolution
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/system/fvSolution
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/fvSolution
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/system/topoSetDict b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/topoSetDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire2D/system/topoSetDict
rename to tutorials/combustion/fireFoam/LES/smallPoolFire2D/system/topoSetDict
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/CH4 b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/CH4
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/0/CH4
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/CH4
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/G b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/G
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/0/G
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/G
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/IDefault b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/IDefault
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/0/IDefault
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/IDefault
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/N2 b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/N2
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/0/N2
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/N2
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/O2 b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/O2
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/0/O2
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/O2
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/T b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/T
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/0/T
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/T
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/U b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/U
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/0/U
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/U
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/Ydefault b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/Ydefault
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/0/Ydefault
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/Ydefault
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/alphat b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/alphat
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/0/alphat
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/alphat
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/k b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/k
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/0/k
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/k
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/nut b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/nut
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/0/nut
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/nut
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/p b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/p
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/0/p
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/p
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/p_rgh b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/p_rgh
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/0/p_rgh
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/p_rgh
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/ph_rgh.orig b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/ph_rgh.orig
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/0/ph_rgh.orig
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/0/ph_rgh.orig
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/Allclean b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/Allclean
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/Allclean
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/Allclean
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/Allrun b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/Allrun
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/Allrun
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/Allrun
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/additionalControls b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/additionalControls
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/additionalControls
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/additionalControls
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/chemistryProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/chemistryProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/chemistryProperties
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/chemistryProperties
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/combustionProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/combustionProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/combustionProperties
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/combustionProperties
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/g b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/g
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/g
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/g
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/hRef b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/hRef
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/hRef
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/hRef
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/pRef b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/pRef
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/pRef
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/pRef
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/pyrolysisZones b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/pyrolysisZones
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/pyrolysisZones
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/pyrolysisZones
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/radiationProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/radiationProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/radiationProperties
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/radiationProperties
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/reactingCloud1Properties b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/reactingCloud1Properties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/reactingCloud1Properties
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/reactingCloud1Properties
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/reactions b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/reactions
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/reactions
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/reactions
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/surfaceFilmProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/surfaceFilmProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/surfaceFilmProperties
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/surfaceFilmProperties
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/thermo.compressibleGas b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/thermo.compressibleGas
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/thermo.compressibleGas
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/thermo.compressibleGas
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/thermophysicalProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/thermophysicalProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/thermophysicalProperties
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/thermophysicalProperties
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/turbulenceProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/turbulenceProperties
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/turbulenceProperties
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/turbulenceProperties
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/blockMeshDict b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/blockMeshDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/system/blockMeshDict
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/blockMeshDict
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/controlDict b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/controlDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/system/controlDict
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/controlDict
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/createPatchDict b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/createPatchDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/system/createPatchDict
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/createPatchDict
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/decomposeParDict b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/decomposeParDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/system/decomposeParDict
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/decomposeParDict
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/fvSchemes b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/fvSchemes
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/system/fvSchemes
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/fvSchemes
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/fvSolution b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/fvSolution
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/system/fvSolution
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/fvSolution
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/system/topoSetDict b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/topoSetDict
similarity index 100%
rename from tutorials/combustion/fireFoam/les/smallPoolFire3D/system/topoSetDict
rename to tutorials/combustion/fireFoam/LES/smallPoolFire3D/system/topoSetDict
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/T b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/T
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/T
rename to tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/T
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/U b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/U
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/U
rename to tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/U
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/alphat b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/alphat
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/alphat
rename to tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/alphat
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/k b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/k
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/k
rename to tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/k
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/muTilda b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/muTilda
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/muTilda
rename to tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/muTilda
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/nut b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/nut
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/nut
rename to tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/nut
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/p b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/p
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/les/pitzDaily/0/p
rename to tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/0/p
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/constant/thermophysicalProperties
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/thermophysicalProperties
rename to tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/constant/thermophysicalProperties
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/constant/turbulenceProperties
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/les/pitzDaily/constant/turbulenceProperties
rename to tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/constant/turbulenceProperties
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/system/blockMeshDict b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/blockMeshDict
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/les/pitzDaily/system/blockMeshDict
rename to tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/blockMeshDict
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/system/controlDict b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/controlDict
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/les/pitzDaily/system/controlDict
rename to tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/controlDict
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/fvSchemes
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/les/pitzDaily/system/fvSchemes
rename to tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/fvSchemes
diff --git a/tutorials/compressible/rhoPimpleFoam/les/pitzDaily/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/fvSolution
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/les/pitzDaily/system/fvSolution
rename to tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/fvSolution
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/T b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0/T
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/T
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0/T
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/U b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0/U
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/U
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0/U
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/alphat b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0/alphat
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/alphat
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0/alphat
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/epsilon b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0/epsilon
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/epsilon
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0/epsilon
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/k b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0/k
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/k
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0/k
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/nut b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0/nut
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/nut
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0/nut
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/p b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0/p
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuct/0/p
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/0/p
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/Allrun b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/Allrun
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuct/Allrun
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/Allrun
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/fvOptions b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/constant/fvOptions
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/fvOptions
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/constant/fvOptions
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/constant/thermophysicalProperties
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/thermophysicalProperties
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/constant/thermophysicalProperties
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/constant/turbulenceProperties
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuct/constant/turbulenceProperties
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/constant/turbulenceProperties
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/system/blockMeshDict.m4 b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/blockMeshDict.m4
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuct/system/blockMeshDict.m4
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/blockMeshDict.m4
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/system/controlDict b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/controlDict
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuct/system/controlDict
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/controlDict
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/fvSchemes
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuct/system/fvSchemes
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/fvSchemes
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuct/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/fvSolution
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuct/system/fvSolution
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/system/fvSolution
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/0/T b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0/T
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/0/T
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0/T
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/0/U b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0/U
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/0/U
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0/U
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/0/alphat b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0/alphat
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/0/alphat
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0/alphat
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/0/epsilon b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0/epsilon
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/0/epsilon
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0/epsilon
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/0/k b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0/k
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/0/k
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0/k
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/0/nut b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0/nut
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/0/nut
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0/nut
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/0/p b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0/p
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/0/p
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/0/p
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/Allrun b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/Allrun
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/Allrun
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/Allrun
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/constant/fvOptions b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/constant/fvOptions
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/constant/fvOptions
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/constant/fvOptions
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/constant/thermophysicalProperties
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/constant/thermophysicalProperties
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/constant/thermophysicalProperties
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/constant/turbulenceProperties
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/constant/turbulenceProperties
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/constant/turbulenceProperties
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/system/blockMeshDict.m4 b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/blockMeshDict.m4
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/system/blockMeshDict.m4
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/blockMeshDict.m4
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/system/controlDict b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/controlDict
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/system/controlDict
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/controlDict
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/fvSchemes
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/system/fvSchemes
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/fvSchemes
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/fvSolution
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/angledDuctLTS/system/fvSolution
rename to tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/system/fvSolution
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/T b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/T
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/cavity/0/T
rename to tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/T
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/U b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/U
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/cavity/0/U
rename to tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/U
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/alphat b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/alphat
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/cavity/0/alphat
rename to tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/alphat
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/epsilon b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/epsilon
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/cavity/0/epsilon
rename to tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/epsilon
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/k b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/k
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/cavity/0/k
rename to tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/k
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/nut b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/nut
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/cavity/0/nut
rename to tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/nut
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/omega b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/omega
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/cavity/0/omega
rename to tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/omega
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/p b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/p
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/cavity/0/p
rename to tutorials/compressible/rhoPimpleFoam/RAS/cavity/0/p
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/constant/thermophysicalProperties
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/cavity/constant/thermophysicalProperties
rename to tutorials/compressible/rhoPimpleFoam/RAS/cavity/constant/thermophysicalProperties
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/constant/turbulenceProperties
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/cavity/constant/turbulenceProperties
rename to tutorials/compressible/rhoPimpleFoam/RAS/cavity/constant/turbulenceProperties
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/system/blockMeshDict b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/blockMeshDict
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/cavity/system/blockMeshDict
rename to tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/blockMeshDict
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/system/controlDict b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/controlDict
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/cavity/system/controlDict
rename to tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/controlDict
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/fvSchemes
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/cavity/system/fvSchemes
rename to tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/fvSchemes
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/fvSolution
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/cavity/system/fvSolution
rename to tutorials/compressible/rhoPimpleFoam/RAS/cavity/system/fvSolution
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/T b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0/T
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/T
rename to tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0/T
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/U b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0/U
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/U
rename to tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0/U
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/alphat b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0/alphat
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/alphat
rename to tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0/alphat
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/epsilon b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0/epsilon
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/epsilon
rename to tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0/epsilon
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/k b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0/k
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/k
rename to tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0/k
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/nut b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0/nut
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/nut
rename to tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0/nut
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/p b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0/p
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/0/p
rename to tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/0/p
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/Allrun b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/Allrun
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/Allrun
rename to tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/Allrun
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/MRFProperties b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/MRFProperties
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/MRFProperties
rename to tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/MRFProperties
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/fvOptions b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/fvOptions
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/fvOptions
rename to tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/fvOptions
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/thermophysicalProperties
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/thermophysicalProperties
rename to tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/thermophysicalProperties
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/transportProperties b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/transportProperties
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/transportProperties
rename to tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/transportProperties
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/turbulenceProperties
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/constant/turbulenceProperties
rename to tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/turbulenceProperties
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/makeMesh b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/makeMesh
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/makeMesh
rename to tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/makeMesh
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/blockMeshDict.m4 b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/blockMeshDict.m4
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/blockMeshDict.m4
rename to tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/blockMeshDict.m4
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/controlDict b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/controlDict
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/controlDict
rename to tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/controlDict
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/fvSchemes
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/fvSchemes
rename to tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/fvSchemes
diff --git a/tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/fvSolution
similarity index 100%
rename from tutorials/compressible/rhoPimpleFoam/ras/mixerVessel2D/system/fvSolution
rename to tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/fvSolution
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/T b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0/T
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/T
rename to tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0/T
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/U b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0/U
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/U
rename to tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0/U
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/alphat b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0/alphat
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/alphat
rename to tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0/alphat
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/epsilon b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0/epsilon
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/epsilon
rename to tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0/epsilon
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/k b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0/k
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/k
rename to tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0/k
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/nut b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0/nut
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/nut
rename to tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0/nut
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/p b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0/p
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/nacaAirfoil/0/p
rename to tutorials/compressible/sonicFoam/RAS/nacaAirfoil/0/p
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/Allclean b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/Allclean
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/nacaAirfoil/Allclean
rename to tutorials/compressible/sonicFoam/RAS/nacaAirfoil/Allclean
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/Allrun b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/Allrun
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/nacaAirfoil/Allrun
rename to tutorials/compressible/sonicFoam/RAS/nacaAirfoil/Allrun
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/Running_Notes b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/Running_Notes
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/nacaAirfoil/Running_Notes
rename to tutorials/compressible/sonicFoam/RAS/nacaAirfoil/Running_Notes
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/thermophysicalProperties b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/constant/thermophysicalProperties
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/thermophysicalProperties
rename to tutorials/compressible/sonicFoam/RAS/nacaAirfoil/constant/thermophysicalProperties
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/turbulenceProperties b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/constant/turbulenceProperties
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/nacaAirfoil/constant/turbulenceProperties
rename to tutorials/compressible/sonicFoam/RAS/nacaAirfoil/constant/turbulenceProperties
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/prostar/nacaAirfoil.bnd.gz b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/prostar/nacaAirfoil.bnd.gz
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/nacaAirfoil/prostar/nacaAirfoil.bnd.gz
rename to tutorials/compressible/sonicFoam/RAS/nacaAirfoil/prostar/nacaAirfoil.bnd.gz
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/prostar/nacaAirfoil.cel.gz b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/prostar/nacaAirfoil.cel.gz
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/nacaAirfoil/prostar/nacaAirfoil.cel.gz
rename to tutorials/compressible/sonicFoam/RAS/nacaAirfoil/prostar/nacaAirfoil.cel.gz
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/prostar/nacaAirfoil.vrt.gz b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/prostar/nacaAirfoil.vrt.gz
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/nacaAirfoil/prostar/nacaAirfoil.vrt.gz
rename to tutorials/compressible/sonicFoam/RAS/nacaAirfoil/prostar/nacaAirfoil.vrt.gz
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/controlDict b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/controlDict
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/controlDict
rename to tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/controlDict
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/fvSchemes b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/fvSchemes
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/fvSchemes
rename to tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/fvSchemes
diff --git a/tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/fvSolution b/tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/fvSolution
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/nacaAirfoil/system/fvSolution
rename to tutorials/compressible/sonicFoam/RAS/nacaAirfoil/system/fvSolution
diff --git a/tutorials/compressible/sonicFoam/ras/prism/0/T b/tutorials/compressible/sonicFoam/RAS/prism/0/T
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/prism/0/T
rename to tutorials/compressible/sonicFoam/RAS/prism/0/T
diff --git a/tutorials/compressible/sonicFoam/ras/prism/0/U b/tutorials/compressible/sonicFoam/RAS/prism/0/U
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/prism/0/U
rename to tutorials/compressible/sonicFoam/RAS/prism/0/U
diff --git a/tutorials/compressible/sonicFoam/ras/prism/0/alphat b/tutorials/compressible/sonicFoam/RAS/prism/0/alphat
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/prism/0/alphat
rename to tutorials/compressible/sonicFoam/RAS/prism/0/alphat
diff --git a/tutorials/compressible/sonicFoam/ras/prism/0/epsilon b/tutorials/compressible/sonicFoam/RAS/prism/0/epsilon
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/prism/0/epsilon
rename to tutorials/compressible/sonicFoam/RAS/prism/0/epsilon
diff --git a/tutorials/compressible/sonicFoam/ras/prism/0/k b/tutorials/compressible/sonicFoam/RAS/prism/0/k
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/prism/0/k
rename to tutorials/compressible/sonicFoam/RAS/prism/0/k
diff --git a/tutorials/compressible/sonicFoam/ras/prism/0/nut b/tutorials/compressible/sonicFoam/RAS/prism/0/nut
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/prism/0/nut
rename to tutorials/compressible/sonicFoam/RAS/prism/0/nut
diff --git a/tutorials/compressible/sonicFoam/ras/prism/0/p b/tutorials/compressible/sonicFoam/RAS/prism/0/p
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/prism/0/p
rename to tutorials/compressible/sonicFoam/RAS/prism/0/p
diff --git a/tutorials/compressible/sonicFoam/ras/prism/constant/thermophysicalProperties b/tutorials/compressible/sonicFoam/RAS/prism/constant/thermophysicalProperties
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/prism/constant/thermophysicalProperties
rename to tutorials/compressible/sonicFoam/RAS/prism/constant/thermophysicalProperties
diff --git a/tutorials/compressible/sonicFoam/ras/prism/constant/turbulenceProperties b/tutorials/compressible/sonicFoam/RAS/prism/constant/turbulenceProperties
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/prism/constant/turbulenceProperties
rename to tutorials/compressible/sonicFoam/RAS/prism/constant/turbulenceProperties
diff --git a/tutorials/compressible/sonicFoam/ras/prism/system/blockMeshDict b/tutorials/compressible/sonicFoam/RAS/prism/system/blockMeshDict
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/prism/system/blockMeshDict
rename to tutorials/compressible/sonicFoam/RAS/prism/system/blockMeshDict
diff --git a/tutorials/compressible/sonicFoam/ras/prism/system/controlDict b/tutorials/compressible/sonicFoam/RAS/prism/system/controlDict
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/prism/system/controlDict
rename to tutorials/compressible/sonicFoam/RAS/prism/system/controlDict
diff --git a/tutorials/compressible/sonicFoam/ras/prism/system/fvSchemes b/tutorials/compressible/sonicFoam/RAS/prism/system/fvSchemes
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/prism/system/fvSchemes
rename to tutorials/compressible/sonicFoam/RAS/prism/system/fvSchemes
diff --git a/tutorials/compressible/sonicFoam/ras/prism/system/fvSolution b/tutorials/compressible/sonicFoam/RAS/prism/system/fvSolution
similarity index 100%
rename from tutorials/compressible/sonicFoam/ras/prism/system/fvSolution
rename to tutorials/compressible/sonicFoam/RAS/prism/system/fvSolution
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/Allclean b/tutorials/incompressible/pisoFoam/LES/motorBike/Allclean
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/Allclean
rename to tutorials/incompressible/pisoFoam/LES/motorBike/Allclean
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/Allrun b/tutorials/incompressible/pisoFoam/LES/motorBike/Allrun
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/Allrun
rename to tutorials/incompressible/pisoFoam/LES/motorBike/Allrun
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/Allrun b/tutorials/incompressible/pisoFoam/LES/motorBike/lesFiles/Allrun
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/Allrun
rename to tutorials/incompressible/pisoFoam/LES/motorBike/lesFiles/Allrun
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/controlDict b/tutorials/incompressible/pisoFoam/LES/motorBike/lesFiles/controlDict
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/controlDict
rename to tutorials/incompressible/pisoFoam/LES/motorBike/lesFiles/controlDict
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/fvSchemes b/tutorials/incompressible/pisoFoam/LES/motorBike/lesFiles/fvSchemes
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/fvSchemes
rename to tutorials/incompressible/pisoFoam/LES/motorBike/lesFiles/fvSchemes
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/fvSolution b/tutorials/incompressible/pisoFoam/LES/motorBike/lesFiles/fvSolution
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/fvSolution
rename to tutorials/incompressible/pisoFoam/LES/motorBike/lesFiles/fvSolution
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/turbulenceProperties b/tutorials/incompressible/pisoFoam/LES/motorBike/lesFiles/turbulenceProperties
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/turbulenceProperties
rename to tutorials/incompressible/pisoFoam/LES/motorBike/lesFiles/turbulenceProperties
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.orig/U b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/0.orig/U
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.orig/U
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/0.orig/U
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.orig/include/fixedInlet b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/0.orig/include/fixedInlet
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.orig/include/fixedInlet
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/0.orig/include/fixedInlet
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.orig/include/frontBackUpperPatches b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/0.orig/include/frontBackUpperPatches
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.orig/include/frontBackUpperPatches
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/0.orig/include/frontBackUpperPatches
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.orig/include/initialConditions b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/0.orig/include/initialConditions
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.orig/include/initialConditions
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/0.orig/include/initialConditions
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.orig/k b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/0.orig/k
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.orig/k
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/0.orig/k
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.orig/nuTilda b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/0.orig/nuTilda
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.orig/nuTilda
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/0.orig/nuTilda
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.orig/nut b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/0.orig/nut
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.orig/nut
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/0.orig/nut
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.orig/p b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/0.orig/p
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/0.orig/p
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/0.orig/p
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/Allclean b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/Allclean
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/Allclean
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/Allclean
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/Allrun b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/Allrun
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/Allrun
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/Allrun
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/blockMeshDict.8pSmall b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/constant/polyMesh/blockMeshDict.8pSmall
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/polyMesh/blockMeshDict.8pSmall
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/constant/polyMesh/blockMeshDict.8pSmall
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/transportProperties b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/constant/transportProperties
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/transportProperties
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/constant/transportProperties
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/triSurface/README b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/constant/triSurface/README
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/triSurface/README
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/constant/triSurface/README
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/turbulenceProperties b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/constant/turbulenceProperties
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/constant/turbulenceProperties
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/constant/turbulenceProperties
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/blockMeshDict b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/blockMeshDict
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/blockMeshDict
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/blockMeshDict
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/controlDict b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/controlDict
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/controlDict
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/controlDict
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/cuttingPlane b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/cuttingPlane
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/cuttingPlane
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/cuttingPlane
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/decomposeParDict b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/decomposeParDict
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/decomposeParDict
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/decomposeParDict
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/decomposeParDict.hierarchical b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/decomposeParDict.hierarchical
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/decomposeParDict.hierarchical
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/decomposeParDict.hierarchical
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/decomposeParDict.ptscotch b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/decomposeParDict.ptscotch
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/decomposeParDict.ptscotch
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/decomposeParDict.ptscotch
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/forceCoeffs b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/forceCoeffs
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/forceCoeffs
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/forceCoeffs
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/fvSchemes b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/fvSchemes
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/fvSchemes
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/fvSchemes
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/fvSolution b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/fvSolution
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/fvSolution
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/fvSolution
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/snappyHexMeshDict b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/snappyHexMeshDict
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/snappyHexMeshDict
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/snappyHexMeshDict
diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/streamLines b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/streamLines
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/streamLines
rename to tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/streamLines
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/0/U b/tutorials/incompressible/pisoFoam/LES/pitzDaily/0/U
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDaily/0/U
rename to tutorials/incompressible/pisoFoam/LES/pitzDaily/0/U
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/0/k b/tutorials/incompressible/pisoFoam/LES/pitzDaily/0/k
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDaily/0/k
rename to tutorials/incompressible/pisoFoam/LES/pitzDaily/0/k
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/0/nuTilda b/tutorials/incompressible/pisoFoam/LES/pitzDaily/0/nuTilda
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDaily/0/nuTilda
rename to tutorials/incompressible/pisoFoam/LES/pitzDaily/0/nuTilda
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/0/nut b/tutorials/incompressible/pisoFoam/LES/pitzDaily/0/nut
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDaily/0/nut
rename to tutorials/incompressible/pisoFoam/LES/pitzDaily/0/nut
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/0/p b/tutorials/incompressible/pisoFoam/LES/pitzDaily/0/p
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDaily/0/p
rename to tutorials/incompressible/pisoFoam/LES/pitzDaily/0/p
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/0/s b/tutorials/incompressible/pisoFoam/LES/pitzDaily/0/s
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDaily/0/s
rename to tutorials/incompressible/pisoFoam/LES/pitzDaily/0/s
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/transportProperties b/tutorials/incompressible/pisoFoam/LES/pitzDaily/constant/transportProperties
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDaily/constant/transportProperties
rename to tutorials/incompressible/pisoFoam/LES/pitzDaily/constant/transportProperties
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/constant/turbulenceProperties b/tutorials/incompressible/pisoFoam/LES/pitzDaily/constant/turbulenceProperties
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDaily/constant/turbulenceProperties
rename to tutorials/incompressible/pisoFoam/LES/pitzDaily/constant/turbulenceProperties
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/system/blockMeshDict b/tutorials/incompressible/pisoFoam/LES/pitzDaily/system/blockMeshDict
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDaily/system/blockMeshDict
rename to tutorials/incompressible/pisoFoam/LES/pitzDaily/system/blockMeshDict
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/system/controlDict b/tutorials/incompressible/pisoFoam/LES/pitzDaily/system/controlDict
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDaily/system/controlDict
rename to tutorials/incompressible/pisoFoam/LES/pitzDaily/system/controlDict
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSchemes b/tutorials/incompressible/pisoFoam/LES/pitzDaily/system/fvSchemes
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSchemes
rename to tutorials/incompressible/pisoFoam/LES/pitzDaily/system/fvSchemes
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSolution b/tutorials/incompressible/pisoFoam/LES/pitzDaily/system/fvSolution
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSolution
rename to tutorials/incompressible/pisoFoam/LES/pitzDaily/system/fvSolution
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/0/U b/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/0/U
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDailyMapped/0/U
rename to tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/0/U
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/0/k b/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/0/k
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDailyMapped/0/k
rename to tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/0/k
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/0/nuTilda b/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/0/nuTilda
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDailyMapped/0/nuTilda
rename to tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/0/nuTilda
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/0/nut b/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/0/nut
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDailyMapped/0/nut
rename to tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/0/nut
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/0/p b/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/0/p
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDailyMapped/0/p
rename to tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/0/p
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/constant/transportProperties b/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/constant/transportProperties
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDailyMapped/constant/transportProperties
rename to tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/constant/transportProperties
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/constant/turbulenceProperties b/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/constant/turbulenceProperties
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDailyMapped/constant/turbulenceProperties
rename to tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/constant/turbulenceProperties
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/blockMeshDict b/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/system/blockMeshDict
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/blockMeshDict
rename to tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/system/blockMeshDict
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/controlDict b/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/system/controlDict
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/controlDict
rename to tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/system/controlDict
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/decomposeParDict b/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/system/decomposeParDict
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/decomposeParDict
rename to tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/system/decomposeParDict
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/fvSchemes b/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/system/fvSchemes
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/fvSchemes
rename to tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/system/fvSchemes
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/fvSolution b/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/system/fvSolution
similarity index 100%
rename from tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/fvSolution
rename to tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/system/fvSolution
diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/0/U b/tutorials/incompressible/pisoFoam/RAS/cavity/0/U
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavity/0/U
rename to tutorials/incompressible/pisoFoam/RAS/cavity/0/U
diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/0/epsilon b/tutorials/incompressible/pisoFoam/RAS/cavity/0/epsilon
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavity/0/epsilon
rename to tutorials/incompressible/pisoFoam/RAS/cavity/0/epsilon
diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/0/k b/tutorials/incompressible/pisoFoam/RAS/cavity/0/k
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavity/0/k
rename to tutorials/incompressible/pisoFoam/RAS/cavity/0/k
diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/0/nuTilda b/tutorials/incompressible/pisoFoam/RAS/cavity/0/nuTilda
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavity/0/nuTilda
rename to tutorials/incompressible/pisoFoam/RAS/cavity/0/nuTilda
diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/0/nut b/tutorials/incompressible/pisoFoam/RAS/cavity/0/nut
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavity/0/nut
rename to tutorials/incompressible/pisoFoam/RAS/cavity/0/nut
diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/0/omega b/tutorials/incompressible/pisoFoam/RAS/cavity/0/omega
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavity/0/omega
rename to tutorials/incompressible/pisoFoam/RAS/cavity/0/omega
diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/0/p b/tutorials/incompressible/pisoFoam/RAS/cavity/0/p
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavity/0/p
rename to tutorials/incompressible/pisoFoam/RAS/cavity/0/p
diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/constant/transportProperties b/tutorials/incompressible/pisoFoam/RAS/cavity/constant/transportProperties
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavity/constant/transportProperties
rename to tutorials/incompressible/pisoFoam/RAS/cavity/constant/transportProperties
diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/constant/turbulenceProperties b/tutorials/incompressible/pisoFoam/RAS/cavity/constant/turbulenceProperties
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavity/constant/turbulenceProperties
rename to tutorials/incompressible/pisoFoam/RAS/cavity/constant/turbulenceProperties
diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/system/blockMeshDict b/tutorials/incompressible/pisoFoam/RAS/cavity/system/blockMeshDict
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavity/system/blockMeshDict
rename to tutorials/incompressible/pisoFoam/RAS/cavity/system/blockMeshDict
diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/system/controlDict b/tutorials/incompressible/pisoFoam/RAS/cavity/system/controlDict
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavity/system/controlDict
rename to tutorials/incompressible/pisoFoam/RAS/cavity/system/controlDict
diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSchemes b/tutorials/incompressible/pisoFoam/RAS/cavity/system/fvSchemes
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavity/system/fvSchemes
rename to tutorials/incompressible/pisoFoam/RAS/cavity/system/fvSchemes
diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSolution b/tutorials/incompressible/pisoFoam/RAS/cavity/system/fvSolution
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavity/system/fvSolution
rename to tutorials/incompressible/pisoFoam/RAS/cavity/system/fvSolution
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/U b/tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/0/U
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/U
rename to tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/0/U
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/epsilon b/tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/0/epsilon
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/epsilon
rename to tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/0/epsilon
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/k b/tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/0/k
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/k
rename to tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/0/k
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/nuTilda b/tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/0/nuTilda
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/nuTilda
rename to tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/0/nuTilda
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/nut b/tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/0/nut
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/nut
rename to tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/0/nut
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/p b/tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/0/p
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavityCoupledU/0/p
rename to tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/0/p
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/transportProperties b/tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/constant/transportProperties
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/transportProperties
rename to tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/constant/transportProperties
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/turbulenceProperties b/tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/constant/turbulenceProperties
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavityCoupledU/constant/turbulenceProperties
rename to tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/constant/turbulenceProperties
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/blockMeshDict b/tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/system/blockMeshDict
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/blockMeshDict
rename to tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/system/blockMeshDict
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/controlDict b/tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/system/controlDict
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/controlDict
rename to tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/system/controlDict
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/fvSchemes b/tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/system/fvSchemes
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/fvSchemes
rename to tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/system/fvSchemes
diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/fvSolution b/tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/system/fvSolution
similarity index 100%
rename from tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/fvSolution
rename to tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/system/fvSolution
diff --git a/tutorials/multiphase/cavitatingFoam/les/Allrun b/tutorials/multiphase/cavitatingFoam/LES/Allrun
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/Allrun
rename to tutorials/multiphase/cavitatingFoam/LES/Allrun
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/0/U b/tutorials/multiphase/cavitatingFoam/LES/throttle/0/U
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle/0/U
rename to tutorials/multiphase/cavitatingFoam/LES/throttle/0/U
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/0/alpha.vapour b/tutorials/multiphase/cavitatingFoam/LES/throttle/0/alpha.vapour
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle/0/alpha.vapour
rename to tutorials/multiphase/cavitatingFoam/LES/throttle/0/alpha.vapour
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/0/k b/tutorials/multiphase/cavitatingFoam/LES/throttle/0/k
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle/0/k
rename to tutorials/multiphase/cavitatingFoam/LES/throttle/0/k
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/0/nut b/tutorials/multiphase/cavitatingFoam/LES/throttle/0/nut
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle/0/nut
rename to tutorials/multiphase/cavitatingFoam/LES/throttle/0/nut
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/0/p b/tutorials/multiphase/cavitatingFoam/LES/throttle/0/p
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle/0/p
rename to tutorials/multiphase/cavitatingFoam/LES/throttle/0/p
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/0/rho b/tutorials/multiphase/cavitatingFoam/LES/throttle/0/rho
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle/0/rho
rename to tutorials/multiphase/cavitatingFoam/LES/throttle/0/rho
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/Allclean b/tutorials/multiphase/cavitatingFoam/LES/throttle/Allclean
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle/Allclean
rename to tutorials/multiphase/cavitatingFoam/LES/throttle/Allclean
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/Allrun b/tutorials/multiphase/cavitatingFoam/LES/throttle/Allrun
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle/Allrun
rename to tutorials/multiphase/cavitatingFoam/LES/throttle/Allrun
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/constant/thermodynamicProperties b/tutorials/multiphase/cavitatingFoam/LES/throttle/constant/thermodynamicProperties
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle/constant/thermodynamicProperties
rename to tutorials/multiphase/cavitatingFoam/LES/throttle/constant/thermodynamicProperties
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/constant/transportProperties b/tutorials/multiphase/cavitatingFoam/LES/throttle/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle/constant/transportProperties
rename to tutorials/multiphase/cavitatingFoam/LES/throttle/constant/transportProperties
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/constant/turbulenceProperties b/tutorials/multiphase/cavitatingFoam/LES/throttle/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle/constant/turbulenceProperties
rename to tutorials/multiphase/cavitatingFoam/LES/throttle/constant/turbulenceProperties
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/system/blockMeshDict b/tutorials/multiphase/cavitatingFoam/LES/throttle/system/blockMeshDict
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle/system/blockMeshDict
rename to tutorials/multiphase/cavitatingFoam/LES/throttle/system/blockMeshDict
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/system/controlDict b/tutorials/multiphase/cavitatingFoam/LES/throttle/system/controlDict
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle/system/controlDict
rename to tutorials/multiphase/cavitatingFoam/LES/throttle/system/controlDict
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSchemes b/tutorials/multiphase/cavitatingFoam/LES/throttle/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSchemes
rename to tutorials/multiphase/cavitatingFoam/LES/throttle/system/fvSchemes
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSolution b/tutorials/multiphase/cavitatingFoam/LES/throttle/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle/system/fvSolution
rename to tutorials/multiphase/cavitatingFoam/LES/throttle/system/fvSolution
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/system/refineMeshDict b/tutorials/multiphase/cavitatingFoam/LES/throttle/system/refineMeshDict
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle/system/refineMeshDict
rename to tutorials/multiphase/cavitatingFoam/LES/throttle/system/refineMeshDict
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/system/topoSetDict.1 b/tutorials/multiphase/cavitatingFoam/LES/throttle/system/topoSetDict.1
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle/system/topoSetDict.1
rename to tutorials/multiphase/cavitatingFoam/LES/throttle/system/topoSetDict.1
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/system/topoSetDict.2 b/tutorials/multiphase/cavitatingFoam/LES/throttle/system/topoSetDict.2
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle/system/topoSetDict.2
rename to tutorials/multiphase/cavitatingFoam/LES/throttle/system/topoSetDict.2
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle/system/topoSetDict.3 b/tutorials/multiphase/cavitatingFoam/LES/throttle/system/topoSetDict.3
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle/system/topoSetDict.3
rename to tutorials/multiphase/cavitatingFoam/LES/throttle/system/topoSetDict.3
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/0.orig/U b/tutorials/multiphase/cavitatingFoam/LES/throttle3D/0.orig/U
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/0.orig/U
rename to tutorials/multiphase/cavitatingFoam/LES/throttle3D/0.orig/U
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/0.orig/alpha.vapour b/tutorials/multiphase/cavitatingFoam/LES/throttle3D/0.orig/alpha.vapour
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/0.orig/alpha.vapour
rename to tutorials/multiphase/cavitatingFoam/LES/throttle3D/0.orig/alpha.vapour
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/0.orig/k b/tutorials/multiphase/cavitatingFoam/LES/throttle3D/0.orig/k
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/0.orig/k
rename to tutorials/multiphase/cavitatingFoam/LES/throttle3D/0.orig/k
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/0.orig/nut b/tutorials/multiphase/cavitatingFoam/LES/throttle3D/0.orig/nut
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/0.orig/nut
rename to tutorials/multiphase/cavitatingFoam/LES/throttle3D/0.orig/nut
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/0.orig/p b/tutorials/multiphase/cavitatingFoam/LES/throttle3D/0.orig/p
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/0.orig/p
rename to tutorials/multiphase/cavitatingFoam/LES/throttle3D/0.orig/p
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/0.orig/rho b/tutorials/multiphase/cavitatingFoam/LES/throttle3D/0.orig/rho
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/0.orig/rho
rename to tutorials/multiphase/cavitatingFoam/LES/throttle3D/0.orig/rho
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/Allclean b/tutorials/multiphase/cavitatingFoam/LES/throttle3D/Allclean
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/Allclean
rename to tutorials/multiphase/cavitatingFoam/LES/throttle3D/Allclean
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/Allrun b/tutorials/multiphase/cavitatingFoam/LES/throttle3D/Allrun
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/Allrun
rename to tutorials/multiphase/cavitatingFoam/LES/throttle3D/Allrun
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/thermodynamicProperties b/tutorials/multiphase/cavitatingFoam/LES/throttle3D/constant/thermodynamicProperties
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/thermodynamicProperties
rename to tutorials/multiphase/cavitatingFoam/LES/throttle3D/constant/thermodynamicProperties
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/transportProperties b/tutorials/multiphase/cavitatingFoam/LES/throttle3D/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/transportProperties
rename to tutorials/multiphase/cavitatingFoam/LES/throttle3D/constant/transportProperties
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/turbulenceProperties b/tutorials/multiphase/cavitatingFoam/LES/throttle3D/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/constant/turbulenceProperties
rename to tutorials/multiphase/cavitatingFoam/LES/throttle3D/constant/turbulenceProperties
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/blockMeshDict b/tutorials/multiphase/cavitatingFoam/LES/throttle3D/system/blockMeshDict
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/system/blockMeshDict
rename to tutorials/multiphase/cavitatingFoam/LES/throttle3D/system/blockMeshDict
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/controlDict b/tutorials/multiphase/cavitatingFoam/LES/throttle3D/system/controlDict
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/system/controlDict
rename to tutorials/multiphase/cavitatingFoam/LES/throttle3D/system/controlDict
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/decomposeParDict b/tutorials/multiphase/cavitatingFoam/LES/throttle3D/system/decomposeParDict
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/system/decomposeParDict
rename to tutorials/multiphase/cavitatingFoam/LES/throttle3D/system/decomposeParDict
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSchemes b/tutorials/multiphase/cavitatingFoam/LES/throttle3D/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSchemes
rename to tutorials/multiphase/cavitatingFoam/LES/throttle3D/system/fvSchemes
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSolution b/tutorials/multiphase/cavitatingFoam/LES/throttle3D/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/system/fvSolution
rename to tutorials/multiphase/cavitatingFoam/LES/throttle3D/system/fvSolution
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/mapFieldsDict b/tutorials/multiphase/cavitatingFoam/LES/throttle3D/system/mapFieldsDict
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/system/mapFieldsDict
rename to tutorials/multiphase/cavitatingFoam/LES/throttle3D/system/mapFieldsDict
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/refineMeshDict b/tutorials/multiphase/cavitatingFoam/LES/throttle3D/system/refineMeshDict
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/system/refineMeshDict
rename to tutorials/multiphase/cavitatingFoam/LES/throttle3D/system/refineMeshDict
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/topoSetDict.1 b/tutorials/multiphase/cavitatingFoam/LES/throttle3D/system/topoSetDict.1
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/system/topoSetDict.1
rename to tutorials/multiphase/cavitatingFoam/LES/throttle3D/system/topoSetDict.1
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/topoSetDict.2 b/tutorials/multiphase/cavitatingFoam/LES/throttle3D/system/topoSetDict.2
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/system/topoSetDict.2
rename to tutorials/multiphase/cavitatingFoam/LES/throttle3D/system/topoSetDict.2
diff --git a/tutorials/multiphase/cavitatingFoam/les/throttle3D/system/topoSetDict.3 b/tutorials/multiphase/cavitatingFoam/LES/throttle3D/system/topoSetDict.3
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/les/throttle3D/system/topoSetDict.3
rename to tutorials/multiphase/cavitatingFoam/LES/throttle3D/system/topoSetDict.3
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/0/U b/tutorials/multiphase/cavitatingFoam/RAS/throttle/0/U
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/ras/throttle/0/U
rename to tutorials/multiphase/cavitatingFoam/RAS/throttle/0/U
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/0/alpha.vapour b/tutorials/multiphase/cavitatingFoam/RAS/throttle/0/alpha.vapour
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/ras/throttle/0/alpha.vapour
rename to tutorials/multiphase/cavitatingFoam/RAS/throttle/0/alpha.vapour
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/0/k b/tutorials/multiphase/cavitatingFoam/RAS/throttle/0/k
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/ras/throttle/0/k
rename to tutorials/multiphase/cavitatingFoam/RAS/throttle/0/k
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/0/nut b/tutorials/multiphase/cavitatingFoam/RAS/throttle/0/nut
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/ras/throttle/0/nut
rename to tutorials/multiphase/cavitatingFoam/RAS/throttle/0/nut
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/0/omega b/tutorials/multiphase/cavitatingFoam/RAS/throttle/0/omega
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/ras/throttle/0/omega
rename to tutorials/multiphase/cavitatingFoam/RAS/throttle/0/omega
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/0/p b/tutorials/multiphase/cavitatingFoam/RAS/throttle/0/p
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/ras/throttle/0/p
rename to tutorials/multiphase/cavitatingFoam/RAS/throttle/0/p
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/0/rho b/tutorials/multiphase/cavitatingFoam/RAS/throttle/0/rho
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/ras/throttle/0/rho
rename to tutorials/multiphase/cavitatingFoam/RAS/throttle/0/rho
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/Allclean b/tutorials/multiphase/cavitatingFoam/RAS/throttle/Allclean
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/ras/throttle/Allclean
rename to tutorials/multiphase/cavitatingFoam/RAS/throttle/Allclean
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/Allrun b/tutorials/multiphase/cavitatingFoam/RAS/throttle/Allrun
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/ras/throttle/Allrun
rename to tutorials/multiphase/cavitatingFoam/RAS/throttle/Allrun
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/thermodynamicProperties b/tutorials/multiphase/cavitatingFoam/RAS/throttle/constant/thermodynamicProperties
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/ras/throttle/constant/thermodynamicProperties
rename to tutorials/multiphase/cavitatingFoam/RAS/throttle/constant/thermodynamicProperties
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/transportProperties b/tutorials/multiphase/cavitatingFoam/RAS/throttle/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/ras/throttle/constant/transportProperties
rename to tutorials/multiphase/cavitatingFoam/RAS/throttle/constant/transportProperties
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/constant/turbulenceProperties b/tutorials/multiphase/cavitatingFoam/RAS/throttle/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/ras/throttle/constant/turbulenceProperties
rename to tutorials/multiphase/cavitatingFoam/RAS/throttle/constant/turbulenceProperties
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/blockMeshDict b/tutorials/multiphase/cavitatingFoam/RAS/throttle/system/blockMeshDict
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/ras/throttle/system/blockMeshDict
rename to tutorials/multiphase/cavitatingFoam/RAS/throttle/system/blockMeshDict
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/controlDict b/tutorials/multiphase/cavitatingFoam/RAS/throttle/system/controlDict
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/ras/throttle/system/controlDict
rename to tutorials/multiphase/cavitatingFoam/RAS/throttle/system/controlDict
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSchemes b/tutorials/multiphase/cavitatingFoam/RAS/throttle/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSchemes
rename to tutorials/multiphase/cavitatingFoam/RAS/throttle/system/fvSchemes
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSolution b/tutorials/multiphase/cavitatingFoam/RAS/throttle/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/ras/throttle/system/fvSolution
rename to tutorials/multiphase/cavitatingFoam/RAS/throttle/system/fvSolution
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/refineMeshDict b/tutorials/multiphase/cavitatingFoam/RAS/throttle/system/refineMeshDict
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/ras/throttle/system/refineMeshDict
rename to tutorials/multiphase/cavitatingFoam/RAS/throttle/system/refineMeshDict
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/topoSetDict.1 b/tutorials/multiphase/cavitatingFoam/RAS/throttle/system/topoSetDict.1
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/ras/throttle/system/topoSetDict.1
rename to tutorials/multiphase/cavitatingFoam/RAS/throttle/system/topoSetDict.1
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/topoSetDict.2 b/tutorials/multiphase/cavitatingFoam/RAS/throttle/system/topoSetDict.2
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/ras/throttle/system/topoSetDict.2
rename to tutorials/multiphase/cavitatingFoam/RAS/throttle/system/topoSetDict.2
diff --git a/tutorials/multiphase/cavitatingFoam/ras/throttle/system/topoSetDict.3 b/tutorials/multiphase/cavitatingFoam/RAS/throttle/system/topoSetDict.3
similarity index 100%
rename from tutorials/multiphase/cavitatingFoam/ras/throttle/system/topoSetDict.3
rename to tutorials/multiphase/cavitatingFoam/RAS/throttle/system/topoSetDict.3
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/0/T b/tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/0/T
similarity index 100%
rename from tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/0/T
rename to tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/0/T
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/0/U b/tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/0/U
similarity index 100%
rename from tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/0/U
rename to tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/0/U
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/0/alpha.water.orig b/tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/0/alpha.water.orig
similarity index 100%
rename from tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/0/alpha.water.orig
rename to tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/0/alpha.water.orig
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/0/p b/tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/0/p
similarity index 100%
rename from tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/0/p
rename to tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/0/p
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/0/p_rgh b/tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/0/p_rgh
similarity index 100%
rename from tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/0/p_rgh
rename to tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/0/p_rgh
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/Allclean b/tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/Allclean
similarity index 100%
rename from tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/Allclean
rename to tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/Allclean
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/Allrun b/tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/Allrun
similarity index 100%
rename from tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/Allrun
rename to tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/Allrun
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/dynamicMeshDict b/tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/constant/dynamicMeshDict
similarity index 100%
rename from tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/dynamicMeshDict
rename to tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/constant/dynamicMeshDict
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/g b/tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/constant/g
similarity index 100%
rename from tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/g
rename to tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/constant/g
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/thermophysicalProperties b/tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/constant/thermophysicalProperties
similarity index 100%
rename from tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/thermophysicalProperties
rename to tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/constant/thermophysicalProperties
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/thermophysicalProperties.air b/tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/constant/thermophysicalProperties.air
similarity index 100%
rename from tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/thermophysicalProperties.air
rename to tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/constant/thermophysicalProperties.air
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/thermophysicalProperties.water b/tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/constant/thermophysicalProperties.water
similarity index 100%
rename from tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/thermophysicalProperties.water
rename to tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/constant/thermophysicalProperties.water
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/transportProperties b/tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/transportProperties
rename to tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/constant/transportProperties
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/turbulenceProperties b/tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/constant/turbulenceProperties
rename to tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/constant/turbulenceProperties
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/blockMeshDict.m4 b/tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/system/blockMeshDict.m4
similarity index 100%
rename from tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/blockMeshDict.m4
rename to tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/system/blockMeshDict.m4
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/controlDict b/tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/system/controlDict
similarity index 100%
rename from tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/controlDict
rename to tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/system/controlDict
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/decomposeParDict b/tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/system/decomposeParDict
similarity index 100%
rename from tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/decomposeParDict
rename to tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/system/decomposeParDict
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/fvSchemes b/tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/fvSchemes
rename to tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/system/fvSchemes
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/fvSolution b/tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/fvSolution
rename to tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/system/fvSolution
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/setFieldsDict b/tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/system/setFieldsDict
similarity index 100%
rename from tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/system/setFieldsDict
rename to tutorials/multiphase/compressibleInterDyMFoam/RAS/sloshingTank2D/system/setFieldsDict
diff --git a/tutorials/multiphase/driftFluxFoam/ras/dahl/0/U b/tutorials/multiphase/driftFluxFoam/RAS/dahl/0/U
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/dahl/0/U
rename to tutorials/multiphase/driftFluxFoam/RAS/dahl/0/U
diff --git a/tutorials/multiphase/driftFluxFoam/ras/dahl/0/alpha.sludge b/tutorials/multiphase/driftFluxFoam/RAS/dahl/0/alpha.sludge
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/dahl/0/alpha.sludge
rename to tutorials/multiphase/driftFluxFoam/RAS/dahl/0/alpha.sludge
diff --git a/tutorials/multiphase/driftFluxFoam/ras/dahl/0/epsilon b/tutorials/multiphase/driftFluxFoam/RAS/dahl/0/epsilon
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/dahl/0/epsilon
rename to tutorials/multiphase/driftFluxFoam/RAS/dahl/0/epsilon
diff --git a/tutorials/multiphase/driftFluxFoam/ras/dahl/0/k b/tutorials/multiphase/driftFluxFoam/RAS/dahl/0/k
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/dahl/0/k
rename to tutorials/multiphase/driftFluxFoam/RAS/dahl/0/k
diff --git a/tutorials/multiphase/driftFluxFoam/ras/dahl/0/nut b/tutorials/multiphase/driftFluxFoam/RAS/dahl/0/nut
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/dahl/0/nut
rename to tutorials/multiphase/driftFluxFoam/RAS/dahl/0/nut
diff --git a/tutorials/multiphase/driftFluxFoam/ras/dahl/0/p_rgh b/tutorials/multiphase/driftFluxFoam/RAS/dahl/0/p_rgh
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/dahl/0/p_rgh
rename to tutorials/multiphase/driftFluxFoam/RAS/dahl/0/p_rgh
diff --git a/tutorials/multiphase/driftFluxFoam/ras/dahl/constant/g b/tutorials/multiphase/driftFluxFoam/RAS/dahl/constant/g
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/dahl/constant/g
rename to tutorials/multiphase/driftFluxFoam/RAS/dahl/constant/g
diff --git a/tutorials/multiphase/driftFluxFoam/ras/dahl/constant/transportProperties b/tutorials/multiphase/driftFluxFoam/RAS/dahl/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/dahl/constant/transportProperties
rename to tutorials/multiphase/driftFluxFoam/RAS/dahl/constant/transportProperties
diff --git a/tutorials/multiphase/driftFluxFoam/ras/dahl/constant/turbulenceProperties b/tutorials/multiphase/driftFluxFoam/RAS/dahl/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/dahl/constant/turbulenceProperties
rename to tutorials/multiphase/driftFluxFoam/RAS/dahl/constant/turbulenceProperties
diff --git a/tutorials/multiphase/driftFluxFoam/ras/dahl/system/blockMeshDict b/tutorials/multiphase/driftFluxFoam/RAS/dahl/system/blockMeshDict
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/dahl/system/blockMeshDict
rename to tutorials/multiphase/driftFluxFoam/RAS/dahl/system/blockMeshDict
diff --git a/tutorials/multiphase/driftFluxFoam/ras/dahl/system/controlDict b/tutorials/multiphase/driftFluxFoam/RAS/dahl/system/controlDict
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/dahl/system/controlDict
rename to tutorials/multiphase/driftFluxFoam/RAS/dahl/system/controlDict
diff --git a/tutorials/multiphase/driftFluxFoam/ras/dahl/system/fvSchemes b/tutorials/multiphase/driftFluxFoam/RAS/dahl/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/dahl/system/fvSchemes
rename to tutorials/multiphase/driftFluxFoam/RAS/dahl/system/fvSchemes
diff --git a/tutorials/multiphase/driftFluxFoam/ras/dahl/system/fvSolution b/tutorials/multiphase/driftFluxFoam/RAS/dahl/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/dahl/system/fvSolution
rename to tutorials/multiphase/driftFluxFoam/RAS/dahl/system/fvSolution
diff --git a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/0/U b/tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/0/U
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/0/U
rename to tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/0/U
diff --git a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/0/alpha.sludge b/tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/0/alpha.sludge
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/0/alpha.sludge
rename to tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/0/alpha.sludge
diff --git a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/0/epsilon b/tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/0/epsilon
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/0/epsilon
rename to tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/0/epsilon
diff --git a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/0/k b/tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/0/k
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/0/k
rename to tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/0/k
diff --git a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/0/nut b/tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/0/nut
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/0/nut
rename to tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/0/nut
diff --git a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/0/p_rgh b/tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/0/p_rgh
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/0/p_rgh
rename to tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/0/p_rgh
diff --git a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/Allrun b/tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/Allrun
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/Allrun
rename to tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/Allrun
diff --git a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/constant/MRFProperties b/tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/constant/MRFProperties
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/constant/MRFProperties
rename to tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/constant/MRFProperties
diff --git a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/constant/g b/tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/constant/g
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/constant/g
rename to tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/constant/g
diff --git a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/constant/transportProperties b/tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/constant/transportProperties
rename to tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/constant/transportProperties
diff --git a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/constant/turbulenceProperties b/tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/constant/turbulenceProperties
rename to tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/constant/turbulenceProperties
diff --git a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/makeMesh b/tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/makeMesh
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/makeMesh
rename to tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/makeMesh
diff --git a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/system/blockMeshDict.m4 b/tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/system/blockMeshDict.m4
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/system/blockMeshDict.m4
rename to tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/system/blockMeshDict.m4
diff --git a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/system/controlDict b/tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/system/controlDict
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/system/controlDict
rename to tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/system/controlDict
diff --git a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/system/fvSchemes b/tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/system/fvSchemes
rename to tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/system/fvSchemes
diff --git a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/system/fvSolution b/tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/system/fvSolution
rename to tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/system/fvSolution
diff --git a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/system/setFieldsDict b/tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/system/setFieldsDict
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/system/setFieldsDict
rename to tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/system/setFieldsDict
diff --git a/tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/system/topoSetDict b/tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/system/topoSetDict
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/mixerVessel2D/system/topoSetDict
rename to tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/system/topoSetDict
diff --git a/tutorials/multiphase/driftFluxFoam/ras/tank3D/0/U b/tutorials/multiphase/driftFluxFoam/RAS/tank3D/0/U
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/tank3D/0/U
rename to tutorials/multiphase/driftFluxFoam/RAS/tank3D/0/U
diff --git a/tutorials/multiphase/driftFluxFoam/ras/tank3D/0/alpha.sludge b/tutorials/multiphase/driftFluxFoam/RAS/tank3D/0/alpha.sludge
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/tank3D/0/alpha.sludge
rename to tutorials/multiphase/driftFluxFoam/RAS/tank3D/0/alpha.sludge
diff --git a/tutorials/multiphase/driftFluxFoam/ras/tank3D/0/epsilon b/tutorials/multiphase/driftFluxFoam/RAS/tank3D/0/epsilon
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/tank3D/0/epsilon
rename to tutorials/multiphase/driftFluxFoam/RAS/tank3D/0/epsilon
diff --git a/tutorials/multiphase/driftFluxFoam/ras/tank3D/0/k b/tutorials/multiphase/driftFluxFoam/RAS/tank3D/0/k
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/tank3D/0/k
rename to tutorials/multiphase/driftFluxFoam/RAS/tank3D/0/k
diff --git a/tutorials/multiphase/driftFluxFoam/ras/tank3D/0/nut b/tutorials/multiphase/driftFluxFoam/RAS/tank3D/0/nut
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/tank3D/0/nut
rename to tutorials/multiphase/driftFluxFoam/RAS/tank3D/0/nut
diff --git a/tutorials/multiphase/driftFluxFoam/ras/tank3D/0/p_rgh b/tutorials/multiphase/driftFluxFoam/RAS/tank3D/0/p_rgh
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/tank3D/0/p_rgh
rename to tutorials/multiphase/driftFluxFoam/RAS/tank3D/0/p_rgh
diff --git a/tutorials/multiphase/driftFluxFoam/ras/tank3D/Allclean b/tutorials/multiphase/driftFluxFoam/RAS/tank3D/Allclean
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/tank3D/Allclean
rename to tutorials/multiphase/driftFluxFoam/RAS/tank3D/Allclean
diff --git a/tutorials/multiphase/driftFluxFoam/ras/tank3D/Allrun b/tutorials/multiphase/driftFluxFoam/RAS/tank3D/Allrun
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/tank3D/Allrun
rename to tutorials/multiphase/driftFluxFoam/RAS/tank3D/Allrun
diff --git a/tutorials/multiphase/driftFluxFoam/ras/tank3D/constant/g b/tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/g
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/tank3D/constant/g
rename to tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/g
diff --git a/tutorials/multiphase/driftFluxFoam/ras/tank3D/constant/polyMesh/boundary b/tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/polyMesh/boundary
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/tank3D/constant/polyMesh/boundary
rename to tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/polyMesh/boundary
diff --git a/tutorials/multiphase/driftFluxFoam/ras/tank3D/constant/polyMesh/cells.gz b/tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/polyMesh/cells.gz
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/tank3D/constant/polyMesh/cells.gz
rename to tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/polyMesh/cells.gz
diff --git a/tutorials/multiphase/driftFluxFoam/ras/tank3D/constant/polyMesh/faces.gz b/tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/polyMesh/faces.gz
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/tank3D/constant/polyMesh/faces.gz
rename to tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/polyMesh/faces.gz
diff --git a/tutorials/multiphase/driftFluxFoam/ras/tank3D/constant/polyMesh/neighbour.gz b/tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/polyMesh/neighbour.gz
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/tank3D/constant/polyMesh/neighbour.gz
rename to tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/polyMesh/neighbour.gz
diff --git a/tutorials/multiphase/driftFluxFoam/ras/tank3D/constant/polyMesh/owner.gz b/tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/polyMesh/owner.gz
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/tank3D/constant/polyMesh/owner.gz
rename to tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/polyMesh/owner.gz
diff --git a/tutorials/multiphase/driftFluxFoam/ras/tank3D/constant/polyMesh/points.gz b/tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/polyMesh/points.gz
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/tank3D/constant/polyMesh/points.gz
rename to tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/polyMesh/points.gz
diff --git a/tutorials/multiphase/driftFluxFoam/ras/tank3D/constant/transportProperties b/tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/tank3D/constant/transportProperties
rename to tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/transportProperties
diff --git a/tutorials/multiphase/driftFluxFoam/ras/tank3D/constant/turbulenceProperties b/tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/tank3D/constant/turbulenceProperties
rename to tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/turbulenceProperties
diff --git a/tutorials/multiphase/driftFluxFoam/ras/tank3D/system/controlDict b/tutorials/multiphase/driftFluxFoam/RAS/tank3D/system/controlDict
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/tank3D/system/controlDict
rename to tutorials/multiphase/driftFluxFoam/RAS/tank3D/system/controlDict
diff --git a/tutorials/multiphase/driftFluxFoam/ras/tank3D/system/fvSchemes b/tutorials/multiphase/driftFluxFoam/RAS/tank3D/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/tank3D/system/fvSchemes
rename to tutorials/multiphase/driftFluxFoam/RAS/tank3D/system/fvSchemes
diff --git a/tutorials/multiphase/driftFluxFoam/ras/tank3D/system/fvSolution b/tutorials/multiphase/driftFluxFoam/RAS/tank3D/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/driftFluxFoam/ras/tank3D/system/fvSolution
rename to tutorials/multiphase/driftFluxFoam/RAS/tank3D/system/fvSolution
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.orig/U b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/0.orig/U
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/0.orig/U
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/0.orig/U
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.orig/alpha.water b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/0.orig/alpha.water
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/0.orig/alpha.water
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/0.orig/alpha.water
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.orig/k b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/0.orig/k
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/0.orig/k
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/0.orig/k
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.orig/nut b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/0.orig/nut
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/0.orig/nut
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/0.orig/nut
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.orig/omega b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/0.orig/omega
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/0.orig/omega
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/0.orig/omega
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.orig/p_rgh b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/0.orig/p_rgh
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/0.orig/p_rgh
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/0.orig/p_rgh
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/0.orig/pointDisplacement b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/0.orig/pointDisplacement
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/0.orig/pointDisplacement
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/0.orig/pointDisplacement
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/Allclean b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/Allclean
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/Allclean
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/Allclean
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/Allrun b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/Allrun
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/Allrun
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/Allrun
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/README b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/README
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/README
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/README
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/constant/dynamicMeshDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/dynamicMeshDict
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/constant/dynamicMeshDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/dynamicMeshDict.sixDoF b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/constant/dynamicMeshDict.sixDoF
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/dynamicMeshDict.sixDoF
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/constant/dynamicMeshDict.sixDoF
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/g b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/constant/g
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/g
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/constant/g
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/hRef b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/constant/hRef
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/hRef
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/constant/hRef
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/transportProperties b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/transportProperties
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/constant/transportProperties
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/triSurface/README b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/constant/triSurface/README
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/triSurface/README
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/constant/triSurface/README
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/turbulenceProperties b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/constant/turbulenceProperties
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/constant/turbulenceProperties
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/blockMeshDict b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/blockMeshDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/system/blockMeshDict
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/blockMeshDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/controlDict b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/controlDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/system/controlDict
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/controlDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/decomposeParDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/system/decomposeParDict
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/decomposeParDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/fvSchemes b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/system/fvSchemes
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/fvSchemes
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/fvSolution b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/system/fvSolution
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/fvSolution
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/meshQualityDict b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/meshQualityDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/system/meshQualityDict
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/meshQualityDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/refineMeshDict b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/refineMeshDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/system/refineMeshDict
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/refineMeshDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/setFieldsDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/system/setFieldsDict
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/setFieldsDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/snappyHexMeshDict b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/snappyHexMeshDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/system/snappyHexMeshDict
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/snappyHexMeshDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/surfaceFeatureExtractDict b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/surfaceFeatureExtractDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/system/surfaceFeatureExtractDict
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/surfaceFeatureExtractDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.1 b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/topoSetDict.1
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.1
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/topoSetDict.1
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.2 b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/topoSetDict.2
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.2
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/topoSetDict.2
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.3 b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/topoSetDict.3
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.3
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/topoSetDict.3
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.4 b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/topoSetDict.4
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.4
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/topoSetDict.4
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.5 b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/topoSetDict.5
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.5
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/topoSetDict.5
diff --git a/tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.6 b/tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/topoSetDict.6
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/DTCHull/system/topoSetDict.6
rename to tutorials/multiphase/interDyMFoam/RAS/DTCHull/system/topoSetDict.6
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/0.orig/U b/tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/0.orig/U
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/0.orig/U
rename to tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/0.orig/U
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/0.orig/alpha.water b/tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/0.orig/alpha.water
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/0.orig/alpha.water
rename to tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/0.orig/alpha.water
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/0.orig/alpha.water.orig b/tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/0.orig/alpha.water.orig
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/0.orig/alpha.water.orig
rename to tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/0.orig/alpha.water.orig
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/0.orig/k b/tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/0.orig/k
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/0.orig/k
rename to tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/0.orig/k
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/0.orig/nut b/tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/0.orig/nut
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/0.orig/nut
rename to tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/0.orig/nut
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/0.orig/omega b/tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/0.orig/omega
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/0.orig/omega
rename to tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/0.orig/omega
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/0.orig/p_rgh b/tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/0.orig/p_rgh
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/0.orig/p_rgh
rename to tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/0.orig/p_rgh
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/Allclean b/tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/Allclean
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/Allclean
rename to tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/Allclean
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/Allrun b/tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/Allrun
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/Allrun
rename to tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/Allrun
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/constant/dynamicMeshDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/constant/dynamicMeshDict
rename to tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/constant/dynamicMeshDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/constant/g b/tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/constant/g
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/constant/g
rename to tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/constant/g
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/constant/transportProperties b/tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/constant/transportProperties
rename to tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/constant/transportProperties
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/constant/turbulenceProperties b/tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/constant/turbulenceProperties
rename to tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/constant/turbulenceProperties
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/createObstacle.setSet b/tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/createObstacle.setSet
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/createObstacle.setSet
rename to tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/createObstacle.setSet
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/blockMeshDict b/tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/system/blockMeshDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/blockMeshDict
rename to tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/system/blockMeshDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/controlDict b/tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/system/controlDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/controlDict
rename to tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/system/controlDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/system/decomposeParDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/decomposeParDict
rename to tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/system/decomposeParDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSchemes b/tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSchemes
rename to tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/system/fvSchemes
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSolution b/tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSolution
rename to tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/system/fvSolution
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/system/setFieldsDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/setFieldsDict
rename to tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/system/setFieldsDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/topoSetDict b/tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/system/topoSetDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/topoSetDict
rename to tutorials/multiphase/interDyMFoam/RAS/damBreakWithObstacle/system/topoSetDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/0.orig/U b/tutorials/multiphase/interDyMFoam/RAS/floatingObject/0.orig/U
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/floatingObject/0.orig/U
rename to tutorials/multiphase/interDyMFoam/RAS/floatingObject/0.orig/U
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/0.orig/alpha.water b/tutorials/multiphase/interDyMFoam/RAS/floatingObject/0.orig/alpha.water
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/floatingObject/0.orig/alpha.water
rename to tutorials/multiphase/interDyMFoam/RAS/floatingObject/0.orig/alpha.water
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/0.orig/epsilon b/tutorials/multiphase/interDyMFoam/RAS/floatingObject/0.orig/epsilon
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/floatingObject/0.orig/epsilon
rename to tutorials/multiphase/interDyMFoam/RAS/floatingObject/0.orig/epsilon
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/0.orig/k b/tutorials/multiphase/interDyMFoam/RAS/floatingObject/0.orig/k
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/floatingObject/0.orig/k
rename to tutorials/multiphase/interDyMFoam/RAS/floatingObject/0.orig/k
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/0.orig/nut b/tutorials/multiphase/interDyMFoam/RAS/floatingObject/0.orig/nut
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/floatingObject/0.orig/nut
rename to tutorials/multiphase/interDyMFoam/RAS/floatingObject/0.orig/nut
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/0.orig/p_rgh b/tutorials/multiphase/interDyMFoam/RAS/floatingObject/0.orig/p_rgh
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/floatingObject/0.orig/p_rgh
rename to tutorials/multiphase/interDyMFoam/RAS/floatingObject/0.orig/p_rgh
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/0.orig/pointDisplacement b/tutorials/multiphase/interDyMFoam/RAS/floatingObject/0.orig/pointDisplacement
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/floatingObject/0.orig/pointDisplacement
rename to tutorials/multiphase/interDyMFoam/RAS/floatingObject/0.orig/pointDisplacement
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/Allclean b/tutorials/multiphase/interDyMFoam/RAS/floatingObject/Allclean
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/floatingObject/Allclean
rename to tutorials/multiphase/interDyMFoam/RAS/floatingObject/Allclean
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/Allrun b/tutorials/multiphase/interDyMFoam/RAS/floatingObject/Allrun
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/floatingObject/Allrun
rename to tutorials/multiphase/interDyMFoam/RAS/floatingObject/Allrun
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/RAS/floatingObject/constant/dynamicMeshDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/dynamicMeshDict
rename to tutorials/multiphase/interDyMFoam/RAS/floatingObject/constant/dynamicMeshDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/dynamicMeshDict.sixDoF b/tutorials/multiphase/interDyMFoam/RAS/floatingObject/constant/dynamicMeshDict.sixDoF
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/dynamicMeshDict.sixDoF
rename to tutorials/multiphase/interDyMFoam/RAS/floatingObject/constant/dynamicMeshDict.sixDoF
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/g b/tutorials/multiphase/interDyMFoam/RAS/floatingObject/constant/g
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/g
rename to tutorials/multiphase/interDyMFoam/RAS/floatingObject/constant/g
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/transportProperties b/tutorials/multiphase/interDyMFoam/RAS/floatingObject/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/transportProperties
rename to tutorials/multiphase/interDyMFoam/RAS/floatingObject/constant/transportProperties
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/turbulenceProperties b/tutorials/multiphase/interDyMFoam/RAS/floatingObject/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/turbulenceProperties
rename to tutorials/multiphase/interDyMFoam/RAS/floatingObject/constant/turbulenceProperties
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/system/blockMeshDict b/tutorials/multiphase/interDyMFoam/RAS/floatingObject/system/blockMeshDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/floatingObject/system/blockMeshDict
rename to tutorials/multiphase/interDyMFoam/RAS/floatingObject/system/blockMeshDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/system/controlDict b/tutorials/multiphase/interDyMFoam/RAS/floatingObject/system/controlDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/floatingObject/system/controlDict
rename to tutorials/multiphase/interDyMFoam/RAS/floatingObject/system/controlDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/RAS/floatingObject/system/decomposeParDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/floatingObject/system/decomposeParDict
rename to tutorials/multiphase/interDyMFoam/RAS/floatingObject/system/decomposeParDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/system/fvSchemes b/tutorials/multiphase/interDyMFoam/RAS/floatingObject/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/floatingObject/system/fvSchemes
rename to tutorials/multiphase/interDyMFoam/RAS/floatingObject/system/fvSchemes
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/system/fvSolution b/tutorials/multiphase/interDyMFoam/RAS/floatingObject/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/floatingObject/system/fvSolution
rename to tutorials/multiphase/interDyMFoam/RAS/floatingObject/system/fvSolution
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/RAS/floatingObject/system/setFieldsDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/floatingObject/system/setFieldsDict
rename to tutorials/multiphase/interDyMFoam/RAS/floatingObject/system/setFieldsDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/system/topoSetDict b/tutorials/multiphase/interDyMFoam/RAS/floatingObject/system/topoSetDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/floatingObject/system/topoSetDict
rename to tutorials/multiphase/interDyMFoam/RAS/floatingObject/system/topoSetDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/0.orig/U b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/0.orig/U
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/0.orig/U
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/0.orig/U
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/0.orig/alpha.water b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/0.orig/alpha.water
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/0.orig/alpha.water
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/0.orig/alpha.water
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/0.orig/epsilon b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/0.orig/epsilon
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/0.orig/epsilon
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/0.orig/epsilon
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/0.orig/k b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/0.orig/k
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/0.orig/k
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/0.orig/k
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/0.orig/nut b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/0.orig/nut
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/0.orig/nut
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/0.orig/nut
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/0.orig/p_rgh b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/0.orig/p_rgh
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/0.orig/p_rgh
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/0.orig/p_rgh
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/Allclean b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/Allclean
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/Allclean
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/Allclean
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/Allrun b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/Allrun
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/Allrun
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/Allrun
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/Allrun.pre b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/Allrun.pre
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/Allrun.pre
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/Allrun.pre
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/dynamicMeshDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/dynamicMeshDict
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/dynamicMeshDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/g b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/g
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/g
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/g
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/transportProperties b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/transportProperties
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/transportProperties
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/triSurface/baffles.stl b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/triSurface/baffles.stl
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/triSurface/baffles.stl
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/triSurface/baffles.stl
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/triSurface/gasInlet.stl b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/triSurface/gasInlet.stl
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/triSurface/gasInlet.stl
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/triSurface/gasInlet.stl
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/triSurface/outlet.stl b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/triSurface/outlet.stl
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/triSurface/outlet.stl
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/triSurface/outlet.stl
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/triSurface/problemFaces b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/triSurface/problemFaces
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/triSurface/problemFaces
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/triSurface/problemFaces
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/triSurface/rotating.stl b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/triSurface/rotating.stl
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/triSurface/rotating.stl
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/triSurface/rotating.stl
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/triSurface/shaft.stl b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/triSurface/shaft.stl
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/triSurface/shaft.stl
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/triSurface/shaft.stl
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/triSurface/shaftRotating.stl b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/triSurface/shaftRotating.stl
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/triSurface/shaftRotating.stl
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/triSurface/shaftRotating.stl
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/triSurface/sparger.stl b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/triSurface/sparger.stl
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/triSurface/sparger.stl
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/triSurface/sparger.stl
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/triSurface/stirrer.stl b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/triSurface/stirrer.stl
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/triSurface/stirrer.stl
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/triSurface/stirrer.stl
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/triSurface/vessel.stl b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/triSurface/vessel.stl
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/triSurface/vessel.stl
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/triSurface/vessel.stl
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/turbulenceProperties b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/constant/turbulenceProperties
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/constant/turbulenceProperties
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/blockMeshDict b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/system/blockMeshDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/blockMeshDict
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/system/blockMeshDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/controlDict b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/system/controlDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/controlDict
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/system/controlDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/createBafflesDict b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/system/createBafflesDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/createBafflesDict
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/system/createBafflesDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/system/decomposeParDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/decomposeParDict
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/system/decomposeParDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/fvSchemes b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/fvSchemes
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/system/fvSchemes
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/fvSolution b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/fvSolution
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/system/fvSolution
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/system/setFieldsDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/setFieldsDict
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/system/setFieldsDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/snappyHexMeshDict b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/system/snappyHexMeshDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/snappyHexMeshDict
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/system/snappyHexMeshDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/surfaceFeatureExtractDict b/tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/system/surfaceFeatureExtractDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/mixerVesselAMI/system/surfaceFeatureExtractDict
rename to tutorials/multiphase/interDyMFoam/RAS/mixerVesselAMI/system/surfaceFeatureExtractDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/0/U b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/0/U
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/0/U
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/0/U
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/0/alpha.water.orig b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/0/alpha.water.orig
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/0/alpha.water.orig
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/0/alpha.water.orig
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/0/p_rgh b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/0/p_rgh
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/0/p_rgh
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/0/p_rgh
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/Allclean b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/Allclean
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/Allclean
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/Allclean
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/Allrun b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/Allrun
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/Allrun
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/Allrun
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/constant/dynamicMeshDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/constant/dynamicMeshDict
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/constant/dynamicMeshDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/constant/g b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/constant/g
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/constant/g
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/constant/g
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/constant/transportProperties b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/constant/transportProperties
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/constant/transportProperties
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/constant/turbulenceProperties b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/constant/turbulenceProperties
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/constant/turbulenceProperties
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/blockMeshDict.m4 b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/system/blockMeshDict.m4
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/blockMeshDict.m4
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/system/blockMeshDict.m4
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/controlDict b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/system/controlDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/controlDict
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/system/controlDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/system/decomposeParDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/decomposeParDict
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/system/decomposeParDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSchemes b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSchemes
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/system/fvSchemes
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSolution b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSolution
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/system/fvSolution
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/system/setFieldsDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/setFieldsDict
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D/system/setFieldsDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/0/U b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/0/U
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/0/U
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/0/U
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/0/alpha.water.orig b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/0/alpha.water.orig
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/0/alpha.water.orig
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/0/alpha.water.orig
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/0/p_rgh b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/0/p_rgh
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/0/p_rgh
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/0/p_rgh
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/Allclean b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/Allclean
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/Allclean
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/Allclean
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/Allrun b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/Allrun
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/Allrun
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/Allrun
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/constant/dynamicMeshDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/constant/dynamicMeshDict
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/constant/dynamicMeshDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/constant/g b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/constant/g
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/constant/g
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/constant/g
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/constant/transportProperties b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/constant/transportProperties
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/constant/transportProperties
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/constant/turbulenceProperties b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/constant/turbulenceProperties
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/constant/turbulenceProperties
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/blockMeshDict.m4 b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/system/blockMeshDict.m4
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/blockMeshDict.m4
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/system/blockMeshDict.m4
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/controlDict b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/system/controlDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/controlDict
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/system/controlDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/system/decomposeParDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/decomposeParDict
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/system/decomposeParDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSchemes b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSchemes
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/system/fvSchemes
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSolution b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSolution
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/system/fvSolution
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/system/setFieldsDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/setFieldsDict
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank2D3DoF/system/setFieldsDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/0/U b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/0/U
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/0/U
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/0/U
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/0/alpha.water.orig b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/0/alpha.water.orig
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/0/alpha.water.orig
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/0/alpha.water.orig
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/0/p_rgh b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/0/p_rgh
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/0/p_rgh
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/0/p_rgh
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/Allclean b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/Allclean
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/Allclean
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/Allclean
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/Allrun b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/Allrun
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/Allrun
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/Allrun
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/constant/dynamicMeshDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/constant/dynamicMeshDict
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/constant/dynamicMeshDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/constant/g b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/constant/g
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/constant/g
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/constant/g
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/constant/transportProperties b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/constant/transportProperties
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/constant/transportProperties
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/constant/turbulenceProperties b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/constant/turbulenceProperties
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/constant/turbulenceProperties
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/blockMeshDict.m4 b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/system/blockMeshDict.m4
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/blockMeshDict.m4
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/system/blockMeshDict.m4
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/controlDict b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/system/controlDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/controlDict
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/system/controlDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/system/decomposeParDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/decomposeParDict
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/system/decomposeParDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSchemes b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSchemes
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/system/fvSchemes
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSolution b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSolution
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/system/fvSolution
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/system/setFieldsDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/setFieldsDict
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D/system/setFieldsDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/0/U b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/0/U
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/0/U
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/0/U
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/0/alpha.water.orig b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/0/alpha.water.orig
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/0/alpha.water.orig
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/0/alpha.water.orig
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/0/p_rgh b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/0/p_rgh
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/0/p_rgh
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/0/p_rgh
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/Allclean b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/Allclean
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/Allclean
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/Allclean
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/Allrun b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/Allrun
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/Allrun
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/Allrun
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/constant/dynamicMeshDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/constant/dynamicMeshDict
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/constant/dynamicMeshDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/constant/g b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/constant/g
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/constant/g
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/constant/g
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/constant/transportProperties b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/constant/transportProperties
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/constant/transportProperties
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/constant/turbulenceProperties b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/constant/turbulenceProperties
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/constant/turbulenceProperties
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/blockMeshDict.m4 b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/system/blockMeshDict.m4
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/blockMeshDict.m4
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/system/blockMeshDict.m4
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/controlDict b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/system/controlDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/controlDict
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/system/controlDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/system/decomposeParDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/decomposeParDict
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/system/decomposeParDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSchemes b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSchemes
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/system/fvSchemes
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSolution b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSolution
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/system/fvSolution
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/system/setFieldsDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/setFieldsDict
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D3DoF/system/setFieldsDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/0/U b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/0/U
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/0/U
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/0/U
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/0/alpha.water.orig b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/0/alpha.water.orig
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/0/alpha.water.orig
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/0/alpha.water.orig
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/0/p_rgh b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/0/p_rgh
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/0/p_rgh
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/0/p_rgh
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/Allclean b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/Allclean
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/Allclean
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/Allclean
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/Allrun b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/Allrun
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/Allrun
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/Allrun
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/constant/6DoF.dat b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/constant/6DoF.dat
similarity index 99%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/constant/6DoF.dat
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/constant/6DoF.dat
index 0cf1f34768..0257203792 100644
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/constant/6DoF.dat
+++ b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/constant/6DoF.dat
@@ -102,4 +102,3 @@
 (39.596 ((1.625 0.77368 -0.260102) (-3.90153 5.2878 8.12498)))
 (40 ((1.82589 1.65428 -0.575807) (-8.6371 2.70906 9.12945)))
 )
-
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/constant/dynamicMeshDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/constant/dynamicMeshDict
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/constant/dynamicMeshDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/constant/g b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/constant/g
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/constant/g
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/constant/g
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/constant/transportProperties b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/constant/transportProperties
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/constant/transportProperties
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/constant/turbulenceProperties b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/constant/turbulenceProperties
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/constant/turbulenceProperties
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/gen6DoF/Make/files b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/gen6DoF/Make/files
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/gen6DoF/Make/files
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/gen6DoF/Make/files
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/gen6DoF/Make/options b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/gen6DoF/Make/options
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/gen6DoF/Make/options
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/gen6DoF/Make/options
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/gen6DoF/gen6DoF.C b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/gen6DoF/gen6DoF.C
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/gen6DoF/gen6DoF.C
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/gen6DoF/gen6DoF.C
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/blockMeshDict.m4 b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/system/blockMeshDict.m4
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/blockMeshDict.m4
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/system/blockMeshDict.m4
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/controlDict b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/system/controlDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/controlDict
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/system/controlDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/system/decomposeParDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/decomposeParDict
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/system/decomposeParDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSchemes b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSchemes
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/system/fvSchemes
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSolution b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSolution
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/system/fvSolution
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/system/setFieldsDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/setFieldsDict
rename to tutorials/multiphase/interDyMFoam/RAS/sloshingTank3D6DoF/system/setFieldsDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/0/U b/tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/0/U
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/testTubeMixer/0/U
rename to tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/0/U
diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/0/alpha.water.orig b/tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/0/alpha.water.orig
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/testTubeMixer/0/alpha.water.orig
rename to tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/0/alpha.water.orig
diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/0/p_rgh b/tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/0/p_rgh
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/testTubeMixer/0/p_rgh
rename to tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/0/p_rgh
diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/Allclean b/tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/Allclean
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/testTubeMixer/Allclean
rename to tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/Allclean
diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/Allrun b/tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/Allrun
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/testTubeMixer/Allrun
rename to tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/Allrun
diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/constant/dynamicMeshDict b/tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/constant/dynamicMeshDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/testTubeMixer/constant/dynamicMeshDict
rename to tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/constant/dynamicMeshDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/constant/g b/tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/constant/g
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/testTubeMixer/constant/g
rename to tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/constant/g
diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/constant/transportProperties b/tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/testTubeMixer/constant/transportProperties
rename to tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/constant/transportProperties
diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/constant/turbulenceProperties b/tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/testTubeMixer/constant/turbulenceProperties
rename to tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/constant/turbulenceProperties
diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/blockMeshDict b/tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/system/blockMeshDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/blockMeshDict
rename to tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/system/blockMeshDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/controlDict b/tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/system/controlDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/controlDict
rename to tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/system/controlDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/decomposeParDict b/tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/system/decomposeParDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/decomposeParDict
rename to tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/system/decomposeParDict
diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/fvSchemes b/tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/fvSchemes
rename to tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/system/fvSchemes
diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/fvSolution b/tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/fvSolution
rename to tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/system/fvSolution
diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/setFieldsDict b/tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/system/setFieldsDict
similarity index 100%
rename from tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/setFieldsDict
rename to tutorials/multiphase/interDyMFoam/RAS/testTubeMixer/system/setFieldsDict
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/U b/tutorials/multiphase/interFoam/LES/nozzleFlow2D/0/U
similarity index 100%
rename from tutorials/multiphase/interFoam/les/nozzleFlow2D/0/U
rename to tutorials/multiphase/interFoam/LES/nozzleFlow2D/0/U
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/alpha.fuel b/tutorials/multiphase/interFoam/LES/nozzleFlow2D/0/alpha.fuel
similarity index 100%
rename from tutorials/multiphase/interFoam/les/nozzleFlow2D/0/alpha.fuel
rename to tutorials/multiphase/interFoam/LES/nozzleFlow2D/0/alpha.fuel
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/data/Ubulk b/tutorials/multiphase/interFoam/LES/nozzleFlow2D/0/data/Ubulk
similarity index 100%
rename from tutorials/multiphase/interFoam/les/nozzleFlow2D/0/data/Ubulk
rename to tutorials/multiphase/interFoam/LES/nozzleFlow2D/0/data/Ubulk
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/data/ptrace b/tutorials/multiphase/interFoam/LES/nozzleFlow2D/0/data/ptrace
similarity index 100%
rename from tutorials/multiphase/interFoam/les/nozzleFlow2D/0/data/ptrace
rename to tutorials/multiphase/interFoam/LES/nozzleFlow2D/0/data/ptrace
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/k b/tutorials/multiphase/interFoam/LES/nozzleFlow2D/0/k
similarity index 100%
rename from tutorials/multiphase/interFoam/les/nozzleFlow2D/0/k
rename to tutorials/multiphase/interFoam/LES/nozzleFlow2D/0/k
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/nuTilda b/tutorials/multiphase/interFoam/LES/nozzleFlow2D/0/nuTilda
similarity index 100%
rename from tutorials/multiphase/interFoam/les/nozzleFlow2D/0/nuTilda
rename to tutorials/multiphase/interFoam/LES/nozzleFlow2D/0/nuTilda
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/nut b/tutorials/multiphase/interFoam/LES/nozzleFlow2D/0/nut
similarity index 100%
rename from tutorials/multiphase/interFoam/les/nozzleFlow2D/0/nut
rename to tutorials/multiphase/interFoam/LES/nozzleFlow2D/0/nut
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/0/p_rgh b/tutorials/multiphase/interFoam/LES/nozzleFlow2D/0/p_rgh
similarity index 100%
rename from tutorials/multiphase/interFoam/les/nozzleFlow2D/0/p_rgh
rename to tutorials/multiphase/interFoam/LES/nozzleFlow2D/0/p_rgh
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/Allclean b/tutorials/multiphase/interFoam/LES/nozzleFlow2D/Allclean
similarity index 100%
rename from tutorials/multiphase/interFoam/les/nozzleFlow2D/Allclean
rename to tutorials/multiphase/interFoam/LES/nozzleFlow2D/Allclean
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/Allrun b/tutorials/multiphase/interFoam/LES/nozzleFlow2D/Allrun
similarity index 100%
rename from tutorials/multiphase/interFoam/les/nozzleFlow2D/Allrun
rename to tutorials/multiphase/interFoam/LES/nozzleFlow2D/Allrun
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/g b/tutorials/multiphase/interFoam/LES/nozzleFlow2D/constant/g
similarity index 100%
rename from tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/g
rename to tutorials/multiphase/interFoam/LES/nozzleFlow2D/constant/g
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/transportProperties b/tutorials/multiphase/interFoam/LES/nozzleFlow2D/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/transportProperties
rename to tutorials/multiphase/interFoam/LES/nozzleFlow2D/constant/transportProperties
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/turbulenceProperties b/tutorials/multiphase/interFoam/LES/nozzleFlow2D/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/interFoam/les/nozzleFlow2D/constant/turbulenceProperties
rename to tutorials/multiphase/interFoam/LES/nozzleFlow2D/constant/turbulenceProperties
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/blockMeshDict b/tutorials/multiphase/interFoam/LES/nozzleFlow2D/system/blockMeshDict
similarity index 100%
rename from tutorials/multiphase/interFoam/les/nozzleFlow2D/system/blockMeshDict
rename to tutorials/multiphase/interFoam/LES/nozzleFlow2D/system/blockMeshDict
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/controlDict b/tutorials/multiphase/interFoam/LES/nozzleFlow2D/system/controlDict
similarity index 100%
rename from tutorials/multiphase/interFoam/les/nozzleFlow2D/system/controlDict
rename to tutorials/multiphase/interFoam/LES/nozzleFlow2D/system/controlDict
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSchemes b/tutorials/multiphase/interFoam/LES/nozzleFlow2D/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSchemes
rename to tutorials/multiphase/interFoam/LES/nozzleFlow2D/system/fvSchemes
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSolution b/tutorials/multiphase/interFoam/LES/nozzleFlow2D/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSolution
rename to tutorials/multiphase/interFoam/LES/nozzleFlow2D/system/fvSolution
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/refineMeshDict b/tutorials/multiphase/interFoam/LES/nozzleFlow2D/system/refineMeshDict
similarity index 100%
rename from tutorials/multiphase/interFoam/les/nozzleFlow2D/system/refineMeshDict
rename to tutorials/multiphase/interFoam/LES/nozzleFlow2D/system/refineMeshDict
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/topoSetDict.1 b/tutorials/multiphase/interFoam/LES/nozzleFlow2D/system/topoSetDict.1
similarity index 100%
rename from tutorials/multiphase/interFoam/les/nozzleFlow2D/system/topoSetDict.1
rename to tutorials/multiphase/interFoam/LES/nozzleFlow2D/system/topoSetDict.1
diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/topoSetDict.2 b/tutorials/multiphase/interFoam/LES/nozzleFlow2D/system/topoSetDict.2
similarity index 100%
rename from tutorials/multiphase/interFoam/les/nozzleFlow2D/system/topoSetDict.2
rename to tutorials/multiphase/interFoam/LES/nozzleFlow2D/system/topoSetDict.2
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/0.orig/U b/tutorials/multiphase/interFoam/RAS/DTCHull/0.orig/U
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/0.orig/U
rename to tutorials/multiphase/interFoam/RAS/DTCHull/0.orig/U
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/0.orig/alpha.water b/tutorials/multiphase/interFoam/RAS/DTCHull/0.orig/alpha.water
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/0.orig/alpha.water
rename to tutorials/multiphase/interFoam/RAS/DTCHull/0.orig/alpha.water
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/0.orig/k b/tutorials/multiphase/interFoam/RAS/DTCHull/0.orig/k
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/0.orig/k
rename to tutorials/multiphase/interFoam/RAS/DTCHull/0.orig/k
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/0.orig/nut b/tutorials/multiphase/interFoam/RAS/DTCHull/0.orig/nut
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/0.orig/nut
rename to tutorials/multiphase/interFoam/RAS/DTCHull/0.orig/nut
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/0.orig/omega b/tutorials/multiphase/interFoam/RAS/DTCHull/0.orig/omega
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/0.orig/omega
rename to tutorials/multiphase/interFoam/RAS/DTCHull/0.orig/omega
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/0.orig/p_rgh b/tutorials/multiphase/interFoam/RAS/DTCHull/0.orig/p_rgh
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/0.orig/p_rgh
rename to tutorials/multiphase/interFoam/RAS/DTCHull/0.orig/p_rgh
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/0.orig/pointDisplacement b/tutorials/multiphase/interFoam/RAS/DTCHull/0.orig/pointDisplacement
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/0.orig/pointDisplacement
rename to tutorials/multiphase/interFoam/RAS/DTCHull/0.orig/pointDisplacement
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/Allclean b/tutorials/multiphase/interFoam/RAS/DTCHull/Allclean
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/Allclean
rename to tutorials/multiphase/interFoam/RAS/DTCHull/Allclean
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/Allrun b/tutorials/multiphase/interFoam/RAS/DTCHull/Allrun
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/Allrun
rename to tutorials/multiphase/interFoam/RAS/DTCHull/Allrun
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/README b/tutorials/multiphase/interFoam/RAS/DTCHull/README
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/README
rename to tutorials/multiphase/interFoam/RAS/DTCHull/README
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/constant/g b/tutorials/multiphase/interFoam/RAS/DTCHull/constant/g
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/constant/g
rename to tutorials/multiphase/interFoam/RAS/DTCHull/constant/g
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/constant/hRef b/tutorials/multiphase/interFoam/RAS/DTCHull/constant/hRef
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/constant/hRef
rename to tutorials/multiphase/interFoam/RAS/DTCHull/constant/hRef
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/constant/transportProperties b/tutorials/multiphase/interFoam/RAS/DTCHull/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/constant/transportProperties
rename to tutorials/multiphase/interFoam/RAS/DTCHull/constant/transportProperties
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/constant/triSurface/README b/tutorials/multiphase/interFoam/RAS/DTCHull/constant/triSurface/README
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/constant/triSurface/README
rename to tutorials/multiphase/interFoam/RAS/DTCHull/constant/triSurface/README
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/constant/turbulenceProperties b/tutorials/multiphase/interFoam/RAS/DTCHull/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/constant/turbulenceProperties
rename to tutorials/multiphase/interFoam/RAS/DTCHull/constant/turbulenceProperties
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/system/blockMeshDict b/tutorials/multiphase/interFoam/RAS/DTCHull/system/blockMeshDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/system/blockMeshDict
rename to tutorials/multiphase/interFoam/RAS/DTCHull/system/blockMeshDict
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/system/controlDict b/tutorials/multiphase/interFoam/RAS/DTCHull/system/controlDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/system/controlDict
rename to tutorials/multiphase/interFoam/RAS/DTCHull/system/controlDict
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/system/decomposeParDict b/tutorials/multiphase/interFoam/RAS/DTCHull/system/decomposeParDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/system/decomposeParDict
rename to tutorials/multiphase/interFoam/RAS/DTCHull/system/decomposeParDict
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/system/fvSchemes b/tutorials/multiphase/interFoam/RAS/DTCHull/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/system/fvSchemes
rename to tutorials/multiphase/interFoam/RAS/DTCHull/system/fvSchemes
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/system/fvSolution b/tutorials/multiphase/interFoam/RAS/DTCHull/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/system/fvSolution
rename to tutorials/multiphase/interFoam/RAS/DTCHull/system/fvSolution
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/system/meshQualityDict b/tutorials/multiphase/interFoam/RAS/DTCHull/system/meshQualityDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/system/meshQualityDict
rename to tutorials/multiphase/interFoam/RAS/DTCHull/system/meshQualityDict
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/system/refineMeshDict b/tutorials/multiphase/interFoam/RAS/DTCHull/system/refineMeshDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/system/refineMeshDict
rename to tutorials/multiphase/interFoam/RAS/DTCHull/system/refineMeshDict
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/system/setFieldsDict b/tutorials/multiphase/interFoam/RAS/DTCHull/system/setFieldsDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/system/setFieldsDict
rename to tutorials/multiphase/interFoam/RAS/DTCHull/system/setFieldsDict
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/system/snappyHexMeshDict b/tutorials/multiphase/interFoam/RAS/DTCHull/system/snappyHexMeshDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/system/snappyHexMeshDict
rename to tutorials/multiphase/interFoam/RAS/DTCHull/system/snappyHexMeshDict
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/system/surfaceFeatureExtractDict b/tutorials/multiphase/interFoam/RAS/DTCHull/system/surfaceFeatureExtractDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/system/surfaceFeatureExtractDict
rename to tutorials/multiphase/interFoam/RAS/DTCHull/system/surfaceFeatureExtractDict
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/system/topoSetDict.1 b/tutorials/multiphase/interFoam/RAS/DTCHull/system/topoSetDict.1
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/system/topoSetDict.1
rename to tutorials/multiphase/interFoam/RAS/DTCHull/system/topoSetDict.1
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/system/topoSetDict.2 b/tutorials/multiphase/interFoam/RAS/DTCHull/system/topoSetDict.2
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/system/topoSetDict.2
rename to tutorials/multiphase/interFoam/RAS/DTCHull/system/topoSetDict.2
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/system/topoSetDict.3 b/tutorials/multiphase/interFoam/RAS/DTCHull/system/topoSetDict.3
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/system/topoSetDict.3
rename to tutorials/multiphase/interFoam/RAS/DTCHull/system/topoSetDict.3
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/system/topoSetDict.4 b/tutorials/multiphase/interFoam/RAS/DTCHull/system/topoSetDict.4
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/system/topoSetDict.4
rename to tutorials/multiphase/interFoam/RAS/DTCHull/system/topoSetDict.4
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/system/topoSetDict.5 b/tutorials/multiphase/interFoam/RAS/DTCHull/system/topoSetDict.5
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/system/topoSetDict.5
rename to tutorials/multiphase/interFoam/RAS/DTCHull/system/topoSetDict.5
diff --git a/tutorials/multiphase/interFoam/ras/DTCHull/system/topoSetDict.6 b/tutorials/multiphase/interFoam/RAS/DTCHull/system/topoSetDict.6
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/DTCHull/system/topoSetDict.6
rename to tutorials/multiphase/interFoam/RAS/DTCHull/system/topoSetDict.6
diff --git a/tutorials/multiphase/interFoam/ras/angledDuct/0/U b/tutorials/multiphase/interFoam/RAS/angledDuct/0/U
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/angledDuct/0/U
rename to tutorials/multiphase/interFoam/RAS/angledDuct/0/U
diff --git a/tutorials/multiphase/interFoam/ras/angledDuct/0/alpha.water b/tutorials/multiphase/interFoam/RAS/angledDuct/0/alpha.water
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/angledDuct/0/alpha.water
rename to tutorials/multiphase/interFoam/RAS/angledDuct/0/alpha.water
diff --git a/tutorials/multiphase/interFoam/ras/angledDuct/0/epsilon b/tutorials/multiphase/interFoam/RAS/angledDuct/0/epsilon
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/angledDuct/0/epsilon
rename to tutorials/multiphase/interFoam/RAS/angledDuct/0/epsilon
diff --git a/tutorials/multiphase/interFoam/ras/angledDuct/0/k b/tutorials/multiphase/interFoam/RAS/angledDuct/0/k
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/angledDuct/0/k
rename to tutorials/multiphase/interFoam/RAS/angledDuct/0/k
diff --git a/tutorials/multiphase/interFoam/ras/angledDuct/0/nut b/tutorials/multiphase/interFoam/RAS/angledDuct/0/nut
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/angledDuct/0/nut
rename to tutorials/multiphase/interFoam/RAS/angledDuct/0/nut
diff --git a/tutorials/multiphase/interFoam/ras/angledDuct/0/p_rgh b/tutorials/multiphase/interFoam/RAS/angledDuct/0/p_rgh
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/angledDuct/0/p_rgh
rename to tutorials/multiphase/interFoam/RAS/angledDuct/0/p_rgh
diff --git a/tutorials/multiphase/interFoam/ras/angledDuct/Allrun b/tutorials/multiphase/interFoam/RAS/angledDuct/Allrun
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/angledDuct/Allrun
rename to tutorials/multiphase/interFoam/RAS/angledDuct/Allrun
diff --git a/tutorials/multiphase/interFoam/ras/angledDuct/constant/fvOptions b/tutorials/multiphase/interFoam/RAS/angledDuct/constant/fvOptions
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/angledDuct/constant/fvOptions
rename to tutorials/multiphase/interFoam/RAS/angledDuct/constant/fvOptions
diff --git a/tutorials/multiphase/interFoam/ras/angledDuct/constant/g b/tutorials/multiphase/interFoam/RAS/angledDuct/constant/g
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/angledDuct/constant/g
rename to tutorials/multiphase/interFoam/RAS/angledDuct/constant/g
diff --git a/tutorials/multiphase/interFoam/ras/angledDuct/constant/transportProperties b/tutorials/multiphase/interFoam/RAS/angledDuct/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/angledDuct/constant/transportProperties
rename to tutorials/multiphase/interFoam/RAS/angledDuct/constant/transportProperties
diff --git a/tutorials/multiphase/interFoam/ras/angledDuct/constant/turbulenceProperties b/tutorials/multiphase/interFoam/RAS/angledDuct/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/angledDuct/constant/turbulenceProperties
rename to tutorials/multiphase/interFoam/RAS/angledDuct/constant/turbulenceProperties
diff --git a/tutorials/multiphase/interFoam/ras/angledDuct/system/blockMeshDict.m4 b/tutorials/multiphase/interFoam/RAS/angledDuct/system/blockMeshDict.m4
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/angledDuct/system/blockMeshDict.m4
rename to tutorials/multiphase/interFoam/RAS/angledDuct/system/blockMeshDict.m4
diff --git a/tutorials/multiphase/interFoam/ras/angledDuct/system/controlDict b/tutorials/multiphase/interFoam/RAS/angledDuct/system/controlDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/angledDuct/system/controlDict
rename to tutorials/multiphase/interFoam/RAS/angledDuct/system/controlDict
diff --git a/tutorials/multiphase/interFoam/ras/angledDuct/system/fvSchemes b/tutorials/multiphase/interFoam/RAS/angledDuct/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/angledDuct/system/fvSchemes
rename to tutorials/multiphase/interFoam/RAS/angledDuct/system/fvSchemes
diff --git a/tutorials/multiphase/interFoam/ras/angledDuct/system/fvSolution b/tutorials/multiphase/interFoam/RAS/angledDuct/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/angledDuct/system/fvSolution
rename to tutorials/multiphase/interFoam/RAS/angledDuct/system/fvSolution
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/Allclean b/tutorials/multiphase/interFoam/RAS/damBreak/Allclean
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreak/Allclean
rename to tutorials/multiphase/interFoam/RAS/damBreak/Allclean
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/Allrun b/tutorials/multiphase/interFoam/RAS/damBreak/Allrun
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreak/Allrun
rename to tutorials/multiphase/interFoam/RAS/damBreak/Allrun
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/damBreak/0/U b/tutorials/multiphase/interFoam/RAS/damBreak/damBreak/0/U
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreak/damBreak/0/U
rename to tutorials/multiphase/interFoam/RAS/damBreak/damBreak/0/U
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/damBreak/0/alpha.water b/tutorials/multiphase/interFoam/RAS/damBreak/damBreak/0/alpha.water
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreak/damBreak/0/alpha.water
rename to tutorials/multiphase/interFoam/RAS/damBreak/damBreak/0/alpha.water
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/damBreak/0/alpha.water.orig b/tutorials/multiphase/interFoam/RAS/damBreak/damBreak/0/alpha.water.orig
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreak/damBreak/0/alpha.water.orig
rename to tutorials/multiphase/interFoam/RAS/damBreak/damBreak/0/alpha.water.orig
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/damBreak/0/epsilon b/tutorials/multiphase/interFoam/RAS/damBreak/damBreak/0/epsilon
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreak/damBreak/0/epsilon
rename to tutorials/multiphase/interFoam/RAS/damBreak/damBreak/0/epsilon
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/damBreak/0/k b/tutorials/multiphase/interFoam/RAS/damBreak/damBreak/0/k
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreak/damBreak/0/k
rename to tutorials/multiphase/interFoam/RAS/damBreak/damBreak/0/k
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/damBreak/0/nuTilda b/tutorials/multiphase/interFoam/RAS/damBreak/damBreak/0/nuTilda
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreak/damBreak/0/nuTilda
rename to tutorials/multiphase/interFoam/RAS/damBreak/damBreak/0/nuTilda
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/damBreak/0/nut b/tutorials/multiphase/interFoam/RAS/damBreak/damBreak/0/nut
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreak/damBreak/0/nut
rename to tutorials/multiphase/interFoam/RAS/damBreak/damBreak/0/nut
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/damBreak/0/p_rgh b/tutorials/multiphase/interFoam/RAS/damBreak/damBreak/0/p_rgh
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreak/damBreak/0/p_rgh
rename to tutorials/multiphase/interFoam/RAS/damBreak/damBreak/0/p_rgh
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/damBreak/Allclean b/tutorials/multiphase/interFoam/RAS/damBreak/damBreak/Allclean
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreak/damBreak/Allclean
rename to tutorials/multiphase/interFoam/RAS/damBreak/damBreak/Allclean
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/damBreak/Allrun b/tutorials/multiphase/interFoam/RAS/damBreak/damBreak/Allrun
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreak/damBreak/Allrun
rename to tutorials/multiphase/interFoam/RAS/damBreak/damBreak/Allrun
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/damBreak/constant/g b/tutorials/multiphase/interFoam/RAS/damBreak/damBreak/constant/g
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreak/damBreak/constant/g
rename to tutorials/multiphase/interFoam/RAS/damBreak/damBreak/constant/g
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/damBreak/constant/transportProperties b/tutorials/multiphase/interFoam/RAS/damBreak/damBreak/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreak/damBreak/constant/transportProperties
rename to tutorials/multiphase/interFoam/RAS/damBreak/damBreak/constant/transportProperties
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/damBreak/constant/turbulenceProperties b/tutorials/multiphase/interFoam/RAS/damBreak/damBreak/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreak/damBreak/constant/turbulenceProperties
rename to tutorials/multiphase/interFoam/RAS/damBreak/damBreak/constant/turbulenceProperties
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/damBreak/system/blockMeshDict b/tutorials/multiphase/interFoam/RAS/damBreak/damBreak/system/blockMeshDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreak/damBreak/system/blockMeshDict
rename to tutorials/multiphase/interFoam/RAS/damBreak/damBreak/system/blockMeshDict
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/damBreak/system/controlDict b/tutorials/multiphase/interFoam/RAS/damBreak/damBreak/system/controlDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreak/damBreak/system/controlDict
rename to tutorials/multiphase/interFoam/RAS/damBreak/damBreak/system/controlDict
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/damBreak/system/decomposeParDict b/tutorials/multiphase/interFoam/RAS/damBreak/damBreak/system/decomposeParDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreak/damBreak/system/decomposeParDict
rename to tutorials/multiphase/interFoam/RAS/damBreak/damBreak/system/decomposeParDict
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/damBreak/system/fvSchemes b/tutorials/multiphase/interFoam/RAS/damBreak/damBreak/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreak/damBreak/system/fvSchemes
rename to tutorials/multiphase/interFoam/RAS/damBreak/damBreak/system/fvSchemes
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/damBreak/system/fvSolution b/tutorials/multiphase/interFoam/RAS/damBreak/damBreak/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreak/damBreak/system/fvSolution
rename to tutorials/multiphase/interFoam/RAS/damBreak/damBreak/system/fvSolution
diff --git a/tutorials/multiphase/interFoam/ras/damBreak/damBreak/system/setFieldsDict b/tutorials/multiphase/interFoam/RAS/damBreak/damBreak/system/setFieldsDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreak/damBreak/system/setFieldsDict
rename to tutorials/multiphase/interFoam/RAS/damBreak/damBreak/system/setFieldsDict
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/U b/tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/0/U
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/U
rename to tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/0/U
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/alpha.water b/tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/0/alpha.water
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/alpha.water
rename to tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/0/alpha.water
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/alpha.water.orig b/tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/0/alpha.water.orig
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/alpha.water.orig
rename to tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/0/alpha.water.orig
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/epsilon b/tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/0/epsilon
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/epsilon
rename to tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/0/epsilon
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/k b/tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/0/k
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/k
rename to tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/0/k
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/nuTilda b/tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/0/nuTilda
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/nuTilda
rename to tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/0/nuTilda
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/nut b/tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/0/nut
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/nut
rename to tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/0/nut
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/p_rgh b/tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/0/p_rgh
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/p_rgh
rename to tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/0/p_rgh
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/Allclean b/tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/Allclean
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/Allclean
rename to tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/Allclean
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/Allrun b/tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/Allrun
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/Allrun
rename to tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/Allrun
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/g b/tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/constant/g
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/g
rename to tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/constant/g
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/transportProperties b/tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/transportProperties
rename to tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/constant/transportProperties
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/turbulenceProperties b/tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/constant/turbulenceProperties
rename to tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/constant/turbulenceProperties
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/blockMeshDict b/tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/system/blockMeshDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/blockMeshDict
rename to tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/system/blockMeshDict
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/changeDictionaryDict b/tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/system/changeDictionaryDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/changeDictionaryDict
rename to tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/system/changeDictionaryDict
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/controlDict b/tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/system/controlDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/controlDict
rename to tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/system/controlDict
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/createBafflesDict b/tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/system/createBafflesDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/createBafflesDict
rename to tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/system/createBafflesDict
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/fvSchemes b/tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/fvSchemes
rename to tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/system/fvSchemes
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/fvSolution b/tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/fvSolution
rename to tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/system/fvSolution
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/setFieldsDict b/tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/system/setFieldsDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/setFieldsDict
rename to tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/system/setFieldsDict
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/topoSetDict b/tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/system/topoSetDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/topoSetDict
rename to tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/system/topoSetDict
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/0/U b/tutorials/multiphase/interFoam/RAS/waterChannel/0/U
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/waterChannel/0/U
rename to tutorials/multiphase/interFoam/RAS/waterChannel/0/U
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/0/alpha.water.orig b/tutorials/multiphase/interFoam/RAS/waterChannel/0/alpha.water.orig
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/waterChannel/0/alpha.water.orig
rename to tutorials/multiphase/interFoam/RAS/waterChannel/0/alpha.water.orig
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/0/k b/tutorials/multiphase/interFoam/RAS/waterChannel/0/k
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/waterChannel/0/k
rename to tutorials/multiphase/interFoam/RAS/waterChannel/0/k
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/0/nut b/tutorials/multiphase/interFoam/RAS/waterChannel/0/nut
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/waterChannel/0/nut
rename to tutorials/multiphase/interFoam/RAS/waterChannel/0/nut
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/0/omega b/tutorials/multiphase/interFoam/RAS/waterChannel/0/omega
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/waterChannel/0/omega
rename to tutorials/multiphase/interFoam/RAS/waterChannel/0/omega
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/0/p_rgh b/tutorials/multiphase/interFoam/RAS/waterChannel/0/p_rgh
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/waterChannel/0/p_rgh
rename to tutorials/multiphase/interFoam/RAS/waterChannel/0/p_rgh
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/Allclean b/tutorials/multiphase/interFoam/RAS/waterChannel/Allclean
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/waterChannel/Allclean
rename to tutorials/multiphase/interFoam/RAS/waterChannel/Allclean
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/Allmesh b/tutorials/multiphase/interFoam/RAS/waterChannel/Allmesh
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/waterChannel/Allmesh
rename to tutorials/multiphase/interFoam/RAS/waterChannel/Allmesh
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/Allrun b/tutorials/multiphase/interFoam/RAS/waterChannel/Allrun
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/waterChannel/Allrun
rename to tutorials/multiphase/interFoam/RAS/waterChannel/Allrun
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/constant/g b/tutorials/multiphase/interFoam/RAS/waterChannel/constant/g
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/waterChannel/constant/g
rename to tutorials/multiphase/interFoam/RAS/waterChannel/constant/g
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/constant/transportProperties b/tutorials/multiphase/interFoam/RAS/waterChannel/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/waterChannel/constant/transportProperties
rename to tutorials/multiphase/interFoam/RAS/waterChannel/constant/transportProperties
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/constant/turbulenceProperties b/tutorials/multiphase/interFoam/RAS/waterChannel/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/waterChannel/constant/turbulenceProperties
rename to tutorials/multiphase/interFoam/RAS/waterChannel/constant/turbulenceProperties
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/system/blockMeshDict b/tutorials/multiphase/interFoam/RAS/waterChannel/system/blockMeshDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/waterChannel/system/blockMeshDict
rename to tutorials/multiphase/interFoam/RAS/waterChannel/system/blockMeshDict
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/system/controlDict b/tutorials/multiphase/interFoam/RAS/waterChannel/system/controlDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/waterChannel/system/controlDict
rename to tutorials/multiphase/interFoam/RAS/waterChannel/system/controlDict
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/system/extrudeMeshDict b/tutorials/multiphase/interFoam/RAS/waterChannel/system/extrudeMeshDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/waterChannel/system/extrudeMeshDict
rename to tutorials/multiphase/interFoam/RAS/waterChannel/system/extrudeMeshDict
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/system/extrudeMeshDict.1 b/tutorials/multiphase/interFoam/RAS/waterChannel/system/extrudeMeshDict.1
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/waterChannel/system/extrudeMeshDict.1
rename to tutorials/multiphase/interFoam/RAS/waterChannel/system/extrudeMeshDict.1
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/system/extrudeMeshDict.2 b/tutorials/multiphase/interFoam/RAS/waterChannel/system/extrudeMeshDict.2
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/waterChannel/system/extrudeMeshDict.2
rename to tutorials/multiphase/interFoam/RAS/waterChannel/system/extrudeMeshDict.2
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/system/fvSchemes b/tutorials/multiphase/interFoam/RAS/waterChannel/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/waterChannel/system/fvSchemes
rename to tutorials/multiphase/interFoam/RAS/waterChannel/system/fvSchemes
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/system/fvSolution b/tutorials/multiphase/interFoam/RAS/waterChannel/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/waterChannel/system/fvSolution
rename to tutorials/multiphase/interFoam/RAS/waterChannel/system/fvSolution
diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/system/setFieldsDict b/tutorials/multiphase/interFoam/RAS/waterChannel/system/setFieldsDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/waterChannel/system/setFieldsDict
rename to tutorials/multiphase/interFoam/RAS/waterChannel/system/setFieldsDict
diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/0.orig/U b/tutorials/multiphase/interFoam/RAS/weirOverflow/0.orig/U
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/weirOverflow/0.orig/U
rename to tutorials/multiphase/interFoam/RAS/weirOverflow/0.orig/U
diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/0.orig/alpha.water.orig b/tutorials/multiphase/interFoam/RAS/weirOverflow/0.orig/alpha.water.orig
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/weirOverflow/0.orig/alpha.water.orig
rename to tutorials/multiphase/interFoam/RAS/weirOverflow/0.orig/alpha.water.orig
diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/0.orig/epsilon b/tutorials/multiphase/interFoam/RAS/weirOverflow/0.orig/epsilon
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/weirOverflow/0.orig/epsilon
rename to tutorials/multiphase/interFoam/RAS/weirOverflow/0.orig/epsilon
diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/0.orig/include/initialConditions b/tutorials/multiphase/interFoam/RAS/weirOverflow/0.orig/include/initialConditions
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/weirOverflow/0.orig/include/initialConditions
rename to tutorials/multiphase/interFoam/RAS/weirOverflow/0.orig/include/initialConditions
diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/0.orig/k b/tutorials/multiphase/interFoam/RAS/weirOverflow/0.orig/k
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/weirOverflow/0.orig/k
rename to tutorials/multiphase/interFoam/RAS/weirOverflow/0.orig/k
diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/0.orig/nut b/tutorials/multiphase/interFoam/RAS/weirOverflow/0.orig/nut
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/weirOverflow/0.orig/nut
rename to tutorials/multiphase/interFoam/RAS/weirOverflow/0.orig/nut
diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/0.orig/p_rgh b/tutorials/multiphase/interFoam/RAS/weirOverflow/0.orig/p_rgh
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/weirOverflow/0.orig/p_rgh
rename to tutorials/multiphase/interFoam/RAS/weirOverflow/0.orig/p_rgh
diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/Allclean b/tutorials/multiphase/interFoam/RAS/weirOverflow/Allclean
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/weirOverflow/Allclean
rename to tutorials/multiphase/interFoam/RAS/weirOverflow/Allclean
diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/Allrun b/tutorials/multiphase/interFoam/RAS/weirOverflow/Allrun
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/weirOverflow/Allrun
rename to tutorials/multiphase/interFoam/RAS/weirOverflow/Allrun
diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/constant/g b/tutorials/multiphase/interFoam/RAS/weirOverflow/constant/g
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/weirOverflow/constant/g
rename to tutorials/multiphase/interFoam/RAS/weirOverflow/constant/g
diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/constant/transportProperties b/tutorials/multiphase/interFoam/RAS/weirOverflow/constant/transportProperties
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/weirOverflow/constant/transportProperties
rename to tutorials/multiphase/interFoam/RAS/weirOverflow/constant/transportProperties
diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/constant/turbulenceProperties b/tutorials/multiphase/interFoam/RAS/weirOverflow/constant/turbulenceProperties
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/weirOverflow/constant/turbulenceProperties
rename to tutorials/multiphase/interFoam/RAS/weirOverflow/constant/turbulenceProperties
diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/system/blockMeshDict b/tutorials/multiphase/interFoam/RAS/weirOverflow/system/blockMeshDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/weirOverflow/system/blockMeshDict
rename to tutorials/multiphase/interFoam/RAS/weirOverflow/system/blockMeshDict
diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/system/controlDict b/tutorials/multiphase/interFoam/RAS/weirOverflow/system/controlDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/weirOverflow/system/controlDict
rename to tutorials/multiphase/interFoam/RAS/weirOverflow/system/controlDict
diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/system/fvSchemes b/tutorials/multiphase/interFoam/RAS/weirOverflow/system/fvSchemes
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/weirOverflow/system/fvSchemes
rename to tutorials/multiphase/interFoam/RAS/weirOverflow/system/fvSchemes
diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/system/fvSolution b/tutorials/multiphase/interFoam/RAS/weirOverflow/system/fvSolution
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/weirOverflow/system/fvSolution
rename to tutorials/multiphase/interFoam/RAS/weirOverflow/system/fvSolution
diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/system/setFieldsDict b/tutorials/multiphase/interFoam/RAS/weirOverflow/system/setFieldsDict
similarity index 100%
rename from tutorials/multiphase/interFoam/ras/weirOverflow/system/setFieldsDict
rename to tutorials/multiphase/interFoam/RAS/weirOverflow/system/setFieldsDict
-- 
GitLab


From 2fd4b6bce4b8c6d0b23fe33cde4d2b80af2cce8d Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 20 Sep 2016 21:11:41 +0100
Subject: [PATCH 33/96] turbulentTransportModels: Add new Maxwell model

---
 .../turbulentTransportModels/turbulentTransportModels.C        | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.C
index 1679dbcb4a..709747522f 100644
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.C
+++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.C
@@ -44,6 +44,9 @@ makeBaseTurbulenceModel
 #include "Stokes.H"
 makeLaminarModel(Stokes);
 
+#include "Maxwell.H"
+makeLaminarModel(Maxwell);
+
 
 // -------------------------------------------------------------------------- //
 // RAS models
-- 
GitLab


From 450779d29a5e3b57d006fd46983e2573afa6c9e2 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Tue, 20 Sep 2016 21:34:47 +0100
Subject: [PATCH 34/96] linearUpwind: Evaluate the gradient of each component
 of the field to provide support all field types

Also reduces peak-storage as it now generates a volVectorField for each component
rather than the gradient of the field type.
---
 .../schemes/linearUpwind/linearUpwind.C       | 97 +++++++++----------
 .../schemes/linearUpwind/linearUpwind.H       |  9 +-
 2 files changed, 51 insertions(+), 55 deletions(-)

diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwind.C b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwind.C
index 9cc8cf488c..6fceae4503 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwind.C
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwind.C
@@ -65,66 +65,65 @@ Foam::linearUpwind<Type>::correction
     const volVectorField& C = mesh.C();
     const surfaceVectorField& Cf = mesh.Cf();
 
-    tmp
-    <
-        GeometricField
-        <
-            typename outerProduct<vector, Type>::type,
-            fvPatchField,
-            volMesh
-        >
-    > tgradVf = gradScheme_().grad(vf, gradSchemeName_);
-
-    const GeometricField
-    <
-        typename outerProduct<vector, Type>::type,
-        fvPatchField,
-        volMesh
-    >& gradVf = tgradVf();
-
-    forAll(faceFlux, facei)
+    for (direction cmpt = 0; cmpt < pTraits<Type>::nComponents; cmpt++)
     {
-        label celli = (faceFlux[facei] > 0) ? owner[facei] : neighbour[facei];
-        sfCorr[facei] = (Cf[facei] - C[celli]) & gradVf[celli];
-    }
+        tmp<volVectorField> tgradVf =
+            gradScheme_().grad(vf.component(cmpt), gradSchemeName_);
 
+        const volVectorField& gradVf = tgradVf();
 
-    typename GeometricField<Type, fvsPatchField, surfaceMesh>::
-        Boundary& bSfCorr = sfCorr.boundaryFieldRef();
+        forAll(faceFlux, facei)
+        {
+            const label celli =
+                (faceFlux[facei] > 0) ? owner[facei] : neighbour[facei];
 
-    forAll(bSfCorr, patchi)
-    {
-        fvsPatchField<Type>& pSfCorr = bSfCorr[patchi];
+            setComponent(sfCorr[facei], cmpt) =
+                (Cf[facei] - C[celli]) & gradVf[celli];
+        }
+
+        typename GeometricField<Type, fvsPatchField, surfaceMesh>::
+            Boundary& bSfCorr = sfCorr.boundaryFieldRef();
 
-        if (pSfCorr.coupled())
+        forAll(bSfCorr, patchi)
         {
-            const labelUList& pOwner =
-                mesh.boundary()[patchi].faceCells();
+            fvsPatchField<Type>& pSfCorr = bSfCorr[patchi];
 
-            const vectorField& pCf = Cf.boundaryField()[patchi];
+            if (pSfCorr.coupled())
+            {
+                const labelUList& pOwner =
+                    mesh.boundary()[patchi].faceCells();
 
-            const scalarField& pFaceFlux = faceFlux.boundaryField()[patchi];
+                const vectorField& pCf = Cf.boundaryField()[patchi];
 
-            const Field<typename outerProduct<vector, Type>::type> pGradVfNei
-            (
-                gradVf.boundaryField()[patchi].patchNeighbourField()
-            );
+                const scalarField& pFaceFlux = faceFlux.boundaryField()[patchi];
 
-            // Build the d-vectors
-            vectorField pd(Cf.boundaryField()[patchi].patch().delta());
+                const vectorField pGradVfNei
+                (
+                    gradVf.boundaryField()[patchi].patchNeighbourField()
+                );
 
-            forAll(pOwner, facei)
-            {
-                label own = pOwner[facei];
+                // Build the d-vectors
+                const vectorField pd
+                (
+                    Cf.boundaryField()[patchi].patch().delta()
+                );
 
-                if (pFaceFlux[facei] > 0)
-                {
-                    pSfCorr[facei] = (pCf[facei] - C[own]) & gradVf[own];
-                }
-                else
+                forAll(pOwner, facei)
                 {
-                    pSfCorr[facei] =
-                        (pCf[facei] - pd[facei] - C[own]) & pGradVfNei[facei];
+                    label own = pOwner[facei];
+
+                    if (pFaceFlux[facei] > 0)
+                    {
+                        setComponent(pSfCorr[facei], cmpt) =
+                            (pCf[facei] - C[own])
+                          & gradVf[own];
+                    }
+                    else
+                    {
+                        setComponent(pSfCorr[facei], cmpt) =
+                            (pCf[facei] - pd[facei] - C[own])
+                          & pGradVfNei[facei];
+                    }
                 }
             }
         }
@@ -136,9 +135,7 @@ Foam::linearUpwind<Type>::correction
 
 namespace Foam
 {
-    //makelimitedSurfaceInterpolationScheme(linearUpwind)
-    makelimitedSurfaceInterpolationTypeScheme(linearUpwind, scalar)
-    makelimitedSurfaceInterpolationTypeScheme(linearUpwind, vector)
+    makelimitedSurfaceInterpolationScheme(linearUpwind)
 }
 
 // ************************************************************************* //
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwind.H b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwind.H
index 6039f416a7..d7f0e4351d 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwind.H
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwind.H
@@ -57,7 +57,7 @@ class linearUpwind
     // Private Data
 
         word gradSchemeName_;
-        tmp<fv::gradScheme<Type>> gradScheme_;
+        tmp<fv::gradScheme<scalar>> gradScheme_;
 
 
     // Private Member Functions
@@ -88,7 +88,7 @@ public:
             gradSchemeName_("grad"),
             gradScheme_
             (
-                new fv::gaussGrad<Type>(mesh)
+                new fv::gaussGrad<scalar>(mesh)
             )
         {}
 
@@ -105,7 +105,7 @@ public:
             gradSchemeName_(schemeData),
             gradScheme_
             (
-                fv::gradScheme<Type>::New
+                fv::gradScheme<scalar>::New
                 (
                     mesh,
                     mesh.gradScheme(gradSchemeName_)
@@ -125,7 +125,7 @@ public:
             gradSchemeName_(schemeData),
             gradScheme_
             (
-                fv::gradScheme<Type>::New
+                fv::gradScheme<scalar>::New
                 (
                     mesh,
                     mesh.gradScheme(gradSchemeName_)
@@ -148,7 +148,6 @@ public:
         (
             const GeometricField<Type, fvPatchField, volMesh>&
         ) const;
-
 };
 
 
-- 
GitLab


From 4fbdef644481aa143302dcffe6e65426b588ddba Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 21 Sep 2016 09:50:49 +0100
Subject: [PATCH 35/96] linearUpwind: Specialize for volVectorField to support
 cached gradients

---
 .../schemes/linearUpwind/linearUpwind.C       | 124 ++++++++++++++++++
 .../schemes/linearUpwind/linearUpwind.H       |  35 ++---
 2 files changed, 135 insertions(+), 24 deletions(-)

diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwind.C b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwind.C
index 6fceae4503..69492761b8 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwind.C
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwind.C
@@ -65,6 +65,15 @@ Foam::linearUpwind<Type>::correction
     const volVectorField& C = mesh.C();
     const surfaceVectorField& Cf = mesh.Cf();
 
+    tmp<fv::gradScheme<scalar>> gradScheme_
+    (
+        fv::gradScheme<scalar>::New
+        (
+            mesh,
+            mesh.gradScheme(gradSchemeName_)
+        )
+    );
+
     for (direction cmpt = 0; cmpt < pTraits<Type>::nComponents; cmpt++)
     {
         tmp<volVectorField> tgradVf =
@@ -133,6 +142,121 @@ Foam::linearUpwind<Type>::correction
 }
 
 
+template<>
+Foam::tmp<Foam::surfaceVectorField>
+Foam::linearUpwind<Foam::vector>::correction
+(
+    const volVectorField& vf
+) const
+{
+    const fvMesh& mesh = this->mesh();
+
+    tmp<GeometricField<vector, fvsPatchField, surfaceMesh>> tsfCorr
+    (
+        new GeometricField<vector, fvsPatchField, surfaceMesh>
+        (
+            IOobject
+            (
+                "linearUpwind::correction(" + vf.name() + ')',
+                mesh.time().timeName(),
+                mesh,
+                IOobject::NO_READ,
+                IOobject::NO_WRITE,
+                false
+            ),
+            mesh,
+            dimensioned<vector>(vf.name(), vf.dimensions(), Zero)
+        )
+    );
+
+    GeometricField<vector, fvsPatchField, surfaceMesh>& sfCorr = tsfCorr.ref();
+
+    const surfaceScalarField& faceFlux = this->faceFlux_;
+
+    const labelList& owner = mesh.owner();
+    const labelList& neighbour = mesh.neighbour();
+
+    const volVectorField& C = mesh.C();
+    const surfaceVectorField& Cf = mesh.Cf();
+
+    tmp<fv::gradScheme<vector>> gradScheme_
+    (
+        fv::gradScheme<vector>::New
+        (
+            mesh,
+            mesh.gradScheme(gradSchemeName_)
+        )
+    );
+
+    tmp
+    <
+        GeometricField
+        <
+            typename outerProduct<vector, vector>::type,
+            fvPatchField,
+            volMesh
+        >
+    > tgradVf = gradScheme_().grad(vf, gradSchemeName_);
+
+    const GeometricField
+    <
+        typename outerProduct<vector, vector>::type,
+        fvPatchField,
+        volMesh
+    >& gradVf = tgradVf();
+
+    forAll(faceFlux, facei)
+    {
+        label celli = (faceFlux[facei] > 0) ? owner[facei] : neighbour[facei];
+        sfCorr[facei] = (Cf[facei] - C[celli]) & gradVf[celli];
+    }
+
+
+    typename GeometricField<vector, fvsPatchField, surfaceMesh>::
+        Boundary& bSfCorr = sfCorr.boundaryFieldRef();
+
+    forAll(bSfCorr, patchi)
+    {
+        fvsPatchField<vector>& pSfCorr = bSfCorr[patchi];
+
+        if (pSfCorr.coupled())
+        {
+            const labelUList& pOwner =
+                mesh.boundary()[patchi].faceCells();
+
+            const vectorField& pCf = Cf.boundaryField()[patchi];
+
+            const scalarField& pFaceFlux = faceFlux.boundaryField()[patchi];
+
+            const Field<typename outerProduct<vector, vector>::type> pGradVfNei
+            (
+                gradVf.boundaryField()[patchi].patchNeighbourField()
+            );
+
+            // Build the d-vectors
+            vectorField pd(Cf.boundaryField()[patchi].patch().delta());
+
+            forAll(pOwner, facei)
+            {
+                label own = pOwner[facei];
+
+                if (pFaceFlux[facei] > 0)
+                {
+                    pSfCorr[facei] = (pCf[facei] - C[own]) & gradVf[own];
+                }
+                else
+                {
+                    pSfCorr[facei] =
+                        (pCf[facei] - pd[facei] - C[own]) & pGradVfNei[facei];
+                }
+            }
+        }
+    }
+
+    return tsfCorr;
+}
+
+
 namespace Foam
 {
     makelimitedSurfaceInterpolationScheme(linearUpwind)
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwind.H b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwind.H
index d7f0e4351d..e9d16eadde 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwind.H
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwind.H
@@ -57,7 +57,6 @@ class linearUpwind
     // Private Data
 
         word gradSchemeName_;
-        tmp<fv::gradScheme<scalar>> gradScheme_;
 
 
     // Private Member Functions
@@ -85,11 +84,7 @@ public:
         )
         :
             upwind<Type>(mesh, faceFlux),
-            gradSchemeName_("grad"),
-            gradScheme_
-            (
-                new fv::gaussGrad<scalar>(mesh)
-            )
+            gradSchemeName_("grad")
         {}
 
         //- Construct from Istream.
@@ -102,15 +97,7 @@ public:
         )
         :
             upwind<Type>(mesh, schemeData),
-            gradSchemeName_(schemeData),
-            gradScheme_
-            (
-                fv::gradScheme<scalar>::New
-                (
-                    mesh,
-                    mesh.gradScheme(gradSchemeName_)
-                )
-            )
+            gradSchemeName_(schemeData)
         {}
 
         //- Construct from faceFlux and Istream
@@ -122,15 +109,7 @@ public:
         )
         :
             upwind<Type>(mesh, faceFlux, schemeData),
-            gradSchemeName_(schemeData),
-            gradScheme_
-            (
-                fv::gradScheme<scalar>::New
-                (
-                    mesh,
-                    mesh.gradScheme(gradSchemeName_)
-                )
-            )
+            gradSchemeName_(schemeData)
         {}
 
 
@@ -151,6 +130,14 @@ public:
 };
 
 
+// Specialize for volVectorField to support cached gradients
+template<>
+tmp<surfaceVectorField> linearUpwind<vector>::correction
+(
+    const volVectorField& vf
+) const;
+
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace Foam
-- 
GitLab


From ee3cf8600845ef2a851a5a0b817ab9716e853dd0 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 21 Sep 2016 11:09:59 +0100
Subject: [PATCH 36/96] linearUpwind: Simplified the vector specialization

---
 .../schemes/linearUpwind/linearUpwind.C       | 44 +++++--------------
 1 file changed, 12 insertions(+), 32 deletions(-)

diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwind.C b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwind.C
index 69492761b8..f6e89172c5 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwind.C
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/linearUpwind/linearUpwind.C
@@ -99,11 +99,8 @@ Foam::linearUpwind<Type>::correction
 
             if (pSfCorr.coupled())
             {
-                const labelUList& pOwner =
-                    mesh.boundary()[patchi].faceCells();
-
+                const labelUList& pOwner = mesh.boundary()[patchi].faceCells();
                 const vectorField& pCf = Cf.boundaryField()[patchi];
-
                 const scalarField& pFaceFlux = faceFlux.boundaryField()[patchi];
 
                 const vectorField pGradVfNei
@@ -151,9 +148,9 @@ Foam::linearUpwind<Foam::vector>::correction
 {
     const fvMesh& mesh = this->mesh();
 
-    tmp<GeometricField<vector, fvsPatchField, surfaceMesh>> tsfCorr
+    tmp<surfaceVectorField> tsfCorr
     (
-        new GeometricField<vector, fvsPatchField, surfaceMesh>
+        new surfaceVectorField
         (
             IOobject
             (
@@ -169,7 +166,7 @@ Foam::linearUpwind<Foam::vector>::correction
         )
     );
 
-    GeometricField<vector, fvsPatchField, surfaceMesh>& sfCorr = tsfCorr.ref();
+    surfaceVectorField& sfCorr = tsfCorr.ref();
 
     const surfaceScalarField& faceFlux = this->faceFlux_;
 
@@ -188,47 +185,30 @@ Foam::linearUpwind<Foam::vector>::correction
         )
     );
 
-    tmp
-    <
-        GeometricField
-        <
-            typename outerProduct<vector, vector>::type,
-            fvPatchField,
-            volMesh
-        >
-    > tgradVf = gradScheme_().grad(vf, gradSchemeName_);
-
-    const GeometricField
-    <
-        typename outerProduct<vector, vector>::type,
-        fvPatchField,
-        volMesh
-    >& gradVf = tgradVf();
+    tmp<volTensorField> tgradVf = gradScheme_().grad(vf, gradSchemeName_);
+    const volTensorField& gradVf = tgradVf();
 
     forAll(faceFlux, facei)
     {
-        label celli = (faceFlux[facei] > 0) ? owner[facei] : neighbour[facei];
+        const label celli =
+            (faceFlux[facei] > 0) ? owner[facei] : neighbour[facei];
         sfCorr[facei] = (Cf[facei] - C[celli]) & gradVf[celli];
     }
 
 
-    typename GeometricField<vector, fvsPatchField, surfaceMesh>::
-        Boundary& bSfCorr = sfCorr.boundaryFieldRef();
+    typename surfaceVectorField::Boundary& bSfCorr = sfCorr.boundaryFieldRef();
 
     forAll(bSfCorr, patchi)
     {
-        fvsPatchField<vector>& pSfCorr = bSfCorr[patchi];
+        fvsPatchVectorField& pSfCorr = bSfCorr[patchi];
 
         if (pSfCorr.coupled())
         {
-            const labelUList& pOwner =
-                mesh.boundary()[patchi].faceCells();
-
+            const labelUList& pOwner = mesh.boundary()[patchi].faceCells();
             const vectorField& pCf = Cf.boundaryField()[patchi];
-
             const scalarField& pFaceFlux = faceFlux.boundaryField()[patchi];
 
-            const Field<typename outerProduct<vector, vector>::type> pGradVfNei
+            const tensorField pGradVfNei
             (
                 gradVf.boundaryField()[patchi].patchNeighbourField()
             );
-- 
GitLab


From a27eb13ad6179bb5e7df849d43a6c235e63838c2 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 21 Sep 2016 17:19:58 +0100
Subject: [PATCH 37/96] decomposePar: Corrected construction of cloud for
 processors Resolves bug-report http://bugs.openfoam.org/view.php?id=2239

---
 .../decomposePar/lagrangianFieldDecomposer.C  |  2 +-
 .../decomposePar/lagrangianFieldDecomposer.H  |  2 --
 .../dataConversion/foamToGMV/gmvOutput.H      |  2 +-
 .../USERD_get_maxsize_info.H                  |  2 +-
 .../ensightFoamReader/USERD_set_filenames.H   |  4 +--
 .../USERD_set_time_set_and_step.H             |  4 +--
 src/OpenFOAM/fields/cloud/cloud.C             | 10 +++----
 src/OpenFOAM/fields/cloud/cloud.H             |  4 +--
 .../field/nearWallFields/nearWallFields.C     |  7 ++++-
 src/lagrangian/basic/Cloud/Cloud.C            | 30 +++----------------
 src/lagrangian/basic/Cloud/Cloud.H            | 16 ----------
 src/lagrangian/basic/Cloud/CloudIO.C          | 19 ------------
 12 files changed, 23 insertions(+), 79 deletions(-)

diff --git a/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposer.C b/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposer.C
index 274e3a51a3..efb7dd2a23 100644
--- a/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposer.C
+++ b/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposer.C
@@ -42,7 +42,7 @@ Foam::lagrangianFieldDecomposer::lagrangianFieldDecomposer
 )
 :
     procMesh_(procMesh),
-    positions_(procMesh, cloudName, false),
+    positions_(procMesh, cloudName, IDLList<passiveParticle>()),
     particleIndices_(lagrangianPositions.size())
 {
     label pi = 0;
diff --git a/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposer.H b/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposer.H
index 6e0280398d..aca0672296 100644
--- a/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposer.H
+++ b/applications/utilities/parallelProcessing/decomposePar/lagrangianFieldDecomposer.H
@@ -101,7 +101,6 @@ public:
             const label cloudI,
             const IOobjectList& lagrangianObjects,
             PtrList<PtrList<IOField<Type>>>& lagrangianFields
-//            PtrList<IOField<Type>>& lagrangianFields
         );
 
         template<class Type>
@@ -113,7 +112,6 @@ public:
             <
                 PtrList<CompactIOField<Field<Type>, Type>>
             >& lagrangianFields
-//            PtrList<CompactIOField<Field<Type>, Type >>& lagrangianFields
         );
 
 
diff --git a/applications/utilities/postProcessing/dataConversion/foamToGMV/gmvOutput.H b/applications/utilities/postProcessing/dataConversion/foamToGMV/gmvOutput.H
index a6c0c7dd36..4c65e583e3 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToGMV/gmvOutput.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToGMV/gmvOutput.H
@@ -73,7 +73,7 @@ for (label i=0; i < nTypes; i++)
 
         if (lagrangianHeader.headerOk())
         {
-            Cloud<passiveParticle> particles(mesh);
+            Cloud<passiveParticle> particles(mesh, cloud::defaultName);
 
             IOobjectList objects(mesh, runTime.timeName(), cloud::prefix);
 
diff --git a/applications/utilities/postProcessing/graphics/ensightFoamReader/USERD_get_maxsize_info.H b/applications/utilities/postProcessing/graphics/ensightFoamReader/USERD_get_maxsize_info.H
index ca2033453e..aab4c0c903 100644
--- a/applications/utilities/postProcessing/graphics/ensightFoamReader/USERD_get_maxsize_info.H
+++ b/applications/utilities/postProcessing/graphics/ensightFoamReader/USERD_get_maxsize_info.H
@@ -73,7 +73,7 @@ int USERD_get_maxsize_info
         {
             // Get the maximum number of spray parcels
             // and store it
-            Cloud<passiveParticle> lagrangian(*meshPtr);
+            Cloud<passiveParticle> lagrangian(*meshPtr, cloud::defaultName);
 
             if (lagrangian.size() > nMaxParcels)
             {
diff --git a/applications/utilities/postProcessing/graphics/ensightFoamReader/USERD_set_filenames.H b/applications/utilities/postProcessing/graphics/ensightFoamReader/USERD_set_filenames.H
index fdb7c38c9f..6167798a3b 100644
--- a/applications/utilities/postProcessing/graphics/ensightFoamReader/USERD_set_filenames.H
+++ b/applications/utilities/postProcessing/graphics/ensightFoamReader/USERD_set_filenames.H
@@ -151,7 +151,7 @@ int USERD_set_filenames
     {
         runTime.setTime(timeDirs[n+1], n+1);
 
-        Cloud<passiveParticle> lagrangian(*meshPtr);
+        Cloud<passiveParticle> lagrangian(*meshPtr, cloud::defaultName);
 
         n++;
         if (lagrangian.size())
@@ -177,7 +177,7 @@ int USERD_set_filenames
 
         delete sprayPtr;
 
-        sprayPtr = new Cloud<passiveParticle>(*meshPtr);
+        sprayPtr = new Cloud<passiveParticle>(*meshPtr, cloud::defaultName);
 
         IOobjectList objects(*meshPtr, runTime.timeName(), cloud::prefix);
 
diff --git a/applications/utilities/postProcessing/graphics/ensightFoamReader/USERD_set_time_set_and_step.H b/applications/utilities/postProcessing/graphics/ensightFoamReader/USERD_set_time_set_and_step.H
index 5459f67ba6..7bc4ba1c5c 100644
--- a/applications/utilities/postProcessing/graphics/ensightFoamReader/USERD_set_time_set_and_step.H
+++ b/applications/utilities/postProcessing/graphics/ensightFoamReader/USERD_set_time_set_and_step.H
@@ -49,9 +49,7 @@ void USERD_set_time_set_and_step
         if (Numparts_available > nPatches+1)
         {
             delete sprayPtr;
-            sprayPtr = new Cloud<passiveParticle>(*meshPtr);
+            sprayPtr = new Cloud<passiveParticle>(*meshPtr, cloud::defaultName);
         }
     }
 }
-
-
diff --git a/src/OpenFOAM/fields/cloud/cloud.C b/src/OpenFOAM/fields/cloud/cloud.C
index 3a7b98e968..69cba912e0 100644
--- a/src/OpenFOAM/fields/cloud/cloud.C
+++ b/src/OpenFOAM/fields/cloud/cloud.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
@@ -30,10 +30,10 @@ License
 
 namespace Foam
 {
-defineTypeNameAndDebug(cloud, 0);
+    defineTypeNameAndDebug(cloud, 0);
 
-const word cloud::prefix("lagrangian");
-word cloud::defaultName("defaultCloud");
+    const word cloud::prefix("lagrangian");
+    word cloud::defaultName("defaultCloud");
 }
 
 
@@ -45,7 +45,7 @@ Foam::cloud::cloud(const objectRegistry& obr, const word& cloudName)
     (
         IOobject
         (
-            (cloudName.size() ? cloudName : defaultName),
+            cloudName,
             obr.time().timeName(),
             prefix,
             obr,
diff --git a/src/OpenFOAM/fields/cloud/cloud.H b/src/OpenFOAM/fields/cloud/cloud.H
index 4578588380..9b7aa43291 100644
--- a/src/OpenFOAM/fields/cloud/cloud.H
+++ b/src/OpenFOAM/fields/cloud/cloud.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
@@ -78,7 +78,7 @@ public:
     // Constructors
 
         //- Construct for the given objectRegistry and named cloud instance
-        cloud(const objectRegistry&, const word& cloudName = "");
+        cloud(const objectRegistry&, const word& cloudName = defaultName);
 
 
     //- Destructor
diff --git a/src/functionObjects/field/nearWallFields/nearWallFields.C b/src/functionObjects/field/nearWallFields/nearWallFields.C
index b63ee95583..063ff610f9 100644
--- a/src/functionObjects/field/nearWallFields/nearWallFields.C
+++ b/src/functionObjects/field/nearWallFields/nearWallFields.C
@@ -60,7 +60,12 @@ void Foam::functionObjects::nearWallFields::calcAddressing()
     DebugInFunction << "nPatchFaces: " << globalWalls.size() << endl;
 
     // Construct cloud
-    Cloud<findCellParticle> cloud(mesh_, IDLList<findCellParticle>());
+    Cloud<findCellParticle> cloud
+    (
+        mesh_,
+        cloud::defaultName,
+        IDLList<findCellParticle>()
+    );
 
     // Add particles to track to sample locations
     nPatchFaces = 0;
diff --git a/src/lagrangian/basic/Cloud/Cloud.C b/src/lagrangian/basic/Cloud/Cloud.C
index 1e108771a9..710e36bfd2 100644
--- a/src/lagrangian/basic/Cloud/Cloud.C
+++ b/src/lagrangian/basic/Cloud/Cloud.C
@@ -92,31 +92,6 @@ void Foam::Cloud<ParticleType>::calcCellWallFaces() const
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-template<class ParticleType>
-Foam::Cloud<ParticleType>::Cloud
-(
-    const polyMesh& pMesh,
-    const IDLList<ParticleType>& particles
-)
-:
-    cloud(pMesh),
-    IDLList<ParticleType>(),
-    polyMesh_(pMesh),
-    labels_(),
-    nTrackingRescues_(),
-    cellWallFacesPtr_()
-{
-    checkPatches();
-
-    // Ask for the tetBasePtIs to trigger all processors to build
-    // them, otherwise, if some processors have no particles then
-    // there is a comms mismatch.
-    polyMesh_.tetBasePtIs();
-
-    IDLList<ParticleType>::operator=(particles);
-}
-
-
 template<class ParticleType>
 Foam::Cloud<ParticleType>::Cloud
 (
@@ -139,7 +114,10 @@ Foam::Cloud<ParticleType>::Cloud
     // there is a comms mismatch.
     polyMesh_.tetBasePtIs();
 
-    IDLList<ParticleType>::operator=(particles);
+    if (particles.size())
+    {
+        IDLList<ParticleType>::operator=(particles);
+    }
 }
 
 
diff --git a/src/lagrangian/basic/Cloud/Cloud.H b/src/lagrangian/basic/Cloud/Cloud.H
index cb6b5eee81..2ad874691b 100644
--- a/src/lagrangian/basic/Cloud/Cloud.H
+++ b/src/lagrangian/basic/Cloud/Cloud.H
@@ -131,28 +131,12 @@ public:
 
         //- Construct from mesh and a list of particles
         Cloud
-        (
-            const polyMesh& mesh,
-            const IDLList<ParticleType>& particles
-        );
-
-        //- Construct from mesh, cloud name, and a list of particles
-        Cloud
         (
             const polyMesh& mesh,
             const word& cloudName,
             const IDLList<ParticleType>& particles
         );
 
-        //- Construct from mesh by reading from file
-        //  Optionally disable checking of class name for post-processing
-        Cloud
-        (
-            const polyMesh& mesh,
-            const bool checkClass = true
-        );
-
-
         //- Construct from mesh by reading from file with given cloud instance
         //  Optionally disable checking of class name for post-processing
         Cloud
diff --git a/src/lagrangian/basic/Cloud/CloudIO.C b/src/lagrangian/basic/Cloud/CloudIO.C
index 5cdba6ba86..0be85442e5 100644
--- a/src/lagrangian/basic/Cloud/CloudIO.C
+++ b/src/lagrangian/basic/Cloud/CloudIO.C
@@ -144,25 +144,6 @@ void Foam::Cloud<ParticleType>::initCloud(const bool checkClass)
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-template<class ParticleType>
-Foam::Cloud<ParticleType>::Cloud
-(
-    const polyMesh& pMesh,
-    const bool checkClass
-)
-:
-    cloud(pMesh),
-    polyMesh_(pMesh),
-    labels_(),
-    nTrackingRescues_(),
-    cellWallFacesPtr_()
-{
-    checkPatches();
-
-    initCloud(checkClass);
-}
-
-
 template<class ParticleType>
 Foam::Cloud<ParticleType>::Cloud
 (
-- 
GitLab


From dbacd28bd5c1db18e74da9ad64f168c0ea257c53 Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Wed, 21 Sep 2016 18:15:19 +0200
Subject: [PATCH 38/96] ENH: improve startup time for foamToEnsight conversion
 (issue #240).

Old code:
    Found 10990 time steps
    Search for moving mesh ... no moving mesh detected.
    Startup in 329.09 s

Updated:
    Found 10990 time steps
    Search for moving mesh ... no moving mesh detected.
    Startup in 1.6 s

- Cause was checking "polyMesh/points" via an IOobject.
  Short-circuit with a check for a polyMesh/ directory first.

  Limit the check to the master-node as well to further reduce
  load on the file-system.

------------------------------

ENH: improve per-step conversion times for foamToEnsight.

Old code:
    Converting 11001 time steps
    Time [0] = 0       Wrote in 1.53 s
    Time [1] = 1       Wrote in 1.52 s
    ...
    Time [100] = 100   Elapsed time 205.35 s

Updated:
    Converting 11001 time steps
    Time [0] = 0       Wrote in 1.4 s
    Time [1] = 1       Wrote in 0.07 s
    ...
    Time [100] = 100   Elapsed time 42.4 s

- Speedup by hashing test results from the first conversion step
  instead of checking each time.

  Check data on all nodes to avoid problems with incomplete writes.

------------------------------

BUG: moving mesh detection failed for foamToEnsightParts

- adjusted to agree with updated foamToEnsight

------------------------------

Note:

- foamToEnsightParts (serial) still has about twice the throughput of
  foamToEnsight.
---
 .../dataConversion/foamToEnsight/checkData.H  | 44 +++++++++++------
 .../foamToEnsight/checkMeshMoving.H           | 45 ++++++++++++-----
 .../foamToEnsight/foamToEnsight.C             | 36 +++++++++-----
 .../foamToEnsightParts/checkHasMovingMesh.H   | 49 +++++++++++++++----
 .../foamToEnsightParts/foamToEnsightParts.C   | 19 +++++--
 .../foamToEnsightParts/getTimeIndex.H         |  2 +-
 6 files changed, 138 insertions(+), 57 deletions(-)

diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkData.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkData.H
index dcc3ddd4ea..8116fcbe24 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkData.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkData.H
@@ -1,21 +1,33 @@
-// ignore special fields or fields that we don't handle
-//
-bool variableGood = true;
-for (label n1=0; n1<timeDirs.size() && variableGood; ++n1)
+// ignore special fields (_0 fields),
+// ignore fields we don't handle,
+// ignore fields that are not available for all time-steps
+
+// hash by field-name in fieldsToUse
+if (!fieldsToUse.found(fieldName))
 {
-    // ignore _0 fields
-    if (fieldName.size() > 2 && fieldName(fieldName.size() - 2, 2) == "_0")
+    bool variableGood = false;
+
+    forAll(timeDirs, n1)
     {
-        variableGood = false;
-    }
-    else
-    {
-        variableGood = IOobject
+        variableGood =
         (
-            fieldName,
-            timeDirs[n1].name(),
-            mesh,
-            IOobject::NO_READ
-        ).typeHeaderOk<volScalarField>(false);
+            fieldName.size() > 2 && fieldName(fieldName.size() - 2, 2) == "_0"
+          ? false
+          : IOobject
+            (
+                fieldName,
+                timeDirs[n1].name(),
+                mesh,
+                IOobject::NO_READ
+            ).typeHeaderOk<volScalarField>(false)
+        );
+
+        if (variableGood)
+        {
+            break;
+        }
     }
+
+    reduce(variableGood, andOp<bool>());
+    fieldsToUse.set(fieldName, variableGood);
 }
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkMeshMoving.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkMeshMoving.H
index a1b23a53a9..455fa33c66 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkMeshMoving.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkMeshMoving.H
@@ -1,27 +1,48 @@
 // check for "points" in any of the result directories
 
 bool meshMoving = false;
-if (timeDirs.size() > 1)
+
+if (timeDirs.size() > 1 && Pstream::master())
 {
-    // We already loaded a mesh (usually from constant). See if any other
-    // points files
+    // We already loaded a mesh (usually from constant).
+    // See if any other "polyMesh/points" files exist too.
+
+    const fileName& baseDir = mesh.time().path();
+
+    Info<< "Search for moving mesh ... " << flush;
     forAll(timeDirs, timeI)
     {
-        if (timeDirs[timeI].name() != mesh.pointsInstance())
-        {
-            meshMoving = IOobject
+        meshMoving =
+        (
+            timeDirs[timeI].name() != mesh.pointsInstance()
+         && isDir(baseDir/timeDirs[timeI].name()/polyMesh::meshSubDir)
+         && IOobject
             (
                 "points",
                 timeDirs[timeI].name(),
                 polyMesh::meshSubDir,
                 mesh,
-                IOobject::NO_READ
-            ).typeHeaderOk<pointIOField>(true);
+                IOobject::NO_READ,
+                IOobject::NO_WRITE,
+                false  // no register
+            ).typeHeaderOk<pointIOField>(true)
+        );
 
-            if (meshMoving)
-            {
-                break;
-            }
+        if (meshMoving)
+        {
+            break;
         }
     }
+
+    if (meshMoving)
+    {
+        Info<< "found." << nl
+            << "    Writing meshes for every timestep." << endl;
+    }
+    else
+    {
+        Info<< "none detected." << endl;
+    }
 }
+
+reduce(meshMoving, orOp<bool>());
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C
index ecfb4fe74d..eaf7577815 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C
@@ -189,7 +189,7 @@ int main(int argc, char *argv[])
     #include "setRootCase.H"
 
     // default to binary output, unless otherwise specified
-    const enum IOstream::streamFormat format =
+    const IOstream::streamFormat format =
     (
         args.optionFound("ascii")
       ? IOstream::ASCII
@@ -255,7 +255,9 @@ int main(int argc, char *argv[])
     if (Pstream::master())
     {
         fileName caseFileName = args.globalCaseName() + ".case";
-        Info<< nl << "write case: " << caseFileName.c_str() << endl;
+
+        Info<< "Converting " << timeDirs.size() << " time steps" << nl
+            << "Ensight case: " << caseFileName.c_str() << endl;
 
         // The case file is always ASCII
         ensightCaseFilePtr = new OFstream
@@ -333,12 +335,6 @@ int main(int argc, char *argv[])
 
     #include "checkMeshMoving.H"
 
-    if (meshMoving)
-    {
-        Info<< "Detected a moving mesh (multiple polyMesh/points files)."
-            << " Writing meshes for every timestep." << endl;
-    }
-
     if (Pstream::master())
     {
         // test the pre-check variable if there is a moving mesh
@@ -400,6 +396,11 @@ int main(int argc, char *argv[])
         cloudNames = allCloudNames.sortedToc();
     }
 
+    // ignore special fields (_0 fields),
+    // ignore fields we don't handle,
+    // ignore fields that are not available for all time-steps
+    HashTable<bool> fieldsToUse;
+
     HashTable<HashTable<word>> allCloudFields;
     forAll(cloudNames, cloudNo)
     {
@@ -451,6 +452,10 @@ int main(int argc, char *argv[])
         }
     }
 
+    Info<< "Startup in "
+        << timer.cpuTimeIncrement() << " s, "
+        << mem.update().size() << " kB" << nl << endl;
+
     label nTimeSteps = 0;
     forAll(timeDirs, timeIndex)
     {
@@ -515,7 +520,7 @@ int main(int argc, char *argv[])
         // ~~~~~~~~~~~~~~~~~~~~~~
         Info<< "Write volume field (";
 
-        for (label i=0; i<nVolFieldTypes; i++)
+        for (label i=0; i<nVolFieldTypes; ++i)
         {
             wordList fieldNames = objects.names(volFieldTypes[i]);
 
@@ -534,7 +539,7 @@ int main(int argc, char *argv[])
 
                 #include "checkData.H"
 
-                if (!variableGood)
+                if (!fieldsToUse[fieldName])
                 {
                     continue;
                 }
@@ -719,9 +724,14 @@ int main(int argc, char *argv[])
                         ensightCaseFile
                     );
                 }
+                else
+                {
+                    // Do not currently handle this type - blacklist for the future.
+                    fieldsToUse.set(fieldName, false);
+                }
             }
         }
-        Info<< " )" << endl;
+        Info<< " )" << nl;
 
 
         // Cloud field data output
@@ -808,12 +818,12 @@ int main(int argc, char *argv[])
                     );
                 }
             }
-            Info<< " )" << endl;
+            Info<< " )" << nl;
         }
 
         Info<< "Wrote in "
             << timer.cpuTimeIncrement() << " s, "
-            << mem.update().size() << " kB" << nl << endl;
+            << mem.update().size() << " kB" << nl << nl;
     }
 
     #include "ensightCaseTail.H"
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/checkHasMovingMesh.H b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/checkHasMovingMesh.H
index d59f258d35..15a4756949 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/checkHasMovingMesh.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/checkHasMovingMesh.H
@@ -2,18 +2,47 @@
 // - could restrict to the selected times
 
 bool hasMovingMesh = false;
-if (timeDirs.size() > 1)
+
+if (timeDirs.size() > 1 && Pstream::master())
 {
-    hasMovingMesh = true;
-    for (label i=0; i < timeDirs.size() && hasMovingMesh; ++i)
+    // We already loaded a mesh (usually from constant).
+    // See if any other "polyMesh/points" files exist too.
+
+    const fileName& baseDir = mesh.time().path();
+
+    Info<< "Search for moving mesh ... " << flush;
+    forAll(timeDirs, timeI)
     {
-        hasMovingMesh = IOobject
+        hasMovingMesh =
         (
-            "points",
-            timeDirs[i].name(),
-            polyMesh::meshSubDir,
-            mesh,
-            IOobject::NO_READ
-        ).typeHeaderOk<pointIOField>(true);
+            isDir(baseDir/timeDirs[timeI].name()/polyMesh::meshSubDir)
+         && IOobject
+            (
+                "points",
+                timeDirs[timeI].name(),
+                polyMesh::meshSubDir,
+                mesh,
+                IOobject::NO_READ,
+                IOobject::NO_WRITE,
+                false  // no register
+            ).typeHeaderOk<pointIOField>(true)
+        );
+
+        if (hasMovingMesh)
+        {
+            break;
+        }
+    }
+
+    if (hasMovingMesh)
+    {
+        Info<< "found." << nl
+            << "    Writing meshes for every timestep." << endl;
+    }
+    else
+    {
+        Info<< "none detected." << endl;
     }
 }
+
+reduce(hasMovingMesh, orOp<bool>());
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C
index 894361e38a..8f00f0128c 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C
@@ -149,11 +149,12 @@ int main(int argc, char *argv[])
     instantList timeDirs = timeSelector::select0(runTime, args);
 
     // default to binary output, unless otherwise specified
-    IOstream::streamFormat format = IOstream::BINARY;
-    if (args.optionFound("ascii"))
-    {
-        format = IOstream::ASCII;
-    }
+    const IOstream::streamFormat format =
+    (
+        args.optionFound("ascii")
+      ? IOstream::ASCII
+      : IOstream::BINARY
+    );
 
     // control for renumbering iterations
     label indexingNumber = 0;
@@ -204,6 +205,11 @@ int main(int argc, char *argv[])
         regionPrefix = regionName;
     }
 
+    if (Pstream::master())
+    {
+        Info<< "Converting " << timeDirs.size() << " time steps" << endl;
+    }
+
     // Construct the list of ensight parts for the entire mesh
     ensightParts partsList(mesh);
 
@@ -244,6 +250,9 @@ int main(int argc, char *argv[])
         cloudTimesUsed.insert(cloudIter.key(), DynamicList<label>());
     }
 
+    Info<< "Startup in "
+        << timer.cpuTimeIncrement() << " s, "
+        << mem.update().size() << " kB" << nl << endl;
 
     forAll(timeDirs, timeI)
     {
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/getTimeIndex.H b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/getTimeIndex.H
index 2b25364099..9d8e93dcd1 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/getTimeIndex.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/getTimeIndex.H
@@ -39,5 +39,5 @@
     }
 
     timeIndices.insert(timeIndex, timeDirs[timeI].value());
-    Info<< "\nTime [" << timeIndex << "] = " << runTime.timeName() << nl;
+    Info<< nl << "Time [" << timeIndex << "] = " << runTime.timeName() << nl;
 
-- 
GitLab


From 0e429dad08a7157d7120b95a27f281772eee284b Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Thu, 22 Sep 2016 08:34:15 +0100
Subject: [PATCH 39/96] wmake: export WM_SCHEDULER from sub-shell for non-POSIX
 bash compliance

---
 wmake/wmake | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/wmake/wmake b/wmake/wmake
index e7402a581b..ebf50cd4ba 100755
--- a/wmake/wmake
+++ b/wmake/wmake
@@ -337,7 +337,7 @@ then
 
     (
         export WM_COLLECT_DIR=$WM_PROJECT_DIR/platforms/${WM_OPTIONS}/${PWD////_}
-        WM_SCHEDULER=wmakeCollect
+        export WM_SCHEDULER=wmakeCollect
         trap '$WM_SCHEDULER -kill' TERM INT
         $WM_SCHEDULER -clean                                                   \
      && wmake -all objects                                                     \
-- 
GitLab


From 521d7a4aecbf4ba5ad440646c30a768214a41526 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Thu, 22 Sep 2016 14:10:45 +0100
Subject: [PATCH 40/96] globalIndexAndTransform: Support any number of
 transforms but no more than 3 per point Patch contributed by Mattijs Janssens
 Resolves bug-report http://bugs.openfoam.org/view.php?id=1815

---
 .../polyMesh/globalMeshData/globalMeshData.C  |  86 +++---
 .../polyMesh/globalMeshData/globalMeshData.H  |   1 -
 .../polyMesh/globalMeshData/globalPoints.C    |  66 ++---
 .../mapPolyMesh/mapDistribute/mapDistribute.C |  24 +-
 .../mapDistributeBaseTemplates.C              |   8 +-
 .../globalIndexAndTransform.C                 | 270 +++++++++++-------
 .../globalIndexAndTransform.H                 | 157 +++++-----
 .../globalIndexAndTransformI.H                | 142 ++++-----
 8 files changed, 384 insertions(+), 370 deletions(-)

diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C
index ac9649ccda..b03e5d4fb7 100644
--- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C
+++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C
@@ -24,19 +24,14 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "globalMeshData.H"
-#include "Time.H"
 #include "Pstream.H"
 #include "PstreamCombineReduceOps.H"
 #include "processorPolyPatch.H"
-#include "demandDrivenData.H"
 #include "globalPoints.H"
 #include "polyMesh.H"
 #include "mapDistribute.H"
 #include "labelIOList.H"
-#include "PackedList.H"
 #include "mergePoints.H"
-#include "matchPoints.H"
-#include "OFstream.H"
 #include "globalIndexAndTransform.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@@ -577,7 +572,7 @@ void Foam::globalMeshData::calcPointConnectivity
     labelPairList myData(globalPointSlavesMap().constructSize());
     forAll(slaves, pointi)
     {
-        myData[pointi] = globalIndexAndTransform::encode
+        myData[pointi] = transforms.encode
         (
             Pstream::myProcNo(),
             pointi,
@@ -624,9 +619,9 @@ void Foam::globalMeshData::calcPointConnectivity
                 );
                 // Add transform to connectivity
                 const labelPair& n = myData[pTransformSlaves[i]];
-                label proci = globalIndexAndTransform::processor(n);
-                label index = globalIndexAndTransform::index(n);
-                pConnectivity[connI++] = globalIndexAndTransform::encode
+                label proci = transforms.processor(n);
+                label index = transforms.index(n);
+                pConnectivity[connI++] = transforms.encode
                 (
                     proci,
                     index,
@@ -678,6 +673,8 @@ void Foam::globalMeshData::calcGlobalPointEdges
     const globalIndex& globalEdgeNumbers = globalEdgeNumbering();
     const labelListList& slaves = globalPointSlaves();
     const labelListList& transformedSlaves = globalPointTransformedSlaves();
+    const globalIndexAndTransform& transforms = globalTransforms();
+
 
     // Create local version
     globalPointEdges.setSize(globalPointSlavesMap().constructSize());
@@ -697,11 +694,11 @@ void Foam::globalMeshData::calcGlobalPointEdges
         forAll(pEdges, i)
         {
             label otherPointi = edges[pEdges[i]].otherVertex(pointi);
-            globalPPoints[i] = globalIndexAndTransform::encode
+            globalPPoints[i] = transforms.encode
             (
                 Pstream::myProcNo(),
                 otherPointi,
-                globalTransforms().nullTransformIndex()
+                transforms.nullTransformIndex()
             );
         }
     }
@@ -790,9 +787,9 @@ void Foam::globalMeshData::calcGlobalPointEdges
                 {
                     // Add transform to connectivity
                     const labelPair& n = otherData[j];
-                    label proci = globalIndexAndTransform::processor(n);
-                    label index = globalIndexAndTransform::index(n);
-                    globalPPoints[sz++] = globalIndexAndTransform::encode
+                    label proci = transforms.processor(n);
+                    label index = transforms.index(n);
+                    globalPPoints[sz++] = transforms.encode
                     (
                         proci,
                         index,
@@ -834,16 +831,18 @@ Foam::label Foam::globalMeshData::findTransform
     const label localPoint
 ) const
 {
-    const label remoteProci = globalIndexAndTransform::processor(remotePoint);
-    const label remoteIndex = globalIndexAndTransform::index(remotePoint);
+    const globalIndexAndTransform& transforms = globalTransforms();
+
+    const label remoteProci = transforms.processor(remotePoint);
+    const label remoteIndex = transforms.index(remotePoint);
 
     label remoteTransformI = -1;
     label localTransformI = -1;
     forAll(info, i)
     {
-        label proci = globalIndexAndTransform::processor(info[i]);
-        label pointi = globalIndexAndTransform::index(info[i]);
-        label transformI = globalIndexAndTransform::transformIndex(info[i]);
+        label proci = transforms.processor(info[i]);
+        label pointi = transforms.index(info[i]);
+        label transformI = transforms.transformIndex(info[i]);
 
         if (proci == Pstream::myProcNo() && pointi == localPoint)
         {
@@ -875,7 +874,7 @@ Foam::label Foam::globalMeshData::findTransform
             << abort(FatalError);
     }
 
-    return globalTransforms().subtractTransformIndex
+    return transforms.subtractTransformIndex
     (
         remoteTransformI,
         localTransformI
@@ -893,6 +892,7 @@ void Foam::globalMeshData::calcGlobalEdgeSlaves() const
 
     const edgeList& edges = coupledPatch().edges();
     const globalIndex& globalEdgeNumbers = globalEdgeNumbering();
+    const globalIndexAndTransform& transforms = globalTransforms();
 
 
     // The whole problem with deducting edge-connectivity from
@@ -941,11 +941,11 @@ void Foam::globalMeshData::calcGlobalEdgeSlaves() const
         // Append myself.
         eEdges.append
         (
-            globalIndexAndTransform::encode
+            transforms.encode
             (
                 Pstream::myProcNo(),
                 edgeI,
-                globalTransforms().nullTransformIndex()
+                transforms.nullTransformIndex()
             )
         );
 
@@ -986,7 +986,7 @@ void Foam::globalMeshData::calcGlobalEdgeSlaves() const
                         label proci = globalEdgeNumbers.whichProcID(pEdges0[i]);
                         eEdges.append
                         (
-                            globalIndexAndTransform::encode
+                            transforms.encode
                             (
                                 proci,
                                 globalEdgeNumbers.toLocal(proci, pEdges0[i]),
@@ -999,7 +999,11 @@ void Foam::globalMeshData::calcGlobalEdgeSlaves() const
         }
 
         allEdgeConnectivity[edgeI].transfer(eEdges);
-        sort(allEdgeConnectivity[edgeI], globalIndexAndTransform::less());
+        sort
+        (
+            allEdgeConnectivity[edgeI],
+            globalIndexAndTransform::less(transforms)
+        );
     }
 
     // We now have - in allEdgeConnectivity - a list of edges which are shared
@@ -1020,10 +1024,10 @@ void Foam::globalMeshData::calcGlobalEdgeSlaves() const
             if
             (
                 (
-                    globalIndexAndTransform::processor(masterInfo)
+                    transforms.processor(masterInfo)
                  == Pstream::myProcNo()
                 )
-             && (globalIndexAndTransform::index(masterInfo) == edgeI)
+             && (transforms.index(masterInfo) == edgeI)
             )
             {
                 // Sort into transformed and untransformed
@@ -1039,14 +1043,14 @@ void Foam::globalMeshData::calcGlobalEdgeSlaves() const
                 for (label i = 1; i < edgeInfo.size(); i++)
                 {
                     const labelPair& info = edgeInfo[i];
-                    label proci = globalIndexAndTransform::processor(info);
-                    label index = globalIndexAndTransform::index(info);
-                    label transform = globalIndexAndTransform::transformIndex
+                    label proci = transforms.processor(info);
+                    label index = transforms.index(info);
+                    label transform = transforms.transformIndex
                     (
                         info
                     );
 
-                    if (transform == globalTransforms().nullTransformIndex())
+                    if (transform == transforms.nullTransformIndex())
                     {
                         eEdges[nonTransformI++] = globalEdgeNumbers.toGlobal
                         (
@@ -1078,7 +1082,7 @@ void Foam::globalMeshData::calcGlobalEdgeSlaves() const
             globalEdgeNumbers,
             globalEdgeSlaves,
 
-            globalTransforms(),
+            transforms,
             transformedEdges,
             globalEdgeTransformedSlavesPtr_(),
 
@@ -1351,6 +1355,7 @@ void Foam::globalMeshData::calcGlobalPointBoundaryFaces() const
     const labelListList& pointSlaves = globalPointSlaves();
     const labelListList& pointTransformSlaves =
         globalPointTransformedSlaves();
+    const globalIndexAndTransform& transforms = globalTransforms();
 
 
     // Any faces coming in through transformation
@@ -1432,7 +1437,7 @@ void Foam::globalMeshData::calcGlobalPointBoundaryFaces() const
                         label proci = globalIndices.whichProcID(slave);
                         label facei = globalIndices.toLocal(proci, slave);
 
-                        myBFaces[n++] = globalIndexAndTransform::encode
+                        myBFaces[n++] = transforms.encode
                         (
                             proci,
                             facei,
@@ -1466,7 +1471,7 @@ void Foam::globalMeshData::calcGlobalPointBoundaryFaces() const
             globalIndices,
             globalPointBoundaryFaces,
 
-            globalTransforms(),
+            transforms,
             transformedFaces,
             globalPointTransformedBoundaryFacesPtr_(),
 
@@ -1581,6 +1586,7 @@ void Foam::globalMeshData::calcGlobalPointBoundaryCells() const
     const labelListList& pointSlaves = globalPointSlaves();
     const labelListList& pointTransformSlaves =
         globalPointTransformedSlaves();
+    const globalIndexAndTransform& transforms = globalTransforms();
 
     List<labelPairList> transformedCells(pointSlaves.size());
 
@@ -1660,7 +1666,7 @@ void Foam::globalMeshData::calcGlobalPointBoundaryCells() const
                     {
                         label proci = globalIndices.whichProcID(slave);
                         label celli = globalIndices.toLocal(proci, slave);
-                        myBCells[n++] = globalIndexAndTransform::encode
+                        myBCells[n++] = transforms.encode
                         (
                             proci,
                             celli,
@@ -1693,7 +1699,7 @@ void Foam::globalMeshData::calcGlobalPointBoundaryCells() const
             globalIndices,
             globalPointBoundaryCells,
 
-            globalTransforms(),
+            transforms,
             transformedCells,
             globalPointTransformedBoundaryCellsPtr_(),
 
@@ -1765,12 +1771,12 @@ Foam::globalMeshData::globalMeshData(const polyMesh& mesh)
     processorPatchIndices_(0),
     processorPatchNeighbours_(0),
     nGlobalPoints_(-1),
-    sharedPointLabelsPtr_(nullptr),
-    sharedPointAddrPtr_(nullptr),
-    sharedPointGlobalLabelsPtr_(nullptr),
+    sharedPointLabelsPtr_(NULL),
+    sharedPointAddrPtr_(NULL),
+    sharedPointGlobalLabelsPtr_(NULL),
     nGlobalEdges_(-1),
-    sharedEdgeLabelsPtr_(nullptr),
-    sharedEdgeAddrPtr_(nullptr)
+    sharedEdgeLabelsPtr_(NULL),
+    sharedEdgeAddrPtr_(NULL)
 {
     updateMesh();
 }
diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.H b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.H
index 8e94ec82fb..29ca8855a6 100644
--- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.H
+++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.H
@@ -72,7 +72,6 @@ See also
     mapDistribute
     globalIndexAndTransform
 
-
 SourceFiles
     globalMeshData.C
     globalMeshDataTemplates.C
diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalPoints.C b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalPoints.C
index 524eb52abe..88b3113a58 100644
--- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalPoints.C
+++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalPoints.C
@@ -64,15 +64,15 @@ Foam::label Foam::globalPoints::findSamePoint
     const labelPair& info
 ) const
 {
-    const label proci = globalIndexAndTransform::processor(info);
-    const label index = globalIndexAndTransform::index(info);
+    const label proci = globalTransforms_.processor(info);
+    const label index = globalTransforms_.index(info);
 
     forAll(allInfo, i)
     {
         if
         (
-            globalIndexAndTransform::processor(allInfo[i]) == proci
-         && globalIndexAndTransform::index(allInfo[i]) == index
+            globalTransforms_.processor(allInfo[i]) == proci
+         && globalTransforms_.index(allInfo[i]) == index
         )
         {
             return i;
@@ -98,21 +98,21 @@ Foam::labelPairList Foam::globalPoints::addSendTransform
     forAll(info, i)
     {
         //Pout<< "    adding send transform to" << nl
-        //    << "    proc:" << globalIndexAndTransform::processor(info[i])
+        //    << "    proc:" << globalTransforms_.processor(info[i])
         //    << nl
-        //    << "    index:" << globalIndexAndTransform::index(info[i]) << nl
+        //    << "    index:" << globalTransforms_.index(info[i]) << nl
         //    << "    trafo:"
         //    <<  globalTransforms_.decodeTransformIndex
-        //        (globalIndexAndTransform::transformIndex(info[i]))
+        //        (globalTransforms_.transformIndex(info[i]))
         //    << endl;
 
-        sendInfo[i] = globalIndexAndTransform::encode
+        sendInfo[i] = globalTransforms_.encode
         (
-            globalIndexAndTransform::processor(info[i]),
-            globalIndexAndTransform::index(info[i]),
+            globalTransforms_.processor(info[i]),
+            globalTransforms_.index(info[i]),
             globalTransforms_.addToTransformIndex
             (
-                globalIndexAndTransform::transformIndex(info[i]),
+                globalTransforms_.transformIndex(info[i]),
                 patchi,
                 true,           // patchi is sending side
                 tol             // tolerance for comparison
@@ -204,11 +204,11 @@ bool Foam::globalPoints::mergeInfo
             }
             else
             {
-                label myTransform = globalIndexAndTransform::transformIndex
+                label myTransform = globalTransforms_.transformIndex
                 (
                     myInfo[index]
                 );
-                label nbrTransform = globalIndexAndTransform::transformIndex
+                label nbrTransform = globalTransforms_.transformIndex
                 (
                     nbrInfo[i]
                 );
@@ -294,7 +294,7 @@ bool Foam::globalPoints::mergeInfo
         labelPairList knownInfo
         (
             1,
-            globalIndexAndTransform::encode
+            globalTransforms_.encode
             (
                 Pstream::myProcNo(),
                 localPointi,
@@ -356,9 +356,9 @@ void Foam::globalPoints::printProcPoint
     const labelPair& pointInfo
 ) const
 {
-    label proci = globalIndexAndTransform::processor(pointInfo);
-    label index = globalIndexAndTransform::index(pointInfo);
-    label trafoI = globalIndexAndTransform::transformIndex(pointInfo);
+    label proci = globalTransforms_.processor(pointInfo);
+    label index = globalTransforms_.index(pointInfo);
+    label trafoI = globalTransforms_.transformIndex(pointInfo);
 
     Pout<< "    proc:" << proci;
     Pout<< " localpoint:";
@@ -421,7 +421,7 @@ void Foam::globalPoints::initOwnPoints
                     labelPairList knownInfo
                     (
                         1,
-                        globalIndexAndTransform::encode
+                        globalTransforms_.encode
                         (
                             Pstream::myProcNo(),
                             localPointi,
@@ -457,7 +457,7 @@ void Foam::globalPoints::initOwnPoints
                     labelPairList knownInfo
                     (
                         1,
-                        globalIndexAndTransform::encode
+                        globalTransforms_.encode
                         (
                             Pstream::myProcNo(),
                             localPointi,
@@ -750,8 +750,8 @@ void Foam::globalPoints::remove
             // is in it. This would be an ordinary connection and can be
             // handled by normal face-face connectivity.
 
-            label proc0 = globalIndexAndTransform::processor(pointInfo[0]);
-            label proc1 = globalIndexAndTransform::processor(pointInfo[1]);
+            label proc0 = globalTransforms_.processor(pointInfo[0]);
+            label proc1 = globalTransforms_.processor(pointInfo[1]);
 
             if
             (
@@ -759,14 +759,14 @@ void Foam::globalPoints::remove
                     proc0 == Pstream::myProcNo()
                  && directNeighbours.found
                     (
-                        globalIndexAndTransform::index(pointInfo[0])
+                        globalTransforms_.index(pointInfo[0])
                     )
                 )
              || (
                     proc1 == Pstream::myProcNo()
                  && directNeighbours.found
                     (
-                        globalIndexAndTransform::index(pointInfo[1])
+                        globalTransforms_.index(pointInfo[1])
                     )
                 )
             )
@@ -776,14 +776,14 @@ void Foam::globalPoints::remove
                 {
                     //Pout<< "Removing direct neighbour:"
                     //    << mesh_.points()
-                    //       [globalIndexAndTransform::index(pointInfo[0])]
+                    //       [globalTransforms_.index(pointInfo[0])]
                     //    << endl;
                 }
                 else if (proc1 == Pstream::myProcNo())
                 {
                     //Pout<< "Removing direct neighbour:"
                     //    << mesh_.points()
-                    //       [globalIndexAndTransform::index(pointInfo[1])]
+                    //       [globalTransforms_.index(pointInfo[1])]
                     //    << endl;
                 }
             }
@@ -812,11 +812,11 @@ void Foam::globalPoints::remove
             // So this meshPoint will have info of size one only.
             if
             (
-                globalIndexAndTransform::processor(pointInfo[0])
+                globalTransforms_.processor(pointInfo[0])
              != Pstream::myProcNo()
              || !directNeighbours.found
                 (
-                    globalIndexAndTransform::index(pointInfo[0])
+                    globalTransforms_.index(pointInfo[0])
                 )
             )
             {
@@ -995,7 +995,7 @@ void Foam::globalPoints::calculateSharedPoints
     forAllConstIter(Map<label>, meshToProcPoint_, iter)
     {
         labelPairList& pointInfo = procPoints_[iter()];
-        sort(pointInfo, globalIndexAndTransform::less());
+        sort(pointInfo, globalIndexAndTransform::less(globalTransforms_));
     }
 
 
@@ -1017,10 +1017,10 @@ void Foam::globalPoints::calculateSharedPoints
             if
             (
                 (
-                    globalIndexAndTransform::processor(masterInfo)
+                    globalTransforms_.processor(masterInfo)
                  == Pstream::myProcNo()
                 )
-             && (globalIndexAndTransform::index(masterInfo) == iter.key())
+             && (globalTransforms_.index(masterInfo) == iter.key())
             )
             {
                 labelList& pPoints = pointPoints_[iter.key()];
@@ -1035,9 +1035,9 @@ void Foam::globalPoints::calculateSharedPoints
                 for (label i = 1; i < pointInfo.size(); i++)
                 {
                     const labelPair& info = pointInfo[i];
-                    label proci = globalIndexAndTransform::processor(info);
-                    label index = globalIndexAndTransform::index(info);
-                    label transform = globalIndexAndTransform::transformIndex
+                    label proci = globalTransforms_.processor(info);
+                    label index = globalTransforms_.index(info);
+                    label transform = globalTransforms_.transformIndex
                     (
                         info
                     );
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistribute.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistribute.C
index 05323ace54..65f5158ca5 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistribute.C
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistribute.C
@@ -270,10 +270,10 @@ Foam::mapDistribute::mapDistribute
     forAll(transformedElements, i)
     {
         labelPair elem = transformedElements[i];
-        label proci = globalIndexAndTransform::processor(elem);
+        label proci = globalTransforms.processor(elem);
         if (proci != Pstream::myProcNo())
         {
-            label index = globalIndexAndTransform::index(elem);
+            label index = globalTransforms.index(elem);
             label nCompact = compactMap[proci].size();
             compactMap[proci].insert(index, nCompact);
         }
@@ -301,7 +301,7 @@ Foam::mapDistribute::mapDistribute
     forAll(transformedElements, i)
     {
         labelPair elem = transformedElements[i];
-        label trafoI = globalIndexAndTransform::transformIndex(elem);
+        label trafoI = globalTransforms.transformIndex(elem);
         nPerTransform[trafoI]++;
     }
     // Offset per transformIndex
@@ -321,9 +321,9 @@ Foam::mapDistribute::mapDistribute
     forAll(transformedElements, i)
     {
         labelPair elem = transformedElements[i];
-        label proci = globalIndexAndTransform::processor(elem);
-        label index = globalIndexAndTransform::index(elem);
-        label trafoI = globalIndexAndTransform::transformIndex(elem);
+        label proci = globalTransforms.processor(elem);
+        label index = globalTransforms.index(elem);
+        label trafoI = globalTransforms.transformIndex(elem);
 
         // Get compact index for untransformed element
         label rawElemI =
@@ -378,10 +378,10 @@ Foam::mapDistribute::mapDistribute
 
         forAll(elems, i)
         {
-            label proci = globalIndexAndTransform::processor(elems[i]);
+            label proci = globalTransforms.processor(elems[i]);
             if (proci != Pstream::myProcNo())
             {
-                label index = globalIndexAndTransform::index(elems[i]);
+                label index = globalTransforms.index(elems[i]);
                 label nCompact = compactMap[proci].size();
                 compactMap[proci].insert(index, nCompact);
             }
@@ -413,7 +413,7 @@ Foam::mapDistribute::mapDistribute
 
         forAll(elems, i)
         {
-            label trafoI = globalIndexAndTransform::transformIndex(elems[i]);
+            label trafoI = globalTransforms.transformIndex(elems[i]);
             nPerTransform[trafoI]++;
         }
     }
@@ -438,9 +438,9 @@ Foam::mapDistribute::mapDistribute
 
         forAll(elems, i)
         {
-            label proci = globalIndexAndTransform::processor(elems[i]);
-            label index = globalIndexAndTransform::index(elems[i]);
-            label trafoI = globalIndexAndTransform::transformIndex(elems[i]);
+            label proci = globalTransforms.processor(elems[i]);
+            label index = globalTransforms.index(elems[i]);
+            label trafoI = globalTransforms.transformIndex(elems[i]);
 
             // Get compact index for untransformed element
             label rawElemI =
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C
index 0380f5d8ad..a445d79f2a 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C
@@ -461,7 +461,7 @@ void Foam::mapDistributeBase::distribute
         {
             // Set up sends to neighbours
 
-            List<List<T>> sendFields(Pstream::nProcs());
+            List<List<T > > sendFields(Pstream::nProcs());
 
             for (label domain = 0; domain < Pstream::nProcs(); domain++)
             {
@@ -495,7 +495,7 @@ void Foam::mapDistributeBase::distribute
 
             // Set up receives from neighbours
 
-            List<List<T>> recvFields(Pstream::nProcs());
+            List<List<T > > recvFields(Pstream::nProcs());
 
             for (label domain = 0; domain < Pstream::nProcs(); domain++)
             {
@@ -938,7 +938,7 @@ void Foam::mapDistributeBase::distribute
         {
             // Set up sends to neighbours
 
-            List<List<T>> sendFields(Pstream::nProcs());
+            List<List<T > > sendFields(Pstream::nProcs());
 
             for (label domain = 0; domain < Pstream::nProcs(); domain++)
             {
@@ -972,7 +972,7 @@ void Foam::mapDistributeBase::distribute
 
             // Set up receives from neighbours
 
-            List<List<T>> recvFields(Pstream::nProcs());
+            List<List<T > > recvFields(Pstream::nProcs());
 
             for (label domain = 0; domain < Pstream::nProcs(); domain++)
             {
diff --git a/src/OpenFOAM/primitives/globalIndexAndTransform/globalIndexAndTransform.C b/src/OpenFOAM/primitives/globalIndexAndTransform/globalIndexAndTransform.C
index d97ea2b84c..b6ca5a26ef 100644
--- a/src/OpenFOAM/primitives/globalIndexAndTransform/globalIndexAndTransform.C
+++ b/src/OpenFOAM/primitives/globalIndexAndTransform/globalIndexAndTransform.C
@@ -25,13 +25,14 @@ License
 
 #include "globalIndexAndTransform.H"
 #include "cyclicPolyPatch.H"
+#include "DynamicField.H"
+#include "globalMeshData.H"
 
 // * * * * * * * * * * * * Private Static Data Members * * * * * * * * * * * //
 
 namespace Foam
 {
-defineTypeNameAndDebug(globalIndexAndTransform, 0);
-const label globalIndexAndTransform::base_ = 32;
+    defineTypeNameAndDebug(globalIndexAndTransform, 0);
 }
 
 
@@ -127,10 +128,8 @@ void Foam::globalIndexAndTransform::determineTransforms()
 {
     const polyBoundaryMesh& patches = mesh_.boundaryMesh();
 
-    transforms_ = List<vectorTensorTransform>(6);
-    scalarField maxTol(6);
-
-    label nextTrans = 0;
+    DynamicList<vectorTensorTransform> localTransforms;
+    DynamicField<scalar> localTols;
 
     label dummyMatch = -1;
 
@@ -170,7 +169,7 @@ void Foam::globalIndexAndTransform::determineTransforms()
                         (
                             matchTransform
                             (
-                                transforms_,
+                                localTransforms,
                                 dummyMatch,
                                 transform,
                                 cpp.matchTolerance(),
@@ -178,15 +177,8 @@ void Foam::globalIndexAndTransform::determineTransforms()
                             ) == 0
                         )
                         {
-                            if (nextTrans == 6)
-                            {
-                                FatalErrorInFunction
-                                    << "More than six unsigned transforms"
-                                    << " detected:" << nl << transforms_
-                                    << exit(FatalError);
-                            }
-                            transforms_[nextTrans] = transform;
-                            maxTol[nextTrans++] = cpp.matchTolerance();
+                            localTransforms.append(transform);
+                            localTols.append(cpp.matchTolerance());
                         }
                     }
                 }
@@ -207,7 +199,7 @@ void Foam::globalIndexAndTransform::determineTransforms()
                         (
                             matchTransform
                             (
-                                transforms_,
+                                localTransforms,
                                 dummyMatch,
                                 transform,
                                 cpp.matchTolerance(),
@@ -215,15 +207,8 @@ void Foam::globalIndexAndTransform::determineTransforms()
                             ) == 0
                         )
                         {
-                            if (nextTrans == 6)
-                            {
-                                FatalErrorInFunction
-                                    << "More than six unsigned transforms"
-                                    << " detected:" << nl << transforms_
-                                    << exit(FatalError);
-                            }
-                            transforms_[nextTrans] = transform;
-                            maxTol[nextTrans++] = cpp.matchTolerance();
+                            localTransforms.append(transform);
+                            localTols.append(cpp.matchTolerance());
                         }
                     }
                 }
@@ -233,21 +218,18 @@ void Foam::globalIndexAndTransform::determineTransforms()
 
 
     // Collect transforms on master
-
     List<List<vectorTensorTransform>> allTransforms(Pstream::nProcs());
-    allTransforms[Pstream::myProcNo()] = transforms_;
+    allTransforms[Pstream::myProcNo()] = localTransforms;
     Pstream::gatherList(allTransforms);
 
     // Collect matching tolerance on master
     List<scalarField> allTols(Pstream::nProcs());
-    allTols[Pstream::myProcNo()] = maxTol;
+    allTols[Pstream::myProcNo()] = localTols;
     Pstream::gatherList(allTols);
 
     if (Pstream::master())
     {
-        transforms_ = List<vectorTensorTransform>(3);
-
-        label nextTrans = 0;
+        localTransforms.clear();
 
         forAll(allTransforms, proci)
         {
@@ -264,45 +246,23 @@ void Foam::globalIndexAndTransform::determineTransforms()
                     (
                         matchTransform
                         (
-                            transforms_,
+                            localTransforms,
                             dummyMatch,
                             transform,
                             allTols[proci][pSVI],
                             true
-                        ) ==  0
+                        ) == 0
                     )
                     {
-                        transforms_[nextTrans++] = transform;
-                    }
-
-                    if (nextTrans > 3)
-                    {
-                        FatalErrorInFunction
-                            << "More than three independent basic "
-                            << "transforms detected:" << nl
-                            << allTransforms
-                            << transforms_
-                            << exit(FatalError);
+                        localTransforms.append(transform);
                     }
                 }
             }
         }
-
-        transforms_.setSize(nextTrans);
     }
 
+    transforms_.transfer(localTransforms);
     Pstream::scatter(transforms_);
-
-    if (transforms_.size() > 3)
-    {
-        WarningInFunction
-            << "More than three independent basic "
-            << "transforms detected:" << nl
-            << transforms_ << nl
-            << "This is not a space filling tiling and will probably"
-            << " give problems for e.g. lagrangian tracking or interpolation"
-            << endl;
-    }
 }
 
 
@@ -351,16 +311,12 @@ void Foam::globalIndexAndTransform::determinePatchTransformSign()
 {
     const polyBoundaryMesh& patches = mesh_.boundaryMesh();
 
-    patchTransformSign_.setSize(patches.size(), Pair<label>(-1, 0));
-
-    label matchTransI = -1;
+    patchTransformSign_.setSize(patches.size(), labelPair(-1, 0));
 
     forAll(patches, patchi)
     {
         const polyPatch& pp = patches[patchi];
 
-        // Pout<< nl << patchi << " " << pp.name() << endl;
-
         // Note: special check for unordered cyclics. These are in fact
         // transform bcs and should probably be split off.
         if
@@ -375,15 +331,12 @@ void Foam::globalIndexAndTransform::determinePatchTransformSign()
             )
         )
         {
-            const coupledPolyPatch& cpp =
-            refCast<const coupledPolyPatch>(pp);
+            const coupledPolyPatch& cpp = refCast<const coupledPolyPatch>(pp);
 
             if (cpp.separated())
             {
                 const vectorField& sepVecs = cpp.separation();
 
-                // Pout<< "sepVecs " << sepVecs << endl;
-
                 // This loop is implicitly expecting only a single
                 // value for separation()
                 forAll(sepVecs, sVI)
@@ -394,6 +347,7 @@ void Foam::globalIndexAndTransform::determinePatchTransformSign()
                     {
                         vectorTensorTransform t(sepVec);
 
+                        label matchTransI;
                         label sign = matchTransform
                         (
                             transforms_,
@@ -402,22 +356,8 @@ void Foam::globalIndexAndTransform::determinePatchTransformSign()
                             cpp.matchTolerance(),
                             true
                         );
-
-                        // Pout<< sign << " " << matchTransI << endl;
-
-                        // List<label> permutation(transforms_.size(), 0);
-
-                        // permutation[matchTransI] = sign;
-
-                        // Pout<< encodeTransformIndex(permutation) << nl
-                        //     << transformPermutations_
-                        //        [
-                        //            encodeTransformIndex(permutation)
-                        //        ]
-                        //     << endl;
-
                         patchTransformSign_[patchi] =
-                            Pair<label>(matchTransI, sign);
+                            labelPair(matchTransI, sign);
                     }
                 }
 
@@ -426,8 +366,6 @@ void Foam::globalIndexAndTransform::determinePatchTransformSign()
             {
                 const tensorField& transTensors = cpp.reverseT();
 
-                // Pout<< "transTensors " << transTensors << endl;
-
                 // This loop is implicitly expecting only a single
                 // value for reverseT()
                 forAll(transTensors, tTI)
@@ -438,6 +376,7 @@ void Foam::globalIndexAndTransform::determinePatchTransformSign()
                     {
                         vectorTensorTransform t(transT);
 
+                        label matchTransI;
                         label sign = matchTransform
                         (
                             transforms_,
@@ -447,37 +386,65 @@ void Foam::globalIndexAndTransform::determinePatchTransformSign()
                             true
                         );
 
-                        // Pout<< sign << " " << matchTransI << endl;
-
-                        // List<label> permutation(transforms_.size(), 0);
-
-                        // permutation[matchTransI] = sign;
-
-                        // Pout<< encodeTransformIndex(permutation) << nl
-                        //     << transformPermutations_
-                        //        [
-                        //            encodeTransformIndex(permutation)
-                        //        ]
-                        //     << endl;
-
                         patchTransformSign_[patchi] =
-                            Pair<label>(matchTransI, sign);
+                            labelPair(matchTransI, sign);
                     }
                 }
             }
         }
     }
+}
+
+
+bool Foam::globalIndexAndTransform::uniqueTransform
+(
+    const point& pt,
+    labelPairList& trafos,
+    const label patchi,
+    const labelPair& patchTrafo
+) const
+{
+    if (findIndex(trafos, patchTrafo) == -1)
+    {
+        // New transform. Check if already have 3
+        if (trafos.size() == 3)
+        {
+            if (patchi > -1)
+            {
+                WarningInFunction
+                    << "Point " << pt
+                    << " is on patch " << mesh_.boundaryMesh()[patchi].name();
+            }
+            else
+            {
+                WarningInFunction
+                    << "Point " << pt << " is on a coupled patch";
+            }
+            Warning
+                << " with transformation " << patchTrafo
+                << " but also on 3 other patches with transforms "
+                << trafos << nl
+                << "This is not a space filling tiling and might"
+                << " indicate a setup problem and give problems"
+                << " for e.g. lagrangian tracking or interpolation" << endl;
+
+            // Already warned so no need to extend more
+            trafos.clear();
+            return false;
+        }
 
-    // Pout<< patchTransformSign_ << endl;
+        return true;
+    }
+    else
+    {
+        return false;
+    }
 }
 
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::globalIndexAndTransform::globalIndexAndTransform
-(
-    const polyMesh& mesh
-)
+Foam::globalIndexAndTransform::globalIndexAndTransform(const polyMesh& mesh)
 :
     mesh_(mesh),
     transforms_(),
@@ -546,13 +513,102 @@ Foam::globalIndexAndTransform::globalIndexAndTransform
         Info<< "nullTransformIndex:" << nullTransformIndex() << endl
             << endl;
     }
-}
 
 
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
+    if (transforms_.size() > 0)
+    {
+        // Check that the transforms are space filling : any point
+        // can only use up to three transforms
+
+        const polyBoundaryMesh& patches = mesh_.boundaryMesh();
+
+
+        // 1. Collect transform&sign per point and do local check
+
+        List<labelPairList> pointToTrafos(mesh_.nPoints());
+
+        forAll(patches, patchi)
+        {
+            const polyPatch& pp = patches[patchi];
+
+            const labelPair& transSign = patchTransformSign_[patchi];
+
+            if (transSign.first() > -1)
+            {
+                const labelList& mp = pp.meshPoints();
+                forAll(mp, i)
+                {
+                    labelPairList& trafos = pointToTrafos[mp[i]];
+
+                    bool newTransform = uniqueTransform
+                    (
+                        mesh_.points()[mp[i]],
+                        trafos,
+                        patchi,
+                        transSign
+                    );
+
+                    if (newTransform)
+                    {
+                        trafos.append(transSign);
+                    }
+                }
+            }
+        }
+
+
+        // Synchronise across collocated (= untransformed) points
+        // TBD: there is a big problem in that globalMeshData uses
+        //      globalIndexAndTransform. Triggers recursion.
+        if (false)
+        {
+            const globalMeshData& gmd = mesh_.globalData();
+            const indirectPrimitivePatch& cpp = gmd.coupledPatch();
+            const labelList& meshPoints = cpp.meshPoints();
+            const mapDistribute& slavesMap = gmd.globalCoPointSlavesMap();
+            const labelListList& slaves = gmd.globalCoPointSlaves();
+
+            List<labelPairList> elems(slavesMap.constructSize());
+            forAll(meshPoints, i)
+            {
+                elems[i] = pointToTrafos[meshPoints[i]];
+            }
+
+            // Pull slave data onto master. No need to update transformed slots.
+            slavesMap.distribute(elems, false);
+
+            // Combine master data with slave data
+            forAll(slaves, i)
+            {
+                labelPairList& trafos = elems[i];
+
+                const labelList& slavePoints = slaves[i];
+
+                // Combine master with untransformed slave data
+                forAll(slavePoints, j)
+                {
+                    const labelPairList& slaveTrafos = elems[slavePoints[j]];
+
+                    forAll(slaveTrafos, slaveI)
+                    {
+                        bool newTransform = uniqueTransform
+                        (
+                            mesh_.points()[meshPoints[i]],
+                            trafos,
+                            -1,
+                            slaveTrafos[slaveI]
+                        );
 
-Foam::globalIndexAndTransform::~globalIndexAndTransform()
-{}
+                        if (newTransform)
+                        {
+                            trafos.append(slaveTrafos[slaveI]);
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
 
 
 // ************************************************************************* //
diff --git a/src/OpenFOAM/primitives/globalIndexAndTransform/globalIndexAndTransform.H b/src/OpenFOAM/primitives/globalIndexAndTransform/globalIndexAndTransform.H
index 41274d7ab1..e53a9f71d6 100644
--- a/src/OpenFOAM/primitives/globalIndexAndTransform/globalIndexAndTransform.H
+++ b/src/OpenFOAM/primitives/globalIndexAndTransform/globalIndexAndTransform.H
@@ -28,7 +28,9 @@ Description
     Determination and storage of the possible independent transforms
     introduced by coupledPolyPatches, as well as all of the possible
     permutations of these transforms generated by the presence of
-    multiple coupledPolyPatches, i.e. more than one cyclic boundary.
+    multiple coupledPolyPatches, i.e. more than one cyclic boundary. Note that
+    any given point can be on maximum 3 transforms only (and these transforms
+    have to be perpendicular)
 
     Also provides global index encoding and decoding for entity
     (i.e. cell) index, processor index and transform index (0 or
@@ -71,8 +73,15 @@ public:
         //  - transform
         class less
         {
+            const globalIndexAndTransform& gi_;
+
         public:
 
+            less(const globalIndexAndTransform& gi)
+            :
+                gi_(gi)
+            {}
+
             inline bool operator()(const labelPair&, const labelPair&) const;
         };
 
@@ -87,10 +96,8 @@ private:
         //- The possible independent (non-permuted) transforms of the
         //  geometry, i.e. for a geometry with two cyclics, this
         //  stores the two transforms, not the eight permutations.
-        //  There may not be more than three transforms in the range
-        //  of coupledPolyPatch geometries (separated XOR
-        //  non-parallel) and symmetries (cuboid periodicity only)
-        //  supported.
+        //  Any point can not be on more than three transforms but overall
+        //  the mesh can have more than three.
         List<vectorTensorTransform> transforms_;
 
         //- The permutations of the transforms, stored for lookup
@@ -105,13 +112,7 @@ private:
         //- Mapping from patch index to which transform it matches (or
         //  -1 for none) (.first()) and what sign to use for it,
         //  i.e. +/- 1 (.second()).
-        List<Pair<label>> patchTransformSign_;
-
-
-    // Private static data
-
-        //- Number of spaces to reserve for transform encoding
-        static const label base_;
+        List<labelPair> patchTransformSign_;
 
 
     // Private Member Functions
@@ -124,7 +125,7 @@ private:
         void determineTransformPermutations();
 
         //- Determine which patch uses which transform (if any) and which
-        //- Sign to use
+        //  sign to use
         void determinePatchTransformSign();
 
         //- Test a list of reference transforms to see if the test
@@ -139,16 +140,14 @@ private:
             bool checkBothSigns
         ) const;
 
-        //- Encode transform index. Hardcoded to 3 independent transforms max.
-        inline label encodeTransformIndex
-        (
-            const FixedList<Foam::label, 3>& permutationIndices
-        ) const;
-
-        //- Decode transform index. Hardcoded to 3 independent transforms max.
-        inline FixedList<label, 3> decodeTransformIndex
+        //- Return true if transform is not yet present in trafos. Issues
+        //  warning if too many transforms
+        bool uniqueTransform
         (
-            const label transformIndex
+            const point& pt,
+            labelPairList& trafos,
+            const label patchi,
+            const labelPair& patchTrafo
         ) const;
 
         //- Disallow default bitwise copy construct
@@ -160,10 +159,6 @@ private:
 
 public:
 
-        //- Declare friendship with the entry class for IO
-        friend class globalPoints;
-
-
     // Declare name of the class and its debug switch
     ClassName("globalIndexAndTransform");
 
@@ -174,10 +169,6 @@ public:
         globalIndexAndTransform(const polyMesh& mesh);
 
 
-    //- Destructor
-    ~globalIndexAndTransform();
-
-
     // Member Functions
 
         //- Generate a transform index from the permutation indices of
@@ -185,9 +176,12 @@ public:
         //  only be -1, 0 or +1.
         inline label encodeTransformIndex
         (
-            const List<label>& permutationIndices
+            const labelList& permutationIndices
         ) const;
 
+        //- Decode transform index
+        inline labelList decodeTransformIndex(const label transformIndex) const;
+
         //- Add patch transformation to transformIndex. Return new
         //  transformIndex. (by default the patch is the sending, not the
         //  receiving, patch)
@@ -221,74 +215,71 @@ public:
         ) const;
 
         //- Encode index and bare index as components on own processor
-        inline static labelPair encode
+        inline labelPair encode
         (
             const label index,
             const label transformIndex
-        );
+        ) const;
 
         //- Encode index and bare index as components on given processor
-        inline static labelPair encode
+        inline labelPair encode
         (
             const label proci,
             const label index,
             const label transformIndex
-        );
+        ) const;
 
         //- Index carried by the object
-        inline static label index(const labelPair& globalIAndTransform);
+        inline label index(const labelPair& globalIAndTransform) const;
 
         //- Which processor does this come from?
-        inline static label processor(const labelPair& globalIAndTransform);
+        inline label processor(const labelPair& globalIAndTransform) const;
 
         //- Transform carried by the object
-        inline static label transformIndex
+        inline label transformIndex(const labelPair& globalIAndTransform) const;
+
+        //- Return the number of independent transforms
+        inline label nIndependentTransforms() const;
+
+        //- Return access to the stored independent transforms
+        inline const List<vectorTensorTransform>& transforms() const;
+
+        //- Return access to the permuted transforms
+        inline const List<vectorTensorTransform>&
+        transformPermutations() const;
+
+        //- Return the transformIndex (index in transformPermutations)
+        //  of the identity transform
+        inline label nullTransformIndex() const;
+
+        //- Return access to the per-patch transform-sign pairs
+        inline const List<labelPair>& patchTransformSign() const;
+
+        //- Access the overall (permuted) transform corresponding
+        //  to the transformIndex
+        inline const vectorTensorTransform& transform
         (
-            const labelPair& globalIAndTransform
-        );
-
-        // Access
-
-            //- Return the number of independent transforms
-            inline label nIndependentTransforms() const;
-
-            //- Return access to the stored independent transforms
-            inline const List<vectorTensorTransform>& transforms() const;
-
-            //- Return access to the permuted transforms
-            inline const List<vectorTensorTransform>&
-            transformPermutations() const;
-
-            //- Return the transformIndex (index in transformPermutations)
-            //  of the identity transform
-            inline label nullTransformIndex() const;
-
-            //- Return access to the per-patch transform-sign pairs
-            inline const List<Pair<label>>& patchTransformSign() const;
-
-            //- Access the overall (permuted) transform corresponding
-            //  to the transformIndex
-            inline const vectorTensorTransform& transform
-            (
-                label transformIndex
-            ) const;
-
-            //- Access the all of the indices of the transform
-            //  permutations corresponding the transforms of the
-            //  listed patch indices
-            inline labelList transformIndicesForPatches
-            (
-                const labelHashSet& patchIs
-            ) const;
-
-            //- Apply all of the transform permutations
-            //  corresponding the transforms of the listed patch
-            //  indices to the supplied point
-            inline pointField transformPatches
-            (
-                const labelHashSet& patchIs,
-                const point& pt
-            ) const;
+            label transformIndex
+        ) const;
+
+        //- Access the all of the indices of the transform
+        //  permutations corresponding the transforms of the
+        //  listed patch indices. This only allows a maximum of three
+        //  transformations (since routine is used to transform points and
+        //  any given point can only be on 3 or less transforms)
+        inline labelList transformIndicesForPatches
+        (
+            const labelHashSet& patchIs
+        ) const;
+
+        //- Apply all of the transform permutations
+        //  corresponding the transforms of the listed patch
+        //  indices to the supplied point
+        inline pointField transformPatches
+        (
+            const labelHashSet& patchIs,
+            const point& pt
+        ) const;
 
 };
 
diff --git a/src/OpenFOAM/primitives/globalIndexAndTransform/globalIndexAndTransformI.H b/src/OpenFOAM/primitives/globalIndexAndTransform/globalIndexAndTransformI.H
index d6aa055543..56e74f2c7d 100644
--- a/src/OpenFOAM/primitives/globalIndexAndTransform/globalIndexAndTransformI.H
+++ b/src/OpenFOAM/primitives/globalIndexAndTransform/globalIndexAndTransformI.H
@@ -33,8 +33,8 @@ bool Foam::globalIndexAndTransform::less::operator()
     const labelPair& b
 ) const
 {
-    label procA = globalIndexAndTransform::processor(a);
-    label procB = globalIndexAndTransform::processor(b);
+    label procA = gi_.processor(a);
+    label procB = gi_.processor(b);
 
     if (procA < procB)
     {
@@ -47,8 +47,8 @@ bool Foam::globalIndexAndTransform::less::operator()
     else
     {
         // Equal proc.
-        label indexA = globalIndexAndTransform::index(a);
-        label indexB = globalIndexAndTransform::index(b);
+        label indexA = gi_.index(a);
+        label indexB = gi_.index(b);
 
         if (indexA < indexB)
         {
@@ -61,8 +61,8 @@ bool Foam::globalIndexAndTransform::less::operator()
         else
         {
             // Equal index
-            label transformA = globalIndexAndTransform::transformIndex(a);
-            label transformB = globalIndexAndTransform::transformIndex(b);
+            label transformA = gi_.transformIndex(a);
+            label transformB = gi_.transformIndex(b);
 
             return transformA < transformB;
         }
@@ -72,7 +72,7 @@ bool Foam::globalIndexAndTransform::less::operator()
 
 Foam::label Foam::globalIndexAndTransform::encodeTransformIndex
 (
-    const List<label>& permutationIndices
+    const labelList& permutationIndices
 ) const
 {
     if (permutationIndices.size() != transforms_.size())
@@ -106,68 +106,20 @@ Foam::label Foam::globalIndexAndTransform::encodeTransformIndex
 }
 
 
-Foam::label Foam::globalIndexAndTransform::encodeTransformIndex
-(
-    const FixedList<Foam::label, 3>& permutation
-) const
-{
-    if (nIndependentTransforms() == 0)
-    {
-        return 0;
-    }
-    if (nIndependentTransforms() == 1)
-    {
-        return permutation[0]+1;
-    }
-    else if (nIndependentTransforms() == 2)
-    {
-        return (permutation[1]+1)*3 + (permutation[0]+1);
-    }
-    else
-    {
-        return
-            (permutation[2]+1)*9
-          + (permutation[1]+1)*3
-          + (permutation[0]+1);
-    }
-}
-
-
-Foam::FixedList<Foam::label, 3>
-Foam::globalIndexAndTransform::decodeTransformIndex
+Foam::labelList Foam::globalIndexAndTransform::decodeTransformIndex
 (
     const label transformIndex
 ) const
 {
-    FixedList<label, 3> permutation(label(0));
+    labelList permutation(transforms_.size(), 0);
 
     label t = transformIndex;
-    if (nIndependentTransforms() > 0)
+    forAll(permutation, i)
     {
-        permutation[0] = (t%3)-1;
-        if (nIndependentTransforms() > 1)
-        {
-            t /= 3;
-            permutation[1] = (t%3)-1;
-            if (nIndependentTransforms() > 2)
-            {
-                t /= 3;
-                permutation[2] = (t%3)-1;
-            }
-        }
+        permutation[i] = (t%3)-1;
+        t /= 3;
     }
 
-    #ifdef FULLDEBUG
-    t /= 3;
-    if (t != 0)
-    {
-        FatalErrorInFunction
-            << "transformIndex : " << transformIndex
-            << " has more than 3 fields."
-            << abort(FatalError);
-    }
-    #endif
-
     return permutation;
 }
 
@@ -180,15 +132,28 @@ Foam::label Foam::globalIndexAndTransform::addToTransformIndex
     const scalar tol
 ) const
 {
-    const Pair<label>& transSign = patchTransformSign_[patchi];
+    const labelPair& transSign = patchTransformSign_[patchi];
 
     label matchTransI = transSign.first();
 
-    // Hardcoded for max 3 transforms only!
-
-    if (matchTransI > -1 && matchTransI < 3)
+    if (matchTransI >= transforms_.size())
     {
-        FixedList<label, 3> permutation = decodeTransformIndex(transformIndex);
+        FatalErrorInFunction
+            << "patch:" << mesh_.boundaryMesh()[patchi].name()
+            << " transform:" << matchTransI
+            << " out of possible transforms:" << transforms_
+            << exit(FatalError);
+        return labelMin;
+    }
+    else if (matchTransI == -1)
+    {
+        // No additional transformation for this patch
+        return transformIndex;
+    }
+    else
+    {
+        // Decode current set of transforms
+        labelList permutation(decodeTransformIndex(transformIndex));
 
 
         // Add patch transform
@@ -267,10 +232,6 @@ Foam::label Foam::globalIndexAndTransform::addToTransformIndex
 
         return encodeTransformIndex(permutation);
     }
-    else
-    {
-        return transformIndex;
-    }
 }
 
 
@@ -287,7 +248,7 @@ Foam::label Foam::globalIndexAndTransform::minimumTransformIndex
 
 
     // Count number of transforms
-    FixedList<label, 3> permutation0 = decodeTransformIndex(transformIndex0);
+    labelList permutation0(decodeTransformIndex(transformIndex0));
     label n0 = 0;
     forAll(permutation0, i)
     {
@@ -297,7 +258,7 @@ Foam::label Foam::globalIndexAndTransform::minimumTransformIndex
         }
     }
 
-    FixedList<label, 3> permutation1 = decodeTransformIndex(transformIndex1);
+    labelList permutation1(decodeTransformIndex(transformIndex1));
     label n1 = 0;
     forAll(permutation1, i)
     {
@@ -324,8 +285,8 @@ Foam::label Foam::globalIndexAndTransform::subtractTransformIndex
     const label transformIndex1
 ) const
 {
-    FixedList<label, 3> permutation0 = decodeTransformIndex(transformIndex0);
-    FixedList<label, 3> permutation1 = decodeTransformIndex(transformIndex1);
+    labelList permutation0(decodeTransformIndex(transformIndex0));
+    labelList permutation1(decodeTransformIndex(transformIndex1));
 
     forAll(permutation0, i)
     {
@@ -340,7 +301,7 @@ Foam::labelPair Foam::globalIndexAndTransform::encode
 (
     const label index,
     const label transformIndex
-)
+) const
 {
     return encode(Pstream::myProcNo(), index, transformIndex);
 }
@@ -351,21 +312,22 @@ Foam::labelPair Foam::globalIndexAndTransform::encode
     const label proci,
     const label index,
     const label transformIndex
-)
+) const
 {
-    if (transformIndex < 0 || transformIndex >= base_)
+    if (transformIndex < 0 || transformIndex >= transformPermutations_.size())
     {
         FatalErrorInFunction
             << "TransformIndex " << transformIndex
             << " is outside allowed range of 0 to "
-            << base_ - 1
+            << transformPermutations_.size() - 1
             << abort(FatalError);
     }
 
-    if (proci > labelMax/base_)
+    if (proci > labelMax/transformPermutations_.size())
     {
         FatalErrorInFunction
-            << "Overflow : encoding processor " << proci << " in base " << base_
+            << "Overflow : encoding processor " << proci
+            << " in base " << transformPermutations_.size()
             << " exceeds capability of label (" << labelMax
             << "). Please recompile with larger datatype for label."
             << exit(FatalError);
@@ -374,7 +336,7 @@ Foam::labelPair Foam::globalIndexAndTransform::encode
     return labelPair
     (
         index,
-        transformIndex + proci*base_
+        transformIndex + proci*transformPermutations_.size()
     );
 }
 
@@ -382,7 +344,7 @@ Foam::labelPair Foam::globalIndexAndTransform::encode
 Foam::label Foam::globalIndexAndTransform::index
 (
     const labelPair& globalIAndTransform
-)
+) const
 {
     return globalIAndTransform.first();
 }
@@ -391,18 +353,18 @@ Foam::label Foam::globalIndexAndTransform::index
 Foam::label Foam::globalIndexAndTransform::processor
 (
     const labelPair& globalIAndTransform
-)
+) const
 {
-    return globalIAndTransform.second()/base_;
+    return globalIAndTransform.second()/transformPermutations_.size();
 }
 
 
 Foam::label Foam::globalIndexAndTransform::transformIndex
 (
     const labelPair& globalIAndTransform
-)
+) const
 {
-    return globalIAndTransform.second() % base_;
+    return globalIAndTransform.second()%transformPermutations_.size();
 }
 
 
@@ -432,7 +394,7 @@ Foam::label Foam::globalIndexAndTransform::nullTransformIndex() const
 }
 
 
-const Foam::List<Foam::Pair<Foam::label>>&
+const Foam::labelPairList&
 Foam::globalIndexAndTransform::patchTransformSign() const
 {
     return patchTransformSign_;
@@ -453,7 +415,7 @@ Foam::labelList Foam::globalIndexAndTransform::transformIndicesForPatches
     const labelHashSet& patchis
 ) const
 {
-    List<label> permutation(transforms_.size(), 0);
+    labelList permutation(transforms_.size(), 0);
 
     labelList selectedTransformIs(0);
 
@@ -466,7 +428,7 @@ Foam::labelList Foam::globalIndexAndTransform::transformIndicesForPatches
     {
         label patchi = iter.key();
 
-        const Pair<label>& transSign = patchTransformSign_[patchi];
+        const labelPair& transSign = patchTransformSign_[patchi];
 
         label matchTransI = transSign.first();
 
@@ -520,7 +482,7 @@ Foam::labelList Foam::globalIndexAndTransform::transformIndicesForPatches
         }
         case 2:
         {
-            List<label> tempPermutation = permutation;
+            labelList tempPermutation = permutation;
 
             label a = 0;
             label b = 1;
@@ -565,7 +527,7 @@ Foam::labelList Foam::globalIndexAndTransform::transformIndicesForPatches
         }
         case 3:
         {
-            List<label> tempPermutation = permutation;
+            labelList tempPermutation = permutation;
 
             tempPermutation[0] = 0;
             tempPermutation[1] = 0;
-- 
GitLab


From 7a52d2a5b194c30e5467903c98f9a4aef04d9fb9 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Thu, 22 Sep 2016 14:22:26 +0100
Subject: [PATCH 41/96] globalMeshData: Revert NULL -> nullptr

---
 .../meshes/polyMesh/globalMeshData/globalMeshData.C    | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C
index b03e5d4fb7..c994bafcf1 100644
--- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C
+++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C
@@ -1771,12 +1771,12 @@ Foam::globalMeshData::globalMeshData(const polyMesh& mesh)
     processorPatchIndices_(0),
     processorPatchNeighbours_(0),
     nGlobalPoints_(-1),
-    sharedPointLabelsPtr_(NULL),
-    sharedPointAddrPtr_(NULL),
-    sharedPointGlobalLabelsPtr_(NULL),
+    sharedPointLabelsPtr_(nullptr),
+    sharedPointAddrPtr_(nullptr),
+    sharedPointGlobalLabelsPtr_(nullptr),
     nGlobalEdges_(-1),
-    sharedEdgeLabelsPtr_(NULL),
-    sharedEdgeAddrPtr_(NULL)
+    sharedEdgeLabelsPtr_(nullptr),
+    sharedEdgeAddrPtr_(nullptr)
 {
     updateMesh();
 }
-- 
GitLab


From c169ca14f5152e37d4701cbb5c1191743e310c02 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Thu, 22 Sep 2016 21:03:30 +0100
Subject: [PATCH 42/96] Updated template formatting Resolves bug-report
 http://bugs.openfoam.org/view.php?id=2264

---
 .../mapDistribute/mapDistributeBaseTemplates.C            | 8 ++++----
 .../chemistrySolver/makeChemistrySolverTypes.H            | 4 ++--
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C
index a445d79f2a..0380f5d8ad 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBaseTemplates.C
@@ -461,7 +461,7 @@ void Foam::mapDistributeBase::distribute
         {
             // Set up sends to neighbours
 
-            List<List<T > > sendFields(Pstream::nProcs());
+            List<List<T>> sendFields(Pstream::nProcs());
 
             for (label domain = 0; domain < Pstream::nProcs(); domain++)
             {
@@ -495,7 +495,7 @@ void Foam::mapDistributeBase::distribute
 
             // Set up receives from neighbours
 
-            List<List<T > > recvFields(Pstream::nProcs());
+            List<List<T>> recvFields(Pstream::nProcs());
 
             for (label domain = 0; domain < Pstream::nProcs(); domain++)
             {
@@ -938,7 +938,7 @@ void Foam::mapDistributeBase::distribute
         {
             // Set up sends to neighbours
 
-            List<List<T > > sendFields(Pstream::nProcs());
+            List<List<T>> sendFields(Pstream::nProcs());
 
             for (label domain = 0; domain < Pstream::nProcs(); domain++)
             {
@@ -972,7 +972,7 @@ void Foam::mapDistributeBase::distribute
 
             // Set up receives from neighbours
 
-            List<List<T > > recvFields(Pstream::nProcs());
+            List<List<T>> recvFields(Pstream::nProcs());
 
             for (label domain = 0; domain < Pstream::nProcs(); domain++)
             {
diff --git a/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/makeChemistrySolverTypes.H b/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/makeChemistrySolverTypes.H
index 526177de58..e98171d4bf 100644
--- a/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/makeChemistrySolverTypes.H
+++ b/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/makeChemistrySolverTypes.H
@@ -39,8 +39,8 @@ License
 
 #define makeChemistrySolverType(SS, Comp, Thermo)                              \
                                                                                \
-    typedef SS<chemistryModel<Comp, Thermo> > SS##Comp##Thermo;                \
-    typedef SS<TDACChemistryModel<Comp, Thermo> > TDAC##SS##Comp##Thermo;      \
+    typedef SS<chemistryModel<Comp, Thermo>> SS##Comp##Thermo;                 \
+    typedef SS<TDACChemistryModel<Comp, Thermo>> TDAC##SS##Comp##Thermo;       \
                                                                                \
     defineTemplateTypeNameAndDebugWithName                                     \
     (                                                                          \
-- 
GitLab


From d0e3442944e2a2a8328850a344a5f31c2bab1335 Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Fri, 23 Sep 2016 09:10:57 +0200
Subject: [PATCH 43/96] BUG: incorrect symmTensor order for some ensight output
 (fixes #243)

- affects foamToEnsightParts, sampled surfaces

- Use ensightPTraits mechanism throughout to avoid this issue
---
 .../foamToEnsight/ensightCloudTemplates.C     | 14 +++++------
 .../ensightOutputFunctions.C                  | 25 ++++++++-----------
 .../ensight/part/ensightPartTemplates.C       | 19 +++++---------
 3 files changed, 24 insertions(+), 34 deletions(-)

diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloudTemplates.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloudTemplates.C
index efcd11beb9..ac2559f17c 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloudTemplates.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightCloudTemplates.C
@@ -57,10 +57,10 @@ void Foam::writeCloudField
                     val = Zero;
                 }
 
-                for (direction i=0; i < pTraits<Type>::nComponents; ++i)
+                for (direction d=0; d < pTraits<Type>::nComponents; ++d)
                 {
-                    label cmpt = ensightPTraits<Type>::componentOrder[i];
-                    os.write( component(val, cmpt) );
+                    label cmpt = ensightPTraits<Type>::componentOrder[d];
+                    os.write(component(val, cmpt));
 
                     if (++count % 6 == 0)
                     {
@@ -84,10 +84,10 @@ void Foam::writeCloudField
                         val = Zero;
                     }
 
-                    for (direction i=0; i < pTraits<Type>::nComponents; ++i)
+                    for (direction d=0; d < pTraits<Type>::nComponents; ++d)
                     {
-                        label cmpt = ensightPTraits<Type>::componentOrder[i];
-                        os.write( component(val, cmpt) );
+                        label cmpt = ensightPTraits<Type>::componentOrder[d];
+                        os.write(component(val, cmpt));
 
                         if (++count % 6 == 0)
                         {
@@ -168,9 +168,9 @@ void Foam::ensightCloudField
         }
 
         filePtr = new ensightFile(dataDir, postFileName, format);
+        // description
         filePtr->write
         (
-            // description
             string(postFileName + " <" + pTraits<Type>::typeName + ">")
         );
         filePtr->newline();
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/ensightOutputFunctions.C b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/ensightOutputFunctions.C
index 2c92bee9cc..148aa40145 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/ensightOutputFunctions.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/ensightOutputFunctions.C
@@ -24,6 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "ensightOutputFunctions.H"
+#include "ensightPTraits.H"
 
 #include "passiveParticle.H"
 #include "IOField.H"
@@ -171,11 +172,8 @@ void Foam::ensightLagrangianField
     // when writing positions
 
     ensightFile os(dataDir, postFileName, format);
-    os.write
-    (
-        // description
-        string(postFileName + " with " + pTraits<Type>::typeName + " values")
-    );
+    // description
+    os.write(string(postFileName + " <" + pTraits<Type>::typeName + ">"));
     os.newline();
 
     IOField<Type> field(fieldObject);
@@ -187,21 +185,20 @@ void Foam::ensightLagrangianField
     {
         Type val = field[i];
 
-        if (mag(val) < 1.0e-90)
+        if (mag(val) < 1e-90)
         {
             val = Zero;
         }
 
-        for (direction cmpt=0; cmpt < pTraits<Type>::nComponents; cmpt++)
+        for (direction d=0; d < pTraits<Type>::nComponents; ++d)
         {
-            os.write( component(val, cmpt) );
-        }
+            label cmpt = ensightPTraits<Type>::componentOrder[d];
+            os.write(component(val, cmpt));
 
-        count += pTraits<Type>::nComponents;
-
-        if (count % 6 == 0)
-        {
-            os.newline();
+            if (++count % 6 == 0)
+            {
+                os.newline();
+            }
         }
     }
 
diff --git a/src/conversion/ensight/part/ensightPartTemplates.C b/src/conversion/ensight/part/ensightPartTemplates.C
index 32be0caef8..1318646040 100644
--- a/src/conversion/ensight/part/ensightPartTemplates.C
+++ b/src/conversion/ensight/part/ensightPartTemplates.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -27,6 +27,7 @@ Description
 \*---------------------------------------------------------------------------*/
 
 #include "ensightPart.H"
+#include "ensightPTraits.H"
 
 // * * * * * * * * * * * * * * * Global Functions  * * * * * * * * * * * * * //
 
@@ -45,13 +46,9 @@ void Foam::ensightPart::writeField
         if (perNode)
         {
             os.writeKeyword("coordinates");
-            for
-            (
-                direction cmpt=0;
-                cmpt < pTraits<Type>::nComponents;
-                ++cmpt
-            )
+            for (direction d=0; d < pTraits<Type>::nComponents; ++d)
             {
+                label cmpt = ensightPTraits<Type>::componentOrder[d];
                 writeFieldList(os, field.component(cmpt), labelUList::null());
             }
         }
@@ -65,13 +62,9 @@ void Foam::ensightPart::writeField
                 {
                     os.writeKeyword(elementTypes()[elemI]);
 
-                    for
-                    (
-                        direction cmpt=0;
-                        cmpt < pTraits<Type>::nComponents;
-                        ++cmpt
-                    )
+                    for (direction d=0; d < pTraits<Type>::nComponents; ++d)
                     {
+                        label cmpt = ensightPTraits<Type>::componentOrder[d];
                         writeFieldList(os, field.component(cmpt), idList);
                     }
                 }
-- 
GitLab


From 9d7f57e366d5bb5a959c0e60c2889d4fedc16ff1 Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Fri, 23 Sep 2016 13:13:12 +0200
Subject: [PATCH 44/96] BUG: ensight output failing with dimensioned field
 (fixes #244)

- The new field needs initialization with a dimensioned<Type> not just
  the dimensionSet.

- The new field was also incorrectly being registered, which could
  cause issues later.
---
 .../dataConversion/foamToEnsight/ensightField.C       | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightField.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightField.C
index 40e115ef09..a8ea3823f7 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightField.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightField.C
@@ -81,7 +81,9 @@ volField
     // Construct volField (with zeroGradient) from dimensioned field
 
     IOobject io(df);
-    io.readOpt() = IOobject::NO_READ;
+    io.readOpt()  = IOobject::NO_READ;
+    io.writeOpt() = IOobject::NO_WRITE;
+    io.registerObject() = false;
 
     tmp<GeometricField<Type, fvPatchField, volMesh>> tvf
     (
@@ -89,16 +91,17 @@ volField
         (
             io,
             df.mesh(),
-            df.dimensions(),
-            zeroGradientFvPatchField<scalar>::typeName
+            dimensioned<Type>("0", df.dimensions(), Zero),
+            zeroGradientFvPatchField<Type>::typeName
         )
     );
     tvf.ref().internalField() = df;
     tvf.ref().correctBoundaryConditions();
-    const GeometricField<Type, fvPatchField, volMesh>& vf = tvf();
 
     if (meshSubsetter.hasSubMesh())
     {
+        const GeometricField<Type, fvPatchField, volMesh>& vf = tvf();
+
         tmp<GeometricField<Type, fvPatchField, volMesh>> tfld
         (
             meshSubsetter.interpolate(vf)
-- 
GitLab


From 69e52818d5911b9ddfc3eb9c512da4a72d3a95bf Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Fri, 23 Sep 2016 14:53:01 +0200
Subject: [PATCH 45/96] STYLE: add OpenFOAM version to ensight geom file
 description.

- More informative than a horizonal line, can help when debugging.

STYLE: remove unused write field methods from ensightParts
---
 src/conversion/ensight/file/ensightGeoFile.C | 14 +++-
 src/conversion/ensight/part/ensightPart.H    | 21 ------
 src/conversion/ensight/part/ensightPartIO.C  | 72 --------------------
 src/conversion/ensight/part/ensightParts.C   | 53 --------------
 src/conversion/ensight/part/ensightParts.H   | 25 -------
 5 files changed, 13 insertions(+), 172 deletions(-)

diff --git a/src/conversion/ensight/file/ensightGeoFile.C b/src/conversion/ensight/file/ensightGeoFile.C
index c52aa79356..0119087e70 100644
--- a/src/conversion/ensight/file/ensightGeoFile.C
+++ b/src/conversion/ensight/file/ensightGeoFile.C
@@ -24,14 +24,26 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "ensightGeoFile.H"
+#include "foamVersion.H"
+
+// Macros to stringify macro contents.
+#define STRINGIFY(content)      #content
+#define STRING_QUOTE(input)     STRINGIFY(input)
+
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
 void Foam::ensightGeoFile::initialize()
 {
+    #ifdef OPENFOAM_PLUS
+    string desc2("Written by OpenFOAM+ " STRING_QUOTE(OPENFOAM_PLUS));
+    #else
+    string desc2("Written by OpenFOAM-" + string(Foam::FOAMversion));
+    #endif
+
     writeBinaryHeader();
     write("Ensight Geometry File");  newline(); // description line 1
-    write("=====================");  newline(); // description line 2
+    write(desc2);                    newline(); // description line 2
     write("node id assign");         newline();
     write("element id assign");      newline();
 }
diff --git a/src/conversion/ensight/part/ensightPart.H b/src/conversion/ensight/part/ensightPart.H
index feb6d371ba..f48d626ae4 100644
--- a/src/conversion/ensight/part/ensightPart.H
+++ b/src/conversion/ensight/part/ensightPart.H
@@ -303,27 +303,6 @@ public:
         //- Helper: write geometry given the pointField
         void writeGeometry(ensightGeoFile&, const pointField&) const;
 
-        //- Write scalar field
-        //  optionally write data per node
-        void writeScalarField
-        (
-            ensightFile&,
-            const List<scalar>& field,
-            const bool perNode = false
-        ) const;
-
-        //- Write vector field components
-        //  optionally write data per node
-        void writeVectorField
-        (
-            ensightFile&,
-            const List<scalar>& field0,
-            const List<scalar>& field1,
-            const List<scalar>& field2,
-            const bool perNode = false
-        ) const;
-
-
         //- Write generalized field components
         //  optionally write data per node
         template<class Type>
diff --git a/src/conversion/ensight/part/ensightPartIO.C b/src/conversion/ensight/part/ensightPartIO.C
index 1457ff46c3..4e21d6dd62 100644
--- a/src/conversion/ensight/part/ensightPartIO.C
+++ b/src/conversion/ensight/part/ensightPartIO.C
@@ -213,78 +213,6 @@ void Foam::ensightPart::writeGeometry
 }
 
 
-void Foam::ensightPart::writeScalarField
-(
-    ensightFile& os,
-    const List<scalar>& field,
-    const bool perNode
-) const
-{
-    if (size() && field.size() && (os.allowUndef() || isFieldDefined(field)))
-    {
-        writeHeader(os);
-
-        if (perNode)
-        {
-            os.writeKeyword("coordinates");
-            writeFieldList(os, field, labelUList::null());
-        }
-        else
-        {
-            forAll(elementTypes(), elemI)
-            {
-                const labelUList& idList = elemLists_[elemI];
-
-                if (idList.size())
-                {
-                    os.writeKeyword(elementTypes()[elemI]);
-                    writeFieldList(os, field, idList);
-                }
-            }
-        }
-    }
-}
-
-
-void Foam::ensightPart::writeVectorField
-(
-    ensightFile& os,
-    const List<scalar>& field0,
-    const List<scalar>& field1,
-    const List<scalar>& field2,
-    const bool perNode
-) const
-{
-    if (size() && field0.size() && (os.allowUndef() || isFieldDefined(field0)))
-    {
-        writeHeader(os);
-
-        if (perNode)
-        {
-            os.writeKeyword("coordinates");
-            writeFieldList(os, field0, labelUList::null());
-            writeFieldList(os, field1, labelUList::null());
-            writeFieldList(os, field2, labelUList::null());
-        }
-        else
-        {
-            forAll(elementTypes(), elemI)
-            {
-                const labelUList& idList = elemLists_[elemI];
-
-                if (idList.size())
-                {
-                    os.writeKeyword(elementTypes()[elemI]);
-                    writeFieldList(os, field0, idList);
-                    writeFieldList(os, field1, idList);
-                    writeFieldList(os, field2, idList);
-                }
-            }
-        }
-    }
-}
-
-
 // * * * * * * * * * * * * * * * IOstream Operators  * * * * * * * * * * * * //
 
 Foam::Ostream& Foam::operator<<
diff --git a/src/conversion/ensight/part/ensightParts.C b/src/conversion/ensight/part/ensightParts.C
index a7675bf483..1ad4729664 100644
--- a/src/conversion/ensight/part/ensightParts.C
+++ b/src/conversion/ensight/part/ensightParts.C
@@ -225,59 +225,6 @@ void Foam::ensightParts::writeData(Ostream& os) const
 }
 
 
-void Foam::ensightParts::writeScalarField
-(
-    ensightFile& os,
-    const List<scalar>& field,
-    const bool useFaceData,
-    const bool perNode
-) const
-{
-    forAll(partsList_, partI)
-    {
-        if
-        (
-            useFaceData
-          ? partsList_[partI].isFaceData()
-          : partsList_[partI].isCellData()
-        )
-        {
-            partsList_[partI].writeScalarField(os, field, perNode);
-        }
-    }
-}
-
-
-void Foam::ensightParts::writeVectorField
-(
-    ensightFile& os,
-    const List<scalar>& field0,
-    const List<scalar>& field1,
-    const List<scalar>& field2,
-    const bool useFaceData,
-    const bool perNode
-) const
-{
-    forAll(partsList_, partI)
-    {
-        if
-        (
-            useFaceData
-          ? partsList_[partI].isFaceData()
-          : partsList_[partI].isCellData()
-        )
-        {
-            partsList_[partI].writeVectorField
-            (
-                os,
-                field0, field1, field2,
-                perNode
-            );
-        }
-    }
-}
-
-
 // * * * * * * * * * * * * * * * *  IOStream operators * * * * * * * * * * * //
 
 Foam::ensightGeoFile& Foam::operator<<
diff --git a/src/conversion/ensight/part/ensightParts.H b/src/conversion/ensight/part/ensightParts.H
index 68c18774ba..76712b9447 100644
--- a/src/conversion/ensight/part/ensightParts.H
+++ b/src/conversion/ensight/part/ensightParts.H
@@ -108,31 +108,6 @@ public:
         //- Write the lists
         void writeData(Ostream&) const;
 
-        //- Write (volume) scalar field
-        //  optionally write data for face parts
-        //  optionally write data per node
-        void writeScalarField
-        (
-            ensightFile&,
-            const List<scalar>& field,
-            const bool useFaceData = false,
-            const bool perNode = false
-        ) const;
-
-        //- Write (volume) vector field components
-        //  optionally write data for face parts
-        //  optionally write data per node
-        void writeVectorField
-        (
-            ensightFile&,
-            const List<scalar>& field0,
-            const List<scalar>& field1,
-            const List<scalar>& field2,
-            const bool useFaceData = false,
-            const bool perNode = false
-        ) const;
-
-
         //- Write generalized volume field components
         template<class Type>
         void writeField
-- 
GitLab


From e67960e3c87e8f04305937a1e08bb11fcc7af539 Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Fri, 23 Sep 2016 17:45:47 +0200
Subject: [PATCH 46/96] ENH: reduce startup time for ensight conversion (issue
 #240).

- Less looping when detecting lagrangian clouds and their fields.

- Avoid using Time::setTime() and IOobjectList in tight loops.
  They both kill performance immensely.

ENH: provide a -noLagrangian option to foamToEnsight and foamToEnsightParts
for even more control.
---
 .../dataConversion/foamToEnsight/checkData.H  |   2 +-
 .../foamToEnsight/checkMeshMoving.H           |   8 +-
 .../foamToEnsight/findCloudFields.H           |  93 +++++++++++++
 .../foamToEnsight/foamToEnsight.C             | 126 ++++--------------
 .../foamToEnsightParts/findFields.H           |  54 +++++---
 .../foamToEnsightParts/foamToEnsightParts.C   |  48 +++----
 6 files changed, 186 insertions(+), 145 deletions(-)
 create mode 100644 applications/utilities/postProcessing/dataConversion/foamToEnsight/findCloudFields.H

diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkData.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkData.H
index 8116fcbe24..50e78e781c 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkData.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkData.H
@@ -11,7 +11,7 @@ if (!fieldsToUse.found(fieldName))
     {
         variableGood =
         (
-            fieldName.size() > 2 && fieldName(fieldName.size() - 2, 2) == "_0"
+            fieldName.size() > 2 && fieldName(fieldName.size()-2, 2) == "_0"
           ? false
           : IOobject
             (
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkMeshMoving.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkMeshMoving.H
index 455fa33c66..bda9220acb 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkMeshMoving.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/checkMeshMoving.H
@@ -12,14 +12,16 @@ if (timeDirs.size() > 1 && Pstream::master())
     Info<< "Search for moving mesh ... " << flush;
     forAll(timeDirs, timeI)
     {
+        const word& timeName = timeDirs[timeI].name();
+
         meshMoving =
         (
-            timeDirs[timeI].name() != mesh.pointsInstance()
-         && isDir(baseDir/timeDirs[timeI].name()/polyMesh::meshSubDir)
+            timeName != mesh.pointsInstance()
+         && isDir(baseDir/timeName/polyMesh::meshSubDir)
          && IOobject
             (
                 "points",
-                timeDirs[timeI].name(),
+                timeName,
                 polyMesh::meshSubDir,
                 mesh,
                 IOobject::NO_READ,
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/findCloudFields.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/findCloudFields.H
new file mode 100644
index 0000000000..0f228f723f
--- /dev/null
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/findCloudFields.H
@@ -0,0 +1,93 @@
+// check all time directories for the following:
+
+// The fields for each cloud:
+HashTable<HashTable<word>> cloudFields;
+
+// Identify if lagrangian data exist at any time step.
+if (timeDirs.size() && !noLagrangian)
+{
+    const fileName& baseDir = mesh.time().path();
+    const fileName& cloudPrefix = regionPrefix/cloud::prefix;
+
+    Info<< "Searching for lagrangian ... " << flush;
+
+    forAll(timeDirs, timeI)
+    {
+        const word& timeName = timeDirs[timeI].name();
+
+        // DO NOT USE -->>  runTime.setTime(timeDirs[timeI], timeI);  <<--
+        // It incurs a large overhead when done so frequently.
+
+        fileNameList cloudDirs = readDir
+        (
+            baseDir/timeName/cloudPrefix,
+            fileName::DIRECTORY
+        );
+
+        forAll(cloudDirs, cloudI)
+        {
+            const word& cloudName = cloudDirs[cloudI];
+
+            IOobjectList cloudObjs
+            (
+                mesh,
+                timeName,
+                cloudPrefix/cloudName
+            );
+
+            // clouds always require "positions"
+            if (cloudObjs.found("positions"))
+            {
+                HashTable<HashTable<word>>::iterator cloudIter =
+                    cloudFields.find(cloudName);
+
+                if (cloudIter == cloudFields.end())
+                {
+                    // A newly discovered cloud
+                    cloudFields.insert(cloudName, HashTable<word>());
+                    cloudIter = cloudFields.find(cloudName);
+                }
+
+                forAllConstIter(IOobjectList, cloudObjs, fieldIter)
+                {
+                    const IOobject obj = *fieldIter();
+
+                    // Add field and field type
+                    cloudIter().insert
+                    (
+                        obj.name(),
+                        obj.headerClassName()
+                    );
+                }
+            }
+        }
+    }
+
+    // prune out "positions" again since it gets treated specially
+    forAllIter(HashTable<HashTable<word>>, cloudFields, cloudIter)
+    {
+        cloudIter().erase("positions");
+    }
+
+    if (cloudFields.empty())
+    {
+        Info<< "none detected." << endl;
+    }
+}
+
+
+// sorted list of cloud names
+const wordList cloudNames(cloudFields.sortedToc());
+
+if (cloudNames.size())
+{
+    // complete the echo information
+    Info<< "(";
+    forAll(cloudNames, cloudNo)
+    {
+        Info<< ' ' << cloudNames[cloudNo];
+    }
+    Info<< " ) " << endl;
+}
+
+// ************************************************************************* //
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C
index eaf7577815..07000c7f75 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C
@@ -42,13 +42,16 @@ Usage
     \param -noZero \n
     Exclude the often incomplete initial conditions.
 
-    \param -patches patchList \n
-    Specify particular patches to write.
-    Specifying an empty list suppresses writing the internalMesh.
+    \param -noLagrangian \n
+    Suppress writing lagrangian positions and fields.
 
     \param -noPatches \n
     Suppress writing any patches.
 
+    \param -patches patchList \n
+    Specify particular patches to write.
+    Specifying an empty list suppresses writing the internalMesh.
+
     \param -faceZones zoneList \n
     Specify faceZones to write, with wildcards
 
@@ -126,6 +129,11 @@ int main(int argc, char *argv[])
         "write values in nodes"
     );
     argList::addBoolOption
+    (
+        "noLagrangian",
+        "suppress writing lagrangian positions and fields"
+    );
+    argList::addBoolOption
     (
         "noPatches",
         "suppress writing any patches"
@@ -298,6 +306,8 @@ int main(int argc, char *argv[])
         fieldPatterns = wordReList(args.optionLookup("fields")());
     }
 
+    const bool noLagrangian = args.optionFound("noLagrangian");
+
     word cellZoneName;
     const bool doCellZone = args.optionReadIfPresent("cellZone", cellZoneName);
 
@@ -334,6 +344,7 @@ int main(int argc, char *argv[])
     IOobjectList objects(mesh, runTime.timeName());
 
     #include "checkMeshMoving.H"
+    #include "findCloudFields.H"
 
     if (Pstream::master())
     {
@@ -356,99 +367,19 @@ int main(int argc, char *argv[])
                 << setw(16) << "model:"
                 << ensightMesh::geometryName << nl;
         }
-    }
-
-    // Identify if lagrangian data exists any time step, and add clouds
-    // to the 'cloudNames' (sorted list)
-    wordList cloudNames;
-    {
-        wordHashSet allCloudNames;
-
-        forAll(timeDirs, timeI)
-        {
-            runTime.setTime(timeDirs[timeI], timeI);
-
-            fileNameList cloudDirs = readDir
-            (
-                runTime.timePath()/regionPrefix/cloud::prefix,
-                fileName::DIRECTORY
-            );
-
-            forAll(cloudDirs, cloudI)
-            {
-                IOobjectList cloudObjs
-                (
-                    mesh,
-                    runTime.timeName(),
-                    cloud::prefix/cloudDirs[cloudI]
-                );
-
-                IOobject* positionsPtr = cloudObjs.lookup(word("positions"));
-
-                if (positionsPtr)
-                {
-                    allCloudNames.insert(cloudDirs[cloudI]);
-                }
-            }
-        }
-
-        // sorted for consistency
-        cloudNames = allCloudNames.sortedToc();
-    }
-
-    // ignore special fields (_0 fields),
-    // ignore fields we don't handle,
-    // ignore fields that are not available for all time-steps
-    HashTable<bool> fieldsToUse;
 
-    HashTable<HashTable<word>> allCloudFields;
-    forAll(cloudNames, cloudNo)
-    {
-        const word& cloudName = cloudNames[cloudNo];
 
         // Add the name of the cloud(s) to the case file header
-        if (Pstream::master())
+        forAll(cloudNames, cloudNo)
         {
+            const word& cloudName = cloudNames[cloudNo];
+
             ensightCaseFile
                 << setw(16) << "measured: 1"
-                << fileName(dataMask/cloud::prefix/cloudName/"positions").c_str()
-                << nl;
-        }
-
-        // Create a new hash table for each cloud
-        allCloudFields.insert(cloudName, HashTable<word>());
-
-        // Identify the new cloud in the hash table
-        HashTable<HashTable<word>>::iterator newCloudIter =
-            allCloudFields.find(cloudName);
-
-        // Loop over all times to build list of fields and field types
-        // for each cloud
-        forAll(timeDirs, timeI)
-        {
-            runTime.setTime(timeDirs[timeI], timeI);
-
-            IOobjectList cloudObjs
-            (
-                mesh,
-                runTime.timeName(),
-                cloud::prefix/cloudName
-            );
-
-            forAllConstIter(IOobjectList, cloudObjs, fieldIter)
-            {
-                const IOobject obj = *fieldIter();
-
-                if (obj.name() != "positions")
-                {
-                    // Add field and field type
-                    newCloudIter().insert
-                    (
-                        obj.name(),
-                        obj.headerClassName()
-                    );
-                }
-            }
+                << fileName
+                (
+                    dataMask/cloud::prefix/cloudName/"positions"
+                ).c_str() << nl;
         }
     }
 
@@ -456,6 +387,11 @@ int main(int argc, char *argv[])
         << timer.cpuTimeIncrement() << " s, "
         << mem.update().size() << " kB" << nl << endl;
 
+    // ignore special fields (_0 fields),
+    // ignore fields we don't handle,
+    // ignore fields that are not available for all time-steps
+    HashTable<bool> fieldsToUse;
+
     label nTimeSteps = 0;
     forAll(timeDirs, timeIndex)
     {
@@ -740,13 +676,7 @@ int main(int argc, char *argv[])
         forAll(cloudNames, cloudNo)
         {
             const word& cloudName = cloudNames[cloudNo];
-            if (!allCloudFields.found(cloudName))
-            {
-                // extra safety
-                continue;
-            }
-
-            const HashTable<word>& cloudFields = allCloudFields[cloudName];
+            const HashTable<word>& theseCloudFields = cloudFields[cloudName];
 
             fileNameList currentCloudDirs = readDir
             (
@@ -769,7 +699,7 @@ int main(int argc, char *argv[])
                 format
             );
 
-            forAllConstIter(HashTable<word>, cloudFields, fieldIter)
+            forAllConstIter(HashTable<word>, theseCloudFields, fieldIter)
             {
                 const word& fieldName = fieldIter.key();
                 const word& fieldType = fieldIter();
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/findFields.H b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/findFields.H
index 077490f1ec..721ba05101 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/findFields.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/findFields.H
@@ -8,7 +8,10 @@ HashTable<HashTable<word>> cloudFields;
 
 if (timeDirs.size())
 {
-    IOobjectList objs(mesh, timeDirs.last().name());
+    const fileName& cloudPrefix = regionPrefix/cloud::prefix;
+    const word& lastTimeName = timeDirs.last().name();
+
+    IOobjectList objs(mesh, lastTimeName);
 
     forAllConstIter(IOobjectList, objs, fieldIter)
     {
@@ -31,14 +34,17 @@ if (timeDirs.size())
     //
     // now check for lagrangian/<cloudName>
     //
-    fileNameList cloudDirs = readDir
-    (
-        runTime.path()
-      / timeDirs.last().name()
-      / regionPrefix
-      / cloud::prefix,
-        fileName::DIRECTORY
-    );
+    fileNameList cloudDirs;
+    if (!noLagrangian)
+    {
+        cloudDirs = readDir
+        (
+            runTime.path()
+          / lastTimeName
+          / cloudPrefix,
+            fileName::DIRECTORY
+        );
+    }
 
     forAll(cloudDirs, cloudI)
     {
@@ -54,8 +60,8 @@ if (timeDirs.size())
         IOobjectList objs
         (
             mesh,
-            timeDirs.last().name(),
-            cloud::prefix/cloudName
+            lastTimeName,
+            cloudPrefix/cloudName
         );
 
         bool hasPositions = false;
@@ -89,17 +95,27 @@ if (timeDirs.size())
     //
     for (label i=0; volumeFields.size() && i < timeDirs.size(); ++i)
     {
-        IOobjectList objs(mesh, timeDirs[i].name());
+        const word& timeName = timeDirs[i].name();
 
-        forAllIter(HashTable<word>, volumeFields, fieldIter)
-        {
-            const word& fieldName = fieldIter.key();
+        // Everything is potentially missing, unless we discover otherwise
+        wordHashSet missing(volumeFields);
 
-            if (!objs.found(fieldName))
-            {
-                volumeFields.erase(fieldIter);
-            }
+        // Avoid  -->>  IOobjectList objs(mesh, timeName);  <<--
+        // Too much overhead when done so frequently.
+
+        fileNameList contents = readDir
+        (
+            runTime.path()
+          / timeName,
+            fileName::FILE
+        );
+
+        forAll(contents, fileI)
+        {
+            missing.erase(contents[fileI].name());
         }
+
+        volumeFields.erase(missing);
     }
 }
 
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C
index 8f00f0128c..34bce4adea 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C
@@ -44,6 +44,9 @@ Usage
     \param -noZero \n
     Exclude the often incomplete initial conditions.
 
+    \param -noLagrangian \n
+    Suppress writing lagrangian positions and fields.
+
     \param -index \<start\>\n
     Ignore the time index contained in the time file and use a
     simple indexing when creating the \c Ensight/data/######## files.
@@ -101,6 +104,11 @@ int main(int argc, char *argv[])
         "and use simple indexing when creating the files"
     );
     argList::addBoolOption
+    (
+        "noLagrangian",
+        "suppress writing lagrangian positions and fields"
+    );
+    argList::addBoolOption
     (
         "noMesh",
         "suppress writing the geometry. "
@@ -158,7 +166,8 @@ int main(int argc, char *argv[])
 
     // control for renumbering iterations
     label indexingNumber = 0;
-    bool optIndex = args.optionReadIfPresent("index", indexingNumber);
+    const bool optIndex = args.optionReadIfPresent("index", indexingNumber);
+    const bool noLagrangian = args.optionFound("noLagrangian");
 
     // always write the geometry, unless the -noMesh option is specified
     bool optNoMesh = args.optionFound("noMesh");
@@ -389,15 +398,9 @@ int main(int argc, char *argv[])
         forAllConstIter(HashTable<HashTable<word>>, cloudFields, cloudIter)
         {
             const word& cloudName = cloudIter.key();
+            const fileName& cloudPrefix = regionPrefix/cloud::prefix;
 
-            if
-            (
-                !isDir
-                (
-                    runTime.timePath()/regionPrefix/
-                    cloud::prefix/cloudName
-                )
-            )
+            if (!isDir(runTime.timePath()/cloudPrefix/cloudName))
             {
                 continue;
             }
@@ -406,27 +409,24 @@ int main(int argc, char *argv[])
             (
                 mesh,
                 runTime.timeName(),
-                cloud::prefix/cloudName
+                cloudPrefix/cloudName
             );
 
             // check that the positions field is present for this time
-            IOobject* positionPtr = cloudObjs.lookup(word("positions"));
-            if (positionPtr != NULL)
-            {
-                ensightParticlePositions
-                (
-                    mesh,
-                    dataDir,
-                    subDir,
-                    cloudName,
-                    format
-                );
-            }
-            else
+            if (!cloudObjs.found("positions"))
             {
                 continue;
             }
 
+            ensightParticlePositions
+            (
+                mesh,
+                dataDir,
+                subDir,
+                cloudName,
+                format
+            );
+
             Info<< "write " << cloudName << " (" << flush;
 
             forAllConstIter(HashTable<word>, cloudIter(), fieldIter)
@@ -439,7 +439,7 @@ int main(int argc, char *argv[])
                 if (!fieldObject)
                 {
                     Info<< "missing "
-                        << runTime.timeName()/cloud::prefix/cloudName
+                        << runTime.timeName()/cloudPrefix/cloudName
                         / fieldName
                         << endl;
                     continue;
-- 
GitLab


From 7a6b1ef0d9c23d0d6ae454e6eea3d03c4211cd73 Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Fri, 23 Sep 2016 18:45:06 +0200
Subject: [PATCH 47/96] ENH: reduce startup time for foamToVTK conversion

- Similar to ensight converters (issue #240),
  improve speed for detection of lagrangian clouds.

- provide a -noLagrangian option for symmetry
---
 .../dataConversion/foamToVTK/findClouds.H     | 71 +++++++++++++++++++
 .../dataConversion/foamToVTK/foamToVTK.C      | 66 +++++------------
 2 files changed, 90 insertions(+), 47 deletions(-)
 create mode 100644 applications/utilities/postProcessing/dataConversion/foamToVTK/findClouds.H

diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/findClouds.H b/applications/utilities/postProcessing/dataConversion/foamToVTK/findClouds.H
new file mode 100644
index 0000000000..5637f22498
--- /dev/null
+++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/findClouds.H
@@ -0,0 +1,71 @@
+// check all time directories for the following:
+
+// Any cloud names:
+HashSet<fileName> allCloudDirs;
+
+if (timeDirs.size() && !noLagrangian)
+{
+    const fileName& baseDir = mesh.time().path();
+    const fileName& cloudPrefix = regionPrefix/cloud::prefix;
+
+    Info<< "Searching for lagrangian ... " << flush;
+
+    forAll(timeDirs, timeI)
+    {
+        const word& timeName = timeDirs[timeI].name();
+
+        // DO NOT USE -->>  runTime.setTime(timeDirs[timeI], timeI);  <<--
+        // It incurs a large overhead when done so frequently.
+
+        fileNameList cloudDirs = readDir
+        (
+            baseDir/timeName/cloudPrefix,
+            fileName::DIRECTORY
+        );
+
+        forAll(cloudDirs, cloudI)
+        {
+            const word& cloudName = cloudDirs[cloudI];
+
+            IOobjectList cloudObjs
+            (
+                mesh,
+                timeName,
+                cloudPrefix/cloudName
+            );
+
+            // clouds always require "positions"
+            if (cloudObjs.found("positions"))
+            {
+                if (allCloudDirs.insert(cloudName))
+                {
+                    Info<< "At time: " << timeName
+                        << " detected cloud directory : " << cloudName
+                        << endl;
+                }
+            }
+        }
+    }
+
+    if (allCloudDirs.empty())
+    {
+        Info<< "none detected." << endl;
+    }
+}
+
+// sorted list of cloud names
+const fileNameList cloudNames(allCloudDirs.sortedToc());
+
+if (cloudNames.size())
+{
+    // complete the echo information
+    Info<< "(";
+    forAll(cloudNames, cloudNo)
+    {
+        Info<< ' ' << cloudNames[cloudNo];
+    }
+    Info<< " ) " << endl;
+}
+
+
+// ************************************************************************* //
diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C
index 51a3563f5e..da66613c0c 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -71,6 +71,9 @@ Usage
     \param -noInternal \n
     Do not generate file for mesh, only for patches
 
+    \param -noLagrangian \n
+    Suppress writing lagrangian positions and fields.
+
     \param -noPointValues \n
     No pointFields
 
@@ -290,6 +293,12 @@ int main(int argc, char *argv[])
         "noInternal",
         "do not generate file for mesh, only for patches"
     );
+    argList::addBoolOption
+    (
+        "noLagrangian",
+        "suppress writing lagrangian positions and fields"
+    );
+
     argList::addBoolOption
     (
         "noPointValues",
@@ -336,6 +345,7 @@ int main(int argc, char *argv[])
     const bool doLinks         = !args.optionFound("noLinks");
     bool binary                = !args.optionFound("ascii");
     const bool useTimeName     = args.optionFound("useTimeName");
+    const bool noLagrangian    = args.optionFound("noLagrangian");
 
     // Decomposition of polyhedral cells into tets/pyramids cells
     vtkTopo::decomposePoly     = !args.optionFound("poly");
@@ -406,9 +416,9 @@ int main(int argc, char *argv[])
 
     // VTK/ directory in the case
     fileName fvPath(runTime.path()/"VTK");
-    // Directory of mesh (region0 gets filtered out)
-    fileName regionPrefix = "";
 
+    // Directory of mesh (region0 gets filtered out)
+    fileName regionPrefix;
     if (regionName != polyMesh::defaultRegion)
     {
         fvPath = fvPath/regionName;
@@ -446,43 +456,7 @@ int main(int argc, char *argv[])
         << timer.cpuTimeIncrement() << " s, "
         << mem.update().size() << " kB" << endl;
 
-
-    // Scan for all possible lagrangian clouds
-    HashSet<fileName> allCloudDirs;
-    forAll(timeDirs, timeI)
-    {
-        runTime.setTime(timeDirs[timeI], timeI);
-        fileNameList cloudDirs
-        (
-            readDir
-            (
-                runTime.timePath()/regionPrefix/cloud::prefix,
-                fileName::DIRECTORY
-            )
-        );
-        forAll(cloudDirs, i)
-        {
-            IOobjectList sprayObjs
-            (
-                mesh,
-                runTime.timeName(),
-                cloud::prefix/cloudDirs[i]
-            );
-
-            IOobject* positionsPtr = sprayObjs.lookup(word("positions"));
-
-            if (positionsPtr)
-            {
-                if (allCloudDirs.insert(cloudDirs[i]))
-                {
-                    Info<< "At time: " << runTime.timeName()
-                        << " detected cloud directory : " << cloudDirs[i]
-                        << endl;
-                }
-            }
-        }
-    }
-
+    #include "findClouds.H"
 
     forAll(timeDirs, timeI)
     {
@@ -490,7 +464,7 @@ int main(int argc, char *argv[])
 
         Info<< "Time: " << runTime.timeName() << endl;
 
-        word timeDesc =
+        const word timeDesc =
             useTimeName ? runTime.timeName() : Foam::name(runTime.timeIndex());
 
         // Check for new polyMesh/ and update mesh, fvMeshSubset and cell
@@ -662,7 +636,7 @@ int main(int argc, char *argv[])
               + dtf.size();
 
 
-        // Construct pointMesh only if nessecary since constructs edge
+        // Construct pointMesh only if necessary since constructs edge
         // addressing (expensive on polyhedral meshes)
         if (noPointValues)
         {
@@ -1149,9 +1123,9 @@ int main(int argc, char *argv[])
         //
         //---------------------------------------------------------------------
 
-        forAllConstIter(HashSet<fileName>, allCloudDirs, iter)
+        forAll(cloudNames, cloudNo)
         {
-            const fileName& cloudName = iter.key();
+            const fileName& cloudName = cloudNames[cloudNo];
 
             // Always create the cloud directory.
             mkDir(fvPath/cloud::prefix/cloudName);
@@ -1172,9 +1146,7 @@ int main(int argc, char *argv[])
                 cloud::prefix/cloudName
             );
 
-            IOobject* positionsPtr = sprayObjs.lookup(word("positions"));
-
-            if (positionsPtr)
+            if (sprayObjs.found("positions"))
             {
                 wordList labelNames(sprayObjs.names(labelIOField::typeName));
                 Info<< "        labels            :";
-- 
GitLab


From 8bbb379df0c248edf6d42308d772372076e147c2 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sat, 24 Sep 2016 08:40:13 +0100
Subject: [PATCH 48/96] blockMesh: Added support for (<block> <face>)
 specification of patch faces

e.g. for the cavity tutorial the moving wall patch can be specified in
terms of the block vertices as before:

boundary
(
    movingWall
    {
        type wall;
        faces
        (
            (3 7 6 2)
        );
    }
    .
    .
    .

or the new specification of the face as block 0, block face 3:

boundary
(
    movingWall
    {
        type wall;
        faces
        (
            (0 3)
        );
    }
---
 .../blockDescriptor/blockDescriptor.C         |  19 ++
 src/mesh/blockMesh/blockMesh/blockMesh.H      |  24 ++-
 src/mesh/blockMesh/blockMesh/blockMeshCheck.C |  80 +--------
 .../blockMesh/blockMesh/blockMeshTopology.C   | 165 +++++++++++-------
 4 files changed, 128 insertions(+), 160 deletions(-)

diff --git a/src/mesh/blockMesh/blockDescriptor/blockDescriptor.C b/src/mesh/blockMesh/blockDescriptor/blockDescriptor.C
index f8f148756d..1f8c9118c1 100644
--- a/src/mesh/blockMesh/blockDescriptor/blockDescriptor.C
+++ b/src/mesh/blockMesh/blockDescriptor/blockDescriptor.C
@@ -29,6 +29,25 @@ License
 
 void Foam::blockDescriptor::check(const Istream& is)
 {
+    forAll(blockShape_, pi)
+    {
+        if (blockShape_[pi] < 0)
+        {
+            FatalIOErrorInFunction(is)
+                << "Negative point label " << blockShape_[pi]
+                << " in block " << *this
+                << exit(FatalIOError);
+        }
+        else if (blockShape_[pi] >= blockPointField_.size())
+        {
+            FatalIOErrorInFunction(is)
+                << "Point label " << blockShape_[pi]
+                << " out of range 0.." << blockPointField_.size() - 1
+                << " in block " << *this
+                << exit(FatalIOError);
+        }
+    }
+
     const point blockCentre(blockShape_.centre(blockPointField_));
     const faceList faces(blockShape_.faces());
 
diff --git a/src/mesh/blockMesh/blockMesh/blockMesh.H b/src/mesh/blockMesh/blockMesh/blockMesh.H
index b4cad2a87d..348a59f018 100644
--- a/src/mesh/blockMesh/blockMesh/blockMesh.H
+++ b/src/mesh/blockMesh/blockMesh/blockMesh.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
@@ -97,21 +97,16 @@ class blockMesh
 
     // Private Member Functions
 
-        bool blockLabelsOK
+        template<class Source>
+        void checkPatchLabels
         (
-            const label blockLabel,
+            const Source& source,
+            const word& patchName,
             const pointField& points,
-            const cellShape& blockShape
+            faceList& patchShapes
         ) const;
 
-        bool patchLabelsOK
-        (
-            const label patchLabel,
-            const pointField& points,
-            const faceList& patchShapes
-        ) const;
-
-        bool readPatches
+        void readPatches
         (
             const dictionary& meshDescription,
             faceListList& tmpBlocksPatches,
@@ -120,7 +115,7 @@ class blockMesh
             wordList& nbrPatchNames
         );
 
-        bool readBoundary
+        void readBoundary
         (
             const dictionary& meshDescription,
             wordList& patchNames,
@@ -131,7 +126,8 @@ class blockMesh
         void createCellShapes(cellShapeList& tmpBlockCells);
 
         polyMesh* createTopology(const IOdictionary&, const word& regionName);
-        void checkBlockMesh(const polyMesh&) const;
+
+        void check(const polyMesh&) const;
 
         //- Determine the merge info and the final number of cells/points
         void calcMergeInfo();
diff --git a/src/mesh/blockMesh/blockMesh/blockMeshCheck.C b/src/mesh/blockMesh/blockMesh/blockMeshCheck.C
index 2347e8efd8..3091c16cbd 100644
--- a/src/mesh/blockMesh/blockMesh/blockMeshCheck.C
+++ b/src/mesh/blockMesh/blockMesh/blockMeshCheck.C
@@ -27,7 +27,7 @@ License
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-void Foam::blockMesh::checkBlockMesh(const polyMesh& bm) const
+void Foam::blockMesh::check(const polyMesh& bm) const
 {
     if (verboseOutput)
     {
@@ -146,82 +146,4 @@ void Foam::blockMesh::checkBlockMesh(const polyMesh& bm) const
 }
 
 
-bool Foam::blockMesh::blockLabelsOK
-(
-    const label blockLabel,
-    const pointField& points,
-    const cellShape& blockShape
-) const
-{
-    bool ok = true;
-
-    forAll(blockShape, blockI)
-    {
-        if (blockShape[blockI] < 0)
-        {
-            ok = false;
-
-            WarningInFunction
-                << "out-of-range point label " << blockShape[blockI]
-                << " (min = 0"
-                << ") in block " << blockLabel << endl;
-        }
-        else if (blockShape[blockI] >= points.size())
-        {
-            ok = false;
-
-            WarningInFunction
-                << "out-of-range point label " << blockShape[blockI]
-                << " (max = " << points.size() - 1
-                << ") in block " << blockLabel << endl;
-        }
-    }
-
-    return ok;
-}
-
-
-bool Foam::blockMesh::patchLabelsOK
-(
-    const label patchLabel,
-    const pointField& points,
-    const faceList& patchFaces
-) const
-{
-    bool ok = true;
-
-    forAll(patchFaces, facei)
-    {
-        const labelList& f = patchFaces[facei];
-
-        forAll(f, fp)
-        {
-            if (f[fp] < 0)
-            {
-                ok = false;
-
-                WarningInFunction
-                    << "out-of-range point label " << f[fp]
-                    << " (min = 0"
-                    << ") on patch " << patchLabel
-                    << ", face " << facei << endl;
-            }
-            else if (f[fp] >= points.size())
-            {
-                ok = false;
-
-                WarningInFunction
-                    << "out-of-range point label " << f[fp]
-                    << " (max = " << points.size() - 1
-                    << ") on patch " << patchLabel
-                    << ", face " << facei << endl;
-
-            }
-        }
-    }
-
-    return ok;
-}
-
-
 // ************************************************************************* //
diff --git a/src/mesh/blockMesh/blockMesh/blockMeshTopology.C b/src/mesh/blockMesh/blockMesh/blockMeshTopology.C
index c0223efe71..dfc1d93b2d 100644
--- a/src/mesh/blockMesh/blockMesh/blockMeshTopology.C
+++ b/src/mesh/blockMesh/blockMesh/blockMeshTopology.C
@@ -29,8 +29,79 @@ License
 #include "emptyPolyPatch.H"
 #include "cyclicPolyPatch.H"
 
+// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
+
+template<class Source>
+void Foam::blockMesh::checkPatchLabels
+(
+    const Source& source,
+    const word& patchName,
+    const pointField& points,
+    faceList& patchFaces
+) const
+{
+    forAll(patchFaces, facei)
+    {
+        face& f = patchFaces[facei];
+
+        // Replace (<block> <face>) face description
+        // with the corresponding block face
+        if (f.size() == 2)
+        {
+            const label bi = f[0];
+            const label fi = f[1];
+
+            if (bi >= size())
+            {
+                FatalIOErrorInFunction(source)
+                    << "Block index out of range for patch face " << f << nl
+                    << "    Number of blocks = " << size()
+                    << ", index = " << f[0] << nl
+                    << "    on patch " << patchName << ", face " << facei
+                    << exit(FatalIOError);
+            }
+            else if (fi >= operator[](bi).blockShape().faces().size())
+            {
+                FatalIOErrorInFunction(source)
+                    << "Block face index out of range for patch face " << f
+                    << nl
+                    << "    Number of block faces = "
+                    << operator[](bi).blockShape().faces().size()
+                    << ", index = " << f[1] << nl
+                    << "    on patch " << patchName << ", face " << facei
+                    << exit(FatalIOError);
+            }
+            else
+            {
+                f = operator[](bi).blockShape().faces()[fi];
+            }
+        }
+        else
+        {
+            forAll(f, fp)
+            {
+                if (f[fp] < 0)
+                {
+                    FatalIOErrorInFunction(source)
+                        << "Negative point label " << f[fp] << nl
+                        << "    on patch " << patchName << ", face " << facei
+                        << exit(FatalIOError);
+                }
+                else if (f[fp] >= points.size())
+                {
+                    FatalIOErrorInFunction(source)
+                        << "Point label " << f[fp]
+                        << " out of range 0.." << points.size() - 1 << nl
+                        << "    on patch " << patchName << ", face " << facei
+                        << exit(FatalIOError);
+                }
+            }
+        }
+    }
+}
+
 
-bool Foam::blockMesh::readPatches
+void Foam::blockMesh::readPatches
 (
     const dictionary& meshDescription,
     faceListList& tmpBlocksPatches,
@@ -39,8 +110,6 @@ bool Foam::blockMesh::readPatches
     wordList& nbrPatchNames
 )
 {
-    bool topologyOK = true;
-
     ITstream& patchStream(meshDescription.lookup("patches"));
 
     // read number of patches in mesh
@@ -94,22 +163,22 @@ bool Foam::blockMesh::readPatches
         patchStream >> tmpBlocksPatches[nPatches];
 
 
-        // Catch multiple patches asap.
+        // Check for multiple patches
         for (label i = 0; i < nPatches; i++)
         {
             if (patchNames[nPatches] == patchNames[i])
             {
-                FatalErrorInFunction
+                FatalIOErrorInFunction(patchStream)
                     << "Duplicate patch " << patchNames[nPatches]
                     << " at line " << patchStream.lineNumber()
-                    << ". Exiting !" << nl
-                    << exit(FatalError);
+                    << exit(FatalIOError);
             }
         }
 
-        topologyOK = topologyOK && patchLabelsOK
+        checkPatchLabels
         (
-            nPatches,
+            patchStream,
+            patchNames[nPatches],
             blockPointField_,
             tmpBlocksPatches[nPatches]
         );
@@ -124,13 +193,13 @@ bool Foam::blockMesh::readPatches
             word halfA = patchNames[nPatches-1] + "_half0";
             word halfB = patchNames[nPatches-1] + "_half1";
 
-            WarningInFunction
+            FatalIOErrorInFunction(patchStream)
                 << "Old-style cyclic definition."
                 << " Splitting patch "
                 << patchNames[nPatches-1] << " into two halves "
                 << halfA << " and " << halfB << endl
                 << "    Alternatively use new 'boundary' dictionary syntax."
-                << endl;
+                << exit(FatalIOError);
 
             // Add extra patch
             if (tmpBlocksPatches.size() <= nPatches)
@@ -152,10 +221,10 @@ bool Foam::blockMesh::readPatches
             // Split faces
             if ((tmpBlocksPatches[nPatches-1].size() % 2) != 0)
             {
-                FatalErrorInFunction
+                FatalIOErrorInFunction(patchStream)
                     << "Size of cyclic faces is not a multiple of 2 :"
                     << tmpBlocksPatches[nPatches-1]
-                    << exit(FatalError);
+                    << exit(FatalIOError);
             }
             label sz = tmpBlocksPatches[nPatches-1].size()/2;
             faceList unsplitFaces(tmpBlocksPatches[nPatches-1], true);
@@ -177,12 +246,10 @@ bool Foam::blockMesh::readPatches
 
     // Read end of blocks
     patchStream.readEnd("patches");
-
-    return topologyOK;
 }
 
 
-bool Foam::blockMesh::readBoundary
+void Foam::blockMesh::readBoundary
 (
     const dictionary& meshDescription,
     wordList& patchNames,
@@ -190,8 +257,6 @@ bool Foam::blockMesh::readBoundary
     PtrList<dictionary>& patchDicts
 )
 {
-    bool topologyOK = true;
-
     // Read like boundary file
     const PtrList<entry> patchesInfo
     (
@@ -210,24 +275,26 @@ bool Foam::blockMesh::readBoundary
         {
             FatalIOErrorInFunction(meshDescription)
                 << "Entry " << patchInfo << " in boundary section is not a"
-                << " valid dictionary." << exit(FatalIOError);
+                << " valid dictionary."
+                << exit(FatalIOError);
         }
 
         patchNames[patchi] = patchInfo.keyword();
-        // Construct dictionary
+
+        // Construct patch dictionary
         patchDicts.set(patchi, new dictionary(patchInfo.dict()));
+
         // Read block faces
         patchDicts[patchi].lookup("faces") >> tmpBlocksPatches[patchi];
 
-        topologyOK = topologyOK && patchLabelsOK
+        checkPatchLabels
         (
-            patchi,
+            patchInfo.dict(),
+            patchNames[patchi],
             blockPointField_,
             tmpBlocksPatches[patchi]
         );
     }
-
-    return topologyOK;
 }
 
 
@@ -241,14 +308,7 @@ void Foam::blockMesh::createCellShapes
     tmpBlockCells.setSize(blocks.size());
     forAll(blocks, blockI)
     {
-        tmpBlockCells[blockI] = cellShape(blocks[blockI].blockShape());
-
-        if (tmpBlockCells[blockI].mag(blockPointField_) < 0.0)
-        {
-            WarningInFunction
-                << "negative volume block : " << blockI
-                << ", probably defined inside-out" << endl;
-        }
+        tmpBlockCells[blockI] = blocks[blockI].blockShape();
     }
 }
 
@@ -261,8 +321,6 @@ Foam::polyMesh* Foam::blockMesh::createTopology
     const word& regionName
 )
 {
-    bool topologyOK = true;
-
     blockList& blocks = *this;
 
     word defaultPatchName = "defaultFaces";
@@ -411,13 +469,6 @@ Foam::polyMesh* Foam::blockMesh::createTopology
                 )
             );
 
-            topologyOK = topologyOK && blockLabelsOK
-            (
-                nBlocks,
-                blockPointField_,
-                blocks[nBlocks].blockShape()
-            );
-
             nBlocks++;
 
             is >> lastToken;
@@ -448,7 +499,7 @@ Foam::polyMesh* Foam::blockMesh::createTopology
         wordList patchTypes;
         wordList nbrPatchNames;
 
-        topologyOK = topologyOK && readPatches
+        readPatches
         (
             meshDescription,
             tmpBlocksPatches,
@@ -457,13 +508,6 @@ Foam::polyMesh* Foam::blockMesh::createTopology
             nbrPatchNames
         );
 
-        if (!topologyOK)
-        {
-            FatalErrorInFunction
-                << "Cannot create mesh due to errors in topology, exiting !"
-                << nl << exit(FatalError);
-        }
-
         Info<< nl << "Creating block mesh topology" << endl;
 
         cellShapeList tmpBlockCells(blocks.size());
@@ -504,14 +548,12 @@ Foam::polyMesh* Foam::blockMesh::createTopology
             }
             else if (word(dict.lookup("type")) != patchTypes[patchi])
             {
-                IOWarningInFunction
-                (
-                    meshDescription
-                )   << "For patch " << patchNames[patchi]
+                FatalIOErrorInFunction(meshDescription)
+                    << "For patch " << patchNames[patchi]
                     << " overriding type '" << patchTypes[patchi]
                     << "' with '" << word(dict.lookup("type"))
                     << "' (read from boundary file)"
-                    << endl;
+                    << exit(FatalIOError);
             }
 
             // Override neighbourpatch name
@@ -521,7 +563,6 @@ Foam::polyMesh* Foam::blockMesh::createTopology
             }
         }
 
-
         blockMeshPtr = new polyMesh
         (
             IOobject
@@ -548,7 +589,7 @@ Foam::polyMesh* Foam::blockMesh::createTopology
         faceListList tmpBlocksPatches;
         PtrList<dictionary> patchDicts;
 
-        topologyOK = topologyOK && readBoundary
+        readBoundary
         (
             meshDescription,
             patchNames,
@@ -556,21 +597,11 @@ Foam::polyMesh* Foam::blockMesh::createTopology
             patchDicts
         );
 
-        if (!topologyOK)
-        {
-            FatalErrorInFunction
-                << "Cannot create mesh due to errors in topology, exiting !"
-                << nl << exit(FatalError);
-        }
-
-
         Info<< nl << "Creating block mesh topology" << endl;
 
         cellShapeList tmpBlockCells(blocks.size());
         createCellShapes(tmpBlockCells);
 
-        // Extract
-
         blockMeshPtr = new polyMesh
         (
             IOobject
@@ -592,7 +623,7 @@ Foam::polyMesh* Foam::blockMesh::createTopology
         );
     }
 
-    checkBlockMesh(*blockMeshPtr);
+    check(*blockMeshPtr);
 
     return blockMeshPtr;
 }
-- 
GitLab


From 4603a8b2539a68f252bdb2fc463696248062ff42 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 25 Sep 2016 09:11:53 +0100
Subject: [PATCH 49/96] fvPatchFields: Constructors from dictionary now call
 the corresponding constructor of the fvPatchField base-class to ensure
 'patchType' is set as specified.

Required substantial change to the organization of the reading of the
'value' entry requiring careful testing and there may be some residual
issues remaining.  Please report any problems with the reading and
initialization of patch fields.

Resolves bug-report http://bugs.openfoam.org/view.php?id=2266
---
 .../adjointOutletPressureFvPatchScalarField.C | 11 ++----
 .../adjointOutletVelocityFvPatchVectorField.C |  8 ++---
 ...ndaryLayerInletEpsilonFvPatchScalarField.C |  4 +--
 ...atmBoundaryLayerInletKFvPatchScalarField.C |  4 +--
 ...daryLayerInletVelocityFvPatchVectorField.C |  4 +--
 .../fixedShearStressFvPatchVectorField.C      |  2 +-
 .../SRFVelocityFvPatchVectorField.C           |  6 ++--
 .../SRFWallVelocityFvPatchVectorField.C       |  6 ++--
 .../basic/coupled/coupledFvPatchField.C       |  5 +--
 .../basic/coupled/coupledFvPatchField.H       |  3 +-
 .../extrapolatedCalculatedFvPatchField.C      |  9 ++---
 .../extrapolatedCalculatedFvPatchField.H      |  3 +-
 .../fixedGradient/fixedGradientFvPatchField.C |  2 +-
 .../basic/fixedValue/fixedValueFvPatchField.C |  5 +--
 .../basic/fixedValue/fixedValueFvPatchField.H |  3 +-
 .../basic/mixed/mixedFvPatchField.C           |  2 +-
 .../basic/sliced/slicedFvPatchField.C         |  2 +-
 .../basic/transform/transformFvPatchField.C   |  2 +-
 .../zeroGradient/zeroGradientFvPatchField.C   |  2 +-
 .../constraint/cyclic/cyclicFvPatchField.C    |  2 +-
 .../cyclicACMI/cyclicACMIFvPatchField.C       | 35 ++++++++++---------
 .../cyclicAMI/cyclicAMIFvPatchField.C         | 34 +++++++++---------
 .../activeBaffleVelocityFvPatchVectorField.C  |  2 +-
 ...ureForceBaffleVelocityFvPatchVectorField.C |  2 +-
 .../fixedProfile/fixedProfileFvPatchField.C   |  2 +-
 .../flowRateInletVelocityFvPatchVectorField.C |  2 +-
 .../movingWallVelocityFvPatchVectorField.C    |  6 ++--
 .../plenumPressureFvPatchScalarField.C        |  4 +--
 ...eDirectedInletVelocityFvPatchVectorField.C |  6 ++--
 .../pressureInletVelocityFvPatchVectorField.C |  6 ++--
 .../prghPressureFvPatchScalarField.C          |  4 +--
 .../prghTotalPressureFvPatchScalarField.C     |  4 +--
 .../rotatingWallVelocityFvPatchVectorField.C  |  2 +-
 ...urfaceNormalFixedValueFvPatchVectorField.C |  2 +-
 .../syringePressureFvPatchScalarField.C       |  2 +-
 .../timeVaryingMappedFixedValueFvPatchField.C |  2 +-
 .../totalPressureFvPatchScalarField.C         |  2 +-
 .../totalTemperatureFvPatchScalarField.C      |  4 +--
 ...ranslatingWallVelocityFvPatchVectorField.C |  2 +-
 .../turbulentInletFvPatchField.C              |  2 +-
 ...ityHydrostaticPressureFvPatchScalarField.C |  2 +-
 .../uniformFixedValueFvPatchField.C           |  2 +-
 .../uniformTotalPressureFvPatchScalarField.C  |  2 +-
 .../waveSurfacePressureFvPatchScalarField.C   |  9 ++---
 .../fvPatchFields/fvPatchField/fvPatchField.C | 33 +++++++++--------
 .../fvPatchFields/fvPatchField/fvPatchField.H |  2 +-
 .../cellMotion/cellMotionFvPatchField.C       |  6 ++--
 ...meVaryingMappedFixedValuePointPatchField.C |  2 +-
 .../genericFvPatchField/genericFvPatchField.C |  2 +-
 ...ysisTemperatureCoupledFvPatchScalarField.C |  6 ++--
 ...rolysisVelocityCoupledFvPatchVectorField.C |  6 ++--
 ...ilmHeightInletVelocityFvPatchVectorField.C |  8 ++---
 ...linedFilmNusseltHeightFvPatchScalarField.C |  6 ++--
 ...lmNusseltInletVelocityFvPatchVectorField.C |  6 ++--
 ...veViewFactorFixedValueFvPatchScalarField.C |  2 +-
 .../alphaFixedPressureFvPatchScalarField.C    |  4 +--
 56 files changed, 138 insertions(+), 170 deletions(-)

diff --git a/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointOutletPressure/adjointOutletPressureFvPatchScalarField.C b/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointOutletPressure/adjointOutletPressureFvPatchScalarField.C
index c15fde7078..c9f03a373c 100644
--- a/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointOutletPressure/adjointOutletPressureFvPatchScalarField.C
+++ b/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointOutletPressure/adjointOutletPressureFvPatchScalarField.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
@@ -63,13 +63,8 @@ adjointOutletPressureFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF)
-{
-    fvPatchField<scalar>::operator=
-    (
-        scalarField("value", dict, p.size())
-    );
-}
+    fixedValueFvPatchScalarField(p, iF, dict)
+{}
 
 
 Foam::adjointOutletPressureFvPatchScalarField::
diff --git a/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointOutletVelocity/adjointOutletVelocityFvPatchVectorField.C b/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointOutletVelocity/adjointOutletVelocityFvPatchVectorField.C
index 31134c955b..7b00d66277 100644
--- a/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointOutletVelocity/adjointOutletVelocityFvPatchVectorField.C
+++ b/applications/solvers/incompressible/adjointShapeOptimizationFoam/adjointOutletVelocity/adjointOutletVelocityFvPatchVectorField.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
@@ -50,10 +50,8 @@ adjointOutletVelocityFvPatchVectorField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchVectorField(p, iF)
-{
-    fvPatchVectorField::operator=(vectorField("value", dict, p.size()));
-}
+    fixedValueFvPatchVectorField(p, iF, dict)
+{}
 
 
 Foam::adjointOutletVelocityFvPatchVectorField::
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C
index 9b04284c0e..20a917ec33 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletEpsilon/atmBoundaryLayerInletEpsilonFvPatchScalarField.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
@@ -56,7 +56,7 @@ atmBoundaryLayerInletEpsilonFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF),
+    fixedValueFvPatchScalarField(p, iF, dict, false),
     atmBoundaryLayer(patch().Cf(), dict)
 {
     scalarField::operator=(epsilon(patch().Cf()));
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.C b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.C
index de2404ab13..65017e2520 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletK/atmBoundaryLayerInletKFvPatchScalarField.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
@@ -56,7 +56,7 @@ atmBoundaryLayerInletKFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF),
+    fixedValueFvPatchScalarField(p, iF, dict, false),
     atmBoundaryLayer(patch().Cf(), dict)
 {
     scalarField::operator=(k(patch().Cf()));
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.C b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.C
index 652b6e07bc..348d041cb0 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/atmBoundaryLayerInletVelocity/atmBoundaryLayerInletVelocityFvPatchVectorField.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
@@ -56,7 +56,7 @@ atmBoundaryLayerInletVelocityFvPatchVectorField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchVectorField(p, iF),
+    fixedValueFvPatchVectorField(p, iF, dict, false),
     atmBoundaryLayer(patch().Cf(), dict)
 {
     vectorField::operator=(U(patch().Cf()));
diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.C b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.C
index 17050f28d5..bc4f5303e3 100644
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.C
+++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/fixedShearStress/fixedShearStressFvPatchVectorField.C
@@ -50,7 +50,7 @@ Foam::fixedShearStressFvPatchVectorField::fixedShearStressFvPatchVectorField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchVectorField(p, iF),
+    fixedValueFvPatchVectorField(p, iF, dict, false),
     tau0_(dict.lookupOrDefault<vector>("tau", Zero))
 {
     fvPatchField<vector>::operator=(patchInternalField());
diff --git a/src/finiteVolume/cfdTools/general/SRF/derivedFvPatchFields/SRFVelocityFvPatchVectorField/SRFVelocityFvPatchVectorField.C b/src/finiteVolume/cfdTools/general/SRF/derivedFvPatchFields/SRFVelocityFvPatchVectorField/SRFVelocityFvPatchVectorField.C
index ec59dbedfc..ba3a045726 100644
--- a/src/finiteVolume/cfdTools/general/SRF/derivedFvPatchFields/SRFVelocityFvPatchVectorField/SRFVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/cfdTools/general/SRF/derivedFvPatchFields/SRFVelocityFvPatchVectorField/SRFVelocityFvPatchVectorField.C
@@ -64,12 +64,10 @@ Foam::SRFVelocityFvPatchVectorField::SRFVelocityFvPatchVectorField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchVectorField(p, iF),
+    fixedValueFvPatchVectorField(p, iF, dict),
     relative_(dict.lookup("relative")),
     inletValue_("inletValue", dict, p.size())
-{
-    fvPatchVectorField::operator=(vectorField("value", dict, p.size()));
-}
+{}
 
 
 Foam::SRFVelocityFvPatchVectorField::SRFVelocityFvPatchVectorField
diff --git a/src/finiteVolume/cfdTools/general/SRF/derivedFvPatchFields/SRFWallVelocityFvPatchVectorField/SRFWallVelocityFvPatchVectorField.C b/src/finiteVolume/cfdTools/general/SRF/derivedFvPatchFields/SRFWallVelocityFvPatchVectorField/SRFWallVelocityFvPatchVectorField.C
index 17c0dc700f..2cd69993b1 100644
--- a/src/finiteVolume/cfdTools/general/SRF/derivedFvPatchFields/SRFWallVelocityFvPatchVectorField/SRFWallVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/cfdTools/general/SRF/derivedFvPatchFields/SRFWallVelocityFvPatchVectorField/SRFWallVelocityFvPatchVectorField.C
@@ -60,10 +60,8 @@ Foam::SRFWallVelocityFvPatchVectorField::SRFWallVelocityFvPatchVectorField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchVectorField(p, iF)
-{
-    fvPatchVectorField::operator=(vectorField("value", dict, p.size()));
-}
+    fixedValueFvPatchVectorField(p, iF, dict)
+{}
 
 
 Foam::SRFWallVelocityFvPatchVectorField::SRFWallVelocityFvPatchVectorField
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.C
index 5a6f29aa89..d53c250565 100644
--- a/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.C
@@ -71,11 +71,12 @@ Foam::coupledFvPatchField<Type>::coupledFvPatchField
 (
     const fvPatch& p,
     const DimensionedField<Type, volMesh>& iF,
-    const dictionary& dict
+    const dictionary& dict,
+    const bool valueRequired
 )
 :
     LduInterfaceField<Type>(refCast<const lduInterface>(p)),
-    fvPatchField<Type>(p, iF, dict)
+    fvPatchField<Type>(p, iF, dict, valueRequired)
 {}
 
 
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.H
index 0148af1ac5..20d87b8e86 100644
--- a/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.H
+++ b/src/finiteVolume/fields/fvPatchFields/basic/coupled/coupledFvPatchField.H
@@ -86,7 +86,8 @@ public:
         (
             const fvPatch&,
             const DimensionedField<Type, volMesh>&,
-            const dictionary&
+            const dictionary&,
+            const bool valueRequired=true
         );
 
         //- Construct by mapping the given coupledFvPatchField onto a new patch
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.C
index 3d15434880..188294d38d 100644
--- a/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.C
@@ -46,12 +46,13 @@ extrapolatedCalculatedFvPatchField
 (
     const fvPatch& p,
     const DimensionedField<Type, volMesh>& iF,
-    const dictionary& dict,
-    const bool valueRequired
+    const dictionary& dict
 )
 :
-    calculatedFvPatchField<Type>(p, iF, dict, valueRequired)
-{}
+    calculatedFvPatchField<Type>(p, iF, dict, false)
+{
+    evaluate();
+}
 
 
 template<class Type>
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.H
index da998d3a85..f9eb61e285 100644
--- a/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.H
+++ b/src/finiteVolume/fields/fvPatchFields/basic/extrapolatedCalculated/extrapolatedCalculatedFvPatchField.H
@@ -87,8 +87,7 @@ public:
         (
             const fvPatch&,
             const DimensionedField<Type, volMesh>&,
-            const dictionary&,
-            const bool valueRequired=false
+            const dictionary&
         );
 
         //- Construct by mapping given patchField<Type> onto a new patch
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchField.C
index bb789ed827..a7a8a8562f 100644
--- a/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/basic/fixedGradient/fixedGradientFvPatchField.C
@@ -48,7 +48,7 @@ Foam::fixedGradientFvPatchField<Type>::fixedGradientFvPatchField
     const dictionary& dict
 )
 :
-    fvPatchField<Type>(p, iF, dict),
+    fvPatchField<Type>(p, iF, dict, false),
     gradient_("gradient", dict, p.size())
 {
     evaluate();
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.C
index b6841f3353..fcde153c9d 100644
--- a/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.C
@@ -55,10 +55,11 @@ Foam::fixedValueFvPatchField<Type>::fixedValueFvPatchField
 (
     const fvPatch& p,
     const DimensionedField<Type, volMesh>& iF,
-    const dictionary& dict
+    const dictionary& dict,
+    const bool valueRequired
 )
 :
-    fvPatchField<Type>(p, iF, dict, true)
+    fvPatchField<Type>(p, iF, dict, valueRequired)
 {}
 
 
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.H b/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.H
index 3cf2421420..375d57fea4 100644
--- a/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.H
+++ b/src/finiteVolume/fields/fvPatchFields/basic/fixedValue/fixedValueFvPatchField.H
@@ -99,7 +99,8 @@ public:
         (
             const fvPatch&,
             const DimensionedField<Type, volMesh>&,
-            const dictionary&
+            const dictionary&,
+            const bool valueRequired=true
         );
 
         //- Construct by mapping the given fixedValueFvPatchField<Type>
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/mixed/mixedFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/mixed/mixedFvPatchField.C
index bcec377834..9a195de206 100644
--- a/src/finiteVolume/fields/fvPatchFields/basic/mixed/mixedFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/basic/mixed/mixedFvPatchField.C
@@ -49,7 +49,7 @@ Foam::mixedFvPatchField<Type>::mixedFvPatchField
     const dictionary& dict
 )
 :
-    fvPatchField<Type>(p, iF, dict),
+    fvPatchField<Type>(p, iF, dict, false),
     refValue_("refValue", dict, p.size()),
     refGrad_("refGradient", dict, p.size()),
     valueFraction_("valueFraction", dict, p.size())
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.C
index 98bd38eb72..ba0dd92f09 100644
--- a/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/basic/sliced/slicedFvPatchField.C
@@ -61,7 +61,7 @@ Foam::slicedFvPatchField<Type>::slicedFvPatchField
     const dictionary& dict
 )
 :
-    fvPatchField<Type>(p, iF, dict)
+    fvPatchField<Type>(p, iF, dict, false)
 {
     NotImplemented;
 }
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/transform/transformFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/transform/transformFvPatchField.C
index bccf65ef16..0ed9a26703 100644
--- a/src/finiteVolume/fields/fvPatchFields/basic/transform/transformFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/basic/transform/transformFvPatchField.C
@@ -61,7 +61,7 @@ Foam::transformFvPatchField<Type>::transformFvPatchField
     const dictionary& dict
 )
 :
-    fvPatchField<Type>(p, iF, dict)
+    fvPatchField<Type>(p, iF, dict, false)
 {}
 
 
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchField.C
index 4395534fe2..e99530bf21 100644
--- a/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/basic/zeroGradient/zeroGradientFvPatchField.C
@@ -47,7 +47,7 @@ Foam::zeroGradientFvPatchField<Type>::zeroGradientFvPatchField
     const dictionary& dict
 )
 :
-    fvPatchField<Type>(p, iF, dict)
+    fvPatchField<Type>(p, iF, dict, false)
 {
     fvPatchField<Type>::operator=(this->patchInternalField());
 }
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.C
index 4513dc4da6..b4241bb271 100644
--- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclic/cyclicFvPatchField.C
@@ -48,7 +48,7 @@ Foam::cyclicFvPatchField<Type>::cyclicFvPatchField
     const dictionary& dict
 )
 :
-    coupledFvPatchField<Type>(p, iF, dict),
+    coupledFvPatchField<Type>(p, iF, dict, false),
     cyclicPatch_(refCast<const cyclicFvPatch>(p))
 {
     if (!isA<cyclicFvPatch>(p))
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C
index c32b6f33d6..0b9335fb8f 100644
--- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C
@@ -44,60 +44,61 @@ Foam::cyclicACMIFvPatchField<Type>::cyclicACMIFvPatchField
 template<class Type>
 Foam::cyclicACMIFvPatchField<Type>::cyclicACMIFvPatchField
 (
-    const cyclicACMIFvPatchField<Type>& ptf,
     const fvPatch& p,
     const DimensionedField<Type, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
+    const dictionary& dict
 )
 :
     cyclicACMILduInterfaceField(),
-    coupledFvPatchField<Type>(ptf, p, iF, mapper),
+    coupledFvPatchField<Type>(p, iF, dict, dict.found("value")),
     cyclicACMIPatch_(refCast<const cyclicACMIFvPatch>(p))
 {
-    if (!isA<cyclicACMIFvPatch>(this->patch()))
+    if (!isA<cyclicACMIFvPatch>(p))
     {
-        FatalErrorInFunction
+        FatalIOErrorInFunction
+        (
+            dict
+        )   << "    patch type '" << p.type()
             << "' not constraint type '" << typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << this->internalField().name()
             << " in file " << this->internalField().objectPath()
             << exit(FatalIOError);
     }
+
+    if (!dict.found("value") && this->coupled())
+    {
+        this->evaluate(Pstream::blocking);
+    }
 }
 
 
 template<class Type>
 Foam::cyclicACMIFvPatchField<Type>::cyclicACMIFvPatchField
 (
+    const cyclicACMIFvPatchField<Type>& ptf,
     const fvPatch& p,
     const DimensionedField<Type, volMesh>& iF,
-    const dictionary& dict
+    const fvPatchFieldMapper& mapper
 )
 :
     cyclicACMILduInterfaceField(),
-    coupledFvPatchField<Type>(p, iF, dict),
+    coupledFvPatchField<Type>(ptf, p, iF, mapper),
     cyclicACMIPatch_(refCast<const cyclicACMIFvPatch>(p))
 {
-    if (!isA<cyclicACMIFvPatch>(p))
+    if (!isA<cyclicACMIFvPatch>(this->patch()))
     {
-        FatalIOErrorInFunction
-        (
-            dict
-        )   << "    patch type '" << p.type()
+        FatalErrorInFunction
             << "' not constraint type '" << typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << this->internalField().name()
             << " in file " << this->internalField().objectPath()
             << exit(FatalIOError);
     }
-
-    if (!dict.found("value") && this->coupled())
-    {
-        this->evaluate(Pstream::blocking);
-    }
 }
 
 
+
 template<class Type>
 Foam::cyclicACMIFvPatchField<Type>::cyclicACMIFvPatchField
 (
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.C
index f97985b115..7d8fec72c1 100644
--- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.C
@@ -41,57 +41,57 @@ Foam::cyclicAMIFvPatchField<Type>::cyclicAMIFvPatchField
 template<class Type>
 Foam::cyclicAMIFvPatchField<Type>::cyclicAMIFvPatchField
 (
-    const cyclicAMIFvPatchField<Type>& ptf,
     const fvPatch& p,
     const DimensionedField<Type, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
+    const dictionary& dict
 )
 :
     cyclicAMILduInterfaceField(),
-    coupledFvPatchField<Type>(ptf, p, iF, mapper),
+    coupledFvPatchField<Type>(p, iF, dict, dict.found("value")),
     cyclicAMIPatch_(refCast<const cyclicAMIFvPatch>(p))
 {
-    if (!isA<cyclicAMIFvPatch>(this->patch()))
+    if (!isA<cyclicAMIFvPatch>(p))
     {
-        FatalErrorInFunction
+        FatalIOErrorInFunction
+        (
+            dict
+        )   << "    patch type '" << p.type()
             << "' not constraint type '" << typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << this->internalField().name()
             << " in file " << this->internalField().objectPath()
             << exit(FatalIOError);
     }
+
+    if (!dict.found("value") && this->coupled())
+    {
+        this->evaluate(Pstream::blocking);
+    }
 }
 
 
 template<class Type>
 Foam::cyclicAMIFvPatchField<Type>::cyclicAMIFvPatchField
 (
+    const cyclicAMIFvPatchField<Type>& ptf,
     const fvPatch& p,
     const DimensionedField<Type, volMesh>& iF,
-    const dictionary& dict
+    const fvPatchFieldMapper& mapper
 )
 :
     cyclicAMILduInterfaceField(),
-    coupledFvPatchField<Type>(p, iF, dict),
+    coupledFvPatchField<Type>(ptf, p, iF, mapper),
     cyclicAMIPatch_(refCast<const cyclicAMIFvPatch>(p))
 {
-    if (!isA<cyclicAMIFvPatch>(p))
+    if (!isA<cyclicAMIFvPatch>(this->patch()))
     {
-        FatalIOErrorInFunction
-        (
-            dict
-        )   << "    patch type '" << p.type()
+        FatalErrorInFunction
             << "' not constraint type '" << typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << this->internalField().name()
             << " in file " << this->internalField().objectPath()
             << exit(FatalIOError);
     }
-
-    if (!dict.found("value") && this->coupled())
-    {
-        this->evaluate(Pstream::blocking);
-    }
 }
 
 
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/activeBaffleVelocity/activeBaffleVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/activeBaffleVelocity/activeBaffleVelocityFvPatchVectorField.C
index 1ce7a7d39f..18213659c7 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/activeBaffleVelocity/activeBaffleVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/activeBaffleVelocity/activeBaffleVelocityFvPatchVectorField.C
@@ -85,7 +85,7 @@ activeBaffleVelocityFvPatchVectorField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchVectorField(p, iF),
+    fixedValueFvPatchVectorField(p, iF, dict, false),
     pName_(dict.lookupOrDefault<word>("p", "p")),
     cyclicPatchName_(dict.lookup("cyclicPatch")),
     cyclicPatchLabel_(p.patch().boundaryMesh().findPatchID(cyclicPatchName_)),
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C
index 04d33d9b8a..6b86262f29 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C
@@ -91,7 +91,7 @@ activePressureForceBaffleVelocityFvPatchVectorField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchVectorField(p, iF),
+    fixedValueFvPatchVectorField(p, iF, dict, false),
     pName_(dict.lookupOrDefault<word>("p", "p")),
     cyclicPatchName_(dict.lookup("cyclicPatch")),
     cyclicPatchLabel_(p.patch().boundaryMesh().findPatchID(cyclicPatchName_)),
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchField.C
index 1ea26724c6..be52334338 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/fixedProfile/fixedProfileFvPatchField.C
@@ -64,7 +64,7 @@ Foam::fixedProfileFvPatchField<Type>::fixedProfileFvPatchField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchField<Type>(p, iF),
+    fixedValueFvPatchField<Type>(p, iF, dict, false),
     profile_(Function1<Type>::New("profile", dict)),
     dir_(dict.lookup("direction")),
     origin_(readScalar(dict.lookup("origin")))
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity/flowRateInletVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity/flowRateInletVelocityFvPatchVectorField.C
index 79b1745dda..1e507a5dfd 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity/flowRateInletVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity/flowRateInletVelocityFvPatchVectorField.C
@@ -54,7 +54,7 @@ flowRateInletVelocityFvPatchVectorField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchField<vector>(p, iF),
+    fixedValueFvPatchField<vector>(p, iF, dict, false),
     rhoInlet_(dict.lookupOrDefault<scalar>("rhoInlet", -VGREAT)),
     extrapolateProfile_
     (
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/movingWallVelocity/movingWallVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/movingWallVelocity/movingWallVelocityFvPatchVectorField.C
index 6c0bba6263..22d6a2e789 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/movingWallVelocity/movingWallVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/movingWallVelocity/movingWallVelocityFvPatchVectorField.C
@@ -50,10 +50,8 @@ movingWallVelocityFvPatchVectorField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchVectorField(p, iF)
-{
-    fvPatchVectorField::operator=(vectorField("value", dict, p.size()));
-}
+    fixedValueFvPatchVectorField(p, iF, dict)
+{}
 
 
 Foam::movingWallVelocityFvPatchVectorField::
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/plenumPressure/plenumPressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/plenumPressure/plenumPressureFvPatchScalarField.C
index 19476f5e7f..aadbfcfd85 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/plenumPressure/plenumPressureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/plenumPressure/plenumPressureFvPatchScalarField.C
@@ -65,7 +65,7 @@ Foam::plenumPressureFvPatchScalarField::plenumPressureFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF),
+    fixedValueFvPatchScalarField(p, iF, dict),
     gamma_(readScalar(dict.lookup("gamma"))),
     R_(readScalar(dict.lookup("R"))),
     supplyMassFlowRate_(readScalar(dict.lookup("supplyMassFlowRate"))),
@@ -87,8 +87,6 @@ Foam::plenumPressureFvPatchScalarField::plenumPressureFvPatchScalarField
     phiName_(dict.lookupOrDefault<word>("phi", "phi")),
     UName_(dict.lookupOrDefault<word>("U", "U"))
 {
-    fvPatchScalarField::operator=(scalarField("value", dict, p.size()));
-
     if (dict.found("rho"))
     {
         rho_ = readScalar(dict.lookup("rho"));
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/pressureDirectedInletVelocity/pressureDirectedInletVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/pressureDirectedInletVelocity/pressureDirectedInletVelocityFvPatchVectorField.C
index cd4eb18b98..9ab1bc87ef 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/pressureDirectedInletVelocity/pressureDirectedInletVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/pressureDirectedInletVelocity/pressureDirectedInletVelocityFvPatchVectorField.C
@@ -70,13 +70,11 @@ pressureDirectedInletVelocityFvPatchVectorField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchVectorField(p, iF),
+    fixedValueFvPatchVectorField(p, iF, dict),
     phiName_(dict.lookupOrDefault<word>("phi", "phi")),
     rhoName_(dict.lookupOrDefault<word>("rho", "rho")),
     inletDir_("inletDirection", dict, p.size())
-{
-    fvPatchVectorField::operator=(vectorField("value", dict, p.size()));
-}
+{}
 
 
 Foam::pressureDirectedInletVelocityFvPatchVectorField::
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/pressureInletVelocity/pressureInletVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/pressureInletVelocity/pressureInletVelocityFvPatchVectorField.C
index 6a779ae0bd..06e58e73bb 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/pressureInletVelocity/pressureInletVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/pressureInletVelocity/pressureInletVelocityFvPatchVectorField.C
@@ -66,12 +66,10 @@ pressureInletVelocityFvPatchVectorField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchVectorField(p, iF),
+    fixedValueFvPatchVectorField(p, iF, dict),
     phiName_(dict.lookupOrDefault<word>("phi", "phi")),
     rhoName_(dict.lookupOrDefault<word>("rho", "rho"))
-{
-    fvPatchVectorField::operator=(vectorField("value", dict, p.size()));
-}
+{}
 
 
 Foam::pressureInletVelocityFvPatchVectorField::
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/prghPressure/prghPressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/prghPressure/prghPressureFvPatchScalarField.C
index 5ea2c2c823..c266d27f85 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/prghPressure/prghPressureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/prghPressure/prghPressureFvPatchScalarField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -52,7 +52,7 @@ prghPressureFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF),
+    fixedValueFvPatchScalarField(p, iF, dict, false),
     rhoName_(dict.lookupOrDefault<word>("rho", "rho")),
     p_("p", dict, p.size())
 {
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/prghTotalPressure/prghTotalPressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/prghTotalPressure/prghTotalPressureFvPatchScalarField.C
index 21229f7d82..1140551128 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/prghTotalPressure/prghTotalPressureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/prghTotalPressure/prghTotalPressureFvPatchScalarField.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
@@ -55,7 +55,7 @@ prghTotalPressureFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF),
+    fixedValueFvPatchScalarField(p, iF, dict, false),
     UName_(dict.lookupOrDefault<word>("U", "U")),
     phiName_(dict.lookupOrDefault<word>("phi", "phi")),
     rhoName_(dict.lookupOrDefault<word>("rho", "rho")),
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/rotatingWallVelocity/rotatingWallVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/rotatingWallVelocity/rotatingWallVelocityFvPatchVectorField.C
index 461481f5fb..ebc32b0790 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/rotatingWallVelocity/rotatingWallVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/rotatingWallVelocity/rotatingWallVelocityFvPatchVectorField.C
@@ -52,7 +52,7 @@ rotatingWallVelocityFvPatchVectorField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchField<vector>(p, iF),
+    fixedValueFvPatchField<vector>(p, iF, dict, false),
     origin_(dict.lookup("origin")),
     axis_(dict.lookup("axis")),
     omega_(Function1<scalar>::New("omega", dict))
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/surfaceNormalFixedValue/surfaceNormalFixedValueFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/surfaceNormalFixedValue/surfaceNormalFixedValueFvPatchVectorField.C
index 478600608b..dc37c38a43 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/surfaceNormalFixedValue/surfaceNormalFixedValueFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/surfaceNormalFixedValue/surfaceNormalFixedValueFvPatchVectorField.C
@@ -50,7 +50,7 @@ surfaceNormalFixedValueFvPatchVectorField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchVectorField(p, iF),
+    fixedValueFvPatchVectorField(p, iF, dict, false),
     refValue_("refValue", dict, p.size())
 {
     fvPatchVectorField::operator=(refValue_*patch().nf());
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/syringePressure/syringePressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/syringePressure/syringePressureFvPatchScalarField.C
index 5acddd12fa..c33db45ca2 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/syringePressure/syringePressureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/syringePressure/syringePressureFvPatchScalarField.C
@@ -50,7 +50,7 @@ Foam::syringePressureFvPatchScalarField::syringePressureFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF),
+    fixedValueFvPatchScalarField(p, iF, dict, false),
     Ap_(readScalar(dict.lookup("Ap"))),
     Sp_(readScalar(dict.lookup("Sp"))),
     VsI_(readScalar(dict.lookup("VsI"))),
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchField.C
index 2222b05b1e..cb0dbd1792 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValueFvPatchField.C
@@ -63,7 +63,7 @@ timeVaryingMappedFixedValueFvPatchField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchField<Type>(p, iF),
+    fixedValueFvPatchField<Type>(p, iF, dict, false),
     fieldTableName_(iF.name()),
     setAverage_(dict.lookupOrDefault("setAverage", false)),
     perturb_(dict.lookupOrDefault("perturb", 1e-5)),
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/totalPressure/totalPressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/totalPressure/totalPressureFvPatchScalarField.C
index c88c0a59ff..bcd8557253 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/totalPressure/totalPressureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/totalPressure/totalPressureFvPatchScalarField.C
@@ -55,7 +55,7 @@ Foam::totalPressureFvPatchScalarField::totalPressureFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF),
+    fixedValueFvPatchScalarField(p, iF, dict, false),
     UName_(dict.lookupOrDefault<word>("U", "U")),
     phiName_(dict.lookupOrDefault<word>("phi", "phi")),
     rhoName_(dict.lookupOrDefault<word>("rho", "rho")),
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/totalTemperature/totalTemperatureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/totalTemperature/totalTemperatureFvPatchScalarField.C
index 7d14db67fa..15df485592 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/totalTemperature/totalTemperatureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/totalTemperature/totalTemperatureFvPatchScalarField.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
@@ -70,7 +70,7 @@ Foam::totalTemperatureFvPatchScalarField::totalTemperatureFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF),
+    fixedValueFvPatchScalarField(p, iF, dict, false),
     UName_(dict.lookupOrDefault<word>("U", "U")),
     phiName_(dict.lookupOrDefault<word>("phi", "phi")),
     psiName_(dict.lookupOrDefault<word>("psi", "thermo:psi")),
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/translatingWallVelocity/translatingWallVelocityFvPatchVectorField.C b/src/finiteVolume/fields/fvPatchFields/derived/translatingWallVelocity/translatingWallVelocityFvPatchVectorField.C
index 37b7ada772..d41a424701 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/translatingWallVelocity/translatingWallVelocityFvPatchVectorField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/translatingWallVelocity/translatingWallVelocityFvPatchVectorField.C
@@ -49,7 +49,7 @@ translatingWallVelocityFvPatchVectorField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchField<vector>(p, iF),
+    fixedValueFvPatchField<vector>(p, iF, dict, false),
     U_(Function1<vector>::New("U", dict))
 {
     // Evaluate the wall velocity
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.C
index 4527eca009..ec71541bd0 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.C
@@ -51,7 +51,7 @@ Foam::turbulentInletFvPatchField<Type>::turbulentInletFvPatchField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchField<Type>(p, iF),
+    fixedValueFvPatchField<Type>(p, iF, dict, false),
     ranGen_(label(0)),
     fluctuationScale_(pTraits<Type>(dict.lookup("fluctuationScale"))),
     referenceField_("referenceField", dict, p.size()),
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformDensityHydrostaticPressure/uniformDensityHydrostaticPressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/uniformDensityHydrostaticPressure/uniformDensityHydrostaticPressureFvPatchScalarField.C
index 6eea5de3bc..ba14325c6a 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/uniformDensityHydrostaticPressure/uniformDensityHydrostaticPressureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformDensityHydrostaticPressure/uniformDensityHydrostaticPressureFvPatchScalarField.C
@@ -54,7 +54,7 @@ uniformDensityHydrostaticPressureFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF),
+    fixedValueFvPatchScalarField(p, iF, dict, false),
     rho_(readScalar(dict.lookup("rho"))),
     pRefValue_(readScalar(dict.lookup("pRefValue"))),
     pRefPoint_(dict.lookup("pRefPoint"))
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValue/uniformFixedValueFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValue/uniformFixedValueFvPatchField.C
index ab03ec6b0e..e79df9bec0 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValue/uniformFixedValueFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformFixedValue/uniformFixedValueFvPatchField.C
@@ -60,7 +60,7 @@ Foam::uniformFixedValueFvPatchField<Type>::uniformFixedValueFvPatchField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchField<Type>(p, iF),
+    fixedValueFvPatchField<Type>(p, iF, dict, false),
     uniformValue_(Function1<Type>::New("uniformValue", dict))
 {
     this->evaluate();
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/uniformTotalPressure/uniformTotalPressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/uniformTotalPressure/uniformTotalPressureFvPatchScalarField.C
index 744ac51b47..0a37e65e80 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/uniformTotalPressure/uniformTotalPressureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/uniformTotalPressure/uniformTotalPressureFvPatchScalarField.C
@@ -56,7 +56,7 @@ uniformTotalPressureFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF),
+    fixedValueFvPatchScalarField(p, iF, dict, false),
     UName_(dict.lookupOrDefault<word>("U", "U")),
     phiName_(dict.lookupOrDefault<word>("phi", "phi")),
     rhoName_(dict.lookupOrDefault<word>("rho", "rho")),
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/waveSurfacePressure/waveSurfacePressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/waveSurfacePressure/waveSurfacePressureFvPatchScalarField.C
index f156caf7e8..4b25603ce0 100644
--- a/src/finiteVolume/fields/fvPatchFields/derived/waveSurfacePressure/waveSurfacePressureFvPatchScalarField.C
+++ b/src/finiteVolume/fields/fvPatchFields/derived/waveSurfacePressure/waveSurfacePressureFvPatchScalarField.C
@@ -82,16 +82,11 @@ waveSurfacePressureFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF),
+    fixedValueFvPatchScalarField(p, iF, dict),
     phiName_(dict.lookupOrDefault<word>("phi", "phi")),
     zetaName_(dict.lookupOrDefault<word>("zeta", "zeta")),
     rhoName_(dict.lookupOrDefault<word>("rho", "rho"))
-{
-    fvPatchField<scalar>::operator=
-    (
-        scalarField("value", dict, p.size())
-    );
-}
+{}
 
 
 Foam::waveSurfacePressureFvPatchScalarField::
diff --git a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.C b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.C
index ea2935e73d..3c8f44baee 100644
--- a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.C
@@ -114,24 +114,23 @@ Foam::fvPatchField<Type>::fvPatchField
     manipulatedMatrix_(false),
     patchType_(dict.lookupOrDefault<word>("patchType", word::null))
 {
-    if (dict.found("value"))
+    if (valueRequired)
     {
-        Field<Type>::operator=
-        (
-            Field<Type>("value", dict, p.size())
-        );
-    }
-    else if (!valueRequired)
-    {
-        Field<Type>::operator=(Zero);
-    }
-    else
-    {
-        FatalIOErrorInFunction
-        (
-            dict
-        )   << "Essential entry 'value' missing"
-            << exit(FatalIOError);
+        if (dict.found("value"))
+        {
+            Field<Type>::operator=
+            (
+                Field<Type>("value", dict, p.size())
+            );
+        }
+        else
+        {
+            FatalIOErrorInFunction
+            (
+                dict
+            )   << "Essential entry 'value' missing"
+                << exit(FatalIOError);
+        }
     }
 }
 
diff --git a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H
index 3fc282dab7..1d689139b9 100644
--- a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H
+++ b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H
@@ -200,7 +200,7 @@ public:
             const fvPatch&,
             const DimensionedField<Type, volMesh>&,
             const dictionary&,
-            const bool valueRequired=false
+            const bool valueRequired=true
         );
 
         //- Construct by mapping the given fvPatchField onto a new patch
diff --git a/src/fvMotionSolver/fvPatchFields/derived/cellMotion/cellMotionFvPatchField.C b/src/fvMotionSolver/fvPatchFields/derived/cellMotion/cellMotionFvPatchField.C
index 0ad8ad0e45..a908defc02 100644
--- a/src/fvMotionSolver/fvPatchFields/derived/cellMotion/cellMotionFvPatchField.C
+++ b/src/fvMotionSolver/fvPatchFields/derived/cellMotion/cellMotionFvPatchField.C
@@ -63,10 +63,8 @@ Foam::cellMotionFvPatchField<Type>::cellMotionFvPatchField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchField<Type>(p, iF)
-{
-    fvPatchField<Type>::operator=(Field<Type>("value", dict, p.size()));
-}
+    fixedValueFvPatchField<Type>(p, iF, dict)
+{}
 
 
 template<class Type>
diff --git a/src/fvMotionSolver/pointPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValuePointPatchField.C b/src/fvMotionSolver/pointPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValuePointPatchField.C
index ec50acb65f..4978b2aa47 100644
--- a/src/fvMotionSolver/pointPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValuePointPatchField.C
+++ b/src/fvMotionSolver/pointPatchFields/derived/timeVaryingMappedFixedValue/timeVaryingMappedFixedValuePointPatchField.C
@@ -63,7 +63,7 @@ timeVaryingMappedFixedValuePointPatchField
     const dictionary& dict
 )
 :
-    fixedValuePointPatchField<Type>(p, iF),
+    fixedValuePointPatchField<Type>(p, iF, dict, false),
     fieldTableName_(iF.name()),
     setAverage_(dict.lookupOrDefault("setAverage", false)),
     perturb_(dict.lookupOrDefault("perturb", 1e-5)),
diff --git a/src/genericPatchFields/genericFvPatchField/genericFvPatchField.C b/src/genericPatchFields/genericFvPatchField/genericFvPatchField.C
index 75cba4fb68..453df89828 100644
--- a/src/genericPatchFields/genericFvPatchField/genericFvPatchField.C
+++ b/src/genericPatchFields/genericFvPatchField/genericFvPatchField.C
@@ -53,7 +53,7 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
     const dictionary& dict
 )
 :
-    calculatedFvPatchField<Type>(p, iF, dict, false),
+    calculatedFvPatchField<Type>(p, iF, dict),
     actualTypeName_(dict.lookup("type")),
     dict_(dict)
 {
diff --git a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisTemperatureCoupled/filmPyrolysisTemperatureCoupledFvPatchScalarField.C b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisTemperatureCoupled/filmPyrolysisTemperatureCoupledFvPatchScalarField.C
index 5734f736f3..6d1e2ee2dd 100644
--- a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisTemperatureCoupled/filmPyrolysisTemperatureCoupledFvPatchScalarField.C
+++ b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisTemperatureCoupled/filmPyrolysisTemperatureCoupledFvPatchScalarField.C
@@ -71,7 +71,7 @@ filmPyrolysisTemperatureCoupledFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF),
+    fixedValueFvPatchScalarField(p, iF, dict),
     filmRegionName_
     (
         dict.lookupOrDefault<word>("filmRegion", "surfaceFilmProperties")
@@ -82,9 +82,7 @@ filmPyrolysisTemperatureCoupledFvPatchScalarField
     ),
     phiName_(dict.lookupOrDefault<word>("phi", "phi")),
     rhoName_(dict.lookupOrDefault<word>("rho", "rho"))
-{
-    fvPatchScalarField::operator=(scalarField("value", dict, p.size()));
-}
+{}
 
 
 Foam::filmPyrolysisTemperatureCoupledFvPatchScalarField::
diff --git a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C
index 4f30cb3a30..8bf2ea9908 100644
--- a/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C
+++ b/src/regionModels/regionCoupling/derivedFvPatchFields/filmPyrolysisVelocityCoupled/filmPyrolysisVelocityCoupledFvPatchVectorField.C
@@ -71,7 +71,7 @@ filmPyrolysisVelocityCoupledFvPatchVectorField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchVectorField(p, iF),
+    fixedValueFvPatchVectorField(p, iF, dict),
     filmRegionName_
     (
         dict.lookupOrDefault<word>("filmRegion", "surfaceFilmProperties")
@@ -82,9 +82,7 @@ filmPyrolysisVelocityCoupledFvPatchVectorField
     ),
     phiName_(dict.lookupOrDefault<word>("phi", "phi")),
     rhoName_(dict.lookupOrDefault<word>("rho", "rho"))
-{
-    fvPatchVectorField::operator=(vectorField("value", dict, p.size()));
-}
+{}
 
 
 Foam::filmPyrolysisVelocityCoupledFvPatchVectorField::
diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/filmHeightInletVelocity/filmHeightInletVelocityFvPatchVectorField.C b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/filmHeightInletVelocity/filmHeightInletVelocityFvPatchVectorField.C
index 41fec4b2eb..18a0bc751e 100644
--- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/filmHeightInletVelocity/filmHeightInletVelocityFvPatchVectorField.C
+++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/filmHeightInletVelocity/filmHeightInletVelocityFvPatchVectorField.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
@@ -68,13 +68,11 @@ filmHeightInletVelocityFvPatchVectorField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchVectorField(p, iF),
+    fixedValueFvPatchVectorField(p, iF, dict),
     phiName_(dict.lookupOrDefault<word>("phi", "phi")),
     rhoName_(dict.lookupOrDefault<word>("rho", "rho")),
     deltafName_(dict.lookupOrDefault<word>("deltaf", "deltaf"))
-{
-    fvPatchVectorField::operator=(vectorField("value", dict, p.size()));
-}
+{}
 
 
 Foam::filmHeightInletVelocityFvPatchVectorField::
diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltHeight/inclinedFilmNusseltHeightFvPatchScalarField.C b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltHeight/inclinedFilmNusseltHeightFvPatchScalarField.C
index 19ebc51bf0..48fded0fa0 100644
--- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltHeight/inclinedFilmNusseltHeightFvPatchScalarField.C
+++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltHeight/inclinedFilmNusseltHeightFvPatchScalarField.C
@@ -68,13 +68,11 @@ inclinedFilmNusseltHeightFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF),
+    fixedValueFvPatchScalarField(p, iF, dict),
     GammaMean_(Function1<scalar>::New("GammaMean", dict)),
     a_(Function1<scalar>::New("a", dict)),
     omega_(Function1<scalar>::New("omega", dict))
-{
-    fvPatchScalarField::operator=(scalarField("value", dict, p.size()));
-}
+{}
 
 
 Foam::inclinedFilmNusseltHeightFvPatchScalarField::
diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltInletVelocity/inclinedFilmNusseltInletVelocityFvPatchVectorField.C b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltInletVelocity/inclinedFilmNusseltInletVelocityFvPatchVectorField.C
index 3611de9e92..1977e3805f 100644
--- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltInletVelocity/inclinedFilmNusseltInletVelocityFvPatchVectorField.C
+++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/inclinedFilmNusseltInletVelocity/inclinedFilmNusseltInletVelocityFvPatchVectorField.C
@@ -68,13 +68,11 @@ inclinedFilmNusseltInletVelocityFvPatchVectorField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchVectorField(p, iF),
+    fixedValueFvPatchVectorField(p, iF, dict),
     GammaMean_(Function1<scalar>::New("GammaMean", dict)),
     a_(Function1<scalar>::New("a", dict)),
     omega_(Function1<scalar>::New("omega", dict))
-{
-    fvPatchVectorField::operator=(vectorField("value", dict, p.size()));
-}
+{}
 
 
 Foam::inclinedFilmNusseltInletVelocityFvPatchVectorField::
diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveViewFactor/greyDiffusiveViewFactorFixedValueFvPatchScalarField.C b/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveViewFactor/greyDiffusiveViewFactorFixedValueFvPatchScalarField.C
index 866fbe8d2b..591d6d1964 100644
--- a/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveViewFactor/greyDiffusiveViewFactorFixedValueFvPatchScalarField.C
+++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/greyDiffusiveViewFactor/greyDiffusiveViewFactorFixedValueFvPatchScalarField.C
@@ -72,7 +72,7 @@ greyDiffusiveViewFactorFixedValueFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF),
+    fixedValueFvPatchScalarField(p, iF, dict, false),
     radiationCoupledBase(p, dict),
     Qro_("Qro", dict, p.size())
 {
diff --git a/src/transportModels/twoPhaseProperties/alphaFixedPressure/alphaFixedPressureFvPatchScalarField.C b/src/transportModels/twoPhaseProperties/alphaFixedPressure/alphaFixedPressureFvPatchScalarField.C
index e6e6ea2c10..3eb505dfa1 100644
--- a/src/transportModels/twoPhaseProperties/alphaFixedPressure/alphaFixedPressureFvPatchScalarField.C
+++ b/src/transportModels/twoPhaseProperties/alphaFixedPressure/alphaFixedPressureFvPatchScalarField.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
@@ -66,7 +66,7 @@ alphaFixedPressureFvPatchScalarField
     const dictionary& dict
 )
 :
-    fixedValueFvPatchScalarField(p, iF),
+    fixedValueFvPatchScalarField(p, iF, dict, false),
     p_("p", dict, p.size())
 {
     if (dict.found("value"))
-- 
GitLab


From c6b3632c856a0f40b38973bfc546cc07520612a6 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 25 Sep 2016 16:53:37 +0100
Subject: [PATCH 50/96] 
 tutorials/incompressible/shallowWaterFoam/squareBump/.gmtcommands4: deleted
 Resolves bug-report http://bugs.openfoam.org/view.php?id=2268

---
 .../shallowWaterFoam/squareBump/.gmtcommands4             | 8 --------
 1 file changed, 8 deletions(-)
 delete mode 100644 tutorials/incompressible/shallowWaterFoam/squareBump/.gmtcommands4

diff --git a/tutorials/incompressible/shallowWaterFoam/squareBump/.gmtcommands4 b/tutorials/incompressible/shallowWaterFoam/squareBump/.gmtcommands4
deleted file mode 100644
index 2fdd6b92b5..0000000000
--- a/tutorials/incompressible/shallowWaterFoam/squareBump/.gmtcommands4
+++ /dev/null
@@ -1,8 +0,0 @@
-# GMT common arguments shelf
--B0/0
--JX18c/18c
--R0/1/0/1
--jX18c/18c
-EOF
-F
-
-- 
GitLab


From 9d3f407fc7417455bae1c8ead90a08bb7c8293f8 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 25 Sep 2016 16:54:20 +0100
Subject: [PATCH 51/96] processorFvPatchField: Reinstate 'value' as an optional
 entry

---
 .../processor/processorFvPatchField.C         | 36 +++++------
 .../processorCyclicFvPatchField.C             | 62 +++++++++----------
 2 files changed, 49 insertions(+), 49 deletions(-)

diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.C
index acd103c212..c428d9499d 100644
--- a/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.C
@@ -70,13 +70,12 @@ Foam::processorFvPatchField<Type>::processorFvPatchField
 template<class Type>
 Foam::processorFvPatchField<Type>::processorFvPatchField
 (
-    const processorFvPatchField<Type>& ptf,
     const fvPatch& p,
     const DimensionedField<Type, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
+    const dictionary& dict
 )
 :
-    coupledFvPatchField<Type>(ptf, p, iF, mapper),
+    coupledFvPatchField<Type>(p, iF, dict, dict.found("value")),
     procPatch_(refCast<const processorFvPatch>(p)),
     sendBuf_(0),
     receiveBuf_(0),
@@ -85,33 +84,31 @@ Foam::processorFvPatchField<Type>::processorFvPatchField
     scalarSendBuf_(0),
     scalarReceiveBuf_(0)
 {
-    if (!isA<processorFvPatch>(this->patch()))
+    if (!isA<processorFvPatch>(p))
     {
-        FatalErrorInFunction
+        FatalIOErrorInFunction
+        (
+            dict
+        )   << "\n    patch type '" << p.type()
             << "' not constraint type '" << typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << this->internalField().name()
             << " in file " << this->internalField().objectPath()
             << exit(FatalIOError);
     }
-    if (debug && !ptf.ready())
-    {
-        FatalErrorInFunction
-            << "On patch " << procPatch_.name() << " outstanding request."
-            << abort(FatalError);
-    }
 }
 
 
 template<class Type>
 Foam::processorFvPatchField<Type>::processorFvPatchField
 (
+    const processorFvPatchField<Type>& ptf,
     const fvPatch& p,
     const DimensionedField<Type, volMesh>& iF,
-    const dictionary& dict
+    const fvPatchFieldMapper& mapper
 )
 :
-    coupledFvPatchField<Type>(p, iF, dict),
+    coupledFvPatchField<Type>(ptf, p, iF, mapper),
     procPatch_(refCast<const processorFvPatch>(p)),
     sendBuf_(0),
     receiveBuf_(0),
@@ -120,18 +117,21 @@ Foam::processorFvPatchField<Type>::processorFvPatchField
     scalarSendBuf_(0),
     scalarReceiveBuf_(0)
 {
-    if (!isA<processorFvPatch>(p))
+    if (!isA<processorFvPatch>(this->patch()))
     {
-        FatalIOErrorInFunction
-        (
-            dict
-        )   << "\n    patch type '" << p.type()
+        FatalErrorInFunction
             << "' not constraint type '" << typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << this->internalField().name()
             << " in file " << this->internalField().objectPath()
             << exit(FatalIOError);
     }
+    if (debug && !ptf.ready())
+    {
+        FatalErrorInFunction
+            << "On patch " << procPatch_.name() << " outstanding request."
+            << abort(FatalError);
+    }
 }
 
 
diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/processorCyclic/processorCyclicFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/processorCyclic/processorCyclicFvPatchField.C
index 4da794509c..a2e322b35f 100644
--- a/src/finiteVolume/fields/fvPatchFields/constraint/processorCyclic/processorCyclicFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/processorCyclic/processorCyclicFvPatchField.C
@@ -47,68 +47,68 @@ Foam::processorCyclicFvPatchField<Type>::processorCyclicFvPatchField
 (
     const fvPatch& p,
     const DimensionedField<Type, volMesh>& iF,
-    const Field<Type>& f
+    const dictionary& dict
 )
 :
-    processorFvPatchField<Type>(p, iF, f),
+    processorFvPatchField<Type>(p, iF, dict),
     procPatch_(refCast<const processorCyclicFvPatch>(p))
-{}
+{
+    if (!isType<processorCyclicFvPatch>(p))
+    {
+        FatalIOErrorInFunction
+        (
+            dict
+        )   << "\n    patch type '" << p.type()
+            << "' not constraint type '" << typeName << "'"
+            << "\n    for patch " << p.name()
+            << " of field " << this->internalField().name()
+            << " in file " << this->internalField().objectPath()
+            << exit(FatalIOError);
+    }
+
+    if (Pstream::defaultCommsType == Pstream::scheduled)
+    {
+        WarningInFunction
+            << "Scheduled communication with split cyclics not supported."
+            << endl;
+    }
+}
 
 
 template<class Type>
 Foam::processorCyclicFvPatchField<Type>::processorCyclicFvPatchField
 (
-    const processorCyclicFvPatchField<Type>& ptf,
     const fvPatch& p,
     const DimensionedField<Type, volMesh>& iF,
-    const fvPatchFieldMapper& mapper
+    const Field<Type>& f
 )
 :
-    processorFvPatchField<Type>(ptf, p, iF, mapper),
+    processorFvPatchField<Type>(p, iF, f),
     procPatch_(refCast<const processorCyclicFvPatch>(p))
-{
-    if (!isType<processorCyclicFvPatch>(this->patch()))
-    {
-        FatalErrorInFunction
-            << "' not constraint type '" << typeName << "'"
-            << "\n    for patch " << p.name()
-            << " of field " << this->internalField().name()
-            << " in file " << this->internalField().objectPath()
-            << exit(FatalIOError);
-    }
-}
+{}
 
 
 template<class Type>
 Foam::processorCyclicFvPatchField<Type>::processorCyclicFvPatchField
 (
+    const processorCyclicFvPatchField<Type>& ptf,
     const fvPatch& p,
     const DimensionedField<Type, volMesh>& iF,
-    const dictionary& dict
+    const fvPatchFieldMapper& mapper
 )
 :
-    processorFvPatchField<Type>(p, iF, dict),
+    processorFvPatchField<Type>(ptf, p, iF, mapper),
     procPatch_(refCast<const processorCyclicFvPatch>(p))
 {
-    if (!isType<processorCyclicFvPatch>(p))
+    if (!isType<processorCyclicFvPatch>(this->patch()))
     {
-        FatalIOErrorInFunction
-        (
-            dict
-        )   << "\n    patch type '" << p.type()
+        FatalErrorInFunction
             << "' not constraint type '" << typeName << "'"
             << "\n    for patch " << p.name()
             << " of field " << this->internalField().name()
             << " in file " << this->internalField().objectPath()
             << exit(FatalIOError);
     }
-
-    if (Pstream::defaultCommsType == Pstream::scheduled)
-    {
-        WarningInFunction
-            << "Scheduled communication with split cyclics not supported."
-            << endl;
-    }
 }
 
 
-- 
GitLab


From 25e5f67f8627ce4bd7b41ee3689a149a39bd057a Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 25 Sep 2016 18:38:06 +0100
Subject: [PATCH 52/96] processorFvPatchField: If the value is not supplied set
 to the internal field

---
 .../constraint/processor/processorFvPatchField.C            | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.C
index c428d9499d..0a7c8e7bea 100644
--- a/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/constraint/processor/processorFvPatchField.C
@@ -96,6 +96,12 @@ Foam::processorFvPatchField<Type>::processorFvPatchField
             << " in file " << this->internalField().objectPath()
             << exit(FatalIOError);
     }
+
+    // If the value is not supplied set to the internal field
+    if (!dict.found("value"))
+    {
+        fvPatchField<Type>::operator=(this->patchInternalField());
+    }
 }
 
 
-- 
GitLab


From a96b1c2325a7d325e407363c798e086dcf85702c Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 25 Sep 2016 18:38:31 +0100
Subject: [PATCH 53/96] blockMesh::blockDescriptor: Added block indexing
 description

---
 .../blockMesh/blockDescriptor/blockDescriptor.H   | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/mesh/blockMesh/blockDescriptor/blockDescriptor.H b/src/mesh/blockMesh/blockDescriptor/blockDescriptor.H
index 37bba39bba..0ff5b1e865 100644
--- a/src/mesh/blockMesh/blockDescriptor/blockDescriptor.H
+++ b/src/mesh/blockMesh/blockDescriptor/blockDescriptor.H
@@ -28,6 +28,21 @@ Description
     Takes the description of the block and the list of curved edges and
     creates a list of points on edges together with the weighting factors
 
+    For a given block, the correspondence between the ordering of vertex labels
+    and face labels is shown below.  For vertex numbering in the sequence 0 to 7
+    (block, centre): faces 0 (f0) and 1 are left and right, respectively; faces
+    2 and 3 are bottom and top; and faces 4 and 5 are front the back:
+    \verbatim
+             4 ---- 5
+        f3   |\     |\   f5
+         |   | 7 ---- 6    \
+         |   0 |--- 1 |     \
+         |    \|     \|      f4
+        f2     3 ---- 2
+
+             f0 ----- f1
+     \endverbatim
+
 SourceFiles
     blockDescriptor.C
     blockDescriptorEdges.C
-- 
GitLab


From f8d3a2a0a6ab4b634af73e1854ccaa46fe0d0c0a Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 25 Sep 2016 18:43:50 +0100
Subject: [PATCH 54/96] pre-commit-hook: Added checks for multi-level template
 parameters and 'NULL' Patch contributed by Bruno Santos Resolves bug-report
 http://bugs.openfoam.org/view.php?id=2267

   1. Spaced ending of multi-level template parameters are not allowed, such as:

       List<List<scalar> >

     which instead should be:

       List<List<scalar>>

   2. The use of the 'NULL' macro should be replaced by 'nullptr'
---
 bin/tools/pre-commit-hook | 55 ++++++++++++++++++++++++++++++++++++---
 1 file changed, 52 insertions(+), 3 deletions(-)

diff --git a/bin/tools/pre-commit-hook b/bin/tools/pre-commit-hook
index d3bf374e04..f3a0b57a1a 100755
--- a/bin/tools/pre-commit-hook
+++ b/bin/tools/pre-commit-hook
@@ -3,7 +3,7 @@
 # =========                 |
 # \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
 #  \\    /   O peration     |
-#   \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
+#   \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
 #    \\/     M anipulation  |
 #------------------------------------------------------------------------------
 # License
@@ -48,11 +48,14 @@
 #     test the specified files/directories for standards conformance.
 #
 #------------------------------------------------------------------------------
+
 hookName="pre-commit"
+headerSeparator="-----------------------------------"
+
 die()
 {
     echo "$hookName hook failure" 1>&2
-    echo '-----------------------------------' 1>&2
+    echo $headerSeparator 1>&2
     echo '' 1>&2
     echo "$@" 1>&2
     echo '' 1>&2
@@ -105,7 +108,7 @@ dieOnBadFiles()
     if [ -n "$badFiles" ]
     then
         echo "$hookName hook failure" 1>&2
-        echo '-----------------------------------' 1>&2
+        echo $headerSeparator 1>&2
         echo "$@" 1>&2
         echo '' 1>&2
         echo "File(s):" 1>&2
@@ -267,6 +270,49 @@ checkLineLengthNonDirective()
 }
 
 
+#
+# check for non-standard code patterns
+#
+checkNonStandardCodePatterns()
+{
+    echo "$hookName: checking for non-standard code ..." 1>&2
+
+    scope=$(gitScope $@)
+
+    badFiles=$(
+    for f in $fileList
+    do
+        # limit to *.[CH] files
+        case "$f" in
+        (*.[CH])
+            # Directly report the incorrect markers
+            git grep -n --color \
+                -e '> >' -e 'NULL' \
+                $scope"$f"
+        ;;
+        esac
+    done
+    )
+
+    dieOnBadFiles "$(cat<<MESSAGE
+Please revise the files reported below for the following non-standard code:
+
+  1. Spaced ending of multi-level template parameters are not allowed, such as:
+
+      List<List<scalar> >
+
+    which instead should be:
+
+      List<List<scalar>>
+
+  2. The use of the 'NULL' macro should be replaced by 'nullptr'
+
+$headerSeparator
+MESSAGE
+    )"
+}
+
+
 #
 # check that OpenFOAM Foundation copyright is current
 #
@@ -322,6 +368,9 @@ checkIllegalCode
 # ensure code conforms to 80 columns max
 checkLineLengthNonDirective
 
+# check for non-standard code patterns
+checkNonStandardCodePatterns
+
 checkCopyright
 
 exit 0
-- 
GitLab


From cdde2d63ad3c80e0db4bba77d6a553a4349c46ee Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 25 Sep 2016 20:05:12 +0100
Subject: [PATCH 55/96] blockMesh: Added printing of the block description to
 the '-help' output

blockMesh -help

Usage: blockMesh [OPTIONS]
options:
  -blockTopology    write block edges and centres as .obj files
  -case <dir>       specify alternate case directory, default is the cwd
  -dict <file>      specify alternative dictionary for the blockMesh description
  -noFunctionObjects
                    do not execute functionObjects
  -region <name>    specify alternative mesh region
  -srcDoc           display source code in browser
  -doc              display application documentation in browser
  -help             print the usage

Block description

  For a given block, the correspondence between the ordering of
  vertex labels and face labels is shown below.
  For vertex numbering in the sequence 0 to 7 (block, centre):
    faces 0 (f0) and 1 are left and right, respectively;
    faces 2 and 3 are bottom and top;
    and faces 4 and 5 are front the back:

           4 ---- 5
      f3   |\     |\   f5
      |    | 7 ---- 6   \
      |    0 |--- 1 |    \
      |     \|     \|    f4
      f2     3 ---- 2

            f0 ----- f1

Using: OpenFOAM-dev (see www.OpenFOAM.org)
Build: dev-9d3f407fc741
---
 .../mesh/generation/blockMesh/blockMesh.C     | 21 +++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/applications/utilities/mesh/generation/blockMesh/blockMesh.C b/applications/utilities/mesh/generation/blockMesh/blockMesh.C
index 1cfc7fe26e..2be39caae9 100644
--- a/applications/utilities/mesh/generation/blockMesh/blockMesh.C
+++ b/applications/utilities/mesh/generation/blockMesh/blockMesh.C
@@ -83,6 +83,27 @@ int main(int argc, char *argv[])
         "specify alternative dictionary for the blockMesh description"
     );
 
+    argList::addNote
+    (
+        "Block description\n"
+        "\n"
+        "  For a given block, the correspondence between the ordering of\n"
+        "  vertex labels and face labels is shown below.\n"
+        "  For vertex numbering in the sequence 0 to 7 (block, centre):\n"
+        "    faces 0 (f0) and 1 are left and right, respectively;\n"
+        "    faces 2 and 3 are bottom and top;\n"
+        "    and faces 4 and 5 are front the back:\n"
+        "\n"
+        "           4 ---- 5\n"
+        "      f3   |\\     |\\   f5\n"
+        "      |    | 7 ---- 6   \\\n"
+        "      |    0 |--- 1 |    \\\n"
+        "      |     \\|     \\|    f4\n"
+        "      f2     3 ---- 2\n"
+        "\n"
+        "            f0 ----- f1\n"
+    );
+
     #include "addRegionOption.H"
     #include "setRootCase.H"
     #include "createTime.H"
-- 
GitLab


From 0749093060cad1776237da7bf395821ac5755ef1 Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Mon, 26 Sep 2016 07:41:02 +0200
Subject: [PATCH 56/96] Fix tensor names in foamToEnsightParts case file (fixes
 #243)

---
 .../foamToEnsightParts/ensightOutputCase.H    | 66 ++++++++++---------
 1 file changed, 34 insertions(+), 32 deletions(-)

diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/ensightOutputCase.H b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/ensightOutputCase.H
index 83bae0f842..b0c3af822b 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/ensightOutputCase.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/ensightOutputCase.H
@@ -58,35 +58,36 @@ forAllConstIter(HashTable<word>, volumeFields, fieldIter)
 
     if (fieldType == volScalarField::typeName)
     {
-        ensightType = "scalar";
+        ensightType = ensightPTraits<scalar>::typeName;
     }
     else if (fieldType == volVectorField::typeName)
     {
-        ensightType = "vector";
+        ensightType = ensightPTraits<vector>::typeName;
     }
     else if (fieldType == volSphericalTensorField::typeName)
     {
-        ensightType = "tensor symm";
+        ensightType = ensightPTraits<sphericalTensor>::typeName;
     }
     else if (fieldType == volSymmTensorField::typeName)
     {
-        ensightType = "tensor symm";
+        ensightType = ensightPTraits<symmTensor>::typeName;
     }
     else if (fieldType == volTensorField::typeName)
     {
-        ensightType = "tensor asym";
+        ensightType = ensightPTraits<tensor>::typeName;
     }
-
-    if (ensightType.size())
+    else
     {
-        ensightCaseEntry
-        (
-            caseFile,
-            ensightType,
-            fieldName,
-            dataMask
-        );
+        continue;
     }
+
+    ensightCaseEntry
+    (
+        caseFile,
+        ensightType,
+        fieldName,
+        dataMask
+    );
 }
 
 
@@ -104,30 +105,31 @@ forAllConstIter(HashTable<HashTable<word>>, cloudFields, cloudIter)
 
         if (fieldType == scalarIOField::typeName)
         {
-            ensightType = "scalar";
+            ensightType = ensightPTraits<scalar>::typeName;
         }
         else if (fieldType == vectorIOField::typeName)
         {
-            ensightType = "vector";
+            ensightType = ensightPTraits<vector>::typeName;
         }
         else if (fieldType == tensorIOField::typeName)
         {
-            ensightType = "tensor";
+            ensightType = ensightPTraits<tensor>::typeName;
         }
-
-        if (ensightType.size())
+        else
         {
-            ensightCaseEntry
-            (
-                caseFile,
-                ensightType,
-                fieldName,
-                dataMask,
-                cloud::prefix/cloudName,
-                cloudNo,
-                2
-            );
+            continue;
         }
+
+        ensightCaseEntry
+        (
+            caseFile,
+            ensightType,
+            fieldName,
+            dataMask,
+            cloud::prefix/cloudName,
+            cloudNo,
+            2
+        );
     }
     cloudNo++;
 }
@@ -162,7 +164,7 @@ if (fieldTimesUsed.size())
     count = 0;
     forAll(fieldTimesUsed, i)
     {
-        const label& index = fieldTimesUsed[i];
+        const label index = fieldTimesUsed[i];
         caseFile
             << " " << setw(12) << timeIndices[index] + timeCorrection;
 
@@ -203,7 +205,7 @@ if (geometryTimesUsed.size())
     count = 0;
     forAll(geometryTimesUsed, i)
     {
-        const label& index = geometryTimesUsed[i];
+        const label index = geometryTimesUsed[i];
         caseFile
             << " " << setw(12) << timeIndices[index] + timeCorrection;
 
@@ -249,7 +251,7 @@ forAllConstIter(HashTable<DynamicList<label>>, cloudTimesUsed, cloudIter)
         count = 0;
         forAll(timesUsed, i)
         {
-            const label& index = timesUsed[i];
+            const label index = timesUsed[i];
             caseFile
                 << " " << setw(12) << timeIndices[index] + timeCorrection;
 
-- 
GitLab


From af1bec992762d089826bf1e427425b36f3ce655e Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Mon, 26 Sep 2016 08:02:03 +0200
Subject: [PATCH 57/96] STYLE: minor adjustment to echoed information

---
 .../dataConversion/foamToEnsightParts/foamToEnsightParts.C  | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C
index 34bce4adea..294410bb7b 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C
@@ -312,7 +312,7 @@ int main(int argc, char *argv[])
             }
         }
 
-        Info<< "write volume field (" << flush;
+        Info<< "Write volume field (" << flush;
 
         forAllConstIter(HashTable<word>, volumeFields, fieldIter)
         {
@@ -418,6 +418,8 @@ int main(int argc, char *argv[])
                 continue;
             }
 
+            Info<< "Write " << cloudName << " ( positions" << flush;
+
             ensightParticlePositions
             (
                 mesh,
@@ -427,8 +429,6 @@ int main(int argc, char *argv[])
                 format
             );
 
-            Info<< "write " << cloudName << " (" << flush;
-
             forAllConstIter(HashTable<word>, cloudIter(), fieldIter)
             {
                 const word& fieldName = fieldIter.key();
-- 
GitLab


From 5dee07df07ce741b004b0df9495035c4aeca648d Mon Sep 17 00:00:00 2001
From: Andrew Heather <andy@shelob.opencfd.co.uk>
Date: Mon, 26 Sep 2016 13:00:49 +0100
Subject: [PATCH 58/96] ENH: Tutorial updates

---
 .../les/simplePMMApanel/0/panelRegion/T       |  4 +-
 .../system/controlDict                        |  2 +-
 .../windshieldCondensation/0.orig/cabin/T     |  4 +-
 .../pimpleFoam/channel395DFSEM/Allrun         |  2 +-
 .../constant/boundaryData/inlet/0/L           | 17 ---------
 .../constant/boundaryData/inlet/0/R           | 18 ---------
 .../constant/boundaryData/inlet/0/U           | 17 ---------
 .../condensatingVessel/0/T                    |  4 +-
 .../laminar/sloshingTank2D/0/alpha.water.orig | 37 +++++++++++++++++++
 .../sloshingTank2D3DoF/0/alpha.water.orig     | 37 +++++++++++++++++++
 .../laminar/sloshingTank3D/0/alpha.water.orig | 29 +++++++++++++++
 .../sloshingTank3D3DoF/0/alpha.water.orig     | 29 +++++++++++++++
 .../sloshingTank3D6DoF/0/alpha.water.orig     | 29 +++++++++++++++
 .../laminar/testTubeMixer/0/alpha.water.orig  | 29 +++++++++++++++
 14 files changed, 198 insertions(+), 60 deletions(-)
 create mode 100644 tutorials/multiphase/interDyMFoam/laminar/sloshingTank2D/0/alpha.water.orig
 create mode 100644 tutorials/multiphase/interDyMFoam/laminar/sloshingTank2D3DoF/0/alpha.water.orig
 create mode 100644 tutorials/multiphase/interDyMFoam/laminar/sloshingTank3D/0/alpha.water.orig
 create mode 100644 tutorials/multiphase/interDyMFoam/laminar/sloshingTank3D3DoF/0/alpha.water.orig
 create mode 100644 tutorials/multiphase/interDyMFoam/laminar/sloshingTank3D6DoF/0/alpha.water.orig
 create mode 100644 tutorials/multiphase/interDyMFoam/laminar/testTubeMixer/0/alpha.water.orig

diff --git a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/T b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/T
index d06404e17f..86c1260be0 100644
--- a/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/T
+++ b/tutorials/combustion/fireFoam/les/simplePMMApanel/0/panelRegion/T
@@ -36,8 +36,8 @@ boundaryField
 
 
         type                fixedIncidentRadiation;
-        kappa               solidThermo;
-        kappaName           none;
+        kappaMethod         solidThermo;
+        kappa               none;
         QrIncident          uniform 60000.0;   //W
         value               uniform 298.15;
     }
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/controlDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/controlDict
index 7a6cb60419..3ab994b043 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/controlDict
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/controlDict
@@ -59,7 +59,7 @@ functions
     externalCoupled
     {
         // Where to load it from (if not already in solver)
-        libs            ("libfieldControl.so");
+        libs            ("libfieldFunctionObjects.so");
 
         type            externalCoupled;
 
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/T b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/T
index d0013971fe..e1f36abd65 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/T
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/cabin/T
@@ -49,8 +49,8 @@ boundaryField
     cabin_to_windshield
     {
         type            humidityTemperatureCoupledMixed;
-        kappa           fluidThermo;
-        kappaName       none;
+        kappaMethod     fluidThermo;
+        kappa           none;
 
         // Mode of operation: inert, condensation, vaporization,
         // condensationAndEvaporation
diff --git a/tutorials/incompressible/pimpleFoam/channel395DFSEM/Allrun b/tutorials/incompressible/pimpleFoam/channel395DFSEM/Allrun
index f3cf09467d..2ba4fbfe42 100755
--- a/tutorials/incompressible/pimpleFoam/channel395DFSEM/Allrun
+++ b/tutorials/incompressible/pimpleFoam/channel395DFSEM/Allrun
@@ -5,7 +5,7 @@ cd ${0%/*} || exit 1    # run from this directory
 . $WM_PROJECT_DIR/bin/tools/RunFunctions
 
 # Get application directory
-application=`getApplication`
+application=$(getApplication)
 
 runApplication blockMesh
 
diff --git a/tutorials/incompressible/pimpleFoam/channel395DFSEM/constant/boundaryData/inlet/0/L b/tutorials/incompressible/pimpleFoam/channel395DFSEM/constant/boundaryData/inlet/0/L
index 94aef1c203..9c6e3ab67d 100644
--- a/tutorials/incompressible/pimpleFoam/channel395DFSEM/constant/boundaryData/inlet/0/L
+++ b/tutorials/incompressible/pimpleFoam/channel395DFSEM/constant/boundaryData/inlet/0/L
@@ -1,20 +1,3 @@
-/*--------------------------------*- C++ -*----------------------------------*| =========                 |                                                 |
-| \      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \    /   O peration     | Version:  plus                                  |
-|   \  /    A nd           | Web:      www.OpenFOAM.com                      |
-|    \/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       scalarAverageField;
-    object      values;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-// LMean
-0
-
 (
 0
 1.76693e-06
diff --git a/tutorials/incompressible/pimpleFoam/channel395DFSEM/constant/boundaryData/inlet/0/R b/tutorials/incompressible/pimpleFoam/channel395DFSEM/constant/boundaryData/inlet/0/R
index 497e864386..084bdd9f8f 100644
--- a/tutorials/incompressible/pimpleFoam/channel395DFSEM/constant/boundaryData/inlet/0/R
+++ b/tutorials/incompressible/pimpleFoam/channel395DFSEM/constant/boundaryData/inlet/0/R
@@ -1,21 +1,3 @@
-/*--------------------------------*- C++ -*----------------------------------*| =========                 |                                                 |
-| \      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \    /   O peration     | Version:  plus                                  |
-|   \  /    A nd           | Web:      www.OpenFOAM.com                      |
-|    \/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       symmTensorAverageField;
-    object      values;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-// UU, UV, UZ, VV, VW, WW
-
-// Average
-(0 0 0 0 0 0)
 (
 (5.3376e-28 1.1206e-30 -6.1282e-30 4.9018e-29 6.2793e-32 5.9575e-28)
 (1.3684e-04 -2.4414e-08 5.9464e-08 9.4734e-11 -2.8525e-11 5.2943e-05)
diff --git a/tutorials/incompressible/pimpleFoam/channel395DFSEM/constant/boundaryData/inlet/0/U b/tutorials/incompressible/pimpleFoam/channel395DFSEM/constant/boundaryData/inlet/0/U
index 925381d73a..2ecd2a6ad4 100644
--- a/tutorials/incompressible/pimpleFoam/channel395DFSEM/constant/boundaryData/inlet/0/U
+++ b/tutorials/incompressible/pimpleFoam/channel395DFSEM/constant/boundaryData/inlet/0/U
@@ -1,20 +1,3 @@
-/*--------------------------------*- C++ -*----------------------------------*| =========                 |                                                 |
-| \      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \    /   O peration     | Version:  plus                                  |
-|   \  /    A nd           | Web:      www.OpenFOAM.com                      |
-|    \/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       vectorAverageField;
-    object      values;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-// UMean
-(0 0 0)
-
 (
 ( 0.0000e+00 0 0 )
 ( 2.9538e-02 0 0 )
diff --git a/tutorials/multiphase/interCondensingEvaporatingFoam/condensatingVessel/0/T b/tutorials/multiphase/interCondensingEvaporatingFoam/condensatingVessel/0/T
index 1c3c7eb1b5..e909b4147c 100644
--- a/tutorials/multiphase/interCondensingEvaporatingFoam/condensatingVessel/0/T
+++ b/tutorials/multiphase/interCondensingEvaporatingFoam/condensatingVessel/0/T
@@ -35,8 +35,8 @@ boundaryField
         type            compressible::turbulentHeatFluxTemperature;
         heatSource      flux;
         q               uniform -40e3;
-        kappa           fluidThermo;
-        kappaName       none;
+        kappaMethod     fluidThermo;
+        kappa           none;
         value           $internalField;
     }
     right
diff --git a/tutorials/multiphase/interDyMFoam/laminar/sloshingTank2D/0/alpha.water.orig b/tutorials/multiphase/interDyMFoam/laminar/sloshingTank2D/0/alpha.water.orig
new file mode 100644
index 0000000000..1a4430bade
--- /dev/null
+++ b/tutorials/multiphase/interDyMFoam/laminar/sloshingTank2D/0/alpha.water.orig
@@ -0,0 +1,37 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      alpha.water;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    front
+    {
+        type            empty;
+    }
+    back
+    {
+        type            empty;
+    }
+    walls
+    {
+        type            zeroGradient;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/laminar/sloshingTank2D3DoF/0/alpha.water.orig b/tutorials/multiphase/interDyMFoam/laminar/sloshingTank2D3DoF/0/alpha.water.orig
new file mode 100644
index 0000000000..1a4430bade
--- /dev/null
+++ b/tutorials/multiphase/interDyMFoam/laminar/sloshingTank2D3DoF/0/alpha.water.orig
@@ -0,0 +1,37 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      alpha.water;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    front
+    {
+        type            empty;
+    }
+    back
+    {
+        type            empty;
+    }
+    walls
+    {
+        type            zeroGradient;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/laminar/sloshingTank3D/0/alpha.water.orig b/tutorials/multiphase/interDyMFoam/laminar/sloshingTank3D/0/alpha.water.orig
new file mode 100644
index 0000000000..dcac9db1da
--- /dev/null
+++ b/tutorials/multiphase/interDyMFoam/laminar/sloshingTank3D/0/alpha.water.orig
@@ -0,0 +1,29 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      alpha.water;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    walls
+    {
+        type            zeroGradient;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/laminar/sloshingTank3D3DoF/0/alpha.water.orig b/tutorials/multiphase/interDyMFoam/laminar/sloshingTank3D3DoF/0/alpha.water.orig
new file mode 100644
index 0000000000..dcac9db1da
--- /dev/null
+++ b/tutorials/multiphase/interDyMFoam/laminar/sloshingTank3D3DoF/0/alpha.water.orig
@@ -0,0 +1,29 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      alpha.water;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    walls
+    {
+        type            zeroGradient;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/laminar/sloshingTank3D6DoF/0/alpha.water.orig b/tutorials/multiphase/interDyMFoam/laminar/sloshingTank3D6DoF/0/alpha.water.orig
new file mode 100644
index 0000000000..dcac9db1da
--- /dev/null
+++ b/tutorials/multiphase/interDyMFoam/laminar/sloshingTank3D6DoF/0/alpha.water.orig
@@ -0,0 +1,29 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      alpha.water;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    walls
+    {
+        type            zeroGradient;
+    }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/multiphase/interDyMFoam/laminar/testTubeMixer/0/alpha.water.orig b/tutorials/multiphase/interDyMFoam/laminar/testTubeMixer/0/alpha.water.orig
new file mode 100644
index 0000000000..dcac9db1da
--- /dev/null
+++ b/tutorials/multiphase/interDyMFoam/laminar/testTubeMixer/0/alpha.water.orig
@@ -0,0 +1,29 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      alpha.water;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 0 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    walls
+    {
+        type            zeroGradient;
+    }
+}
+
+// ************************************************************************* //
-- 
GitLab


From 83c94cbb1c452e0096722b12312005ba4a9fb45f Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Tue, 27 Sep 2016 12:40:17 +0200
Subject: [PATCH 59/96] ENH: provide list of enums for NamedEnum

- can be used to loop over all enumerations in the order of definition.
---
 applications/test/NamedEnum/Make/files        |  2 +-
 .../{Test-namedEnum.C => Test-NamedEnum.C}    | 58 +++++++++++++++----
 src/OpenFOAM/containers/NamedEnum/NamedEnum.C | 19 ++++++
 src/OpenFOAM/containers/NamedEnum/NamedEnum.H | 10 +++-
 4 files changed, 76 insertions(+), 13 deletions(-)
 rename applications/test/NamedEnum/{Test-namedEnum.C => Test-NamedEnum.C} (52%)

diff --git a/applications/test/NamedEnum/Make/files b/applications/test/NamedEnum/Make/files
index 755b72ba5e..a1a7086041 100644
--- a/applications/test/NamedEnum/Make/files
+++ b/applications/test/NamedEnum/Make/files
@@ -1,3 +1,3 @@
-Test-namedEnum.C
+Test-NamedEnum.C
 
 EXE = $(FOAM_USER_APPBIN)/Test-NamedEnum
diff --git a/applications/test/NamedEnum/Test-namedEnum.C b/applications/test/NamedEnum/Test-NamedEnum.C
similarity index 52%
rename from applications/test/NamedEnum/Test-namedEnum.C
rename to applications/test/NamedEnum/Test-NamedEnum.C
index 22f3596932..63386ed79e 100644
--- a/applications/test/NamedEnum/Test-namedEnum.C
+++ b/applications/test/NamedEnum/Test-NamedEnum.C
@@ -34,26 +34,28 @@ class namedEnumTest
 {
 public:
 
-    enum options
+    enum option
     {
         a,
         b,
-        c
+        c,
+        d
     };
 
-    static const Foam::NamedEnum<options, 3> namedEnum;
+    static const Foam::NamedEnum<option, 4> namedEnum;
 };
 
 
 template<>
-const char* Foam::NamedEnum<namedEnumTest::options, 3>::names[] =
+const char* Foam::NamedEnum<namedEnumTest::option, 4>::names[] =
 {
     "a",
     "b",
-    "c"
+    "c",
+    "d"
 };
 
-const Foam::NamedEnum<namedEnumTest::options, 3> namedEnumTest::namedEnum;
+const Foam::NamedEnum<namedEnumTest::option, 4> namedEnumTest::namedEnum;
 
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -61,11 +63,47 @@ const Foam::NamedEnum<namedEnumTest::options, 3> namedEnumTest::namedEnum;
 
 int main(int argc, char *argv[])
 {
-    Info<< namedEnumTest::namedEnum["a"] << endl;
-    Info<< namedEnumTest::namedEnum[namedEnumTest::a] << endl;
+    const List<namedEnumTest::option> options
+        = namedEnumTest::namedEnum.enums();
 
-    namedEnumTest::options hmm(namedEnumTest::namedEnum.read(Sin));
-    Info<< namedEnumTest::namedEnum[hmm] << endl;
+    Info<< "enums: " << options << nl;
+
+    Info<< "loop over enums (as list):" << nl;
+    forAll(options, i)
+    {
+        const namedEnumTest::option& opt = options[i];
+
+        Info<< "option[" << opt
+            << "] = '" << namedEnumTest::namedEnum[opt] << "'" << nl;
+    }
+
+#if __cplusplus > 201100L
+    // C++11
+    Info<< "loop over enums (C++11 for range):" << nl;
+    for (auto const& opt : options)
+    {
+        Info<< "option[" << opt
+            << "] = '" << namedEnumTest::namedEnum[opt] << "'" << nl;
+    }
+#else
+    Info<< "loop over enums (via iterator):" << nl;
+    forAllConstIter(List<namedEnumTest::option>, options, iter)
+    {
+        const namedEnumTest::option& opt = *iter;
+
+        Info<< "option[" << opt
+            << "] = '" << namedEnumTest::namedEnum[opt] << "'" << nl;
+    }
+#endif
+
+    Info<< nl
+        << namedEnumTest::namedEnum["a"] << nl
+        << namedEnumTest::namedEnum[namedEnumTest::a] << nl;
+
+    Info<< "--- test read construction ---" << endl;
+
+    namedEnumTest::option dummy(namedEnumTest::namedEnum.read(Sin));
+    Info<< namedEnumTest::namedEnum[dummy] << endl;
 
     Info<< "End\n" << endl;
 
diff --git a/src/OpenFOAM/containers/NamedEnum/NamedEnum.C b/src/OpenFOAM/containers/NamedEnum/NamedEnum.C
index ba5bd4999d..99f723d987 100644
--- a/src/OpenFOAM/containers/NamedEnum/NamedEnum.C
+++ b/src/OpenFOAM/containers/NamedEnum/NamedEnum.C
@@ -120,4 +120,23 @@ Foam::wordList Foam::NamedEnum<Enum, nEnum>::words()
 }
 
 
+template<class Enum, int nEnum>
+Foam::List<Enum> Foam::NamedEnum<Enum, nEnum>::enums()
+{
+    List<Enum> lst(nEnum);
+
+    label nElem = 0;
+    for (int enumI = 0; enumI < nEnum; ++enumI)
+    {
+        if (names[enumI] && names[enumI][0])
+        {
+            lst[nElem++] = Enum(enumI);
+        }
+    }
+
+    lst.setSize(nElem);
+    return lst;
+}
+
+
 // ************************************************************************* //
diff --git a/src/OpenFOAM/containers/NamedEnum/NamedEnum.H b/src/OpenFOAM/containers/NamedEnum/NamedEnum.H
index f4af06792c..6005f86a60 100644
--- a/src/OpenFOAM/containers/NamedEnum/NamedEnum.H
+++ b/src/OpenFOAM/containers/NamedEnum/NamedEnum.H
@@ -45,6 +45,9 @@ SourceFiles
 namespace Foam
 {
 
+// Forward declaration
+template<class Enum, int> class NamedEnum;
+
 /*---------------------------------------------------------------------------*\
                           Class NamedEnum Declaration
 \*---------------------------------------------------------------------------*/
@@ -60,10 +63,10 @@ class NamedEnum
     // Private Member Functions
 
         //- Disallow default bitwise copy construct
-        NamedEnum(const NamedEnum&);
+        NamedEnum(const NamedEnum&) = delete;
 
         //- Disallow default bitwise assignment
-        void operator=(const NamedEnum&);
+        void operator=(const NamedEnum&) = delete;
 
 
 public:
@@ -95,6 +98,9 @@ public:
         //- The set of names as a list of words
         static wordList words();
 
+        //- List of enumerations
+        static List<Enum> enums();
+
 
     // Member Operators
 
-- 
GitLab


From 238dd7ebcc058a1a900355d33dbd444f9562fbc8 Mon Sep 17 00:00:00 2001
From: Andrew Heather <andy@shelob.opencfd.co.uk>
Date: Tue, 27 Sep 2016 15:17:55 +0100
Subject: [PATCH 60/96] STYLE: consistency updates

---
 doc/codingStyleGuide.org                      |   2 +-
 .../fluid/buoyant/wallOptions                 |   4 +-
 .../fluid/compressible/wallOptions            |   4 +-
 .../boundaryConditions/solid/wallOptions      |   4 +-
 etc/caseDicts/postProcessing/fields/CourantNo |   2 +-
 etc/caseDicts/postProcessing/fields/MachNo    |   2 +-
 etc/caseDicts/postProcessing/fields/PecletNo  |   2 +-
 etc/caseDicts/postProcessing/fields/R         |   2 +-
 .../postProcessing/fields/XiReactionRate      |   2 +-
 .../postProcessing/fields/components          |   2 +-
 etc/caseDicts/postProcessing/fields/div       |   2 +-
 etc/caseDicts/postProcessing/fields/enstrophy |   2 +-
 etc/caseDicts/postProcessing/fields/flowType  |   2 +-
 etc/caseDicts/postProcessing/fields/grad      |   2 +-
 etc/caseDicts/postProcessing/fields/mag       |   2 +-
 etc/caseDicts/postProcessing/fields/magSqr    |   2 +-
 etc/caseDicts/postProcessing/fields/randomise |   2 +-
 .../postProcessing/fields/randomise.cfg       |   2 +-
 .../postProcessing/fields/streamFunction      |   2 +-
 .../postProcessing/fields/turbulenceFields    |   2 +-
 etc/caseDicts/postProcessing/fields/vorticity |   2 +-
 .../postProcessing/fields/wallHeatFlux        |   2 +-
 .../postProcessing/fields/wallShearStress     |   2 +-
 .../postProcessing/fields/writeCellCentres    |   2 +-
 .../postProcessing/fields/writeCellVolumes    |   2 +-
 .../postProcessing/fields/writeObjects        |   2 +-
 etc/caseDicts/postProcessing/fields/yPlus     |   2 +-
 .../solvers/scalarTransport/scalarTransport   |   2 +-
 .../scalarTransport/scalarTransport.cfg       |   2 +-
 .../surfaceFieldValue/faceZone.cfg            |   2 +-
 .../surfaceFieldValue/patch.cfg               |   2 +-
 .../surfaceFieldValue/patchAverage            |   2 +-
 .../surfaceFieldValue/patchIntegrate          |   2 +-
 .../surfaceFieldValue/surfaceRegion.cfg       |   2 +-
 .../functionObject/functionObject.H           |   4 +-
 .../regionFunctionObject.H                    |   3 +-
 .../regionFunctionObjectTemplates.C           |   6 +-
 .../filteredLinear2/filteredLinear2.H         |   4 +-
 src/functionObjects/field/Q/Q.H               |   2 +-
 .../field/externalCoupled/externalCoupled.C   | 154 ++--
 .../externalCoupledMixedFvPatchField.C        |  20 +-
 ...oupledTemperatureMixedFvPatchScalarField.C |  28 +-
 .../externalCoupledTemplates.C                |  96 +-
 .../field/fieldMinMax/fieldMinMaxTemplates.C  |  16 +-
 .../fieldValues/volFieldValue/volFieldValue.C |  14 +-
 .../fieldValues/volFieldValue/volFieldValue.H |   2 +-
 .../field/fluxSummary/fluxSummary.C           | 130 +--
 .../field/fluxSummary/fluxSummary.H           |   2 +-
 .../field/mapFields/mapFields.C               |   2 +-
 .../field/nearWallFields/findCellParticle.C   |   4 +-
 .../field/nearWallFields/findCellParticle.H   |   2 +-
 .../field/nearWallFields/nearWallFields.C     |   6 +-
 .../reactionsSensitivityAnalysis.C            |  40 +-
 .../field/readFields/readFieldsTemplates.C    |   8 +-
 .../regionSizeDistribution.C                  |  34 +-
 .../regionSizeDistributionTemplates.C         |   6 +-
 .../field/streamFunction/streamFunction.C     |   4 +-
 .../field/streamLine/streamLineBase.C         | 118 +--
 .../field/streamLine/streamLineBase.H         |   8 +-
 .../field/streamLine/streamLineParticle.C     |  12 +-
 .../surfaceInterpolateTemplates.C             |   2 +-
 .../field/vorticity/vorticity.H               |   2 +-
 .../wallBoundedParticle.C                     |  20 +-
 .../wallBoundedParticle.H                     |  10 +-
 .../wallBoundedParticleTemplates.C            |  14 +-
 .../wallBoundedStreamLine.C                   |   6 +-
 .../wallBoundedStreamLineParticle.C           |  18 +-
 .../wallBoundedStreamLineParticle.H           |   2 +-
 .../field/wallShearStress/wallShearStress.C   |  10 +-
 src/functionObjects/field/yPlus/yPlus.C       |   6 +-
 .../forces/forceCoeffs/forceCoeffs.C          |  38 +-
 src/functionObjects/forces/forces/forces.C    |  74 +-
 src/functionObjects/forces/forces/forces.H    |   2 +-
 .../graphics/runTimePostProcessing/pathline.C |   4 +-
 .../graphics/runTimePostProcessing/pathline.H |   2 +-
 .../runTimePostProcessing/pointData.C         |   4 +-
 .../runTimePostProcessing/pointData.H         |   2 +-
 .../lagrangian/dsmcFields/dsmcFields.H        |   2 +-
 .../averageCondition/averageCondition.C       |  28 +-
 .../equationInitialResidualCondition.C        |  14 +-
 .../equationMaxIterCondition.C                |  14 +-
 .../minMaxCondition/minMaxCondition.C         |   4 +-
 .../utilities/runTimeControl/runTimeControl.C |  46 +-
 .../setTimeStep/setTimeStepFunctionObject.H   |   2 +-
 .../utilities/systemCall/systemCall.C         |  12 +-
 .../writeDictionary/writeDictionary.C         |   8 +-
 .../writeDictionary/writeDictionary.H         |   2 +-
 .../snappyHexMeshDriver/snappyLayerDriver.C   | 844 +++++++++---------
 .../snappyHexMeshDriver/snappyRefineDriver.C  |  88 +-
 .../snappyHexMeshDriver/snappySnapDriver.C    | 540 +++++------
 .../snappySnapDriverFeature.C                 | 836 ++++++++---------
 .../snappySnapDriverTemplates.C               |   8 +-
 src/sampling/probes/patchProbes.H             |  11 +-
 src/sampling/probes/probes.H                  |  11 +-
 .../chemFoam/gri/system/controlDict           |   2 +-
 .../ic8h18_TDAC/chemkin/transportProperties   |   2 +-
 .../ic8h18_TDAC/constant/chemistryProperties  |   2 +-
 .../ic8h18_TDAC/constant/initialConditions    |   2 +-
 .../constant/thermophysicalProperties         |   2 +-
 .../chemFoam/ic8h18_TDAC/system/controlDict   |   2 +-
 .../chemFoam/ic8h18_TDAC/system/fvSolution    |   2 +-
 .../0/ph_rgh.orig                             |   2 +-
 .../constant/pRef                             |   2 +-
 .../les/oppositeBurningPanels/0/ph_rgh.orig   |   2 +-
 .../les/oppositeBurningPanels/constant/pRef   |   2 +-
 .../les/smallPoolFire2D/0/ph_rgh.orig         |   2 +-
 .../les/smallPoolFire2D/constant/pRef         |   2 +-
 .../les/smallPoolFire3D/0/ph_rgh.orig         |   2 +-
 .../les/smallPoolFire3D/constant/pRef         |   2 +-
 .../laminar/counterFlowFlame2D_GRI/0/CH4      |   2 +-
 .../laminar/counterFlowFlame2D_GRI/0/CO2      |   2 +-
 .../laminar/counterFlowFlame2D_GRI/0/H2O      |   2 +-
 .../laminar/counterFlowFlame2D_GRI/0/N2       |   2 +-
 .../laminar/counterFlowFlame2D_GRI/0/O2       |   2 +-
 .../laminar/counterFlowFlame2D_GRI/0/T        |   2 +-
 .../laminar/counterFlowFlame2D_GRI/0/U        |   2 +-
 .../laminar/counterFlowFlame2D_GRI/0/Ydefault |   2 +-
 .../laminar/counterFlowFlame2D_GRI/0/alphat   |   2 +-
 .../laminar/counterFlowFlame2D_GRI/0/p        |   2 +-
 .../constant/chemistryProperties              |   2 +-
 .../constant/combustionProperties             |   2 +-
 .../constant/thermo.compressibleGas           |   2 +-
 .../constant/thermophysicalProperties         |   2 +-
 .../system/blockMeshDict                      |   2 +-
 .../counterFlowFlame2D_GRI/system/controlDict |   2 +-
 .../counterFlowFlame2D_GRI/system/fvSchemes   |   2 +-
 .../counterFlowFlame2D_GRI/system/fvSolution  |   2 +-
 .../laminar/counterFlowFlame2D_GRI_TDAC/0/CH4 |   2 +-
 .../laminar/counterFlowFlame2D_GRI_TDAC/0/CO2 |   2 +-
 .../laminar/counterFlowFlame2D_GRI_TDAC/0/H2O |   2 +-
 .../laminar/counterFlowFlame2D_GRI_TDAC/0/N2  |   2 +-
 .../laminar/counterFlowFlame2D_GRI_TDAC/0/O2  |   2 +-
 .../laminar/counterFlowFlame2D_GRI_TDAC/0/T   |   2 +-
 .../laminar/counterFlowFlame2D_GRI_TDAC/0/U   |   2 +-
 .../counterFlowFlame2D_GRI_TDAC/0/Ydefault    |   2 +-
 .../counterFlowFlame2D_GRI_TDAC/0/alphat      |   2 +-
 .../laminar/counterFlowFlame2D_GRI_TDAC/0/p   |   2 +-
 .../constant/chemistryProperties              |   2 +-
 .../constant/chemistryProperties.new          |   2 +-
 .../constant/combustionProperties             |   2 +-
 .../constant/thermo.compressibleGas           |   2 +-
 .../constant/thermophysicalProperties         |   2 +-
 .../system/blockMeshDict                      |   2 +-
 .../system/controlDict                        |   2 +-
 .../system/decomposeParDict                   |   2 +-
 .../system/fvSchemes                          |   2 +-
 .../system/fvSolution                         |   2 +-
 .../laminar/helmholtzResonance/0/T            |   2 +-
 .../laminar/helmholtzResonance/0/U            |   2 +-
 .../laminar/helmholtzResonance/0/p            |   2 +-
 .../constant/thermophysicalProperties         |   2 +-
 .../constant/turbulenceProperties             |   2 +-
 .../helmholtzResonance/system/blockMeshDict   |   2 +-
 .../system/decomposeParDict                   |   2 +-
 .../helmholtzResonance/system/fvSchemes       |   2 +-
 .../helmholtzResonance/system/fvSolution      |   2 +-
 .../sonicFoam/laminar/shockTube/Allclean      |   2 +-
 .../system/bottomWater/changeDictionaryDict   |   4 +-
 .../system/heater/changeDictionaryDict        |   8 +-
 .../system/leftSolid/changeDictionaryDict     |   8 +-
 .../system/rightSolid/changeDictionaryDict    |   4 +-
 .../system/topAir/changeDictionaryDict        |   4 +-
 .../externalSolarLoad/0/air/T                 |   8 +-
 .../externalSolarLoad/0/floor/T               |  12 +-
 .../externalSolarLoad/0/solid/T               |   8 +-
 .../system/air/changeDictionaryDict           |   4 +-
 .../system/floor/changeDictionaryDict         |  12 +-
 .../system/solid/changeDictionaryDict         |   8 +-
 .../system/leftSolid/fvSolution               |   2 +-
 .../system/rightSolid/fvSolution              |   2 +-
 .../system/topAir/fvSolution                  |   2 +-
 .../system/leftSolid/fvSolution               |   2 +-
 .../system/rightSolid/fvSolution              |   2 +-
 .../system/topAir/fvSolution                  |   2 +-
 .../0.orig/windshield/T                       |   8 +-
 .../windshieldCondensation/system/controlDict |   3 +-
 .../windshieldDefrost/0.orig/cabin/T          |   4 +-
 .../windshieldDefrost/0.orig/exterior/T       |   4 +-
 .../windshieldDefrost/0.orig/ice/T            |   8 +-
 .../windshieldDefrost/system/controlDict      |   6 +-
 .../system/leftSolid/fvSolution               |   2 +-
 .../system/rightSolid/fvSolution              |   2 +-
 .../system/topAir/fvSolution                  |   2 +-
 .../channel395DFSEM/system/controlDict        |   8 +-
 .../incompressible/pisoFoam/les/pitzDaily/0/s |   2 +-
 .../backgroundMeshDecomposition/fvSolution    |   2 +-
 .../system/cellShapeControlMesh/fvSolution    |   2 +-
 .../incompressible/simpleFoam/T3A/0/ReThetat  |   2 +-
 tutorials/incompressible/simpleFoam/T3A/0/U   |   2 +-
 .../incompressible/simpleFoam/T3A/0/gammaInt  |   2 +-
 tutorials/incompressible/simpleFoam/T3A/0/k   |   2 +-
 tutorials/incompressible/simpleFoam/T3A/0/nut |   2 +-
 .../incompressible/simpleFoam/T3A/0/omega     |   2 +-
 tutorials/incompressible/simpleFoam/T3A/0/p   |   2 +-
 .../T3A/constant/transportProperties          |   2 +-
 .../simpleFoam/T3A/system/blockMeshDict       |   2 +-
 .../simpleFoam/T3A/system/fvSchemes           |   2 +-
 .../simpleFoam/T3A/system/fvSolution          |   2 +-
 .../simpleFoam/T3A/system/kGraph              |   2 +-
 .../T3A/system/wallShearStressGraph           |   2 +-
 .../simpleFoam/pitzDaily/system/streamlines   |   2 +-
 .../reactingParcelFoam/filter/Allclean        |   2 +-
 .../backgroundMeshDecomposition/fvSolution    |   2 +-
 .../backgroundMeshDecomposition/fvSolution    |   2 +-
 .../backgroundMeshDecomposition/fvSolution    |   2 +-
 tutorials/mesh/parallel/filter/Allclean       |   2 +-
 tutorials/mesh/parallel/filter/Allrun         |   2 +-
 .../MPPICInterFoam/twoPhasePachuka/Allrun     |   2 +-
 .../ras/sloshingTank2D/0/alpha.water.orig     |   2 +-
 .../laminar/sloshingTank3D6DoF/Allrun         |   2 +-
 .../ras/sloshingTank2D/0/alpha.water.orig     |   2 +-
 .../ras/sloshingTank3D/0/alpha.water.orig     |   2 +-
 .../ras/sloshingTank3D3DoF/0/alpha.water.orig |   2 +-
 .../ras/sloshingTank3D6DoF/0/alpha.water.orig |   2 +-
 .../ras/testTubeMixer/0/alpha.water.orig      |   2 +-
 .../ras/damBreakPorousBaffle/0/alpha.water    |   2 +-
 .../damBreakPorousBaffle/0/alpha.water.orig   |   2 +-
 .../RAS/LBend/0/T.gas                         |   2 +-
 .../RAS/LBend/0/T.solids                      |   2 +-
 .../RAS/LBend/0/Theta.solids                  |   2 +-
 .../RAS/LBend/0/U.gas                         |   2 +-
 .../RAS/LBend/0/U.solids                      |   2 +-
 .../RAS/LBend/0/alpha.solids                  |   2 +-
 .../RAS/LBend/0/alphat.gas                    |   2 +-
 .../RAS/LBend/0/alphat.solids                 |   2 +-
 .../RAS/LBend/0/epsilon.gas                   |   2 +-
 .../RAS/LBend/0/k.gas                         |   2 +-
 .../RAS/LBend/0/nut.gas                       |   2 +-
 .../RAS/LBend/0/nut.solids                    |   2 +-
 .../reactingTwoPhaseEulerFoam/RAS/LBend/0/p   |   2 +-
 .../RAS/LBend/0/p_rgh                         |   2 +-
 .../RAS/LBend/constant/g                      |   2 +-
 .../RAS/LBend/constant/phaseProperties        |   2 +-
 .../constant/thermophysicalProperties.gas     |   2 +-
 .../constant/thermophysicalProperties.solids  |   2 +-
 .../LBend/constant/turbulenceProperties.gas   |   2 +-
 .../constant/turbulenceProperties.solids      |   2 +-
 .../RAS/LBend/system/blockMeshDict            |   2 +-
 .../RAS/LBend/system/controlDict              |   2 +-
 .../RAS/LBend/system/fvSchemes                |   2 +-
 .../RAS/LBend/system/fvSolution               |   2 +-
 .../plateHole/system/singleGraph              |   2 +-
 242 files changed, 1933 insertions(+), 1933 deletions(-)

diff --git a/doc/codingStyleGuide.org b/doc/codingStyleGuide.org
index b3a80ede2c..3cde03d85d 100644
--- a/doc/codingStyleGuide.org
+++ b/doc/codingStyleGuide.org
@@ -3,7 +3,7 @@
 #+TITLE:                 OpenFOAM C++ Style Guide
 #+AUTHOR:                  OpenFOAM Foundation
 #+DATE:                         2011-2016
-#+LINK:                    http://OpenFOAM.org
+#+LINK:                    http://OpenFOAM.com
 #+OPTIONS: author:nil ^:{}
 #+STARTUP: hidestars
 #+STARTUP: odd
diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/wallOptions b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/wallOptions
index bba8feecfb..df68b121e7 100644
--- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/wallOptions
+++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/wallOptions
@@ -43,8 +43,8 @@ heatTransfer
             type        compressible::turbulentTemperatureCoupledBaffleMixed;
             value       ${:VALUE.T};
             Tnbr        T;
-            kappa       fluidThermo;
-            kappaName   none;
+            kappaMethod fluidThermo;
+            kappa       none;
         }
     }
 }
diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/wallOptions b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/wallOptions
index 81450fc91f..fd2a703afa 100644
--- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/wallOptions
+++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/wallOptions
@@ -60,8 +60,8 @@ heatTransfer
             type        compressible::turbulentTemperatureCoupledBaffleMixed;
             value       ${:VALUE.T};
             Tnbr        T;
-            kappa       fluidThermo;
-            kappaName   none;
+            kappaMethod fluidThermo;
+            kappa       none;
         }
     }
 }
diff --git a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/solid/wallOptions b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/solid/wallOptions
index 9ea2973bff..e1fed46905 100644
--- a/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/solid/wallOptions
+++ b/etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/solid/wallOptions
@@ -39,8 +39,8 @@ heatTransfer
             type        compressible::turbulentTemperatureCoupledBaffleMixed;
             value       ${:VALUE.T};
             Tnbr        T;
-            kappa       solidThermo;
-            kappaName   none;
+            kappaMethod solidThermo;
+            kappa       none;
         }
     }
 }
diff --git a/etc/caseDicts/postProcessing/fields/CourantNo b/etc/caseDicts/postProcessing/fields/CourantNo
index 4204ba83df..b787de8881 100644
--- a/etc/caseDicts/postProcessing/fields/CourantNo
+++ b/etc/caseDicts/postProcessing/fields/CourantNo
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/fields/MachNo b/etc/caseDicts/postProcessing/fields/MachNo
index ca02b41d6d..624f914602 100644
--- a/etc/caseDicts/postProcessing/fields/MachNo
+++ b/etc/caseDicts/postProcessing/fields/MachNo
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/fields/PecletNo b/etc/caseDicts/postProcessing/fields/PecletNo
index 4db8558e33..49aeeed4c9 100644
--- a/etc/caseDicts/postProcessing/fields/PecletNo
+++ b/etc/caseDicts/postProcessing/fields/PecletNo
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/fields/R b/etc/caseDicts/postProcessing/fields/R
index c85005ddc5..bb3cb05bdb 100644
--- a/etc/caseDicts/postProcessing/fields/R
+++ b/etc/caseDicts/postProcessing/fields/R
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/fields/XiReactionRate b/etc/caseDicts/postProcessing/fields/XiReactionRate
index 7013a0d9e0..19f978d7df 100644
--- a/etc/caseDicts/postProcessing/fields/XiReactionRate
+++ b/etc/caseDicts/postProcessing/fields/XiReactionRate
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/fields/components b/etc/caseDicts/postProcessing/fields/components
index e6ee7372ae..3098e00898 100644
--- a/etc/caseDicts/postProcessing/fields/components
+++ b/etc/caseDicts/postProcessing/fields/components
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/fields/div b/etc/caseDicts/postProcessing/fields/div
index c13a9e694d..450a8ff987 100644
--- a/etc/caseDicts/postProcessing/fields/div
+++ b/etc/caseDicts/postProcessing/fields/div
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/fields/enstrophy b/etc/caseDicts/postProcessing/fields/enstrophy
index 2693f08d73..7a7fc19aa1 100644
--- a/etc/caseDicts/postProcessing/fields/enstrophy
+++ b/etc/caseDicts/postProcessing/fields/enstrophy
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/fields/flowType b/etc/caseDicts/postProcessing/fields/flowType
index a242afb181..44253d510b 100644
--- a/etc/caseDicts/postProcessing/fields/flowType
+++ b/etc/caseDicts/postProcessing/fields/flowType
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/fields/grad b/etc/caseDicts/postProcessing/fields/grad
index 9e3dab749b..64c2b278f7 100644
--- a/etc/caseDicts/postProcessing/fields/grad
+++ b/etc/caseDicts/postProcessing/fields/grad
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/fields/mag b/etc/caseDicts/postProcessing/fields/mag
index 5f3d448a15..8ed2e5a7cb 100644
--- a/etc/caseDicts/postProcessing/fields/mag
+++ b/etc/caseDicts/postProcessing/fields/mag
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/fields/magSqr b/etc/caseDicts/postProcessing/fields/magSqr
index 8a1c6c8e21..9ffe3cc1d4 100644
--- a/etc/caseDicts/postProcessing/fields/magSqr
+++ b/etc/caseDicts/postProcessing/fields/magSqr
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/fields/randomise b/etc/caseDicts/postProcessing/fields/randomise
index 490e2b0bc4..d6c36678a5 100644
--- a/etc/caseDicts/postProcessing/fields/randomise
+++ b/etc/caseDicts/postProcessing/fields/randomise
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/fields/randomise.cfg b/etc/caseDicts/postProcessing/fields/randomise.cfg
index f4a8f49f5a..bc2a0c6394 100644
--- a/etc/caseDicts/postProcessing/fields/randomise.cfg
+++ b/etc/caseDicts/postProcessing/fields/randomise.cfg
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
diff --git a/etc/caseDicts/postProcessing/fields/streamFunction b/etc/caseDicts/postProcessing/fields/streamFunction
index 362e8f0dbb..125692f7aa 100644
--- a/etc/caseDicts/postProcessing/fields/streamFunction
+++ b/etc/caseDicts/postProcessing/fields/streamFunction
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/fields/turbulenceFields b/etc/caseDicts/postProcessing/fields/turbulenceFields
index c49d351c3e..8945cbe0ee 100644
--- a/etc/caseDicts/postProcessing/fields/turbulenceFields
+++ b/etc/caseDicts/postProcessing/fields/turbulenceFields
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/fields/vorticity b/etc/caseDicts/postProcessing/fields/vorticity
index 78bc976309..4edd87fc94 100644
--- a/etc/caseDicts/postProcessing/fields/vorticity
+++ b/etc/caseDicts/postProcessing/fields/vorticity
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/fields/wallHeatFlux b/etc/caseDicts/postProcessing/fields/wallHeatFlux
index 9e7ef4a69b..84a773e464 100644
--- a/etc/caseDicts/postProcessing/fields/wallHeatFlux
+++ b/etc/caseDicts/postProcessing/fields/wallHeatFlux
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/fields/wallShearStress b/etc/caseDicts/postProcessing/fields/wallShearStress
index 95d66dfac6..a1802f4fc5 100644
--- a/etc/caseDicts/postProcessing/fields/wallShearStress
+++ b/etc/caseDicts/postProcessing/fields/wallShearStress
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/fields/writeCellCentres b/etc/caseDicts/postProcessing/fields/writeCellCentres
index f8824910c7..c68960077b 100644
--- a/etc/caseDicts/postProcessing/fields/writeCellCentres
+++ b/etc/caseDicts/postProcessing/fields/writeCellCentres
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/fields/writeCellVolumes b/etc/caseDicts/postProcessing/fields/writeCellVolumes
index bff6f9ec6d..23965cd7aa 100644
--- a/etc/caseDicts/postProcessing/fields/writeCellVolumes
+++ b/etc/caseDicts/postProcessing/fields/writeCellVolumes
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/fields/writeObjects b/etc/caseDicts/postProcessing/fields/writeObjects
index 4d43d713cc..d0e949e339 100644
--- a/etc/caseDicts/postProcessing/fields/writeObjects
+++ b/etc/caseDicts/postProcessing/fields/writeObjects
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/fields/yPlus b/etc/caseDicts/postProcessing/fields/yPlus
index 894971a8e5..eeef037791 100644
--- a/etc/caseDicts/postProcessing/fields/yPlus
+++ b/etc/caseDicts/postProcessing/fields/yPlus
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/solvers/scalarTransport/scalarTransport b/etc/caseDicts/postProcessing/solvers/scalarTransport/scalarTransport
index d5d71b7fc7..132f56d75c 100644
--- a/etc/caseDicts/postProcessing/solvers/scalarTransport/scalarTransport
+++ b/etc/caseDicts/postProcessing/solvers/scalarTransport/scalarTransport
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/solvers/scalarTransport/scalarTransport.cfg b/etc/caseDicts/postProcessing/solvers/scalarTransport/scalarTransport.cfg
index 5574f2a6dd..75f0e1f282 100644
--- a/etc/caseDicts/postProcessing/solvers/scalarTransport/scalarTransport.cfg
+++ b/etc/caseDicts/postProcessing/solvers/scalarTransport/scalarTransport.cfg
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
diff --git a/etc/caseDicts/postProcessing/surfaceFieldValue/faceZone.cfg b/etc/caseDicts/postProcessing/surfaceFieldValue/faceZone.cfg
index 1b6fe1dc62..420edca39d 100644
--- a/etc/caseDicts/postProcessing/surfaceFieldValue/faceZone.cfg
+++ b/etc/caseDicts/postProcessing/surfaceFieldValue/faceZone.cfg
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
diff --git a/etc/caseDicts/postProcessing/surfaceFieldValue/patch.cfg b/etc/caseDicts/postProcessing/surfaceFieldValue/patch.cfg
index e84c077a29..d8a92f0c07 100644
--- a/etc/caseDicts/postProcessing/surfaceFieldValue/patch.cfg
+++ b/etc/caseDicts/postProcessing/surfaceFieldValue/patch.cfg
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
diff --git a/etc/caseDicts/postProcessing/surfaceFieldValue/patchAverage b/etc/caseDicts/postProcessing/surfaceFieldValue/patchAverage
index 6ab61f5f9c..5ad1f3ca7e 100644
--- a/etc/caseDicts/postProcessing/surfaceFieldValue/patchAverage
+++ b/etc/caseDicts/postProcessing/surfaceFieldValue/patchAverage
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/surfaceFieldValue/patchIntegrate b/etc/caseDicts/postProcessing/surfaceFieldValue/patchIntegrate
index f2c4572468..e1e0efd904 100644
--- a/etc/caseDicts/postProcessing/surfaceFieldValue/patchIntegrate
+++ b/etc/caseDicts/postProcessing/surfaceFieldValue/patchIntegrate
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/etc/caseDicts/postProcessing/surfaceFieldValue/surfaceRegion.cfg b/etc/caseDicts/postProcessing/surfaceFieldValue/surfaceRegion.cfg
index 2d8535259d..009a1bd156 100644
--- a/etc/caseDicts/postProcessing/surfaceFieldValue/surfaceRegion.cfg
+++ b/etc/caseDicts/postProcessing/surfaceFieldValue/surfaceRegion.cfg
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
diff --git a/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H b/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H
index 40a626c30f..97d94cadfd 100644
--- a/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H
+++ b/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H
@@ -139,10 +139,10 @@ class functionObject
     // Private Member Functions
 
         //- Disallow default bitwise copy construct
-        functionObject(const functionObject&);
+        functionObject(const functionObject&) = delete;
 
         //- Disallow default bitwise assignment
-        void operator=(const functionObject&);
+        void operator=(const functionObject&) = delete;
 
 
 public:
diff --git a/src/OpenFOAM/db/functionObjects/regionFunctionObject/regionFunctionObject.H b/src/OpenFOAM/db/functionObjects/regionFunctionObject/regionFunctionObject.H
index 9af84c0f87..e9be6e3487 100644
--- a/src/OpenFOAM/db/functionObjects/regionFunctionObject/regionFunctionObject.H
+++ b/src/OpenFOAM/db/functionObjects/regionFunctionObject/regionFunctionObject.H
@@ -80,10 +80,11 @@ protected:
         const ObjectType& lookupObject(const word& fieldName) const;
 
         //- Store the given field in the objectRegistry under the given name
+        //  Note: sets the fieldName to tfield().name() if not already set
         template<class ObjectType>
         bool store
         (
-            const word& fieldName,
+            word& fieldName,
             const tmp<ObjectType>& tfield,
             bool cacheable = false
         );
diff --git a/src/OpenFOAM/db/functionObjects/regionFunctionObject/regionFunctionObjectTemplates.C b/src/OpenFOAM/db/functionObjects/regionFunctionObject/regionFunctionObjectTemplates.C
index 76327e4d20..5c803a73df 100644
--- a/src/OpenFOAM/db/functionObjects/regionFunctionObject/regionFunctionObjectTemplates.C
+++ b/src/OpenFOAM/db/functionObjects/regionFunctionObject/regionFunctionObjectTemplates.C
@@ -51,7 +51,7 @@ const ObjectType& Foam::functionObjects::regionFunctionObject::lookupObject
 template<class ObjectType>
 bool Foam::functionObjects::regionFunctionObject::store
 (
-    const word& fieldName,
+    word& fieldName,
     const tmp<ObjectType>& tfield,
     bool cacheable
 )
@@ -90,6 +90,10 @@ bool Foam::functionObjects::regionFunctionObject::store
         {
             tfield.ref().rename(fieldName);
         }
+        else
+        {
+            fieldName = tfield().name();
+        }
 
         obr_.objectRegistry::store(tfield.ptr());
     }
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/filteredLinear2/filteredLinear2.H b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/filteredLinear2/filteredLinear2.H
index 4b36d81b97..de625085cd 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/filteredLinear2/filteredLinear2.H
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/filteredLinear2/filteredLinear2.H
@@ -54,7 +54,7 @@ namespace Foam
 {
 
 /*---------------------------------------------------------------------------*\
-                     Class filteredLinear2Limiter Declaration
+                   Class filteredLinear2Limiter Declaration
 \*---------------------------------------------------------------------------*/
 
 template<class LimiterFunc>
@@ -64,7 +64,7 @@ class filteredLinear2Limiter
 {
     // Private data
 
-        // Scaling corefficient for the gradient ratio,
+        // Scaling coefficient for the gradient ratio,
         // 0 = linear
         // 1 = fully limited
         scalar k_;
diff --git a/src/functionObjects/field/Q/Q.H b/src/functionObjects/field/Q/Q.H
index 586fd13d12..a40e71f758 100644
--- a/src/functionObjects/field/Q/Q.H
+++ b/src/functionObjects/field/Q/Q.H
@@ -46,7 +46,7 @@ Usage
     Q1
     {
         type        Q;
-        functionObjectLibs ("libutilityFunctionObjects.so");
+        libs        ("libutilityFunctionObjects.so");
         ...
     }
     \endverbatim
diff --git a/src/functionObjects/field/externalCoupled/externalCoupled.C b/src/functionObjects/field/externalCoupled/externalCoupled.C
index 6828d13e13..c4114c0745 100644
--- a/src/functionObjects/field/externalCoupled/externalCoupled.C
+++ b/src/functionObjects/field/externalCoupled/externalCoupled.C
@@ -135,19 +135,19 @@ void Foam::functionObjects::externalCoupled::removeReadFiles() const
 
     Log << type() << ": removing all read files" << endl;
 
-    forAll(regionGroupNames_, regionI)
+    forAll(regionGroupNames_, regioni)
     {
-        const word& compName = regionGroupNames_[regionI];
+        const word& compName = regionGroupNames_[regioni];
 
         const labelList& groups = regionToGroups_[compName];
         forAll(groups, i)
         {
-            label groupI = groups[i];
-            const wordRe& groupName = groupNames_[groupI];
+            label groupi = groups[i];
+            const wordRe& groupName = groupNames_[groupi];
 
-            forAll(groupReadFields_[groupI], fieldI)
+            forAll(groupReadFields_[groupi], fieldi)
             {
-                const word& fieldName = groupReadFields_[groupI][fieldI];
+                const word& fieldName = groupReadFields_[groupi][fieldi];
                 rm
                 (
                     groupDir(commsDir_, compName, groupName)
@@ -168,19 +168,19 @@ void Foam::functionObjects::externalCoupled::removeWriteFiles() const
 
     Log << type() << ": removing all write files" << endl;
 
-    forAll(regionGroupNames_, regionI)
+    forAll(regionGroupNames_, regioni)
     {
-        const word& compName = regionGroupNames_[regionI];
+        const word& compName = regionGroupNames_[regioni];
 
         const labelList& groups = regionToGroups_[compName];
         forAll(groups, i)
         {
-            label groupI = groups[i];
-            const wordRe& groupName = groupNames_[groupI];
+            label groupi = groups[i];
+            const wordRe& groupName = groupNames_[groupi];
 
-            forAll(groupReadFields_[groupI], fieldI)
+            forAll(groupReadFields_[groupi], fieldi)
             {
-                const word& fieldName = groupReadFields_[groupI][fieldI];
+                const word& fieldName = groupReadFields_[groupi][fieldi];
                 rm
                 (
                     groupDir(commsDir_, compName, groupName)
@@ -252,20 +252,20 @@ void Foam::functionObjects::externalCoupled::readColumns
 
         // Read data from file and send to destination processor
 
-        for (label procI = 0; procI < Pstream::nProcs(); procI++)
+        for (label proci = 0; proci < Pstream::nProcs(); proci++)
         {
             // Temporary storage
             List<scalarField> values(nColumns);
 
-            // Number of rows to read for processor procI
-            label procNRows = globalFaces.localSize(procI);
+            // Number of rows to read for processor proci
+            label procNRows = globalFaces.localSize(proci);
 
-            forAll(values, columnI)
+            forAll(values, columni)
             {
-                values[columnI].setSize(procNRows);
+                values[columni].setSize(procNRows);
             }
 
-            for (label rowI = 0; rowI < procNRows; rowI++)
+            for (label rowi = 0; rowi < procNRows; rowi++)
             {
                 // Get a line
                 do
@@ -273,8 +273,8 @@ void Foam::functionObjects::externalCoupled::readColumns
                     if (!masterFilePtr().good())
                     {
                         FatalIOErrorInFunction(masterFilePtr())
-                            << "Trying to read data for processor " << procI
-                            << " row " << rowI
+                            << "Trying to read data for processor " << proci
+                            << " row " << rowi
                             << ". Does your file have as many rows as there are"
                             << " patch faces (" << globalFaces.size()
                             << ") ?" << exit(FatalIOError);
@@ -285,14 +285,14 @@ void Foam::functionObjects::externalCoupled::readColumns
 
                 IStringStream lineStr(line);
 
-                for (label columnI = 0; columnI < nColumns; columnI++)
+                for (label columni = 0; columni < nColumns; columni++)
                 {
-                    lineStr >> values[columnI][rowI];
+                    lineStr >> values[columni][rowi];
                 }
             }
 
-            // Send to procI
-            UOPstream str(procI, pBufs);
+            // Send to proci
+            UOPstream str(proci, pBufs);
             str << values;
         }
     }
@@ -322,14 +322,14 @@ void Foam::functionObjects::externalCoupled::readLines
 
         // Read line from file and send to destination processor
 
-        for (label procI = 0; procI < Pstream::nProcs(); procI++)
+        for (label proci = 0; proci < Pstream::nProcs(); proci++)
         {
-            // Number of rows to read for processor procI
-            label procNRows = globalFaces.localSize(procI);
+            // Number of rows to read for processor proci
+            label procNRows = globalFaces.localSize(proci);
 
-            UOPstream toProc(procI, pBufs);
+            UOPstream toProc(proci, pBufs);
 
-            for (label rowI = 0; rowI < procNRows; rowI++)
+            for (label rowi = 0; rowi < procNRows; rowi++)
             {
                 // Get a line
                 do
@@ -337,8 +337,8 @@ void Foam::functionObjects::externalCoupled::readLines
                     if (!masterFilePtr().good())
                     {
                         FatalIOErrorInFunction(masterFilePtr())
-                            << "Trying to read data for processor " << procI
-                            << " row " << rowI
+                            << "Trying to read data for processor " << proci
+                            << " row " << rowi
                             << ". Does your file have as many rows as there are"
                             << " patch faces (" << globalFaces.size()
                             << ") ?" << exit(FatalIOError);
@@ -358,7 +358,7 @@ void Foam::functionObjects::externalCoupled::readLines
 
     // Read lines from PstreamBuffers
     UIPstream str(Pstream::masterNo(), pBufs);
-    for (label rowI = 0; rowI < nRows; rowI++)
+    for (label rowi = 0; rowi < nRows; rowi++)
     {
         string line(str);
         lines << line.c_str() << nl;
@@ -399,9 +399,9 @@ void Foam::functionObjects::externalCoupled::writeGeometry
     DynamicList<face> allMeshesFaces;
     DynamicField<point> allMeshesPoints;
 
-    forAll(meshes, meshI)
+    forAll(meshes, meshi)
     {
-        const fvMesh& mesh = meshes[meshI];
+        const fvMesh& mesh = meshes[meshi];
         const polyBoundaryMesh& pbm = mesh.boundaryMesh();
 
         const labelList patchIDs
@@ -422,9 +422,9 @@ void Foam::functionObjects::externalCoupled::writeGeometry
         {
             const polyPatch& p = pbm[patchIDs[i]];
 
-            forAll(p, pI)
+            forAll(p, pi)
             {
-                allFaceIDs.append(p.start()+pI);
+                allFaceIDs.append(p.start()+pi);
             }
         }
 
@@ -445,18 +445,18 @@ void Foam::functionObjects::externalCoupled::writeGeometry
             uniquePointIDs
         );
 
-        label procI = Pstream::myProcNo();
+        label proci = Pstream::myProcNo();
 
         List<pointField> collectedPoints(Pstream::nProcs());
-        collectedPoints[procI] = pointField(mesh.points(), uniquePointIDs);
+        collectedPoints[proci] = pointField(mesh.points(), uniquePointIDs);
         Pstream::gatherList(collectedPoints);
 
         List<faceList> collectedFaces(Pstream::nProcs());
-        faceList& patchFaces = collectedFaces[procI];
+        faceList& patchFaces = collectedFaces[proci];
         patchFaces = allPatch.localFaces();
-        forAll(patchFaces, faceI)
+        forAll(patchFaces, facei)
         {
-            inplaceRenumber(pointToGlobal, patchFaces[faceI]);
+            inplaceRenumber(pointToGlobal, patchFaces[facei]);
         }
         Pstream::gatherList(collectedFaces);
 
@@ -465,19 +465,19 @@ void Foam::functionObjects::externalCoupled::writeGeometry
             // Append and renumber
             label nPoints = allMeshesPoints.size();
 
-            forAll(collectedPoints, procI)
+            forAll(collectedPoints, proci)
             {
-                allMeshesPoints.append(collectedPoints[procI]);
+                allMeshesPoints.append(collectedPoints[proci]);
 
             }
             face newFace;
-            forAll(collectedFaces, procI)
+            forAll(collectedFaces, proci)
             {
-                const faceList& procFaces = collectedFaces[procI];
+                const faceList& procFaces = collectedFaces[proci];
 
-                forAll(procFaces, faceI)
+                forAll(procFaces, facei)
                 {
-                    const face& f = procFaces[faceI];
+                    const face& f = procFaces[facei];
 
                     newFace.setSize(f.size());
                     forAll(f, fp)
@@ -487,7 +487,7 @@ void Foam::functionObjects::externalCoupled::writeGeometry
                     allMeshesFaces.append(newFace);
                 }
 
-                nPoints += collectedPoints[procI].size();
+                nPoints += collectedPoints[proci].size();
             }
         }
 
@@ -573,10 +573,10 @@ void Foam::functionObjects::externalCoupled::checkOrder
 
 void Foam::functionObjects::externalCoupled::readData()
 {
-    forAll(regionGroupNames_, regionI)
+    forAll(regionGroupNames_, regioni)
     {
-        const word& compName = regionGroupNames_[regionI];
-        const wordList& regionNames = regionGroupRegions_[regionI];
+        const word& compName = regionGroupNames_[regioni];
+        const wordList& regionNames = regionGroupRegions_[regioni];
 
         // Get the meshes for the region-group
         UPtrList<const fvMesh> meshes(regionNames.size());
@@ -590,13 +590,13 @@ void Foam::functionObjects::externalCoupled::readData()
 
         forAll(groups, i)
         {
-            label groupI = groups[i];
-            const wordRe& groupName = groupNames_[groupI];
-            const wordList& fieldNames = groupReadFields_[groupI];
+            label groupi = groups[i];
+            const wordRe& groupName = groupNames_[groupi];
+            const wordList& fieldNames = groupReadFields_[groupi];
 
-            forAll(fieldNames, fieldI)
+            forAll(fieldNames, fieldi)
             {
-                const word& fieldName = fieldNames[fieldI];
+                const word& fieldName = fieldNames[fieldi];
 
                 bool ok = readData<scalar>
                 (
@@ -643,10 +643,10 @@ void Foam::functionObjects::externalCoupled::readData()
 
 void Foam::functionObjects::externalCoupled::writeData() const
 {
-    forAll(regionGroupNames_, regionI)
+    forAll(regionGroupNames_, regioni)
     {
-        const word& compName = regionGroupNames_[regionI];
-        const wordList& regionNames = regionGroupRegions_[regionI];
+        const word& compName = regionGroupNames_[regioni];
+        const wordList& regionNames = regionGroupRegions_[regioni];
 
         // Get the meshes for the region-group
         UPtrList<const fvMesh> meshes(regionNames.size());
@@ -660,13 +660,13 @@ void Foam::functionObjects::externalCoupled::writeData() const
 
         forAll(groups, i)
         {
-            label groupI = groups[i];
-            const wordRe& groupName = groupNames_[groupI];
-            const wordList& fieldNames = groupWriteFields_[groupI];
+            label groupi = groups[i];
+            const wordRe& groupName = groupNames_[groupi];
+            const wordList& fieldNames = groupWriteFields_[groupi];
 
-            forAll(fieldNames, fieldI)
+            forAll(fieldNames, fieldi)
             {
-                const word& fieldName = fieldNames[fieldI];
+                const word& fieldName = fieldNames[fieldi];
 
                 bool ok = writeData<scalar>
                 (
@@ -736,8 +736,8 @@ void Foam::functionObjects::externalCoupled::initialise()
 
         forAll(groups, i)
         {
-            label groupI = groups[i];
-            const wordRe& groupName = groupNames_[groupI];
+            label groupi = groups[i];
+            const wordRe& groupName = groupNames_[groupi];
 
             bool exists = false;
             if (Pstream::master())
@@ -938,26 +938,26 @@ bool Foam::functionObjects::externalCoupled::read(const dictionary& dict)
     if (log)
     {
         Info<< type() << ": Communicating with regions:" << endl;
-        forAll(regionGroupNames_, rgI)
+        forAll(regionGroupNames_, rgi)
         {
-            //const wordList& regionNames = regionGroupRegions_[rgI];
-            const word& compName = regionGroupNames_[rgI];
+            //const wordList& regionNames = regionGroupRegions_[rgi];
+            const word& compName = regionGroupNames_[rgi];
 
             Info<< "Region: " << compName << endl << incrIndent;
             const labelList& groups = regionToGroups_[compName];
             forAll(groups, i)
             {
-                label groupI = groups[i];
-                const wordRe& groupName = groupNames_[groupI];
+                label groupi = groups[i];
+                const wordRe& groupName = groupNames_[groupi];
 
                 Info<< indent << "patchGroup: " << groupName << "\t"
                     << endl
                     << incrIndent
                     << indent << "Reading fields: "
-                    << groupReadFields_[groupI]
+                    << groupReadFields_[groupi]
                     << endl
                     << indent << "Writing fields: "
-                    << groupWriteFields_[groupI]
+                    << groupWriteFields_[groupi]
                     << endl
                     << decrIndent;
             }
@@ -971,15 +971,15 @@ bool Foam::functionObjects::externalCoupled::read(const dictionary& dict)
     //       should already be written - but just make sure
     if (Pstream::master())
     {
-        forAll(regionGroupNames_, rgI)
+        forAll(regionGroupNames_, rgi)
         {
-            const word& compName = regionGroupNames_[rgI];
+            const word& compName = regionGroupNames_[rgi];
 
             const labelList& groups = regionToGroups_[compName];
             forAll(groups, i)
             {
-                label groupI = groups[i];
-                const wordRe& groupName = groupNames_[groupI];
+                label groupi = groups[i];
+                const wordRe& groupName = groupNames_[groupi];
 
                 fileName dir(groupDir(commsDir_, compName, groupName));
                 if (!isDir(dir))
diff --git a/src/functionObjects/field/externalCoupled/externalCoupledMixed/externalCoupledMixedFvPatchField.C b/src/functionObjects/field/externalCoupled/externalCoupledMixed/externalCoupledMixedFvPatchField.C
index 17587fc9a5..84117274b0 100644
--- a/src/functionObjects/field/externalCoupled/externalCoupledMixed/externalCoupledMixedFvPatchField.C
+++ b/src/functionObjects/field/externalCoupled/externalCoupledMixed/externalCoupledMixedFvPatchField.C
@@ -126,13 +126,13 @@ void Foam::externalCoupledMixedFvPatchField<Type>::writeData
     const Field<Type>& refGrad(this->refGrad());
     const scalarField& valueFraction(this->valueFraction());
 
-    forAll(refValue, faceI)
+    forAll(refValue, facei)
     {
-        os  << this->operator[](faceI) << token::SPACE
-            << snGrad[faceI] << token::SPACE
-            << refValue[faceI] << token::SPACE
-            << refGrad[faceI] << token::SPACE
-            << valueFraction[faceI] << nl;
+        os  << this->operator[](facei) << token::SPACE
+            << snGrad[facei] << token::SPACE
+            << refValue[facei] << token::SPACE
+            << refGrad[facei] << token::SPACE
+            << valueFraction[facei] << nl;
     }
 }
 
@@ -146,7 +146,7 @@ void Foam::externalCoupledMixedFvPatchField<Type>::readData(Istream& is)
 
     string line;
 
-    forAll(*this, faceI)
+    forAll(*this, facei)
     {
         iss.getLine(line);
         IStringStream lineStr(line);
@@ -158,9 +158,9 @@ void Foam::externalCoupledMixedFvPatchField<Type>::readData(Istream& is)
         lineStr
             >> value
             >> snGrad
-            >> this->refValue()[faceI]
-            >> this->refGrad()[faceI]
-            >> this->valueFraction()[faceI];
+            >> this->refValue()[facei]
+            >> this->refGrad()[facei]
+            >> this->valueFraction()[facei];
     }
 }
 
diff --git a/src/functionObjects/field/externalCoupled/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C b/src/functionObjects/field/externalCoupled/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C
index b86ada4409..70128b8800 100644
--- a/src/functionObjects/field/externalCoupled/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C
+++ b/src/functionObjects/field/externalCoupled/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C
@@ -145,7 +145,7 @@ void Foam::externalCoupledTemperatureMixedFvPatchScalarField::writeData
     Ostream& os
 ) const
 {
-    const label patchI = patch().index();
+    const label patchi = patch().index();
 
     // Heat flux [W/m2]
     scalarField qDot(this->patch().size(), 0.0);
@@ -170,17 +170,17 @@ void Foam::externalCoupledTemperatureMixedFvPatchScalarField::writeData
 
         const basicThermo& thermo = turbModel.transport();
 
-        const fvPatchScalarField& hep = thermo.he().boundaryField()[patchI];
+        const fvPatchScalarField& hep = thermo.he().boundaryField()[patchi];
 
-        qDot = turbModel.alphaEff(patchI)*hep.snGrad();
+        qDot = turbModel.alphaEff(patchi)*hep.snGrad();
     }
     else if (db().foundObject<basicThermo>(thermoName))
     {
         const basicThermo& thermo = db().lookupObject<basicThermo>(thermoName);
 
-        const fvPatchScalarField& hep = thermo.he().boundaryField()[patchI];
+        const fvPatchScalarField& hep = thermo.he().boundaryField()[patchi];
 
-        qDot = thermo.alpha().boundaryField()[patchI]*hep.snGrad();
+        qDot = thermo.alpha().boundaryField()[patchi]*hep.snGrad();
     }
     else
     {
@@ -200,12 +200,12 @@ void Foam::externalCoupledTemperatureMixedFvPatchScalarField::writeData
 
     const Field<scalar>& magSf(this->patch().magSf());
 
-    forAll(patch(), faceI)
+    forAll(patch(), facei)
     {
-        os  << magSf[faceI] << token::SPACE
-            << Tp[faceI] << token::SPACE
-            << qDot[faceI] << token::SPACE
-            << htc[faceI] << token::SPACE
+        os  << magSf[facei] << token::SPACE
+            << Tp[facei] << token::SPACE
+            << qDot[facei] << token::SPACE
+            << htc[facei] << token::SPACE
             << nl;
     }
 }
@@ -222,15 +222,15 @@ void Foam::externalCoupledTemperatureMixedFvPatchScalarField::readData
 
     string line;
 
-    forAll(*this, faceI)
+    forAll(*this, facei)
     {
         iss.getLine(line);
         IStringStream lineStr(line);
 
         lineStr
-            >> this->refValue()[faceI]
-            >> this->refGrad()[faceI]
-            >> this->valueFraction()[faceI];
+            >> this->refValue()[facei]
+            >> this->refGrad()[facei]
+            >> this->valueFraction()[facei];
     }
 }
 
diff --git a/src/functionObjects/field/externalCoupled/externalCoupledTemplates.C b/src/functionObjects/field/externalCoupled/externalCoupledTemplates.C
index 997dfffd3e..9daa4c49df 100644
--- a/src/functionObjects/field/externalCoupled/externalCoupledTemplates.C
+++ b/src/functionObjects/field/externalCoupled/externalCoupledTemplates.C
@@ -110,9 +110,9 @@ bool Foam::functionObjects::externalCoupled::readData
         // Handle column-wise reading of patch data. Supports most easy types
         forAll(patchIDs, i)
         {
-            label patchI = patchIDs[i];
+            label patchi = patchIDs[i];
 
-            if (isA<patchFieldType>(bf[patchI]))
+            if (isA<patchFieldType>(bf[patchi]))
             {
                 // Explicit handling of externalCoupledMixed bcs - they
                 // have specialised reading routines.
@@ -121,7 +121,7 @@ bool Foam::functionObjects::externalCoupled::readData
                 (
                     refCast<const patchFieldType>
                     (
-                        bf[patchI]
+                        bf[patchi]
                     )
                 );
 
@@ -129,7 +129,7 @@ bool Foam::functionObjects::externalCoupled::readData
                 OStringStream os;
                 readLines
                 (
-                    bf[patchI].size(),      // number of lines to read
+                    bf[patchi].size(),      // number of lines to read
                     masterFilePtr,
                     os
                 );
@@ -141,14 +141,14 @@ bool Foam::functionObjects::externalCoupled::readData
                 // additional processing by derived type.
                 pf.patchFieldType::evaluate();
             }
-            else if (isA<mixedFvPatchField<Type>>(bf[patchI]))
+            else if (isA<mixedFvPatchField<Type>>(bf[patchi]))
             {
                 // Read columns from file for
                 // value, snGrad, refValue, refGrad, valueFraction
                 List<scalarField> data;
                 readColumns
                 (
-                    bf[patchI].size(),              // number of lines to read
+                    bf[patchi].size(),              // number of lines to read
                     4*pTraits<Type>::nComponents+1, // nColumns: 4*Type+1*scalar
                     masterFilePtr,
                     data
@@ -159,13 +159,13 @@ bool Foam::functionObjects::externalCoupled::readData
                 (
                     refCast<const mixedFvPatchField<Type>>
                     (
-                        bf[patchI]
+                        bf[patchi]
                     )
                 );
 
                 // Transfer read data to bc.
                 // Skip value, snGrad
-                direction columnI = 2*pTraits<Type>::nComponents;
+                direction columni = 2*pTraits<Type>::nComponents;
 
                 Field<Type>& refValue = pf.refValue();
                 for
@@ -175,7 +175,7 @@ bool Foam::functionObjects::externalCoupled::readData
                     cmpt++
                 )
                 {
-                    refValue.replace(cmpt, data[columnI++]);
+                    refValue.replace(cmpt, data[columni++]);
                 }
                 Field<Type>& refGrad = pf.refGrad();
                 for
@@ -185,21 +185,21 @@ bool Foam::functionObjects::externalCoupled::readData
                     cmpt++
                 )
                 {
-                    refGrad.replace(cmpt, data[columnI++]);
+                    refGrad.replace(cmpt, data[columni++]);
                 }
-                pf.valueFraction() = data[columnI];
+                pf.valueFraction() = data[columni];
 
                 // Update the value from the read coefficicient. Bypass any
                 // additional processing by derived type.
                 pf.mixedFvPatchField<Type>::evaluate();
             }
-            else if (isA<fixedGradientFvPatchField<Type>>(bf[patchI]))
+            else if (isA<fixedGradientFvPatchField<Type>>(bf[patchi]))
             {
                 // Read columns for value and gradient
                 List<scalarField> data;
                 readColumns
                 (
-                    bf[patchI].size(),              // number of lines to read
+                    bf[patchi].size(),              // number of lines to read
                     2*pTraits<Type>::nComponents,   // nColumns: Type
                     masterFilePtr,
                     data
@@ -210,7 +210,7 @@ bool Foam::functionObjects::externalCoupled::readData
                 (
                     refCast<const fixedGradientFvPatchField<Type>>
                     (
-                        bf[patchI]
+                        bf[patchi]
                     )
                 );
 
@@ -234,20 +234,20 @@ bool Foam::functionObjects::externalCoupled::readData
                 // additional processing by derived type.
                 pf.fixedGradientFvPatchField<Type>::evaluate();
             }
-            else if (isA<fixedValueFvPatchField<Type>>(bf[patchI]))
+            else if (isA<fixedValueFvPatchField<Type>>(bf[patchi]))
             {
                 // Read columns for value only
                 List<scalarField> data;
                 readColumns
                 (
-                    bf[patchI].size(),              // number of lines to read
+                    bf[patchi].size(),              // number of lines to read
                     pTraits<Type>::nComponents,     // number of columns to read
                     masterFilePtr,
                     data
                 );
 
                 // Transfer read value to bc
-                Field<Type> value(bf[patchI].size());
+                Field<Type> value(bf[patchi].size());
                 for
                 (
                     direction cmpt = 0;
@@ -263,7 +263,7 @@ bool Foam::functionObjects::externalCoupled::readData
                 (
                     refCast<const fixedValueFvPatchField<Type>>
                     (
-                        bf[patchI]
+                        bf[patchi]
                     )
                 );
 
@@ -276,8 +276,8 @@ bool Foam::functionObjects::externalCoupled::readData
             else
             {
                 FatalErrorInFunction
-                    << "Unsupported boundary condition " << bf[patchI].type()
-                    << " for patch " << bf[patchI].patch().name()
+                    << "Unsupported boundary condition " << bf[patchi].type()
+                    << " for patch " << bf[patchi].patch().name()
                     << " in region " << mesh.name()
                     << exit(FatalError);
             }
@@ -309,24 +309,24 @@ Foam::functionObjects::externalCoupled::gatherAndCombine
     if (Pstream::master())
     {
         // Combine values into single field
-        label globalElemI = 0;
+        label globalElemi = 0;
 
-        forAll(gatheredValues, lstI)
+        forAll(gatheredValues, lsti)
         {
-            globalElemI += gatheredValues[lstI].size();
+            globalElemi += gatheredValues[lsti].size();
         }
 
-        result.setSize(globalElemI);
+        result.setSize(globalElemi);
 
-        globalElemI = 0;
+        globalElemi = 0;
 
-        forAll(gatheredValues, lstI)
+        forAll(gatheredValues, lsti)
         {
-            const Field<Type>& sub = gatheredValues[lstI];
+            const Field<Type>& sub = gatheredValues[lsti];
 
-            forAll(sub, elemI)
+            forAll(sub, elemi)
             {
-                result[globalElemI++] = sub[elemI];
+                result[globalElemi++] = sub[elemi];
             }
         }
     }
@@ -408,18 +408,18 @@ bool Foam::functionObjects::externalCoupled::writeData
         // Handle column-wise writing of patch data. Supports most easy types
         forAll(patchIDs, i)
         {
-            label patchI = patchIDs[i];
+            label patchi = patchIDs[i];
 
-            const globalIndex globalFaces(bf[patchI].size());
+            const globalIndex globalFaces(bf[patchi].size());
 
-            if (isA<patchFieldType>(bf[patchI]))
+            if (isA<patchFieldType>(bf[patchi]))
             {
                 // Explicit handling of externalCoupledMixed bcs - they
                 // have specialised writing routines
 
                 const patchFieldType& pf = refCast<const patchFieldType>
                 (
-                    bf[patchI]
+                    bf[patchi]
                 );
                 OStringStream os;
 
@@ -438,9 +438,9 @@ bool Foam::functionObjects::externalCoupled::writeData
                     }
                     masterFilePtr() << os.str().c_str();
 
-                    for (label procI = 1; procI < Pstream::nProcs(); procI++)
+                    for (label proci = 1; proci < Pstream::nProcs(); proci++)
                     {
-                        IPstream fromSlave(Pstream::scheduled, procI);
+                        IPstream fromSlave(Pstream::scheduled, proci);
                         string str(fromSlave);
                         masterFilePtr() << str.c_str();
                     }
@@ -451,10 +451,10 @@ bool Foam::functionObjects::externalCoupled::writeData
                     toMaster << os.str();
                 }
             }
-            else if (isA<mixedFvPatchField<Type>>(bf[patchI]))
+            else if (isA<mixedFvPatchField<Type>>(bf[patchi]))
             {
                 const mixedFvPatchField<Type>& pf =
-                    refCast<const mixedFvPatchField<Type>>(bf[patchI]);
+                    refCast<const mixedFvPatchField<Type>>(bf[patchi]);
 
                 Field<Type> value(gatherAndCombine(pf));
                 Field<Type> snGrad(gatherAndCombine(pf.snGrad()()));
@@ -464,29 +464,29 @@ bool Foam::functionObjects::externalCoupled::writeData
 
                 if (Pstream::master())
                 {
-                    forAll(refValue, faceI)
+                    forAll(refValue, facei)
                     {
                         masterFilePtr()
-                            << value[faceI] << token::SPACE
-                            << snGrad[faceI] << token::SPACE
-                            << refValue[faceI] << token::SPACE
-                            << refGrad[faceI] << token::SPACE
-                            << valueFraction[faceI] << nl;
+                            << value[facei] << token::SPACE
+                            << snGrad[facei] << token::SPACE
+                            << refValue[facei] << token::SPACE
+                            << refGrad[facei] << token::SPACE
+                            << valueFraction[facei] << nl;
                     }
                 }
             }
             else
             {
                 // Output the value and snGrad
-                Field<Type> value(gatherAndCombine(bf[patchI]));
-                Field<Type> snGrad(gatherAndCombine(bf[patchI].snGrad()()));
+                Field<Type> value(gatherAndCombine(bf[patchi]));
+                Field<Type> snGrad(gatherAndCombine(bf[patchi].snGrad()()));
                 if (Pstream::master())
                 {
-                    forAll(value, faceI)
+                    forAll(value, facei)
                     {
                         masterFilePtr()
-                            << value[faceI] << token::SPACE
-                            << snGrad[faceI] << nl;
+                            << value[facei] << token::SPACE
+                            << snGrad[facei] << nl;
                     }
                 }
             }
diff --git a/src/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C b/src/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C
index d50548bc2d..691e313821 100644
--- a/src/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C
+++ b/src/functionObjects/field/fieldMinMax/fieldMinMaxTemplates.C
@@ -151,18 +151,18 @@ void Foam::functionObjects::fieldMinMax::calcMinMaxFields
                     {
                         const vectorField& Cfp = CfBoundary[patchi];
 
-                        label minPI = findMin(mfp);
-                        if (mfp[minPI] < minVs[proci])
+                        label minPi = findMin(mfp);
+                        if (mfp[minPi] < minVs[proci])
                         {
-                            minVs[proci] = mfp[minPI];
-                            minCs[proci] = Cfp[minPI];
+                            minVs[proci] = mfp[minPi];
+                            minCs[proci] = Cfp[minPi];
                         }
 
-                        label maxPI = findMax(mfp);
-                        if (mfp[maxPI] > maxVs[proci])
+                        label maxPi = findMax(mfp);
+                        if (mfp[maxPi] > maxVs[proci])
                         {
-                            maxVs[proci] = mfp[maxPI];
-                            maxCs[proci] = Cfp[maxPI];
+                            maxVs[proci] = mfp[maxPi];
+                            maxCs[proci] = Cfp[maxPi];
                         }
                     }
                 }
diff --git a/src/functionObjects/field/fieldValues/volFieldValue/volFieldValue.C b/src/functionObjects/field/fieldValues/volFieldValue/volFieldValue.C
index faabae815f..b2f57b2b87 100644
--- a/src/functionObjects/field/fieldValues/volFieldValue/volFieldValue.C
+++ b/src/functionObjects/field/fieldValues/volFieldValue/volFieldValue.C
@@ -89,21 +89,20 @@ void Foam::functionObjects::fieldValues::volFieldValue::initialise
 
 void Foam::functionObjects::fieldValues::volFieldValue::writeFileHeader
 (
-    const label i
-)
+    Ostream& os
+) const
 {
-    volRegion::writeFileHeader(*this, file());
+    volRegion::writeFileHeader(*this, os);
 
-    writeCommented(file(), "Time");
+    writeCommented(os, "Time");
 
     forAll(fields_, fieldi)
     {
-        file()
-            << tab << operationTypeNames_[operation_]
+        os  << tab << operationTypeNames_[operation_]
             << "(" << fields_[fieldi] << ")";
     }
 
-    file() << endl;
+    os  << endl;
 }
 
 
@@ -122,6 +121,7 @@ Foam::functionObjects::fieldValues::volFieldValue::volFieldValue
     weightFieldName_("none")
 {
     read(dict);
+    writeFileHeader(file());
 }
 
 
diff --git a/src/functionObjects/field/fieldValues/volFieldValue/volFieldValue.H b/src/functionObjects/field/fieldValues/volFieldValue/volFieldValue.H
index 69643720d8..adb7d4dcd9 100644
--- a/src/functionObjects/field/fieldValues/volFieldValue/volFieldValue.H
+++ b/src/functionObjects/field/fieldValues/volFieldValue/volFieldValue.H
@@ -189,7 +189,7 @@ protected:
         ) const;
 
         //- Output file header information
-        virtual void writeFileHeader(const label i);
+        virtual void writeFileHeader(Ostream& os) const;
 
 
 public:
diff --git a/src/functionObjects/field/fluxSummary/fluxSummary.C b/src/functionObjects/field/fluxSummary/fluxSummary.C
index 8067807697..33facd5d13 100644
--- a/src/functionObjects/field/fluxSummary/fluxSummary.C
+++ b/src/functionObjects/field/fluxSummary/fluxSummary.C
@@ -81,9 +81,9 @@ void Foam::functionObjects::fluxSummary::initialiseFaceZone
 {
     const fvMesh& mesh = refCast<const fvMesh>(obr_);
 
-    label zoneI = mesh.faceZones().findZoneID(faceZoneName);
+    label zonei = mesh.faceZones().findZoneID(faceZoneName);
 
-    if (zoneI == -1)
+    if (zonei == -1)
     {
         FatalErrorInFunction
             << "Unable to find faceZone " << faceZoneName
@@ -93,7 +93,7 @@ void Foam::functionObjects::fluxSummary::initialiseFaceZone
 
     faceZoneNames.append(faceZoneName);
 
-    const faceZone& fZone = mesh.faceZones()[zoneI];
+    const faceZone& fZone = mesh.faceZones()[zonei];
 
     DynamicList<label> faceIDs(fZone.size());
     DynamicList<label> facePatchIDs(fZone.size());
@@ -101,24 +101,24 @@ void Foam::functionObjects::fluxSummary::initialiseFaceZone
 
     forAll(fZone, i)
     {
-        label faceI = fZone[i];
+        label facei = fZone[i];
 
         label faceID = -1;
         label facePatchID = -1;
-        if (mesh.isInternalFace(faceI))
+        if (mesh.isInternalFace(facei))
         {
-            faceID = faceI;
+            faceID = facei;
             facePatchID = -1;
         }
         else
         {
-            facePatchID = mesh.boundaryMesh().whichPatch(faceI);
+            facePatchID = mesh.boundaryMesh().whichPatch(facei);
             const polyPatch& pp = mesh.boundaryMesh()[facePatchID];
             if (isA<coupledPolyPatch>(pp))
             {
                 if (refCast<const coupledPolyPatch>(pp).owner())
                 {
-                    faceID = pp.whichFace(faceI);
+                    faceID = pp.whichFace(facei);
                 }
                 else
                 {
@@ -127,7 +127,7 @@ void Foam::functionObjects::fluxSummary::initialiseFaceZone
             }
             else if (!isA<emptyPolyPatch>(pp))
             {
-                faceID = faceI - pp.start();
+                faceID = facei - pp.start();
             }
             else
             {
@@ -139,7 +139,7 @@ void Foam::functionObjects::fluxSummary::initialiseFaceZone
         if (faceID >= 0)
         {
             // Orientation set by faceZone flip map
-            if (fZone.flipMap()[faceI])
+            if (fZone.flipMap()[facei])
             {
                 faceSigns.append(-1);
             }
@@ -174,9 +174,9 @@ void Foam::functionObjects::fluxSummary::initialiseFaceZoneAndDirection
 
     vector refDir = dir/(mag(dir) + ROOTVSMALL);
 
-    label zoneI = mesh.faceZones().findZoneID(faceZoneName);
+    label zonei = mesh.faceZones().findZoneID(faceZoneName);
 
-    if (zoneI == -1)
+    if (zonei == -1)
     {
          FatalErrorInFunction
             << "Unable to find faceZone " << faceZoneName
@@ -187,7 +187,7 @@ void Foam::functionObjects::fluxSummary::initialiseFaceZoneAndDirection
     faceZoneNames.append(faceZoneName);
     zoneRefDir.append(refDir);
 
-    const faceZone& fZone = mesh.faceZones()[zoneI];
+    const faceZone& fZone = mesh.faceZones()[zonei];
 
     DynamicList<label> faceIDs(fZone.size());
     DynamicList<label> facePatchIDs(fZone.size());
@@ -200,24 +200,24 @@ void Foam::functionObjects::fluxSummary::initialiseFaceZoneAndDirection
 
     forAll(fZone, i)
     {
-        label faceI = fZone[i];
+        label facei = fZone[i];
 
         label faceID = -1;
         label facePatchID = -1;
-        if (mesh.isInternalFace(faceI))
+        if (mesh.isInternalFace(facei))
         {
-            faceID = faceI;
+            faceID = facei;
             facePatchID = -1;
         }
         else
         {
-            facePatchID = mesh.boundaryMesh().whichPatch(faceI);
+            facePatchID = mesh.boundaryMesh().whichPatch(facei);
             const polyPatch& pp = mesh.boundaryMesh()[facePatchID];
             if (isA<coupledPolyPatch>(pp))
             {
                 if (refCast<const coupledPolyPatch>(pp).owner())
                 {
-                    faceID = pp.whichFace(faceI);
+                    faceID = pp.whichFace(facei);
                 }
                 else
                 {
@@ -226,7 +226,7 @@ void Foam::functionObjects::fluxSummary::initialiseFaceZoneAndDirection
             }
             else if (!isA<emptyPolyPatch>(pp))
             {
-                faceID = faceI - pp.start();
+                faceID = facei - pp.start();
             }
             else
             {
@@ -283,9 +283,9 @@ void Foam::functionObjects::fluxSummary::initialiseCellZoneAndDirection
 
     vector refDir = dir/(mag(dir) + ROOTVSMALL);
 
-    const label cellZoneI = mesh.cellZones().findZoneID(cellZoneName);
+    const label cellZonei = mesh.cellZones().findZoneID(cellZoneName);
 
-    if (cellZoneI == -1)
+    if (cellZonei == -1)
     {
         FatalErrorInFunction
             << "Unable to find cellZone " << cellZoneName
@@ -297,22 +297,22 @@ void Foam::functionObjects::fluxSummary::initialiseCellZoneAndDirection
     const polyBoundaryMesh& pbm = mesh.boundaryMesh();
 
     labelList cellAddr(mesh.nCells(), -1);
-    const labelList& cellIDs = mesh.cellZones()[cellZoneI];
+    const labelList& cellIDs = mesh.cellZones()[cellZonei];
     UIndirectList<label>(cellAddr, cellIDs) = identity(cellIDs.size());
     labelList nbrFaceCellAddr(mesh.nFaces() - nInternalFaces, -1);
 
-    forAll(pbm, patchI)
+    forAll(pbm, patchi)
     {
-        const polyPatch& pp = pbm[patchI];
+        const polyPatch& pp = pbm[patchi];
 
         if (pp.coupled())
         {
             forAll(pp, i)
             {
-                label faceI = pp.start() + i;
-                label nbrFaceI = faceI - nInternalFaces;
-                label own = mesh.faceOwner()[faceI];
-                nbrFaceCellAddr[nbrFaceI] = cellAddr[own];
+                label facei = pp.start() + i;
+                label nbrFacei = facei - nInternalFaces;
+                label own = mesh.faceOwner()[facei];
+                nbrFaceCellAddr[nbrFacei] = cellAddr[own];
             }
         }
     }
@@ -327,27 +327,27 @@ void Foam::functionObjects::fluxSummary::initialiseCellZoneAndDirection
     DynamicList<scalar> faceSigns(faceIDs.size());
 
     // Internal faces
-    for (label faceI = 0; faceI < nInternalFaces; faceI++)
+    for (label facei = 0; facei < nInternalFaces; facei++)
     {
-        const label own = cellAddr[mesh.faceOwner()[faceI]];
-        const label nbr = cellAddr[mesh.faceNeighbour()[faceI]];
+        const label own = cellAddr[mesh.faceOwner()[facei]];
+        const label nbr = cellAddr[mesh.faceNeighbour()[facei]];
 
         if (((own != -1) && (nbr == -1)) || ((own == -1) && (nbr != -1)))
         {
-            vector n = mesh.faces()[faceI].normal(mesh.points());
+            vector n = mesh.faces()[facei].normal(mesh.points());
             n /= mag(n) + ROOTVSMALL;
 
             if ((n & refDir) > tolerance_)
             {
-                faceIDs.append(faceI);
-                faceLocalPatchIDs.append(faceI);
+                faceIDs.append(facei);
+                faceLocalPatchIDs.append(facei);
                 facePatchIDs.append(-1);
                 faceSigns.append(1);
             }
             else if ((n & -refDir) > tolerance_)
             {
-                faceIDs.append(faceI);
-                faceLocalPatchIDs.append(faceI);
+                faceIDs.append(facei);
+                faceLocalPatchIDs.append(facei);
                 facePatchIDs.append(-1);
                 faceSigns.append(-1);
             }
@@ -355,33 +355,33 @@ void Foam::functionObjects::fluxSummary::initialiseCellZoneAndDirection
     }
 
     // Loop over boundary faces
-    forAll(pbm, patchI)
+    forAll(pbm, patchi)
     {
-        const polyPatch& pp = pbm[patchI];
+        const polyPatch& pp = pbm[patchi];
 
-        forAll(pp, localFaceI)
+        forAll(pp, localFacei)
         {
-            const label faceI = pp.start() + localFaceI;
-            const label own = cellAddr[mesh.faceOwner()[faceI]];
-            const label nbr = nbrFaceCellAddr[faceI - nInternalFaces];
+            const label facei = pp.start() + localFacei;
+            const label own = cellAddr[mesh.faceOwner()[facei]];
+            const label nbr = nbrFaceCellAddr[facei - nInternalFaces];
 
             if ((own != -1) && (nbr == -1))
             {
-                vector n = mesh.faces()[faceI].normal(mesh.points());
+                vector n = mesh.faces()[facei].normal(mesh.points());
                 n /= mag(n) + ROOTVSMALL;
 
                 if ((n & refDir) > tolerance_)
                 {
-                    faceIDs.append(faceI);
-                    faceLocalPatchIDs.append(localFaceI);
-                    facePatchIDs.append(patchI);
+                    faceIDs.append(facei);
+                    faceLocalPatchIDs.append(localFacei);
+                    facePatchIDs.append(patchi);
                     faceSigns.append(1);
                 }
                 else if ((n & -refDir) > tolerance_)
                 {
-                    faceIDs.append(faceI);
-                    faceLocalPatchIDs.append(localFaceI);
-                    facePatchIDs.append(patchI);
+                    faceIDs.append(facei);
+                    faceLocalPatchIDs.append(localFacei);
+                    facePatchIDs.append(patchi);
                     faceSigns.append(-1);
                 }
             }
@@ -423,26 +423,26 @@ void Foam::functionObjects::fluxSummary::initialiseCellZoneAndDirection
         DynamicList<label> changedEdges;
         DynamicList<patchEdgeFaceRegion> changedInfo;
 
-        label seedFaceI = labelMax;
+        label seedFacei = labelMax;
         for (; oldFaceID < patch.size(); oldFaceID++)
         {
             if (allFaceInfo[oldFaceID].region() == -1)
             {
-                seedFaceI = globalFaces.toGlobal(oldFaceID);
+                seedFacei = globalFaces.toGlobal(oldFaceID);
                 break;
             }
         }
-        reduce(seedFaceI, minOp<label>());
+        reduce(seedFacei, minOp<label>());
 
-        if (seedFaceI == labelMax)
+        if (seedFacei == labelMax)
         {
             break;
         }
 
-        if (globalFaces.isLocal(seedFaceI))
+        if (globalFaces.isLocal(seedFacei))
         {
-            label localFaceI = globalFaces.toLocal(seedFaceI);
-            const labelList& fEdges = patch.faceEdges()[localFaceI];
+            label localFacei = globalFaces.toLocal(seedFacei);
+            const labelList& fEdges = patch.faceEdges()[localFacei];
 
             forAll(fEdges, i)
             {
@@ -479,9 +479,9 @@ void Foam::functionObjects::fluxSummary::initialiseCellZoneAndDirection
         if (debug)
         {
             label nCells = 0;
-            forAll(allFaceInfo, faceI)
+            forAll(allFaceInfo, facei)
             {
-                if (allFaceInfo[faceI].region() == regioni)
+                if (allFaceInfo[facei].region() == regioni)
                 {
                     nCells++;
                 }
@@ -521,7 +521,7 @@ void Foam::functionObjects::fluxSummary::initialiseCellZoneAndDirection
         facePatchID.append(regionFacePatchIDs[regioni]);
         faceSign.append(regionFaceSigns[regioni]);
 
-        // Write OBJ of faces to file
+        // Write OBj of faces to file
         if (debug)
         {
             OBJstream os(mesh.time().path()/zoneName + ".obj");
@@ -712,16 +712,16 @@ bool Foam::functionObjects::fluxSummary::read(const dictionary& dict)
     {
         filePtrs_.setSize(faceZoneName_.size());
 
-        forAll(filePtrs_, fileI)
+        forAll(filePtrs_, filei)
         {
-            const word& fzName = faceZoneName_[fileI];
-            filePtrs_.set(fileI, createFile(fzName));
+            const word& fzName = faceZoneName_[filei];
+            filePtrs_.set(filei, createFile(fzName));
             writeFileHeader
             (
                 fzName,
-                faceArea_[fileI],
-                refDir_[fileI],
-                filePtrs_[fileI]
+                faceArea_[filei],
+                refDir_[filei],
+                filePtrs_[filei]
             );
         }
     }
diff --git a/src/functionObjects/field/fluxSummary/fluxSummary.H b/src/functionObjects/field/fluxSummary/fluxSummary.H
index 701a3ea852..eab9df9c24 100644
--- a/src/functionObjects/field/fluxSummary/fluxSummary.H
+++ b/src/functionObjects/field/fluxSummary/fluxSummary.H
@@ -41,7 +41,7 @@ Usage
     fluxSummary1
     {
         type        fluxSummary;
-        functionObjectLibs ("libutilityFunctionObjects.so");
+        libs        ("libutilityFunctionObjects.so");
         ...
         write       yes;
         log         yes;
diff --git a/src/functionObjects/field/mapFields/mapFields.C b/src/functionObjects/field/mapFields/mapFields.C
index 61b94de2cb..1363692d98 100644
--- a/src/functionObjects/field/mapFields/mapFields.C
+++ b/src/functionObjects/field/mapFields/mapFields.C
@@ -87,7 +87,7 @@ void Foam::functionObjects::mapFields::createInterpolation
         meshToMesh::interpolationMethodNames_[mapMethodName]
     );
 
-    // Lookup corresponding AMI method
+    // Lookup corresponding AMi method
     word patchMapMethodName =
         AMIPatchToPatchInterpolation::interpolationMethodToWord
         (
diff --git a/src/functionObjects/field/nearWallFields/findCellParticle.C b/src/functionObjects/field/nearWallFields/findCellParticle.C
index 990b24ba9a..5f57285a26 100644
--- a/src/functionObjects/field/nearWallFields/findCellParticle.C
+++ b/src/functionObjects/field/nearWallFields/findCellParticle.C
@@ -33,12 +33,12 @@ Foam::findCellParticle::findCellParticle
     const vector& position,
     const label celli,
     const label tetFacei,
-    const label tetPtI,
+    const label tetPti,
     const point& end,
     const label data
 )
 :
-    particle(mesh, position, celli, tetFacei, tetPtI),
+    particle(mesh, position, celli, tetFacei, tetPti),
     end_(end),
     data_(data)
 {}
diff --git a/src/functionObjects/field/nearWallFields/findCellParticle.H b/src/functionObjects/field/nearWallFields/findCellParticle.H
index e239289063..d4bb541807 100644
--- a/src/functionObjects/field/nearWallFields/findCellParticle.H
+++ b/src/functionObjects/field/nearWallFields/findCellParticle.H
@@ -122,7 +122,7 @@ public:
             const vector& position,
             const label celli,
             const label tetFacei,
-            const label tetPtI,
+            const label tetPti,
             const point& end,
             const label data
         );
diff --git a/src/functionObjects/field/nearWallFields/nearWallFields.C b/src/functionObjects/field/nearWallFields/nearWallFields.C
index e8dd30f776..697ef3a06c 100644
--- a/src/functionObjects/field/nearWallFields/nearWallFields.C
+++ b/src/functionObjects/field/nearWallFields/nearWallFields.C
@@ -267,10 +267,10 @@ bool Foam::functionObjects::nearWallFields::read(const dictionary& dict)
     // Convert field to map
     fieldMap_.resize(2*fieldSet_.size());
     reverseFieldMap_.resize(2*fieldSet_.size());
-    forAll(fieldSet_, setI)
+    forAll(fieldSet_, seti)
     {
-        const word& fldName = fieldSet_[setI].first();
-        const word& sampleFldName = fieldSet_[setI].second();
+        const word& fldName = fieldSet_[seti].first();
+        const word& sampleFldName = fieldSet_[seti].second();
 
         fieldMap_.insert(fldName, sampleFldName);
         reverseFieldMap_.insert(sampleFldName, fldName);
diff --git a/src/functionObjects/field/reactionSensitivityAnalysis/reactionsSensitivityAnalysis.C b/src/functionObjects/field/reactionSensitivityAnalysis/reactionsSensitivityAnalysis.C
index 5fd52e5da1..f60eb7cdc1 100644
--- a/src/functionObjects/field/reactionSensitivityAnalysis/reactionsSensitivityAnalysis.C
+++ b/src/functionObjects/field/reactionSensitivityAnalysis/reactionsSensitivityAnalysis.C
@@ -101,26 +101,26 @@ calculateSpeciesRR
 
     endTime_ += dt;
 
-    forAll(production_, specieI)
+    forAll(production_, speciei)
     {
-        forAll(production_[specieI], reactionI)
+        forAll(production_[speciei], reactioni)
         {
-            RR = basicChemistry.calculateRR(reactionI, specieI);
+            RR = basicChemistry.calculateRR(reactioni, speciei);
 
             if (RR[0] > 0.0)
             {
-                production_[specieI][reactionI] = RR[0];
-                productionInt_[specieI][reactionI] =+ dt*RR[0];
+                production_[speciei][reactioni] = RR[0];
+                productionInt_[speciei][reactioni] =+ dt*RR[0];
             }
             else if (RR[0] < 0.0)
             {
-                consumption_[specieI][reactionI] = RR[0];
-                consumptionInt_[specieI][reactionI] =+ dt*RR[0];
+                consumption_[speciei][reactioni] = RR[0];
+                consumptionInt_[speciei][reactioni] =+ dt*RR[0];
             }
             else
             {
-                production_[specieI][reactionI] = 0.0;
-                consumption_[specieI][reactionI] = 0.0;
+                production_[speciei][reactioni] = 0.0;
+                consumption_[speciei][reactioni] = 0.0;
             }
         }
     }
@@ -143,21 +143,21 @@ writeSpeciesRR()
     prodIntFilePtr_() << "start time : " << startTime_ << tab
             << "end time :" <<  endTime_ << nl;
 
-    for (label reactionI = 0; reactionI < nReactions_; ++reactionI)
+    for (label reactioni = 0; reactioni < nReactions_; ++reactioni)
     {
-        consFilePtr_() << reactionI << tab;
-        consIntFilePtr_() << reactionI << tab;
-        prodFilePtr_() << reactionI << tab;
-        prodIntFilePtr_() << reactionI << tab;
+        consFilePtr_() << reactioni << tab;
+        consIntFilePtr_() << reactioni << tab;
+        prodFilePtr_() << reactioni << tab;
+        prodIntFilePtr_() << reactioni << tab;
 
         forAll(speciesNames_, i)
         {
-            prodFilePtr_() << production_[i][reactionI] << tab;
-            consFilePtr_() << consumption_[i][reactionI] << tab;
-            prodIntFilePtr_() << productionInt_[i][reactionI] << tab;
-            consIntFilePtr_() << consumptionInt_[i][reactionI] << tab;
-            consumptionInt_[i][reactionI] = 0.0;
-            productionInt_[i][reactionI] = 0.0;
+            prodFilePtr_() << production_[i][reactioni] << tab;
+            consFilePtr_() << consumption_[i][reactioni] << tab;
+            prodIntFilePtr_() << productionInt_[i][reactioni] << tab;
+            consIntFilePtr_() << consumptionInt_[i][reactioni] << tab;
+            consumptionInt_[i][reactioni] = 0.0;
+            productionInt_[i][reactioni] = 0.0;
         }
         consFilePtr_() << nl;
         consIntFilePtr_() << nl;
diff --git a/src/functionObjects/field/readFields/readFieldsTemplates.C b/src/functionObjects/field/readFields/readFieldsTemplates.C
index 357473ed1d..fee32c5627 100644
--- a/src/functionObjects/field/readFields/readFieldsTemplates.C
+++ b/src/functionObjects/field/readFields/readFieldsTemplates.C
@@ -64,16 +64,16 @@ bool Foam::functionObjects::readFields::loadField(const word& fieldName)
         {
             // Store field on mesh database
             Log << "    Reading " << fieldName << endl;
-            tmp<VolFieldType> tvf(new VolFieldType(fieldHeader, mesh_));
-            regionFunctionObject::store(fieldName, tvf);
+            VolFieldType* vfPtr(new VolFieldType(fieldHeader, mesh_));
+            mesh_.objectRegistry::store(vfPtr);
             return true;
         }
         else if (fieldHeader.typeHeaderOk<SurfaceFieldType>(false))
         {
             // Store field on mesh database
             Log << "    Reading " << fieldName << endl;
-            tmp<SurfaceFieldType> tsf(new SurfaceFieldType(fieldHeader, mesh_));
-            regionFunctionObject::store(fieldName, tsf);
+            SurfaceFieldType* sfPtr(new SurfaceFieldType(fieldHeader, mesh_));
+            mesh_.objectRegistry::store(sfPtr);
             return true;
         }
     }
diff --git a/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C b/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C
index 2314f721fd..2a823a2111 100644
--- a/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C
+++ b/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C
@@ -137,8 +137,8 @@ void Foam::functionObjects::regionSizeDistribution::writeAlphaFields
     // Knock out any cell not in patchRegions
     forAll(liquidCore, celli)
     {
-        label regionI = regions[celli];
-        if (patchRegions.found(regionI))
+        label regioni = regions[celli];
+        if (patchRegions.found(regioni))
         {
             backgroundAlpha[celli] = 0;
         }
@@ -146,7 +146,7 @@ void Foam::functionObjects::regionSizeDistribution::writeAlphaFields
         {
             liquidCore[celli] = 0;
 
-            scalar regionVol = regionVolume[regionI];
+            scalar regionVol = regionVolume[regioni];
             if (regionVol < maxDropletVol)
             {
                 backgroundAlpha[celli] = 0;
@@ -598,10 +598,10 @@ bool Foam::functionObjects::regionSizeDistribution::write()
             << endl;
         forAllConstIter(Map<label>, patchRegions, iter)
         {
-            label regionI = iter.key();
+            label regioni = iter.key();
             Info<< "    " << token::TAB << iter.key()
-                << token::TAB << allRegionVolume[regionI]
-                << token::TAB << allRegionAlphaVolume[regionI] << endl;
+                << token::TAB << allRegionVolume[regioni]
+                << token::TAB << allRegionAlphaVolume[regioni] << endl;
 
         }
         Info<< endl;
@@ -658,17 +658,17 @@ bool Foam::functionObjects::regionSizeDistribution::write()
     // threshold
     forAllIter(Map<scalar>, allRegionVolume, vIter)
     {
-        label regionI = vIter.key();
+        label regioni = vIter.key();
         if
         (
-            patchRegions.found(regionI)
+            patchRegions.found(regioni)
          || vIter() >= maxDropletVol
-         || (allRegionAlphaVolume[regionI]/vIter() < threshold_)
+         || (allRegionAlphaVolume[regioni]/vIter() < threshold_)
         )
         {
             allRegionVolume.erase(vIter);
-            allRegionAlphaVolume.erase(regionI);
-            allRegionNumCells.erase(regionI);
+            allRegionAlphaVolume.erase(regioni);
+            allRegionNumCells.erase(regioni);
         }
     }
 
@@ -791,11 +791,11 @@ bool Foam::functionObjects::regionSizeDistribution::write()
                     << endl;
 
                 scalar delta = 0.0;
-                forAll(binDownCount, binI)
+                forAll(binDownCount, bini)
                 {
-                    Info<< "    " << token::TAB << binI
+                    Info<< "    " << token::TAB << bini
                         << token::TAB << delta
-                        << token::TAB << binDownCount[binI] << endl;
+                        << token::TAB << binDownCount[bini] << endl;
                     delta += deltaX;
                 }
                 Info<< endl;
@@ -844,11 +844,11 @@ bool Foam::functionObjects::regionSizeDistribution::write()
                 << endl;
 
             scalar diam = 0.0;
-            forAll(binCount, binI)
+            forAll(binCount, bini)
             {
-                Info<< "    " << token::TAB << binI
+                Info<< "    " << token::TAB << bini
                     << token::TAB << diam
-                    << token::TAB << binCount[binI] << endl;
+                    << token::TAB << binCount[bini] << endl;
 
                 diam += delta;
             }
diff --git a/src/functionObjects/field/regionSizeDistribution/regionSizeDistributionTemplates.C b/src/functionObjects/field/regionSizeDistribution/regionSizeDistributionTemplates.C
index a74e76afd0..6dd27d8613 100644
--- a/src/functionObjects/field/regionSizeDistribution/regionSizeDistributionTemplates.C
+++ b/src/functionObjects/field/regionSizeDistribution/regionSizeDistributionTemplates.C
@@ -41,12 +41,12 @@ Foam::Map<Type> Foam::functionObjects::regionSizeDistribution::regionSum
 
     forAll(fld, celli)
     {
-        label regionI = regions[celli];
+        label regioni = regions[celli];
 
-        typename Map<Type>::iterator fnd = regionToSum.find(regionI);
+        typename Map<Type>::iterator fnd = regionToSum.find(regioni);
         if (fnd == regionToSum.end())
         {
-            regionToSum.insert(regionI, fld[celli]);
+            regionToSum.insert(regioni, fld[celli]);
         }
         else
         {
diff --git a/src/functionObjects/field/streamFunction/streamFunction.C b/src/functionObjects/field/streamFunction/streamFunction.C
index f571baa16c..11ae3d0581 100644
--- a/src/functionObjects/field/streamFunction/streamFunction.C
+++ b/src/functionObjects/field/streamFunction/streamFunction.C
@@ -168,9 +168,9 @@ Foam::tmp<Foam::pointScalarField> Foam::functionObjects::streamFunction::calc
 
             const cellList& c = mesh_.cells();
 
-            forAll(c, cI)
+            forAll(c, ci)
             {
-                labelList zeroPoints = c[cI].labels(mesh_.faces());
+                labelList zeroPoints = c[ci].labels(mesh_.faces());
 
                 bool found = true;
 
diff --git a/src/functionObjects/field/streamLine/streamLineBase.C b/src/functionObjects/field/streamLine/streamLineBase.C
index 0a564d7baf..c6d3330591 100644
--- a/src/functionObjects/field/streamLine/streamLineBase.C
+++ b/src/functionObjects/field/streamLine/streamLineBase.C
@@ -54,12 +54,12 @@ Foam::functionObjects::streamLineBase::wallPatch() const
 
     label nFaces = 0;
 
-    forAll(patches, patchI)
+    forAll(patches, patchi)
     {
-        //if (!polyPatch::constraintType(patches[patchI].type()))
-        if (isA<wallPolyPatch>(patches[patchI]))
+        //if (!polyPatch::constraintType(patches[patchi].type()))
+        if (isA<wallPolyPatch>(patches[patchi]))
         {
-            nFaces += patches[patchI].size();
+            nFaces += patches[patchi].size();
         }
     }
 
@@ -67,12 +67,12 @@ Foam::functionObjects::streamLineBase::wallPatch() const
 
     nFaces = 0;
 
-    forAll(patches, patchI)
+    forAll(patches, patchi)
     {
-        //if (!polyPatch::constraintType(patches[patchI].type()))
-        if (isA<wallPolyPatch>(patches[patchI]))
+        //if (!polyPatch::constraintType(patches[patchi].type()))
+        if (isA<wallPolyPatch>(patches[patchi]))
         {
-            const polyPatch& pp = patches[patchI];
+            const polyPatch& pp = patches[patchi];
 
             forAll(pp, i)
             {
@@ -220,11 +220,11 @@ void Foam::functionObjects::streamLineBase::initInterpolations
 
 void Foam::functionObjects::streamLineBase::storePoint
 (
-    const label trackI,
+    const label tracki,
 
     const scalar w,
-    const label leftI,
-    const label rightI,
+    const label lefti,
+    const label righti,
 
     DynamicList<point>& newTrack,
     DynamicList<scalarList>& newScalars,
@@ -233,19 +233,19 @@ void Foam::functionObjects::streamLineBase::storePoint
 {
     label sz = newTrack.size();
 
-    const List<point>& track = allTracks_[trackI];
+    const List<point>& track = allTracks_[tracki];
 
-    newTrack.append((1.0-w)*track[leftI] + w*track[rightI]);
+    newTrack.append((1.0-w)*track[lefti] + w*track[righti]);
 
     // Scalars
     {
         newScalars.append(scalarList(allScalars_.size()));
         scalarList& newVals = newScalars[sz];
 
-        forAll(allScalars_, scalarI)
+        forAll(allScalars_, scalari)
         {
-            const scalarList& trackVals = allScalars_[scalarI][trackI];
-            newVals[scalarI] = (1.0-w)*trackVals[leftI] + w*trackVals[rightI];
+            const scalarList& trackVals = allScalars_[scalari][tracki];
+            newVals[scalari] = (1.0-w)*trackVals[lefti] + w*trackVals[righti];
         }
     }
 
@@ -254,10 +254,10 @@ void Foam::functionObjects::streamLineBase::storePoint
         newVectors.append(vectorList(allVectors_.size()));
         vectorList& newVals = newVectors[sz];
 
-        forAll(allVectors_, vectorI)
+        forAll(allVectors_, vectori)
         {
-            const vectorList& trackVals = allVectors_[vectorI][trackI];
-            newVals[vectorI] = (1.0-w)*trackVals[leftI] + w*trackVals[rightI];
+            const vectorList& trackVals = allVectors_[vectori][tracki];
+            newVals[vectori] = (1.0-w)*trackVals[lefti] + w*trackVals[righti];
         }
     }
 }
@@ -267,24 +267,24 @@ void Foam::functionObjects::streamLineBase::storePoint
 void Foam::functionObjects::streamLineBase::trimToBox
 (
     const treeBoundBox& bb,
-    const label trackI,
+    const label tracki,
     PtrList<DynamicList<point>>& newTracks,
     PtrList<DynamicList<scalarList>>& newScalars,
     PtrList<DynamicList<vectorList>>& newVectors
 ) const
 {
-    const List<point>& track = allTracks_[trackI];
+    const List<point>& track = allTracks_[tracki];
     if (track.size())
     {
         for
         (
-            label segmentI = 1;
-            segmentI < track.size();
-            segmentI++
+            label segmenti = 1;
+            segmenti < track.size();
+            segmenti++
         )
         {
-            const point& startPt = track[segmentI-1];
-            const point& endPt = track[segmentI];
+            const point& startPt = track[segmenti-1];
+            const point& endPt = track[segmenti];
 
             const vector d(endPt-startPt);
             scalar magD = mag(d);
@@ -292,14 +292,14 @@ void Foam::functionObjects::streamLineBase::trimToBox
             {
                 if (bb.contains(startPt))
                 {
-                    // Store 1.0*track[segmentI-1]+0*track[segmentI]
+                    // Store 1.0*track[segmenti-1]+0*track[segmenti]
                     storePoint
                     (
-                        trackI,
+                        tracki,
 
                         0.0,
-                        segmentI-1,
-                        segmentI,
+                        segmenti-1,
+                        segmenti,
 
                         newTracks.last(),
                         newScalars.last(),
@@ -315,11 +315,11 @@ void Foam::functionObjects::streamLineBase::trimToBox
                             // values
                             storePoint
                             (
-                                trackI,
+                                tracki,
 
                                 mag(clipPt-startPt)/magD,
-                                segmentI-1,
-                                segmentI,
+                                segmenti-1,
+                                segmenti,
 
                                 newTracks.last(),
                                 newScalars.last(),
@@ -356,11 +356,11 @@ void Foam::functionObjects::streamLineBase::trimToBox
                         // Store point and interpolated values
                         storePoint
                         (
-                            trackI,
+                            tracki,
 
                             mag(clipPt-startPt)/magD,
-                            segmentI-1,
-                            segmentI,
+                            segmenti-1,
+                            segmenti,
 
                             newTracks.last(),
                             newScalars.last(),
@@ -379,11 +379,11 @@ void Foam::functionObjects::streamLineBase::trimToBox
                             // Store point and interpolated values
                             storePoint
                             (
-                                trackI,
+                                tracki,
 
                                 mag(clipPt-startPt)/magD,
-                                segmentI-1,
-                                segmentI,
+                                segmenti-1,
+                                segmenti,
 
                                 newTracks.last(),
                                 newScalars.last(),
@@ -404,7 +404,7 @@ void Foam::functionObjects::streamLineBase::trimToBox
         {
             storePoint
             (
-                trackI,
+                tracki,
 
                 1.0,
                 track.size()-2,
@@ -427,9 +427,9 @@ void Foam::functionObjects::streamLineBase::trimToBox(const treeBoundBox& bb)
     PtrList<DynamicList<scalarList>> newScalars;
     PtrList<DynamicList<vectorList>> newVectors;
 
-    forAll(allTracks_, trackI)
+    forAll(allTracks_, tracki)
     {
-        const List<point>& track = allTracks_[trackI];
+        const List<point>& track = allTracks_[tracki];
 
         if (track.size())
         {
@@ -439,44 +439,44 @@ void Foam::functionObjects::streamLineBase::trimToBox(const treeBoundBox& bb)
             newVectors.append(new DynamicList<vectorList>(track.size()));
 
             // Trim, split and append to newTracks
-            trimToBox(bb, trackI, newTracks, newScalars, newVectors);
+            trimToBox(bb, tracki, newTracks, newScalars, newVectors);
         }
     }
 
     // Transfer newTracks to allTracks_
     allTracks_.setSize(newTracks.size());
-    forAll(allTracks_, trackI)
+    forAll(allTracks_, tracki)
     {
-        allTracks_[trackI].transfer(newTracks[trackI]);
+        allTracks_[tracki].transfer(newTracks[tracki]);
     }
     // Replace track scalars
-    forAll(allScalars_, scalarI)
+    forAll(allScalars_, scalari)
     {
-        DynamicList<scalarList>& fieldVals = allScalars_[scalarI];
+        DynamicList<scalarList>& fieldVals = allScalars_[scalari];
         fieldVals.setSize(newTracks.size());
 
-        forAll(fieldVals, trackI)
+        forAll(fieldVals, tracki)
         {
-            scalarList& trackVals = allScalars_[scalarI][trackI];
-            trackVals.setSize(newScalars[trackI].size());
-            forAll(trackVals, sampleI)
+            scalarList& trackVals = allScalars_[scalari][tracki];
+            trackVals.setSize(newScalars[tracki].size());
+            forAll(trackVals, samplei)
             {
-                trackVals[sampleI] = newScalars[trackI][sampleI][scalarI];
+                trackVals[samplei] = newScalars[tracki][samplei][scalari];
             }
         }
     }
     // Replace track vectors
-    forAll(allVectors_, vectorI)
+    forAll(allVectors_, vectori)
     {
-        DynamicList<vectorList>& fieldVals = allVectors_[vectorI];
+        DynamicList<vectorList>& fieldVals = allVectors_[vectori];
         fieldVals.setSize(newTracks.size());
-        forAll(fieldVals, trackI)
+        forAll(fieldVals, tracki)
         {
-            vectorList& trackVals = allVectors_[vectorI][trackI];
-            trackVals.setSize(newVectors[trackI].size());
-            forAll(trackVals, sampleI)
+            vectorList& trackVals = allVectors_[vectori][tracki];
+            trackVals.setSize(newVectors[tracki].size());
+            forAll(trackVals, samplei)
             {
-                trackVals[sampleI] = newVectors[trackI][sampleI][vectorI];
+                trackVals[samplei] = newVectors[tracki][samplei][vectori];
             }
         }
     }
diff --git a/src/functionObjects/field/streamLine/streamLineBase.H b/src/functionObjects/field/streamLine/streamLineBase.H
index dd0083449f..a87e3fd210 100644
--- a/src/functionObjects/field/streamLine/streamLineBase.H
+++ b/src/functionObjects/field/streamLine/streamLineBase.H
@@ -149,11 +149,11 @@ protected:
         //- Generate point and values by interpolating from existing values
         void storePoint
         (
-            const label trackI,
+            const label tracki,
 
             const scalar w,
-            const label leftI,
-            const label rightI,
+            const label lefti,
+            const label righti,
 
             DynamicList<point>& newTrack,
             DynamicList<List<scalar>>& newScalars,
@@ -164,7 +164,7 @@ protected:
         void trimToBox
         (
             const treeBoundBox& bb,
-            const label trackI,
+            const label tracki,
             PtrList<DynamicList<point>>& newTracks,
             PtrList<DynamicList<scalarList>>& newScalars,
             PtrList<DynamicList<vectorList>>& newVectors
diff --git a/src/functionObjects/field/streamLine/streamLineParticle.C b/src/functionObjects/field/streamLine/streamLineParticle.C
index 6fba3c22ab..e88f903f8a 100644
--- a/src/functionObjects/field/streamLine/streamLineParticle.C
+++ b/src/functionObjects/field/streamLine/streamLineParticle.C
@@ -70,11 +70,11 @@ Foam::vector Foam::streamLineParticle::interpolateFields
     }
 
     sampledScalars_.setSize(td.vsInterp_.size());
-    forAll(td.vsInterp_, scalarI)
+    forAll(td.vsInterp_, scalari)
     {
-        sampledScalars_[scalarI].append
+        sampledScalars_[scalari].append
         (
-            td.vsInterp_[scalarI].interpolate
+            td.vsInterp_[scalari].interpolate
             (
                 position,
                 celli,
@@ -84,11 +84,11 @@ Foam::vector Foam::streamLineParticle::interpolateFields
     }
 
     sampledVectors_.setSize(td.vvInterp_.size());
-    forAll(td.vvInterp_, vectorI)
+    forAll(td.vvInterp_, vectori)
     {
-        sampledVectors_[vectorI].append
+        sampledVectors_[vectori].append
         (
-            td.vvInterp_[vectorI].interpolate
+            td.vvInterp_[vectori].interpolate
             (
                 position,
                 celli,
diff --git a/src/functionObjects/field/surfaceInterpolate/surfaceInterpolateTemplates.C b/src/functionObjects/field/surfaceInterpolate/surfaceInterpolateTemplates.C
index 8a975aab22..8aa1aed42d 100644
--- a/src/functionObjects/field/surfaceInterpolate/surfaceInterpolateTemplates.C
+++ b/src/functionObjects/field/surfaceInterpolate/surfaceInterpolateTemplates.C
@@ -51,7 +51,7 @@ void Foam::functionObjects::surfaceInterpolate::interpolateFields()
         if (fieldMap.found(fld.name()))
         {
             //const word sName = "interpolate(" + fld.name() + ')';
-            const word& sName = fieldMap[fld.name()];
+            word& sName = fieldMap[fld.name()];
 
             if (obr_.found(sName))
             {
diff --git a/src/functionObjects/field/vorticity/vorticity.H b/src/functionObjects/field/vorticity/vorticity.H
index 82bf125da5..e78f72676b 100644
--- a/src/functionObjects/field/vorticity/vorticity.H
+++ b/src/functionObjects/field/vorticity/vorticity.H
@@ -38,7 +38,7 @@ Usage
     vorticity1
     {
         type        vorticity;
-        functionObjectLibs ("libutilityFunctionObjects.so");
+        libs        ("libutilityFunctionObjects.so");
         ...
     }
     \endverbatim
diff --git a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.C b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.C
index a4ee760a40..1a36431ff3 100644
--- a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.C
+++ b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.C
@@ -56,10 +56,10 @@ Foam::edge Foam::wallBoundedParticle::currentEdge() const
     }
     else
     {
-        label faceBasePtI = mesh_.tetBasePtIs()[tetFace()];
-        label diagPtI = (faceBasePtI+diagEdge_)%f.size();
+        label faceBasePti = mesh_.tetBasePtIs()[tetFace()];
+        label diagPti = (faceBasePti+diagEdge_)%f.size();
 
-        return edge(f[faceBasePtI], f[diagPtI]);
+        return edge(f[faceBasePti], f[diagPti]);
     }
 }
 
@@ -135,7 +135,7 @@ void Foam::wallBoundedParticle::crossDiagonalEdge()
 
     const Foam::face& f = mesh_.faces()[tetFace()];
 
-    // tetPtI starts from 1, goes up to f.size()-2
+    // tetPti starts from 1, goes up to f.size()-2
 
     if (tetPt() == diagEdge_)
     {
@@ -165,7 +165,7 @@ void Foam::wallBoundedParticle::crossDiagonalEdge()
 Foam::scalar Foam::wallBoundedParticle::trackFaceTri
 (
     const vector& endPosition,
-    label& minEdgeI
+    label& minEdgei
 )
 {
     // Track p from position to endPosition
@@ -175,7 +175,7 @@ Foam::scalar Foam::wallBoundedParticle::trackFaceTri
 
     // Check which edge intersects the trajectory.
     // Project trajectory onto triangle
-    minEdgeI = -1;
+    minEdgei = -1;
     scalar minS = 1;        // end position
 
     edge currentE(-1, -1);
@@ -217,13 +217,13 @@ Foam::scalar Foam::wallBoundedParticle::trackFaceTri
                 if (s >= 0 && s < minS)
                 {
                     minS = s;
-                    minEdgeI = i;
+                    minEdgei = i;
                 }
             }
         }
     }
 
-    if (minEdgeI != -1)
+    if (minEdgei != -1)
     {
         position() += minS*(endPosition-position());
     }
@@ -299,12 +299,12 @@ Foam::wallBoundedParticle::wallBoundedParticle
     const vector& position,
     const label celli,
     const label tetFacei,
-    const label tetPtI,
+    const label tetPti,
     const label meshEdgeStart,
     const label diagEdge
 )
 :
-    particle(mesh, position, celli, tetFacei, tetPtI),
+    particle(mesh, position, celli, tetFacei, tetPti),
     meshEdgeStart_(meshEdgeStart),
     diagEdge_(diagEdge)
 {}
diff --git a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.H b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.H
index 72d0c5831c..a82b3f5b64 100644
--- a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.H
+++ b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.H
@@ -112,9 +112,9 @@ protected:
 
         //- Particle is on diagonal edge:
         //      const face& f = mesh.faces()[tetFace()]
-        //      label faceBasePtI = mesh.tetBasePtIs()[facei];
-        //      label diagPtI = (faceBasePtI+diagEdge_)%f.size();
-        //      const edge e(f[faceBasePtI], f[diagPtI]);
+        //      label faceBasePti = mesh.tetBasePtIs()[facei];
+        //      label diagPti = (faceBasePti+diagEdge_)%f.size();
+        //      const edge e(f[faceBasePti], f[diagPti]);
         label diagEdge_;
 
 
@@ -130,7 +130,7 @@ protected:
         void crossDiagonalEdge();
 
         //- Track through single triangle
-        scalar trackFaceTri(const vector& endPosition, label& minEdgeI);
+        scalar trackFaceTri(const vector& endPosition, label& minEdgei);
 
         //- Is current triangle in the track direction
         bool isTriAlongTrack(const point& endPosition) const;
@@ -225,7 +225,7 @@ public:
             const vector& position,
             const label celli,
             const label tetFacei,
-            const label tetPtI,
+            const label tetPti,
             const label meshEdgeStart,
             const label diagEdge
         );
diff --git a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C
index 7ee23cac58..e4f151fe26 100644
--- a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C
+++ b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticleTemplates.C
@@ -172,7 +172,7 @@ Foam::scalar Foam::wallBoundedParticle::trackToEdge
               : mesh_.faceOwner()[facei_]
             );
             // Check angle to nbrCell tet. Is it in the direction of the
-            // endposition? I.e. since volume of nbr tet is positive the
+            // endposition? i.e. since volume of nbr tet is positive the
             // tracking direction should be into the tet.
             tetIndices nbrTi(nbrCelli, tetFacei_, tetPti_, mesh_);
             if ((nbrTi.faceTri(mesh_).normal() & (endPosition-position())) < 0)
@@ -241,10 +241,10 @@ Foam::scalar Foam::wallBoundedParticle::trackToEdge
         if (doTrack)
         {
             // Track across triangle. Return triangle edge crossed.
-            label triEdgeI = -1;
-            trackFraction = trackFaceTri(projectedEndPosition, triEdgeI);
+            label triEdgei = -1;
+            trackFraction = trackFaceTri(projectedEndPosition, triEdgei);
 
-            if (triEdgeI == -1)
+            if (triEdgei == -1)
             {
                 // Reached endpoint
                 //checkInside();
@@ -268,7 +268,7 @@ Foam::scalar Foam::wallBoundedParticle::trackToEdge
             const Foam::face& f = mesh_.faces()[ti.face()];
             const label fp0 = ti.faceBasePt();
 
-            if (triEdgeI == 0)
+            if (triEdgei == 0)
             {
                 if (ti.facePtA() == f.fcIndex(fp0))
                 {
@@ -305,7 +305,7 @@ Foam::scalar Foam::wallBoundedParticle::trackToEdge
                     crossDiagonalEdge();
                 }
             }
-            else if (triEdgeI == 1)
+            else if (triEdgei == 1)
             {
                 //Pout<< "Real edge." << endl;
                 diagEdge_ = -1;
@@ -314,7 +314,7 @@ Foam::scalar Foam::wallBoundedParticle::trackToEdge
                 crossEdgeConnectedFace(currentEdge());
                 patchInteraction(td, trackFraction);
             }
-            else // if (triEdgeI == 2)
+            else // if (triEdgei == 2)
             {
                 if (ti.facePtB() == f.rcIndex(fp0))
                 {
diff --git a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.C b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.C
index bd4c5e6ccf..0799254290 100644
--- a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.C
+++ b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.C
@@ -59,7 +59,7 @@ Foam::tetIndices Foam::functionObjects::wallBoundedStreamLine::findNearestTet
     const cell& cFaces = mesh_.cells()[celli];
 
     label minFacei = -1;
-    label minTetPtI = -1;
+    label minTetPti = -1;
     scalar minDistSqr = sqr(GREAT);
 
     forAll(cFaces, cFacei)
@@ -86,7 +86,7 @@ Foam::tetIndices Foam::functionObjects::wallBoundedStreamLine::findNearestTet
                 {
                     minDistSqr = d2;
                     minFacei = facei;
-                    minTetPtI = i-1;
+                    minTetPti = i-1;
                 }
                 fp = nextFp;
             }
@@ -98,7 +98,7 @@ Foam::tetIndices Foam::functionObjects::wallBoundedStreamLine::findNearestTet
     (
         celli,
         minFacei,
-        minTetPtI,
+        minTetPti,
         mesh_
     );
 }
diff --git a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.C b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.C
index 2e54a5d5e1..82fccd4115 100644
--- a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.C
+++ b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.C
@@ -63,11 +63,11 @@ Foam::vector Foam::wallBoundedStreamLineParticle::interpolateFields
 
         // Store the scalar fields
         sampledScalars_.setSize(td.vsInterp_.size());
-        forAll(td.vsInterp_, scalarI)
+        forAll(td.vsInterp_, scalari)
         {
-            sampledScalars_[scalarI].append
+            sampledScalars_[scalari].append
             (
-                td.vsInterp_[scalarI].interpolate
+                td.vsInterp_[scalari].interpolate
                 (
                     position,
                     ti,     //celli,
@@ -78,23 +78,23 @@ Foam::vector Foam::wallBoundedStreamLineParticle::interpolateFields
 
         // Store the vector fields
         sampledVectors_.setSize(td.vvInterp_.size());
-        forAll(td.vvInterp_, vectorI)
+        forAll(td.vvInterp_, vectori)
         {
             vector positionU;
-            if (vectorI == td.UIndex_)
+            if (vectori == td.UIndex_)
             {
                 positionU = U;
             }
             else
             {
-                positionU = td.vvInterp_[vectorI].interpolate
+                positionU = td.vvInterp_[vectori].interpolate
                 (
                     position,
                     ti,     //celli,
                     facei
                 );
             }
-            sampledVectors_[vectorI].append(positionU);
+            sampledVectors_[vectori].append(positionU);
         }
     }
 
@@ -136,7 +136,7 @@ Foam::wallBoundedStreamLineParticle::wallBoundedStreamLineParticle
     const vector& position,
     const label celli,
     const label tetFacei,
-    const label tetPtI,
+    const label tetPti,
     const label meshEdgeStart,
     const label diagEdge,
     const label lifeTime
@@ -148,7 +148,7 @@ Foam::wallBoundedStreamLineParticle::wallBoundedStreamLineParticle
         position,
         celli,
         tetFacei,
-        tetPtI,
+        tetPti,
         meshEdgeStart,
         diagEdge
     ),
diff --git a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.H b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.H
index b0f20d18cb..62d6a83940 100644
--- a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.H
+++ b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.H
@@ -170,7 +170,7 @@ public:
             const vector& position,
             const label celli,
             const label tetFacei,
-            const label tetPtI,
+            const label tetPti,
             const label meshEdgeStart,
             const label diagEdge,
             const label lifeTime
diff --git a/src/functionObjects/field/wallShearStress/wallShearStress.C b/src/functionObjects/field/wallShearStress/wallShearStress.C
index b5e0cd858a..39b4a5ed3d 100644
--- a/src/functionObjects/field/wallShearStress/wallShearStress.C
+++ b/src/functionObjects/field/wallShearStress/wallShearStress.C
@@ -92,7 +92,11 @@ Foam::functionObjects::wallShearStress::wallShearStress
     writeFile(mesh_, name, typeName, dict),
     patchSet_()
 {
-    tmp<volVectorField> wallShearStressPtr
+    read(dict);
+
+    writeFileHeader(file());
+
+    volVectorField* wallShearStressPtr
     (
         new volVectorField
         (
@@ -114,9 +118,7 @@ Foam::functionObjects::wallShearStress::wallShearStress
         )
     );
 
-    store(typeName, wallShearStressPtr);
-
-    read(dict);
+    mesh_.objectRegistry::store(wallShearStressPtr);
 }
 
 
diff --git a/src/functionObjects/field/yPlus/yPlus.C b/src/functionObjects/field/yPlus/yPlus.C
index 1b69f6601b..9ee1931edb 100644
--- a/src/functionObjects/field/yPlus/yPlus.C
+++ b/src/functionObjects/field/yPlus/yPlus.C
@@ -75,9 +75,11 @@ Foam::functionObjects::yPlus::yPlus
     fvMeshFunctionObject(name, runTime, dict),
     writeFile(obr_, name, typeName, dict)
 {
+    read(dict);
+
     writeFileHeader(file());
 
-    tmp<volScalarField> tyPlusPtr
+    volScalarField* yPlusPtr
     (
         new volScalarField
         (
@@ -94,7 +96,7 @@ Foam::functionObjects::yPlus::yPlus
         )
     );
 
-    store(typeName, tyPlusPtr);
+    mesh_.objectRegistry::store(yPlusPtr);
 }
 
 
diff --git a/src/functionObjects/forces/forceCoeffs/forceCoeffs.C b/src/functionObjects/forces/forceCoeffs/forceCoeffs.C
index de824dd2e9..dc365a131f 100644
--- a/src/functionObjects/forces/forceCoeffs/forceCoeffs.C
+++ b/src/functionObjects/forces/forceCoeffs/forceCoeffs.C
@@ -109,24 +109,24 @@ void Foam::functionObjects::forceCoeffs::writeBinHeader
 
     vectorField binPoints(nBin_);
     writeCommented(os, "x co-ords  :");
-    forAll(binPoints, pointI)
+    forAll(binPoints, pointi)
     {
-        binPoints[pointI] = (binMin_ + (pointI + 1)*binDx_)*binDir_;
-        os << tab << binPoints[pointI].x();
+        binPoints[pointi] = (binMin_ + (pointi + 1)*binDx_)*binDir_;
+        os << tab << binPoints[pointi].x();
     }
     os << nl;
 
     writeCommented(os, "y co-ords  :");
-    forAll(binPoints, pointI)
+    forAll(binPoints, pointi)
     {
-        os << tab << binPoints[pointI].y();
+        os << tab << binPoints[pointi].y();
     }
     os << nl;
 
     writeCommented(os, "z co-ords  :");
-    forAll(binPoints, pointI)
+    forAll(binPoints, pointi)
     {
-        os << tab << binPoints[pointI].z();
+        os << tab << binPoints[pointi].z();
     }
     os << nl;
 
@@ -186,15 +186,15 @@ void Foam::functionObjects::forceCoeffs::writeBinData
 {
     os  << obr_.time().value();
 
-    for (label binI = 0; binI < nBin_; binI++)
+    for (label bini = 0; bini < nBin_; bini++)
     {
-        scalar total = coeffs[0][binI] + coeffs[1][binI] + coeffs[2][binI];
+        scalar total = coeffs[0][bini] + coeffs[1][bini] + coeffs[2][bini];
 
-        os  << tab << total << tab << coeffs[0][binI] << tab << coeffs[1][binI];
+        os  << tab << total << tab << coeffs[0][bini] << tab << coeffs[1][bini];
 
         if (porosity_)
         {
-            os  << tab << coeffs[2][binI];
+            os  << tab << coeffs[2][bini];
         }
     }
 
@@ -256,7 +256,7 @@ bool Foam::functionObjects::forceCoeffs::read(const dictionary& dict)
     {
         const fvMesh& mesh = refCast<const fvMesh>(obr_);
 
-        tmp<volVectorField> tforceCoeff
+        volVectorField* forceCoeffPtr
         (
             new volVectorField
             (
@@ -273,9 +273,9 @@ bool Foam::functionObjects::forceCoeffs::read(const dictionary& dict)
             )
         );
 
-        store(tforceCoeff().name(), tforceCoeff);
+        mesh_.objectRegistry::store(forceCoeffPtr);
 
-        tmp<volVectorField> tmomentCoeff
+        volVectorField* momentCoeffPtr
         (
             new volVectorField
             (
@@ -292,7 +292,7 @@ bool Foam::functionObjects::forceCoeffs::read(const dictionary& dict)
             )
         );
 
-        store(tmomentCoeff().name(), tmomentCoeff);
+        mesh_.objectRegistry::store(momentCoeffPtr);
     }
 
     return true;
@@ -361,11 +361,11 @@ bool Foam::functionObjects::forceCoeffs::execute()
             {
                 forAll(liftCoeffs, i)
                 {
-                    for (label binI = 1; binI < nBin_; binI++)
+                    for (label bini = 1; bini < nBin_; bini++)
                     {
-                        liftCoeffs[i][binI] += liftCoeffs[i][binI-1];
-                        dragCoeffs[i][binI] += dragCoeffs[i][binI-1];
-                        momentCoeffs[i][binI] += momentCoeffs[i][binI-1];
+                        liftCoeffs[i][bini] += liftCoeffs[i][bini-1];
+                        dragCoeffs[i][bini] += dragCoeffs[i][bini-1];
+                        momentCoeffs[i][bini] += momentCoeffs[i][bini-1];
                     }
                 }
             }
diff --git a/src/functionObjects/forces/forces/forces.C b/src/functionObjects/forces/forces/forces.C
index 371569f680..1a7018fb4c 100644
--- a/src/functionObjects/forces/forces/forces.C
+++ b/src/functionObjects/forces/forces/forces.C
@@ -126,24 +126,24 @@ void Foam::functionObjects::forces::writeBinHeader
 
     vectorField binPoints(nBin_);
     writeCommented(os, "x co-ords  :");
-    forAll(binPoints, pointI)
+    forAll(binPoints, pointi)
     {
-        binPoints[pointI] = (binMin_ + (pointI + 1)*binDx_)*binDir_;
-        os  << tab << binPoints[pointI].x();
+        binPoints[pointi] = (binMin_ + (pointi + 1)*binDx_)*binDir_;
+        os  << tab << binPoints[pointi].x();
     }
     os  << nl;
 
     writeCommented(os, "y co-ords  :");
-    forAll(binPoints, pointI)
+    forAll(binPoints, pointi)
     {
-        os  << tab << binPoints[pointI].y();
+        os  << tab << binPoints[pointi].y();
     }
     os  << nl;
 
     writeCommented(os, "z co-ords  :");
-    forAll(binPoints, pointI)
+    forAll(binPoints, pointi)
     {
-        os  << tab << binPoints[pointI].z();
+        os  << tab << binPoints[pointi].z();
     }
     os  << nl;
 
@@ -223,8 +223,8 @@ void Foam::functionObjects::forces::initialiseBins()
         scalar binMax = -GREAT;
         forAllConstIter(labelHashSet, patchSet_, iter)
         {
-            label patchI = iter.key();
-            const polyPatch& pp = pbm[patchI];
+            label patchi = iter.key();
+            const polyPatch& pp = pbm[patchi];
             scalarField d(pp.faceCentres() & binDir_);
             binMin_ = min(min(d), binMin_);
             binMax = max(max(d), binMax);
@@ -245,8 +245,8 @@ void Foam::functionObjects::forces::initialiseBins()
 
                 forAll(cellZoneIDs, i)
                 {
-                    label zoneI = cellZoneIDs[i];
-                    const cellZone& cZone = mesh_.cellZones()[zoneI];
+                    label zonei = cellZoneIDs[i];
+                    const cellZone& cZone = mesh_.cellZones()[zonei];
                     const scalarField d(dd, cZone);
                     binMin_ = min(min(d), binMin_);
                     binMax = max(max(d), binMax);
@@ -497,7 +497,7 @@ void Foam::functionObjects::forces::applyBins
 
 void Foam::functionObjects::forces::addToFields
 (
-    const label patchI,
+    const label patchi,
     const vectorField& Md,
     const vectorField& fN,
     const vectorField& fT,
@@ -515,7 +515,7 @@ void Foam::functionObjects::forces::addToFields
             lookupObject<volVectorField>(fieldName("force"))
         );
 
-    vectorField& pf = force.boundaryFieldRef()[patchI];
+    vectorField& pf = force.boundaryFieldRef()[patchi];
     pf += fN + fT + fP;
 
     volVectorField& moment =
@@ -524,7 +524,7 @@ void Foam::functionObjects::forces::addToFields
             lookupObject<volVectorField>(fieldName("moment"))
         );
 
-    vectorField& pm = moment.boundaryFieldRef()[patchI];
+    vectorField& pm = moment.boundaryFieldRef()[patchi];
     pm += Md;
 }
 
@@ -557,9 +557,9 @@ void Foam::functionObjects::forces::addToFields
 
     forAll(cellIDs, i)
     {
-        label cellI = cellIDs[i];
-        force[cellI] += fN[i] + fT[i] + fP[i];
-        moment[cellI] += Md[i];
+        label celli = cellIDs[i];
+        force[celli] += fN[i] + fT[i] + fP[i];
+        moment[celli] += Md[i];
     }
 }
 
@@ -934,7 +934,7 @@ bool Foam::functionObjects::forces::read(const dictionary& dict)
     {
         Info << "    Fields will be written" << endl;
 
-        tmp<volVectorField> tforce
+        volVectorField* forcePtr
         (
             new volVectorField
             (
@@ -951,9 +951,9 @@ bool Foam::functionObjects::forces::read(const dictionary& dict)
             )
         );
 
-        store(tforce().name(), tforce);
+        mesh_.objectRegistry::store(forcePtr);
 
-        tmp<volVectorField> tmoment
+        volVectorField* momentPtr
         (
             new volVectorField
             (
@@ -970,7 +970,7 @@ bool Foam::functionObjects::forces::read(const dictionary& dict)
             )
         );
 
-        store(tmoment().name(), tmoment);
+        mesh_.objectRegistry::store(momentPtr);
     }
 
     return true;
@@ -991,33 +991,33 @@ void Foam::functionObjects::forces::calcForcesMoment()
 
         forAllConstIter(labelHashSet, patchSet_, iter)
         {
-            label patchI = iter.key();
+            label patchi = iter.key();
 
             vectorField Md
             (
-                mesh_.C().boundaryField()[patchI] - coordSys_.origin()
+                mesh_.C().boundaryField()[patchi] - coordSys_.origin()
             );
 
-            scalarField sA(mag(Sfb[patchI]));
+            scalarField sA(mag(Sfb[patchi]));
 
             // Normal force = surfaceUnitNormal*(surfaceNormal & forceDensity)
             vectorField fN
             (
-                Sfb[patchI]/sA
+                Sfb[patchi]/sA
                *(
-                    Sfb[patchI] & fD.boundaryField()[patchI]
+                    Sfb[patchi] & fD.boundaryField()[patchi]
                 )
             );
 
             // Tangential force (total force minus normal fN)
-            vectorField fT(sA*fD.boundaryField()[patchI] - fN);
+            vectorField fT(sA*fD.boundaryField()[patchi] - fN);
 
             // Porous force
             vectorField fP(Md.size(), Zero);
 
-            addToFields(patchI, Md, fN, fT, fP);
+            addToFields(patchi, Md, fN, fT, fP);
 
-            applyBins(Md, fN, fT, fP, mesh_.C().boundaryField()[patchI]);
+            applyBins(Md, fN, fT, fP, mesh_.C().boundaryField()[patchi]);
         }
     }
     else
@@ -1035,25 +1035,25 @@ void Foam::functionObjects::forces::calcForcesMoment()
 
         forAllConstIter(labelHashSet, patchSet_, iter)
         {
-            label patchI = iter.key();
+            label patchi = iter.key();
 
             vectorField Md
             (
-                mesh_.C().boundaryField()[patchI] - coordSys_.origin()
+                mesh_.C().boundaryField()[patchi] - coordSys_.origin()
             );
 
             vectorField fN
             (
-                rho(p)*Sfb[patchI]*(p.boundaryField()[patchI] - pRef)
+                rho(p)*Sfb[patchi]*(p.boundaryField()[patchi] - pRef)
             );
 
-            vectorField fT(Sfb[patchI] & devRhoReffb[patchI]);
+            vectorField fT(Sfb[patchi] & devRhoReffb[patchi]);
 
             vectorField fP(Md.size(), Zero);
 
-            addToFields(patchI, Md, fN, fT, fP);
+            addToFields(patchi, Md, fN, fT, fP);
 
-            applyBins(Md, fN, fT, fP, mesh_.C().boundaryField()[patchI]);
+            applyBins(Md, fN, fT, fP, mesh_.C().boundaryField()[patchi]);
         }
     }
 
@@ -1085,8 +1085,8 @@ void Foam::functionObjects::forces::calcForcesMoment()
 
             forAll(cellZoneIDs, i)
             {
-                label zoneI = cellZoneIDs[i];
-                const cellZone& cZone = mesh_.cellZones()[zoneI];
+                label zonei = cellZoneIDs[i];
+                const cellZone& cZone = mesh_.cellZones()[zonei];
 
                 const vectorField d(mesh_.C(), cZone);
                 const vectorField fP(fPTot, cZone);
diff --git a/src/functionObjects/forces/forces/forces.H b/src/functionObjects/forces/forces/forces.H
index 2d6b1eff94..0bc8ab3954 100644
--- a/src/functionObjects/forces/forces/forces.H
+++ b/src/functionObjects/forces/forces/forces.H
@@ -305,7 +305,7 @@ protected:
         //- Add patch contributions to force and moment fields
         void addToFields
         (
-            const label patchI,
+            const label patchi,
             const vectorField& Md,
             const vectorField& fN,
             const vectorField& fT,
diff --git a/src/functionObjects/graphics/runTimePostProcessing/pathline.C b/src/functionObjects/graphics/runTimePostProcessing/pathline.C
index 7cba153645..aba780e5ed 100644
--- a/src/functionObjects/graphics/runTimePostProcessing/pathline.C
+++ b/src/functionObjects/graphics/runTimePostProcessing/pathline.C
@@ -75,14 +75,14 @@ const Foam::NamedEnum
 
 void Foam::functionObjects::runTimePostPro::pathline::addLines
 (
-    const label frameI,
+    const label framei,
     vtkActor* actor,
     vtkPolyData* data
 ) const
 {
     geometryBase::initialiseActor(actor);
 
-    vector colour = lineColour_->value(frameI);
+    vector colour = lineColour_->value(framei);
     actor->GetProperty()->SetColor(colour[0], colour[1], colour[2]);
 
     vtkPolyDataMapper* mapper =
diff --git a/src/functionObjects/graphics/runTimePostProcessing/pathline.H b/src/functionObjects/graphics/runTimePostProcessing/pathline.H
index 20d21f8723..209a2887cd 100644
--- a/src/functionObjects/graphics/runTimePostProcessing/pathline.H
+++ b/src/functionObjects/graphics/runTimePostProcessing/pathline.H
@@ -104,7 +104,7 @@ protected:
         //- Add the pathlines to the renderer
         void addLines
         (
-            const label frameI,
+            const label framei,
             vtkActor* actor,
             vtkPolyData* data
         ) const;
diff --git a/src/functionObjects/graphics/runTimePostProcessing/pointData.C b/src/functionObjects/graphics/runTimePostProcessing/pointData.C
index cfda633b91..c5581a6001 100644
--- a/src/functionObjects/graphics/runTimePostProcessing/pointData.C
+++ b/src/functionObjects/graphics/runTimePostProcessing/pointData.C
@@ -72,7 +72,7 @@ const Foam::NamedEnum
 
 void Foam::functionObjects::runTimePostPro::pointData::addPoints
 (
-    const label frameI,
+    const label framei,
     vtkActor* actor,
     vtkPolyDataMapper* mapper,
     vtkPolyData* data
@@ -80,7 +80,7 @@ void Foam::functionObjects::runTimePostPro::pointData::addPoints
 {
     geometryBase::initialiseActor(actor);
 
-    vector colour = pointColour_->value(frameI);
+    vector colour = pointColour_->value(framei);
     actor->GetProperty()->SetColor(colour[0], colour[1], colour[2]);
 
     switch (representation_)
diff --git a/src/functionObjects/graphics/runTimePostProcessing/pointData.H b/src/functionObjects/graphics/runTimePostProcessing/pointData.H
index a3d4c0578b..1ced613bd5 100644
--- a/src/functionObjects/graphics/runTimePostProcessing/pointData.H
+++ b/src/functionObjects/graphics/runTimePostProcessing/pointData.H
@@ -102,7 +102,7 @@ protected:
         //- Add the point data to the renderer
         void addPoints
         (
-            const label frameI,
+            const label framei,
             vtkActor* actor,
             vtkPolyDataMapper* mapper,
             vtkPolyData* data
diff --git a/src/functionObjects/lagrangian/dsmcFields/dsmcFields.H b/src/functionObjects/lagrangian/dsmcFields/dsmcFields.H
index d2a4c6df1a..396c843164 100644
--- a/src/functionObjects/lagrangian/dsmcFields/dsmcFields.H
+++ b/src/functionObjects/lagrangian/dsmcFields/dsmcFields.H
@@ -41,7 +41,7 @@ Description
     dsmcFields1
     {
         type        dsmcFields;
-        functionObjectLibs ("libutilityFunctionObjects.so");
+        libs        ("libutilityFunctionObjects.so");
         ...
     }
     \endverbatim
diff --git a/src/functionObjects/utilities/runTimeControl/runTimeCondition/averageCondition/averageCondition.C b/src/functionObjects/utilities/runTimeControl/runTimeCondition/averageCondition/averageCondition.C
index c4a7e9f603..8f0c5d72af 100644
--- a/src/functionObjects/utilities/runTimeControl/runTimeCondition/averageCondition/averageCondition.C
+++ b/src/functionObjects/utilities/runTimeControl/runTimeCondition/averageCondition/averageCondition.C
@@ -64,14 +64,14 @@ Foam::functionObjects::runTimeControls::averageCondition::averageCondition
     {
         const dictionary& dict = conditionDict();
 
-        forAll(fieldNames_, fieldI)
+        forAll(fieldNames_, fieldi)
         {
-            const word& fieldName = fieldNames_[fieldI];
+            const word& fieldName = fieldNames_[fieldi];
 
             if (dict.found(fieldName))
             {
                 const dictionary& valueDict = dict.subDict(fieldName);
-                totalTime_[fieldI] = readScalar(valueDict.lookup("totalTime"));
+                totalTime_[fieldi] = readScalar(valueDict.lookup("totalTime"));
             }
         }
     }
@@ -101,11 +101,11 @@ bool Foam::functionObjects::runTimeControls::averageCondition::apply()
 
     DynamicList<label> unprocessedFields(fieldNames_.size());
 
-    forAll(fieldNames_, fieldI)
+    forAll(fieldNames_, fieldi)
     {
-        const word& fieldName(fieldNames_[fieldI]);
+        const word& fieldName(fieldNames_[fieldi]);
 
-        scalar Dt = totalTime_[fieldI];
+        scalar Dt = totalTime_[fieldi];
         scalar alpha = (Dt - dt)/Dt;
         scalar beta = dt/Dt;
 
@@ -133,10 +133,10 @@ bool Foam::functionObjects::runTimeControls::averageCondition::apply()
 
         if (!processed)
         {
-            unprocessedFields.append(fieldI);
+            unprocessedFields.append(fieldi);
         }
 
-        totalTime_[fieldI] += dt;
+        totalTime_[fieldi] += dt;
     }
 
     if (unprocessedFields.size())
@@ -147,8 +147,8 @@ bool Foam::functionObjects::runTimeControls::averageCondition::apply()
 
         forAll(unprocessedFields, i)
         {
-            label fieldI = unprocessedFields[i];
-            Info<< "        " << fieldNames_[fieldI] << nl;
+            label fieldi = unprocessedFields[i];
+            Info<< "        " << fieldNames_[fieldi] << nl;
         }
     }
 
@@ -162,20 +162,20 @@ void Foam::functionObjects::runTimeControls::averageCondition::write()
 {
     dictionary& conditionDict = this->conditionDict();
 
-    forAll(fieldNames_, fieldI)
+    forAll(fieldNames_, fieldi)
     {
-        const word& fieldName = fieldNames_[fieldI];
+        const word& fieldName = fieldNames_[fieldi];
 
         // value dictionary should be present - mean values are written there
         if (conditionDict.found(fieldName))
         {
             dictionary& valueDict = conditionDict.subDict(fieldName);
-            valueDict.add("totalTime", totalTime_[fieldI], true);
+            valueDict.add("totalTime", totalTime_[fieldi], true);
         }
         else
         {
             dictionary valueDict;
-            valueDict.add("totalTime", totalTime_[fieldI], true);
+            valueDict.add("totalTime", totalTime_[fieldi], true);
             conditionDict.add(fieldName, valueDict);
         }
     }
diff --git a/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationInitialResidualCondition/equationInitialResidualCondition.C b/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationInitialResidualCondition/equationInitialResidualCondition.C
index 4d5a580f02..df35537bad 100644
--- a/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationInitialResidualCondition/equationInitialResidualCondition.C
+++ b/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationInitialResidualCondition/equationInitialResidualCondition.C
@@ -132,15 +132,15 @@ apply()
 
     List<scalar> result(fieldNames_.size(), -VGREAT);
 
-    forAll(fieldNames_, fieldI)
+    forAll(fieldNames_, fieldi)
     {
-        const word& fieldName = fieldNames_[fieldI];
+        const word& fieldName = fieldNames_[fieldi];
 
         if (solverDict.found(fieldName))
         {
             const List<solverPerformance> sp(solverDict.lookup(fieldName));
             const scalar residual = sp.first().initialResidual();
-            result[fieldI] = residual;
+            result[fieldi] = residual;
 
             switch (mode_)
             {
@@ -203,14 +203,14 @@ apply()
                 << ": satisfied using threshold value: " << value_ << nl;
         }
 
-        forAll(result, resultI)
+        forAll(result, resulti)
         {
-            if (result[resultI] > 0)
+            if (result[resulti] > 0)
             {
                 if (log_)
                 {
-                    Info<< "    field: " << fieldNames_[resultI]
-                        << ", residual: " << result[resultI] << nl;
+                    Info<< "    field: " << fieldNames_[resulti]
+                        << ", residual: " << result[resulti] << nl;
                 }
             }
         }
diff --git a/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationMaxIterCondition/equationMaxIterCondition.C b/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationMaxIterCondition/equationMaxIterCondition.C
index afac40bdce..f23e69a3ea 100644
--- a/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationMaxIterCondition/equationMaxIterCondition.C
+++ b/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationMaxIterCondition/equationMaxIterCondition.C
@@ -105,15 +105,15 @@ bool Foam::functionObjects::runTimeControls::equationMaxIterCondition::apply()
 
     List<label> result(fieldNames_.size(), -1);
 
-    forAll(fieldNames_, fieldI)
+    forAll(fieldNames_, fieldi)
     {
-        const word& fieldName = fieldNames_[fieldI];
+        const word& fieldName = fieldNames_[fieldi];
 
         if (solverDict.found(fieldName))
         {
             const List<solverPerformance> sp(solverDict.lookup(fieldName));
             const label nIterations = sp.first().nIterations();
-            result[fieldI] = nIterations;
+            result[fieldi] = nIterations;
 
             if (nIterations > threshold_)
             {
@@ -154,14 +154,14 @@ bool Foam::functionObjects::runTimeControls::equationMaxIterCondition::apply()
                 << ": satisfied using threshold value: " << threshold_ << nl;
         }
 
-        forAll(result, resultI)
+        forAll(result, resulti)
         {
-            if (result[resultI] != -1)
+            if (result[resulti] != -1)
             {
                 if (log_)
                 {
-                    Info<< "    field: " << fieldNames_[resultI]
-                        << ", iterations: " << result[resultI] << nl;
+                    Info<< "    field: " << fieldNames_[resulti]
+                        << ", iterations: " << result[resulti] << nl;
                 }
             }
         }
diff --git a/src/functionObjects/utilities/runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.C b/src/functionObjects/utilities/runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.C
index 7f741d2ec6..839137a30b 100644
--- a/src/functionObjects/utilities/runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.C
+++ b/src/functionObjects/utilities/runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.C
@@ -110,9 +110,9 @@ bool Foam::functionObjects::runTimeControls::minMaxCondition::apply()
         return satisfied;
     }
 
-    forAll(fieldNames_, fieldI)
+    forAll(fieldNames_, fieldi)
     {
-        const word& fieldName = fieldNames_[fieldI];
+        const word& fieldName = fieldNames_[fieldi];
 
         const word valueType =
             state_.objectResultType(functionObjectName_, fieldName);
diff --git a/src/functionObjects/utilities/runTimeControl/runTimeControl.C b/src/functionObjects/utilities/runTimeControl/runTimeControl.C
index 4b18e6f16d..d9d05d7352 100644
--- a/src/functionObjects/utilities/runTimeControl/runTimeControl.C
+++ b/src/functionObjects/utilities/runTimeControl/runTimeControl.C
@@ -81,23 +81,23 @@ bool Foam::functionObjects::runTimeControls::runTimeControl::read
     const wordList conditionNames(conditionsDict.toc());
     conditions_.setSize(conditionNames.size());
 
-    label uniqueGroupI = 0;
-    forAll(conditionNames, conditionI)
+    label uniqueGroupi = 0;
+    forAll(conditionNames, conditioni)
     {
-        const word& conditionName = conditionNames[conditionI];
+        const word& conditionName = conditionNames[conditioni];
         const dictionary& dict = conditionsDict.subDict(conditionName);
 
         conditions_.set
         (
-            conditionI,
+            conditioni,
             runTimeCondition::New(conditionName, obr_, dict, *this)
         );
 
-        label groupI = conditions_[conditionI].groupID();
+        label groupi = conditions_[conditioni].groupID();
 
-        if (groupMap_.insert(groupI, uniqueGroupI))
+        if (groupMap_.insert(groupi, uniqueGroupi))
         {
-            uniqueGroupI++;
+            uniqueGroupi++;
         }
     }
 
@@ -114,9 +114,9 @@ bool Foam::functionObjects::runTimeControls::runTimeControl::read
     {
         // Check that at least one condition is active
         bool active = false;
-        forAll(conditions_, conditionI)
+        forAll(conditions_, conditioni)
         {
-            if (conditions_[conditionI].active())
+            if (conditions_[conditioni].active())
             {
                 active = true;
                 break;
@@ -146,32 +146,32 @@ bool Foam::functionObjects::runTimeControls::runTimeControl::execute()
     List<bool> groupSatisfied(groupMap_.size(), true);
     List<bool> groupActive(groupMap_.size(), false);
 
-    forAll(conditions_, conditionI)
+    forAll(conditions_, conditioni)
     {
-        runTimeCondition& condition = conditions_[conditionI];
+        runTimeCondition& condition = conditions_[conditioni];
 
         if (condition.active())
         {
             bool conditionSatisfied = condition.apply();
 
-            label groupI = condition.groupID();
+            label groupi = condition.groupID();
 
-            Map<label>::const_iterator conditionIter = groupMap_.find(groupI);
+            Map<label>::const_iterator conditionIter = groupMap_.find(groupi);
 
             if (conditionIter == groupMap_.end())
             {
                 FatalErrorInFunction
-                    << "group " << groupI << " not found in map"
+                    << "group " << groupi << " not found in map"
                     << abort(FatalError);
             }
 
             if (conditionSatisfied)
             {
-                IDs.append(conditionI);
+                IDs.append(conditioni);
 
                 groupActive[conditionIter()] = true;
 
-                if (groupI == -1)
+                if (groupi == -1)
                 {
                     // Condition not part of a group - only requires this to be
                     // satisfied for completion flag to be set
@@ -187,9 +187,9 @@ bool Foam::functionObjects::runTimeControls::runTimeControl::execute()
     }
 
     bool done = false;
-    forAll(groupSatisfied, groupI)
+    forAll(groupSatisfied, groupi)
     {
-        if (groupSatisfied[groupI] && groupActive[groupI])
+        if (groupSatisfied[groupi] && groupActive[groupi])
         {
             done = true;
             break;
@@ -198,10 +198,10 @@ bool Foam::functionObjects::runTimeControls::runTimeControl::execute()
 
     if (done)
     {
-        forAll(IDs, conditionI)
+        forAll(IDs, conditioni)
         {
-            Info<< "    " << conditions_[conditionI].type() << ": "
-                <<  conditions_[conditionI].name()
+            Info<< "    " << conditions_[conditioni].type() << ": "
+                <<  conditions_[conditioni].name()
                 << " condition satisfied" << nl;
         }
 
@@ -235,9 +235,9 @@ bool Foam::functionObjects::runTimeControls::runTimeControl::execute()
 
 bool Foam::functionObjects::runTimeControls::runTimeControl::write()
 {
-    forAll(conditions_, conditionI)
+    forAll(conditions_, conditioni)
     {
-        conditions_[conditionI].write();
+        conditions_[conditioni].write();
     }
 
     return true;
diff --git a/src/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.H b/src/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.H
index 2a00e997e0..d3ce16442c 100644
--- a/src/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.H
+++ b/src/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.H
@@ -40,7 +40,7 @@ Description
     setTimeStep1
     {
         type        setTimeStep;
-        functionObjectLibs ("libutilityFunctionObjects.so");
+        libs        ("libutilityFunctionObjects.so");
         ...
     }
     \endverbatim
diff --git a/src/functionObjects/utilities/systemCall/systemCall.C b/src/functionObjects/utilities/systemCall/systemCall.C
index 498457e10c..a2a0bd5041 100644
--- a/src/functionObjects/utilities/systemCall/systemCall.C
+++ b/src/functionObjects/utilities/systemCall/systemCall.C
@@ -107,9 +107,9 @@ bool Foam::functionObjects::systemCall::read(const dictionary& dict)
 
 bool Foam::functionObjects::systemCall::execute()
 {
-    forAll(executeCalls_, callI)
+    forAll(executeCalls_, calli)
     {
-        Foam::system(executeCalls_[callI]);
+        Foam::system(executeCalls_[calli]);
     }
 
     return true;
@@ -118,9 +118,9 @@ bool Foam::functionObjects::systemCall::execute()
 
 bool Foam::functionObjects::systemCall::end()
 {
-    forAll(endCalls_, callI)
+    forAll(endCalls_, calli)
     {
-        Foam::system(endCalls_[callI]);
+        Foam::system(endCalls_[calli]);
     }
 
     return true;
@@ -129,9 +129,9 @@ bool Foam::functionObjects::systemCall::end()
 
 bool Foam::functionObjects::systemCall::write()
 {
-    forAll(writeCalls_, callI)
+    forAll(writeCalls_, calli)
     {
-        Foam::system(writeCalls_[callI]);
+        Foam::system(writeCalls_[calli]);
     }
 
     return true;
diff --git a/src/functionObjects/utilities/writeDictionary/writeDictionary.C b/src/functionObjects/utilities/writeDictionary/writeDictionary.C
index 22c63d60d2..c0557ab37b 100644
--- a/src/functionObjects/utilities/writeDictionary/writeDictionary.C
+++ b/src/functionObjects/utilities/writeDictionary/writeDictionary.C
@@ -50,14 +50,14 @@ namespace functionObjects
 
 bool Foam::functionObjects::writeDictionary::tryDirectory
 (
-    const label dictI,
+    const label dicti,
     const word& location,
     bool& firstDict
 )
 {
     IOobject dictIO
     (
-        dictNames_[dictI],
+        dictNames_[dicti],
         location,
         obr_,
         IOobject::MUST_READ,
@@ -69,7 +69,7 @@ bool Foam::functionObjects::writeDictionary::tryDirectory
     {
         IOdictionary dict(dictIO);
 
-        if (dict.digest() != digests_[dictI])
+        if (dict.digest() != digests_[dicti])
         {
             if (firstDict)
             {
@@ -84,7 +84,7 @@ bool Foam::functionObjects::writeDictionary::tryDirectory
 
             IOobject::writeDivider(Info);
 
-            digests_[dictI] = dict.digest();
+            digests_[dicti] = dict.digest();
         }
 
         return true;
diff --git a/src/functionObjects/utilities/writeDictionary/writeDictionary.H b/src/functionObjects/utilities/writeDictionary/writeDictionary.H
index bb3cbd4047..b6d33bc694 100644
--- a/src/functionObjects/utilities/writeDictionary/writeDictionary.H
+++ b/src/functionObjects/utilities/writeDictionary/writeDictionary.H
@@ -75,7 +75,7 @@ class writeDictionary
         //- Helper function to write the dictionary if found at location
         bool tryDirectory
         (
-            const label dictI,
+            const label dicti,
             const word& location,
             bool& firstDict
         );
diff --git a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C
index 967f57cfc0..54052a3078 100644
--- a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C
+++ b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C
@@ -83,22 +83,22 @@ void Foam::snappyLayerDriver::dumpDisplacement
     OBJstream dispStr(prefix + "_disp.obj");
     Info<< "Writing all displacements to " << dispStr.name() << endl;
 
-    forAll(patchDisp, patchPointI)
+    forAll(patchDisp, patchPointi)
     {
-        const point& pt = pp.localPoints()[patchPointI];
-        dispStr.write(linePointRef(pt, pt + patchDisp[patchPointI]));
+        const point& pt = pp.localPoints()[patchPointi];
+        dispStr.write(linePointRef(pt, pt + patchDisp[patchPointi]));
     }
 
 
     OBJstream illStr(prefix + "_illegal.obj");
     Info<< "Writing invalid displacements to " << illStr.name() << endl;
 
-    forAll(patchDisp, patchPointI)
+    forAll(patchDisp, patchPointi)
     {
-        if (extrudeStatus[patchPointI] != EXTRUDE)
+        if (extrudeStatus[patchPointi] != EXTRUDE)
         {
-            const point& pt = pp.localPoints()[patchPointI];
-            illStr.write(linePointRef(pt, pt + patchDisp[patchPointI]));
+            const point& pt = pp.localPoints()[patchPointi];
+            illStr.write(linePointRef(pt, pt + patchDisp[patchPointi]));
         }
     }
 }
@@ -113,16 +113,16 @@ Foam::tmp<Foam::scalarField> Foam::snappyLayerDriver::avgPointData
     tmp<scalarField> tfaceFld(new scalarField(pp.size(), 0.0));
     scalarField& faceFld = tfaceFld.ref();
 
-    forAll(pp.localFaces(), faceI)
+    forAll(pp.localFaces(), facei)
     {
-        const face& f = pp.localFaces()[faceI];
+        const face& f = pp.localFaces()[facei];
         if (f.size())
         {
             forAll(f, fp)
             {
-                faceFld[faceI] += pointFld[f[fp]];
+                faceFld[facei] += pointFld[f[fp]];
             }
-            faceFld[faceI] /= f.size();
+            faceFld[facei] /= f.size();
         }
     }
     return tfaceFld;
@@ -143,13 +143,13 @@ void Foam::snappyLayerDriver::checkManifold
     // Check for edge-faces (surface pinched at edge)
     const labelListList& edgeFaces = fp.edgeFaces();
 
-    forAll(edgeFaces, edgeI)
+    forAll(edgeFaces, edgei)
     {
-        const labelList& eFaces = edgeFaces[edgeI];
+        const labelList& eFaces = edgeFaces[edgei];
 
         if (eFaces.size() > 2)
         {
-            const edge& e = fp.edges()[edgeI];
+            const edge& e = fp.edges()[edgei];
 
             nonManifoldPoints.insert(fp.meshPoints()[e[0]]);
             nonManifoldPoints.insert(fp.meshPoints()[e[1]]);
@@ -167,9 +167,9 @@ void Foam::snappyLayerDriver::checkMeshManifold() const
     // Get all outside faces
     labelList outsideFaces(mesh.nFaces() - mesh.nInternalFaces());
 
-    for (label faceI = mesh.nInternalFaces(); faceI < mesh.nFaces(); faceI++)
+    for (label facei = mesh.nInternalFaces(); facei < mesh.nFaces(); facei++)
     {
-         outsideFaces[faceI - mesh.nInternalFaces()] = faceI;
+         outsideFaces[facei - mesh.nInternalFaces()] = facei;
     }
 
     pointSet nonManifoldPoints
@@ -214,24 +214,24 @@ void Foam::snappyLayerDriver::checkMeshManifold() const
 // Unset extrusion on point. Returns true if anything unset.
 bool Foam::snappyLayerDriver::unmarkExtrusion
 (
-    const label patchPointI,
+    const label patchPointi,
     pointField& patchDisp,
     labelList& patchNLayers,
     List<extrudeMode>& extrudeStatus
 )
 {
-    if (extrudeStatus[patchPointI] == EXTRUDE)
+    if (extrudeStatus[patchPointi] == EXTRUDE)
     {
-        extrudeStatus[patchPointI] = NOEXTRUDE;
-        patchNLayers[patchPointI] = 0;
-        patchDisp[patchPointI] = Zero;
+        extrudeStatus[patchPointi] = NOEXTRUDE;
+        patchNLayers[patchPointi] = 0;
+        patchDisp[patchPointi] = Zero;
         return true;
     }
-    else if (extrudeStatus[patchPointI] == EXTRUDEREMOVE)
+    else if (extrudeStatus[patchPointi] == EXTRUDEREMOVE)
     {
-        extrudeStatus[patchPointI] = NOEXTRUDE;
-        patchNLayers[patchPointI] = 0;
-        patchDisp[patchPointI] = Zero;
+        extrudeStatus[patchPointi] = NOEXTRUDE;
+        patchNLayers[patchPointi] = 0;
+        patchDisp[patchPointi] = Zero;
         return true;
     }
     else
@@ -296,18 +296,18 @@ void Foam::snappyLayerDriver::handleNonManifolds
     checkManifold(pp, nonManifoldPoints);
 
     // 2. Remote check for boundary edges on coupled boundaries
-    forAll(edgeGlobalFaces, edgeI)
+    forAll(edgeGlobalFaces, edgei)
     {
         if
         (
-            pp.edgeFaces()[edgeI].size() == 1
-         && edgeGlobalFaces[edgeI].size() > 2
+            pp.edgeFaces()[edgei].size() == 1
+         && edgeGlobalFaces[edgei].size() > 2
         )
         {
             // So boundary edges that are connected to more than 2 processors
             // i.e. a non-manifold edge which is exactly on a processor
             // boundary.
-            const edge& e = pp.edges()[edgeI];
+            const edge& e = pp.edges()[edgei];
             nonManifoldPoints.insert(pp.meshPoints()[e[0]]);
             nonManifoldPoints.insert(pp.meshPoints()[e[1]]);
         }
@@ -330,19 +330,19 @@ void Foam::snappyLayerDriver::handleNonManifolds
             0
         );
 
-        forAll(edgeGlobalFaces, edgeI)
+        forAll(edgeGlobalFaces, edgei)
         {
-            label meshEdgeI = meshEdges[edgeI];
+            label meshEdgei = meshEdges[edgei];
 
             if
             (
-                pp.edgeFaces()[edgeI].size() == 1
-             && edgeGlobalFaces[edgeI].size() == 1
-             && isCoupledEdge[meshEdgeI]
+                pp.edgeFaces()[edgei].size() == 1
+             && edgeGlobalFaces[edgei].size() == 1
+             && isCoupledEdge[meshEdgei]
             )
             {
                 // Edge of patch but no continuation across processor.
-                const edge& e = pp.edges()[edgeI];
+                const edge& e = pp.edges()[edgei];
                 //Pout<< "** Stopping extrusion on edge "
                 //    << pp.localPoints()[e[0]]
                 //    << pp.localPoints()[e[1]] << endl;
@@ -363,13 +363,13 @@ void Foam::snappyLayerDriver::handleNonManifolds
     {
         const labelList& meshPoints = pp.meshPoints();
 
-        forAll(meshPoints, patchPointI)
+        forAll(meshPoints, patchPointi)
         {
-            if (nonManifoldPoints.found(meshPoints[patchPointI]))
+            if (nonManifoldPoints.found(meshPoints[patchPointi]))
             {
                 unmarkExtrusion
                 (
-                    patchPointI,
+                    patchPointi,
                     patchDisp,
                     patchNLayers,
                     extrudeStatus
@@ -405,17 +405,17 @@ void Foam::snappyLayerDriver::handleFeatureAngle
 
         const labelListList& edgeFaces = pp.edgeFaces();
 
-        forAll(edgeFaces, edgeI)
+        forAll(edgeFaces, edgei)
         {
-            const labelList& eFaces = pp.edgeFaces()[edgeI];
+            const labelList& eFaces = pp.edgeFaces()[edgei];
 
-            label meshEdgeI = meshEdges[edgeI];
+            label meshEdgei = meshEdges[edgei];
 
             forAll(eFaces, i)
             {
                 nomalsCombine()
                 (
-                    edgeNormal[meshEdgeI],
+                    edgeNormal[meshEdgei],
                     pp.faceNormals()[eFaces[i]]
                 );
             }
@@ -449,13 +449,13 @@ void Foam::snappyLayerDriver::handleFeatureAngle
 
         // Now on coupled edges the edgeNormal will have been truncated and
         // only be still be the old value where two faces have the same normal
-        forAll(edgeFaces, edgeI)
+        forAll(edgeFaces, edgei)
         {
-            const labelList& eFaces = pp.edgeFaces()[edgeI];
+            const labelList& eFaces = pp.edgeFaces()[edgei];
 
-            label meshEdgeI = meshEdges[edgeI];
+            label meshEdgei = meshEdges[edgei];
 
-            const vector& n = edgeNormal[meshEdgeI];
+            const vector& n = edgeNormal[meshEdgei];
 
             if (n != point::max)
             {
@@ -463,7 +463,7 @@ void Foam::snappyLayerDriver::handleFeatureAngle
 
                 if (cos < minCos)
                 {
-                    const edge& e = pp.edges()[edgeI];
+                    const edge& e = pp.edges()[edgei];
 
                     unmarkExtrusion
                     (
@@ -528,13 +528,13 @@ void Foam::snappyLayerDriver::handleWarpedFaces
 
         if (f.size() > 3)
         {
-            label faceI = pp.addressing()[i];
+            label facei = pp.addressing()[i];
 
-            label ownLevel = cellLevel[mesh.faceOwner()[faceI]];
+            label ownLevel = cellLevel[mesh.faceOwner()[facei]];
             scalar edgeLen = edge0Len/(1<<ownLevel);
 
             // Normal distance to face centre plane
-            const point& fc = mesh.faceCentres()[faceI];
+            const point& fc = mesh.faceCentres()[facei];
             const vector& fn = pp.faceNormals()[i];
 
             scalarField vProj(f.size());
@@ -595,21 +595,21 @@ void Foam::snappyLayerDriver::handleWarpedFaces
 //    cellSet multiPatchCells(mesh, "multiPatchCells", pp.size());
 //
 //    // Detect points that use multiple faces on same cell.
-//    forAll(pointFaces, patchPointI)
+//    forAll(pointFaces, patchPointi)
 //    {
-//        const labelList& pFaces = pointFaces[patchPointI];
+//        const labelList& pFaces = pointFaces[patchPointi];
 //
 //        labelHashSet pointCells(pFaces.size());
 //
 //        forAll(pFaces, i)
 //        {
-//            label cellI = mesh.faceOwner()[pp.addressing()[pFaces[i]]];
+//            label celli = mesh.faceOwner()[pp.addressing()[pFaces[i]]];
 //
-//            if (!pointCells.insert(cellI))
+//            if (!pointCells.insert(celli))
 //            {
 //                // Second or more occurrence of cell so cell has two or more
 //                // pp faces connected to this point.
-//                multiPatchCells.insert(cellI);
+//                multiPatchCells.insert(celli);
 //            }
 //        }
 //    }
@@ -639,24 +639,24 @@ void Foam::snappyLayerDriver::handleWarpedFaces
 //        // (has to be done in separate loop since having one point on
 //        // multipatches has to reset extrusion on all points of cell)
 //
-//        forAll(pointFaces, patchPointI)
+//        forAll(pointFaces, patchPointi)
 //        {
-//            if (extrudeStatus[patchPointI] != NOEXTRUDE)
+//            if (extrudeStatus[patchPointi] != NOEXTRUDE)
 //            {
-//                const labelList& pFaces = pointFaces[patchPointI];
+//                const labelList& pFaces = pointFaces[patchPointi];
 //
 //                forAll(pFaces, i)
 //                {
-//                    label cellI =
+//                    label celli =
 //                        mesh.faceOwner()[pp.addressing()[pFaces[i]]];
 //
-//                    if (multiPatchCells.found(cellI))
+//                    if (multiPatchCells.found(celli))
 //                    {
 //                        if
 //                        (
 //                            unmarkExtrusion
 //                            (
-//                                patchPointI,
+//                                patchPointi,
 //                                patchDisp,
 //                                patchNLayers,
 //                                extrudeStatus
@@ -701,18 +701,18 @@ void Foam::snappyLayerDriver::setNumLayers
 
     forAll(patchIDs, i)
     {
-        label patchI = patchIDs[i];
+        label patchi = patchIDs[i];
 
-        const labelList& meshPoints = mesh.boundaryMesh()[patchI].meshPoints();
+        const labelList& meshPoints = mesh.boundaryMesh()[patchi].meshPoints();
 
-        label wantedLayers = patchToNLayers[patchI];
+        label wantedLayers = patchToNLayers[patchi];
 
-        forAll(meshPoints, patchPointI)
+        forAll(meshPoints, patchPointi)
         {
-            label ppPointI = pp.meshPointMap()[meshPoints[patchPointI]];
+            label ppPointi = pp.meshPointMap()[meshPoints[patchPointi]];
 
-            maxLayers[ppPointI] = max(wantedLayers, maxLayers[ppPointI]);
-            minLayers[ppPointI] = min(wantedLayers, minLayers[ppPointI]);
+            maxLayers[ppPointi] = max(wantedLayers, maxLayers[ppPointi]);
+            minLayers[ppPointi] = min(wantedLayers, minLayers[ppPointi]);
         }
     }
 
@@ -776,9 +776,9 @@ void Foam::snappyLayerDriver::setNumLayers
 
     // Calculate number of cells to create
     nAddedCells = 0;
-    forAll(pp.localFaces(), faceI)
+    forAll(pp.localFaces(), facei)
     {
-        const face& f = pp.localFaces()[faceI];
+        const face& f = pp.localFaces()[facei];
 
         // Get max of extrusion per point
         label nCells = 0;
@@ -817,35 +817,35 @@ Foam::snappyLayerDriver::makeLayerDisplacementField
         slipPointPatchVectorField::typeName
     );
     wordList actualPatchTypes(patchFieldTypes.size());
-    forAll(pointPatches, patchI)
+    forAll(pointPatches, patchi)
     {
-        actualPatchTypes[patchI] = pointPatches[patchI].type();
+        actualPatchTypes[patchi] = pointPatches[patchi].type();
     }
 
-    forAll(numLayers, patchI)
+    forAll(numLayers, patchi)
     {
         //  0 layers: do not allow slip so fixedValue 0
         // >0 layers: fixedValue which gets adapted
-        if (numLayers[patchI] == 0)
+        if (numLayers[patchi] == 0)
         {
-            patchFieldTypes[patchI] =
+            patchFieldTypes[patchi] =
                 zeroFixedValuePointPatchVectorField::typeName;
         }
-        else if (numLayers[patchI] > 0)
+        else if (numLayers[patchi] > 0)
         {
-            patchFieldTypes[patchI] = fixedValuePointPatchVectorField::typeName;
+            patchFieldTypes[patchi] = fixedValuePointPatchVectorField::typeName;
         }
     }
 
-    forAll(pointPatches, patchI)
+    forAll(pointPatches, patchi)
     {
-        if (isA<processorPointPatch>(pointPatches[patchI]))
+        if (isA<processorPointPatch>(pointPatches[patchi]))
         {
-            patchFieldTypes[patchI] = calculatedPointPatchVectorField::typeName;
+            patchFieldTypes[patchi] = calculatedPointPatchVectorField::typeName;
         }
-        else if (isA<cyclicPointPatch>(pointPatches[patchI]))
+        else if (isA<cyclicPointPatch>(pointPatches[patchi]))
         {
-            patchFieldTypes[patchI] = cyclicSlipPointPatchVectorField::typeName;
+            patchFieldTypes[patchi] = cyclicSlipPointPatchVectorField::typeName;
         }
     }
 
@@ -892,9 +892,9 @@ void Foam::snappyLayerDriver::growNoExtrusion
 
     label nGrown = 0;
 
-    forAll(localFaces, faceI)
+    forAll(localFaces, facei)
     {
-        const face& f = localFaces[faceI];
+        const face& f = localFaces[facei];
 
         bool hasSqueeze = false;
         forAll(f, fp)
@@ -950,12 +950,12 @@ void Foam::snappyLayerDriver::growNoExtrusion
     }
 
 
-    forAll(extrudeStatus, patchPointI)
+    forAll(extrudeStatus, patchPointi)
     {
-        if (extrudeStatus[patchPointI] == NOEXTRUDE)
+        if (extrudeStatus[patchPointi] == NOEXTRUDE)
         {
-            patchDisp[patchPointI] = Zero;
-            patchNLayers[patchPointI] = 0;
+            patchDisp[patchPointi] = Zero;
+            patchNLayers[patchPointi] = 0;
         }
     }
 
@@ -1022,42 +1022,41 @@ void Foam::snappyLayerDriver::determineSidePatches
         // so prepare to renumber edgePatchID
         Map<label> wantedToAddedPatch;
 
-        for (label patchI = nOldPatches; patchI < nPatches; patchI++)
+        for (label patchi = nOldPatches; patchi < nPatches; patchi++)
         {
-            label nbrProcI = patchToNbrProc[patchI];
-            word name =
-                    "procBoundary"
-                  + Foam::name(Pstream::myProcNo())
-                  + "to"
-                  + Foam::name(nbrProcI);
+            label nbrProci = patchToNbrProc[patchi];
+            word name
+            (
+                processorPolyPatch::newName(Pstream::myProcNo(), nbrProci)
+            );
 
             dictionary patchDict;
             patchDict.add("type", processorPolyPatch::typeName);
             patchDict.add("myProcNo", Pstream::myProcNo());
-            patchDict.add("neighbProcNo", nbrProcI);
+            patchDict.add("neighbProcNo", nbrProci);
             patchDict.add("nFaces", 0);
             patchDict.add("startFace", mesh.nFaces());
 
-            //Pout<< "Adding patch " << patchI
+            //Pout<< "Adding patch " << patchi
             //    << " name:" << name
             //    << " between " << Pstream::myProcNo()
-            //    << " and " << nbrProcI << endl;
+            //    << " and " << nbrProci << endl;
 
-            label procPatchI = meshRefiner_.appendPatch
+            label procPatchi = meshRefiner_.appendPatch
             (
                 mesh,
                 mesh.boundaryMesh().size(), // new patch index
                 name,
                 patchDict
             );
-            wantedToAddedPatch.insert(patchI, procPatchI);
+            wantedToAddedPatch.insert(patchi, procPatchi);
         }
 
         // Renumber edgePatchID
         forAll(edgePatchID, i)
         {
-            label patchI = edgePatchID[i];
-            Map<label>::const_iterator fnd = wantedToAddedPatch.find(patchI);
+            label patchi = edgePatchID[i];
+            Map<label>::const_iterator fnd = wantedToAddedPatch.find(patchi);
             if (fnd != wantedToAddedPatch.end())
             {
                 edgePatchID[i] = fnd();
@@ -1102,38 +1101,38 @@ void Foam::snappyLayerDriver::calculateLayerThickness
 
     forAll(patchIDs, i)
     {
-        label patchI = patchIDs[i];
+        label patchi = patchIDs[i];
 
-        const labelList& meshPoints = patches[patchI].meshPoints();
+        const labelList& meshPoints = patches[patchi].meshPoints();
 
-        forAll(meshPoints, patchPointI)
+        forAll(meshPoints, patchPointi)
         {
-            label ppPointI = pp.meshPointMap()[meshPoints[patchPointI]];
+            label ppPointi = pp.meshPointMap()[meshPoints[patchPointi]];
 
-            firstLayerThickness[ppPointI] = min
+            firstLayerThickness[ppPointi] = min
             (
-                firstLayerThickness[ppPointI],
-                layerParams.firstLayerThickness()[patchI]
+                firstLayerThickness[ppPointi],
+                layerParams.firstLayerThickness()[patchi]
             );
-            finalLayerThickness[ppPointI] = min
+            finalLayerThickness[ppPointi] = min
             (
-                finalLayerThickness[ppPointI],
-                layerParams.finalLayerThickness()[patchI]
+                finalLayerThickness[ppPointi],
+                layerParams.finalLayerThickness()[patchi]
             );
-            totalThickness[ppPointI] = min
+            totalThickness[ppPointi] = min
             (
-                totalThickness[ppPointI],
-                layerParams.thickness()[patchI]
+                totalThickness[ppPointi],
+                layerParams.thickness()[patchi]
             );
-            expRatio[ppPointI] = min
+            expRatio[ppPointi] = min
             (
-                expRatio[ppPointI],
-                layerParams.expansionRatio()[patchI]
+                expRatio[ppPointi],
+                layerParams.expansionRatio()[patchi]
             );
-            minThickness[ppPointI] = min
+            minThickness[ppPointi] = min
             (
-                minThickness[ppPointI],
-                layerParams.minThickness()[patchI]
+                minThickness[ppPointi],
+                layerParams.minThickness()[patchi]
             );
         }
     }
@@ -1231,14 +1230,14 @@ void Foam::snappyLayerDriver::calculateLayerThickness
         );
 
 
-        forAll(maxPointLevel, pointI)
+        forAll(maxPointLevel, pointi)
         {
             // Find undistorted edge size for this level.
-            scalar edgeLen = edge0Len/(1<<maxPointLevel[pointI]);
-            firstLayerThickness[pointI] *= edgeLen;
-            finalLayerThickness[pointI] *= edgeLen;
-            totalThickness[pointI] *= edgeLen;
-            minThickness[pointI] *= edgeLen;
+            scalar edgeLen = edge0Len/(1<<maxPointLevel[pointi]);
+            firstLayerThickness[pointi] *= edgeLen;
+            finalLayerThickness[pointi] *= edgeLen;
+            totalThickness[pointi] *= edgeLen;
+            minThickness[pointi] *= edgeLen;
         }
     }
 
@@ -1247,24 +1246,24 @@ void Foam::snappyLayerDriver::calculateLayerThickness
     // Rework thickness parameters into overall thickness
     // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    forAll(firstLayerThickness, pointI)
+    forAll(firstLayerThickness, pointi)
     {
-        thickness[pointI] = layerParams.layerThickness
+        thickness[pointi] = layerParams.layerThickness
         (
-            patchNLayers[pointI],
-            firstLayerThickness[pointI],
-            finalLayerThickness[pointI],
-            totalThickness[pointI],
-            expRatio[pointI]
+            patchNLayers[pointi],
+            firstLayerThickness[pointi],
+            finalLayerThickness[pointi],
+            totalThickness[pointi],
+            expRatio[pointi]
         );
 
-        expansionRatio[pointI] = layerParams.layerExpansionRatio
+        expansionRatio[pointi] = layerParams.layerExpansionRatio
         (
-            patchNLayers[pointI],
-            firstLayerThickness[pointI],
-            finalLayerThickness[pointI],
-            totalThickness[pointI],
-            expRatio[pointI]
+            patchNLayers[pointi],
+            firstLayerThickness[pointi],
+            finalLayerThickness[pointi],
+            totalThickness[pointi],
+            expRatio[pointi]
         );
     }
 
@@ -1281,8 +1280,8 @@ void Foam::snappyLayerDriver::calculateLayerThickness
         label maxPatchNameLen = 0;
         forAll(patchIDs, i)
         {
-            label patchI = patchIDs[i];
-            word patchName = patches[patchI].name();
+            label patchi = patchIDs[i];
+            word patchName = patches[patchi].name();
             maxPatchNameLen = max(maxPatchNameLen, label(patchName.size()));
         }
 
@@ -1299,29 +1298,29 @@ void Foam::snappyLayerDriver::calculateLayerThickness
 
         forAll(patchIDs, i)
         {
-            label patchI = patchIDs[i];
+            label patchi = patchIDs[i];
 
-            const labelList& meshPoints = patches[patchI].meshPoints();
+            const labelList& meshPoints = patches[patchi].meshPoints();
 
             scalar sumThickness = 0;
             scalar sumNearWallThickness = 0;
             label nMasterPoints = 0;
 
-            forAll(meshPoints, patchPointI)
+            forAll(meshPoints, patchPointi)
             {
-                label meshPointI = meshPoints[patchPointI];
-                if (isMasterPoint[meshPointI])
+                label meshPointi = meshPoints[patchPointi];
+                if (isMasterPoint[meshPointi])
                 {
-                    label ppPointI = pp.meshPointMap()[meshPointI];
+                    label ppPointi = pp.meshPointMap()[meshPointi];
 
-                    sumThickness += thickness[ppPointI];
+                    sumThickness += thickness[ppPointi];
                     sumNearWallThickness += layerParams.firstLayerThickness
                     (
-                        patchNLayers[ppPointI],
-                        firstLayerThickness[ppPointI],
-                        finalLayerThickness[ppPointI],
-                        thickness[ppPointI],
-                        expansionRatio[ppPointI]
+                        patchNLayers[ppPointi],
+                        firstLayerThickness[ppPointi],
+                        finalLayerThickness[ppPointi],
+                        thickness[ppPointi],
+                        expansionRatio[ppPointi]
                     );
                     nMasterPoints++;
                 }
@@ -1344,10 +1343,10 @@ void Foam::snappyLayerDriver::calculateLayerThickness
             }
 
             Info<< setf(ios_base::left) << setw(maxPatchNameLen)
-                << patches[patchI].name() << setprecision(3)
+                << patches[patchi].name() << setprecision(3)
                 << " " << setw(8)
-                << returnReduce(patches[patchI].size(), sumOp<scalar>())
-                << " " << setw(6) << layerParams.numLayers()[patchI]
+                << returnReduce(patches[patchi].size(), sumOp<scalar>())
+                << " " << setw(6) << layerParams.numLayers()[patchi]
                 << " " << setw(8) << avgNearWallThickness
                 << "  " << setw(8) << avgThickness
                 << endl;
@@ -1525,57 +1524,57 @@ void Foam::snappyLayerDriver::getPatchDisplacement
 
 
     // Check if no extrude possible.
-    forAll(pointNormals, patchPointI)
+    forAll(pointNormals, patchPointi)
     {
-        label meshPointI = pp.meshPoints()[patchPointI];
+        label meshPointi = pp.meshPoints()[patchPointi];
 
-        if (extrudeStatus[patchPointI] == NOEXTRUDE)
+        if (extrudeStatus[patchPointi] == NOEXTRUDE)
         {
             // Do not use unmarkExtrusion; forcibly set to zero extrusion.
-            patchNLayers[patchPointI] = 0;
-            patchDisp[patchPointI] = Zero;
+            patchNLayers[patchPointi] = 0;
+            patchDisp[patchPointi] = Zero;
         }
         else
         {
             // Get normal
-            const vector& n = pointNormals[patchPointI];
+            const vector& n = pointNormals[patchPointi];
 
-            if (!meshTools::visNormal(n, faceNormals, pointFaces[patchPointI]))
+            if (!meshTools::visNormal(n, faceNormals, pointFaces[patchPointi]))
             {
                 if (debug&meshRefinement::ATTRACTION)
                 {
-                    Pout<< "No valid normal for point " << meshPointI
-                        << ' ' << pp.points()[meshPointI]
+                    Pout<< "No valid normal for point " << meshPointi
+                        << ' ' << pp.points()[meshPointi]
                         << "; setting displacement to "
-                        << patchDisp[patchPointI]
+                        << patchDisp[patchPointi]
                         << endl;
                 }
 
-                extrudeStatus[patchPointI] = EXTRUDEREMOVE;
+                extrudeStatus[patchPointi] = EXTRUDEREMOVE;
                 nNoVisNormal++;
             }
         }
     }
 
     // At illegal points make displacement average of new neighbour positions
-    forAll(extrudeStatus, patchPointI)
+    forAll(extrudeStatus, patchPointi)
     {
-        if (extrudeStatus[patchPointI] == EXTRUDEREMOVE)
+        if (extrudeStatus[patchPointi] == EXTRUDEREMOVE)
         {
             point avg(Zero);
             label nPoints = 0;
 
-            const labelList& pEdges = pp.pointEdges()[patchPointI];
+            const labelList& pEdges = pp.pointEdges()[patchPointi];
 
             forAll(pEdges, i)
             {
-                label edgeI = pEdges[i];
+                label edgei = pEdges[i];
 
-                label otherPointI = pp.edges()[edgeI].otherVertex(patchPointI);
+                label otherPointi = pp.edges()[edgei].otherVertex(patchPointi);
 
-                if (extrudeStatus[otherPointI] != NOEXTRUDE)
+                if (extrudeStatus[otherPointi] != NOEXTRUDE)
                 {
-                    avg += localPoints[otherPointI] + patchDisp[otherPointI];
+                    avg += localPoints[otherPointi] + patchDisp[otherPointi];
                     nPoints++;
                 }
             }
@@ -1585,15 +1584,15 @@ void Foam::snappyLayerDriver::getPatchDisplacement
                 if (debug&meshRefinement::ATTRACTION)
                 {
                     Pout<< "Displacement at illegal point "
-                        << localPoints[patchPointI]
+                        << localPoints[patchPointi]
                         << " set to "
-                        << (avg / nPoints - localPoints[patchPointI])
+                        << (avg / nPoints - localPoints[patchPointi])
                         << endl;
                 }
 
-                patchDisp[patchPointI] =
+                patchDisp[patchPointi] =
                     avg / nPoints
-                  - localPoints[patchPointI];
+                  - localPoints[patchPointi];
 
                 nExtrudeRemove++;
             }
@@ -1628,15 +1627,15 @@ void Foam::snappyLayerDriver::getPatchDisplacement
 bool Foam::snappyLayerDriver::sameEdgeNeighbour
 (
     const labelListList& globalEdgeFaces,
-    const label myGlobalFaceI,
-    const label nbrGlobFaceI,
-    const label edgeI
+    const label myGlobalFacei,
+    const label nbrGlobFacei,
+    const label edgei
 ) const
 {
-    const labelList& eFaces = globalEdgeFaces[edgeI];
+    const labelList& eFaces = globalEdgeFaces[edgei];
     if (eFaces.size() == 2)
     {
-        return edge(myGlobalFaceI, nbrGlobFaceI) == edge(eFaces[0], eFaces[1]);
+        return edge(myGlobalFacei, nbrGlobFacei) == edge(eFaces[0], eFaces[1]);
     }
     else
     {
@@ -1649,15 +1648,15 @@ void Foam::snappyLayerDriver::getVertexString
 (
     const indirectPrimitivePatch& pp,
     const labelListList& globalEdgeFaces,
-    const label faceI,
-    const label edgeI,
-    const label myGlobFaceI,
-    const label nbrGlobFaceI,
+    const label facei,
+    const label edgei,
+    const label myGlobFacei,
+    const label nbrGlobFacei,
     DynamicList<label>& vertices
 ) const
 {
-    const labelList& fEdges = pp.faceEdges()[faceI];
-    label fp = findIndex(fEdges, edgeI);
+    const labelList& fEdges = pp.faceEdges()[facei];
+    label fp = findIndex(fEdges, edgei);
 
     if (fp == -1)
     {
@@ -1676,8 +1675,8 @@ void Foam::snappyLayerDriver::getVertexString
            !sameEdgeNeighbour
             (
                 globalEdgeFaces,
-                myGlobFaceI,
-                nbrGlobFaceI,
+                myGlobFacei,
+                nbrGlobFacei,
                 fEdges[prevFp]
             )
         )
@@ -1696,8 +1695,8 @@ void Foam::snappyLayerDriver::getVertexString
            !sameEdgeNeighbour
             (
                 globalEdgeFaces,
-                myGlobFaceI,
-                nbrGlobFaceI,
+                myGlobFacei,
+                nbrGlobFacei,
                 fEdges[nextFp]
             )
         )
@@ -1707,7 +1706,7 @@ void Foam::snappyLayerDriver::getVertexString
         endFp = nextFp;
     }
 
-    const face& f = pp.localFaces()[faceI];
+    const face& f = pp.localFaces()[facei];
     vertices.clear();
     fp = startFp;
     while (fp != endFp)
@@ -1744,30 +1743,30 @@ Foam::label Foam::snappyLayerDriver::truncateDisplacement
 
     forAllConstIter(faceSet, illegalPatchFaces, iter)
     {
-        label faceI = iter.key();
+        label facei = iter.key();
 
-        if (mesh.isInternalFace(faceI))
+        if (mesh.isInternalFace(facei))
         {
             FatalErrorInFunction
                 << "Faceset " << illegalPatchFaces.name()
-                << " contains internal face " << faceI << nl
+                << " contains internal face " << facei << nl
                 << "It should only contain patch faces" << abort(FatalError);
         }
 
-        const face& f = mesh.faces()[faceI];
+        const face& f = mesh.faces()[facei];
 
 
         forAll(f, fp)
         {
             if (meshPointMap.found(f[fp]))
             {
-                label patchPointI = meshPointMap[f[fp]];
+                label patchPointi = meshPointMap[f[fp]];
 
-                if (extrudeStatus[patchPointI] != NOEXTRUDE)
+                if (extrudeStatus[patchPointi] != NOEXTRUDE)
                 {
                     unmarkExtrusion
                     (
-                        patchPointI,
+                        patchPointi,
                         patchDisp,
                         patchNLayers,
                         extrudeStatus
@@ -1778,15 +1777,15 @@ Foam::label Foam::snappyLayerDriver::truncateDisplacement
         }
     }
 
-    forAll(patchDisp, patchPointI)
+    forAll(patchDisp, patchPointi)
     {
-        if (mag(patchDisp[patchPointI]) < minThickness[patchPointI])
+        if (mag(patchDisp[patchPointi]) < minThickness[patchPointi])
         {
             if
             (
                 unmarkExtrusion
                 (
-                    patchPointI,
+                    patchPointi,
                     patchDisp,
                     patchNLayers,
                     extrudeStatus
@@ -1796,11 +1795,11 @@ Foam::label Foam::snappyLayerDriver::truncateDisplacement
                 nChanged++;
             }
         }
-        else if (extrudeStatus[patchPointI] == NOEXTRUDE)
+        else if (extrudeStatus[patchPointi] == NOEXTRUDE)
         {
             // Make sure displacement is 0. Should already be so but ...
-            patchDisp[patchPointI] = Zero;
-            patchNLayers[patchPointI] = 0;
+            patchDisp[patchPointi] = Zero;
+            patchNLayers[patchPointi] = 0;
         }
     }
 
@@ -1897,20 +1896,20 @@ Foam::label Foam::snappyLayerDriver::truncateDisplacement
         label nButterFly = 0;
         {
             DynamicList<label> stringedVerts;
-            forAll(pp.edges(), edgeI)
+            forAll(pp.edges(), edgei)
             {
-                const labelList& globFaces = edgeGlobalFaces[edgeI];
+                const labelList& globFaces = edgeGlobalFaces[edgei];
 
                 if (globFaces.size() == 2)
                 {
-                    label myFaceI = pp.edgeFaces()[edgeI][0];
-                    label myGlobalFaceI = globalFaces.toGlobal
+                    label myFacei = pp.edgeFaces()[edgei][0];
+                    label myGlobalFacei = globalFaces.toGlobal
                     (
-                        pp.addressing()[myFaceI]
+                        pp.addressing()[myFacei]
                     );
-                    label nbrGlobalFaceI =
+                    label nbrGlobalFacei =
                     (
-                        globFaces[0] != myGlobalFaceI
+                        globFaces[0] != myGlobalFacei
                       ? globFaces[0]
                       : globFaces[1]
                     );
@@ -1918,10 +1917,10 @@ Foam::label Foam::snappyLayerDriver::truncateDisplacement
                     (
                         pp,
                         edgeGlobalFaces,
-                        myFaceI,
-                        edgeI,
-                        myGlobalFaceI,
-                        nbrGlobalFaceI,
+                        myFacei,
+                        edgei,
+                        myGlobalFacei,
+                        nbrGlobalFacei,
                         stringedVerts
                     );
 
@@ -1935,10 +1934,7 @@ Foam::label Foam::snappyLayerDriver::truncateDisplacement
                         bool pinch = false;
                         for (label i = 1; i < stringedVerts.size()-1; i++)
                         {
-                            if
-                            (
-                                extrudeStatus[stringedVerts[i]] == NOEXTRUDE
-                            )
+                            if (extrudeStatus[stringedVerts[i]] == NOEXTRUDE)
                             {
                                 pinch = true;
                                 break;
@@ -2059,15 +2055,15 @@ void Foam::snappyLayerDriver::setupLayerInfoTruncation
             << " nBufferCellsNoExtrude set to less than 0  ..." << endl;
 
         // Face layers if any point gets extruded
-        forAll(pp.localFaces(), patchFaceI)
+        forAll(pp.localFaces(), patchFacei)
         {
-            const face& f = pp.localFaces()[patchFaceI];
+            const face& f = pp.localFaces()[patchFacei];
 
             forAll(f, fp)
             {
                 if (patchNLayers[f[fp]] > 0)
                 {
-                    nPatchFaceLayers[patchFaceI] = patchNLayers[f[fp]];
+                    nPatchFaceLayers[patchFacei] = patchNLayers[f[fp]];
                     break;
                 }
             }
@@ -2075,11 +2071,11 @@ void Foam::snappyLayerDriver::setupLayerInfoTruncation
         nPatchPointLayers = patchNLayers;
 
         // Set any unset patch face layers
-        forAll(nPatchFaceLayers, patchFaceI)
+        forAll(nPatchFaceLayers, patchFacei)
         {
-            if (nPatchFaceLayers[patchFaceI] == -1)
+            if (nPatchFaceLayers[patchFacei] == -1)
             {
-                nPatchFaceLayers[patchFaceI] = 0;
+                nPatchFaceLayers[patchFacei] = 0;
             }
         }
     }
@@ -2088,9 +2084,9 @@ void Foam::snappyLayerDriver::setupLayerInfoTruncation
         // Determine max point layers per face.
         labelList maxLevel(pp.size(), 0);
 
-        forAll(pp.localFaces(), patchFaceI)
+        forAll(pp.localFaces(), patchFacei)
         {
-            const face& f = pp.localFaces()[patchFaceI];
+            const face& f = pp.localFaces()[patchFacei];
 
             // find patch faces where layer terminates (i.e contains extrude
             // and noextrude points).
@@ -2114,12 +2110,12 @@ void Foam::snappyLayerDriver::setupLayerInfoTruncation
 
                 if (noExtrude)
                 {
-                    nPatchFaceLayers[patchFaceI] = 1;
-                    maxLevel[patchFaceI] = mLevel;
+                    nPatchFaceLayers[patchFacei] = 1;
+                    maxLevel[patchFacei] = mLevel;
                 }
                 else
                 {
-                    maxLevel[patchFaceI] = mLevel;
+                    maxLevel[patchFacei] = mLevel;
                 }
             }
         }
@@ -2153,19 +2149,19 @@ void Foam::snappyLayerDriver::setupLayerInfoTruncation
 
                 boolList foundNeighbour(pp.nPoints(), false);
 
-                forAll(pp.meshPoints(), patchPointI)
+                forAll(pp.meshPoints(), patchPointi)
                 {
-                    forAll(pointFaces[patchPointI], pointFaceI)
+                    forAll(pointFaces[patchPointi], pointFacei)
                     {
-                        label faceI = pointFaces[patchPointI][pointFaceI];
+                        label facei = pointFaces[patchPointi][pointFacei];
 
                         if
                         (
-                            nPatchFaceLayers[faceI] != -1
-                         && maxLevel[faceI] > 0
+                            nPatchFaceLayers[facei] != -1
+                         && maxLevel[facei] > 0
                         )
                         {
-                            foundNeighbour[patchPointI] = true;
+                            foundNeighbour[patchPointi] = true;
                             break;
                         }
                     }
@@ -2180,21 +2176,21 @@ void Foam::snappyLayerDriver::setupLayerInfoTruncation
                     false               // null value
                 );
 
-                forAll(pp.meshPoints(), patchPointI)
+                forAll(pp.meshPoints(), patchPointi)
                 {
-                    if (foundNeighbour[patchPointI])
+                    if (foundNeighbour[patchPointi])
                     {
-                        forAll(pointFaces[patchPointI], pointFaceI)
+                        forAll(pointFaces[patchPointi], pointFacei)
                         {
-                            label faceI = pointFaces[patchPointI][pointFaceI];
+                            label facei = pointFaces[patchPointi][pointFacei];
                             if
                             (
-                                nPatchFaceLayers[faceI] == -1
-                             && maxLevel[faceI] > 0
-                             && ilevel < maxLevel[faceI]
+                                nPatchFaceLayers[facei] == -1
+                             && maxLevel[facei] > 0
+                             && ilevel < maxLevel[facei]
                             )
                             {
-                                tempCounter[faceI] = ilevel;
+                                tempCounter[facei] = ilevel;
                             }
                         }
                     }
@@ -2203,31 +2199,31 @@ void Foam::snappyLayerDriver::setupLayerInfoTruncation
             }
         }
 
-        forAll(pp.localFaces(), patchFaceI)
+        forAll(pp.localFaces(), patchFacei)
         {
-            if (nPatchFaceLayers[patchFaceI] == -1)
+            if (nPatchFaceLayers[patchFacei] == -1)
             {
-                nPatchFaceLayers[patchFaceI] = maxLevel[patchFaceI];
+                nPatchFaceLayers[patchFacei] = maxLevel[patchFacei];
             }
         }
 
-        forAll(pp.meshPoints(), patchPointI)
+        forAll(pp.meshPoints(), patchPointi)
         {
-            if (extrudeStatus[patchPointI] != NOEXTRUDE)
+            if (extrudeStatus[patchPointi] != NOEXTRUDE)
             {
-                forAll(pointFaces[patchPointI], pointFaceI)
+                forAll(pointFaces[patchPointi], pointFacei)
                 {
-                    label face = pointFaces[patchPointI][pointFaceI];
-                    nPatchPointLayers[patchPointI] = max
+                    label face = pointFaces[patchPointi][pointFacei];
+                    nPatchPointLayers[patchPointi] = max
                     (
-                        nPatchPointLayers[patchPointI],
+                        nPatchPointLayers[patchPointi],
                         nPatchFaceLayers[face]
                     );
                 }
             }
             else
             {
-                nPatchPointLayers[patchPointI] = 0;
+                nPatchPointLayers[patchPointi] = 0;
             }
         }
         syncTools::syncPointList
@@ -2254,9 +2250,9 @@ bool Foam::snappyLayerDriver::cellsUseFace
     {
         const cell& cFaces = mesh.cells()[cellLabels[i]];
 
-        forAll(cFaces, cFaceI)
+        forAll(cFaces, cFacei)
         {
-            if (faces.found(cFaces[cFaceI]))
+            if (faces.found(cFaces[cFacei]))
             {
                 return true;
             }
@@ -2322,11 +2318,11 @@ Foam::label Foam::snappyLayerDriver::checkAndUnmark
     const label nReportMax = 10;
     DynamicField<point> disabledFaceCentres(nReportMax);
 
-    forAll(addedCells, oldPatchFaceI)
+    forAll(addedCells, oldPatchFacei)
     {
         // Get the cells (in newMesh labels) per old patch face (in mesh
         // labels)
-        const labelList& fCells = addedCells[oldPatchFaceI];
+        const labelList& fCells = addedCells[oldPatchFacei];
 
         if (cellsUseFace(newMesh, fCells, wrongFaces))
         {
@@ -2335,7 +2331,7 @@ Foam::label Foam::snappyLayerDriver::checkAndUnmark
             (
                 unmarkExtrusion
                 (
-                    pp.localFaces()[oldPatchFaceI],
+                    pp.localFaces()[oldPatchFacei],
                     patchDisp,
                     patchNLayers,
                     extrudeStatus
@@ -2346,7 +2342,7 @@ Foam::label Foam::snappyLayerDriver::checkAndUnmark
                 {
                     disabledFaceCentres.append
                     (
-                        pp.faceCentres()[oldPatchFaceI]
+                        pp.faceCentres()[oldPatchFacei]
                     );
                 }
 
@@ -2448,41 +2444,41 @@ Foam::List<Foam::labelPair> Foam::snappyLayerDriver::getBafflesOnAddedMesh
     // - use the boundary face for the new baffles
 
     Map<label> baffleSet(4*baffles.size());
-    forAll(baffles, baffleI)
+    forAll(baffles, bafflei)
     {
-        baffleSet.insert(baffles[baffleI][0], baffleI);
-        baffleSet.insert(baffles[baffleI][1], baffleI);
+        baffleSet.insert(baffles[bafflei][0], bafflei);
+        baffleSet.insert(baffles[bafflei][1], bafflei);
     }
 
 
     List<labelPair> newBaffles(baffles.size(), labelPair(-1, -1));
     for
     (
-        label faceI = mesh.nInternalFaces();
-        faceI < mesh.nFaces();
-        faceI++
+        label facei = mesh.nInternalFaces();
+        facei < mesh.nFaces();
+        facei++
     )
     {
-        label oldFaceI = newToOldFaces[faceI];
+        label oldFacei = newToOldFaces[facei];
 
-        Map<label>::const_iterator faceFnd = baffleSet.find(oldFaceI);
+        Map<label>::const_iterator faceFnd = baffleSet.find(oldFacei);
         if (faceFnd != baffleSet.end())
         {
-            label baffleI = faceFnd();
-            labelPair& p = newBaffles[baffleI];
+            label bafflei = faceFnd();
+            labelPair& p = newBaffles[bafflei];
             if (p[0] == -1)
             {
-                p[0] = faceI;
+                p[0] = facei;
             }
             else if (p[1] == -1)
             {
-                p[1] = faceI;
+                p[1] = facei;
             }
             else
             {
                 FatalErrorInFunction
-                    << "Problem:" << faceI << " at:"
-                    << mesh.faceCentres()[faceI]
+                    << "Problem:" << facei << " at:"
+                    << mesh.faceCentres()[facei]
                     << " is on same baffle as " << p[0]
                     << " at:" << mesh.faceCentres()[p[0]]
                     << " and " << p[1]
@@ -2517,11 +2513,11 @@ void Foam::snappyLayerDriver::getLayerCellsFaces
     // Mark all cells in the layer.
     labelListList addedCells(addPatchCellLayer::addedCells(mesh, layerFaces));
 
-    forAll(addedCells, oldPatchFaceI)
+    forAll(addedCells, oldPatchFacei)
     {
-        const labelList& added = addedCells[oldPatchFaceI];
+        const labelList& added = addedCells[oldPatchFacei];
 
-        const labelList& layer = layerFaces[oldPatchFaceI];
+        const labelList& layer = layerFaces[oldPatchFacei];
 
         if (layer.size())
         {
@@ -2533,10 +2529,10 @@ void Foam::snappyLayerDriver::getLayerCellsFaces
         }
     }
 
-    forAll(layerFaces, oldPatchFaceI)
+    forAll(layerFaces, oldPatchFacei)
     {
-        const labelList& layer = layerFaces[oldPatchFaceI];
-        const scalar realThickness = oldRealThickness[oldPatchFaceI];
+        const labelList& layer = layerFaces[oldPatchFacei];
+        const scalar realThickness = oldRealThickness[oldPatchFacei];
 
         if (layer.size())
         {
@@ -2568,8 +2564,8 @@ void Foam::snappyLayerDriver::printLayerData
     label maxPatchNameLen = 0;
     forAll(patchIDs, i)
     {
-        label patchI = patchIDs[i];
-        word patchName = pbm[patchI].name();
+        label patchi = patchIDs[i];
+        word patchName = pbm[patchi].name();
         maxPatchNameLen = max(maxPatchNameLen, label(patchName.size()));
     }
 
@@ -2584,8 +2580,8 @@ void Foam::snappyLayerDriver::printLayerData
 
     forAll(patchIDs, i)
     {
-        label patchI = patchIDs[i];
-        const polyPatch& pp = pbm[patchI];
+        label patchi = patchIDs[i];
+        const polyPatch& pp = pbm[patchi];
 
         label sumSize = pp.size();
 
@@ -2598,11 +2594,11 @@ void Foam::snappyLayerDriver::printLayerData
         }
 
         // Thickness
-        scalarField::subField patchWanted = pbm[patchI].patchSlice
+        scalarField::subField patchWanted = pbm[patchi].patchSlice
         (
             faceWantedThickness
         );
-        scalarField::subField patchReal = pbm[patchI].patchSlice
+        scalarField::subField patchReal = pbm[patchi].patchSlice
         (
             faceRealThickness
         );
@@ -2635,7 +2631,7 @@ void Foam::snappyLayerDriver::printLayerData
         }
 
         Info<< setf(ios_base::left) << setw(maxPatchNameLen)
-            << pbm[patchI].name() << setprecision(3)
+            << pbm[patchi].name() << setprecision(3)
             << " " << setw(8) << sumSize
             << " " << setw(8) << avgLayers
             << " " << setw(8) << avgReal
@@ -2656,19 +2652,19 @@ bool Foam::snappyLayerDriver::writeLayerSets
     bool allOk = true;
     {
         label nAdded = 0;
-        forAll(cellNLayers, cellI)
+        forAll(cellNLayers, celli)
         {
-            if (cellNLayers[cellI] > 0)
+            if (cellNLayers[celli] > 0)
             {
                 nAdded++;
             }
         }
         cellSet addedCellSet(mesh, "addedCells", nAdded);
-        forAll(cellNLayers, cellI)
+        forAll(cellNLayers, celli)
         {
-            if (cellNLayers[cellI] > 0)
+            if (cellNLayers[celli] > 0)
             {
-                addedCellSet.insert(cellI);
+                addedCellSet.insert(celli);
             }
         }
         addedCellSet.instance() = meshRefiner_.timeName();
@@ -2681,20 +2677,20 @@ bool Foam::snappyLayerDriver::writeLayerSets
     }
     {
         label nAdded = 0;
-        for (label faceI = 0; faceI < mesh.nInternalFaces(); faceI++)
+        for (label facei = 0; facei < mesh.nInternalFaces(); facei++)
         {
-            if (faceRealThickness[faceI] > 0)
+            if (faceRealThickness[facei] > 0)
             {
                 nAdded++;
             }
         }
 
         faceSet layerFacesSet(mesh, "layerFaces", nAdded);
-        for (label faceI = 0; faceI < mesh.nInternalFaces(); faceI++)
+        for (label facei = 0; facei < mesh.nInternalFaces(); facei++)
         {
-            if (faceRealThickness[faceI] > 0)
+            if (faceRealThickness[facei] > 0)
             {
-                layerFacesSet.insert(faceI);
+                layerFacesSet.insert(facei);
             }
         }
         layerFacesSet.instance() = meshRefiner_.timeName();
@@ -2746,24 +2742,24 @@ bool Foam::snappyLayerDriver::writeLayerData
                 dimensionedScalar("zero", dimless, 0),
                 fixedValueFvPatchScalarField::typeName
             );
-            forAll(fld, cellI)
+            forAll(fld, celli)
             {
-                fld[cellI] = cellNLayers[cellI];
+                fld[celli] = cellNLayers[celli];
             }
             volScalarField::Boundary& fldBf = fld.boundaryFieldRef();
 
             const polyBoundaryMesh& pbm = mesh.boundaryMesh();
             forAll(patchIDs, i)
             {
-                label patchI = patchIDs[i];
-                const polyPatch& pp = pbm[patchI];
+                label patchi = patchIDs[i];
+                const polyPatch& pp = pbm[patchi];
                 const labelList& faceCells = pp.faceCells();
                 scalarField pfld(faceCells.size());
                 forAll(faceCells, i)
                 {
                     pfld[i] = cellNLayers[faceCells[i]];
                 }
-                fldBf[patchI] == pfld;
+                fldBf[patchi] == pfld;
             }
             Info<< indent << fld.name() << "    : actual number of layers"
                 << endl;
@@ -2790,8 +2786,8 @@ bool Foam::snappyLayerDriver::writeLayerData
             const polyBoundaryMesh& pbm = mesh.boundaryMesh();
             forAll(patchIDs, i)
             {
-                label patchI = patchIDs[i];
-                fldBf[patchI] == pbm[patchI].patchSlice(faceRealThickness);
+                label patchi = patchIDs[i];
+                fldBf[patchi] == pbm[patchi].patchSlice(faceRealThickness);
             }
             Info<< indent << fld.name() << "         : overall layer thickness"
                 << endl;
@@ -2817,13 +2813,13 @@ bool Foam::snappyLayerDriver::writeLayerData
             const polyBoundaryMesh& pbm = mesh.boundaryMesh();
             forAll(patchIDs, i)
             {
-                label patchI = patchIDs[i];
+                label patchi = patchIDs[i];
 
-                scalarField::subField patchWanted = pbm[patchI].patchSlice
+                scalarField::subField patchWanted = pbm[patchi].patchSlice
                 (
                     faceWantedThickness
                 );
-                scalarField::subField patchReal = pbm[patchI].patchSlice
+                scalarField::subField patchReal = pbm[patchi].patchSlice
                 (
                     faceRealThickness
                 );
@@ -2838,7 +2834,7 @@ bool Foam::snappyLayerDriver::writeLayerData
                     }
                 }
 
-                fld.boundaryField()[patchI] == pfld;
+                fld.boundaryField()[patchi] == pfld;
             }
             Info<< indent << fld.name()
                 << " : overall layer thickness (fraction"
@@ -3013,37 +3009,37 @@ void Foam::snappyLayerDriver::addLayers
     labelList numLayers(layerParams.numLayers());
     {
         labelHashSet layerIDs(patchIDs);
-        forAll(mesh.faceZones(), zoneI)
+        forAll(mesh.faceZones(), zonei)
         {
-            label mpI, spI;
+            label mpi, spi;
             surfaceZonesInfo::faceZoneType fzType;
             bool hasInfo = meshRefiner_.getFaceZoneInfo
             (
-                mesh.faceZones()[zoneI].name(),
-                mpI,
-                spI,
+                mesh.faceZones()[zonei].name(),
+                mpi,
+                spi,
                 fzType
             );
             if (hasInfo)
             {
                 const polyBoundaryMesh& pbm = mesh.boundaryMesh();
-                if (layerIDs.found(mpI) && !layerIDs.found(spI))
+                if (layerIDs.found(mpi) && !layerIDs.found(spi))
                 {
                     // Only layers on master side. Fix points on slave side
-                    Info<< "On faceZone " << mesh.faceZones()[zoneI].name()
-                        << " adding layers to master patch " << pbm[mpI].name()
+                    Info<< "On faceZone " << mesh.faceZones()[zonei].name()
+                        << " adding layers to master patch " << pbm[mpi].name()
                         << " only. Freezing points on slave patch "
-                        << pbm[spI].name() << endl;
-                    numLayers[spI] = 0;
+                        << pbm[spi].name() << endl;
+                    numLayers[spi] = 0;
                 }
-                else if (!layerIDs.found(mpI) && layerIDs.found(spI))
+                else if (!layerIDs.found(mpi) && layerIDs.found(spi))
                 {
                     // Only layers on slave side. Fix points on master side
-                    Info<< "On faceZone " << mesh.faceZones()[zoneI].name()
-                        << " adding layers to slave patch " << pbm[spI].name()
+                    Info<< "On faceZone " << mesh.faceZones()[zonei].name()
+                        << " adding layers to slave patch " << pbm[spi].name()
                         << " only. Freezing points on master patch "
-                        << pbm[mpI].name() << endl;
-                    numLayers[mpI] = 0;
+                        << pbm[mpi].name() << endl;
+                    numLayers[mpi] = 0;
                 }
             }
         }
@@ -3100,11 +3096,11 @@ void Foam::snappyLayerDriver::addLayers
                 extrudeStatus
             );
 
-            forAll(extrudeStatus, patchPointI)
+            forAll(extrudeStatus, patchPointi)
             {
-                if (extrudeStatus[patchPointI] != NOEXTRUDE)
+                if (extrudeStatus[patchPointi] != NOEXTRUDE)
                 {
-                    duplicatePoint[pp().meshPoints()[patchPointI]] = 1;
+                    duplicatePoint[pp().meshPoints()[patchPointi]] = 1;
                 }
             }
         }
@@ -3121,11 +3117,11 @@ void Foam::snappyLayerDriver::addLayers
         label n = duplicatePoint.count();
         labelList candidatePoints(n);
         n = 0;
-        forAll(duplicatePoint, pointI)
+        forAll(duplicatePoint, pointi)
         {
-            if (duplicatePoint[pointI])
+            if (duplicatePoint[pointi])
             {
-                candidatePoints[n++] = pointI;
+                candidatePoints[n++] = pointi;
             }
         }
 
@@ -3138,20 +3134,20 @@ void Foam::snappyLayerDriver::addLayers
             DynamicList<label> nonDupZones(mesh.faceZones().size());
 
             labelHashSet layerIDs(patchIDs);
-            forAll(mesh.faceZones(), zoneI)
+            forAll(mesh.faceZones(), zonei)
             {
-                label mpI, spI;
+                label mpi, spi;
                 surfaceZonesInfo::faceZoneType fzType;
                 bool hasInfo = meshRefiner_.getFaceZoneInfo
                 (
-                    mesh.faceZones()[zoneI].name(),
-                    mpI,
-                    spI,
+                    mesh.faceZones()[zonei].name(),
+                    mpi,
+                    spi,
                     fzType
                 );
-                if (hasInfo && !layerIDs.found(mpI) && !layerIDs.found(spI))
+                if (hasInfo && !layerIDs.found(mpi) && !layerIDs.found(spi))
                 {
-                    nonDupZones.append(zoneI);
+                    nonDupZones.append(zonei);
                 }
             }
             nonDupBaffles = meshRefinement::subsetBaffles
@@ -3178,16 +3174,16 @@ void Foam::snappyLayerDriver::addLayers
             const labelList& pointMap = map().pointMap();
             const labelList& reversePointMap = map().reversePointMap();
 
-            forAll(pointMap, pointI)
+            forAll(pointMap, pointi)
             {
-                label oldPointI = pointMap[pointI];
-                label newMasterPointI = reversePointMap[oldPointI];
+                label oldPointi = pointMap[pointi];
+                label newMasterPointi = reversePointMap[oldPointi];
 
-                if (newMasterPointI != pointI)
+                if (newMasterPointi != pointi)
                 {
                     // Found slave. Mark both master and slave
-                    pointToMaster[pointI] = newMasterPointI;
-                    pointToMaster[newMasterPointI] = newMasterPointI;
+                    pointToMaster[pointi] = newMasterPointi;
+                    pointToMaster[newMasterPointi] = newMasterPointi;
                 }
             }
 
@@ -3229,13 +3225,13 @@ void Foam::snappyLayerDriver::addLayers
                 );
                 Info<< "Writing point-duplicates to " << str.name() << endl;
                 const pointField& p = mesh.points();
-                forAll(pointMap, pointI)
+                forAll(pointMap, pointi)
                 {
-                    label newMasterI = reversePointMap[pointMap[pointI]];
+                    label newMasteri = reversePointMap[pointMap[pointi]];
 
-                    if (newMasterI != pointI)
+                    if (newMasteri != pointi)
                     {
-                        str.write(linePointRef(p[pointI], p[newMasterI]));
+                        str.write(linePointRef(p[pointi], p[newMasteri]));
                     }
                 }
             }
@@ -3751,7 +3747,7 @@ void Foam::snappyLayerDriver::addLayers
             );
             fvMesh& newMesh = newMeshPtr();
 
-            // get timing, but more importantly get memory information
+            // Get timing, but more importantly get memory information
             addProfiling(grow, "snappyHexMesh::layers::updateMesh");
 
             //?necessary? Update fields
@@ -3783,9 +3779,9 @@ void Foam::snappyLayerDriver::addLayers
 
             // Count number of added cells
             label nAddedCells = 0;
-            forAll(cellNLayers, cellI)
+            forAll(cellNLayers, celli)
             {
-                if (cellNLayers[cellI] > 0)
+                if (cellNLayers[celli] > 0)
                 {
                     nAddedCells++;
                 }
@@ -3815,20 +3811,20 @@ void Foam::snappyLayerDriver::addLayers
                 labelList meshToNewMesh(mesh.nFaces(), -1);
                 for
                 (
-                    label faceI = newMesh.nInternalFaces();
-                    faceI < newMesh.nFaces();
-                    faceI++
+                    label facei = newMesh.nInternalFaces();
+                    facei < newMesh.nFaces();
+                    facei++
                 )
                 {
-                    label newMeshFaceI = map().faceMap()[faceI];
-                    if (newMeshFaceI != -1)
+                    label newMeshFacei = map().faceMap()[facei];
+                    if (newMeshFacei != -1)
                     {
-                        meshToNewMesh[newMeshFaceI] = faceI;
+                        meshToNewMesh[newMeshFacei] = facei;
                     }
                 }
 
                 List<labelPair> newMeshBaffles(baffles.size());
-                label newI = 0;
+                label newi = 0;
                 forAll(baffles, i)
                 {
                     const labelPair& p = baffles[i];
@@ -3839,10 +3835,10 @@ void Foam::snappyLayerDriver::addLayers
                     );
                     if (newMeshBaffle[0] != -1 && newMeshBaffle[1] != -1)
                     {
-                        newMeshBaffles[newI++] = newMeshBaffle;
+                        newMeshBaffles[newi++] = newMeshBaffle;
                     }
                 }
-                newMeshBaffles.setSize(newI);
+                newMeshBaffles.setSize(newi);
 
                 internalBaffles = meshRefinement::subsetBaffles
                 (
@@ -4003,23 +3999,23 @@ void Foam::snappyLayerDriver::addLayers
             //  - and point originating from duplicate
             for
             (
-                label faceI = mesh.nInternalFaces();
-                faceI < mesh.nFaces();
-                faceI++
+                label facei = mesh.nInternalFaces();
+                facei < mesh.nFaces();
+                facei++
             )
             {
-                label oldFaceI = map().faceMap()[faceI];
-                if (oldFaceI != -1 && oldBaffleFace[oldFaceI])
+                label oldFacei = map().faceMap()[facei];
+                if (oldFacei != -1 && oldBaffleFace[oldFacei])
                 {
-                    const face& f = mesh.faces()[faceI];
+                    const face& f = mesh.faces()[facei];
                     forAll(f, fp)
                     {
-                        label pointI = f[fp];
-                        label oldPointI = map().pointMap()[pointI];
+                        label pointi = f[fp];
+                        label oldPointi = map().pointMap()[pointi];
 
-                        if (pointToMaster[oldPointI] != -1)
+                        if (pointToMaster[oldPointi] != -1)
                         {
-                            candidates.append(pointI);
+                            candidates.append(pointi);
                         }
                     }
                 }
@@ -4050,19 +4046,19 @@ void Foam::snappyLayerDriver::addLayers
             pointToMaster.setSize(mesh.nPoints());
             pointToMaster = -1;
 
-            forAll(newToOld, newI)
+            forAll(newToOld, newi)
             {
-                const labelList& oldPoints = newToOld[newI];
+                const labelList& oldPoints = newToOld[newi];
                 if (oldPoints.size() > 1)
                 {
                     labelList meshPoints
                     (
                         UIndirectList<label>(candidates, oldPoints)
                     );
-                    label masterI = min(meshPoints);
+                    label masteri = min(meshPoints);
                     forAll(meshPoints, i)
                     {
-                        pointToMaster[meshPoints[i]] = masterI;
+                        pointToMaster[meshPoints[i]] = masteri;
                     }
                 }
             }
@@ -4075,10 +4071,10 @@ void Foam::snappyLayerDriver::addLayers
 
     // Count duplicate points
     label nPointPairs = 0;
-    forAll(pointToMaster, pointI)
+    forAll(pointToMaster, pointi)
     {
-        label otherPointI = pointToMaster[pointI];
-        if (otherPointI != -1)
+        label otherPointi = pointToMaster[pointi];
+        if (otherPointi != -1)
         {
             nPointPairs++;
         }
@@ -4099,13 +4095,13 @@ void Foam::snappyLayerDriver::addLayers
               + ".obj"
             );
             Info<< "Points to be merged to " << str.name() << endl;
-            forAll(pointToMaster, pointI)
+            forAll(pointToMaster, pointi)
             {
-                label otherPointI = pointToMaster[pointI];
-                if (otherPointI != -1)
+                label otherPointi = pointToMaster[pointi];
+                if (otherPointi != -1)
                 {
-                    const point& pt = mesh.points()[pointI];
-                    const point& otherPt = mesh.points()[otherPointI];
+                    const point& pt = mesh.points()[pointi];
+                    const point& otherPt = mesh.points()[otherPointi];
                     str.write(linePointRef(pt, otherPt));
                 }
             }
@@ -4147,15 +4143,15 @@ void Foam::snappyLayerDriver::addLayers
             // layers.
             scalarField newFaceRealThickness(mesh.nFaces(), 0.0);
             scalarField newFaceWantedThickness(mesh.nFaces(), 0.0);
-            forAll(newFaceRealThickness, faceI)
+            forAll(newFaceRealThickness, facei)
             {
-                label oldFaceI = faceMap[faceI];
-                if (oldFaceI >= 0)
+                label oldFacei = faceMap[facei];
+                if (oldFacei >= 0)
                 {
-                    scalar& realThick = newFaceRealThickness[faceI];
-                    realThick = max(realThick, faceRealThickness[oldFaceI]);
-                    scalar& wanted = newFaceWantedThickness[faceI];
-                    wanted = max(wanted, faceWantedThickness[oldFaceI]);
+                    scalar& realThick = newFaceRealThickness[facei];
+                    realThick = max(realThick, faceRealThickness[oldFacei]);
+                    scalar& wanted = newFaceWantedThickness[facei];
+                    wanted = max(wanted, faceWantedThickness[oldFacei]);
                 }
             }
             faceRealThickness.transfer(newFaceRealThickness);
@@ -4248,16 +4244,16 @@ void Foam::snappyLayerDriver::doLayers
     // Patches that need to get a layer
     DynamicList<label> patchIDs(numLayers.size());
     label nFacesWithLayers = 0;
-    forAll(numLayers, patchI)
+    forAll(numLayers, patchi)
     {
-        if (numLayers[patchI] > 0)
+        if (numLayers[patchi] > 0)
         {
-            const polyPatch& pp = mesh.boundaryMesh()[patchI];
+            const polyPatch& pp = mesh.boundaryMesh()[patchi];
 
             if (!pp.coupled())
             {
-                patchIDs.append(patchI);
-                nFacesWithLayers += mesh.boundaryMesh()[patchI].size();
+                patchIDs.append(patchi);
+                nFacesWithLayers += mesh.boundaryMesh()[patchi].size();
             }
             else
             {
@@ -4270,19 +4266,19 @@ void Foam::snappyLayerDriver::doLayers
 
     // Add contributions from faceZones that get layers
     const faceZoneMesh& fZones = mesh.faceZones();
-    forAll(fZones, zoneI)
+    forAll(fZones, zonei)
     {
-        label mpI, spI;
+        label mpi, spi;
         surfaceZonesInfo::faceZoneType fzType;
-        meshRefiner_.getFaceZoneInfo(fZones[zoneI].name(), mpI, spI, fzType);
+        meshRefiner_.getFaceZoneInfo(fZones[zonei].name(), mpi, spi, fzType);
 
-        if (numLayers[mpI] > 0)
+        if (numLayers[mpi] > 0)
         {
-            nFacesWithLayers += fZones[zoneI].size();
+            nFacesWithLayers += fZones[zonei].size();
         }
-        if (numLayers[spI] > 0)
+        if (numLayers[spi] > 0)
         {
-            nFacesWithLayers += fZones[zoneI].size();
+            nFacesWithLayers += fZones[zonei].size();
         }
     }
 
@@ -4325,16 +4321,16 @@ void Foam::snappyLayerDriver::doLayers
             {
                 // Add contributions from faceZones that get layers
                 const faceZoneMesh& fZones = mesh.faceZones();
-                forAll(fZones, zoneI)
+                forAll(fZones, zonei)
                 {
-                    const faceZone& fZone = fZones[zoneI];
+                    const faceZone& fZone = fZones[zonei];
                     const word& fzName = fZone.name();
 
-                    label mpI, spI;
+                    label mpi, spi;
                     surfaceZonesInfo::faceZoneType fzType;
-                    meshRefiner_.getFaceZoneInfo(fzName, mpI, spI, fzType);
+                    meshRefiner_.getFaceZoneInfo(fzName, mpi, spi, fzType);
 
-                    if (numLayers[mpI] > 0 || numLayers[spI])
+                    if (numLayers[mpi] > 0 || numLayers[spi])
                     {
                         forAll(fZone, i)
                         {
@@ -4351,12 +4347,12 @@ void Foam::snappyLayerDriver::doLayers
 
             for
             (
-                label faceI = mesh.nInternalFaces();
-                faceI < mesh.nFaces();
-                faceI++
+                label facei = mesh.nInternalFaces();
+                facei < mesh.nFaces();
+                facei++
             )
             {
-                if (intOrCoupled[faceI] && isExtrudedZoneFace[faceI])
+                if (intOrCoupled[facei] && isExtrudedZoneFace[facei])
                 {
                     faceZoneOnCoupledFace = true;
                     break;
@@ -4378,30 +4374,30 @@ void Foam::snappyLayerDriver::doLayers
                 << endl;
 
             scalarField cellWeights(mesh.nCells(), 1);
-            forAll(numLayers, patchI)
+            forAll(numLayers, patchi)
             {
-                if (numLayers[patchI] > 0)
+                if (numLayers[patchi] > 0)
                 {
-                    const polyPatch& pp = mesh.boundaryMesh()[patchI];
+                    const polyPatch& pp = mesh.boundaryMesh()[patchi];
                     forAll(pp.faceCells(), i)
                     {
-                        cellWeights[pp.faceCells()[i]] += numLayers[patchI];
+                        cellWeights[pp.faceCells()[i]] += numLayers[patchi];
                     }
                 }
             }
 
             // Add contributions from faceZones that get layers
             const faceZoneMesh& fZones = mesh.faceZones();
-            forAll(fZones, zoneI)
+            forAll(fZones, zonei)
             {
-                const faceZone& fZone = fZones[zoneI];
+                const faceZone& fZone = fZones[zonei];
                 const word& fzName = fZone.name();
 
-                label mpI, spI;
+                label mpi, spi;
                 surfaceZonesInfo::faceZoneType fzType;
-                meshRefiner_.getFaceZoneInfo(fzName, mpI, spI, fzType);
+                meshRefiner_.getFaceZoneInfo(fzName, mpi, spi, fzType);
 
-                if (numLayers[mpI] > 0)
+                if (numLayers[mpi] > 0)
                 {
                     // Get the owner side for unflipped faces, neighbour side
                     // for flipped ones
@@ -4410,18 +4406,18 @@ void Foam::snappyLayerDriver::doLayers
                     {
                         if (cellIDs[i] >= 0)
                         {
-                            cellWeights[cellIDs[i]] += numLayers[mpI];
+                            cellWeights[cellIDs[i]] += numLayers[mpi];
                         }
                     }
                 }
-                if (numLayers[spI] > 0)
+                if (numLayers[spi] > 0)
                 {
                     const labelList& cellIDs = fZone.masterCells();
                     forAll(cellIDs, i)
                     {
                         if (cellIDs[i] >= 0)
                         {
-                            cellWeights[cellIDs[i]] += numLayers[mpI];
+                            cellWeights[cellIDs[i]] += numLayers[mpi];
                         }
                     }
                 }
diff --git a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyRefineDriver.C b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyRefineDriver.C
index 162412268f..05adb3e125 100644
--- a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyRefineDriver.C
+++ b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyRefineDriver.C
@@ -993,21 +993,21 @@ Foam::label Foam::snappyRefineDriver::refinementInterfaceRefine
                     cells.size()/100
                 );
 
-                forAll(cells, cellI)
+                forAll(cells, celli)
                 {
-                    const cell& cFaces = cells[cellI];
-                    label cLevel = cutter.cellLevel()[cellI];
+                    const cell& cFaces = cells[celli];
+                    label cLevel = cutter.cellLevel()[celli];
 
-                    forAll(cFaces, cFaceI)
+                    forAll(cFaces, cFacei)
                     {
-                        label faceI = cFaces[cFaceI];
+                        label facei = cFaces[cFacei];
 
-                        if (surfaceIndex[faceI] != -1)
+                        if (surfaceIndex[facei] != -1)
                         {
-                            label fLevel = cutter.faceLevel(faceI);
+                            label fLevel = cutter.faceLevel(facei);
                             if (fLevel != cLevel)
                             {
-                                transitionCells.insert(cellI);
+                                transitionCells.insert(celli);
                             }
                         }
                     }
@@ -1025,24 +1025,24 @@ Foam::label Foam::snappyRefineDriver::refinementInterfaceRefine
 
                 //forAllConstIter(cellSet, transitionCells, iter)
                 //{
-                //    label cellI = iter.key();
-                //    const cell& cFaces = cells[cellI];
-                //    const point& cc = cellCentres[cellI];
-                //    const scalar rCVol = pow(cellVolumes[cellI], -5.0/3.0);
+                //    label celli = iter.key();
+                //    const cell& cFaces = cells[celli];
+                //    const point& cc = cellCentres[celli];
+                //    const scalar rCVol = pow(cellVolumes[celli], -5.0/3.0);
                 //
                 //    // Determine principal axes of cell
                 //    symmTensor R(Zero);
                 //
                 //    forAll(cFaces, i)
                 //    {
-                //        label faceI = cFaces[i];
+                //        label facei = cFaces[i];
                 //
-                //        const point& fc = faceCentres[faceI];
+                //        const point& fc = faceCentres[facei];
                 //
                 //        // Calculate face-pyramid volume
-                //        scalar pyrVol = 1.0/3.0 * fA[faceI] & (fc-cc);
+                //        scalar pyrVol = 1.0/3.0 * fA[facei] & (fc-cc);
                 //
-                //        if (faceOwner[faceI] != cellI)
+                //        if (faceOwner[facei] != celli)
                 //        {
                 //            pyrVol = -pyrVol;
                 //        }
@@ -1066,17 +1066,17 @@ Foam::label Foam::snappyRefineDriver::refinementInterfaceRefine
                 //    labelVector plusFaceLevel(labelVector(-1, -1, -1));
                 //    labelVector minFaceLevel(labelVector(-1, -1, -1));
                 //
-                //    forAll(cFaces, cFaceI)
+                //    forAll(cFaces, cFacei)
                 //    {
-                //        label faceI = cFaces[cFaceI];
+                //        label facei = cFaces[cFacei];
                 //
-                //        if (surfaceIndex[faceI] != -1)
+                //        if (surfaceIndex[facei] != -1)
                 //        {
-                //            label fLevel = cutter.faceLevel(faceI);
+                //            label fLevel = cutter.faceLevel(facei);
                 //
                 //            // Get outwards pointing normal
-                //            vector n = fA[faceI]/mag(fA[faceI]);
-                //            if (faceOwner[faceI] != cellI)
+                //            vector n = fA[facei]/mag(fA[facei]);
+                //            if (faceOwner[facei] != celli)
                 //            {
                 //                n = -n;
                 //            }
@@ -1129,7 +1129,7 @@ Foam::label Foam::snappyRefineDriver::refinementInterfaceRefine
                 //         && plusFaceLevel[dir] != minFaceLevel[dir]
                 //        )
                 //        {
-                //            candidateCellSet.insert(cellI);
+                //            candidateCellSet.insert(celli);
                 //        }
                 //    }
                 //}
@@ -1138,26 +1138,26 @@ Foam::label Foam::snappyRefineDriver::refinementInterfaceRefine
 
                 forAllConstIter(cellSet, transitionCells, iter)
                 {
-                    label cellI = iter.key();
-                    const cell& cFaces = cells[cellI];
-                    label cLevel = cutter.cellLevel()[cellI];
+                    label celli = iter.key();
+                    const cell& cFaces = cells[celli];
+                    label cLevel = cutter.cellLevel()[celli];
 
                     // Detect opposite intersection
                     bool foundOpposite = false;
 
-                    forAll(cFaces, cFaceI)
+                    forAll(cFaces, cFacei)
                     {
-                        label faceI = cFaces[cFaceI];
+                        label facei = cFaces[cFacei];
 
                         if
                         (
-                            surfaceIndex[faceI] != -1
-                         && cutter.faceLevel(faceI) > cLevel
+                            surfaceIndex[facei] != -1
+                         && cutter.faceLevel(facei) > cLevel
                         )
                         {
                             // Get outwards pointing normal
-                            vector n = fA[faceI]/mag(fA[faceI]);
-                            if (faceOwner[faceI] != cellI)
+                            vector n = fA[facei]/mag(fA[facei]);
+                            if (faceOwner[facei] != celli)
                             {
                                 n = -n;
                             }
@@ -1165,17 +1165,17 @@ Foam::label Foam::snappyRefineDriver::refinementInterfaceRefine
                             // Check for any opposite intersection
                             forAll(cFaces, cFaceI2)
                             {
-                                label face2I = cFaces[cFaceI2];
+                                label face2i = cFaces[cFaceI2];
 
                                 if
                                 (
-                                    face2I != faceI
-                                 && surfaceIndex[face2I] != -1
+                                    face2i != facei
+                                 && surfaceIndex[face2i] != -1
                                 )
                                 {
                                     // Get outwards pointing normal
-                                    vector n2 = fA[face2I]/mag(fA[face2I]);
-                                    if (faceOwner[face2I] != cellI)
+                                    vector n2 = fA[face2i]/mag(fA[face2i]);
+                                    if (faceOwner[face2i] != celli)
                                     {
                                         n2 = -n2;
                                     }
@@ -1199,7 +1199,7 @@ Foam::label Foam::snappyRefineDriver::refinementInterfaceRefine
 
                     if (foundOpposite)
                     {
-                        candidateCellSet.insert(cellI);
+                        candidateCellSet.insert(celli);
                     }
                 }
 
@@ -1813,22 +1813,22 @@ void Foam::snappyRefineDriver::addFaceZones
             //const word slaveName = czNames.second()+"_to_"+czNames.first();
             const word& slaveName = patchNames.second();
 
-            label mpI = meshRefiner.addMeshedPatch(masterName, patchInfo);
+            label mpi = meshRefiner.addMeshedPatch(masterName, patchInfo);
 
             Info<< setf(ios_base::left)
-                << setw(6) << mpI
-                << setw(20) << mesh.boundaryMesh()[mpI].type()
+                << setw(6) << mpi
+                << setw(20) << mesh.boundaryMesh()[mpi].type()
                 << setw(30) << masterName
                 << setw(30) << fzName
                 << setw(10) << surfaceZonesInfo::faceZoneTypeNames[fzType]
                 << nl;
 
 
-            label slI = meshRefiner.addMeshedPatch(slaveName, patchInfo);
+            label sli = meshRefiner.addMeshedPatch(slaveName, patchInfo);
 
             Info<< setf(ios_base::left)
-                << setw(6) << slI
-                << setw(20) << mesh.boundaryMesh()[slI].type()
+                << setw(6) << sli
+                << setw(20) << mesh.boundaryMesh()[sli].type()
                 << setw(30) << slaveName
                 << setw(30) << fzName
                 << setw(10) << surfaceZonesInfo::faceZoneTypeNames[fzType]
diff --git a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriver.C b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriver.C
index f243c2eeb3..1e5552f4d1 100644
--- a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriver.C
+++ b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriver.C
@@ -89,32 +89,32 @@ Foam::label Foam::snappySnapDriver::getCollocatedPoints
     // Per old point the newPoint. Or -1 (not set yet) or -2 (already seen
     // twice)
     labelList firstOldPoint(nUnique, -1);
-    forAll(pointMap, oldPointI)
+    forAll(pointMap, oldPointi)
     {
-        label newPointI = pointMap[oldPointI];
+        label newPointi = pointMap[oldPointi];
 
-        if (firstOldPoint[newPointI] == -1)
+        if (firstOldPoint[newPointi] == -1)
         {
-            // First use of oldPointI. Store.
-            firstOldPoint[newPointI] = oldPointI;
+            // First use of oldPointi. Store.
+            firstOldPoint[newPointi] = oldPointi;
         }
-        else if (firstOldPoint[newPointI] == -2)
+        else if (firstOldPoint[newPointi] == -2)
         {
-            // Third or more reference of oldPointI -> non-manifold
-            isCollocatedPoint.set(oldPointI, 1u);
+            // Third or more reference of oldPointi -> non-manifold
+            isCollocatedPoint.set(oldPointi, 1u);
             nCollocated++;
         }
         else
         {
-            // Second reference of oldPointI -> non-manifold
-            isCollocatedPoint.set(firstOldPoint[newPointI], 1u);
+            // Second reference of oldPointi -> non-manifold
+            isCollocatedPoint.set(firstOldPoint[newPointi], 1u);
             nCollocated++;
 
-            isCollocatedPoint.set(oldPointI, 1u);
+            isCollocatedPoint.set(oldPointi, 1u);
             nCollocated++;
 
             // Mark with special value to save checking next time round
-            firstOldPoint[newPointI] = -2;
+            firstOldPoint[newPointi] = -2;
         }
     }
     return returnReduce(nCollocated, sumOp<label>());
@@ -148,20 +148,20 @@ Foam::tmp<Foam::pointField> Foam::snappySnapDriver::smoothInternalDisplacement
     //{
     //    PackedBoolList newIsFront(mesh.nFaces());
     //
-    //    forAll(isFront, faceI)
+    //    forAll(isFront, facei)
     //    {
-    //        if (isFront[faceI])
+    //        if (isFront[facei])
     //        {
-    //            label own = mesh.faceOwner()[faceI];
+    //            label own = mesh.faceOwner()[facei];
     //            const cell& ownFaces = mesh.cells()[own];
     //            forAll(ownFaces, i)
     //            {
     //                newIsFront[ownFaces[i]] = true;
     //            }
     //
-    //            if (mesh.isInternalFace(faceI))
+    //            if (mesh.isInternalFace(facei))
     //            {
-    //                label nei = mesh.faceNeighbour()[faceI];
+    //                label nei = mesh.faceNeighbour()[facei];
     //                const cell& neiFaces = mesh.cells()[nei];
     //                forAll(neiFaces, i)
     //                {
@@ -188,14 +188,14 @@ Foam::tmp<Foam::pointField> Foam::snappySnapDriver::smoothInternalDisplacement
 
     label nInterface = 0;
 
-    for (label faceI = 0; faceI < mesh.nInternalFaces(); faceI++)
+    for (label facei = 0; facei < mesh.nInternalFaces(); facei++)
     {
-        label ownLevel = cellLevel[mesh.faceOwner()[faceI]];
-        label neiLevel = cellLevel[mesh.faceNeighbour()[faceI]];
+        label ownLevel = cellLevel[mesh.faceOwner()[facei]];
+        label neiLevel = cellLevel[mesh.faceNeighbour()[facei]];
 
-        if (!isFront[faceI] && ownLevel != neiLevel)
+        if (!isFront[facei] && ownLevel != neiLevel)
         {
-            const face& f = mesh.faces()[faceI];
+            const face& f = mesh.faces()[facei];
             forAll(f, fp)
             {
                 isMovingPoint[f[fp]] = true;
@@ -208,14 +208,14 @@ Foam::tmp<Foam::pointField> Foam::snappySnapDriver::smoothInternalDisplacement
     labelList neiCellLevel;
     syncTools::swapBoundaryCellList(mesh, cellLevel, neiCellLevel);
 
-    for (label faceI = mesh.nInternalFaces(); faceI < mesh.nFaces(); faceI++)
+    for (label facei = mesh.nInternalFaces(); facei < mesh.nFaces(); facei++)
     {
-        label ownLevel = cellLevel[mesh.faceOwner()[faceI]];
-        label neiLevel = neiCellLevel[faceI-mesh.nInternalFaces()];
+        label ownLevel = cellLevel[mesh.faceOwner()[facei]];
+        label neiLevel = neiCellLevel[facei-mesh.nInternalFaces()];
 
-        if (!isFront[faceI] && ownLevel != neiLevel)
+        if (!isFront[facei] && ownLevel != neiLevel)
         {
-            const face& f = mesh.faces()[faceI];
+            const face& f = mesh.faces()[facei];
             forAll(f, fp)
             {
                 isMovingPoint[f[fp]] = true;
@@ -239,9 +239,9 @@ Foam::tmp<Foam::pointField> Foam::snappySnapDriver::smoothInternalDisplacement
 
     // Unmark any point on the boundary. If we're doing zero iterations of
     // face-cell wave we might have coupled points not being unmarked.
-    forAll(pp.meshPoints(), pointI)
+    forAll(pp.meshPoints(), pointi)
     {
-        isMovingPoint[pp.meshPoints()[pointI]] = false;
+        isMovingPoint[pp.meshPoints()[pointi]] = false;
     }
 
     // Make sure that points that are coupled to meshPoints but not on a patch
@@ -253,16 +253,16 @@ Foam::tmp<Foam::pointField> Foam::snappySnapDriver::smoothInternalDisplacement
     labelList nCells(mesh.nPoints(), 0);
     pointField sumLocation(mesh.nPoints(), Zero);
 
-    forAll(isMovingPoint, pointI)
+    forAll(isMovingPoint, pointi)
     {
-        if (isMovingPoint[pointI])
+        if (isMovingPoint[pointi])
         {
-            const labelList& pCells = mesh.pointCells(pointI);
+            const labelList& pCells = mesh.pointCells(pointi);
 
             forAll(pCells, i)
             {
-                sumLocation[pointI] += mesh.cellCentres()[pCells[i]];
-                nCells[pointI]++;
+                sumLocation[pointi] += mesh.cellCentres()[pCells[i]];
+                nCells[pointi]++;
             }
         }
     }
@@ -282,12 +282,12 @@ Foam::tmp<Foam::pointField> Foam::snappySnapDriver::smoothInternalDisplacement
 
     label nAdapted = 0;
 
-    forAll(displacement, pointI)
+    forAll(displacement, pointi)
     {
-        if (nCells[pointI] > 0)
+        if (nCells[pointi] > 0)
         {
-            displacement[pointI] =
-                sumLocation[pointI]/nCells[pointI]-mesh.points()[pointI];
+            displacement[pointi] =
+                sumLocation[pointi]/nCells[pointi]-mesh.points()[pointi];
             nAdapted++;
         }
     }
@@ -374,18 +374,18 @@ Foam::tmp<Foam::pointField> Foam::snappySnapDriver::smoothPatchDisplacement
     vectorField avgBoundary(pointFaces.size(), Zero);
     labelList nBoundary(pointFaces.size(), 0);
 
-    forAll(pointFaces, patchPointI)
+    forAll(pointFaces, patchPointi)
     {
-        const labelList& pFaces = pointFaces[patchPointI];
+        const labelList& pFaces = pointFaces[patchPointi];
 
-        forAll(pFaces, pfI)
+        forAll(pFaces, pfi)
         {
-            label faceI = pFaces[pfI];
+            label facei = pFaces[pfi];
 
-            if (isMasterFace.get(pp.addressing()[faceI]))
+            if (isMasterFace.get(pp.addressing()[facei]))
             {
-                avgBoundary[patchPointI] += pp[faceI].centre(points);
-                nBoundary[patchPointI]++;
+                avgBoundary[patchPointi] += pp[facei].centre(points);
+                nBoundary[patchPointi]++;
             }
         }
     }
@@ -425,10 +425,10 @@ Foam::tmp<Foam::pointField> Foam::snappySnapDriver::smoothPatchDisplacement
         // Note: no use of pointFaces
         const faceList& faces = mesh.faces();
 
-        for (label faceI = 0; faceI < mesh.nInternalFaces(); faceI++)
+        for (label facei = 0; facei < mesh.nInternalFaces(); facei++)
         {
-            const face& f = faces[faceI];
-            const point& fc = mesh.faceCentres()[faceI];
+            const face& f = faces[facei];
+            const point& fc = mesh.faceCentres()[facei];
 
             forAll(f, fp)
             {
@@ -440,16 +440,16 @@ Foam::tmp<Foam::pointField> Foam::snappySnapDriver::smoothPatchDisplacement
         // Count coupled faces as internal ones (but only once)
         const polyBoundaryMesh& patches = mesh.boundaryMesh();
 
-        forAll(patches, patchI)
+        forAll(patches, patchi)
         {
             if
             (
-                patches[patchI].coupled()
-             && refCast<const coupledPolyPatch>(patches[patchI]).owner()
+                patches[patchi].coupled()
+             && refCast<const coupledPolyPatch>(patches[patchi]).owner()
             )
             {
                 const coupledPolyPatch& pp =
-                    refCast<const coupledPolyPatch>(patches[patchI]);
+                    refCast<const coupledPolyPatch>(patches[patchi]);
 
                 const vectorField::subField faceCentres = pp.faceCentres();
 
@@ -485,21 +485,21 @@ Foam::tmp<Foam::pointField> Foam::snappySnapDriver::smoothPatchDisplacement
         avgInternal.setSize(meshPoints.size());
         nInternal.setSize(meshPoints.size());
 
-        forAll(avgInternal, patchPointI)
+        forAll(avgInternal, patchPointi)
         {
-            label meshPointI = meshPoints[patchPointI];
+            label meshPointi = meshPoints[patchPointi];
 
-            nInternal[patchPointI] = globalNum[meshPointI];
+            nInternal[patchPointi] = globalNum[meshPointi];
 
-            if (nInternal[patchPointI] == 0)
+            if (nInternal[patchPointi] == 0)
             {
-                avgInternal[patchPointI] = globalSum[meshPointI];
+                avgInternal[patchPointi] = globalSum[meshPointi];
             }
             else
             {
-                avgInternal[patchPointI] =
-                    globalSum[meshPointI]
-                  / nInternal[patchPointI];
+                avgInternal[patchPointi] =
+                    globalSum[meshPointi]
+                  / nInternal[patchPointi];
             }
         }
     }
@@ -509,10 +509,10 @@ Foam::tmp<Foam::pointField> Foam::snappySnapDriver::smoothPatchDisplacement
     // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
     labelList anyCell(mesh.nPoints(), -1);
-    forAll(mesh.faceOwner(), faceI)
+    forAll(mesh.faceOwner(), facei)
     {
-        label own = mesh.faceOwner()[faceI];
-        const face& f = mesh.faces()[faceI];
+        label own = mesh.faceOwner()[facei];
+        const face& f = mesh.faces()[facei];
 
         forAll(f, fp)
         {
@@ -527,8 +527,8 @@ Foam::tmp<Foam::pointField> Foam::snappySnapDriver::smoothPatchDisplacement
 
     forAll(pointFaces, i)
     {
-        label meshPointI = meshPoints[i];
-        const point& currentPos = pp.points()[meshPointI];
+        label meshPointi = meshPoints[i];
+        const point& currentPos = pp.points()[meshPointi];
 
         // Now we have the two average points: avgBoundary and avgInternal
         // and how many boundary/internal faces connect to the point
@@ -559,9 +559,9 @@ Foam::tmp<Foam::pointField> Foam::snappySnapDriver::smoothPatchDisplacement
         {
             // Non-manifold without internal faces. Use any connected cell
             // as internal point instead. Use precalculated any cell to avoid
-            // e.g. pointCells()[meshPointI][0]
+            // e.g. pointCells()[meshPointi][0]
 
-            const point& cc = mesh.cellCentres()[anyCell[meshPointI]];
+            const point& cc = mesh.cellCentres()[anyCell[meshPointi]];
 
             scalar cellCBlend = 0.8;
             scalar blend = 0.1;
@@ -601,19 +601,19 @@ Foam::tmp<Foam::pointField> Foam::snappySnapDriver::smoothPatchDisplacement
 //    tmp<pointField> tavg(new pointField(pointEdges.size(), Zero));
 //    pointField& avg = tavg();
 //
-//    forAll(pointEdges, vertI)
+//    forAll(pointEdges, verti)
 //    {
-//        vector& avgPos = avg[vertI];
+//        vector& avgPos = avg[verti];
 //
-//        const labelList& pEdges = pointEdges[vertI];
+//        const labelList& pEdges = pointEdges[verti];
 //
-//        forAll(pEdges, myEdgeI)
+//        forAll(pEdges, myEdgei)
 //        {
-//            const edge& e = edges[pEdges[myEdgeI]];
+//            const edge& e = edges[pEdges[myEdgei]];
 //
-//            label otherVertI = e.otherVertex(vertI);
+//            label otherVerti = e.otherVertex(verti);
 //
-//            avgPos += localPoints[otherVertI];
+//            avgPos += localPoints[otherVerti];
 //        }
 //
 //        avgPos /= pEdges.size();
@@ -662,9 +662,9 @@ Foam::tmp<Foam::scalarField> Foam::snappySnapDriver::edgePatchDist
     // Set initial changed points to all the patch points
     List<pointEdgePoint> wallInfo(pp.nPoints());
 
-    forAll(pp.localPoints(), ppI)
+    forAll(pp.localPoints(), ppi)
     {
-        wallInfo[ppI] = pointEdgePoint(pp.localPoints()[ppI], 0.0);
+        wallInfo[ppi] = pointEdgePoint(pp.localPoints()[ppi], 0.0);
     }
 
     // Current info on points
@@ -688,9 +688,9 @@ Foam::tmp<Foam::scalarField> Foam::snappySnapDriver::edgePatchDist
     tmp<scalarField> tedgeDist(new scalarField(mesh.nEdges()));
     scalarField& edgeDist = tedgeDist.ref();
 
-    forAll(allEdgeInfo, edgeI)
+    forAll(allEdgeInfo, edgei)
     {
-        edgeDist[edgeI] = Foam::sqrt(allEdgeInfo[edgeI].distSqr());
+        edgeDist[edgei] = Foam::sqrt(allEdgeInfo[edgei].distSqr());
     }
 
     return tedgeDist;
@@ -709,17 +709,17 @@ void Foam::snappySnapDriver::dumpMove
 
     OFstream nearestStream(fName);
 
-    label vertI = 0;
+    label verti = 0;
 
-    forAll(meshPts, ptI)
+    forAll(meshPts, pti)
     {
-        meshTools::writeOBJ(nearestStream, meshPts[ptI]);
-        vertI++;
+        meshTools::writeOBJ(nearestStream, meshPts[pti]);
+        verti++;
 
-        meshTools::writeOBJ(nearestStream, surfPts[ptI]);
-        vertI++;
+        meshTools::writeOBJ(nearestStream, surfPts[pti]);
+        verti++;
 
-        nearestStream<< "l " << vertI-1 << ' ' << vertI << nl;
+        nearestStream<< "l " << verti-1 << ' ' << verti << nl;
     }
 }
 
@@ -735,11 +735,11 @@ bool Foam::snappySnapDriver::outwardsDisplacement
     const vectorField& faceNormals = pp.faceNormals();
     const labelListList& pointFaces = pp.pointFaces();
 
-    forAll(pointFaces, pointI)
+    forAll(pointFaces, pointi)
     {
-        const labelList& pFaces = pointFaces[pointI];
+        const labelList& pFaces = pointFaces[pointi];
 
-        vector disp(patchDisp[pointI]);
+        vector disp(patchDisp[pointi]);
 
         scalar magDisp = mag(disp);
 
@@ -751,9 +751,9 @@ bool Foam::snappySnapDriver::outwardsDisplacement
 
             if (!outwards)
             {
-                Warning<< "Displacement " << patchDisp[pointI]
-                    << " at mesh point " << pp.meshPoints()[pointI]
-                    << " coord " << pp.points()[pp.meshPoints()[pointI]]
+                Warning<< "Displacement " << patchDisp[pointi]
+                    << " at mesh point " << pp.meshPoints()[pointi]
+                    << " coord " << pp.points()[pp.meshPoints()[pointi]]
                     << " points through the surrounding patch faces" << endl;
                 return false;
             }
@@ -797,17 +797,17 @@ Foam::scalarField Foam::snappySnapDriver::calcSnapDistance
 
     scalarField maxEdgeLen(localPoints.size(), -GREAT);
 
-    forAll(pointEdges, pointI)
+    forAll(pointEdges, pointi)
     {
-        const labelList& pEdges = pointEdges[pointI];
+        const labelList& pEdges = pointEdges[pointi];
 
-        forAll(pEdges, pEdgeI)
+        forAll(pEdges, pEdgei)
         {
-            const edge& e = edges[pEdges[pEdgeI]];
+            const edge& e = edges[pEdges[pEdgei]];
 
             scalar len = e.mag(localPoints);
 
-            maxEdgeLen[pointI] = max(maxEdgeLen[pointI], len);
+            maxEdgeLen[pointi] = max(maxEdgeLen[pointi], len);
         }
     }
 
@@ -858,9 +858,9 @@ void Foam::snappySnapDriver::preSmoothPatch
     {
         Info<< "Smoothing iteration " << smoothIter << endl;
         checkFaces.setSize(mesh.nFaces());
-        forAll(checkFaces, faceI)
+        forAll(checkFaces, facei)
         {
-            checkFaces[faceI] = faceI;
+            checkFaces[facei] = facei;
         }
 
         // If enabled smooth the internal points
@@ -949,16 +949,16 @@ Foam::labelList Foam::snappySnapDriver::getZoneSurfacePoints
     const word& zoneName
 )
 {
-    label zoneI = mesh.faceZones().findZoneID(zoneName);
+    label zonei = mesh.faceZones().findZoneID(zoneName);
 
-    if (zoneI == -1)
+    if (zonei == -1)
     {
         FatalErrorInFunction
             << "Cannot find zone " << zoneName
             << exit(FatalError);
     }
 
-    const faceZone& fZone = mesh.faceZones()[zoneI];
+    const faceZone& fZone = mesh.faceZones()[zonei];
 
 
     // Could use PrimitivePatch & localFaces to extract points but might just
@@ -972,15 +972,15 @@ Foam::labelList Foam::snappySnapDriver::getZoneSurfacePoints
 
         forAll(f, fp)
         {
-            label meshPointI = f[fp];
+            label meshPointi = f[fp];
 
             Map<label>::const_iterator iter =
-                pp.meshPointMap().find(meshPointI);
+                pp.meshPointMap().find(meshPointi);
 
             if (iter != pp.meshPointMap().end())
             {
-                label pointI = iter();
-                pointOnZone[pointI] = true;
+                label pointi = iter();
+                pointOnZone[pointi] = true;
             }
         }
     }
@@ -1005,18 +1005,18 @@ Foam::tmp<Foam::pointField> Foam::snappySnapDriver::avgCellCentres
     pointField& avgBoundary = tavgBoundary.ref();
     labelList nBoundary(pointFaces.size(), 0);
 
-    forAll(pointFaces, pointI)
+    forAll(pointFaces, pointi)
     {
-        const labelList& pFaces = pointFaces[pointI];
+        const labelList& pFaces = pointFaces[pointi];
 
-        forAll(pFaces, pfI)
+        forAll(pFaces, pfi)
         {
-            label faceI = pFaces[pfI];
-            label meshFaceI = pp.addressing()[faceI];
+            label facei = pFaces[pfi];
+            label meshFacei = pp.addressing()[facei];
 
-            label own = mesh.faceOwner()[meshFaceI];
-            avgBoundary[pointI] += mesh.cellCentres()[own];
-            nBoundary[pointI]++;
+            label own = mesh.faceOwner()[meshFacei];
+            avgBoundary[pointi] += mesh.cellCentres()[own];
+            nBoundary[pointi]++;
         }
     }
 
@@ -1083,10 +1083,10 @@ Foam::tmp<Foam::pointField> Foam::snappySnapDriver::avgCellCentres
 //        );
 //
 //
-//        forAll(maxPointLevel, pointI)
+//        forAll(maxPointLevel, pointi)
 //        {
 //            // Find undistorted edge size for this level.
-//            edgeLen[pointI] = edge0Len/(1<<maxPointLevel[pointI]);
+//            edgeLen[pointi] = edge0Len/(1<<maxPointLevel[pointi]);
 //        }
 //    }
 //    return tedgeLen;
@@ -1124,113 +1124,113 @@ void Foam::snappySnapDriver::detectNearSurfaces
     //    pointField start(14*pp.nPoints());
     //    pointField end(start.size());
     //
-    //    label rayI = 0;
-    //    forAll(localPoints, pointI)
+    //    label rayi = 0;
+    //    forAll(localPoints, pointi)
     //    {
-    //        const point& pt = localPoints[pointI];
+    //        const point& pt = localPoints[pointi];
     //
     //        // Along coordinate axes
     //
     //        {
-    //            start[rayI] = pt;
-    //            point& endPt = end[rayI++];
+    //            start[rayi] = pt;
+    //            point& endPt = end[rayi++];
     //            endPt = pt;
-    //            endPt.x() -= edgeLen[pointI];
+    //            endPt.x() -= edgeLen[pointi];
     //        }
     //        {
-    //            start[rayI] = pt;
-    //            point& endPt = end[rayI++];
+    //            start[rayi] = pt;
+    //            point& endPt = end[rayi++];
     //            endPt = pt;
-    //            endPt.x() += edgeLen[pointI];
+    //            endPt.x() += edgeLen[pointi];
     //        }
     //        {
-    //            start[rayI] = pt;
-    //            point& endPt = end[rayI++];
+    //            start[rayi] = pt;
+    //            point& endPt = end[rayi++];
     //            endPt = pt;
-    //            endPt.y() -= edgeLen[pointI];
+    //            endPt.y() -= edgeLen[pointi];
     //        }
     //        {
-    //            start[rayI] = pt;
-    //            point& endPt = end[rayI++];
+    //            start[rayi] = pt;
+    //            point& endPt = end[rayi++];
     //            endPt = pt;
-    //            endPt.y() += edgeLen[pointI];
+    //            endPt.y() += edgeLen[pointi];
     //        }
     //        {
-    //            start[rayI] = pt;
-    //            point& endPt = end[rayI++];
+    //            start[rayi] = pt;
+    //            point& endPt = end[rayi++];
     //            endPt = pt;
-    //            endPt.z() -= edgeLen[pointI];
+    //            endPt.z() -= edgeLen[pointi];
     //        }
     //        {
-    //            start[rayI] = pt;
-    //            point& endPt = end[rayI++];
+    //            start[rayi] = pt;
+    //            point& endPt = end[rayi++];
     //            endPt = pt;
-    //            endPt.z() += edgeLen[pointI];
+    //            endPt.z() += edgeLen[pointi];
     //        }
     //
     //        // At 45 degrees
     //
-    //        const vector vec(edgeLen[pointI]*n);
+    //        const vector vec(edgeLen[pointi]*n);
     //
     //        {
-    //            start[rayI] = pt;
-    //            point& endPt = end[rayI++];
+    //            start[rayi] = pt;
+    //            point& endPt = end[rayi++];
     //            endPt = pt;
     //            endPt.x() += vec.x();
     //            endPt.y() += vec.y();
     //            endPt.z() += vec.z();
     //        }
     //        {
-    //            start[rayI] = pt;
-    //            point& endPt = end[rayI++];
+    //            start[rayi] = pt;
+    //            point& endPt = end[rayi++];
     //            endPt = pt;
     //            endPt.x() -= vec.x();
     //            endPt.y() += vec.y();
     //            endPt.z() += vec.z();
     //        }
     //        {
-    //            start[rayI] = pt;
-    //            point& endPt = end[rayI++];
+    //            start[rayi] = pt;
+    //            point& endPt = end[rayi++];
     //            endPt = pt;
     //            endPt.x() += vec.x();
     //            endPt.y() -= vec.y();
     //            endPt.z() += vec.z();
     //        }
     //        {
-    //            start[rayI] = pt;
-    //            point& endPt = end[rayI++];
+    //            start[rayi] = pt;
+    //            point& endPt = end[rayi++];
     //            endPt = pt;
     //            endPt.x() -= vec.x();
     //            endPt.y() -= vec.y();
     //            endPt.z() += vec.z();
     //        }
     //        {
-    //            start[rayI] = pt;
-    //            point& endPt = end[rayI++];
+    //            start[rayi] = pt;
+    //            point& endPt = end[rayi++];
     //            endPt = pt;
     //            endPt.x() += vec.x();
     //            endPt.y() += vec.y();
     //            endPt.z() -= vec.z();
     //        }
     //        {
-    //            start[rayI] = pt;
-    //            point& endPt = end[rayI++];
+    //            start[rayi] = pt;
+    //            point& endPt = end[rayi++];
     //            endPt = pt;
     //            endPt.x() -= vec.x();
     //            endPt.y() += vec.y();
     //            endPt.z() -= vec.z();
     //        }
     //        {
-    //            start[rayI] = pt;
-    //            point& endPt = end[rayI++];
+    //            start[rayi] = pt;
+    //            point& endPt = end[rayi++];
     //            endPt = pt;
     //            endPt.x() += vec.x();
     //            endPt.y() -= vec.y();
     //            endPt.z() -= vec.z();
     //        }
     //        {
-    //            start[rayI] = pt;
-    //            point& endPt = end[rayI++];
+    //            start[rayi] = pt;
+    //            point& endPt = end[rayi++];
     //            endPt = pt;
     //            endPt.x() -= vec.x();
     //            endPt.y() -= vec.y();
@@ -1299,7 +1299,7 @@ void Foam::snappySnapDriver::detectNearSurfaces
     //        Info<< "Dumping intersections with co-planar surfaces to "
     //            << str.name() << endl;
     //
-    //        forAll(localPoints, pointI)
+    //        forAll(localPoints, pointi)
     //        {
     //            bool hasNormal = false;
     //            point surfPointA;
@@ -1309,13 +1309,13 @@ void Foam::snappySnapDriver::detectNearSurfaces
     //
     //            bool isCoplanar = false;
     //
-    //            label rayI = 14*pointI;
+    //            label rayi = 14*pointi;
     //            for (label i = 0; i < 14; i++)
     //            {
-    //                if (hit1[rayI].hit())
+    //                if (hit1[rayi].hit())
     //                {
-    //                    const point& pt = hit1[rayI].hitPoint();
-    //                    const vector& n = normal1[rayI];
+    //                    const point& pt = hit1[rayi].hitPoint();
+    //                    const vector& n = normal1[rayi];
     //
     //                    if (!hasNormal)
     //                    {
@@ -1344,10 +1344,10 @@ void Foam::snappySnapDriver::detectNearSurfaces
     //                        }
     //                    }
     //                }
-    //                if (hit2[rayI].hit())
+    //                if (hit2[rayi].hit())
     //                {
-    //                    const point& pt = hit2[rayI].hitPoint();
-    //                    const vector& n = normal2[rayI];
+    //                    const point& pt = hit2[rayi].hitPoint();
+    //                    const vector& n = normal2[rayi];
     //
     //                    if (!hasNormal)
     //                    {
@@ -1377,7 +1377,7 @@ void Foam::snappySnapDriver::detectNearSurfaces
     //                    }
     //                }
     //
-    //                rayI++;
+    //                rayi++;
     //            }
     //
     //            if (isCoplanar)
@@ -1394,12 +1394,12 @@ void Foam::snappySnapDriver::detectNearSurfaces
     // Construct rays through localPoints to beyond cell centre
     pointField start(pp.nPoints());
     pointField end(pp.nPoints());
-    forAll(localPoints, pointI)
+    forAll(localPoints, pointi)
     {
-        const point& pt = localPoints[pointI];
-        const vector d = 2*(avgCc[pointI]-pt);
-        start[pointI] = pt - d;
-        end[pointI] = pt + d;
+        const point& pt = localPoints[pointi];
+        const vector d = 2*(avgCc[pointi]-pt);
+        start[pointi] = pt - d;
+        end[pointi] = pt + d;
     }
 
 
@@ -1465,61 +1465,61 @@ void Foam::snappySnapDriver::detectNearSurfaces
         );
 
 
-        forAll(localPoints, pointI)
+        forAll(localPoints, pointi)
         {
             // Current location
-            const point& pt = localPoints[pointI];
+            const point& pt = localPoints[pointi];
 
             bool override = false;
 
-            //if (hit1[pointI].hit())
+            //if (hit1[pointi].hit())
             //{
             //    if
             //    (
             //        meshRefiner_.isGap
             //        (
             //            planarCos,
-            //            nearestPoint[pointI],
-            //            nearestNormal[pointI],
-            //            hit1[pointI].hitPoint(),
-            //            normal1[pointI]
+            //            nearestPoint[pointi],
+            //            nearestNormal[pointi],
+            //            hit1[pointi].hitPoint(),
+            //            normal1[pointi]
             //        )
             //    )
             //    {
-            //        disp[pointI] = hit1[pointI].hitPoint()-pt;
+            //        disp[pointi] = hit1[pointi].hitPoint()-pt;
             //        override = true;
             //    }
             //}
-            //if (hit2[pointI].hit())
+            //if (hit2[pointi].hit())
             //{
             //    if
             //    (
             //        meshRefiner_.isGap
             //        (
             //            planarCos,
-            //            nearestPoint[pointI],
-            //            nearestNormal[pointI],
-            //            hit2[pointI].hitPoint(),
-            //            normal2[pointI]
+            //            nearestPoint[pointi],
+            //            nearestNormal[pointi],
+            //            hit2[pointi].hitPoint(),
+            //            normal2[pointi]
             //        )
             //    )
             //    {
-            //        disp[pointI] = hit2[pointI].hitPoint()-pt;
+            //        disp[pointi] = hit2[pointi].hitPoint()-pt;
             //        override = true;
             //    }
             //}
 
-            if (hit1[pointI].hit() && hit2[pointI].hit())
+            if (hit1[pointi].hit() && hit2[pointi].hit())
             {
                 if
                 (
                     meshRefiner_.isGap
                     (
                         planarCos,
-                        hit1[pointI].hitPoint(),
-                        normal1[pointI],
-                        hit2[pointI].hitPoint(),
-                        normal2[pointI]
+                        hit1[pointi].hitPoint(),
+                        normal1[pointi],
+                        hit2[pointi].hitPoint(),
+                        normal2[pointi]
                     )
                 )
                 {
@@ -1528,17 +1528,17 @@ void Foam::snappySnapDriver::detectNearSurfaces
 
                     if (gapStr.valid())
                     {
-                        const point& intPt = hit2[pointI].hitPoint();
+                        const point& intPt = hit2[pointi].hitPoint();
                         gapStr().write(linePointRef(pt, intPt));
                     }
 
                     // Choose hit2 : nearest to end point (so inside the domain)
-                    disp[pointI] = hit2[pointI].hitPoint()-pt;
+                    disp[pointi] = hit2[pointi].hitPoint()-pt;
                     override = true;
                 }
             }
 
-            if (override && isPatchMasterPoint[pointI])
+            if (override && isPatchMasterPoint[pointi])
             {
                 nOverride++;
             }
@@ -1560,11 +1560,11 @@ void Foam::snappySnapDriver::detectNearSurfaces
 
         forAll(zonedSurfaces, i)
         {
-            label zoneSurfI = zonedSurfaces[i];
+            label zoneSurfi = zonedSurfaces[i];
 
-            const word& faceZoneName = surfZones[zoneSurfI].faceZoneName();
+            const word& faceZoneName = surfZones[zoneSurfi].faceZoneName();
 
-            const labelList surfacesToTest(1, zoneSurfI);
+            const labelList surfacesToTest(1, zoneSurfi);
 
             // Get indices of points both on faceZone and on pp.
             labelList zonePointIndices
@@ -1607,10 +1607,10 @@ void Foam::snappySnapDriver::detectNearSurfaces
 
             forAll(hit1, i)
             {
-                label pointI = zonePointIndices[i];
+                label pointi = zonePointIndices[i];
 
                 // Current location
-                const point& pt = localPoints[pointI];
+                const point& pt = localPoints[pointi];
 
                 bool override = false;
 
@@ -1621,14 +1621,14 @@ void Foam::snappySnapDriver::detectNearSurfaces
                 //        meshRefiner_.isGap
                 //        (
                 //            planarCos,
-                //            nearestPoint[pointI],
-                //            nearestNormal[pointI],
+                //            nearestPoint[pointi],
+                //            nearestNormal[pointi],
                 //            hit1[i].hitPoint(),
                 //            normal1[i]
                 //        )
                 //    )
                 //    {
-                //        disp[pointI] = hit1[i].hitPoint()-pt;
+                //        disp[pointi] = hit1[i].hitPoint()-pt;
                 //        override = true;
                 //    }
                 //}
@@ -1639,14 +1639,14 @@ void Foam::snappySnapDriver::detectNearSurfaces
                 //        meshRefiner_.isGap
                 //        (
                 //            planarCos,
-                //            nearestPoint[pointI],
-                //            nearestNormal[pointI],
+                //            nearestPoint[pointi],
+                //            nearestNormal[pointi],
                 //            hit2[i].hitPoint(),
                 //            normal2[i]
                 //        )
                 //    )
                 //    {
-                //        disp[pointI] = hit2[i].hitPoint()-pt;
+                //        disp[pointi] = hit2[i].hitPoint()-pt;
                 //        override = true;
                 //    }
                 //}
@@ -1671,12 +1671,12 @@ void Foam::snappySnapDriver::detectNearSurfaces
                             gapStr().write(linePointRef(pt, intPt));
                         }
 
-                        disp[pointI] = hit2[i].hitPoint()-pt;
+                        disp[pointi] = hit2[i].hitPoint()-pt;
                         override = true;
                     }
                 }
 
-                if (override && isPatchMasterPoint[pointI])
+                if (override && isPatchMasterPoint[pointi])
                 {
                     nOverride++;
                 }
@@ -1736,9 +1736,9 @@ void Foam::snappySnapDriver::calcNearestSurface
         {
             if (hitInfo[i].hit())
             {
-                label pointI = zonePointIndices[i];
-                nearestPoint[pointI] = hitInfo[i].hitPoint();
-                nearestNormal[pointI] = hitNormal[i];
+                label pointi = zonePointIndices[i];
+                nearestPoint[pointi] = hitInfo[i].hitPoint();
+                nearestNormal[pointi] = hitNormal[i];
             }
         }
     }
@@ -1761,11 +1761,11 @@ void Foam::snappySnapDriver::calcNearestSurface
     {
         if (hitInfo[i].hit())
         {
-            label pointI = zonePointIndices[i];
+            label pointi = zonePointIndices[i];
 
-            patchDisp[pointI] = hitInfo[i].hitPoint() - localPoints[pointI];
-            minSnapDist[pointI] = mag(patchDisp[pointI]);
-            snapSurf[pointI] = hitSurface[i];
+            patchDisp[pointi] = hitInfo[i].hitPoint() - localPoints[pointi];
+            minSnapDist[pointi] = mag(patchDisp[pointi]);
+            snapSurf[pointi] = hitSurface[i];
         }
     }
 }
@@ -1825,17 +1825,17 @@ Foam::vectorField Foam::snappySnapDriver::calcNearestSurface
         {
             // Attract patch points to same region only
 
-            forAll(surfaces.surfaces(), surfI)
+            forAll(surfaces.surfaces(), surfi)
             {
-                label geomI = surfaces.surfaces()[surfI];
-                label nRegions = surfaces.geometry()[geomI].regions().size();
+                label geomi = surfaces.surfaces()[surfi];
+                label nRegions = surfaces.geometry()[geomi].regions().size();
 
-                const labelList surfacesToTest(1, surfI);
+                const labelList surfacesToTest(1, surfi);
 
-                for (label regionI = 0; regionI < nRegions; regionI++)
+                for (label regioni = 0; regioni < nRegions; regioni++)
                 {
-                    label globalI = surfaces.globalRegion(surfI, regionI);
-                    label masterPatchI = globalToMasterPatch[globalI];
+                    label globali = surfaces.globalRegion(surfi, regioni);
+                    label masterPatchi = globalToMasterPatch[globali];
 
                     // Get indices of points both on patch and on pp
                     labelList zonePointIndices
@@ -1843,7 +1843,7 @@ Foam::vectorField Foam::snappySnapDriver::calcNearestSurface
                         getFacePoints
                         (
                             pp,
-                            mesh.boundaryMesh()[masterPatchI]
+                            mesh.boundaryMesh()[masterPatchi]
                         )
                     );
 
@@ -1852,7 +1852,7 @@ Foam::vectorField Foam::snappySnapDriver::calcNearestSurface
                         surfaces,
 
                         surfacesToTest,
-                        labelListList(1, labelList(1, regionI)), //regionsToTest
+                        labelListList(1, labelList(1, regioni)), //regionsToTest
 
                         localPoints,
                         zonePointIndices,
@@ -1866,9 +1866,9 @@ Foam::vectorField Foam::snappySnapDriver::calcNearestSurface
                         nearestNormal
                     );
 
-                    if (globalToSlavePatch[globalI] != masterPatchI)
+                    if (globalToSlavePatch[globali] != masterPatchi)
                     {
-                        label slavePatchI = globalToSlavePatch[globalI];
+                        label slavePatchi = globalToSlavePatch[globali];
 
                         // Get indices of points both on patch and on pp
                         labelList zonePointIndices
@@ -1876,7 +1876,7 @@ Foam::vectorField Foam::snappySnapDriver::calcNearestSurface
                             getFacePoints
                             (
                                 pp,
-                                mesh.boundaryMesh()[slavePatchI]
+                                mesh.boundaryMesh()[slavePatchi]
                             )
                         );
 
@@ -1885,7 +1885,7 @@ Foam::vectorField Foam::snappySnapDriver::calcNearestSurface
                             surfaces,
 
                             surfacesToTest,
-                            labelListList(1, labelList(1, regionI)),
+                            labelListList(1, labelList(1, regioni)),
 
                             localPoints,
                             zonePointIndices,
@@ -1933,12 +1933,12 @@ Foam::vectorField Foam::snappySnapDriver::calcNearestSurface
                     hitNormal
                 );
 
-                forAll(hitInfo, pointI)
+                forAll(hitInfo, pointi)
                 {
-                    if (hitInfo[pointI].hit())
+                    if (hitInfo[pointi].hit())
                     {
-                        nearestPoint[pointI] = hitInfo[pointI].hitPoint();
-                        nearestNormal[pointI] = hitNormal[pointI];
+                        nearestPoint[pointi] = hitInfo[pointi].hitPoint();
+                        nearestNormal[pointi] = hitNormal[pointi];
                     }
                 }
             }
@@ -1954,15 +1954,15 @@ Foam::vectorField Foam::snappySnapDriver::calcNearestSurface
                 );
             }
 
-            forAll(hitInfo, pointI)
+            forAll(hitInfo, pointi)
             {
-                if (hitInfo[pointI].hit())
+                if (hitInfo[pointi].hit())
                 {
-                    patchDisp[pointI] =
-                        hitInfo[pointI].hitPoint()
-                      - localPoints[pointI];
+                    patchDisp[pointi] =
+                        hitInfo[pointi].hitPoint()
+                      - localPoints[pointi];
 
-                    snapSurf[pointI] = hitSurface[pointI];
+                    snapSurf[pointi] = hitSurface[pointi];
                 }
             }
 
@@ -1982,14 +1982,14 @@ Foam::vectorField Foam::snappySnapDriver::calcNearestSurface
 
             forAll(zonedSurfaces, i)
             {
-                label surfI = zonedSurfaces[i];
+                label surfi = zonedSurfaces[i];
 
-                const word& faceZoneName = surfZones[surfI].faceZoneName();
+                const word& faceZoneName = surfZones[surfi].faceZoneName();
 
-                const labelList surfacesToTest(1, surfI);
+                const labelList surfacesToTest(1, surfi);
 
-                label geomI = surfaces.surfaces()[surfI];
-                label nRegions = surfaces.geometry()[geomI].regions().size();
+                label geomi = surfaces.surfaces()[surfi];
+                label nRegions = surfaces.geometry()[geomi].regions().size();
 
 
                 // Get indices of points both on faceZone and on pp.
@@ -2027,15 +2027,15 @@ Foam::vectorField Foam::snappySnapDriver::calcNearestSurface
 
 
         // Check if all points are being snapped
-        forAll(snapSurf, pointI)
+        forAll(snapSurf, pointi)
         {
-            if (snapSurf[pointI] == -1)
+            if (snapSurf[pointi] == -1)
             {
                 WarningInFunction
-                    << "For point:" << pointI
-                    << " coordinate:" << localPoints[pointI]
+                    << "For point:" << pointi
+                    << " coordinate:" << localPoints[pointi]
                     << " did not find any surface within:"
-                    << minSnapDist[pointI]
+                    << minSnapDist[pointi]
                     << " metre." << endl;
             }
         }
@@ -2065,16 +2065,16 @@ Foam::vectorField Foam::snappySnapDriver::calcNearestSurface
 
     // Limit amount of movement. Can not happen for triSurfaceMesh but
     // can happen for some analytical shapes?
-    forAll(patchDisp, patchPointI)
+    forAll(patchDisp, patchPointi)
     {
-        scalar magDisp = mag(patchDisp[patchPointI]);
+        scalar magDisp = mag(patchDisp[patchPointi]);
 
-        if (magDisp > snapDist[patchPointI])
+        if (magDisp > snapDist[patchPointi])
         {
-            patchDisp[patchPointI] *= snapDist[patchPointI] / magDisp;
+            patchDisp[patchPointi] *= snapDist[patchPointi] / magDisp;
 
-            Pout<< "Limiting displacement for " << patchPointI
-                << " from " << magDisp << " to " << snapDist[patchPointI]
+            Pout<< "Limiting displacement for " << patchPointi
+                << " from " << magDisp << " to " << snapDist[patchPointi]
                 << endl;
         }
     }
@@ -2264,11 +2264,11 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::snappySnapDriver::repatchToSurface
     PackedBoolList isZonedFace(mesh.nFaces());
     {
         // 1. Preserve faces in preserveFaces list
-        forAll(preserveFaces, faceI)
+        forAll(preserveFaces, facei)
         {
-            if (preserveFaces[faceI] != -1)
+            if (preserveFaces[facei] != -1)
             {
-                isZonedFace.set(faceI, 1);
+                isZonedFace.set(facei, 1);
             }
         }
 
@@ -2278,8 +2278,8 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::snappySnapDriver::repatchToSurface
 
         forAll(zonedSurfaces, i)
         {
-            const label zoneSurfI = zonedSurfaces[i];
-            const faceZone& fZone = fZones[surfZones[zoneSurfI].faceZoneName()];
+            const label zoneSurfi = zonedSurfaces[i];
+            const faceZone& fZone = fZones[surfZones[zoneSurfi].faceZoneName()];
 
             forAll(fZone, i)
             {
@@ -2311,15 +2311,15 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::snappySnapDriver::repatchToSurface
 
             const faceList& localFaces = pp.localFaces();
 
-            forAll(localFaces, faceI)
+            forAll(localFaces, facei)
             {
-                const face& f = localFaces[faceI];
+                const face& f = localFaces[facei];
 
                 forAll(f, fp)
                 {
-                    faceSnapDist[faceI] = max
+                    faceSnapDist[facei] = max
                     (
-                        faceSnapDist[faceI],
+                        faceSnapDist[facei],
                         snapDist[f[fp]]
                     );
                 }
@@ -2343,9 +2343,9 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::snappySnapDriver::repatchToSurface
         // Get patch
         forAll(pp, i)
         {
-            label faceI = pp.addressing()[i];
+            label facei = pp.addressing()[i];
 
-            if (hitSurface[i] != -1 && !isZonedFace.get(faceI))
+            if (hitSurface[i] != -1 && !isZonedFace.get(facei))
             {
                 closestPatch[i] = globalToMasterPatch_
                 [
@@ -2368,26 +2368,26 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::snappySnapDriver::repatchToSurface
 
     const polyBoundaryMesh& patches = mesh.boundaryMesh();
 
-    forAll(patches, patchI)
+    forAll(patches, patchi)
     {
-        const polyPatch& pp = patches[patchI];
+        const polyPatch& pp = patches[patchi];
 
         forAll(pp, i)
         {
-            ownPatch[pp.start()+i] = patchI;
-            neiPatch[pp.start()+i] = patchI;
+            ownPatch[pp.start()+i] = patchi;
+            neiPatch[pp.start()+i] = patchi;
         }
     }
 
     label nChanged = 0;
     forAll(closestPatch, i)
     {
-        label faceI = pp.addressing()[i];
+        label facei = pp.addressing()[i];
 
-        if (closestPatch[i] != -1 && closestPatch[i] != ownPatch[faceI])
+        if (closestPatch[i] != -1 && closestPatch[i] != ownPatch[facei])
         {
-            ownPatch[faceI] = closestPatch[i];
-            neiPatch[faceI] = closestPatch[i];
+            ownPatch[facei] = closestPatch[i];
+            neiPatch[facei] = closestPatch[i];
             nChanged++;
         }
     }
@@ -2425,9 +2425,9 @@ void Foam::snappySnapDriver::detectWarpedFaces
     face f0(4);
     face f1(4);
 
-    forAll(localFaces, faceI)
+    forAll(localFaces, facei)
     {
-        const face& f = localFaces[faceI];
+        const face& f = localFaces[facei];
 
         if (f.size() >= 4)
         {
@@ -2486,7 +2486,7 @@ void Foam::snappySnapDriver::detectWarpedFaces
 
             if (minCos < featureCos)
             {
-                splitFaces.append(bFaces[faceI]);
+                splitFaces.append(bFaces[facei]);
                 splits.append(minDiag);
             }
         }
diff --git a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriverFeature.C b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriverFeature.C
index 45535a7f19..2846704f80 100644
--- a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriverFeature.C
+++ b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriverFeature.C
@@ -70,12 +70,12 @@ bool Foam::snappySnapDriver::isFeaturePoint
     const scalar featureCos,
     const indirectPrimitivePatch& pp,
     const PackedBoolList& isFeatureEdge,
-    const label pointI
+    const label pointi
 ) const
 {
     const pointField& points = pp.localPoints();
     const edgeList& edges = pp.edges();
-    const labelList& pEdges = pp.pointEdges()[pointI];
+    const labelList& pEdges = pp.pointEdges()[pointi];
 
     label nFeatEdges = 0;
 
@@ -89,24 +89,24 @@ bool Foam::snappySnapDriver::isFeaturePoint
             {
                 if (isFeatureEdge[pEdges[j]])
                 {
-                    const edge& eI = edges[pEdges[i]];
-                    const edge& eJ = edges[pEdges[j]];
+                    const edge& ei = edges[pEdges[i]];
+                    const edge& ej = edges[pEdges[j]];
 
-                    const point& p = points[pointI];
-                    const point& pI = points[eI.otherVertex(pointI)];
-                    const point& pJ = points[eJ.otherVertex(pointI)];
+                    const point& p = points[pointi];
+                    const point& pi = points[ei.otherVertex(pointi)];
+                    const point& pj = points[ej.otherVertex(pointi)];
 
-                    vector vI = p-pI;
-                    scalar vIMag = mag(vI);
+                    vector vi = p-pi;
+                    scalar viMag = mag(vi);
 
-                    vector vJ = pJ-p;
-                    scalar vJMag = mag(vJ);
+                    vector vj = pj-p;
+                    scalar vjMag = mag(vj);
 
                     if
                     (
-                        vIMag > SMALL
-                     && vJMag > SMALL
-                     && ((vI/vIMag & vJ/vJMag) < featureCos)
+                        viMag > SMALL
+                     && vjMag > SMALL
+                     && ((vi/viMag & vj/vjMag) < featureCos)
                     )
                     {
                         return true;
@@ -158,25 +158,25 @@ void Foam::snappySnapDriver::smoothAndConstrain
         const labelListList& pointEdges = pp.pointEdges();
         const edgeList& edges = pp.edges();
 
-        forAll(pointEdges, pointI)
+        forAll(pointEdges, pointi)
         {
-            const labelList& pEdges = pointEdges[pointI];
+            const labelList& pEdges = pointEdges[pointi];
 
-            label nConstraints = constraints[pointI].first();
+            label nConstraints = constraints[pointi].first();
 
             if (nConstraints <= 1)
             {
                 forAll(pEdges, i)
                 {
-                    label edgeI = pEdges[i];
+                    label edgei = pEdges[i];
 
-                    if (isPatchMasterEdge[edgeI])
+                    if (isPatchMasterEdge[edgei])
                     {
-                        label nbrPointI = edges[edgeI].otherVertex(pointI);
-                        if (constraints[nbrPointI].first() >= nConstraints)
+                        label nbrPointi = edges[edgei].otherVertex(pointi);
+                        if (constraints[nbrPointi].first() >= nConstraints)
                         {
-                            dispSum[pointI] += disp[nbrPointI];
-                            dispCount[pointI]++;
+                            dispSum[pointi] += disp[nbrPointi];
+                            dispCount[pointi]++;
                         }
                     }
                 }
@@ -203,14 +203,14 @@ void Foam::snappySnapDriver::smoothAndConstrain
         );
 
         // Constraints
-        forAll(constraints, pointI)
+        forAll(constraints, pointi)
         {
-            if (dispCount[pointI] > 0)
+            if (dispCount[pointi] > 0)
             {
                 // Mix my displacement with neighbours' displacement
-                disp[pointI] =
+                disp[pointi] =
                     0.5
-                   *(disp[pointI] + dispSum[pointI]/dispCount[pointI]);
+                   *(disp[pointi] + dispSum[pointi]/dispCount[pointi]);
             }
         }
     }
@@ -258,19 +258,19 @@ void Foam::snappySnapDriver::calcNearestFace
 
     forAll(zonedSurfaces, i)
     {
-        label zoneSurfI = zonedSurfaces[i];
+        label zoneSurfi = zonedSurfaces[i];
 
-        const word& faceZoneName = surfZones[zoneSurfI].faceZoneName();
+        const word& faceZoneName = surfZones[zoneSurfi].faceZoneName();
 
         // Get indices of faces on pp that are also in zone
-        label zoneI = mesh.faceZones().findZoneID(faceZoneName);
-        if (zoneI == -1)
+        label zonei = mesh.faceZones().findZoneID(faceZoneName);
+        if (zonei == -1)
         {
             FatalErrorInFunction
                 << "Problem. Cannot find zone " << faceZoneName
                 << exit(FatalError);
         }
-        const faceZone& fZone = mesh.faceZones()[zoneI];
+        const faceZone& fZone = mesh.faceZones()[zonei];
         PackedBoolList isZonedFace(mesh.nFaces());
         forAll(fZone, i)
         {
@@ -283,7 +283,7 @@ void Foam::snappySnapDriver::calcNearestFace
         {
             if (isZonedFace[pp.addressing()[i]])
             {
-                snapSurf[i] = zoneSurfI;
+                snapSurf[i] = zoneSurfi;
                 ppFaces.append(i);
                 meshFaces.append(pp.addressing()[i]);
             }
@@ -308,7 +308,7 @@ void Foam::snappySnapDriver::calcNearestFace
         vectorField hitNormal;
         surfaces.findNearestRegion
         (
-            labelList(1, zoneSurfI),
+            labelList(1, zoneSurfi),
             fc,
             sqr(faceSnapDist),// sqr of attract dist
             hitSurface,
@@ -317,23 +317,23 @@ void Foam::snappySnapDriver::calcNearestFace
             hitNormal
         );
 
-        forAll(hitInfo, hitI)
+        forAll(hitInfo, hiti)
         {
-            if (hitInfo[hitI].hit())
+            if (hitInfo[hiti].hit())
             {
-                label faceI = ppFaces[hitI];
-                faceDisp[faceI] = hitInfo[hitI].hitPoint() - fc[hitI];
-                faceSurfaceNormal[faceI] = hitNormal[hitI];
-                faceSurfaceGlobalRegion[faceI] = surfaces.globalRegion
+                label facei = ppFaces[hiti];
+                faceDisp[facei] = hitInfo[hiti].hitPoint() - fc[hiti];
+                faceSurfaceNormal[facei] = hitNormal[hiti];
+                faceSurfaceGlobalRegion[facei] = surfaces.globalRegion
                 (
-                    hitSurface[hitI],
-                    hitRegion[hitI]
+                    hitSurface[hiti],
+                    hitRegion[hiti]
                 );
             }
             else
             {
                 WarningInFunction
-                    << "Did not find surface near face centre " << fc[hitI]
+                    << "Did not find surface near face centre " << fc[hiti]
                     << endl;
             }
         }
@@ -381,23 +381,23 @@ void Foam::snappySnapDriver::calcNearestFace
         hitNormal
     );
 
-    forAll(hitInfo, hitI)
+    forAll(hitInfo, hiti)
     {
-        if (hitInfo[hitI].hit())
+        if (hitInfo[hiti].hit())
         {
-            label faceI = ppFaces[hitI];
-            faceDisp[faceI] = hitInfo[hitI].hitPoint() - fc[hitI];
-            faceSurfaceNormal[faceI] = hitNormal[hitI];
-            faceSurfaceGlobalRegion[faceI] = surfaces.globalRegion
+            label facei = ppFaces[hiti];
+            faceDisp[facei] = hitInfo[hiti].hitPoint() - fc[hiti];
+            faceSurfaceNormal[facei] = hitNormal[hiti];
+            faceSurfaceGlobalRegion[facei] = surfaces.globalRegion
             (
-                hitSurface[hitI],
-                hitRegion[hitI]
+                hitSurface[hiti],
+                hitRegion[hiti]
             );
         }
         else
         {
             WarningInFunction
-                << "Did not find surface near face centre " << fc[hitI]
+                << "Did not find surface near face centre " << fc[hiti]
                 << endl;
         }
     }
@@ -410,12 +410,12 @@ void Foam::snappySnapDriver::calcNearestFace
     //faceRotation.setSize(pp.size());
     //faceRotation = Zero;
     //
-    //forAll(faceRotation, faceI)
+    //forAll(faceRotation, facei)
     //{
     //    // Note: extend to >180 degrees checking
-    //    faceRotation[faceI] =
-    //        pp.faceNormals()[faceI]
-    //      ^ faceSurfaceNormal[faceI];
+    //    faceRotation[facei] =
+    //        pp.faceNormals()[facei]
+    //      ^ faceSurfaceNormal[facei];
     //}
     //
     //if (debug&meshRefinement::ATTRACTION)
@@ -473,43 +473,43 @@ void Foam::snappySnapDriver::calcNearestFacePointProperties
     pointFacePatchID.setSize(pp.nPoints());
 
     // Fill local data
-    forAll(pp.pointFaces(), pointI)
+    forAll(pp.pointFaces(), pointi)
     {
-        const labelList& pFaces = pp.pointFaces()[pointI];
+        const labelList& pFaces = pp.pointFaces()[pointi];
 
         // Count valid face normals
         label nFaces = 0;
         forAll(pFaces, i)
         {
-            label faceI = pFaces[i];
-            if (isMasterFace[faceI] && faceSurfaceGlobalRegion[faceI] != -1)
+            label facei = pFaces[i];
+            if (isMasterFace[facei] && faceSurfaceGlobalRegion[facei] != -1)
             {
                 nFaces++;
             }
         }
 
 
-        List<point>& pNormals = pointFaceSurfNormals[pointI];
+        List<point>& pNormals = pointFaceSurfNormals[pointi];
         pNormals.setSize(nFaces);
-        List<point>& pDisp = pointFaceDisp[pointI];
+        List<point>& pDisp = pointFaceDisp[pointi];
         pDisp.setSize(nFaces);
-        List<point>& pFc = pointFaceCentres[pointI];
+        List<point>& pFc = pointFaceCentres[pointi];
         pFc.setSize(nFaces);
-        labelList& pFid = pointFacePatchID[pointI];
+        labelList& pFid = pointFacePatchID[pointi];
         pFid.setSize(nFaces);
 
         nFaces = 0;
         forAll(pFaces, i)
         {
-            label faceI = pFaces[i];
-            label globalRegionI = faceSurfaceGlobalRegion[faceI];
+            label facei = pFaces[i];
+            label globalRegioni = faceSurfaceGlobalRegion[facei];
 
-            if (isMasterFace[faceI] && globalRegionI != -1)
+            if (isMasterFace[facei] && globalRegioni != -1)
             {
-                pNormals[nFaces] = faceSurfaceNormal[faceI];
-                pDisp[nFaces] = faceDisp[faceI];
-                pFc[nFaces] = pp.faceCentres()[faceI];
-                pFid[nFaces] = globalToMasterPatch_[globalRegionI];
+                pNormals[nFaces] = faceSurfaceNormal[facei];
+                pDisp[nFaces] = faceDisp[facei];
+                pFc[nFaces] = pp.faceCentres()[facei];
+                pFid[nFaces] = globalToMasterPatch_[globalRegioni];
                 nFaces++;
             }
         }
@@ -528,16 +528,16 @@ void Foam::snappySnapDriver::calcNearestFacePointProperties
         labelList patchID(pbm.patchID());
 
         // Unmark all non-coupled boundary faces
-        forAll(pbm, patchI)
+        forAll(pbm, patchi)
         {
-            const polyPatch& pp = pbm[patchI];
+            const polyPatch& pp = pbm[patchi];
 
             if (pp.coupled() || isA<emptyPolyPatch>(pp))
             {
                 forAll(pp, i)
                 {
-                    label meshFaceI = pp.start()+i;
-                    patchID[meshFaceI-mesh.nInternalFaces()] = -1;
+                    label meshFacei = pp.start()+i;
+                    patchID[meshFacei-mesh.nInternalFaces()] = -1;
                 }
             }
         }
@@ -545,8 +545,8 @@ void Foam::snappySnapDriver::calcNearestFacePointProperties
         // Remove any meshed faces
         forAll(pp.addressing(), i)
         {
-            label meshFaceI = pp.addressing()[i];
-            patchID[meshFaceI-mesh.nInternalFaces()] = -1;
+            label meshFacei = pp.addressing()[i];
+            patchID[meshFacei-mesh.nInternalFaces()] = -1;
         }
 
 
@@ -567,10 +567,10 @@ void Foam::snappySnapDriver::calcNearestFacePointProperties
         const labelListList& edgeFaces = pp.edgeFaces();
         const edgeList& edges = pp.edges();
 
-        forAll(edgeFaces, edgeI)
+        forAll(edgeFaces, edgei)
         {
-            const edge& e = edges[edgeI];
-            const labelList& eFaces = edgeFaces[edgeI];
+            const edge& e = edges[edgei];
+            const labelList& eFaces = edgeFaces[edgei];
 
             if (eFaces.size() == 1)
             {
@@ -589,38 +589,38 @@ void Foam::snappySnapDriver::calcNearestFacePointProperties
 
         // Construct labelList equivalent of meshPointMap
         labelList meshToPatchPoint(mesh.nPoints(), -1);
-        forAll(pp.meshPoints(), pointI)
+        forAll(pp.meshPoints(), pointi)
         {
-            meshToPatchPoint[pp.meshPoints()[pointI]] = pointI;
+            meshToPatchPoint[pp.meshPoints()[pointi]] = pointi;
         }
 
-        forAll(patchID, bFaceI)
+        forAll(patchID, bFacei)
         {
-            label patchI = patchID[bFaceI];
+            label patchi = patchID[bFacei];
 
-            if (patchI != -1)
+            if (patchi != -1)
             {
-                label faceI = mesh.nInternalFaces()+bFaceI;
-                const face& f = mesh.faces()[faceI];
+                label facei = mesh.nInternalFaces()+bFacei;
+                const face& f = mesh.faces()[facei];
 
                 forAll(f, fp)
                 {
-                    label pointI = meshToPatchPoint[f[fp]];
+                    label pointi = meshToPatchPoint[f[fp]];
 
-                    if (pointI != -1 && isBoundaryPoint[pointI])
+                    if (pointi != -1 && isBoundaryPoint[pointi])
                     {
-                        List<point>& pNormals = pointFaceSurfNormals[pointI];
-                        List<point>& pDisp = pointFaceDisp[pointI];
-                        List<point>& pFc = pointFaceCentres[pointI];
-                        labelList& pFid = pointFacePatchID[pointI];
+                        List<point>& pNormals = pointFaceSurfNormals[pointi];
+                        List<point>& pDisp = pointFaceDisp[pointi];
+                        List<point>& pFc = pointFaceCentres[pointi];
+                        labelList& pFid = pointFacePatchID[pointi];
 
                         const point& pt = mesh.points()[f[fp]];
-                        vector fn = mesh.faceAreas()[faceI];
+                        vector fn = mesh.faceAreas()[facei];
 
                         pNormals.append(fn/mag(fn));
-                        pDisp.append(mesh.faceCentres()[faceI]-pt);
-                        pFc.append(mesh.faceCentres()[faceI]);
-                        pFid.append(patchI);
+                        pDisp.append(mesh.faceCentres()[facei]-pt);
+                        pFc.append(mesh.faceCentres()[facei]);
+                        pFid.append(patchi);
                     }
                 }
             }
@@ -667,12 +667,12 @@ void Foam::snappySnapDriver::calcNearestFacePointProperties
     // Sort the data according to the face centres. This is only so we get
     // consistent behaviour serial and parallel.
     labelList visitOrder;
-    forAll(pointFaceDisp, pointI)
+    forAll(pointFaceDisp, pointi)
     {
-        List<point>& pNormals = pointFaceSurfNormals[pointI];
-        List<point>& pDisp = pointFaceDisp[pointI];
-        List<point>& pFc = pointFaceCentres[pointI];
-        labelList& pFid = pointFacePatchID[pointI];
+        List<point>& pNormals = pointFaceSurfNormals[pointi];
+        List<point>& pDisp = pointFaceDisp[pointi];
+        List<point>& pFc = pointFaceCentres[pointi];
+        labelList& pFid = pointFacePatchID[pointi];
 
         sortedOrder(mag(pFc)(), visitOrder);
 
@@ -845,9 +845,9 @@ Foam::pointIndexHit Foam::snappySnapDriver::findMultiPatchPoint
                 }
             }
 
-            forAll(normalToPatch, normalI)
+            forAll(normalToPatch, normali)
             {
-                if (normalToPatch[normalI] == -2)
+                if (normalToPatch[normali] == -2)
                 {
                     // Multiple patches on same normals plane, flat region
                     // edge
@@ -874,21 +874,21 @@ void Foam::snappySnapDriver::writeStats
     label nEdge = 0;
     label nPoint = 0;
 
-    forAll(patchConstraints, pointI)
+    forAll(patchConstraints, pointi)
     {
-        if (isPatchMasterPoint[pointI])
+        if (isPatchMasterPoint[pointi])
         {
             nMasterPoints++;
 
-            if (patchConstraints[pointI].first() == 1)
+            if (patchConstraints[pointi].first() == 1)
             {
                 nPlanar++;
             }
-            else if (patchConstraints[pointI].first() == 2)
+            else if (patchConstraints[pointi].first() == 2)
             {
                 nEdge++;
             }
-            else if (patchConstraints[pointI].first() == 3)
+            else if (patchConstraints[pointi].first() == 3)
             {
                 nPoint++;
             }
@@ -918,7 +918,7 @@ void Foam::snappySnapDriver::featureAttractionUsingReconstruction
     const indirectPrimitivePatch& pp,
     const scalarField& snapDist,
     const vectorField& nearestDisp,
-    const label pointI,
+    const label pointi,
 
     const List<List<point>>& pointFaceSurfNormals,
     const List<List<point>>& pointFaceDisp,
@@ -936,9 +936,9 @@ void Foam::snappySnapDriver::featureAttractionUsingReconstruction
     patchAttraction = Zero;
     patchConstraint = pointConstraint();
 
-    const List<point>& pfSurfNormals = pointFaceSurfNormals[pointI];
-    const List<point>& pfDisp = pointFaceDisp[pointI];
-    const List<point>& pfCentres = pointFaceCentres[pointI];
+    const List<point>& pfSurfNormals = pointFaceSurfNormals[pointi];
+    const List<point>& pfDisp = pointFaceDisp[pointi];
+    const List<point>& pfCentres = pointFaceCentres[pointi];
 
     // Bin according to surface normal
     // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -962,7 +962,7 @@ void Foam::snappySnapDriver::featureAttractionUsingReconstruction
         const vector& fDisp = pfDisp[i];
 
         // What to do with very far attraction? For now just ignore the face
-        if (magSqr(fDisp) < sqr(snapDist[pointI]) && mag(fSNormal) > VSMALL)
+        if (magSqr(fDisp) < sqr(snapDist[pointi]) && mag(fSNormal) > VSMALL)
         {
             const point pt = fc + fDisp;
 
@@ -1019,7 +1019,7 @@ void Foam::snappySnapDriver::featureAttractionUsingReconstruction
                         plane pl3(pt, fSNormal);
                         point p013(pl0.planePlaneIntersect(pl1, pl3));
 
-                        if (mag(p012-p013) > snapDist[pointI])
+                        if (mag(p012-p013) > snapDist[pointi])
                         {
                             // Different feature point
                             surfacePoints.append(pt);
@@ -1033,7 +1033,7 @@ void Foam::snappySnapDriver::featureAttractionUsingReconstruction
     }
 
 
-    const point& pt = pp.localPoints()[pointI];
+    const point& pt = pp.localPoints()[pointi];
 
     // Check the number of directions
     if (surfaceNormals.size() == 1)
@@ -1044,9 +1044,9 @@ void Foam::snappySnapDriver::featureAttractionUsingReconstruction
            *surfaceNormals[0];
 
         // Trim to snap distance
-        if (magSqr(d) > sqr(snapDist[pointI]))
+        if (magSqr(d) > sqr(snapDist[pointi]))
         {
-            d *= Foam::sqrt(sqr(snapDist[pointI])/magSqr(d));
+            d *= Foam::sqrt(sqr(snapDist[pointi])/magSqr(d));
         }
 
         patchAttraction = d;
@@ -1066,9 +1066,9 @@ void Foam::snappySnapDriver::featureAttractionUsingReconstruction
         d -= (d&n)*n;
 
         // Trim to snap distance
-        if (magSqr(d) > sqr(snapDist[pointI]))
+        if (magSqr(d) > sqr(snapDist[pointi]))
         {
-            d *= Foam::sqrt(sqr(snapDist[pointI])/magSqr(d));
+            d *= Foam::sqrt(sqr(snapDist[pointi])/magSqr(d));
         }
 
         patchAttraction = d;
@@ -1087,9 +1087,9 @@ void Foam::snappySnapDriver::featureAttractionUsingReconstruction
         vector d = cornerPt - pt;
 
         // Trim to snap distance
-        if (magSqr(d) > sqr(snapDist[pointI]))
+        if (magSqr(d) > sqr(snapDist[pointi]))
         {
-            d *= Foam::sqrt(sqr(snapDist[pointI])/magSqr(d));
+            d *= Foam::sqrt(sqr(snapDist[pointi])/magSqr(d));
         }
 
         patchAttraction = d;
@@ -1153,7 +1153,7 @@ void Foam::snappySnapDriver::featureAttractionUsingReconstruction
     DynamicList<vector> surfaceNormals(4);
     labelList faceToNormalBin;
 
-    forAll(pp.localPoints(), pointI)
+    forAll(pp.localPoints(), pointi)
     {
         vector attraction = Zero;
         pointConstraint constraint;
@@ -1167,7 +1167,7 @@ void Foam::snappySnapDriver::featureAttractionUsingReconstruction
             snapDist,
             nearestDisp,
 
-            pointI,
+            pointi,
 
             pointFaceSurfNormals,
             pointFaceDisp,
@@ -1184,25 +1184,25 @@ void Foam::snappySnapDriver::featureAttractionUsingReconstruction
 
         if
         (
-            (constraint.first() > patchConstraints[pointI].first())
+            (constraint.first() > patchConstraints[pointi].first())
          || (
-                (constraint.first() == patchConstraints[pointI].first())
-             && (magSqr(attraction) < magSqr(patchAttraction[pointI]))
+                (constraint.first() == patchConstraints[pointi].first())
+             && (magSqr(attraction) < magSqr(patchAttraction[pointi]))
             )
         )
         {
-            patchAttraction[pointI] = attraction;
-            patchConstraints[pointI] = constraint;
+            patchAttraction[pointi] = attraction;
+            patchConstraints[pointi] = constraint;
 
-            const point& pt = pp.localPoints()[pointI];
+            const point& pt = pp.localPoints()[pointi];
 
-            if (patchConstraints[pointI].first() == 2 && feStr.valid())
+            if (patchConstraints[pointi].first() == 2 && feStr.valid())
             {
-                feStr().write(linePointRef(pt, pt+patchAttraction[pointI]));
+                feStr().write(linePointRef(pt, pt+patchAttraction[pointi]));
             }
-            else if (patchConstraints[pointI].first() == 3 && fpStr.valid())
+            else if (patchConstraints[pointi].first() == 3 && fpStr.valid())
             {
-                fpStr().write(linePointRef(pt, pt+patchAttraction[pointI]));
+                fpStr().write(linePointRef(pt, pt+patchAttraction[pointi]));
             }
         }
     }
@@ -1251,29 +1251,29 @@ void Foam::snappySnapDriver::stringFeatureEdges
         label nChanged = 0;
 
         const labelListList& pointEdges = pp.pointEdges();
-        forAll(pointEdges, pointI)
+        forAll(pointEdges, pointi)
         {
-            if (patchConstraints[pointI].first() == 2)
+            if (patchConstraints[pointi].first() == 2)
             {
-                const point& pt = pp.localPoints()[pointI];
-                const labelList& pEdges = pointEdges[pointI];
-                const vector& featVec = patchConstraints[pointI].second();
+                const point& pt = pp.localPoints()[pointi];
+                const labelList& pEdges = pointEdges[pointi];
+                const vector& featVec = patchConstraints[pointi].second();
 
                 // Detect whether there are edges in both directions.
                 // (direction along the feature edge that is)
                 bool hasPos = false;
                 bool hasNeg = false;
 
-                forAll(pEdges, pEdgeI)
+                forAll(pEdges, pEdgei)
                 {
-                    const edge& e = pp.edges()[pEdges[pEdgeI]];
-                    label nbrPointI = e.otherVertex(pointI);
+                    const edge& e = pp.edges()[pEdges[pEdgei]];
+                    label nbrPointi = e.otherVertex(pointi);
 
-                    if (patchConstraints[nbrPointI].first() > 1)
+                    if (patchConstraints[nbrPointi].first() > 1)
                     {
-                        const point& nbrPt = pp.localPoints()[nbrPointI];
+                        const point& nbrPt = pp.localPoints()[nbrPointi];
                         const point featPt =
-                            nbrPt + patchAttraction[nbrPointI];
+                            nbrPt + patchAttraction[nbrPointi];
                         const scalar cosAngle = (featVec & (featPt-pt));
 
                         if (cosAngle > 0)
@@ -1290,41 +1290,41 @@ void Foam::snappySnapDriver::stringFeatureEdges
                 if (!hasPos || !hasNeg)
                 {
                     //Pout<< "**Detected feature string end at  "
-                    //    << pp.localPoints()[pointI] << endl;
+                    //    << pp.localPoints()[pointi] << endl;
 
                     // No string. Assign best choice on either side
-                    label bestPosPointI = -1;
+                    label bestPosPointi = -1;
                     scalar minPosDistSqr = GREAT;
-                    label bestNegPointI = -1;
+                    label bestNegPointi = -1;
                     scalar minNegDistSqr = GREAT;
 
-                    forAll(pEdges, pEdgeI)
+                    forAll(pEdges, pEdgei)
                     {
-                        const edge& e = pp.edges()[pEdges[pEdgeI]];
-                        label nbrPointI = e.otherVertex(pointI);
+                        const edge& e = pp.edges()[pEdges[pEdgei]];
+                        label nbrPointi = e.otherVertex(pointi);
 
                         if
                         (
-                            patchConstraints[nbrPointI].first() <= 1
-                         && rawPatchConstraints[nbrPointI].first() > 1
+                            patchConstraints[nbrPointi].first() <= 1
+                         && rawPatchConstraints[nbrPointi].first() > 1
                         )
                         {
                             const vector& nbrFeatVec =
-                                rawPatchConstraints[pointI].second();
+                                rawPatchConstraints[pointi].second();
 
                             if (mag(featVec&nbrFeatVec) > featureCos)
                             {
-                                // nbrPointI attracted to sameish feature
+                                // nbrPointi attracted to sameish feature
                                 // Note: also check on position.
 
                                 scalar d2 = magSqr
                                 (
-                                    rawPatchAttraction[nbrPointI]
+                                    rawPatchAttraction[nbrPointi]
                                 );
 
                                 const point featPt =
-                                    pp.localPoints()[nbrPointI]
-                                  + rawPatchAttraction[nbrPointI];
+                                    pp.localPoints()[nbrPointi]
+                                  + rawPatchAttraction[nbrPointi];
                                 const scalar cosAngle =
                                     (featVec & (featPt-pt));
 
@@ -1333,7 +1333,7 @@ void Foam::snappySnapDriver::stringFeatureEdges
                                     if (!hasPos && d2 < minPosDistSqr)
                                     {
                                         minPosDistSqr = d2;
-                                        bestPosPointI = nbrPointI;
+                                        bestPosPointi = nbrPointi;
                                     }
                                 }
                                 else
@@ -1341,44 +1341,44 @@ void Foam::snappySnapDriver::stringFeatureEdges
                                     if (!hasNeg && d2 < minNegDistSqr)
                                     {
                                         minNegDistSqr = d2;
-                                        bestNegPointI = nbrPointI;
+                                        bestNegPointi = nbrPointi;
                                     }
                                 }
                             }
                         }
                     }
 
-                    if (bestPosPointI != -1)
+                    if (bestPosPointi != -1)
                     {
                         // Use reconstructed-feature attraction. Use only
                         // part of it since not sure...
                         //const point& bestPt =
-                        //    pp.localPoints()[bestPosPointI];
+                        //    pp.localPoints()[bestPosPointi];
                         //Pout<< "**Overriding point " << bestPt
                         //    << " on reconstructed feature edge at "
-                        //    << rawPatchAttraction[bestPosPointI]+bestPt
+                        //    << rawPatchAttraction[bestPosPointi]+bestPt
                         //    << " to attracted-to-feature-edge." << endl;
-                        patchAttraction[bestPosPointI] =
-                            0.5*rawPatchAttraction[bestPosPointI];
-                        patchConstraints[bestPosPointI] =
-                            rawPatchConstraints[bestPosPointI];
+                        patchAttraction[bestPosPointi] =
+                            0.5*rawPatchAttraction[bestPosPointi];
+                        patchConstraints[bestPosPointi] =
+                            rawPatchConstraints[bestPosPointi];
 
                         nChanged++;
                     }
-                    if (bestNegPointI != -1)
+                    if (bestNegPointi != -1)
                     {
                         // Use reconstructed-feature attraction. Use only
                         // part of it since not sure...
                         //const point& bestPt =
-                        //    pp.localPoints()[bestNegPointI];
+                        //    pp.localPoints()[bestNegPointi];
                         //Pout<< "**Overriding point " << bestPt
                         //    << " on reconstructed feature edge at "
-                        //    << rawPatchAttraction[bestNegPointI]+bestPt
+                        //    << rawPatchAttraction[bestNegPointi]+bestPt
                         //    << " to attracted-to-feature-edge." << endl;
-                        patchAttraction[bestNegPointI] =
-                            0.5*rawPatchAttraction[bestNegPointI];
-                        patchConstraints[bestNegPointI] =
-                            rawPatchConstraints[bestNegPointI];
+                        patchAttraction[bestNegPointi] =
+                            0.5*rawPatchAttraction[bestNegPointi];
+                        patchConstraints[bestNegPointi] =
+                            rawPatchConstraints[bestNegPointi];
 
                         nChanged++;
                     }
@@ -1436,37 +1436,37 @@ void Foam::snappySnapDriver::releasePointsNextToMultiPatch
     // 1. Mark points on multiple patches
     PackedBoolList isMultiPatchPoint(pp.size());
 
-    forAll(pointFacePatchID, pointI)
+    forAll(pointFacePatchID, pointi)
     {
         pointIndexHit multiPatchPt = findMultiPatchPoint
         (
-            pp.localPoints()[pointI],
-            pointFacePatchID[pointI],
-            pointFaceCentres[pointI]
+            pp.localPoints()[pointi],
+            pointFacePatchID[pointi],
+            pointFaceCentres[pointi]
         );
-        isMultiPatchPoint[pointI] = multiPatchPt.hit();
+        isMultiPatchPoint[pointi] = multiPatchPt.hit();
     }
 
     // 2. Make sure multi-patch points are also attracted
-    forAll(isMultiPatchPoint, pointI)
+    forAll(isMultiPatchPoint, pointi)
     {
-        if (isMultiPatchPoint[pointI])
+        if (isMultiPatchPoint[pointi])
         {
             if
             (
-                patchConstraints[pointI].first() <= 1
-             && rawPatchConstraints[pointI].first() > 1
+                patchConstraints[pointi].first() <= 1
+             && rawPatchConstraints[pointi].first() > 1
             )
             {
-                patchAttraction[pointI] = rawPatchAttraction[pointI];
-                patchConstraints[pointI] = rawPatchConstraints[pointI];
+                patchAttraction[pointi] = rawPatchAttraction[pointi];
+                patchConstraints[pointi] = rawPatchConstraints[pointi];
 
                 //if (multiPatchStr.valid())
                 //{
                 //    Pout<< "Adding constraint on multiPatchPoint:"
-                //        << pp.localPoints()[pointI]
-                //        << " constraint:" << patchConstraints[pointI]
-                //        << " attraction:" << patchAttraction[pointI]
+                //        << pp.localPoints()[pointi]
+                //        << " constraint:" << patchConstraints[pointi]
+                //        << " attraction:" << patchAttraction[pointi]
                 //        << endl;
                 //}
             }
@@ -1478,18 +1478,18 @@ void Foam::snappySnapDriver::releasePointsNextToMultiPatch
 
     // 3. Knock out any attraction on faces with multi-patch points
     label nChanged = 0;
-    forAll(pp.localFaces(), faceI)
+    forAll(pp.localFaces(), facei)
     {
-        const face& f = pp.localFaces()[faceI];
+        const face& f = pp.localFaces()[facei];
 
         label nMultiPatchPoints = 0;
         forAll(f, fp)
         {
-            label pointI = f[fp];
+            label pointi = f[fp];
             if
             (
-                isMultiPatchPoint[pointI]
-             && patchConstraints[pointI].first() > 1
+                isMultiPatchPoint[pointi]
+             && patchConstraints[pointi].first() > 1
             )
             {
                 nMultiPatchPoints++;
@@ -1500,23 +1500,23 @@ void Foam::snappySnapDriver::releasePointsNextToMultiPatch
         {
             forAll(f, fp)
             {
-                label pointI = f[fp];
+                label pointi = f[fp];
                 if
                 (
-                   !isMultiPatchPoint[pointI]
-                 && patchConstraints[pointI].first() > 1
+                   !isMultiPatchPoint[pointi]
+                 && patchConstraints[pointi].first() > 1
                 )
                 {
                     //Pout<< "Knocking out constraint"
                     //    << " on non-multiPatchPoint:"
-                    //    << pp.localPoints()[pointI] << endl;
-                    patchAttraction[pointI] = Zero;
-                    patchConstraints[pointI] = pointConstraint();
+                    //    << pp.localPoints()[pointi] << endl;
+                    patchAttraction[pointi] = Zero;
+                    patchConstraints[pointi] = pointConstraint();
                     nChanged++;
 
                     if (multiPatchStr.valid())
                     {
-                        multiPatchStr().write(pp.localPoints()[pointI]);
+                        multiPatchStr().write(pp.localPoints()[pointi]);
                     }
                 }
             }
@@ -1534,10 +1534,10 @@ Foam::labelPair Foam::snappySnapDriver::findDiagonalAttraction
     const indirectPrimitivePatch& pp,
     const vectorField& patchAttraction,
     const List<pointConstraint>& patchConstraints,
-    const label faceI
+    const label facei
 ) const
 {
-    const face& f = pp.localFaces()[faceI];
+    const face& f = pp.localFaces()[facei];
     // For now just detect any attraction. Improve this to look at
     // actual attraction position and orientation
 
@@ -1672,13 +1672,13 @@ Foam::labelPair Foam::snappySnapDriver::findDiagonalAttraction
     const List<pointConstraint>& patchConstraints,
     const vectorField& nearestAttr,
     const vectorField& nearestNormal,
-    const label faceI,
+    const label facei,
 
     DynamicField<point>& points0,
     DynamicField<point>& points1
 ) const
 {
-    const face& localF = pp.localFaces()[faceI];
+    const face& localF = pp.localFaces()[facei];
 
     labelPair attractIndices(-1, -1);
 
@@ -1690,10 +1690,10 @@ Foam::labelPair Foam::snappySnapDriver::findDiagonalAttraction
         //// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         //// (is this necessary?)
         //const polyMesh& mesh = meshRefiner_.mesh();
-        //label meshFaceI = pp.addressing()[faceI];
-        //const face& meshF = mesh.faces()[meshFaceI];
-        //label cellI = mesh.faceOwner()[meshFaceI];
-        //const labelList& cPoints = mesh.cellPoints(cellI);
+        //label meshFacei = pp.addressing()[facei];
+        //const face& meshF = mesh.faces()[meshFacei];
+        //label celli = mesh.faceOwner()[meshFacei];
+        //const labelList& cPoints = mesh.cellPoints(celli);
         //
         //point cc(mesh.points()[meshF[0]]);
         //for (label i = 1; i < meshF.size(); i++)
@@ -1702,14 +1702,14 @@ Foam::labelPair Foam::snappySnapDriver::findDiagonalAttraction
         //}
         //forAll(cPoints, i)
         //{
-        //    label pointI = cPoints[i];
-        //    if (findIndex(meshF, pointI) == -1)
+        //    label pointi = cPoints[i];
+        //    if (findIndex(meshF, pointi) == -1)
         //    {
-        //        cc += mesh.points()[pointI];
+        //        cc += mesh.points()[pointi];
         //    }
         //}
         //cc /= cPoints.size();
-        ////const point& cc = mesh.cellCentres()[cellI];
+        ////const point& cc = mesh.cellCentres()[celli];
         //
         //const scalar vol = pyrVol(pp, patchAttr, localF, cc);
         //const scalar area = localF.mag(localPts);
@@ -1733,11 +1733,11 @@ Foam::labelPair Foam::snappySnapDriver::findDiagonalAttraction
                 endFp++
             )
             {
-                label startPtI = localF[startFp];
-                label endPtI = localF[endFp];
+                label startPti = localF[startFp];
+                label endPti = localF[endFp];
 
-                const pointConstraint& startPc = patchConstraints[startPtI];
-                const pointConstraint& endPc = patchConstraints[endPtI];
+                const pointConstraint& startPc = patchConstraints[startPti];
+                const pointConstraint& endPc = patchConstraints[endPti];
 
                 if (startPc.first() >= 2 && endPc.first() >= 2)
                 {
@@ -1746,8 +1746,8 @@ Foam::labelPair Foam::snappySnapDriver::findDiagonalAttraction
                         // Check if
                         // - sameish feature edge normal
                         // - diagonal aligned with feature edge normal
-                        point start = localPts[startPtI]+patchAttr[startPtI];
-                        point end = localPts[endPtI]+patchAttr[endPtI];
+                        point start = localPts[startPti]+patchAttr[startPti];
+                        point end = localPts[endPti]+patchAttr[endPti];
 
                         if
                         (
@@ -1790,8 +1790,8 @@ Foam::labelPair Foam::snappySnapDriver::findDiagonalAttraction
                     points0.append(localPts[f0[0]] + patchAttr[f0[0]]);
                     for (label fp=1; fp < f0.size()-1; fp++)
                     {
-                        label pI = f0[fp];
-                        points0.append(localPts[pI] + nearestAttr[pI]);
+                        label pi = f0[fp];
+                        points0.append(localPts[pi] + nearestAttr[pi]);
                     }
                     points0.append
                     (
@@ -1821,8 +1821,8 @@ Foam::labelPair Foam::snappySnapDriver::findDiagonalAttraction
                     points1.append(localPts[f1[0]] + patchAttr[f1[0]]);
                     for (label fp=1; fp < f1.size()-1; fp++)
                     {
-                        label pI = f1[fp];
-                        points1.append(localPts[pI] + nearestAttr[pI]);
+                        label pi = f1[fp];
+                        points1.append(localPts[pi] + nearestAttr[pi]);
                     }
                     points1.append
                     (
@@ -1909,7 +1909,7 @@ void Foam::snappySnapDriver::splitDiagonals
     DynamicField<point> facePoints0;
     DynamicField<point> facePoints1;
 
-    forAll(bFaces, faceI)
+    forAll(bFaces, facei)
     {
         const labelPair split
         (
@@ -1925,7 +1925,7 @@ void Foam::snappySnapDriver::splitDiagonals
 
                 nearestAttraction,
                 nearestNormal,
-                faceI,
+                facei,
 
                 facePoints0,
                 facePoints1
@@ -1934,10 +1934,10 @@ void Foam::snappySnapDriver::splitDiagonals
 
         if (split != labelPair(-1, -1))
         {
-            splitFaces.append(bFaces[faceI]);
+            splitFaces.append(bFaces[facei]);
             splits.append(split);
 
-            const face& f = pp.localFaces()[faceI];
+            const face& f = pp.localFaces()[facei];
 
             // Knock out other attractions on face
             forAll(f, fp)
@@ -1977,16 +1977,16 @@ void Foam::snappySnapDriver::avoidDiagonalAttraction
     List<pointConstraint>& patchConstraints
 ) const
 {
-    forAll(pp.localFaces(), faceI)
+    forAll(pp.localFaces(), facei)
     {
-        const face& f = pp.localFaces()[faceI];
+        const face& f = pp.localFaces()[facei];
 
         labelPair diag = findDiagonalAttraction
         (
             pp,
             patchAttraction,
             patchConstraints,
-            faceI
+            facei
         );
 
         if (diag[0] != -1 && diag[1] != -1)
@@ -2022,10 +2022,10 @@ void Foam::snappySnapDriver::avoidDiagonalAttraction
                 scalar minDistSqr = GREAT;
                 forAll(f, fp)
                 {
-                    label pointI = f[fp];
-                    if (patchConstraints[pointI].first() <= 1)
+                    label pointi = f[fp];
+                    if (patchConstraints[pointi].first() <= 1)
                     {
-                        const point& pt = pp.localPoints()[pointI];
+                        const point& pt = pp.localPoints()[pointi];
                         scalar distSqr = magSqr(mid-pt);
                         if (distSqr < minDistSqr)
                         {
@@ -2036,10 +2036,10 @@ void Foam::snappySnapDriver::avoidDiagonalAttraction
                 }
                 if (minFp != -1)
                 {
-                    label minPointI = f[minFp];
-                    patchAttraction[minPointI] =
-                        mid-pp.localPoints()[minPointI];
-                    patchConstraints[minPointI] = patchConstraints[f[diag[0]]];
+                    label minPointi = f[minFp];
+                    patchAttraction[minPointi] =
+                        mid-pp.localPoints()[minPointi];
+                    patchConstraints[minPointi] = patchConstraints[f[diag[0]]];
                 }
             }
             else
@@ -2071,7 +2071,7 @@ Foam::snappySnapDriver::findNearFeatureEdge
 
     const indirectPrimitivePatch& pp,
     const scalarField& snapDist,
-    const label pointI,
+    const label pointi,
     const point& estimatedPt,
 
     List<List<DynamicList<point>>>& edgeAttractors,
@@ -2091,7 +2091,7 @@ Foam::snappySnapDriver::findNearFeatureEdge
         features.findNearestRegionEdge
         (
             pointField(1, estimatedPt),
-            scalarField(1, sqr(snapDist[pointI])),
+            scalarField(1, sqr(snapDist[pointi])),
             nearEdgeFeat,
             nearEdgeInfo,
             nearNormal
@@ -2102,7 +2102,7 @@ Foam::snappySnapDriver::findNearFeatureEdge
         features.findNearestEdge
         (
             pointField(1, estimatedPt),
-            scalarField(1, sqr(snapDist[pointI])),
+            scalarField(1, sqr(snapDist[pointi])),
             nearEdgeFeat,
             nearEdgeInfo,
             nearNormal
@@ -2110,24 +2110,24 @@ Foam::snappySnapDriver::findNearFeatureEdge
     }
 
     const pointIndexHit& nearInfo = nearEdgeInfo[0];
-    label featI = nearEdgeFeat[0];
+    label feati = nearEdgeFeat[0];
 
     if (nearInfo.hit())
     {
         // So we have a point on the feature edge. Use this
         // instead of our estimate from planes.
-        edgeAttractors[featI][nearInfo.index()].append
+        edgeAttractors[feati][nearInfo.index()].append
         (
             nearInfo.hitPoint()
         );
         pointConstraint c(Tuple2<label, vector>(2, nearNormal[0]));
-        edgeConstraints[featI][nearInfo.index()].append(c);
+        edgeConstraints[feati][nearInfo.index()].append(c);
 
         // Store for later use
-        patchAttraction[pointI] = nearInfo.hitPoint()-pp.localPoints()[pointI];
-        patchConstraints[pointI] = c;
+        patchAttraction[pointi] = nearInfo.hitPoint()-pp.localPoints()[pointi];
+        patchConstraints[pointi] = c;
     }
-    return Tuple2<label, pointIndexHit>(featI, nearInfo);
+    return Tuple2<label, pointIndexHit>(feati, nearInfo);
 }
 
 
@@ -2138,7 +2138,7 @@ Foam::snappySnapDriver::findNearFeaturePoint
 
     const indirectPrimitivePatch& pp,
     const scalarField& snapDist,
-    const label pointI,
+    const label pointi,
     const point& estimatedPt,
 
     // Feature-point to pp point
@@ -2161,47 +2161,47 @@ Foam::snappySnapDriver::findNearFeaturePoint
     features.findNearestPoint
     (
         pointField(1, estimatedPt),
-        scalarField(1, sqr(snapDist[pointI])),
+        scalarField(1, sqr(snapDist[pointi])),
         nearFeat,
         nearInfo
     );
 
-    label featI = nearFeat[0];
+    label feati = nearFeat[0];
 
-    if (featI != -1)
+    if (feati != -1)
     {
-        const point& pt = pp.localPoints()[pointI];
+        const point& pt = pp.localPoints()[pointi];
 
-        label featPointI = nearInfo[0].index();
+        label featPointi = nearInfo[0].index();
         const point& featPt = nearInfo[0].hitPoint();
         scalar distSqr = magSqr(featPt-pt);
 
         // Check if already attracted
-        label oldPointI = pointAttractor[featI][featPointI];
+        label oldPointi = pointAttractor[feati][featPointi];
 
-        if (oldPointI != -1)
+        if (oldPointi != -1)
         {
             // Check distance
-            if (distSqr >= magSqr(featPt-pp.localPoints()[oldPointI]))
+            if (distSqr >= magSqr(featPt-pp.localPoints()[oldPointi]))
             {
-                // oldPointI nearest. Keep.
-                featI = -1;
-                featPointI = -1;
+                // oldPointi nearest. Keep.
+                feati = -1;
+                featPointi = -1;
             }
             else
             {
-                // Current pointI nearer.
-                pointAttractor[featI][featPointI] = pointI;
-                pointConstraints[featI][featPointI].first() = 3;
-                pointConstraints[featI][featPointI].second() = Zero;
+                // Current pointi nearer.
+                pointAttractor[feati][featPointi] = pointi;
+                pointConstraints[feati][featPointi].first() = 3;
+                pointConstraints[feati][featPointi].second() = Zero;
 
                 // Store for later use
-                patchAttraction[pointI] = featPt-pt;
-                patchConstraints[pointI] = pointConstraints[featI][featPointI];
+                patchAttraction[pointi] = featPt-pt;
+                patchConstraints[pointi] = pointConstraints[feati][featPointi];
 
-                // Reset oldPointI to nearest on feature edge
-                patchAttraction[oldPointI] = Zero;
-                patchConstraints[oldPointI] = pointConstraint();
+                // Reset oldPointi to nearest on feature edge
+                patchAttraction[oldPointi] = Zero;
+                patchConstraints[oldPointi] = pointConstraint();
 
                 findNearFeatureEdge
                 (
@@ -2209,8 +2209,8 @@ Foam::snappySnapDriver::findNearFeaturePoint
 
                     pp,
                     snapDist,
-                    oldPointI,
-                    pp.localPoints()[oldPointI],
+                    oldPointi,
+                    pp.localPoints()[oldPointi],
 
                     edgeAttractors,
                     edgeConstraints,
@@ -2221,18 +2221,18 @@ Foam::snappySnapDriver::findNearFeaturePoint
         }
         else
         {
-            // Current pointI nearer.
-            pointAttractor[featI][featPointI] = pointI;
-            pointConstraints[featI][featPointI].first() = 3;
-            pointConstraints[featI][featPointI].second() = Zero;
+            // Current pointi nearer.
+            pointAttractor[feati][featPointi] = pointi;
+            pointConstraints[feati][featPointi].first() = 3;
+            pointConstraints[feati][featPointi].second() = Zero;
 
             // Store for later use
-            patchAttraction[pointI] = featPt-pt;
-            patchConstraints[pointI] = pointConstraints[featI][featPointI];
+            patchAttraction[pointi] = featPt-pt;
+            patchConstraints[pointi] = pointConstraints[feati][featPointi];
         }
     }
 
-    return Tuple2<label, pointIndexHit>(featI, nearInfo[0]);
+    return Tuple2<label, pointIndexHit>(feati, nearInfo[0]);
 }
 
 
@@ -2333,9 +2333,9 @@ void Foam::snappySnapDriver::determineFeatures
     DynamicList<vector> surfaceNormals(4);
     labelList faceToNormalBin;
 
-    forAll(pp.localPoints(), pointI)
+    forAll(pp.localPoints(), pointi)
     {
-        const point& pt = pp.localPoints()[pointI];
+        const point& pt = pp.localPoints()[pointi];
 
 
         // Determine the geometric planes the point is (approximately) on.
@@ -2358,7 +2358,7 @@ void Foam::snappySnapDriver::determineFeatures
             snapDist,
             nearestDisp,
 
-            pointI,
+            pointi,
 
             pointFaceSurfNormals,
             pointFaceDisp,
@@ -2405,29 +2405,29 @@ void Foam::snappySnapDriver::determineFeatures
 
         if
         (
-            (constraint.first() > patchConstraints[pointI].first())
+            (constraint.first() > patchConstraints[pointi].first())
          || (
-                (constraint.first() == patchConstraints[pointI].first())
-             && (magSqr(attraction) < magSqr(patchAttraction[pointI]))
+                (constraint.first() == patchConstraints[pointi].first())
+             && (magSqr(attraction) < magSqr(patchAttraction[pointi]))
             )
         )
         {
-            patchAttraction[pointI] = attraction;
-            patchConstraints[pointI] = constraint;
+            patchAttraction[pointi] = attraction;
+            patchConstraints[pointi] = constraint;
 
             // Check the number of directions
-            if (patchConstraints[pointI].first() == 1)
+            if (patchConstraints[pointi].first() == 1)
             {
                 // Flat surface. Check for different patchIDs
                 if (multiRegionFeatureSnap)
                 {
-                    const point estimatedPt(pt + nearestDisp[pointI]);
+                    const point estimatedPt(pt + nearestDisp[pointi]);
                     pointIndexHit multiPatchPt
                     (
                         findMultiPatchPoint
                         (
                             estimatedPt,
-                            pointFacePatchID[pointI],
+                            pointFacePatchID[pointi],
                             surfaceNormals,
                             faceToNormalBin
                         )
@@ -2444,7 +2444,7 @@ void Foam::snappySnapDriver::determineFeatures
                             true,                       // isRegionEdge
                             pp,
                             snapDist,
-                            pointI,
+                            pointi,
                             multiPatchPt.hitPoint(),    // estimatedPt
 
                             edgeAttractors,
@@ -2479,12 +2479,12 @@ void Foam::snappySnapDriver::determineFeatures
                     }
                 }
             }
-            else if (patchConstraints[pointI].first() == 2)
+            else if (patchConstraints[pointi].first() == 2)
             {
                 // Mark point on the nearest feature edge. Note that we
                 // only search within the surrounding since the plane
                 // reconstruction might find a feature where there isn't one.
-                const point estimatedPt(pt + patchAttraction[pointI]);
+                const point estimatedPt(pt + patchAttraction[pointi]);
 
                 Tuple2<label, pointIndexHit> nearInfo(-1, pointIndexHit());
 
@@ -2497,7 +2497,7 @@ void Foam::snappySnapDriver::determineFeatures
                         findMultiPatchPoint
                         (
                             estimatedPt,
-                            pointFacePatchID[pointI],
+                            pointFacePatchID[pointi],
                             surfaceNormals,
                             faceToNormalBin
                         )
@@ -2512,7 +2512,7 @@ void Foam::snappySnapDriver::determineFeatures
                                 true,               // isRegionEdge
                                 pp,
                                 snapDist,
-                                pointI,
+                                pointi,
                                 estimatedPt,
 
                                 edgeAttractors,
@@ -2549,7 +2549,7 @@ void Foam::snappySnapDriver::determineFeatures
                                 true,           // isRegionPoint
                                 pp,
                                 snapDist,
-                                pointI,
+                                pointi,
                                 estimatedPt,
 
                                 // Feature-point to pp point
@@ -2580,7 +2580,7 @@ void Foam::snappySnapDriver::determineFeatures
                                     true,           // isRegionEdge
                                     pp,
                                     snapDist,
-                                    pointI,
+                                    pointi,
                                     estimatedPt,
 
                                     // Feature-edge to pp point
@@ -2619,7 +2619,7 @@ void Foam::snappySnapDriver::determineFeatures
                         false,      // isRegionPoint
                         pp,
                         snapDist,
-                        pointI,
+                        pointi,
                         estimatedPt,
 
                         edgeAttractors,
@@ -2637,7 +2637,7 @@ void Foam::snappySnapDriver::determineFeatures
                 {
                     if
                     (
-                        patchConstraints[pointI].first() == 3
+                        patchConstraints[pointi].first() == 3
                      && featurePointStr.valid()
                     )
                     {
@@ -2648,7 +2648,7 @@ void Foam::snappySnapDriver::determineFeatures
                     }
                     else if
                     (
-                        patchConstraints[pointI].first() == 2
+                        patchConstraints[pointi].first() == 2
                      && featureEdgeStr.valid()
                     )
                     {
@@ -2669,10 +2669,10 @@ void Foam::snappySnapDriver::determineFeatures
                     }
                 }
             }
-            else if (patchConstraints[pointI].first() == 3)
+            else if (patchConstraints[pointi].first() == 3)
             {
                 // Mark point on the nearest feature point.
-                const point estimatedPt(pt + patchAttraction[pointI]);
+                const point estimatedPt(pt + patchAttraction[pointi]);
 
                 Tuple2<label, pointIndexHit> nearInfo(-1, pointIndexHit());
 
@@ -2683,7 +2683,7 @@ void Foam::snappySnapDriver::determineFeatures
                         findMultiPatchPoint
                         (
                             estimatedPt,
-                            pointFacePatchID[pointI],
+                            pointFacePatchID[pointi],
                             surfaceNormals,
                             faceToNormalBin
                         )
@@ -2696,7 +2696,7 @@ void Foam::snappySnapDriver::determineFeatures
                             true,           // isRegionPoint
                             pp,
                             snapDist,
-                            pointI,
+                            pointi,
                             estimatedPt,
 
                             // Feature-point to pp point
@@ -2717,7 +2717,7 @@ void Foam::snappySnapDriver::determineFeatures
                             false,              // isRegionPoint
                             pp,
                             snapDist,
-                            pointI,
+                            pointi,
                             estimatedPt,
 
                             // Feature-point to pp point
@@ -2740,7 +2740,7 @@ void Foam::snappySnapDriver::determineFeatures
                         false,              // isRegionPoint
                         pp,
                         snapDist,
-                        pointI,
+                        pointi,
                         estimatedPt,
 
                         // Feature-point to pp point
@@ -2807,15 +2807,15 @@ void Foam::snappySnapDriver::determineBaffleFeatures
     List<List<point>> edgeFaceNormals(pp.nEdges());
 
     // Fill local data
-    forAll(pp.edgeFaces(), edgeI)
+    forAll(pp.edgeFaces(), edgei)
     {
-        const labelList& eFaces = pp.edgeFaces()[edgeI];
-        List<point>& eFc = edgeFaceNormals[edgeI];
+        const labelList& eFaces = pp.edgeFaces()[edgei];
+        List<point>& eFc = edgeFaceNormals[edgei];
         eFc.setSize(eFaces.size());
         forAll(eFaces, i)
         {
-            label faceI = eFaces[i];
-            eFc[i] = pp.faceNormals()[faceI];
+            label facei = eFaces[i];
+            eFc[i] = pp.faceNormals()[facei];
         }
     }
 
@@ -2867,15 +2867,15 @@ void Foam::snappySnapDriver::determineBaffleFeatures
     // -1 : rest
     labelList pointStatus(pp.nPoints(), -1);
 
-    forAll(edgeFaceNormals, edgeI)
+    forAll(edgeFaceNormals, edgei)
     {
-        const List<point>& efn = edgeFaceNormals[edgeI];
+        const List<point>& efn = edgeFaceNormals[edgei];
 
         if (efn.size() == 2 && (efn[0]&efn[1]) < baffleFeatureCos)
         {
-            isBaffleEdge[edgeI] = true;
+            isBaffleEdge[edgei] = true;
             nBaffleEdges++;
-            const edge& e = pp.edges()[edgeI];
+            const edge& e = pp.edges()[edgei];
             pointStatus[e[0]] = 0;
             pointStatus[e[1]] = 0;
 
@@ -2897,7 +2897,7 @@ void Foam::snappySnapDriver::determineBaffleFeatures
 
 
     //- Baffle edges will be too ragged to sensibly determine feature points
-    //forAll(pp.pointEdges(), pointI)
+    //forAll(pp.pointEdges(), pointi)
     //{
     //    if
     //    (
@@ -2906,22 +2906,22 @@ void Foam::snappySnapDriver::determineBaffleFeatures
     //            featureCos,
     //            pp,
     //            isBaffleEdge,
-    //            pointI
+    //            pointi
     //        )
     //    )
     //    {
-    //        //Pout<< "Detected feature point:" << pp.localPoints()[pointI]
+    //        //Pout<< "Detected feature point:" << pp.localPoints()[pointi]
     //        //    << endl;
     //        //-TEMPORARILY DISABLED:
-    //        //pointStatus[pointI] = 1;
+    //        //pointStatus[pointi] = 1;
     //    }
     //}
 
 
     label nBafflePoints = 0;
-    forAll(pointStatus, pointI)
+    forAll(pointStatus, pointi)
     {
-        if (pointStatus[pointI] != -1)
+        if (pointStatus[pointi] != -1)
         {
             nBafflePoints++;
         }
@@ -2932,11 +2932,11 @@ void Foam::snappySnapDriver::determineBaffleFeatures
     label nPointAttract = 0;
     label nEdgeAttract = 0;
 
-    forAll(pointStatus, pointI)
+    forAll(pointStatus, pointi)
     {
-        const point& pt = pp.localPoints()[pointI];
+        const point& pt = pp.localPoints()[pointi];
 
-        if (pointStatus[pointI] == 0)   // baffle edge
+        if (pointStatus[pointi] == 0)   // baffle edge
         {
             // 1: attract to near feature edge first
 
@@ -2945,7 +2945,7 @@ void Foam::snappySnapDriver::determineBaffleFeatures
                 false,          // isRegionPoint?
                 pp,
                 snapDist,
-                pointI,
+                pointi,
                 pt,
 
                 edgeAttractors,
@@ -2971,7 +2971,7 @@ void Foam::snappySnapDriver::determineBaffleFeatures
 
                         pp,
                         snapDist,
-                        pointI,
+                        pointi,
                         pt,             // estimatedPt,
 
                         // Feature-point to pp point
@@ -2993,50 +2993,50 @@ void Foam::snappySnapDriver::determineBaffleFeatures
                 }
             }
         }
-        else if (pointStatus[pointI] == 1)   // baffle point
+        else if (pointStatus[pointi] == 1)   // baffle point
         {
             labelList nearFeat;
             List<pointIndexHit> nearInfo;
             features.findNearestPoint
             (
                 pointField(1, pt),
-                scalarField(1, sqr(snapDist[pointI])),
+                scalarField(1, sqr(snapDist[pointi])),
                 nearFeat,
                 nearInfo
             );
 
-            label featI = nearFeat[0];
+            label feati = nearFeat[0];
 
-            if (featI != -1)
+            if (feati != -1)
             {
                 nPointAttract++;
 
-                label featPointI = nearInfo[0].index();
+                label featPointi = nearInfo[0].index();
                 const point& featPt = nearInfo[0].hitPoint();
                 scalar distSqr = magSqr(featPt-pt);
 
                 // Check if already attracted
-                label oldPointI = pointAttractor[featI][featPointI];
+                label oldPointi = pointAttractor[feati][featPointi];
 
                 if
                 (
-                    oldPointI == -1
+                    oldPointi == -1
                  || (
                         distSqr
-                      < magSqr(featPt-pp.localPoints()[oldPointI])
+                      < magSqr(featPt-pp.localPoints()[oldPointi])
                     )
                 )
                 {
-                    pointAttractor[featI][featPointI] = pointI;
-                    pointConstraints[featI][featPointI].first() = 3;
-                    pointConstraints[featI][featPointI].second() = Zero;
+                    pointAttractor[feati][featPointi] = pointi;
+                    pointConstraints[feati][featPointi].first() = 3;
+                    pointConstraints[feati][featPointi].second() = Zero;
 
                     // Store for later use
-                    patchAttraction[pointI] = featPt-pt;
-                    patchConstraints[pointI] =
-                        pointConstraints[featI][featPointI];
+                    patchAttraction[pointi] = featPt-pt;
+                    patchConstraints[pointi] =
+                        pointConstraints[feati][featPointi];
 
-                    if (oldPointI != -1)
+                    if (oldPointi != -1)
                     {
                         // The current point is closer so wins. Reset
                         // the old point to attract to nearest edge
@@ -3046,8 +3046,8 @@ void Foam::snappySnapDriver::determineBaffleFeatures
                             false,              // isRegionPoint
                             pp,
                             snapDist,
-                            oldPointI,
-                            pp.localPoints()[oldPointI],
+                            oldPointi,
+                            pp.localPoints()[oldPointi],
 
                             edgeAttractors,
                             edgeConstraints,
@@ -3059,13 +3059,13 @@ void Foam::snappySnapDriver::determineBaffleFeatures
                 else
                 {
                     // Make it fall through to check below
-                    featI = -1;
+                    feati = -1;
                 }
             }
 
             // Not found a feature point or another point is already
             // closer to that feature
-            if (featI == -1)
+            if (feati == -1)
             {
                 //Pout<< "*** Falling back to finding nearest feature"
                 //    << " edge"
@@ -3077,7 +3077,7 @@ void Foam::snappySnapDriver::determineBaffleFeatures
                     false,                  // isRegionPoint
                     pp,
                     snapDist,
-                    pointI,
+                    pointi,
                     pt,                     // starting point
 
                     edgeAttractors,
@@ -3156,11 +3156,11 @@ void Foam::snappySnapDriver::reverseAttractMeshPoints
 
         boolList isFeatureEdgeOrPoint(pp.nPoints(), false);
         label nFeats = 0;
-        forAll(rawPatchConstraints, pointI)
+        forAll(rawPatchConstraints, pointi)
         {
-            if (rawPatchConstraints[pointI].first() >= 2)
+            if (rawPatchConstraints[pointi].first() >= 2)
             {
-                isFeatureEdgeOrPoint[pointI] = true;
+                isFeatureEdgeOrPoint[pointi] = true;
                 nFeats++;
             }
         }
@@ -3185,9 +3185,9 @@ void Foam::snappySnapDriver::reverseAttractMeshPoints
         {
             boolList newIsFeatureEdgeOrPoint(isFeatureEdgeOrPoint);
 
-            forAll(pp.localFaces(), faceI)
+            forAll(pp.localFaces(), facei)
             {
-                const face& f = pp.localFaces()[faceI];
+                const face& f = pp.localFaces()[facei];
 
                 forAll(f, fp)
                 {
@@ -3217,11 +3217,11 @@ void Foam::snappySnapDriver::reverseAttractMeshPoints
 
 
         // Collect attractPoints
-        forAll(isFeatureEdgeOrPoint, pointI)
+        forAll(isFeatureEdgeOrPoint, pointi)
         {
-            if (isFeatureEdgeOrPoint[pointI])
+            if (isFeatureEdgeOrPoint[pointi])
             {
-                attractPoints.append(pointI);
+                attractPoints.append(pointi);
             }
         }
 
@@ -3248,15 +3248,15 @@ void Foam::snappySnapDriver::reverseAttractMeshPoints
     patchConstraints.setSize(pp.nPoints());
     patchConstraints = pointConstraint();
 
-    forAll(edgeAttractors, featI)
+    forAll(edgeAttractors, feati)
     {
-        const List<DynamicList<point>>& edgeAttr = edgeAttractors[featI];
+        const List<DynamicList<point>>& edgeAttr = edgeAttractors[feati];
         const List<DynamicList<pointConstraint>>& edgeConstr =
-            edgeConstraints[featI];
+            edgeConstraints[feati];
 
-        forAll(edgeAttr, featEdgeI)
+        forAll(edgeAttr, featEdgei)
         {
-            const DynamicList<point>& attr = edgeAttr[featEdgeI];
+            const DynamicList<point>& attr = edgeAttr[featEdgei];
             forAll(attr, i)
             {
                 // Find nearest pp point
@@ -3269,20 +3269,20 @@ void Foam::snappySnapDriver::reverseAttractMeshPoints
 
                 if (nearInfo.hit())
                 {
-                    label pointI =
+                    label pointi =
                         ppTree.shapes().pointLabels()[nearInfo.index()];
-                    const point attraction = featPt-pp.localPoints()[pointI];
+                    const point attraction = featPt-pp.localPoints()[pointi];
 
                     // Check if this point is already being attracted. If so
                     // override it only if nearer.
                     if
                     (
-                        patchConstraints[pointI].first() <= 1
-                     || magSqr(attraction) < magSqr(patchAttraction[pointI])
+                        patchConstraints[pointi].first() <= 1
+                     || magSqr(attraction) < magSqr(patchAttraction[pointi])
                     )
                     {
-                        patchAttraction[pointI] = attraction;
-                        patchConstraints[pointI] = edgeConstr[featEdgeI][i];
+                        patchAttraction[pointi] = attraction;
+                        patchConstraints[pointi] = edgeConstr[featEdgei][i];
                     }
                 }
                 else
@@ -3305,18 +3305,18 @@ void Foam::snappySnapDriver::reverseAttractMeshPoints
     // Find nearest mesh point to feature point
     // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     // (overrides attraction to feature edge)
-    forAll(pointAttractor, featI)
+    forAll(pointAttractor, feati)
     {
-        const labelList& pointAttr = pointAttractor[featI];
-        const List<pointConstraint>& pointConstr = pointConstraints[featI];
+        const labelList& pointAttr = pointAttractor[feati];
+        const List<pointConstraint>& pointConstr = pointConstraints[feati];
 
-        forAll(pointAttr, featPointI)
+        forAll(pointAttr, featPointi)
         {
-            if (pointAttr[featPointI] != -1)
+            if (pointAttr[featPointi] != -1)
             {
-                const point& featPt = features[featI].points()
+                const point& featPt = features[feati].points()
                 [
-                    featPointI
+                    featPointi
                 ];
 
                 // Find nearest pp point
@@ -3328,37 +3328,37 @@ void Foam::snappySnapDriver::reverseAttractMeshPoints
 
                 if (nearInfo.hit())
                 {
-                    label pointI =
+                    label pointi =
                         ppTree.shapes().pointLabels()[nearInfo.index()];
 
-                    const point& pt = pp.localPoints()[pointI];
+                    const point& pt = pp.localPoints()[pointi];
                     const point attraction = featPt-pt;
 
                     // - already attracted to feature edge : point always wins
                     // - already attracted to feature point: nearest wins
 
-                    if (patchConstraints[pointI].first() <= 1)
+                    if (patchConstraints[pointi].first() <= 1)
                     {
-                        patchAttraction[pointI] = attraction;
-                        patchConstraints[pointI] = pointConstr[featPointI];
+                        patchAttraction[pointi] = attraction;
+                        patchConstraints[pointi] = pointConstr[featPointi];
                     }
-                    else if (patchConstraints[pointI].first() == 2)
+                    else if (patchConstraints[pointi].first() == 2)
                     {
-                        patchAttraction[pointI] = attraction;
-                        patchConstraints[pointI] = pointConstr[featPointI];
+                        patchAttraction[pointi] = attraction;
+                        patchConstraints[pointi] = pointConstr[featPointi];
                     }
-                    else if (patchConstraints[pointI].first() == 3)
+                    else if (patchConstraints[pointi].first() == 3)
                     {
                         // Only if nearer
                         if
                         (
                             magSqr(attraction)
-                          < magSqr(patchAttraction[pointI])
+                          < magSqr(patchAttraction[pointi])
                         )
                         {
-                            patchAttraction[pointI] = attraction;
-                            patchConstraints[pointI] =
-                                pointConstr[featPointI];
+                            patchAttraction[pointi] = attraction;
+                            patchConstraints[pointi] =
+                                pointConstr[featPointi];
                         }
                     }
                 }
@@ -3419,11 +3419,11 @@ void Foam::snappySnapDriver::featureAttractionUsingFeatureEdges
     (
         features.size()
     );
-    forAll(features, featI)
+    forAll(features, feati)
     {
-        label nFeatEdges = features[featI].edges().size();
-        edgeAttractors[featI].setSize(nFeatEdges);
-        edgeConstraints[featI].setSize(nFeatEdges);
+        label nFeatEdges = features[feati].edges().size();
+        edgeAttractors[feati].setSize(nFeatEdges);
+        edgeConstraints[feati].setSize(nFeatEdges);
     }
 
     // Per feature, per feature-point the pp point that is attracted to it.
@@ -3431,11 +3431,11 @@ void Foam::snappySnapDriver::featureAttractionUsingFeatureEdges
     // used.
     List<labelList> pointAttractor(features.size());
     List<List<pointConstraint>> pointConstraints(features.size());
-    forAll(features, featI)
+    forAll(features, feati)
     {
-        label nFeatPoints = features[featI].points().size();
-        pointAttractor[featI].setSize(nFeatPoints, -1);
-        pointConstraints[featI].setSize(nFeatPoints);
+        label nFeatPoints = features[feati].points().size();
+        pointAttractor[feati].setSize(nFeatPoints, -1);
+        pointConstraints[feati].setSize(nFeatPoints);
     }
 
     // Reverse: from pp point to nearest feature
@@ -3570,16 +3570,16 @@ void Foam::snappySnapDriver::featureAttractionUsingFeatureEdges
         Info<< "Dumping feature-point attraction to "
             << featurePointStr.name() << endl;
 
-        forAll(patchConstraints, pointI)
+        forAll(patchConstraints, pointi)
         {
-            const point& pt = pp.localPoints()[pointI];
-            const vector& attr = patchAttraction[pointI];
+            const point& pt = pp.localPoints()[pointi];
+            const vector& attr = patchAttraction[pointi];
 
-            if (patchConstraints[pointI].first() == 2)
+            if (patchConstraints[pointi].first() == 2)
             {
                 featureEdgeStr.write(linePointRef(pt, pt+attr));
             }
-            else if (patchConstraints[pointI].first() == 3)
+            else if (patchConstraints[pointi].first() == 3)
             {
                 featurePointStr.write(linePointRef(pt, pt+attr));
             }
@@ -3696,9 +3696,9 @@ void Foam::snappySnapDriver::preventFaceSqueeze
 
     pointField points;
     face singleF;
-    forAll(pp.localFaces(), faceI)
+    forAll(pp.localFaces(), facei)
     {
-        const face& f = pp.localFaces()[faceI];
+        const face& f = pp.localFaces()[facei];
 
         if (f.size() != points.size())
         {
@@ -3712,12 +3712,12 @@ void Foam::snappySnapDriver::preventFaceSqueeze
         label nConstraints = 0;
         forAll(f, fp)
         {
-            label pointI = f[fp];
-            const point& pt = pp.localPoints()[pointI];
+            label pointi = f[fp];
+            const point& pt = pp.localPoints()[pointi];
 
-            if (patchConstraints[pointI].first() > 1)
+            if (patchConstraints[pointi].first() > 1)
             {
-                points[fp] = pt + patchAttraction[pointI];
+                points[fp] = pt + patchAttraction[pointi];
                 nConstraints++;
             }
             else
@@ -3749,24 +3749,24 @@ void Foam::snappySnapDriver::preventFaceSqueeze
                 }
                 if (maxFp != -1)
                 {
-                    label pointI = f.prevLabel(maxFp);
+                    label pointi = f.prevLabel(maxFp);
 
-                    // Reset attraction on pointI to nearest
+                    // Reset attraction on pointi to nearest
 
-                    const point& pt = pp.localPoints()[pointI];
+                    const point& pt = pp.localPoints()[pointi];
 
-                    //Pout<< "** on triangle " << pp.faceCentres()[faceI]
-                    //    << " knocking out attraction to " << pointI
+                    //Pout<< "** on triangle " << pp.faceCentres()[facei]
+                    //    << " knocking out attraction to " << pointi
                     //    << " at:" << pt
                     //    << endl;
 
-                    patchAttraction[pointI] = nearestAttraction[pointI];
+                    patchAttraction[pointi] = nearestAttraction[pointi];
 
                     if (strPtr.valid())
                     {
                         strPtr().write
                         (
-                            linePointRef(pt, pt+patchAttraction[pointI])
+                            linePointRef(pt, pt+patchAttraction[pointi])
                         );
                     }
                 }
@@ -3791,9 +3791,9 @@ void Foam::snappySnapDriver::preventFaceSqueeze
                     }
                     if (maxFp != -1)
                     {
-                        label pointI = f[maxFp];
-                        // Lower attraction on pointI
-                        patchAttraction[pointI] *= 0.5;
+                        label pointi = f[maxFp];
+                        // Lower attraction on pointi
+                        patchAttraction[pointi] *= 0.5;
                     }
                 }
             }
@@ -3860,12 +3860,12 @@ Foam::vectorField Foam::snappySnapDriver::calcNearestSurfaceFeature
         // Calculate attraction distance per face (from the attraction distance
         // per point)
         scalarField faceSnapDist(pp.size(), -GREAT);
-        forAll(pp.localFaces(), faceI)
+        forAll(pp.localFaces(), facei)
         {
-            const face& f = pp.localFaces()[faceI];
+            const face& f = pp.localFaces()[facei];
             forAll(f, fp)
             {
-                faceSnapDist[faceI] = max(faceSnapDist[faceI], snapDist[f[fp]]);
+                faceSnapDist[facei] = max(faceSnapDist[facei], snapDist[f[fp]]);
             }
         }
 
@@ -4088,13 +4088,13 @@ Foam::vectorField Foam::snappySnapDriver::calcNearestSurfaceFeature
 
 
     // Mix with direct feature attraction
-    forAll(patchConstraints, pointI)
+    forAll(patchConstraints, pointi)
     {
-        if (patchConstraints[pointI].first() > 1)
+        if (patchConstraints[pointi].first() > 1)
         {
-            patchDisp[pointI] =
-                (1.0-featureAttract)*patchDisp[pointI]
-              + featureAttract*patchAttraction[pointI];
+            patchDisp[pointi] =
+                (1.0-featureAttract)*patchDisp[pointi]
+              + featureAttract*patchAttraction[pointi];
         }
     }
 
diff --git a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriverTemplates.C b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriverTemplates.C
index b0f87e462b..95bbdf2220 100644
--- a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriverTemplates.C
+++ b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriverTemplates.C
@@ -45,15 +45,15 @@ Foam::labelList Foam::snappySnapDriver::getFacePoints
 
         forAll(f, fp)
         {
-            label meshPointI = f[fp];
+            label meshPointi = f[fp];
 
             Map<label>::const_iterator iter =
-                pp.meshPointMap().find(meshPointI);
+                pp.meshPointMap().find(meshPointi);
 
             if (iter != pp.meshPointMap().end())
             {
-                label pointI = iter();
-                pointOnZone[pointI] = true;
+                label pointi = iter();
+                pointOnZone[pointi] = true;
             }
         }
     }
diff --git a/src/sampling/probes/patchProbes.H b/src/sampling/probes/patchProbes.H
index d2742b2f68..f290bd11e0 100644
--- a/src/sampling/probes/patchProbes.H
+++ b/src/sampling/probes/patchProbes.H
@@ -37,7 +37,7 @@ Description
     patchProbes
     {
         type            patchProbes;
-        functionObjectLibs ( "libsampling.so" );
+        libs            ( "libsampling.so" );
 
         // Name of the directory for probe data
         name            patchProbes;
@@ -46,14 +46,11 @@ Description
         patches         (".*inl.*");
 
         // Write at same frequency as fields
-        outputControl   outputTime;
-        outputInterval  1;
+        writeControl    writeTime;
+        writeInterval   1;
 
         // Fields to be probed
-        fields
-        (
-            p U
-        );
+        fields          (p U);
 
         // Locations to probe. These get snapped onto the nearest point
         // on the selected patches
diff --git a/src/sampling/probes/probes.H b/src/sampling/probes/probes.H
index 9f6e898cf6..2f8bb4e138 100644
--- a/src/sampling/probes/probes.H
+++ b/src/sampling/probes/probes.H
@@ -37,20 +37,17 @@ Description
     probes
     {
         type            probes;
-        functionObjectLibs ( "libsampling.so" );
+        libs            ("libsampling.so");
 
         // Name of the directory for probe data
         name            probes;
 
         // Write at same frequency as fields
-        outputControl   outputTime;
-        outputInterval  1;
+        writeControl    outputTime;
+        writeInterval   1;
 
         // Fields to be probed
-        fields
-        (
-            p U
-        );
+        fields          (p U);
 
         // Optional: do not recalculate cells if mesh moves
         fixedLocations  false;
diff --git a/tutorials/combustion/chemFoam/gri/system/controlDict b/tutorials/combustion/chemFoam/gri/system/controlDict
index cb4c6ab7aa..caaf117c7c 100644
--- a/tutorials/combustion/chemFoam/gri/system/controlDict
+++ b/tutorials/combustion/chemFoam/gri/system/controlDict
@@ -56,7 +56,7 @@ functions
 {
     sensitivityAnalysis
     {
-        functionObjectLibs  ("libfieldFunctionObjects.so");
+        libs                ("libfieldFunctionObjects.so");
         type                psiReactionsSensitivityAnalysis;
         writeControl        writeTime;
     }
diff --git a/tutorials/combustion/chemFoam/ic8h18_TDAC/chemkin/transportProperties b/tutorials/combustion/chemFoam/ic8h18_TDAC/chemkin/transportProperties
index 6e932ca799..c54853202c 100644
--- a/tutorials/combustion/chemFoam/ic8h18_TDAC/chemkin/transportProperties
+++ b/tutorials/combustion/chemFoam/ic8h18_TDAC/chemkin/transportProperties
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/chemistryProperties b/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/chemistryProperties
index 7b032d90c1..943a0a7de9 100644
--- a/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/chemistryProperties
+++ b/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/chemistryProperties
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/initialConditions b/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/initialConditions
index 34ebb058de..76dff0b122 100644
--- a/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/initialConditions
+++ b/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/initialConditions
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/thermophysicalProperties b/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/thermophysicalProperties
index 90267ad29f..58207acbee 100644
--- a/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/thermophysicalProperties
+++ b/tutorials/combustion/chemFoam/ic8h18_TDAC/constant/thermophysicalProperties
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/chemFoam/ic8h18_TDAC/system/controlDict b/tutorials/combustion/chemFoam/ic8h18_TDAC/system/controlDict
index 7c100daec0..a9b2c7e829 100644
--- a/tutorials/combustion/chemFoam/ic8h18_TDAC/system/controlDict
+++ b/tutorials/combustion/chemFoam/ic8h18_TDAC/system/controlDict
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/chemFoam/ic8h18_TDAC/system/fvSolution b/tutorials/combustion/chemFoam/ic8h18_TDAC/system/fvSolution
index 6b16dd4035..bb187637d0 100644
--- a/tutorials/combustion/chemFoam/ic8h18_TDAC/system/fvSolution
+++ b/tutorials/combustion/chemFoam/ic8h18_TDAC/system/fvSolution
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/ph_rgh.orig b/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/ph_rgh.orig
index c8d764aa04..833aae7d10 100644
--- a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/ph_rgh.orig
+++ b/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/0/ph_rgh.orig
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pRef b/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pRef
index 2f1d6789fe..ff8869e9e4 100644
--- a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pRef
+++ b/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pRef
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/ph_rgh.orig b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/ph_rgh.orig
index bf41c4365a..64fa134b33 100644
--- a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/ph_rgh.orig
+++ b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/0/ph_rgh.orig
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/pRef b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/pRef
index 2f1d6789fe..ff8869e9e4 100644
--- a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/pRef
+++ b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/pRef
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/ph_rgh.orig b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/ph_rgh.orig
index e2fcf692f2..e984cf2b4c 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/ph_rgh.orig
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/0/ph_rgh.orig
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/pRef b/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/pRef
index 2f1d6789fe..ff8869e9e4 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/pRef
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire2D/constant/pRef
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/ph_rgh.orig b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/ph_rgh.orig
index 3a5ed69ec5..988375bfe9 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/ph_rgh.orig
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/0/ph_rgh.orig
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/pRef b/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/pRef
index 2f1d6789fe..ff8869e9e4 100644
--- a/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/pRef
+++ b/tutorials/combustion/fireFoam/les/smallPoolFire3D/constant/pRef
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/CH4 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/CH4
index 15dd5eddf1..61f76d6a2a 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/CH4
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/CH4
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/CO2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/CO2
index 2fef379ec7..12efa11dc6 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/CO2
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/CO2
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/H2O b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/H2O
index ca22735630..8e065f3e2c 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/H2O
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/H2O
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/N2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/N2
index f1b3314273..7947ecd71c 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/N2
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/N2
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/O2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/O2
index 95649fdac4..b29ae9dffb 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/O2
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/O2
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/T b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/T
index 8825b9971c..31d0ed3bf1 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/T
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/T
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/U b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/U
index c235ba3d65..ca32ebfb98 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/U
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/U
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/Ydefault b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/Ydefault
index 96004af717..cf322de72d 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/Ydefault
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/Ydefault
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/alphat b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/alphat
index c74018bbdb..3244699b19 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/alphat
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/alphat
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/p b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/p
index d3bca9b21e..f6f689df0a 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/p
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/0/p
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/chemistryProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/chemistryProperties
index 6cadb7e70a..d60be0eea4 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/chemistryProperties
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/chemistryProperties
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/combustionProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/combustionProperties
index d5c12209c1..9b50afab09 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/combustionProperties
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/combustionProperties
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/thermo.compressibleGas b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/thermo.compressibleGas
index 33208fc6c0..b60fcfc6a6 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/thermo.compressibleGas
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/thermo.compressibleGas
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  3.0.x                                 |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/thermophysicalProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/thermophysicalProperties
index 98c192c7cf..e1b9d24813 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/thermophysicalProperties
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/constant/thermophysicalProperties
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/blockMeshDict b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/blockMeshDict
index 3683ab3388..df1f24f54c 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/blockMeshDict
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/blockMeshDict
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/controlDict b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/controlDict
index a87c823f8f..12aa45d177 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/controlDict
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/controlDict
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/fvSchemes b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/fvSchemes
index 9208e7ca8f..ece96fde64 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/fvSchemes
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/fvSchemes
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/fvSolution b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/fvSolution
index 7ff37c8434..bd938b85db 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/fvSolution
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI/system/fvSolution
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/CH4 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/CH4
index 15dd5eddf1..61f76d6a2a 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/CH4
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/CH4
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/CO2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/CO2
index 2fef379ec7..12efa11dc6 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/CO2
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/CO2
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/H2O b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/H2O
index ca22735630..8e065f3e2c 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/H2O
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/H2O
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/N2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/N2
index c0af293581..34b42690c4 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/N2
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/N2
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/O2 b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/O2
index 95649fdac4..b29ae9dffb 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/O2
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/O2
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/T b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/T
index 8825b9971c..31d0ed3bf1 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/T
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/T
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/U b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/U
index c235ba3d65..ca32ebfb98 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/U
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/U
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/Ydefault b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/Ydefault
index 96004af717..cf322de72d 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/Ydefault
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/Ydefault
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/alphat b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/alphat
index c74018bbdb..3244699b19 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/alphat
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/alphat
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/p b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/p
index d3bca9b21e..f6f689df0a 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/p
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/0/p
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/chemistryProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/chemistryProperties
index 6a2a326f12..cb60fbf59d 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/chemistryProperties
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/chemistryProperties
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/chemistryProperties.new b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/chemistryProperties.new
index e7efd6ee16..514fa711ad 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/chemistryProperties.new
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/chemistryProperties.new
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/combustionProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/combustionProperties
index d5c12209c1..9b50afab09 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/combustionProperties
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/combustionProperties
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/thermo.compressibleGas b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/thermo.compressibleGas
index 33208fc6c0..b60fcfc6a6 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/thermo.compressibleGas
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/thermo.compressibleGas
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  3.0.x                                 |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/thermophysicalProperties b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/thermophysicalProperties
index 98c192c7cf..e1b9d24813 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/thermophysicalProperties
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/constant/thermophysicalProperties
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/blockMeshDict b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/blockMeshDict
index 3683ab3388..df1f24f54c 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/blockMeshDict
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/blockMeshDict
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/controlDict b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/controlDict
index a87c823f8f..12aa45d177 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/controlDict
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/controlDict
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/decomposeParDict b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/decomposeParDict
index 43667b412c..4401dc3a33 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/decomposeParDict
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/decomposeParDict
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/fvSchemes b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/fvSchemes
index 9208e7ca8f..ece96fde64 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/fvSchemes
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/fvSchemes
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/fvSolution b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/fvSolution
index 7ff37c8434..bd938b85db 100644
--- a/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/fvSolution
+++ b/tutorials/combustion/reactingFoam/laminar/counterFlowFlame2D_GRI_TDAC/system/fvSolution
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0/T b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0/T
index 08c022f92f..6a8286ff87 100644
--- a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0/T
+++ b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0/T
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0/U b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0/U
index 37b1c45ea1..81c690b7ce 100644
--- a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0/U
+++ b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0/U
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0/p b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0/p
index e9b41399de..79f4229674 100644
--- a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0/p
+++ b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/0/p
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/constant/thermophysicalProperties b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/constant/thermophysicalProperties
index 392e2e045b..f418d51cdd 100644
--- a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/constant/thermophysicalProperties
+++ b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/constant/thermophysicalProperties
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/constant/turbulenceProperties
index c2c3b28a1b..d0a0998654 100644
--- a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/constant/turbulenceProperties
+++ b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/constant/turbulenceProperties
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/blockMeshDict b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/blockMeshDict
index e4dabbfe23..3cf178ed20 100644
--- a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/blockMeshDict
+++ b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/blockMeshDict
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/decomposeParDict b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/decomposeParDict
index 702df4decd..0f97fd08ee 100644
--- a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/decomposeParDict
+++ b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/decomposeParDict
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/fvSchemes b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/fvSchemes
index 6a8292d187..c271104f45 100644
--- a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/fvSchemes
+++ b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/fvSchemes
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/fvSolution b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/fvSolution
index 4eddb38721..af32506641 100644
--- a/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/fvSolution
+++ b/tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/system/fvSolution
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/compressible/sonicFoam/laminar/shockTube/Allclean b/tutorials/compressible/sonicFoam/laminar/shockTube/Allclean
index 6e94f2d9da..ea06ee44e4 100755
--- a/tutorials/compressible/sonicFoam/laminar/shockTube/Allclean
+++ b/tutorials/compressible/sonicFoam/laminar/shockTube/Allclean
@@ -4,7 +4,7 @@ cd ${0%/*} || exit 1    # Run from this directory
 # Source tutorial clean functions
 . $WM_PROJECT_DIR/bin/tools/CleanFunctions
 
-# Remove 0.org/ copy
+# Remove 0.orig/ copy
 \rm -rf 0
 
 cleanCase
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/bottomWater/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/bottomWater/changeDictionaryDict
index ec844d5a56..adf9935141 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/bottomWater/changeDictionaryDict
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/bottomWater/changeDictionaryDict
@@ -70,8 +70,8 @@ dictionaryReplacement
             {
                 type            compressible::turbulentTemperatureCoupledBaffleMixed;
                 Tnbr            T;
-                kappa           fluidThermo;
-                kappaName       none;
+                kappaMethod     fluidThermo;
+                kappa           none;
                 value           uniform 300;
             }
         }
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/heater/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/heater/changeDictionaryDict
index 0e3628fdc5..5f0519e7e1 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/heater/changeDictionaryDict
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/heater/changeDictionaryDict
@@ -49,8 +49,8 @@ dictionaryReplacement
             {
                 type            compressible::turbulentTemperatureCoupledBaffleMixed;
                 Tnbr            T;
-                kappa           solidThermo;
-                kappaName       none;
+                kappaMethod     solidThermo;
+                kappa           none;
                 value           uniform 300;
             }
 
@@ -58,8 +58,8 @@ dictionaryReplacement
             {
                 type            compressible::turbulentTemperatureCoupledBaffleMixed;
                 Tnbr            T;
-                kappa           solidThermo;
-                kappaName       none;
+                kappaMethod     solidThermo;
+                kappa           none;
                 thicknessLayers (1e-3);
                 kappaLayers     (5e-4);
                 value           uniform 300;
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/leftSolid/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/leftSolid/changeDictionaryDict
index 8e96133ac2..917043d203 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/leftSolid/changeDictionaryDict
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/leftSolid/changeDictionaryDict
@@ -43,8 +43,8 @@ dictionaryReplacement
             {
                 type            compressible::turbulentTemperatureCoupledBaffleMixed;
                 Tnbr            T;
-                kappa           solidThermo;
-                kappaName       none;
+                kappaMethod     solidThermo;
+                kappa           none;
                 value           uniform 300;
             }
 
@@ -52,8 +52,8 @@ dictionaryReplacement
             {
                 type            compressible::turbulentTemperatureCoupledBaffleMixed;
                 Tnbr            T;
-                kappa           solidThermo;
-                kappaName       none;
+                kappaMethod     solidThermo;
+                kappa           none;
                 thicknessLayers (1e-3);
                 kappaLayers     (5e-4);
                 value           uniform 300;
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/rightSolid/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/rightSolid/changeDictionaryDict
index 20e446ba05..77bebe210e 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/rightSolid/changeDictionaryDict
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/rightSolid/changeDictionaryDict
@@ -43,8 +43,8 @@ dictionaryReplacement
             {
                 type            compressible::turbulentTemperatureCoupledBaffleMixed;
                 Tnbr            T;
-                kappa           solidThermo;
-                kappaName       none;
+                kappaMethod     solidThermo;
+                kappa           none;
                 value           uniform 300;
             }
         }
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/topAir/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/topAir/changeDictionaryDict
index a5fdd7b1c0..40ce87668b 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/topAir/changeDictionaryDict
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledMultiRegionHeater/system/topAir/changeDictionaryDict
@@ -76,8 +76,8 @@ dictionaryReplacement
             {
                 type            compressible::turbulentTemperatureCoupledBaffleMixed;
                 Tnbr            T;
-                kappa           fluidThermo;
-                kappaName       none;
+                kappaMethod     fluidThermo;
+                kappa           none;
                 value           uniform 300;
             }
         }
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0/air/T b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0/air/T
index 446c1e3ab2..a7d921215a 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0/air/T
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0/air/T
@@ -57,10 +57,10 @@ boundaryField
         value           uniform 300;
         inletValue      uniform 300;
         Tnbr            T;
-        kappa           fluidThermo;
+        kappaMethod     fluidThermo;
         QrNbr           none;
         Qr              Qr;
-        kappaName       none;
+        kappa           none;
     }
     air_to_solid
     {
@@ -68,10 +68,10 @@ boundaryField
         value           uniform 300;
         inletValue      uniform 300;
         Tnbr            T;
-        kappa           fluidThermo;
+        kappaMethod     fluidThermo;
         QrNbr           none;
         Qr              Qr;
-        kappaName       none;
+        kappa           none;
     }
 }
 
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0/floor/T b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0/floor/T
index 01add2ab20..267473f790 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0/floor/T
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0/floor/T
@@ -45,12 +45,12 @@ boundaryField
     {
         type            externalWallHeatFluxTemperature;
         value           uniform 300;
-        kappa           solidThermo;
+        kappaMethod     solidThermo;
         Ta              uniform 313;
         h               uniform 1000000;
         thicknessLayers ( 1 2 );
         kappaLayers     ( 100 200 );
-        kappaName       none;
+        kappa           none;
     }
     floor_to_domain3
     {
@@ -62,20 +62,20 @@ boundaryField
         type            compressible::turbulentTemperatureRadCoupledMixed;
         value           uniform 300;
         Tnbr            T;
-        kappa           solidThermo;
+        kappaMethod     solidThermo;
         QrNbr           Qr;
         Qr              none;
-        kappaName       none;
+        kappa           none;
     }
     floor_to_solid
     {
         type            compressible::turbulentTemperatureRadCoupledMixed;
         value           uniform 300;
         Tnbr            T;
-        kappa           solidThermo;
+        kappaMethod     solidThermo;
         QrNbr           none;
         Qr              none;
-        kappaName       none;
+        kappa           none;
     }
 }
 
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0/solid/T b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0/solid/T
index fd81c80c4e..4e1f26a8c4 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0/solid/T
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/0/solid/T
@@ -31,20 +31,20 @@ boundaryField
         type            compressible::turbulentTemperatureRadCoupledMixed;
         value           uniform 300;
         Tnbr            T;
-        kappa           solidThermo;
+        kappaMethod     solidThermo;
         QrNbr           Qr;
         Qr              none;
-        kappaName       none;
+        kappa           none;
     }
     solid_to_floor
     {
         type            compressible::turbulentTemperatureRadCoupledMixed;
         value           uniform 300;
         Tnbr            T;
-        kappa           solidThermo;
+        kappaMethod     solidThermo;
         QrNbr           none;
         Qr              none;
-        kappaName       none;
+        kappa           none;
     }
 }
 
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/air/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/air/changeDictionaryDict
index 25ac73691a..92b630af9b 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/air/changeDictionaryDict
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/air/changeDictionaryDict
@@ -68,10 +68,10 @@ dictionaryReplacement
             {
                 type            compressible::turbulentTemperatureRadCoupledMixed;
                 Tnbr            T;
-                kappa           fluidThermo;
+                kappaMethod     fluidThermo;
                 QrNbr           none;
                 Qr              Qr;
-                kappaName       none;
+                kappa           none;
                 value           uniform 300;
             }
         }
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/floor/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/floor/changeDictionaryDict
index 5189b5faef..faf294c084 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/floor/changeDictionaryDict
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/floor/changeDictionaryDict
@@ -39,10 +39,10 @@ dictionaryReplacement
             {
                 type            compressible::turbulentTemperatureRadCoupledMixed;
                 Tnbr            T;
-                kappa           solidThermo;
+                kappaMethod     solidThermo;
                 QrNbr           none;
                 Qr              none;
-                kappaName       none;
+                kappa           none;
                 value           uniform 300;
             }
 
@@ -50,10 +50,10 @@ dictionaryReplacement
             {
                 type            compressible::turbulentTemperatureRadCoupledMixed;
                 Tnbr            T;
-                kappa           solidThermo;
+                kappaMethod     solidThermo;
                 QrNbr           Qr;
                 Qr              none;
-                kappaName       none;
+                kappa           none;
                 value           uniform 300;
             }
 
@@ -66,13 +66,13 @@ dictionaryReplacement
             minZ
             {
                 type            externalWallHeatFluxTemperature;
-                kappa           solidThermo;
+                kappaMethod     solidThermo;
                 Ta              uniform 313.0;
                 h               uniform 10e5;
                 thicknessLayers (1 2);
                 kappaLayers     (100 200);
                 value           uniform 300.0;
-                kappaName       none;
+                kappa           none;
             }
         }
     }
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/solid/changeDictionaryDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/solid/changeDictionaryDict
index 92da12adfb..1a3e5fe65c 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/solid/changeDictionaryDict
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/system/solid/changeDictionaryDict
@@ -33,10 +33,10 @@ dictionaryReplacement
             {
                 type            compressible::turbulentTemperatureRadCoupledMixed;
                 Tnbr            T;
-                kappa           solidThermo;
+                kappaMethod     solidThermo;
                 QrNbr           Qr;
                 Qr              none;
-                kappaName       none;
+                kappa           none;
                 value           uniform 300;
             }
 
@@ -44,10 +44,10 @@ dictionaryReplacement
             {
                 type            compressible::turbulentTemperatureRadCoupledMixed;
                 Tnbr            T;
-                kappa           solidThermo;
+                kappaMethod     solidThermo;
                 QrNbr           none;
                 Qr              none;
-                kappaName       none;
+                kappa           none;
                 value           uniform 300;
             }
 
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/fvSolution
index ccb0d3183f..cb81d31859 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/fvSolution
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/leftSolid/fvSolution
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/fvSolution
index ccb0d3183f..cb81d31859 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/fvSolution
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/rightSolid/fvSolution
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/fvSolution
index 0eb178deb7..21da174740 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/fvSolution
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/topAir/fvSolution
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/leftSolid/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/leftSolid/fvSolution
index ccb0d3183f..cb81d31859 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/leftSolid/fvSolution
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/leftSolid/fvSolution
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/rightSolid/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/rightSolid/fvSolution
index ccb0d3183f..cb81d31859 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/rightSolid/fvSolution
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/rightSolid/fvSolution
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/topAir/fvSolution b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/topAir/fvSolution
index 066616d553..b986d2efb2 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/topAir/fvSolution
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/topAir/fvSolution
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/windshield/T b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/windshield/T
index 5dd082096f..a384823f32 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/windshield/T
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/0.orig/windshield/T
@@ -32,15 +32,15 @@ boundaryField
     windshield_to_cabin
     {
         type            humidityTemperatureCoupledMixed;
-        kappa           solidThermo;
-        kappaName       none;
+        kappaMethod     solidThermo;
+        kappa           none;
         value           uniform 260;
     }
     exterior
     {
         type            externalWallHeatFluxTemperature;
-        kappa           solidThermo;
-        kappaName       none;
+        kappaMethod     solidThermo;
+        kappa           none;
         h               uniform 10;
         Ta              uniform 260;
         value           uniform 260;
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/controlDict b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/controlDict
index 9ea87b6028..1dd1497a4a 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/controlDict
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldCondensation/system/controlDict
@@ -58,7 +58,8 @@ functions
         type            scalarTransport;
         libs            ("libsolverFunctionObjects.so");
         resetOnStartUp  no;
-        region cabin;
+        region          cabin;
+        field           H2O;
 
         fvOptions
         {
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/T b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/T
index 420465cbb2..cb41965f6d 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/T
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/cabin/T
@@ -50,8 +50,8 @@ boundaryField
         type            compressible::turbulentTemperatureCoupledBaffleMixed;
         value           uniform 260;
         Tnbr            T;
-        kappa           fluidThermo;
-        kappaName       none;
+        kappaMethod     fluidThermo;
+        kappa           none;
 
         // windshield 3 mm
         thicknessLayers (0.003);
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/T b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/T
index d3c0de7d18..dd56368c39 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/T
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/exterior/T
@@ -36,8 +36,8 @@ boundaryField
         type            compressible::turbulentTemperatureCoupledBaffleMixed;
         value           uniform 260;
         Tnbr            T;
-        kappa           fluidThermo;
-        kappaName       none;
+        kappaMethod     fluidThermo;
+        kappa           none;
     }
 }
 
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/ice/T b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/ice/T
index 290057824f..e48d2b0c5a 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/ice/T
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/0.orig/ice/T
@@ -34,16 +34,16 @@ boundaryField
         type            compressible::turbulentTemperatureCoupledBaffleMixed;
         value           uniform 260;
         Tnbr            T;
-        kappa           fluidThermo;
-        kappaName       none;
+        kappaMethod     fluidThermo;
+        kappa           none;
     }
     ice_to_exterior
     {
         type            compressible::turbulentTemperatureCoupledBaffleMixed;
         value           uniform 260;
         Tnbr            T;
-        kappa           fluidThermo;
-        kappaName       none;
+        kappaMethod     fluidThermo;
+        kappa           none;
     }
 }
 
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/controlDict b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/controlDict
index 07835724cf..61de766e12 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/controlDict
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/controlDict
@@ -61,9 +61,9 @@ functions
         writeControl    timeStep; //writeTime;
         writeInterval   1;
         log             yes;
-        valueOutput     no;
-        source          patch;
-        sourceName      inlet;
+        writeFields     no;
+        regionType      patch;
+        name            inlet;
         operation       sum;
         fields          (phi);
         region          cabin;
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/leftSolid/fvSolution b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/leftSolid/fvSolution
index b743687b83..852536f64a 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/leftSolid/fvSolution
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/leftSolid/fvSolution
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/rightSolid/fvSolution b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/rightSolid/fvSolution
index b743687b83..852536f64a 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/rightSolid/fvSolution
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/rightSolid/fvSolution
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/topAir/fvSolution b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/topAir/fvSolution
index 2f353374cd..176ec43fec 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/topAir/fvSolution
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/topAir/fvSolution
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/incompressible/pimpleFoam/channel395DFSEM/system/controlDict b/tutorials/incompressible/pimpleFoam/channel395DFSEM/system/controlDict
index 2d4b47d56d..1efeae9851 100644
--- a/tutorials/incompressible/pimpleFoam/channel395DFSEM/system/controlDict
+++ b/tutorials/incompressible/pimpleFoam/channel395DFSEM/system/controlDict
@@ -50,25 +50,25 @@ functions
     Q1
     {
         type            Q;
-        functionObjectLibs ("libfieldFunctionObjects.so");
+        libs            ("libfieldFunctionObjects.so");
         writeControl    writeTime;
     }
     vorticity1
     {
         type            vorticity;
-        functionObjectLibs ("libfieldFunctionObjects.so");
+        libs            ("libfieldFunctionObjects.so");
         writeControl    writeTime;
     }
     yPlus
     {
         type            yPlus;
-        functionObjectLibs ("libfieldFunctionObjects.so");
+        libs            ("libfieldFunctionObjects.so");
         writeControl    writeTime;
     }
     fieldAverage1
     {
         type            fieldAverage;
-        functionObjectLibs ( "libfieldFunctionObjects.so" );
+        libs            ("libfieldFunctionObjects.so");
         writeControl    writeTime;
         timeStart       8.5;
 
diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/0/s b/tutorials/incompressible/pisoFoam/les/pitzDaily/0/s
index be72c6e32e..d97d6a3337 100644
--- a/tutorials/incompressible/pisoFoam/les/pitzDaily/0/s
+++ b/tutorials/incompressible/pisoFoam/les/pitzDaily/0/s
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/system/backgroundMeshDecomposition/fvSolution b/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/system/backgroundMeshDecomposition/fvSolution
index 1f971d4c7d..23ffd4fbad 100644
--- a/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/system/backgroundMeshDecomposition/fvSolution
+++ b/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/system/backgroundMeshDecomposition/fvSolution
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/system/cellShapeControlMesh/fvSolution b/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/system/cellShapeControlMesh/fvSolution
index 1f971d4c7d..23ffd4fbad 100644
--- a/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/system/cellShapeControlMesh/fvSolution
+++ b/tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/system/cellShapeControlMesh/fvSolution
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/incompressible/simpleFoam/T3A/0/ReThetat b/tutorials/incompressible/simpleFoam/T3A/0/ReThetat
index 1f872c7cef..3e9835876e 100644
--- a/tutorials/incompressible/simpleFoam/T3A/0/ReThetat
+++ b/tutorials/incompressible/simpleFoam/T3A/0/ReThetat
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/incompressible/simpleFoam/T3A/0/U b/tutorials/incompressible/simpleFoam/T3A/0/U
index 2812c86759..2add32cb42 100644
--- a/tutorials/incompressible/simpleFoam/T3A/0/U
+++ b/tutorials/incompressible/simpleFoam/T3A/0/U
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/incompressible/simpleFoam/T3A/0/gammaInt b/tutorials/incompressible/simpleFoam/T3A/0/gammaInt
index e5dd8891e6..38097fcf8a 100644
--- a/tutorials/incompressible/simpleFoam/T3A/0/gammaInt
+++ b/tutorials/incompressible/simpleFoam/T3A/0/gammaInt
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/incompressible/simpleFoam/T3A/0/k b/tutorials/incompressible/simpleFoam/T3A/0/k
index 8ad21a4d6c..08ad0b449a 100644
--- a/tutorials/incompressible/simpleFoam/T3A/0/k
+++ b/tutorials/incompressible/simpleFoam/T3A/0/k
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/incompressible/simpleFoam/T3A/0/nut b/tutorials/incompressible/simpleFoam/T3A/0/nut
index 74358080db..129d1ce2d4 100644
--- a/tutorials/incompressible/simpleFoam/T3A/0/nut
+++ b/tutorials/incompressible/simpleFoam/T3A/0/nut
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/incompressible/simpleFoam/T3A/0/omega b/tutorials/incompressible/simpleFoam/T3A/0/omega
index 1e3679a1b1..7c997929cf 100644
--- a/tutorials/incompressible/simpleFoam/T3A/0/omega
+++ b/tutorials/incompressible/simpleFoam/T3A/0/omega
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/incompressible/simpleFoam/T3A/0/p b/tutorials/incompressible/simpleFoam/T3A/0/p
index c0d9d3395b..bb97e35c71 100644
--- a/tutorials/incompressible/simpleFoam/T3A/0/p
+++ b/tutorials/incompressible/simpleFoam/T3A/0/p
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/incompressible/simpleFoam/T3A/constant/transportProperties b/tutorials/incompressible/simpleFoam/T3A/constant/transportProperties
index a84d773be4..09310886be 100644
--- a/tutorials/incompressible/simpleFoam/T3A/constant/transportProperties
+++ b/tutorials/incompressible/simpleFoam/T3A/constant/transportProperties
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/incompressible/simpleFoam/T3A/system/blockMeshDict b/tutorials/incompressible/simpleFoam/T3A/system/blockMeshDict
index 8be326f93b..552d5a733a 100644
--- a/tutorials/incompressible/simpleFoam/T3A/system/blockMeshDict
+++ b/tutorials/incompressible/simpleFoam/T3A/system/blockMeshDict
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/incompressible/simpleFoam/T3A/system/fvSchemes b/tutorials/incompressible/simpleFoam/T3A/system/fvSchemes
index 50a05500cf..feaf482086 100644
--- a/tutorials/incompressible/simpleFoam/T3A/system/fvSchemes
+++ b/tutorials/incompressible/simpleFoam/T3A/system/fvSchemes
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/incompressible/simpleFoam/T3A/system/fvSolution b/tutorials/incompressible/simpleFoam/T3A/system/fvSolution
index c62270502d..ae094c0e71 100644
--- a/tutorials/incompressible/simpleFoam/T3A/system/fvSolution
+++ b/tutorials/incompressible/simpleFoam/T3A/system/fvSolution
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/incompressible/simpleFoam/T3A/system/kGraph b/tutorials/incompressible/simpleFoam/T3A/system/kGraph
index 9afad88eb1..708ad369e1 100644
--- a/tutorials/incompressible/simpleFoam/T3A/system/kGraph
+++ b/tutorials/incompressible/simpleFoam/T3A/system/kGraph
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/tutorials/incompressible/simpleFoam/T3A/system/wallShearStressGraph b/tutorials/incompressible/simpleFoam/T3A/system/wallShearStressGraph
index 127e647d38..8774ccff60 100644
--- a/tutorials/incompressible/simpleFoam/T3A/system/wallShearStressGraph
+++ b/tutorials/incompressible/simpleFoam/T3A/system/wallShearStressGraph
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/system/streamlines b/tutorials/incompressible/simpleFoam/pitzDaily/system/streamlines
index 3ed986047c..bcf7a7d532 100644
--- a/tutorials/incompressible/simpleFoam/pitzDaily/system/streamlines
+++ b/tutorials/incompressible/simpleFoam/pitzDaily/system/streamlines
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Web:      www.OpenFOAM.org
+    \\  /    A nd           | Web:      www.OpenFOAM.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 Description
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/Allclean b/tutorials/lagrangian/reactingParcelFoam/filter/Allclean
index eddae4496c..7e7333f78c 100755
--- a/tutorials/lagrangian/reactingParcelFoam/filter/Allclean
+++ b/tutorials/lagrangian/reactingParcelFoam/filter/Allclean
@@ -4,7 +4,7 @@ cd ${0%/*} || exit 1    # Run from this directory
 # Source tutorial clean functions
 . $WM_PROJECT_DIR/bin/tools/CleanFunctions
 
-# Remove 0.org/ copy and post-processing directories
+# Remove 0.orig/ copy and post-processing directories
 \rm -rf 0 postProcessing
 
 cleanCase
diff --git a/tutorials/mesh/foamyHexMesh/blob/system/backgroundMeshDecomposition/fvSolution b/tutorials/mesh/foamyHexMesh/blob/system/backgroundMeshDecomposition/fvSolution
index 740eb61a4b..39c45aff34 100644
--- a/tutorials/mesh/foamyHexMesh/blob/system/backgroundMeshDecomposition/fvSolution
+++ b/tutorials/mesh/foamyHexMesh/blob/system/backgroundMeshDecomposition/fvSolution
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/mesh/foamyHexMesh/flange/system/backgroundMeshDecomposition/fvSolution b/tutorials/mesh/foamyHexMesh/flange/system/backgroundMeshDecomposition/fvSolution
index 6368c12298..003764a186 100644
--- a/tutorials/mesh/foamyHexMesh/flange/system/backgroundMeshDecomposition/fvSolution
+++ b/tutorials/mesh/foamyHexMesh/flange/system/backgroundMeshDecomposition/fvSolution
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/mesh/foamyHexMesh/mixerVessel/system/backgroundMeshDecomposition/fvSolution b/tutorials/mesh/foamyHexMesh/mixerVessel/system/backgroundMeshDecomposition/fvSolution
index b5fc05a835..ba2b8c03f3 100644
--- a/tutorials/mesh/foamyHexMesh/mixerVessel/system/backgroundMeshDecomposition/fvSolution
+++ b/tutorials/mesh/foamyHexMesh/mixerVessel/system/backgroundMeshDecomposition/fvSolution
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/mesh/parallel/filter/Allclean b/tutorials/mesh/parallel/filter/Allclean
index eddae4496c..7e7333f78c 100755
--- a/tutorials/mesh/parallel/filter/Allclean
+++ b/tutorials/mesh/parallel/filter/Allclean
@@ -4,7 +4,7 @@ cd ${0%/*} || exit 1    # Run from this directory
 # Source tutorial clean functions
 . $WM_PROJECT_DIR/bin/tools/CleanFunctions
 
-# Remove 0.org/ copy and post-processing directories
+# Remove 0.orig/ copy and post-processing directories
 \rm -rf 0 postProcessing
 
 cleanCase
diff --git a/tutorials/mesh/parallel/filter/Allrun b/tutorials/mesh/parallel/filter/Allrun
index 4be640030b..0114f7829d 100755
--- a/tutorials/mesh/parallel/filter/Allrun
+++ b/tutorials/mesh/parallel/filter/Allrun
@@ -9,7 +9,7 @@ application=$(getApplication)
 # Create mesh
 runApplication blockMesh
 
-# Restore 0/ from 0.org/
+# Restore 0/ from 0.orig/
 restore0Dir
 
 # Create sets
diff --git a/tutorials/multiphase/MPPICInterFoam/twoPhasePachuka/Allrun b/tutorials/multiphase/MPPICInterFoam/twoPhasePachuka/Allrun
index 188dbba1cd..b513905258 100755
--- a/tutorials/multiphase/MPPICInterFoam/twoPhasePachuka/Allrun
+++ b/tutorials/multiphase/MPPICInterFoam/twoPhasePachuka/Allrun
@@ -13,7 +13,7 @@ m4 system/pachuka.m4 > system/blockMeshDict
 
 runApplication blockMesh
 
-\cp 0/alpha.water.org 0/alpha.water
+\cp 0/alpha.water.orig 0/alpha.water
 
 # create faceSet for burner inlet and faceZone for coupled wall
 runApplication topoSet
diff --git a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/0/alpha.water.orig b/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/0/alpha.water.orig
index 70366ec29f..0a30f6e7e0 100644
--- a/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/0/alpha.water.orig
+++ b/tutorials/multiphase/compressibleInterDyMFoam/ras/sloshingTank2D/0/alpha.water.orig
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/interDyMFoam/laminar/sloshingTank3D6DoF/Allrun b/tutorials/multiphase/interDyMFoam/laminar/sloshingTank3D6DoF/Allrun
index 41332c6843..c1f08e0d5a 100755
--- a/tutorials/multiphase/interDyMFoam/laminar/sloshingTank3D6DoF/Allrun
+++ b/tutorials/multiphase/interDyMFoam/laminar/sloshingTank3D6DoF/Allrun
@@ -6,7 +6,7 @@ cd ${0%/*} || exit 1    # Run from this directory
 
 m4 system/blockMeshDict.m4 > system/blockMeshDict
 runApplication blockMesh
-\cp 0/alpha.water.org 0/alpha.water
+\cp 0/alpha.water.orig 0/alpha.water
 runApplication setFields
 runApplication $(getApplication)
 
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/0/alpha.water.orig b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/0/alpha.water.orig
index 70366ec29f..0a30f6e7e0 100644
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/0/alpha.water.orig
+++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/0/alpha.water.orig
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/0/alpha.water.orig b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/0/alpha.water.orig
index bdebcf1ab4..a33fee4505 100644
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/0/alpha.water.orig
+++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/0/alpha.water.orig
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/0/alpha.water.orig b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/0/alpha.water.orig
index bdebcf1ab4..a33fee4505 100644
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/0/alpha.water.orig
+++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/0/alpha.water.orig
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/0/alpha.water.orig b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/0/alpha.water.orig
index bdebcf1ab4..a33fee4505 100644
--- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/0/alpha.water.orig
+++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/0/alpha.water.orig
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/0/alpha.water.orig b/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/0/alpha.water.orig
index bdebcf1ab4..a33fee4505 100644
--- a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/0/alpha.water.orig
+++ b/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/0/alpha.water.orig
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/alpha.water b/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/alpha.water
index 1f8c00ace3..a79b4bd61e 100644
--- a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/alpha.water
+++ b/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/alpha.water
@@ -11,7 +11,7 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      alpha.water.org;
+    object      alpha.water.orig;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/alpha.water.orig b/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/alpha.water.orig
index 1f8c00ace3..a79b4bd61e 100644
--- a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/alpha.water.orig
+++ b/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/0/alpha.water.orig
@@ -11,7 +11,7 @@ FoamFile
     format      ascii;
     class       volScalarField;
     location    "0";
-    object      alpha.water.org;
+    object      alpha.water.orig;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/T.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/T.gas
index b997ba8d87..f925c8267b 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/T.gas
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/T.gas
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/T.solids b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/T.solids
index f89c81a228..971e96154c 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/T.solids
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/T.solids
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/Theta.solids b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/Theta.solids
index 15e7486302..1b11e50edc 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/Theta.solids
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/Theta.solids
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/U.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/U.gas
index c2eba7f790..71500e3613 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/U.gas
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/U.gas
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/U.solids b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/U.solids
index 83efb2917f..23ebd382c5 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/U.solids
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/U.solids
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/alpha.solids b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/alpha.solids
index 7b10e13ea3..db8b80b9c4 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/alpha.solids
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/alpha.solids
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/alphat.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/alphat.gas
index a427a3d220..295400540e 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/alphat.gas
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/alphat.gas
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/alphat.solids b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/alphat.solids
index 629d9b81b2..eabaa37344 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/alphat.solids
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/alphat.solids
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/epsilon.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/epsilon.gas
index d71220e918..cf9e1352a1 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/epsilon.gas
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/epsilon.gas
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/k.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/k.gas
index 7b712450db..b67628e301 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/k.gas
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/k.gas
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/nut.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/nut.gas
index 48bbb42864..a3ade361a4 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/nut.gas
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/nut.gas
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/nut.solids b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/nut.solids
index 978d789704..07f8dac114 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/nut.solids
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/nut.solids
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/p b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/p
index 2ab8e8cdcc..c5e3021065 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/p
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/p
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/p_rgh b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/p_rgh
index 0b84a87958..e430732d90 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/p_rgh
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/0/p_rgh
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/g b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/g
index e0ac2653b5..4fea433a00 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/g
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/g
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/phaseProperties b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/phaseProperties
index d53b4d7196..7984f24f13 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/phaseProperties
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/phaseProperties
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/thermophysicalProperties.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/thermophysicalProperties.gas
index a2a98f45f2..4022da7200 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/thermophysicalProperties.gas
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/thermophysicalProperties.gas
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/thermophysicalProperties.solids b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/thermophysicalProperties.solids
index 84dae4b716..2c26b40cf5 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/thermophysicalProperties.solids
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/thermophysicalProperties.solids
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/turbulenceProperties.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/turbulenceProperties.gas
index d92fbf9947..41653530ee 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/turbulenceProperties.gas
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/turbulenceProperties.gas
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/turbulenceProperties.solids b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/turbulenceProperties.solids
index 04793a45c2..80a08be521 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/turbulenceProperties.solids
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/constant/turbulenceProperties.solids
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/system/blockMeshDict b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/system/blockMeshDict
index ebf2ada3b0..cb039838a1 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/system/blockMeshDict
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/system/blockMeshDict
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/system/controlDict b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/system/controlDict
index f929ca081e..66ad117e76 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/system/controlDict
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/system/controlDict
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/system/fvSchemes b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/system/fvSchemes
index 293328da6c..2ec7a2729c 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/system/fvSchemes
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/system/fvSchemes
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/system/fvSolution b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/system/fvSolution
index 50a63b0825..65108876cf 100644
--- a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/system/fvSolution
+++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/LBend/system/fvSolution
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 FoamFile
diff --git a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/singleGraph b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/singleGraph
index 5a4229eed6..67931a1240 100644
--- a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/singleGraph
+++ b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/singleGraph
@@ -2,7 +2,7 @@
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
 |  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
 
-- 
GitLab


From 2e7671fa7110b1a660380d9f9b241281504eeebe Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Wed, 28 Sep 2016 11:26:42 +0200
Subject: [PATCH 61/96] ENH: provide refOrNull method for autoPtr.

- Normally use '()' to deference. This has extra safety and issues a
  fatal error if the underlying pointer is not valid.

  However, in some cases we are happy with getting a null reference.
  The refOrNull() method returns the reference without any checking.

  Usage example:

      autoPtr<OFstream> osPtr;
      if (Pstream::master())
      {
          osPtr.reset(new OFstream(...));
      }
      writeViaMaster(osPtr.refOrNull());

      - The writeViaMaster() call takes an OFstream reference,
        but this is only used directly on the master.
        The slaves will pass things through to the master.
---
 src/OpenFOAM/memory/autoPtr/autoPtr.H  | 11 ++++++++++-
 src/OpenFOAM/memory/autoPtr/autoPtrI.H | 16 +++++++++++++++-
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/src/OpenFOAM/memory/autoPtr/autoPtr.H b/src/OpenFOAM/memory/autoPtr/autoPtr.H
index 748975b5cf..a8802f23a9 100644
--- a/src/OpenFOAM/memory/autoPtr/autoPtr.H
+++ b/src/OpenFOAM/memory/autoPtr/autoPtr.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -104,6 +104,15 @@ public:
             inline void clear();
 
 
+        // Access
+
+            //- Return reference, without checking pointer validity.
+            inline T& refOrNull();
+
+            //- Return const reference, without checking pointer validity.
+            inline const T& refOrNull() const;
+
+
         // Member operators
 
             //- Return reference to the object data
diff --git a/src/OpenFOAM/memory/autoPtr/autoPtrI.H b/src/OpenFOAM/memory/autoPtr/autoPtrI.H
index ef199ca20c..7440bdce69 100644
--- a/src/OpenFOAM/memory/autoPtr/autoPtrI.H
+++ b/src/OpenFOAM/memory/autoPtr/autoPtrI.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -129,6 +129,20 @@ inline void Foam::autoPtr<T>::clear()
 }
 
 
+template<class T>
+inline T& Foam::autoPtr<T>::refOrNull()
+{
+    return *ptr_;
+}
+
+
+template<class T>
+inline const T& Foam::autoPtr<T>::refOrNull() const
+{
+    return *ptr_;
+}
+
+
 // * * * * * * * * * * * * * * * Member Operators  * * * * * * * * * * * * * //
 
 template<class T>
-- 
GitLab


From 46c69c7a3a6dc70f3d4b6b4f41a021ce0d651b51 Mon Sep 17 00:00:00 2001
From: mattijs <mattijs>
Date: Wed, 28 Sep 2016 12:26:23 +0100
Subject: [PATCH 62/96] ENH: distributedTriSurfaceMesh: bail out if getting
 stuck due to precision errors

---
 .../distributedTriSurfaceMesh.C               | 26 +++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C b/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C
index 9db0d72d4a..de5557bcb5 100644
--- a/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C
+++ b/src/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
+     \\/     M anipulation  | Copyright (C) 2015-2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -1766,6 +1766,8 @@ void Foam::distributedTriSurfaceMesh::findLineAll
     e1.setSize(compactI);
     pointMap.setSize(compactI);
 
+
+    label iter = 0;
     while (returnReduce(e0.size(), sumOp<label>()) > 0)
     {
         findLine
@@ -1791,7 +1793,12 @@ void Foam::distributedTriSurfaceMesh::findLineAll
 
                 point pt = hitInfo[i].hitPoint() + smallVec[pointI];
 
-                if (((pt-start[pointI])&dirVec[pointI]) <= magSqrDirVec[pointI])
+                // Check current coordinate along ray
+                scalar d = ((pt-start[pointI])&dirVec[pointI]);
+
+                // Note check for d>0. Very occasionally the octree will find
+                // an intersection to the left of the ray due to tolerances.
+                if (d > 0 && d <= magSqrDirVec[pointI])
                 {
                     e0[compactI] = pt;
                     e1[compactI] = end[pointI];
@@ -1805,6 +1812,21 @@ void Foam::distributedTriSurfaceMesh::findLineAll
         e0.setSize(compactI);
         e1.setSize(compactI);
         pointMap.setSize(compactI);
+
+        iter++;
+
+        if (iter == 1000)
+        {
+            Pout<< "distributedTriSurfaceMesh::findLineAll :"
+                << " Exiting loop due to excessive number of"
+                << " intersections along ray"
+                << " start:" << UIndirectList<point>(start, pointMap)
+                << " end:" << UIndirectList<point>(end, pointMap)
+                << " e0:" << UIndirectList<point>(e0, pointMap)
+                << " e1:" << UIndirectList<point>(e1, pointMap)
+                << endl;
+            break;
+        }
     }
 }
 
-- 
GitLab


From 4eb9f9caaba60c60ca8d8e0ccc1a905dbfc5f500 Mon Sep 17 00:00:00 2001
From: Andrew Heather <a.heather@opencfd.co.uk>
Date: Wed, 28 Sep 2016 16:59:57 +0100
Subject: [PATCH 63/96] ENH: wallDist - added option to evaluate every XXX
 steps

---
 .../fvMesh/wallDist/wallDist/wallDist.C       | 30 ++++++++++++++++---
 .../fvMesh/wallDist/wallDist/wallDist.H       | 12 +++++++-
 2 files changed, 37 insertions(+), 5 deletions(-)

diff --git a/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.C b/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.C
index ae5be722b1..7d53f566b2 100644
--- a/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.C
+++ b/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2015-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -98,7 +98,13 @@ Foam::wallDist::wallDist(const fvMesh& mesh, const word& patchTypeName)
         static_cast<const fvSchemes&>(mesh).subDict(patchTypeName_ & "Dist")
        .lookupOrDefault<Switch>("nRequired", false)
     ),
-    n_(volVectorField::null())
+    n_(volVectorField::null()),
+    updateInterval_
+    (
+        static_cast<const fvSchemes&>(mesh).subDict(patchTypeName_ & "Dist")
+       .lookupOrDefault<label>("updateInterval", 1)
+    ),
+    requireUpdate_(true)
 {
     if (nRequired_)
     {
@@ -146,7 +152,13 @@ Foam::wallDist::wallDist
         static_cast<const fvSchemes&>(mesh).subDict(patchTypeName_ & "Dist")
        .lookupOrDefault<Switch>("nRequired", false)
     ),
-    n_(volVectorField::null())
+    n_(volVectorField::null()),
+    updateInterval_
+    (
+        static_cast<const fvSchemes&>(mesh).subDict(patchTypeName_ & "Dist")
+       .lookupOrDefault<label>("updateInterval", 1)
+    ),
+    requireUpdate_(true)
 {
     if (nRequired_)
     {
@@ -185,8 +197,17 @@ const Foam::volVectorField& Foam::wallDist::n() const
 
 bool Foam::wallDist::movePoints()
 {
-    if (pdm_->movePoints())
+    if ((mesh_.time().timeIndex() % updateInterval_) == 0)
     {
+        requireUpdate_ = true;
+    }
+
+    if (requireUpdate_ && pdm_->movePoints())
+    {
+        DebugInfo<< "Updating wall distance" << endl;
+
+        requireUpdate_ = false;
+
         if (nRequired_)
         {
             return pdm_->correct(y_, n_.ref());
@@ -206,6 +227,7 @@ bool Foam::wallDist::movePoints()
 void Foam::wallDist::updateMesh(const mapPolyMesh& mpm)
 {
     pdm_->updateMesh(mpm);
+    requireUpdate_ = true;
     movePoints();
 }
 
diff --git a/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.H b/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.H
index 9d4f0263b4..4cddaaa476 100644
--- a/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.H
+++ b/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -37,6 +37,10 @@ Description
             // Optional entry enabling the calculation
             // of the normal-to-wall field
             nRequired false;
+
+            // Optional entry delaying wall distance update to every n steps
+            // Default is 1 (update every step)
+            updateInterval 5;
         }
     \endverbatim
 
@@ -90,6 +94,12 @@ class wallDist
         //- Normal-to-wall field
         mutable tmp<volVectorField> n_;
 
+        //- Update wall distance every updateInterval_ steps
+        const label updateInterval_;
+
+        //- Flag to indicate whether the wall distance requires updating
+        bool requireUpdate_;
+
 
     // Private Member Functions
 
-- 
GitLab


From f03adfd49d58420de744c522acd9f7577d370029 Mon Sep 17 00:00:00 2001
From: sergio <sergio>
Date: Wed, 28 Sep 2016 10:42:21 -0700
Subject: [PATCH 64/96] Correcting Typo in SolarLoad radiation model

---
 .../radiation/radiationModels/solarLoad/solarLoad.C       | 2 +-
 .../radiation/submodels/solarCalculator/solarCalculator.C | 8 ++++----
 .../radiation/submodels/solarCalculator/solarCalculator.H | 6 +++---
 .../externalSolarLoad/constant/air/radiationProperties    | 2 +-
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/thermophysicalModels/radiation/radiationModels/solarLoad/solarLoad.C b/src/thermophysicalModels/radiation/radiationModels/solarLoad/solarLoad.C
index b6eb14b4a7..866865fbcb 100644
--- a/src/thermophysicalModels/radiation/radiationModels/solarLoad/solarLoad.C
+++ b/src/thermophysicalModels/radiation/radiationModels/solarLoad/solarLoad.C
@@ -65,7 +65,7 @@ bool Foam::radiation::solarLoad::updateHitFaces()
                 return false;
                 break;
             }
-            case solarCalculator::mSunDirTraking:
+            case solarCalculator::mSunDirTracking:
             {
                 label updateIndex = label
                 (
diff --git a/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.C b/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.C
index 905194a914..caae10e34d 100644
--- a/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.C
+++ b/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.C
@@ -41,7 +41,7 @@ namespace Foam
     >::names[] =
     {
         "sunDirConstant",
-        "sunDirTraking"
+        "sunDirTracking"
     };
 
     template<>
@@ -70,7 +70,7 @@ void Foam::solarCalculator::calculateBetaTetha()
     scalar runTime = 0.0;
     switch (sunDirectionModel_)
     {
-        case mSunDirTraking:
+        case mSunDirTracking:
         {
             runTime = mesh_.time().value();
             break;
@@ -165,7 +165,7 @@ void Foam::solarCalculator::init()
 
             break;
         }
-        case mSunDirTraking:
+        case mSunDirTracking:
         {
             if (word(mesh_.ddtScheme("default")) == "steadyState")
             {
@@ -278,7 +278,7 @@ void Foam::solarCalculator::correctSunDirection()
         {
             break;
         }
-        case mSunDirTraking:
+        case mSunDirTracking:
         {
             calculateBetaTetha();
             calculateSunDirection();
diff --git a/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.H b/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.H
index dd83c23f94..6d3b13c12b 100644
--- a/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.H
+++ b/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.H
@@ -30,7 +30,7 @@ Description
 
     For the Sun direction:
     1) SunDirConstant : the direction is given in 'sunDirection'
-    2) SunDirTraking : the direction is calculated from the following
+    2) SunDirTracking : the direction is calculated from the following
        parameters:
             localStandardMeridian : GMT (Local Zone Meridian) in hours
             startDay :  day from 1 to 365)
@@ -109,7 +109,7 @@ public:
         enum sunDirModel
         {
             mSunDirConstant,
-            mSunDirTraking
+            mSunDirTracking
         };
 
         //- Direct sun load models
@@ -182,7 +182,7 @@ private:
         //- Up grid orientation
         vector gridUp_;
 
-        //- Interval in decimal hours to update Sun direction for SunDirTraking
+        //- Interval in decimal hours to update Sun direction for SunDirTracking
         scalar sunTrackingUpdateInterval_;
 
         //- Start time for the Sun position (decimal hours)
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/radiationProperties b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/radiationProperties
index 65e88f1f4e..dd4e6f8da4 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/radiationProperties
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalSolarLoad/constant/air/radiationProperties
@@ -26,7 +26,7 @@ solarLoadCoeffs
 
     // Sun direction ray model. Give the sunDirection or calculated using the
     // (solar calculator)
-    sunDirectionModel   sunDirTraking;//sunDirConstant;
+    sunDirectionModel   sunDirTracking;//sunDirConstant;
 
         // Time interval to update Sun position (sec)
         sunTrackingUpdateInterval 800;
-- 
GitLab


From deecbf9e065c1f744ce842e7b994ef76bf51f21f Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 28 Sep 2016 19:42:07 +0100
Subject: [PATCH 65/96] fvOptions: Corrected docs: 'fieldName' -> 'fields'
 Resolves bug-report http://bugs.openfoam.org/view.php?id=2273

---
 .../sources/derived/actuationDiskSource/actuationDiskSource.H   | 2 +-
 src/fvOptions/sources/derived/buoyancyEnergy/buoyancyEnergy.H   | 2 +-
 src/fvOptions/sources/derived/buoyancyForce/buoyancyForce.H     | 2 +-
 .../sources/derived/meanVelocityForce/meanVelocityForce.H       | 2 +-
 .../patchMeanVelocityForce/patchMeanVelocityForce.H             | 2 +-
 src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSource.H | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSource.H b/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSource.H
index 0411e6e81a..66a673ed3e 100644
--- a/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSource.H
+++ b/src/fvOptions/sources/derived/actuationDiskSource/actuationDiskSource.H
@@ -49,7 +49,7 @@ Usage
     \verbatim
     actuationDiskSourceCoeffs
     {
-        fieldNames      (U);        // names of fields to apply source
+        fields          (U);        // names of fields to apply source
         diskDir         (-1 0 0);   // disk direction
         Cp              0.1;        // power coefficient
         Ct              0.5;        // thrust coefficient
diff --git a/src/fvOptions/sources/derived/buoyancyEnergy/buoyancyEnergy.H b/src/fvOptions/sources/derived/buoyancyEnergy/buoyancyEnergy.H
index e120834482..6f6a79584c 100644
--- a/src/fvOptions/sources/derived/buoyancyEnergy/buoyancyEnergy.H
+++ b/src/fvOptions/sources/derived/buoyancyEnergy/buoyancyEnergy.H
@@ -33,7 +33,7 @@ Usage
     \verbatim
     buoyancyEnergyCoeffs
     {
-        fieldNames      (h);                    // Name of energy field
+        fields          (h);                    // Name of energy field
     }
     \endverbatim
 
diff --git a/src/fvOptions/sources/derived/buoyancyForce/buoyancyForce.H b/src/fvOptions/sources/derived/buoyancyForce/buoyancyForce.H
index 691938f2d7..c6203e0557 100644
--- a/src/fvOptions/sources/derived/buoyancyForce/buoyancyForce.H
+++ b/src/fvOptions/sources/derived/buoyancyForce/buoyancyForce.H
@@ -33,7 +33,7 @@ Usage
     \verbatim
     buoyancyForceCoeffs
     {
-        fieldNames      (U);                    // Name of velocity field
+        fields          (U);                    // Name of velocity field
     }
     \endverbatim
 
diff --git a/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.H b/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.H
index c05b8d43e6..fc12440bce 100644
--- a/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.H
+++ b/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.H
@@ -36,7 +36,7 @@ Usage
     meanVelocityForceCoeffs
     {
         selectionMode   all;                    // Apply force to all cells
-        fieldNames      (U);                    // Name of velocity field
+        fields          (U);                    // Name of velocity field
         Ubar            (10.0 0 0);             // Desired mean velocity
         relaxation      0.2;                    // Optional relaxation factor
     }
diff --git a/src/fvOptions/sources/derived/meanVelocityForce/patchMeanVelocityForce/patchMeanVelocityForce.H b/src/fvOptions/sources/derived/meanVelocityForce/patchMeanVelocityForce/patchMeanVelocityForce.H
index 8cac6a950d..7413cd497e 100644
--- a/src/fvOptions/sources/derived/meanVelocityForce/patchMeanVelocityForce/patchMeanVelocityForce.H
+++ b/src/fvOptions/sources/derived/meanVelocityForce/patchMeanVelocityForce/patchMeanVelocityForce.H
@@ -36,7 +36,7 @@ Usage
     patchMeanVelocityForceCoeffs
     {
         selectionMode   all;                    // Apply force to all cells
-        fieldNames      (U);                    // Name of velocity field
+        fields          (U);                    // Name of velocity field
         patch           inlet;                  // Name of the patch
         Ubar            (10.0 0 0);             // Desired mean velocity
         relaxation      0.2;                    // Optional relaxation factor
diff --git a/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSource.H b/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSource.H
index 1135d5c611..d928e2f2ca 100644
--- a/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSource.H
+++ b/src/fvOptions/sources/derived/rotorDiskSource/rotorDiskSource.H
@@ -35,7 +35,7 @@ Usage
     \verbatim
     rotorDiskSourceCoeffs
     {
-        fieldNames      (U);    // names of fields on which to apply source
+        fields          (U);    // names of fields on which to apply source
         nBlades         3;      // number of blades
         tipEffect       0.96;   // normalised radius above which lift = 0
 
-- 
GitLab


From ca63e2adf98793e9b58ed84182673f57ea254938 Mon Sep 17 00:00:00 2001
From: Andrew Heather <andy@shelob.opencfd.co.uk>
Date: Thu, 29 Sep 2016 11:40:30 +0100
Subject: [PATCH 66/96] ENH: Updated kOmegaSST family of models

---
 .../Base/kOmegaSST/kOmegaSSTBase.C            |  62 ++++++----
 .../Base/kOmegaSST/kOmegaSSTBase.H            |  53 +++++---
 .../DES/kOmegaSSTDDES/kOmegaSSTDDES.H         |   2 +-
 .../DES/kOmegaSSTDES/kOmegaSSTDES.C           | 114 ++++--------------
 .../DES/kOmegaSSTDES/kOmegaSSTDES.H           |  22 +++-
 .../DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H       |   4 +-
 .../RAS/kOmegaSSTLM/kOmegaSSTLM.C             |   6 +-
 .../RAS/kOmegaSSTLM/kOmegaSSTLM.H             |   4 +-
 8 files changed, 124 insertions(+), 143 deletions(-)

diff --git a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C
index d750b52e1a..c15bbcf0cb 100644
--- a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C
+++ b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C
@@ -142,14 +142,31 @@ template<class BasicEddyViscosityModel>
 tmp<volScalarField::Internal>
 kOmegaSSTBase<BasicEddyViscosityModel>::epsilonByk
 (
-    const volScalarField::Internal& F1,
-    const volScalarField::Internal& F2
+    const volScalarField& F1,
+    const volTensorField& gradU
 ) const
 {
     return betaStar_*omega_();
 }
 
 
+template<class BasicEddyViscosityModel>
+tmp<volScalarField::Internal> kOmegaSSTBase<BasicEddyViscosityModel>::GbyNu
+(
+    const volScalarField::Internal& GbyNu0,
+    const volScalarField::Internal& F2,
+    const volScalarField::Internal& S2
+) const
+{
+    return min
+    (
+        GbyNu0,
+        (c1_/a1_)*betaStar_*omega_()
+       *max(a1_*omega_(), b1_*F2*sqrt(S2))
+    );
+}
+
+
 template<class BasicEddyViscosityModel>
 tmp<fvScalarMatrix> kOmegaSSTBase<BasicEddyViscosityModel>::kSource() const
 {
@@ -181,9 +198,9 @@ tmp<fvScalarMatrix> kOmegaSSTBase<BasicEddyViscosityModel>::omegaSource() const
 template<class BasicEddyViscosityModel>
 tmp<fvScalarMatrix> kOmegaSSTBase<BasicEddyViscosityModel>::Qsas
 (
-    const volScalarField& S2,
-    const volScalarField& gamma,
-    const volScalarField& beta
+    const volScalarField::Internal& S2,
+    const volScalarField::Internal& gamma,
+    const volScalarField::Internal& beta
 ) const
 {
     return tmp<fvScalarMatrix>
@@ -422,13 +439,12 @@ void kOmegaSSTBase<BasicEddyViscosityModel>::correct()
 
     BasicEddyViscosityModel::correct();
 
-    volScalarField divU(fvc::div(fvc::absolute(this->phi(), U)));
+    volScalarField::Internal divU(fvc::div(fvc::absolute(this->phi(), U)));
 
     tmp<volTensorField> tgradU = fvc::grad(U);
     volScalarField S2(2*magSqr(symm(tgradU())));
-    volScalarField GbyNu((tgradU() && dev(twoSymm(tgradU()))));
-    volScalarField G(this->GName(), nut*GbyNu);
-    tgradU.clear();
+    volScalarField::Internal GbyNu0((tgradU() && dev(twoSymm(tgradU()))));
+    volScalarField::Internal G(this->GName(), nut*GbyNu0);
 
     // Update omega and G at the wall
     omega_.boundaryFieldRef().updateCoeffs();
@@ -439,10 +455,11 @@ void kOmegaSSTBase<BasicEddyViscosityModel>::correct()
     );
 
     volScalarField F1(this->F1(CDkOmega));
+    volScalarField F23(this->F23());
 
     {
-        volScalarField gamma(this->gamma(F1));
-        volScalarField beta(this->beta(F1));
+        volScalarField::Internal gamma(this->gamma(F1));
+        volScalarField::Internal beta(this->beta(F1));
 
         // Turbulent frequency equation
         tmp<fvScalarMatrix> omegaEqn
@@ -451,20 +468,15 @@ void kOmegaSSTBase<BasicEddyViscosityModel>::correct()
           + fvm::div(alphaRhoPhi, omega_)
           - fvm::laplacian(alpha*rho*DomegaEff(F1), omega_)
          ==
-            alpha*rho*gamma
-           *min
-            (
-                GbyNu,
-                (c1_/a1_)*betaStar_*omega_*max(a1_*omega_, b1_*F23()*sqrt(S2))
-            )
-          - fvm::SuSp((2.0/3.0)*alpha*rho*gamma*divU, omega_)
-          - fvm::Sp(alpha*rho*beta*omega_, omega_)
+            alpha*rho*gamma*GbyNu(GbyNu0, F23(), S2())
+          - fvm::SuSp((2.0/3.0)*alpha()*rho()*gamma*divU, omega_)
+          - fvm::Sp(alpha()*rho()*beta*omega_(), omega_)
           - fvm::SuSp
             (
-                alpha*rho*(F1 - scalar(1))*CDkOmega/omega_,
+                alpha()*rho()*(F1() - scalar(1))*CDkOmega()/omega_(),
                 omega_
             )
-          + Qsas(S2, gamma, beta)
+          + Qsas(S2(), gamma, beta)
           + omegaSource()
           + fvOptions(alpha, rho, omega_)
         );
@@ -484,13 +496,15 @@ void kOmegaSSTBase<BasicEddyViscosityModel>::correct()
       + fvm::div(alphaRhoPhi, k_)
       - fvm::laplacian(alpha*rho*DkEff(F1), k_)
      ==
-        min(alpha*rho*G, (c1_*betaStar_)*alpha*rho*k_*omega_)
-      - fvm::SuSp((2.0/3.0)*alpha*rho*divU, k_)
-      - fvm::Sp(alpha*rho*betaStar_*omega_, k_)
+        alpha()*rho()*Pk(G)
+      - fvm::SuSp((2.0/3.0)*alpha()*rho()*divU, k_)
+      - fvm::Sp(alpha()*rho()*epsilonByk(F1, tgradU()), k_)
       + kSource()
       + fvOptions(alpha, rho, k_)
     );
 
+    tgradU.clear();
+
     kEqn.ref().relax();
     fvOptions.constrain(kEqn.ref());
     solve(kEqn);
diff --git a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H
index 8cf07622c8..6a38be2dc0 100644
--- a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H
+++ b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H
@@ -100,9 +100,6 @@ SourceFiles
 #ifndef kOmegaSSTBase_H
 #define kOmegaSSTBase_H
 
-#include "RASModel.H"
-#include "eddyViscosity.H"
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
@@ -121,7 +118,7 @@ class kOmegaSSTBase
 
         // Disallow default bitwise copy construct and assignment
         kOmegaSSTBase(const kOmegaSSTBase&);
-        kOmegaSSTBase& operator=(const kOmegaSSTBase&);
+        void operator=(const kOmegaSSTBase&);
 
 
 protected:
@@ -164,10 +161,10 @@ protected:
 
     // Protected Member Functions
 
-        tmp<volScalarField> F1(const volScalarField& CDkOmega) const;
-        tmp<volScalarField> F2() const;
-        tmp<volScalarField> F3() const;
-        tmp<volScalarField> F23() const;
+        virtual tmp<volScalarField> F1(const volScalarField& CDkOmega) const;
+        virtual tmp<volScalarField> F2() const;
+        virtual tmp<volScalarField> F3() const;
+        virtual tmp<volScalarField> F23() const;
 
         tmp<volScalarField> blend
         (
@@ -179,6 +176,16 @@ protected:
             return F1*(psi1 - psi2) + psi2;
         }
 
+        tmp<volScalarField::Internal> blend
+        (
+            const volScalarField::Internal& F1,
+            const dimensionedScalar& psi1,
+            const dimensionedScalar& psi2
+        ) const
+        {
+            return F1*(psi1 - psi2) + psi2;
+        }
+
         tmp<volScalarField> alphaK(const volScalarField& F1) const
         {
             return blend(F1, alphaK1_, alphaK2_);
@@ -189,12 +196,18 @@ protected:
             return blend(F1, alphaOmega1_, alphaOmega2_);
         }
 
-        tmp<volScalarField> beta(const volScalarField& F1) const
+        tmp<volScalarField::Internal> beta
+        (
+            const volScalarField::Internal& F1
+        ) const
         {
             return blend(F1, beta1_, beta2_);
         }
 
-        tmp<volScalarField> gamma(const volScalarField& F1) const
+        tmp<volScalarField::Internal> gamma
+        (
+            const volScalarField::Internal& F1
+        ) const
         {
             return blend(F1, gamma1_, gamma2_);
         }
@@ -212,8 +225,16 @@ protected:
         //- Return epsilon/k which for standard RAS is betaStar*omega
         virtual tmp<volScalarField::Internal> epsilonByk
         (
-            const volScalarField::Internal& F1,
-            const volScalarField::Internal& F2
+            const volScalarField& F1,
+            const volTensorField& gradU
+        ) const;
+
+        //- Return G/nu
+        virtual tmp<volScalarField::Internal> GbyNu
+        (
+            const volScalarField::Internal& GbyNu0,
+            const volScalarField::Internal& F2,
+            const volScalarField::Internal& S2
         ) const;
 
         virtual tmp<fvScalarMatrix> kSource() const;
@@ -222,9 +243,9 @@ protected:
 
         virtual tmp<fvScalarMatrix> Qsas
         (
-            const volScalarField& S2,
-            const volScalarField& gamma,
-            const volScalarField& beta
+            const volScalarField::Internal& S2,
+            const volScalarField::Internal& gamma,
+            const volScalarField::Internal& beta
         ) const;
 
 
@@ -326,7 +347,7 @@ public:
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #ifdef NoRepository
-#   include "kOmegaSSTBase.C"
+    #include "kOmegaSSTBase.C"
 #endif
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H
index cae207217a..80ee1b9311 100644
--- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H
+++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H
@@ -72,7 +72,7 @@ class kOmegaSSTDDES
 
         // Disallow default bitwise copy construct and assignment
         kOmegaSSTDDES(const kOmegaSSTDDES&);
-        kOmegaSSTDDES& operator=(const kOmegaSSTDDES&);
+        void operator=(const kOmegaSSTDDES&);
 
 
 protected:
diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C
index a6e1b26b49..f0b35c3f0c 100644
--- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C
+++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C
@@ -66,6 +66,30 @@ tmp<volScalarField> kOmegaSSTDES<BasicTurbulenceModel>::dTilda
 }
 
 
+template<class BasicTurbulenceModel>
+tmp<volScalarField::Internal> kOmegaSSTDES<BasicTurbulenceModel>::epsilonByk
+(
+    const volScalarField& F1,
+    const volTensorField& gradU
+) const
+{
+    volScalarField CDES(this->CDES(F1));
+    return sqrt(this->k_())/dTilda(mag(gradU), CDES)()();
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<volScalarField::Internal> kOmegaSSTDES<BasicTurbulenceModel>::GbyNu
+(
+    const volScalarField::Internal& GbyNu0,
+    const volScalarField::Internal& F2,
+    const volScalarField::Internal& S2
+) const
+{
+    return GbyNu0; // Unlimited
+}
+
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 template<class BasicTurbulenceModel>
@@ -150,96 +174,6 @@ bool kOmegaSSTDES<BasicTurbulenceModel>::read()
 }
 
 
-template<class BasicTurbulenceModel>
-void kOmegaSSTDES<BasicTurbulenceModel>::correct()
-{
-    if (!this->turbulence_)
-    {
-        return;
-    }
-
-    // Local references
-    const alphaField& alpha = this->alpha_;
-    const rhoField& rho = this->rho_;
-    const surfaceScalarField& alphaRhoPhi = this->alphaRhoPhi_;
-    const volVectorField& U = this->U_;
-    volScalarField& k = this->k_;
-    volScalarField& omega = this->omega_;
-    volScalarField& nut = this->nut_;
-
-    DESModel<BasicTurbulenceModel>::correct();
-
-    volScalarField divU(fvc::div(fvc::absolute(this->phi(), U)));
-
-    tmp<volTensorField> tgradU = fvc::grad(U);
-    volScalarField magGradU(mag(tgradU()));
-    volScalarField S2(2*magSqr(symm(tgradU())));
-    volScalarField GbyNu((tgradU() && dev(twoSymm(tgradU()))));
-    volScalarField G(this->GName(), nut*GbyNu);
-    tgradU.clear();
-
-    // Update omega and G at the wall
-    omega.boundaryFieldRef().updateCoeffs();
-
-    volScalarField CDkOmega
-    (
-        (2*this->alphaOmega2_)*(fvc::grad(k) & fvc::grad(omega))/omega
-    );
-
-    volScalarField F1(this->F1(CDkOmega));
-
-    {
-        volScalarField gamma(this->gamma(F1));
-        volScalarField beta(this->beta(F1));
-
-        // Turbulent frequency equation
-        tmp<fvScalarMatrix> omegaEqn
-        (
-            fvm::ddt(alpha, rho, omega)
-          + fvm::div(alphaRhoPhi, omega)
-          - fvm::laplacian(alpha*rho*this->DomegaEff(F1), omega)
-         ==
-            alpha*rho*gamma*GbyNu // Using unlimited GybNu
-          - fvm::SuSp((2.0/3.0)*alpha*rho*gamma*divU, omega)
-          - fvm::Sp(alpha*rho*beta*omega, omega)
-          - fvm::SuSp(alpha*rho*(F1 - scalar(1))*CDkOmega/omega, omega)
-          + this->omegaSource()
-        );
-
-        omegaEqn.ref().relax();
-
-        omegaEqn.ref().boundaryManipulate(omega.boundaryFieldRef());
-
-        solve(omegaEqn);
-        bound(omega, this->omegaMin_);
-    }
-
-    {
-        volScalarField CDES(this->CDES(F1));
-        volScalarField dTilda(this->dTilda(magGradU, CDES));
-
-        // Turbulent kinetic energy equation
-        tmp<fvScalarMatrix> kEqn
-        (
-            fvm::ddt(alpha, rho, k)
-          + fvm::div(alphaRhoPhi, k)
-          - fvm::laplacian(alpha*rho*this->DkEff(F1), k)
-         ==
-            min(alpha*rho*G, (this->c1_*this->betaStar_)*alpha*rho*k*omega)
-          - fvm::SuSp((2.0/3.0)*alpha*rho*divU, k)
-          - fvm::Sp(alpha*rho*sqrt(k)/dTilda, k)  // modified for DES
-          + this->kSource()
-        );
-
-        kEqn.ref().relax();
-        solve(kEqn);
-        bound(k, this->kMin_);
-    }
-
-    this->correctNut(S2);
-}
-
-
 template<class BasicTurbulenceModel>
 tmp<volScalarField> kOmegaSSTDES<BasicTurbulenceModel>::LESRegion() const
 {
diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H
index f9f95a11df..0f3cda9a9f 100644
--- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H
+++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H
@@ -74,7 +74,7 @@ class kOmegaSSTDES
 
         // Disallow default bitwise copy construct and assignment
         kOmegaSSTDES(const kOmegaSSTDES&);
-        kOmegaSSTDES& operator=(const kOmegaSSTDES&);
+        void operator=(const kOmegaSSTDES&);
 
 
 protected:
@@ -106,6 +106,21 @@ protected:
             const volScalarField& CDES
         ) const;
 
+        //- Return epsilon/k
+        virtual tmp<volScalarField::Internal> epsilonByk
+        (
+            const volScalarField& F1,
+            const volTensorField& gradU
+        ) const;
+
+        //- Return G/nu
+        virtual tmp<volScalarField::Internal> GbyNu
+        (
+            const volScalarField::Internal& GbyNu0,
+            const volScalarField::Internal& F2,
+            const volScalarField::Internal& S2
+        ) const;
+
 
 public:
 
@@ -144,9 +159,6 @@ public:
         //- Re-read model coefficients if they have changed
         virtual bool read();
 
-        //- Solve the turbulence equations and correct the turbulence viscosity
-        virtual void correct();
-
         //- Return the LES field indicator
         virtual tmp<volScalarField> LESRegion() const;
 };
@@ -159,7 +171,7 @@ public:
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 #ifdef NoRepository
-#   include "kOmegaSSTDES.C"
+    #include "kOmegaSSTDES.C"
 #endif
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H
index 898776c835..e3ae10a2a3 100644
--- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H
+++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTIDDES/kOmegaSSTIDDES.H
@@ -85,7 +85,7 @@ class kOmegaSSTIDDES
 
         // Disallow default bitwise copy construct and assignment
         kOmegaSSTIDDES(const kOmegaSSTIDDES&);
-        kOmegaSSTIDDES& operator=(const kOmegaSSTIDDES&);
+        void operator=(const kOmegaSSTIDDES&);
 
 
 protected:
@@ -160,7 +160,7 @@ public:
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #ifdef NoRepository
-#   include "kOmegaSSTIDDES.C"
+    #include "kOmegaSSTIDDES.C"
 #endif
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSSTLM/kOmegaSSTLM.C b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSSTLM/kOmegaSSTLM.C
index 3bcdf7f648..5d14d97bf9 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSSTLM/kOmegaSSTLM.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSSTLM/kOmegaSSTLM.C
@@ -60,13 +60,13 @@ tmp<volScalarField::Internal> kOmegaSSTLM<BasicTurbulenceModel>::Pk
 template<class BasicTurbulenceModel>
 tmp<volScalarField::Internal> kOmegaSSTLM<BasicTurbulenceModel>::epsilonByk
 (
-    const volScalarField::Internal& F1,
-    const volScalarField::Internal& F2
+    const volScalarField& F1,
+    const volTensorField& gradU
 ) const
 {
     return
         min(max(gammaIntEff_, scalar(0.1)), scalar(1))
-       *kOmegaSST<BasicTurbulenceModel>::epsilonByk(F1, F2);
+       *kOmegaSST<BasicTurbulenceModel>::epsilonByk(F1, gradU);
 }
 
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSSTLM/kOmegaSSTLM.H b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSSTLM/kOmegaSSTLM.H
index 3d5acaef06..88626ff1ed 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSSTLM/kOmegaSSTLM.H
+++ b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSSTLM/kOmegaSSTLM.H
@@ -164,8 +164,8 @@ protected:
         //- Modified form of the k-omega SST epsilon/k
         virtual tmp<volScalarField::Internal> epsilonByk
         (
-            const volScalarField::Internal& F1,
-            const volScalarField::Internal& F2
+            const volScalarField& F1,
+            const volTensorField& gradU
         ) const;
 
         //- Freestream blending-function
-- 
GitLab


From 3bc9878427183dbb2712c3d548e6457570d1d86d Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Thu, 29 Sep 2016 12:00:00 +0200
Subject: [PATCH 67/96] STYLE: bump to v1609+ for foundation merge version

---
 wmake/rules/General/general | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/wmake/rules/General/general b/wmake/rules/General/general
index 4fb68a01d7..f7e42cbef3 100644
--- a/wmake/rules/General/general
+++ b/wmake/rules/General/general
@@ -1,5 +1,5 @@
 #-------------------------------*- makefile -*---------------------------------
-WM_VERSION = OPENFOAM_PLUS=1606
+WM_VERSION = OPENFOAM_PLUS=1609
 
 AR         = ar
 ARFLAGS    = cr
-- 
GitLab


From f43bef122b53309f746cbd2d10aee694315c1fe9 Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Thu, 29 Sep 2016 14:10:49 +0200
Subject: [PATCH 68/96] STYLE: use POSIX 'unset -f' for functions (affects
 dash)

---
 etc/config.sh/aliases | 6 +++---
 etc/config.sh/unset   | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/etc/config.sh/aliases b/etc/config.sh/aliases
index 2e0f67146b..3fc8eb96db 100644
--- a/etc/config.sh/aliases
+++ b/etc/config.sh/aliases
@@ -70,7 +70,7 @@ alias run='cd $FOAM_RUN'
 # Refresh the environment
 # ~~~~~~~~~~~~~~~~~~~~~~~
 # For backward-compatibility unalias wmRefresh if it is defined as an alias
-[ "$(type -t wmRefresh)" = "alias" ] && unalias wmRefresh || unset wmRefresh
+[ "$(type -t wmRefresh)" = "alias" ] && unalias wmRefresh || unset -f wmRefresh
 wmRefresh()
 {
     wmProjectDir=$WM_PROJECT_DIR
@@ -82,7 +82,7 @@ wmRefresh()
 
 # Change OpenFOAM version
 # ~~~~~~~~~~~~~~~~~~~~~~~
-unset foamVersion
+unset -f foamVersion
 foamVersion()
 {
     if [ "$1" ]; then
@@ -99,7 +99,7 @@ foamVersion()
 
 # Change ParaView version
 # ~~~~~~~~~~~~~~~~~~~~~~~
-unset foamPV
+unset -f foamPV
 foamPV()
 {
     . $WM_PROJECT_DIR/etc/config.sh/paraview ParaView_VERSION=${1:-none}
diff --git a/etc/config.sh/unset b/etc/config.sh/unset
index 7bce3ddf0d..a0e6be5bc5 100644
--- a/etc/config.sh/unset
+++ b/etc/config.sh/unset
@@ -183,9 +183,9 @@ unalias util
 unalias tut
 unalias run
 
-unset wmRefresh
-unset foamVersion
-unset foamPV
+unset -f wmRefresh
+unset -f foamVersion
+unset -f foamPV
 
 
 #------------------------------------------------------------------------------
-- 
GitLab


From 5c873516a2e3e65f230f20f1be8258be3cf31d43 Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Tue, 12 Jul 2016 17:19:06 +0200
Subject: [PATCH 69/96] STYLE: cleanup compiler settings (issue #176)

- export/setenv WM_COMPILER_TYPE as suggested by Mattijs.

- for overall consistency, don't carp about an unset WM_COMPILER_TYPE,
  since this would only be on the first instance (prior to the
  export/setenv) and would be confusing about why/when this message
  may occur.

- reduce clutter: only use (system|ThirdParty) for WM_COMPILER_TYPE.
  Drop the old 'OpenFOAM' setting for WM_COMPILER_TYPE, which was
  transitional in early 2011.

- make the error messages more meaningful
---
 etc/bashrc              |  2 +-
 etc/config.csh/compiler |  1 -
 etc/config.csh/settings | 46 ++++++++++++++++++++------------------
 etc/config.sh/compiler  |  2 +-
 etc/config.sh/settings  | 49 +++++++++++++++++++----------------------
 etc/cshrc               |  2 +-
 6 files changed, 50 insertions(+), 52 deletions(-)

diff --git a/etc/bashrc b/etc/bashrc
index 81bf28feaf..84e38d9e7e 100644
--- a/etc/bashrc
+++ b/etc/bashrc
@@ -57,7 +57,7 @@ export FOAM_INST_DIR=$HOME/$WM_PROJECT
 # $FOAM_INST_DIR/site/$WM_PROJECT_VERSION or $FOAM_INST_DIR/site
 
 #- Compiler location:
-#    WM_COMPILER_TYPE= system | ThirdParty (OpenFOAM)
+#    WM_COMPILER_TYPE= system | ThirdParty
 export WM_COMPILER_TYPE=system
 
 #- Compiler:
diff --git a/etc/config.csh/compiler b/etc/config.csh/compiler
index 3e28c20b71..7d8f757b23 100644
--- a/etc/config.csh/compiler
+++ b/etc/config.csh/compiler
@@ -31,7 +31,6 @@
 #------------------------------------------------------------------------------
 
 switch ("$WM_COMPILER_TYPE")
-case OpenFOAM:
 case ThirdParty:
     # Default versions of GMP, MPFR and MPC, override as necessary
     set gmp_version=gmp-system
diff --git a/etc/config.csh/settings b/etc/config.csh/settings
index 1cee3fcd91..659b4c5ae2 100644
--- a/etc/config.csh/settings
+++ b/etc/config.csh/settings
@@ -204,14 +204,9 @@ _foamAddLib  ${FOAM_USER_LIBBIN}:${FOAM_SITE_LIBBIN}:${FOAM_LIBBIN}:${FOAM_EXT_L
 unset gcc_version gmp_version mpfr_version mpc_version
 unsetenv GMP_ARCH_PATH MPFR_ARCH_PATH
 
-
-# Location of compiler installation
-# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-if ( ! $?WM_COMPILER_TYPE ) then
-    setenv WM_COMPILER_TYPE system
-    echo "Warning in $WM_PROJECT_DIR/etc/config.csh/settings:"
-    echo "    WM_COMPILER_TYPE not set, using '$WM_COMPILER_TYPE'"
-endif
+# Compiler installation - default to system
+# ~~~~~~~~~~~~~~~~~~~~~
+if ( ! $?WM_COMPILER_TYPE ) setenv WM_COMPILER_TYPE system
 
 # Load configured compiler versions, regardless of the compiler type
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -235,13 +230,16 @@ case ThirdParty:
 
         # Check that the compiler directory can be found
         if ( ! -d "$gccDir" ) then
-            echo
-            echo "Warning in $WM_PROJECT_DIR/etc/config.csh/settings:"
-            echo "    Cannot find $gccDir installation."
-            echo "    Please install this compiler version or if you wish to" \
-                 " use the system compiler,"
-            echo "    change the 'WM_COMPILER_TYPE' setting to 'system'"
-            echo
+            cat << GCC_NOT_FOUND
+===============================================================================
+Warning in $WM_PROJECT_DIR/etc/config.csh/settings:
+Cannot find '$WM_COMPILER' compiler installation
+    $gccDir
+
+    Either install this compiler version, or use the system compiler by setting
+    WM_COMPILER_TYPE to 'system' in \$WM_PROJECT_DIR/etc/cshrc.
+===============================================================================
+GCC_NOT_FOUND
         endif
 
         _foamAddMan     $gccDir/man
@@ -268,18 +266,22 @@ case ThirdParty:
             echo "    ${gccDir:t} (${gmpDir:t} ${mpfrDir:t} ${mpcDir:t})"
         endif
     endif
+
     if ( $?clang_version ) then
         set clangDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$clang_version
 
         # Check that the compiler directory can be found
         if ( ! -d "$clangDir" ) then
-            echo
-            echo "Warning in $WM_PROJECT_DIR/etc/config.csh/settings:"
-            echo "    Cannot find $clangDir installation."
-            echo "    Please install this compiler version or if you wish to" \
-                 " use the system compiler,"
-            echo "    change the 'WM_COMPILER_TYPE' setting to 'system'"
-            echo
+            cat << CLANG_NOT_FOUND
+===============================================================================
+Warning in $WM_PROJECT_DIR/etc/config.csh/settings:
+Cannot find '$WM_COMPILER' compiler installation
+    $clangDir
+
+    Either install this compiler version, or use the system compiler by setting
+    WM_COMPILER_TYPE to 'system' in \$WM_PROJECT_DIR/etc/cshrc.
+===============================================================================
+CLANG_NOT_FOUND
         endif
 
         _foamAddMan     $clangDir/man
diff --git a/etc/config.sh/compiler b/etc/config.sh/compiler
index 5cfc75e56c..0f27fab8a6 100644
--- a/etc/config.sh/compiler
+++ b/etc/config.sh/compiler
@@ -31,7 +31,7 @@
 #------------------------------------------------------------------------------
 
 case "$WM_COMPILER_TYPE" in
-OpenFOAM | ThirdParty)
+ThirdParty)
     # Default versions of GMP, MPFR and MPC, override as necessary
     gmp_version=gmp-system
     mpfr_version=mpfr-system
diff --git a/etc/config.sh/settings b/etc/config.sh/settings
index e67bf5126f..4e457c15c0 100644
--- a/etc/config.sh/settings
+++ b/etc/config.sh/settings
@@ -206,14 +206,9 @@ _foamAddLib  $FOAM_USER_LIBBIN:$FOAM_SITE_LIBBIN:$FOAM_LIBBIN:$FOAM_EXT_LIBBIN:$
 unset gcc_version gmp_version mpfr_version mpc_version
 unset GMP_ARCH_PATH MPFR_ARCH_PATH
 
-# Location of compiler installation
-# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-if [ -z "$WM_COMPILER_TYPE" ]
-then
-    WM_COMPILER_TYPE=system
-    echo "Warning in $WM_PROJECT_DIR/etc/config.sh/settings:" 1>&2
-    echo "    WM_COMPILER_TYPE not set, using '$WM_COMPILER_TYPE'" 1>&2
-fi
+# Compiler installation - default to system
+# ~~~~~~~~~~~~~~~~~~~~~
+: ${WM_COMPILER_TYPE:=system}; export WM_COMPILER_TYPE
 
 # Load configured compiler versions, regardless of the compiler type
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -232,15 +227,16 @@ OpenFOAM | ThirdParty)
         mpcDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/${mpc_version:-mpc-system}
 
         # Check that the compiler directory can be found
-        [ -d "$gccDir" ] || {
-            echo 1>&2
-            echo "Warning in $WM_PROJECT_DIR/etc/config.sh/settings:" 1>&2
-            echo "    Cannot find $gccDir installation." 1>&2
-            echo "    Please install this compiler version or if you wish to" \
-                 " use the system compiler," 1>&2
-            echo "    change the 'WM_COMPILER_TYPE' setting to 'system'" 1>&2
-            echo
-        }
+        [ -d "$gccDir" ] || cat << GCC_NOT_FOUND 1>&2
+===============================================================================
+Warning in $WM_PROJECT_DIR/etc/config.sh/settings:
+Cannot find '$WM_COMPILER' compiler installation
+    $gccDir
+
+    Either install this compiler version, or use the system compiler by setting
+    WM_COMPILER_TYPE to 'system' in \$WM_PROJECT_DIR/etc/bashrc.
+===============================================================================
+GCC_NOT_FOUND
 
         _foamAddMan     $gccDir/man
         _foamAddPath    $gccDir/bin
@@ -276,15 +272,16 @@ OpenFOAM | ThirdParty)
         clangDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$clang_version
 
         # Check that the compiler directory can be found
-        [ -d "$clangDir" ] || {
-            echo 1>&2
-            echo "Warning in $WM_PROJECT_DIR/etc/config.sh/settings:" 1>&2
-            echo "    Cannot find $clangDir installation." 1>&2
-            echo "    Please install this compiler version or if you wish to" \
-                 " use the system compiler," 1>&2
-            echo "    change the 'WM_COMPILER_TYPE' setting to 'system'" 1>&2
-            echo 1>&2
-        }
+        [ -d "$clangDir" ] || cat << CLANG_NOT_FOUND 1>&2
+===============================================================================
+Warning in $WM_PROJECT_DIR/etc/config.sh/settings:
+Cannot find '$WM_COMPILER' compiler installation
+    $clangDir
+
+    Either install this compiler version, or use the system compiler by setting
+    WM_COMPILER_TYPE to 'system' in \$WM_PROJECT_DIR/etc/bashrc.
+===============================================================================
+CLANG_NOT_FOUND
 
         _foamAddMan     $clangDir/share/man
         _foamAddPath    $clangDir/bin
diff --git a/etc/cshrc b/etc/cshrc
index 984db6bfef..8f509b2839 100644
--- a/etc/cshrc
+++ b/etc/cshrc
@@ -57,7 +57,7 @@ echo $FOAM_INST_DIR
 # $FOAM_INST_DIR/site/$WM_PROJECT_VERSION or $FOAM_INST_DIR/site
 
 #- Compiler location:
-#    WM_COMPILER_TYPE = system | ThirdParty (OpenFOAM)
+#    WM_COMPILER_TYPE = system | ThirdParty
 setenv WM_COMPILER_TYPE system
 
 #- Compiler:
-- 
GitLab


From 483ed905ac202708b3492456aee14d73ff35ceda Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Wed, 13 Jul 2016 09:57:58 +0200
Subject: [PATCH 70/96] STYLE: clean out clutter in paraview config files
 (issue #176)

Now reduced to 3 environment variables:
    ParaView_DIR         - paraview installation directory
    ParaView_INCLUDE_DIR - paraview include directory
    PV_PLUGIN_PATH       - paraview plugin directory for OpenFOAM modules

Previously also had (ParaView_MAJOR, ParaView_VERSION).

ThirdParty makeParaView adjusted accordingly.

ENH: improved configuration possibility for non-ThirdParty paraview
installation.

BUG: csh foamPV alias was completely incorrect.
---
 etc/config.csh/aliases  |   2 +-
 etc/config.csh/paraview | 158 ++++++++++++++++++++------------------
 etc/config.sh/aliases   |   5 +-
 etc/config.sh/paraview  | 164 +++++++++++++++++++++-------------------
 4 files changed, 176 insertions(+), 153 deletions(-)

diff --git a/etc/config.csh/aliases b/etc/config.csh/aliases
index 33bb0e4a98..f04b6e8114 100644
--- a/etc/config.csh/aliases
+++ b/etc/config.csh/aliases
@@ -82,7 +82,7 @@ alias foamVersion \
 # Change ParaView version
 # ~~~~~~~~~~~~~~~~~~~~~~~
 alias foamPV \
-    'source $WM_PROJECT_DIR/etc/config.csh/paraview ParaView_VERSION=\!*; echo paraview-$ParaView_VERSION'
+    'source $WM_PROJECT_DIR/etc/config.csh/paraview ParaView_VERSION=\!*; echo ${ParaView_DIR:t}'
 
 
 #------------------------------------------------------------------------------
diff --git a/etc/config.csh/paraview b/etc/config.csh/paraview
index 16fa58d48a..ba718b0c0c 100644
--- a/etc/config.csh/paraview
+++ b/etc/config.csh/paraview
@@ -3,7 +3,7 @@
 # \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
 #  \\    /   O peration     |
 #   \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-#    \\/     M anipulation  |
+#    \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 #------------------------------------------------------------------------------
 # License
 #     This file is part of OpenFOAM.
@@ -25,40 +25,50 @@
 #     config.csh/paraview
 #
 # Description
-#     Setup file for paraview-[3-5].x
+#     Setup file for paraview (and cmake)
 #     Sourced from OpenFOAM-<VERSION>/etc/cshrc or from foamPV alias
 #
+#     If using system-wide installation for cmake, use the following settings:
+#
+#         cmake_version=cmake-system
+#
 # Note
-#     The env. variables 'ParaView_DIR' and 'ParaView_MAJOR'
-#     are required for building plugins
+#     The following env. variables are required for building plugins:
+#         ParaView_DIR
+#         ParaView_INCLUDE_DIR
+#         PV_PLUGIN_PATH
+#
+#     If using a central installation not located under ThirdParty, you will
+#     need to set some environment values directly. For example,
+#
+#         setenv ParaView_DIR /opt/paraview/paraview-5.0.1
+#         setenv ParaView_INCLUDE_DIR $ParaView_DIR/include/paraview-5.0
+#         setenv PV_PLUGIN_PATH $FOAM_LIBBIN/paraview-5.0
+#
+#         setenv PATH ${ParaView_DIR}/bin:${PATH}
+#         setenv LD_LIBRARY_PATH ${ParaView_DIR}/lib/paraview-5.0:${LD_LIBRARY_PATH}
+#         unsetenv ParaView_VERSION     # avoid using ThirdParty settings
 #
 #------------------------------------------------------------------------------
 
+setenv ParaView_VERSION 5.0.1
+setenv ParaView_MAJOR   detect          # Automatically determine major version
+
+set cmake_version=cmake-system
+
+#------------------------------------------------------------------------------
+
 # Clean the PATH
 set cleaned=`$WM_PROJECT_DIR/bin/foamCleanPath "$PATH" "$ParaView_DIR $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/cmake- $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/paraview-"`
 if ( $status == 0 ) setenv PATH $cleaned
 
-# Determine the cmake to be used
+# Environment for ThirdParty cmake
 unsetenv CMAKE_HOME
-foreach cmake ( cmake-3.2.1 cmake-2.8.12.1 cmake-2.8.8 cmake-2.8.4 cmake-2.8.3 cmake-2.8.1 )
-    set cmake=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$cmake
-    if ( -r $cmake ) then
-        setenv CMAKE_HOME $cmake
-        setenv PATH ${CMAKE_HOME}/bin:${PATH}
-        break
-    endif
-end
-
-#- ParaView version, automatically determine major version:
-#setenv ParaView_VERSION 3.12.0
-#setenv ParaView_VERSION 4.0.1
-#setenv ParaView_VERSION 4.1.0
-#setenv ParaView_VERSION 4.3.1
-#setenv ParaView_VERSION 4.4.0
-#setenv ParaView_VERSION 5.0.0
-setenv ParaView_VERSION 5.0.1
-setenv ParaView_MAJOR detect
-
+set cmake=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$cmake_version
+if ( -r $cmake ) then
+    setenv CMAKE_HOME $cmake
+    setenv PATH ${CMAKE_HOME}/bin:${PATH}
+endif
 
 # Evaluate command-line parameters for ParaView
 while ( $#argv > 0 )
@@ -72,62 +82,64 @@ while ( $#argv > 0 )
 end
 
 
-# Set MAJOR version to correspond to VERSION
-# ParaView_MAJOR is "<digits>.<digits>" from ParaView_VERSION
-switch ("$ParaView_VERSION")
-case "$ParaView_MAJOR".*:
-    # Version and major appear to correspond
-    breaksw
-
-case [0-9]*:
-    # Extract major from the version
-    setenv ParaView_MAJOR `echo ${ParaView_VERSION} | \
-        sed -e 's/^\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/'`
-    breaksw
-endsw
-
-
-set paraviewInstDir=$WM_THIRD_PARTY_DIR/ParaView-${ParaView_VERSION}
-set paraviewArchName=ParaView-$ParaView_VERSION
-
-setenv ParaView_DIR $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$paraviewArchName
-
-# Set paths if binaries or source are present
-if ( -r $ParaView_DIR || -r $paraviewInstDir ) then
-    setenv ParaView_INCLUDE_DIR $ParaView_DIR/include/paraview-${ParaView_MAJOR}
-    if (! -r $ParaView_INCLUDE_DIR && -r $ParaView_DIR/include/paraview-3.0) then
-        setenv ParaView_INCLUDE_DIR $ParaView_DIR/include/paraview-3.0
-    endif
-
-    set ParaView_LIB_DIR=${ParaView_DIR}/lib/paraview-${ParaView_MAJOR}
+# Require that ParaView_VERSION has not been unset.
+# Avoids conflict with an alternative (non-ThirdParty) installation.
+if ( $?ParaView_VERSION ) then
 
-    setenv PATH ${ParaView_DIR}/bin:${PATH}
-    setenv LD_LIBRARY_PATH "${ParaView_LIB_DIR}:${LD_LIBRARY_PATH}"
-    setenv PV_PLUGIN_PATH $FOAM_LIBBIN/paraview-${ParaView_MAJOR}
+    # Set MAJOR version to correspond to VERSION
+    # ParaView_MAJOR is "<digits>.<digits>" from ParaView_VERSION
+    switch ("$ParaView_VERSION")
+    case "$ParaView_MAJOR".*:
+        # Version and major appear to correspond
+        breaksw
 
-    if ($?FOAM_VERBOSE && $?prompt) then
-        echo "Using paraview"
-        echo "    ParaView_DIR         : $ParaView_DIR"
-        echo "    ParaView_LIB_DIR     : $ParaView_LIB_DIR"
-        echo "    ParaView_INCLUDE_DIR : $ParaView_INCLUDE_DIR"
-        echo "    PV_PLUGIN_PATH       : $PV_PLUGIN_PATH"
-    endif
+    case [0-9]*:
+        # Extract major from the version
+        setenv ParaView_MAJOR `echo ${ParaView_VERSION} | \
+            sed -e 's/^\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/'`
+        breaksw
+    endsw
 
+    set pvName=ParaView-$ParaView_VERSION
+    set pvMajor=paraview-$ParaView_MAJOR
+    set pvSrcDir=$WM_THIRD_PARTY_DIR/$pvName
+
+    setenv ParaView_DIR $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$pvName
+
+    # Set paths if binaries or source are present
+    if ( -r $ParaView_DIR || -r $pvSrcDir ) then
+        set pvLibDir=${ParaView_DIR}/lib/$pvMajor
+        set pvPython=$ParaView_DIR/Utilities/VTKPythonWrapping
+
+        setenv ParaView_INCLUDE_DIR $ParaView_DIR/include/$pvMajor
+        setenv PV_PLUGIN_PATH $FOAM_LIBBIN/$pvMajor
+        setenv PATH ${ParaView_DIR}/bin:${PATH}
+        setenv LD_LIBRARY_PATH "${pvLibDir}:${LD_LIBRARY_PATH}"
+
+        # Add in python libraries if required
+        if ( -r $pvPython ) then
+            if ($?PYTHONPATH) then
+                setenv PYTHONPATH ${PYTHONPATH}:${pvPython}:$pvLibDir
+            else
+                setenv PYTHONPATH ${pvPython}:$pvLibDir
+            endif
+        endif
 
-    # Add in python libraries if required
-    set paraviewPython=$ParaView_DIR/Utilities/VTKPythonWrapping
-    if ( -r $paraviewPython ) then
-        if ($?PYTHONPATH) then
-            setenv PYTHONPATH ${PYTHONPATH}:${paraviewPython}:$ParaView_LIB_DIR
-        else
-            setenv PYTHONPATH ${paraviewPython}:$ParaView_LIB_DIR
+        if ($?FOAM_VERBOSE && $?prompt) then
+            echo "Using paraview"
+            echo "    ParaView_DIR         : $ParaView_DIR"
+            echo "    ParaView_INCLUDE_DIR : $ParaView_INCLUDE_DIR"
+            echo "    library dir          : $pvLibDir"
+            echo "    PV_PLUGIN_PATH       : $PV_PLUGIN_PATH"
         endif
+    else
+        unsetenv ParaView_INCLUDE_DIR PV_PLUGIN_PATH
+        setenv ParaView_DIR   # Defined but empty (used by foamPV alias)
     endif
-else
-    unsetenv PV_PLUGIN_PATH
-endif
 
+endif
 
-unset cleaned cmake paraviewInstDir paraviewPython
+unset cleaned cmake cmake_version pvName pvMajor pvSrcDir pvLibDir pvPython
+unsetenv ParaView_VERSION ParaView_MAJOR
 
 #------------------------------------------------------------------------------
diff --git a/etc/config.sh/aliases b/etc/config.sh/aliases
index 3fc8eb96db..4fa36c11c9 100644
--- a/etc/config.sh/aliases
+++ b/etc/config.sh/aliases
@@ -102,8 +102,9 @@ foamVersion()
 unset -f foamPV
 foamPV()
 {
-    . $WM_PROJECT_DIR/etc/config.sh/paraview ParaView_VERSION=${1:-none}
-    echo "paraview-$ParaView_VERSION  (major: $ParaView_MAJOR)" 1>&2
+    . $WM_PROJECT_DIR/etc/config.sh/paraview "${@+ParaView_VERSION=$1}"
+    local pvdir="${ParaView_DIR##*/}"
+    echo "${pvdir:-ParaView_DIR not set}" 1>&2
 }
 
 
diff --git a/etc/config.sh/paraview b/etc/config.sh/paraview
index 4d5c89911c..0438aa1323 100644
--- a/etc/config.sh/paraview
+++ b/etc/config.sh/paraview
@@ -3,7 +3,7 @@
 # \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
 #  \\    /   O peration     |
 #   \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-#    \\/     M anipulation  |
+#    \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 #------------------------------------------------------------------------------
 # License
 #     This file is part of OpenFOAM.
@@ -25,12 +25,37 @@
 #     etc/config.sh/paraview
 #
 # Description
-#     Setup file for paraview-[3-5].x
+#     Setup file for paraview (& cmake)
 #     Sourced from OpenFOAM-<VERSION>/etc/bashrc or from foamPV alias
 #
+#     If using system-wide installation for cmake, use the following settings:
+#
+#         cmake_version=cmake-system
+#
 # Note
-#     The env. variables 'ParaView_DIR' and 'ParaView_MAJOR'
-#     are required for building plugins
+#     The following env. variables are required for building plugins:
+#         ParaView_DIR
+#         ParaView_INCLUDE_DIR
+#         PV_PLUGIN_PATH
+#
+#     If using a central installation not located under ThirdParty, you will
+#     need to set some environment values directly. For example,
+#
+#         export ParaView_DIR=/opt/paraview/paraview-5.0.1
+#         export ParaView_INCLUDE_DIR=$ParaView_DIR/include/paraview-5.0
+#         export PV_PLUGIN_PATH=$FOAM_LIBBIN/paraview-5.0
+#
+#         export PATH=$ParaView_DIR/bin:$PATH
+#         export LD_LIBRARY_PATH=$ParaView_DIR/lib/paraview-5.0:$LD_LIBRARY_PATH
+#         unset ParaView_VERSION        # avoid using ThirdParty settings
+#
+#------------------------------------------------------------------------------
+
+ParaView_VERSION=5.0.1
+ParaView_MAJOR=detect                   # Automatically determine major version
+
+cmake_version=cmake-system
+
 #------------------------------------------------------------------------------
 
 # Clean the PATH
@@ -41,32 +66,15 @@ cleaned=$($WM_PROJECT_DIR/bin/foamCleanPath "$PATH" \
         ) \
         && PATH="$cleaned"
 
-# Determine the cmake to be used
+# Environment for ThirdParty cmake
 unset CMAKE_HOME
-for cmake in cmake-3.2.1 cmake-2.8.12.1 cmake-2.8.8 cmake-2.8.4 cmake-2.8.3 \
-             cmake-2.8.1
-do
-    cmake=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$cmake
-    if [ -r $cmake ]
-    then
-        export CMAKE_HOME=$cmake
-        export CMAKE_ROOT=$cmake
-        export PATH=$CMAKE_HOME/bin:$PATH
-        break
-    fi
-done
-
-
-#- ParaView version, automatically determine major version
-#export ParaView_VERSION=3.12.0
-#export ParaView_VERSION=4.0.1
-#export ParaView_VERSION=4.1.0
-#export ParaView_VERSION=4.3.1
-#export ParaView_VERSION=4.4.0
-#export ParaView_VERSION=5.0.0
-export ParaView_VERSION=5.0.1
-export ParaView_MAJOR=detect
-
+cmake=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$cmake_version
+if [ -r $cmake ]
+then
+    export CMAKE_HOME=$cmake
+    export CMAKE_ROOT=$cmake
+    export PATH=$CMAKE_HOME/bin:$PATH
+fi
 
 # Evaluate command-line parameters for ParaView
 _foamParaviewEval()
@@ -86,67 +94,69 @@ _foamParaviewEval()
 # Evaluate command-line parameters
 _foamParaviewEval $@
 
+# Require that ParaView_VERSION has not been unset.
+# Avoids conflict with an alternative (non-ThirdParty) installation.
+if [ -n "$ParaView_VERSION" ]
+then
 
-# Set MAJOR version to correspond to VERSION
-# ParaView_MAJOR is "<digits>.<digits>" from ParaView_VERSION
-case "$ParaView_VERSION" in
-"$ParaView_MAJOR".* )
-    # Version and major appear to correspond
-    ;;
+    # Set MAJOR version to correspond to VERSION
+    # ParaView_MAJOR is "<digits>.<digits>" from ParaView_VERSION
+    case "$ParaView_VERSION" in
+    "$ParaView_MAJOR".* )
+        # Version and major appear to correspond
+        ;;
 
-[0-9]*)
-    # Extract major from the version
-    ParaView_MAJOR=$(echo $ParaView_VERSION | \
-                   sed -e 's/^\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/')
-    ;;
-esac
-export ParaView_VERSION ParaView_MAJOR
+    [0-9]*)
+        # Extract major from the version
+        ParaView_MAJOR=$(echo $ParaView_VERSION | \
+                       sed -e 's/^\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/')
+        ;;
+    esac
 
-paraviewInstDir=$WM_THIRD_PARTY_DIR/ParaView-$ParaView_VERSION
-paraviewArchName=ParaView-$ParaView_VERSION
+    pvName=ParaView-$ParaView_VERSION
+    pvMajor=paraview-$ParaView_MAJOR
+    pvSrcDir=$WM_THIRD_PARTY_DIR/$pvName
 
-export ParaView_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$paraviewArchName
+    export ParaView_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$pvName
 
-# Set paths if binaries or source are present
-if [ -r $ParaView_DIR -o -r $paraviewInstDir ]
-then
-    export ParaView_INCLUDE_DIR=$ParaView_DIR/include/paraview-$ParaView_MAJOR
-    if [ ! -d $ParaView_INCLUDE_DIR -a -d $ParaView_DIR/include/paraview-3.0 ]
+    # Set paths if binaries or source are present
+    if [ -r $ParaView_DIR -o -r $pvSrcDir ]
     then
-        export ParaView_INCLUDE_DIR=$ParaView_DIR/include/paraview-3.0
-    fi
-
-    ParaView_LIB_DIR=$ParaView_DIR/lib/paraview-$ParaView_MAJOR
+        pvLibDir=$ParaView_DIR/lib/$pvMajor
+        pvPython=$ParaView_DIR/Utilities/VTKPythonWrapping
 
-    export PATH=$ParaView_DIR/bin:$PATH
-    export LD_LIBRARY_PATH=$ParaView_LIB_DIR:$LD_LIBRARY_PATH
-    export PV_PLUGIN_PATH=$FOAM_LIBBIN/paraview-$ParaView_MAJOR
+        export ParaView_INCLUDE_DIR=$ParaView_DIR/include/$pvMajor
+        export PV_PLUGIN_PATH=$FOAM_LIBBIN/$pvMajor
+        export PATH=$ParaView_DIR/bin:$PATH
+        export LD_LIBRARY_PATH=$pvLibDir:$LD_LIBRARY_PATH
 
-    if [ "$FOAM_VERBOSE" -a "$PS1" ]
-    then
-        echo "Using paraview"
-        echo "    ParaView_DIR         : $ParaView_DIR"
-        echo "    ParaView_LIB_DIR     : $ParaView_LIB_DIR"
-        echo "    ParaView_INCLUDE_DIR : $ParaView_INCLUDE_DIR"
-        echo "    PV_PLUGIN_PATH       : $PV_PLUGIN_PATH"
-    fi
+        # Add in python libraries if required
+        if [ -r $pvPython ]
+        then
+            if [ "$PYTHONPATH" ]
+            then
+                export PYTHONPATH=$PYTHONPATH:$pvPython:$pvLibDir
+            else
+                export PYTHONPATH=$pvPython:$pvLibDir
+            fi
+        fi
 
-    # Add in python libraries if required
-    paraviewPython=$ParaView_DIR/Utilities/VTKPythonWrapping
-    if [ -r $paraviewPython ]
-    then
-        if [ "$PYTHONPATH" ]
+        if [ "$FOAM_VERBOSE" -a "$PS1" ]
         then
-            export PYTHONPATH=$PYTHONPATH:$paraviewPython:$ParaView_LIB_DIR
-        else
-            export PYTHONPATH=$paraviewPython:$ParaView_LIB_DIR
+            echo "Using paraview"
+            echo "    ParaView_DIR         : $ParaView_DIR"
+            echo "    ParaView_INCLUDE_DIR : $ParaView_INCLUDE_DIR"
+            echo "    library dir          : $pvLibDir"
+            echo "    PV_PLUGIN_PATH       : $PV_PLUGIN_PATH"
         fi
+    else
+        unset ParaView_DIR ParaView_INCLUDE_DIR PV_PLUGIN_PATH
     fi
-else
-    unset PV_PLUGIN_PATH
+
 fi
 
-unset _foamParaviewEval
-unset cleaned cmake paraviewInstDir paraviewPython
+unset -f _foamParaviewEval
+unset cleaned cmake cmake_version pvName pvMajor pvSrcDir pvLibDir pvPython
+unset ParaView_VERSION ParaView_MAJOR
 
 #------------------------------------------------------------------------------
-- 
GitLab


From ee4ec36e51c64393b3af6c758a4bddd1daa59a0e Mon Sep 17 00:00:00 2001
From: Andrew Heather <andy@shelob.opencfd.co.uk>
Date: Thu, 29 Sep 2016 16:19:15 +0100
Subject: [PATCH 71/96] ENH: functionObjects - do not add to list if error on
 read

---
 .../functionObjectList/functionObjectList.C               | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C
index c2c8309b45..bb0d7c2ce5 100644
--- a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C
+++ b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C
@@ -701,12 +701,14 @@ bool Foam::functionObjectList::read()
                             "functionObject::" + objPtr->name() + "::read"
                         );
 
-                        ok = objPtr->read(dict) && ok;
+                        enabled = objPtr->read(dict);
+                        ok = enabled && ok;
                     }
                 }
-                else
+
+                if (!enabled)
                 {
-                    // Delete the disabled functionObject
+                    // Delete the disabled/invalid(read) functionObject
                     delete objPtr;
                     objPtr = nullptr;
                     continue;
-- 
GitLab


From 5dc3b427ee14ad6110c1bfaf966622cf120557ca Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Thu, 29 Sep 2016 12:36:27 +0200
Subject: [PATCH 72/96] CONFIG: remove foundation use of FOAMY_HEX_MESH
 control.

- instead we use the CGAL settings directly since they have the
  same option of (version | system | none)

- may wish to review this again in the future.
---
 applications/utilities/mesh/generation/Allwmake | 6 +-----
 etc/bashrc                                      | 5 +----
 etc/config.csh/unset                            | 6 ------
 etc/config.sh/unset                             | 6 ------
 etc/cshrc                                       | 4 +---
 5 files changed, 3 insertions(+), 24 deletions(-)

diff --git a/applications/utilities/mesh/generation/Allwmake b/applications/utilities/mesh/generation/Allwmake
index 0869795ef8..4abbf97bc2 100755
--- a/applications/utilities/mesh/generation/Allwmake
+++ b/applications/utilities/mesh/generation/Allwmake
@@ -8,10 +8,6 @@ wmake -all $targetType extrude
 wmake -all $targetType extrude2DMesh
 wmake -all $targetType snappyHexMesh
 
-if [ -n "$FOAMY_HEX_MESH" ]
-then
-    foamyMesh/Allwmake $targetType $*
-fi
-
+foamyMesh/Allwmake $targetType $*
 
 #------------------------------------------------------------------------------
diff --git a/etc/bashrc b/etc/bashrc
index 84e38d9e7e..fad4f475ae 100644
--- a/etc/bashrc
+++ b/etc/bashrc
@@ -173,10 +173,7 @@ _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/paraview`
 _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/ensight`
 _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/gperftools`
 
-if [ ! -z "$FOAMY_HEX_MESH" ]
-then
-    _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/CGAL`
-fi
+_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/CGAL`
 _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/scotch`
 _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/FFTW`
 
diff --git a/etc/config.csh/unset b/etc/config.csh/unset
index bc077f20f8..7194f4853c 100644
--- a/etc/config.csh/unset
+++ b/etc/config.csh/unset
@@ -136,12 +136,6 @@ unsetenv GMP_ARCH_PATH
 unsetenv MPFR_ARCH_PATH
 unsetenv SCOTCH_ARCH_PATH
 
-#------------------------------------------------------------------------------
-# Unset foamyHexMesh-related environment variables
-
-unsetenv FOAMY_HEX_MESH
-
-
 #------------------------------------------------------------------------------
 # Cleanup environment
 # PATH, LD_LIBRARY_PATH, MANPATH
diff --git a/etc/config.sh/unset b/etc/config.sh/unset
index a0e6be5bc5..c51dcf4c53 100644
--- a/etc/config.sh/unset
+++ b/etc/config.sh/unset
@@ -132,12 +132,6 @@ unset GMP_ARCH_PATH
 unset MPFR_ARCH_PATH
 unset SCOTCH_ARCH_PATH
 
-#------------------------------------------------------------------------------
-# Unset foamyHexMesh-related environment variables
-
-unset FOAMY_HEX_MESH
-
-
 #------------------------------------------------------------------------------
 # Cleanup environment
 # PATH, LD_LIBRARY_PATH, MANPATH
diff --git a/etc/cshrc b/etc/cshrc
index 8f509b2839..759413c0c8 100644
--- a/etc/cshrc
+++ b/etc/cshrc
@@ -218,9 +218,7 @@ _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/mpi`
 _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/paraview`
 _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/ensight`
 
-if ( ($?FOAMY_HEX_MESH) ) then
-    _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/CGAL`
-endif
+_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/CGAL`
 _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/FFTW`
 
 
-- 
GitLab


From 962cf790064005c6ccf0920ac50bde159874006d Mon Sep 17 00:00:00 2001
From: Andrew Heather <andy@shelob.opencfd.co.uk>
Date: Thu, 29 Sep 2016 16:24:08 +0100
Subject: [PATCH 73/96] STYLE: forceCoeffs - minor code updates

---
 .../forces/forceCoeffs/forceCoeffs.C          | 38 ++++++++++---------
 1 file changed, 20 insertions(+), 18 deletions(-)

diff --git a/src/functionObjects/forces/forceCoeffs/forceCoeffs.C b/src/functionObjects/forces/forceCoeffs/forceCoeffs.C
index dc365a131f..221f1fea63 100644
--- a/src/functionObjects/forces/forceCoeffs/forceCoeffs.C
+++ b/src/functionObjects/forces/forceCoeffs/forceCoeffs.C
@@ -156,25 +156,27 @@ void Foam::functionObjects::forceCoeffs::writeIntegratedData
     const List<Field<scalar>>& coeff
 ) const
 {
+    if (!log)
+    {
+        return;
+    }
+
     scalar pressure = sum(coeff[0]);
     scalar viscous = sum(coeff[1]);
     scalar porous = sum(coeff[2]);
     scalar total = pressure + viscous + porous;
 
-    if (log)
-    {
-        Info<< "        " << title << "       : " << total << token::TAB
-            << "("
-            << "pressure: " << pressure << token::TAB
-            << "viscous: " << viscous;
-
-        if (porosity_)
-        {
-            Info<< token::TAB << "porous: " << porous;
-        }
+    Info<< "        " << title << "       : " << total << token::TAB
+        << "("
+        << "pressure: " << pressure << token::TAB
+        << "viscous: " << viscous;
 
-        Info<< ")" << endl;
+    if (porosity_)
+    {
+        Info<< token::TAB << "porous: " << porous;
     }
+
+    Info<< ")" << endl;
 }
 
 
@@ -388,21 +390,21 @@ bool Foam::functionObjects::forceCoeffs::execute()
     if (writeFields_)
     {
         const volVectorField& force =
-            obr_.lookupObject<volVectorField>(fieldName("force"));
+            lookupObject<volVectorField>(fieldName("force"));
 
         const volVectorField& moment =
-            obr_.lookupObject<volVectorField>(fieldName("moment"));
+            lookupObject<volVectorField>(fieldName("moment"));
 
         volVectorField& forceCoeff =
             const_cast<volVectorField&>
             (
-                obr_.lookupObject<volVectorField>(fieldName("forceCoeff"))
+                lookupObject<volVectorField>(fieldName("forceCoeff"))
             );
 
         volVectorField& momentCoeff =
             const_cast<volVectorField&>
             (
-                obr_.lookupObject<volVectorField>(fieldName("momentCoeff"))
+                lookupObject<volVectorField>(fieldName("momentCoeff"))
             );
 
         dimensionedScalar f0("f0", dimForce, Aref_*pDyn);
@@ -421,10 +423,10 @@ bool Foam::functionObjects::forceCoeffs::write()
     if (writeFields_)
     {
         const volVectorField& forceCoeff =
-            obr_.lookupObject<volVectorField>(fieldName("forceCoeff"));
+            lookupObject<volVectorField>(fieldName("forceCoeff"));
 
         const volVectorField& momentCoeff =
-            obr_.lookupObject<volVectorField>(fieldName("momentCoeff"));
+            lookupObject<volVectorField>(fieldName("momentCoeff"));
 
         forceCoeff.write();
         momentCoeff.write();
-- 
GitLab


From 8dcb8a722c66bda383ecb1c9a63123ef0fc2d7db Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Fri, 30 Sep 2016 17:00:05 +0200
Subject: [PATCH 74/96] COMP: remove boost/mpfr/gmp linkage for foamyMesh
 components.

- CGAL itself includes its library dependencies, we only need to
  provide the -L... option to the proper ThirdParty locations.

  Should help improve general build robustness.
---
 .../generation/foamyMesh/cellSizeAndAlignmentGrid/Make/options | 2 --
 .../foamyMesh/foamyHexMeshBackgroundMesh/Make/options          | 3 ---
 .../foamyMesh/foamyHexMeshSurfaceSimplify/Make/options         | 2 --
 wmake/rules/General/CGAL                                       | 3 +--
 4 files changed, 1 insertion(+), 9 deletions(-)

diff --git a/applications/utilities/mesh/generation/foamyMesh/cellSizeAndAlignmentGrid/Make/options b/applications/utilities/mesh/generation/foamyMesh/cellSizeAndAlignmentGrid/Make/options
index f9a4d17aaf..aa1ba3b9bb 100644
--- a/applications/utilities/mesh/generation/foamyMesh/cellSizeAndAlignmentGrid/Make/options
+++ b/applications/utilities/mesh/generation/foamyMesh/cellSizeAndAlignmentGrid/Make/options
@@ -25,8 +25,6 @@ EXE_INC =  \
 
 EXE_LIBS =  \
     $(CGAL_LIBS) \
-    -lmpfr \
-    -lboost_thread \
     -lconformalVoronoiMesh \
     -lfiniteVolume    \
     -lmeshTools \
diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/Make/options b/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/Make/options
index c7c5ebdb07..625763f597 100644
--- a/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/Make/options
+++ b/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/Make/options
@@ -22,9 +22,6 @@ EXE_INC = \
 
 EXE_LIBS = \
     $(CGAL_LIBS) \
-    -lboost_thread \
-    -lmpfr \
-    -lgmp \
     -lconformalVoronoiMesh \
     -ldecompositionMethods /* -L$(FOAM_LIBBIN)/dummy -lscotchDecomp */ \
     -ldecompose \
diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshSurfaceSimplify/Make/options b/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshSurfaceSimplify/Make/options
index 5cb1f8676d..1a24c89f70 100644
--- a/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshSurfaceSimplify/Make/options
+++ b/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshSurfaceSimplify/Make/options
@@ -16,8 +16,6 @@ EXE_INC = \
 
 EXE_LIBS = \
     $(CGAL_LIBS) \
-    -lboost_thread \
-    -lmpfr \
     -L$(FASTDUALOCTREE_SRC_PATH) -lperf_main \
     -lGL \
     -lconformalVoronoiMesh \
diff --git a/wmake/rules/General/CGAL b/wmake/rules/General/CGAL
index 8097684eee..fd1965e656 100644
--- a/wmake/rules/General/CGAL
+++ b/wmake/rules/General/CGAL
@@ -10,5 +10,4 @@ CGAL_LIBS = \
     -L$(GMP_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
     -L$(BOOST_ARCH_PATH)/lib \
     -L$(CGAL_ARCH_PATH)/lib \
-    -lCGAL \
-    -lmpfr
+    -lCGAL
-- 
GitLab


From 168227c4a0e0ea3f18f53a15ab35c83071ff169a Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Fri, 30 Sep 2016 11:26:58 +0200
Subject: [PATCH 75/96] GIT: resolve merge errors to ddt2, zeroGradient
 functionObjects

- the function objects are from issue #224 and issue #235
---
 src/functionObjects/field/ddt2/ddt2.C         | 96 +++++++++----------
 src/functionObjects/field/ddt2/ddt2.H         |  7 +-
 .../field/ddt2/ddt2Templates.C                | 10 +-
 .../field/zeroGradient/zeroGradient.C         | 90 ++++++++---------
 .../field/zeroGradient/zeroGradient.H         | 11 +--
 .../zeroGradient/zeroGradientTemplates.C      | 11 ++-
 6 files changed, 111 insertions(+), 114 deletions(-)

diff --git a/src/functionObjects/field/ddt2/ddt2.C b/src/functionObjects/field/ddt2/ddt2.C
index c0e0ceeb76..d1f39168d2 100644
--- a/src/functionObjects/field/ddt2/ddt2.C
+++ b/src/functionObjects/field/ddt2/ddt2.C
@@ -121,51 +121,6 @@ int Foam::functionObjects::ddt2::process(const word& fieldName)
 }
 
 
-void Foam::functionObjects::ddt2::process()
-{
-    results_.clear();
-
-    wordHashSet candidates = subsetStrings(selectFields_, mesh_.names());
-    DynamicList<word> missing(selectFields_.size());
-    DynamicList<word> ignored(selectFields_.size());
-
-    // check exact matches first
-    forAll(selectFields_, i)
-    {
-        const wordRe& select = selectFields_[i];
-        if (!select.isPattern())
-        {
-            const word& fieldName = static_cast<const word&>(select);
-
-            if (!candidates.erase(fieldName))
-            {
-                missing.append(fieldName);
-            }
-            else if (process(fieldName) < 1)
-            {
-                ignored.append(fieldName);
-            }
-        }
-    }
-
-    forAllConstIter(wordHashSet, candidates, iter)
-    {
-        process(iter.key());
-    }
-
-    if (missing.size())
-    {
-        WarningInFunction
-            << "Missing field " << missing << endl;
-    }
-    if (ignored.size())
-    {
-        WarningInFunction
-            << "Unprocessed field " << ignored << endl;
-    }
-}
-
-
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 Foam::functionObjects::ddt2::ddt2
@@ -204,6 +159,8 @@ bool Foam::functionObjects::ddt2::read(const dictionary& dict)
         return false;
     }
 
+    fvMeshFunctionObject::read(dict);
+
     dict.lookup("fields") >> selectFields_;
     uniqWords(selectFields_);
 
@@ -236,7 +193,45 @@ bool Foam::functionObjects::ddt2::read(const dictionary& dict)
 bool Foam::functionObjects::ddt2::execute()
 {
     results_.clear();
-    process();
+
+    wordHashSet candidates = subsetStrings(selectFields_, mesh_.names());
+    DynamicList<word> missing(selectFields_.size());
+    DynamicList<word> ignored(selectFields_.size());
+
+    // check exact matches first
+    forAll(selectFields_, i)
+    {
+        const wordRe& select = selectFields_[i];
+        if (!select.isPattern())
+        {
+            const word& fieldName = static_cast<const word&>(select);
+
+            if (!candidates.erase(fieldName))
+            {
+                missing.append(fieldName);
+            }
+            else if (process(fieldName) < 1)
+            {
+                ignored.append(fieldName);
+            }
+        }
+    }
+
+    forAllConstIter(wordHashSet, candidates, iter)
+    {
+        process(iter.key());
+    }
+
+    if (missing.size())
+    {
+        WarningInFunction
+            << "Missing field " << missing << endl;
+    }
+    if (ignored.size())
+    {
+        WarningInFunction
+            << "Unprocessed field " << ignored << endl;
+    }
 
     return true;
 }
@@ -244,9 +239,13 @@ bool Foam::functionObjects::ddt2::execute()
 
 bool Foam::functionObjects::ddt2::write()
 {
+    if (results_.size())
+    {
+        Log << type() << ' ' << name() << " write:" << endl;
+    }
+
     // Consistent output order
     const wordList outputList = results_.sortedToc();
-
     forAll(outputList, i)
     {
         const word& fieldName = outputList[i];
@@ -255,8 +254,7 @@ bool Foam::functionObjects::ddt2::write()
         {
             const regIOobject& io = lookupObject<regIOobject>(fieldName);
 
-            Log << type() << " " << name()
-                << " write: writing field " << fieldName << endl;
+            Log << "    " << fieldName << endl;
 
             io.write();
         }
diff --git a/src/functionObjects/field/ddt2/ddt2.H b/src/functionObjects/field/ddt2/ddt2.H
index e713ecb8a4..0f4b69bea3 100644
--- a/src/functionObjects/field/ddt2/ddt2.H
+++ b/src/functionObjects/field/ddt2/ddt2.H
@@ -68,7 +68,7 @@ Description
 
 SourceFiles
     ddt2.C
-    IOddt2.H
+    ddt2Templates.C
 
 \*---------------------------------------------------------------------------*/
 
@@ -137,9 +137,6 @@ class ddt2
         //- Process by trying to apply for various volume field types.
         int process(const word& inputName);
 
-        //- Calculate the ddt2 fields
-        void process();
-
 
         //- Disallow default bitwise copy construct
         ddt2(const ddt2&) = delete;
@@ -171,7 +168,7 @@ public:
 
     // Member Functions
 
-        //- Return name of the ddt2 function object
+        //- Read the ddt2 specification
         virtual bool read(const dictionary&);
 
         //- Calculate the ddt2 fields
diff --git a/src/functionObjects/field/ddt2/ddt2Templates.C b/src/functionObjects/field/ddt2/ddt2Templates.C
index 098a5aa8c8..3514dbe3b6 100644
--- a/src/functionObjects/field/ddt2/ddt2Templates.C
+++ b/src/functionObjects/field/ddt2/ddt2Templates.C
@@ -27,6 +27,8 @@ License
 #include "dimensionedType.H"
 #include "fvcDdt.H"
 
+// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
+
 template<class FieldType>
 int Foam::functionObjects::ddt2::apply(const word& inputName, int& state)
 {
@@ -76,10 +78,8 @@ int Foam::functionObjects::ddt2::apply(const word& inputName, int& state)
         store(outputName, tddt2);
     }
 
-    volScalarField& output = const_cast<volScalarField&>
-    (
-        lookupObject<volScalarField>(outputName)
-    );
+    volScalarField& output =
+        const_cast<volScalarField&>(lookupObject<volScalarField>(outputName));
 
     if (mag_)
     {
@@ -91,7 +91,7 @@ int Foam::functionObjects::ddt2::apply(const word& inputName, int& state)
     }
 
     // Could add additional statistics here
-    Log << type() << " " << name()
+    Log << type() << ' ' << name()
         << " field " << outputName
         << " average: " << gAverage(output) << endl;
 
diff --git a/src/functionObjects/field/zeroGradient/zeroGradient.C b/src/functionObjects/field/zeroGradient/zeroGradient.C
index 493e70d84f..9f7a2c257e 100644
--- a/src/functionObjects/field/zeroGradient/zeroGradient.C
+++ b/src/functionObjects/field/zeroGradient/zeroGradient.C
@@ -108,7 +108,45 @@ int Foam::functionObjects::zeroGradient::process(const word& fieldName)
 }
 
 
-void Foam::functionObjects::zeroGradient::process()
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+Foam::functionObjects::zeroGradient::zeroGradient
+(
+    const word& name,
+    const Time& runTime,
+    const dictionary& dict
+)
+:
+    fvMeshFunctionObject(name, runTime, dict),
+    selectFields_(),
+    resultName_(string::null),
+    results_()
+{
+    read(dict);
+}
+
+
+// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
+
+Foam::functionObjects::zeroGradient::~zeroGradient()
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+bool Foam::functionObjects::zeroGradient::read(const dictionary& dict)
+{
+    fvMeshFunctionObject::read(dict);
+
+    dict.lookup("fields") >> selectFields_;
+    uniqWords(selectFields_);
+
+    resultName_ = dict.lookupOrDefault<word>("result", type() + "(@@)");
+    return checkFormatName(resultName_);
+}
+
+
+bool Foam::functionObjects::zeroGradient::execute()
 {
     results_.clear();
 
@@ -150,57 +188,20 @@ void Foam::functionObjects::zeroGradient::process()
         WarningInFunction
             << "Unprocessed field " << ignored << endl;
     }
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::functionObjects::zeroGradient::zeroGradient
-(
-    const word& name,
-    const Time& runTime,
-    const dictionary& dict
-)
-:
-    fvMeshFunctionObject(name, runTime, dict),
-    selectFields_(),
-    resultName_(string::null),
-    results_()
-{
-    read(dict);
-}
-
-
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
-
-Foam::functionObjects::zeroGradient::~zeroGradient()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-bool Foam::functionObjects::zeroGradient::read(const dictionary& dict)
-{
-    dict.lookup("fields") >> selectFields_;
-    uniqWords(selectFields_);
-
-    resultName_ = dict.lookupOrDefault<word>("result", type() + "(@@)");
-    return checkFormatName(resultName_);
-}
-
-
-bool Foam::functionObjects::zeroGradient::execute()
-{
-    results_.clear();
     return true;
 }
 
 
 bool Foam::functionObjects::zeroGradient::write()
 {
+    if (results_.size())
+    {
+        Log << type() << ' ' << name() << " write:" << endl;
+    }
+
     // Consistent output order
     const wordList outputList = results_.sortedToc();
-
     forAll(outputList, i)
     {
         const word& fieldName = outputList[i];
@@ -209,8 +210,7 @@ bool Foam::functionObjects::zeroGradient::write()
         {
             const regIOobject& io = lookupObject<regIOobject>(fieldName);
 
-            Log << type() << " " << name()
-                << " write: writing field " << fieldName << endl;
+            Log << "    " << fieldName << endl;
 
             io.write();
         }
diff --git a/src/functionObjects/field/zeroGradient/zeroGradient.H b/src/functionObjects/field/zeroGradient/zeroGradient.H
index 80535548d6..3ceda2cefe 100644
--- a/src/functionObjects/field/zeroGradient/zeroGradient.H
+++ b/src/functionObjects/field/zeroGradient/zeroGradient.H
@@ -65,8 +65,7 @@ Description
 
 SourceFiles
     zeroGradient.C
-    zeroGradientFunctionObject.C
-    IOzeroGradient.H
+    zeroGradientTemplates.C
 
 \*---------------------------------------------------------------------------*/
 
@@ -114,7 +113,10 @@ class zeroGradient
         static void uniqWords(wordReList&);
 
 
-        //- Accept unless field only has empty/zero-gradient/processor patches
+        //- Accept unless field only has constraint patches
+        //  (ie, empty/zero-gradient/processor).
+        //  This should also avoid fields that were already processed by
+        //  zeroGradient.
         template<class Type>
         static bool accept(const GeometricField<Type, fvPatchField, volMesh>&);
 
@@ -125,9 +127,6 @@ class zeroGradient
         //- Process by trying to apply for various volume field types.
         int process(const word& inputName);
 
-        //- Calculate the zeroGradient fields
-        void process();
-
 
         //- Disallow default bitwise copy construct
         zeroGradient(const zeroGradient&) = delete;
diff --git a/src/functionObjects/field/zeroGradient/zeroGradientTemplates.C b/src/functionObjects/field/zeroGradient/zeroGradientTemplates.C
index 09c32d45fb..c900f9575d 100644
--- a/src/functionObjects/field/zeroGradient/zeroGradientTemplates.C
+++ b/src/functionObjects/field/zeroGradient/zeroGradientTemplates.C
@@ -27,6 +27,8 @@ License
 #include "Time.H"
 #include "zeroGradientFvPatchField.H"
 
+// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
+
 template<class Type>
 bool Foam::functionObjects::zeroGradient::accept
 (
@@ -38,10 +40,10 @@ bool Foam::functionObjects::zeroGradient::accept
 
     forAll(patches, patchi)
     {
-        const fvPatchField<Type>& p = patches[patchi];
-        const polyPatch& pp = p.patch().patch();
-
-        return !polyPatch::constraintType(pp.type());
+        if (!polyPatch::constraintType(patches[patchi].patch().patch().type()))
+        {
+            return true;
+        }
     }
 
     return false;
@@ -104,6 +106,7 @@ int Foam::functionObjects::zeroGradient::apply
 
     VolFieldType& output =
         const_cast<VolFieldType&>(lookupObject<VolFieldType>(outputName));
+
     output = input;
     output.correctBoundaryConditions();
 
-- 
GitLab


From 3f308d58b44dbdb59c184e9329530e08440a14d2 Mon Sep 17 00:00:00 2001
From: Andrew Heather <a.heather@opencfd.co.uk>
Date: Fri, 30 Sep 2016 11:47:38 +0100
Subject: [PATCH 76/96] ENH: wallDist - suppress calc if updateInterval is zero

---
 src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.C | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.C b/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.C
index 7d53f566b2..d13c2bed1a 100644
--- a/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.C
+++ b/src/finiteVolume/fvMesh/wallDist/wallDist/wallDist.C
@@ -197,7 +197,11 @@ const Foam::volVectorField& Foam::wallDist::n() const
 
 bool Foam::wallDist::movePoints()
 {
-    if ((mesh_.time().timeIndex() % updateInterval_) == 0)
+    if
+    (
+        (updateInterval_ != 0)
+     && ((mesh_.time().timeIndex() % updateInterval_) == 0)
+    )
     {
         requireUpdate_ = true;
     }
@@ -227,6 +231,11 @@ bool Foam::wallDist::movePoints()
 void Foam::wallDist::updateMesh(const mapPolyMesh& mpm)
 {
     pdm_->updateMesh(mpm);
+
+    // Force update if performing topology change
+    // Note: needed?
+    // - field would have been mapped, so if using updateInterval option (!= 1)
+    //   live with error associated of not updating and use mapped values?
     requireUpdate_ = true;
     movePoints();
 }
-- 
GitLab


From 5bcdd4024aa929a038f35dc013c19719ebf889b0 Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Fri, 30 Sep 2016 12:44:00 +0200
Subject: [PATCH 77/96] ENH: add -noZero option for foamToEnsight* conversion

- The zero directory is incomplete, skip these entries.
---
 tutorials/basic/laplacianFoam/flange/Allrun | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tutorials/basic/laplacianFoam/flange/Allrun b/tutorials/basic/laplacianFoam/flange/Allrun
index 91c4818b86..ac1e880823 100755
--- a/tutorials/basic/laplacianFoam/flange/Allrun
+++ b/tutorials/basic/laplacianFoam/flange/Allrun
@@ -20,8 +20,8 @@ runAnsysToFoam()
 
 runAnsysToFoam flange.ans 0.001
 runApplication $application
-runApplication foamToEnsight
-runApplication foamToEnsightParts
+runApplication foamToEnsight -noZero
+runApplication foamToEnsightParts -noZero
 runApplication foamToVTK
 
 #------------------------------------------------------------------------------
-- 
GitLab


From 3593098a0641a4b2cc08846937daf118d10d38db Mon Sep 17 00:00:00 2001
From: Andrew Heather <andy@shelob.opencfd.co.uk>
Date: Fri, 30 Sep 2016 12:30:02 +0100
Subject: [PATCH 78/96] ENH: Code clean-up

---
 ...pressibleTwoPhaseMixtureTurbulenceModels.C | 25 ++++++++++++++++---
 .../foamyHexMeshBackgroundMesh.C              |  7 ++++--
 src/TurbulenceModels/schemes/Make/options     |  6 +++--
 .../Base/kOmegaSST/kOmegaSSTBase.C            |  2 +-
 .../omegaWallFunctionFvPatchScalarField.H     |  2 +-
 src/combustionModels/laminar/laminar.H        |  4 +--
 .../motionSmootherAlgoTemplates.C             |  4 +--
 .../filmTurbulenceModel/laminar/laminar.H     |  4 +--
 .../rigidBodyMeshMotionSolver.C               |  4 +--
 9 files changed, 41 insertions(+), 17 deletions(-)

diff --git a/applications/solvers/multiphase/MPPICInterFoam/CompressibleTwoPhaseMixtureTurbulenceModels/CompressibleTwoPhaseMixtureTurbulenceModels.C b/applications/solvers/multiphase/MPPICInterFoam/CompressibleTwoPhaseMixtureTurbulenceModels/CompressibleTwoPhaseMixtureTurbulenceModels.C
index 86eabba39e..21f8dfda33 100644
--- a/applications/solvers/multiphase/MPPICInterFoam/CompressibleTwoPhaseMixtureTurbulenceModels/CompressibleTwoPhaseMixtureTurbulenceModels.C
+++ b/applications/solvers/multiphase/MPPICInterFoam/CompressibleTwoPhaseMixtureTurbulenceModels/CompressibleTwoPhaseMixtureTurbulenceModels.C
@@ -28,7 +28,6 @@ License
 #include "addToRunTimeSelectionTable.H"
 #include "makeTurbulenceModel.H"
 
-#include "laminar.H"
 #include "turbulentTransportModel.H"
 #include "LESModel.H"
 
@@ -50,13 +49,32 @@ makeBaseTurbulenceModel
     immiscibleIncompressibleTwoPhaseMixture
 );
 
+#define makeLaminarModel(Type)                                                 \
+    makeTemplatedTurbulenceModel                                               \
+    (                                                                          \
+       immiscibleIncompressibleTwoPhaseMixturePhaseCompressibleTurbulenceModel,\
+        laminar,                                                               \
+        Type                                                                   \
+    )
+
 #define makeRASModel(Type)                                                     \
     makeTemplatedTurbulenceModel                                               \
-    (immiscibleIncompressibleTwoPhaseMixturePhaseCompressibleTurbulenceModel, RAS, Type)
+    (                                                                          \
+       immiscibleIncompressibleTwoPhaseMixturePhaseCompressibleTurbulenceModel,\
+        RAS,                                                                   \
+        Type                                                                   \
+    )
 
 #define makeLESModel(Type)                                                     \
     makeTemplatedTurbulenceModel                                               \
-    (immiscibleIncompressibleTwoPhaseMixturePhaseCompressibleTurbulenceModel, LES, Type)
+    (                                                                          \
+       immiscibleIncompressibleTwoPhaseMixturePhaseCompressibleTurbulenceModel,\
+        LES,                                                                   \
+        Type                                                                   \
+    )
+
+#include "Stokes.H"
+makeLaminarModel(Stokes);
 
 #include "kEpsilon.H"
 makeRASModel(kEpsilon);
@@ -70,4 +88,5 @@ makeLESModel(kEqn);
 #include "kOmega.H"
 makeRASModel(kOmega);
 
+
 // ************************************************************************* //
diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/foamyHexMeshBackgroundMesh.C b/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/foamyHexMeshBackgroundMesh.C
index f7e561f43d..5e009ea114 100644
--- a/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/foamyHexMeshBackgroundMesh.C
+++ b/applications/utilities/mesh/generation/foamyMesh/foamyHexMeshBackgroundMesh/foamyHexMeshBackgroundMesh.C
@@ -3,7 +3,7 @@
  \\      /   F ield          | OpenFOAM: The Open Source CFD Toolbox
   \\    /    O peration      |
    \\  /     A nd            | Copyright (C) 2012-2016 OpenFOAM Foundation
-    \\/      M anipulation   |
+    \\/      M anipulation   | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -640,11 +640,14 @@ int main(int argc, char *argv[])
                 geometry,
                 surfaces
             );
+
             // Patch fields
+            volScalarField::Boundary& cellDistanceBf =
+                cellDistance.boundaryFieldRef();
             forAll(fvm.C().boundaryField(), patchi)
             {
                 const pointField& cc = fvm.C().boundaryField()[patchi];
-                fvPatchScalarField& fld = cellDistance.boundaryField()[patchi];
+                fvPatchScalarField& fld = cellDistanceBf[patchi];
                 scalarField patchDistSqr
                 (
                     fld.patch().patchInternalField(distSqr)
diff --git a/src/TurbulenceModels/schemes/Make/options b/src/TurbulenceModels/schemes/Make/options
index 29eef672df..26b3200f19 100644
--- a/src/TurbulenceModels/schemes/Make/options
+++ b/src/TurbulenceModels/schemes/Make/options
@@ -5,7 +5,8 @@ EXE_INC = \
     -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
     -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-    -I$(LIB_SRC)/finiteVolume/lnInclude
+    -I$(LIB_SRC)/finiteVolume/lnInclude \
+    -I$(LIB_SRC)/meshTools/lnInclude
 
 LIB_LIBS = \
     -lcompressibleTransportModels \
@@ -14,4 +15,5 @@ LIB_LIBS = \
     -lincompressibleTransportModels \
     -lcompressibleTurbulenceModels \
     -lfluidThermophysicalModels \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lmeshTools
diff --git a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C
index c15bbcf0cb..da70b0cc18 100644
--- a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C
+++ b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C
@@ -468,7 +468,7 @@ void kOmegaSSTBase<BasicEddyViscosityModel>::correct()
           + fvm::div(alphaRhoPhi, omega_)
           - fvm::laplacian(alpha*rho*DomegaEff(F1), omega_)
          ==
-            alpha*rho*gamma*GbyNu(GbyNu0, F23(), S2())
+            alpha()*rho()*gamma*GbyNu(GbyNu0, F23(), S2())
           - fvm::SuSp((2.0/3.0)*alpha()*rho()*gamma*divU, omega_)
           - fvm::Sp(alpha()*rho()*beta*omega_(), omega_)
           - fvm::SuSp
diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H
index 7b303e728f..d249c7e3d3 100644
--- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H
+++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H
@@ -28,7 +28,7 @@ Group
     grpWallFunctions
 
 Description
-    This boundary condition provides a wall constraint on turbulnce specific
+    This boundary condition provides a wall constraint on turbulence specific
     dissipation, omega for both low and high Reynolds number turbulence models.
 
     The near-wall omega may be either blended between the viscous region and
diff --git a/src/combustionModels/laminar/laminar.H b/src/combustionModels/laminar/laminar.H
index a4589d4ac1..605850bef7 100644
--- a/src/combustionModels/laminar/laminar.H
+++ b/src/combustionModels/laminar/laminar.H
@@ -35,8 +35,8 @@ SourceFiles
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef laminar_H
-#define laminar_H
+#ifndef combustionModels_laminar_H
+#define combustionModels_laminar_H
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/dynamicMesh/motionSmoother/motionSmootherAlgoTemplates.C b/src/dynamicMesh/motionSmoother/motionSmootherAlgoTemplates.C
index 92f9d60fef..89180f26db 100644
--- a/src/dynamicMesh/motionSmoother/motionSmootherAlgoTemplates.C
+++ b/src/dynamicMesh/motionSmoother/motionSmootherAlgoTemplates.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -57,7 +57,7 @@ void Foam::motionSmootherAlgo::checkConstraints
     }
 
 
-    typename FldType::Boundary& bFld = pf.boundaryField();
+    typename FldType::Boundary& bFld = pf.boundaryFieldRef();
 
 
     // Evaluate in reverse order
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/laminar/laminar.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/laminar/laminar.H
index ceaecabb25..5ff3b87765 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/laminar/laminar.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/filmTurbulenceModel/laminar/laminar.H
@@ -32,8 +32,8 @@ SourceFiles
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef laminar_H
-#define laminar_H
+#ifndef regionModels_surfaceFilmModels_laminar_H
+#define regionModels_surfaceFilmModels_laminar_H
 
 #include "filmTurbulenceModel.H"
 
diff --git a/src/rigidBodyMeshMotion/rigidBodyMeshMotionSolver/rigidBodyMeshMotionSolver.C b/src/rigidBodyMeshMotion/rigidBodyMeshMotionSolver/rigidBodyMeshMotionSolver.C
index f6476e46a0..dbe3eee194 100644
--- a/src/rigidBodyMeshMotion/rigidBodyMeshMotionSolver/rigidBodyMeshMotionSolver.C
+++ b/src/rigidBodyMeshMotion/rigidBodyMeshMotionSolver/rigidBodyMeshMotionSolver.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -80,7 +80,7 @@ Foam::rigidBodyMeshMotionSolver::rigidBodyMeshMotionSolver
             mesh.time().timeName(),
             "uniform",
             mesh
-        ).headerOk()
+        ).typeHeaderOk<IOdictionary>(false)
       ? IOdictionary
         (
             IOobject
-- 
GitLab


From cca5316fd345a62b300cd6210cf2723b59308ae5 Mon Sep 17 00:00:00 2001
From: Andrew Heather <andy@shelob.opencfd.co.uk>
Date: Fri, 30 Sep 2016 13:24:58 +0100
Subject: [PATCH 79/96] ENH: Function objects - first pass at updating read
 functionality

Note: should be using the result of the parent::read(dict) when
deciding whether to read local entries...
---
 .../field/DESModelRegions/DESModelRegions.C               | 1 +
 src/functionObjects/field/PecletNo/PecletNo.C             | 1 +
 src/functionObjects/field/XiReactionRate/XiReactionRate.C | 8 +++++++-
 src/functionObjects/field/XiReactionRate/XiReactionRate.H | 7 +++++--
 src/functionObjects/field/components/components.C         | 4 +---
 src/functionObjects/field/ddt2/ddt2.C                     | 2 ++
 .../field/externalCoupled/externalCoupled.C               | 2 ++
 src/functionObjects/field/fluxSummary/fluxSummary.C       | 1 +
 src/functionObjects/field/grad/grad.C                     | 4 +---
 src/functionObjects/field/histogram/histogram.C           | 2 ++
 src/functionObjects/field/mag/mag.C                       | 4 +---
 src/functionObjects/field/magSqr/magSqr.C                 | 4 +---
 src/functionObjects/field/mapFields/mapFields.C           | 2 ++
 src/functionObjects/field/pressure/pressure.C             | 2 ++
 .../reactionsSensitivityAnalysis.C                        | 1 +
 .../field/regionSizeDistribution/regionSizeDistribution.C | 2 ++
 src/functionObjects/field/streamLine/streamLineBase.C     | 2 ++
 .../field/surfaceInterpolate/surfaceInterpolate.C         | 2 ++
 .../field/turbulenceFields/turbulenceFields.C             | 2 ++
 src/functionObjects/field/valueAverage/valueAverage.C     | 1 +
 .../field/writeCellCentres/writeCellCentres.C             | 8 +++++++-
 .../field/writeCellCentres/writeCellCentres.H             | 5 ++++-
 .../field/writeCellVolumes/writeCellVolumes.C             | 8 +++++++-
 .../field/writeCellVolumes/writeCellVolumes.H             | 7 +++++--
 src/functionObjects/field/zeroGradient/zeroGradient.C     | 2 ++
 .../runTimePostProcessing/runTimePostProcessing.C         | 2 ++
 src/functionObjects/lagrangian/dsmcFields/dsmcFields.C    | 1 +
 src/functionObjects/utilities/abort/abort.C               | 4 +++-
 .../utilities/codedFunctionObject/codedFunctionObject.C   | 2 ++
 .../removeRegisteredObject/removeRegisteredObject.C       | 2 ++
 .../utilities/runTimeControl/runTimeControl.C             | 2 ++
 .../utilities/setTimeStep/setTimeStepFunctionObject.C     | 4 +++-
 src/functionObjects/utilities/systemCall/systemCall.C     | 2 ++
 .../timeActivatedFileUpdate/timeActivatedFileUpdate.C     | 4 +++-
 .../utilities/writeDictionary/writeDictionary.C           | 2 ++
 src/functionObjects/utilities/writeObjects/writeObjects.C | 2 ++
 36 files changed, 88 insertions(+), 23 deletions(-)

diff --git a/src/functionObjects/field/DESModelRegions/DESModelRegions.C b/src/functionObjects/field/DESModelRegions/DESModelRegions.C
index 87a3e1fb58..360af5136c 100644
--- a/src/functionObjects/field/DESModelRegions/DESModelRegions.C
+++ b/src/functionObjects/field/DESModelRegions/DESModelRegions.C
@@ -110,6 +110,7 @@ Foam::functionObjects::DESModelRegions::~DESModelRegions()
 
 bool Foam::functionObjects::DESModelRegions::read(const dictionary& dict)
 {
+    fvMeshFunctionObject::read(dict);
     writeFile::read(dict);
 
     dict.readIfPresent("resultName", resultName_);
diff --git a/src/functionObjects/field/PecletNo/PecletNo.C b/src/functionObjects/field/PecletNo/PecletNo.C
index 1dd4c91764..da4018b54b 100644
--- a/src/functionObjects/field/PecletNo/PecletNo.C
+++ b/src/functionObjects/field/PecletNo/PecletNo.C
@@ -144,6 +144,7 @@ Foam::functionObjects::PecletNo::PecletNo
     rhoName_("rho")
 {
     setResultName("Pe", "phi");
+    read(dict);
 }
 
 
diff --git a/src/functionObjects/field/XiReactionRate/XiReactionRate.C b/src/functionObjects/field/XiReactionRate/XiReactionRate.C
index 2f6febfb54..ff67a59f68 100644
--- a/src/functionObjects/field/XiReactionRate/XiReactionRate.C
+++ b/src/functionObjects/field/XiReactionRate/XiReactionRate.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -63,6 +63,12 @@ Foam::functionObjects::XiReactionRate::~XiReactionRate()
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
+bool Foam::functionObjects::XiReactionRate::read(const dictionary& dict)
+{
+    return fvMeshFunctionObject::read(dict);
+}
+
+
 bool Foam::functionObjects::XiReactionRate::execute()
 {
     return true;
diff --git a/src/functionObjects/field/XiReactionRate/XiReactionRate.H b/src/functionObjects/field/XiReactionRate/XiReactionRate.H
index e699b1090e..0d25ed3be7 100644
--- a/src/functionObjects/field/XiReactionRate/XiReactionRate.H
+++ b/src/functionObjects/field/XiReactionRate/XiReactionRate.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -107,10 +107,13 @@ public:
 
     // Member Functions
 
+        //- Read the reaction rate data
+        virtual bool read(const dictionary&);
+
         //- Do nothing
         virtual bool execute();
 
-        //- Write the cell-centre fields
+        //- Write the reaction rate fields
         virtual bool write();
 };
 
diff --git a/src/functionObjects/field/components/components.C b/src/functionObjects/field/components/components.C
index 7ed53909f1..ef45328f32 100644
--- a/src/functionObjects/field/components/components.C
+++ b/src/functionObjects/field/components/components.C
@@ -63,9 +63,7 @@ Foam::functionObjects::components::components
 )
 :
     fieldExpression(name, runTime, dict)
-{
-    read(dict);
-}
+{}
 
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
diff --git a/src/functionObjects/field/ddt2/ddt2.C b/src/functionObjects/field/ddt2/ddt2.C
index c0e0ceeb76..49b04f4239 100644
--- a/src/functionObjects/field/ddt2/ddt2.C
+++ b/src/functionObjects/field/ddt2/ddt2.C
@@ -196,6 +196,8 @@ Foam::functionObjects::ddt2::~ddt2()
 
 bool Foam::functionObjects::ddt2::read(const dictionary& dict)
 {
+    fvMeshFunctionObject::read(dict);
+
     if (word(mesh_.ddtScheme("default")) == "steadyState")
     {
         WarningInFunction
diff --git a/src/functionObjects/field/externalCoupled/externalCoupled.C b/src/functionObjects/field/externalCoupled/externalCoupled.C
index c4114c0745..727aa595f5 100644
--- a/src/functionObjects/field/externalCoupled/externalCoupled.C
+++ b/src/functionObjects/field/externalCoupled/externalCoupled.C
@@ -854,6 +854,8 @@ bool Foam::functionObjects::externalCoupled::end()
 
 bool Foam::functionObjects::externalCoupled::read(const dictionary& dict)
 {
+    functionObject::read(dict);
+
     dict.readIfPresent("enabled", enabled_);
 
     if (!enabled_)
diff --git a/src/functionObjects/field/fluxSummary/fluxSummary.C b/src/functionObjects/field/fluxSummary/fluxSummary.C
index 33facd5d13..deb45d77f1 100644
--- a/src/functionObjects/field/fluxSummary/fluxSummary.C
+++ b/src/functionObjects/field/fluxSummary/fluxSummary.C
@@ -619,6 +619,7 @@ Foam::functionObjects::fluxSummary::~fluxSummary()
 
 bool Foam::functionObjects::fluxSummary::read(const dictionary& dict)
 {
+    fvMeshFunctionObject::read(dict);
     writeFile::read(dict);
 
     mode_ = modeTypeNames_.read(dict.lookup("mode"));
diff --git a/src/functionObjects/field/grad/grad.C b/src/functionObjects/field/grad/grad.C
index b265ec80b7..4a689310ee 100644
--- a/src/functionObjects/field/grad/grad.C
+++ b/src/functionObjects/field/grad/grad.C
@@ -61,9 +61,7 @@ Foam::functionObjects::grad::grad
 )
 :
     fieldExpression(name, runTime, dict)
-{
-    read(dict);
-}
+{}
 
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
diff --git a/src/functionObjects/field/histogram/histogram.C b/src/functionObjects/field/histogram/histogram.C
index 68c5f46387..63e2abcf0a 100644
--- a/src/functionObjects/field/histogram/histogram.C
+++ b/src/functionObjects/field/histogram/histogram.C
@@ -92,6 +92,8 @@ Foam::functionObjects::histogram::~histogram()
 
 bool Foam::functionObjects::histogram::read(const dictionary& dict)
 {
+    fvMeshFunctionObject::read(dict);
+
     dict.lookup("field") >> fieldName_;
     dict.lookup("max") >> max_;
     min_ = dict.lookupOrDefault<scalar>("min", 0);
diff --git a/src/functionObjects/field/mag/mag.C b/src/functionObjects/field/mag/mag.C
index a5dfca1d41..42e970a939 100644
--- a/src/functionObjects/field/mag/mag.C
+++ b/src/functionObjects/field/mag/mag.C
@@ -64,9 +64,7 @@ Foam::functionObjects::mag::mag
 )
 :
     fieldExpression(name, runTime, dict)
-{
-    read(dict);
-}
+{}
 
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
diff --git a/src/functionObjects/field/magSqr/magSqr.C b/src/functionObjects/field/magSqr/magSqr.C
index 7f45431e82..82b0822d9f 100644
--- a/src/functionObjects/field/magSqr/magSqr.C
+++ b/src/functionObjects/field/magSqr/magSqr.C
@@ -64,9 +64,7 @@ Foam::functionObjects::magSqr::magSqr
 )
 :
     fieldExpression(name, runTime, dict)
-{
-    read(dict);
-}
+{}
 
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
diff --git a/src/functionObjects/field/mapFields/mapFields.C b/src/functionObjects/field/mapFields/mapFields.C
index 1363692d98..3f3ff47ab5 100644
--- a/src/functionObjects/field/mapFields/mapFields.C
+++ b/src/functionObjects/field/mapFields/mapFields.C
@@ -166,6 +166,8 @@ Foam::functionObjects::mapFields::~mapFields()
 
 bool Foam::functionObjects::mapFields::read(const dictionary& dict)
 {
+    fvMeshFunctionObject::read(dict);
+
     dict.lookup("fields") >> fieldNames_;
     createInterpolation(dict);
     return true;
diff --git a/src/functionObjects/field/pressure/pressure.C b/src/functionObjects/field/pressure/pressure.C
index 349e7cca8c..7f1f12c33d 100644
--- a/src/functionObjects/field/pressure/pressure.C
+++ b/src/functionObjects/field/pressure/pressure.C
@@ -230,6 +230,8 @@ Foam::functionObjects::pressure::~pressure()
 
 bool Foam::functionObjects::pressure::read(const dictionary& dict)
 {
+    fieldExpression::read(dict);
+
     dict.readIfPresent("U", UName_);
     dict.readIfPresent("rho", rhoName_);
 
diff --git a/src/functionObjects/field/reactionSensitivityAnalysis/reactionsSensitivityAnalysis.C b/src/functionObjects/field/reactionSensitivityAnalysis/reactionsSensitivityAnalysis.C
index f60eb7cdc1..8664497061 100644
--- a/src/functionObjects/field/reactionSensitivityAnalysis/reactionsSensitivityAnalysis.C
+++ b/src/functionObjects/field/reactionSensitivityAnalysis/reactionsSensitivityAnalysis.C
@@ -267,6 +267,7 @@ bool Foam::functionObjects::reactionsSensitivityAnalysis<chemistryType>::read
     const dictionary& dict
 )
 {
+    fvMeshFunctionObject::read(dict);
     writeFile::read(dict);
     return true;
 }
diff --git a/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C b/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C
index 2a823a2111..fccc1b9cd1 100644
--- a/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C
+++ b/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C
@@ -353,6 +353,8 @@ Foam::functionObjects::regionSizeDistribution::~regionSizeDistribution()
 
 bool Foam::functionObjects::regionSizeDistribution::read(const dictionary& dict)
 {
+    fvMeshFunctionObject::read(dict);
+
     dict.lookup("field") >> alphaName_;
     dict.lookup("patches") >> patchNames_;
     dict.lookup("threshold") >> threshold_;
diff --git a/src/functionObjects/field/streamLine/streamLineBase.C b/src/functionObjects/field/streamLine/streamLineBase.C
index c6d3330591..0c1616d16d 100644
--- a/src/functionObjects/field/streamLine/streamLineBase.C
+++ b/src/functionObjects/field/streamLine/streamLineBase.C
@@ -507,6 +507,8 @@ Foam::functionObjects::streamLineBase::~streamLineBase()
 
 bool Foam::functionObjects::streamLineBase::read(const dictionary& dict)
 {
+    fvMeshFunctionObject::read(dict);
+
     Info<< type() << " " << name() << ":" << nl;
 
     dict.lookup("fields") >> fields_;
diff --git a/src/functionObjects/field/surfaceInterpolate/surfaceInterpolate.C b/src/functionObjects/field/surfaceInterpolate/surfaceInterpolate.C
index bd9e30e586..d81a37ef66 100644
--- a/src/functionObjects/field/surfaceInterpolate/surfaceInterpolate.C
+++ b/src/functionObjects/field/surfaceInterpolate/surfaceInterpolate.C
@@ -74,6 +74,8 @@ bool Foam::functionObjects::surfaceInterpolate::read
     const dictionary& dict
 )
 {
+    fvMeshFunctionObject::read(dict);
+
     dict.lookup("fields") >> fieldSet_;
 
     return true;
diff --git a/src/functionObjects/field/turbulenceFields/turbulenceFields.C b/src/functionObjects/field/turbulenceFields/turbulenceFields.C
index 19ac082ee0..29c1facb0e 100644
--- a/src/functionObjects/field/turbulenceFields/turbulenceFields.C
+++ b/src/functionObjects/field/turbulenceFields/turbulenceFields.C
@@ -146,6 +146,8 @@ Foam::functionObjects::turbulenceFields::~turbulenceFields()
 
 bool Foam::functionObjects::turbulenceFields::read(const dictionary& dict)
 {
+    fvMeshFunctionObject::read(dict);
+
     if (dict.found("field"))
     {
         fieldSet_.insert(word(dict.lookup("field")));
diff --git a/src/functionObjects/field/valueAverage/valueAverage.C b/src/functionObjects/field/valueAverage/valueAverage.C
index 4358cc2384..a5a7100aed 100644
--- a/src/functionObjects/field/valueAverage/valueAverage.C
+++ b/src/functionObjects/field/valueAverage/valueAverage.C
@@ -106,6 +106,7 @@ Foam::functionObjects::valueAverage::~valueAverage()
 
 bool Foam::functionObjects::valueAverage::read(const dictionary& dict)
 {
+    regionFunctionObject::read(dict);
     writeFile::read(dict);
 
     dict.lookup("functionObjectName") >> functionObjectName_;
diff --git a/src/functionObjects/field/writeCellCentres/writeCellCentres.C b/src/functionObjects/field/writeCellCentres/writeCellCentres.C
index d1f1d65fd0..fb52f26580 100644
--- a/src/functionObjects/field/writeCellCentres/writeCellCentres.C
+++ b/src/functionObjects/field/writeCellCentres/writeCellCentres.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -62,6 +62,12 @@ Foam::functionObjects::writeCellCentres::~writeCellCentres()
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
+bool Foam::functionObjects::writeCellCentres::read(const dictionary& dict)
+{
+    return fvMeshFunctionObject::read(dict);
+}
+
+
 bool Foam::functionObjects::writeCellCentres::execute()
 {
     return true;
diff --git a/src/functionObjects/field/writeCellCentres/writeCellCentres.H b/src/functionObjects/field/writeCellCentres/writeCellCentres.H
index c6c050e6cd..42ee31f1a4 100644
--- a/src/functionObjects/field/writeCellCentres/writeCellCentres.H
+++ b/src/functionObjects/field/writeCellCentres/writeCellCentres.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -107,6 +107,9 @@ public:
 
     // Member Functions
 
+        //- Read the cell-centre rate data
+        virtual bool read(const dictionary&);
+
         //- Do nothing
         virtual bool execute();
 
diff --git a/src/functionObjects/field/writeCellVolumes/writeCellVolumes.C b/src/functionObjects/field/writeCellVolumes/writeCellVolumes.C
index 05bd64530d..3ff4de770f 100644
--- a/src/functionObjects/field/writeCellVolumes/writeCellVolumes.C
+++ b/src/functionObjects/field/writeCellVolumes/writeCellVolumes.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -62,6 +62,12 @@ Foam::functionObjects::writeCellVolumes::~writeCellVolumes()
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
+bool Foam::functionObjects::writeCellVolumes::read(const dictionary& dict)
+{
+    return fvMeshFunctionObject::read(dict);
+}
+
+
 bool Foam::functionObjects::writeCellVolumes::execute()
 {
     return true;
diff --git a/src/functionObjects/field/writeCellVolumes/writeCellVolumes.H b/src/functionObjects/field/writeCellVolumes/writeCellVolumes.H
index 63d56124bc..56bc4ffe22 100644
--- a/src/functionObjects/field/writeCellVolumes/writeCellVolumes.H
+++ b/src/functionObjects/field/writeCellVolumes/writeCellVolumes.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -106,10 +106,13 @@ public:
 
     // Member Functions
 
+        //- Read the cell-volume data
+        virtual bool read(const dictionary&);
+
         //- Do nothing
         virtual bool execute();
 
-        //- Write the cell-centre fields
+        //- Write the cell-volume fields
         virtual bool write();
 };
 
diff --git a/src/functionObjects/field/zeroGradient/zeroGradient.C b/src/functionObjects/field/zeroGradient/zeroGradient.C
index 493e70d84f..2cdb88f72b 100644
--- a/src/functionObjects/field/zeroGradient/zeroGradient.C
+++ b/src/functionObjects/field/zeroGradient/zeroGradient.C
@@ -181,6 +181,8 @@ Foam::functionObjects::zeroGradient::~zeroGradient()
 
 bool Foam::functionObjects::zeroGradient::read(const dictionary& dict)
 {
+    fvMeshFunctionObject::read(dict);
+
     dict.lookup("fields") >> selectFields_;
     uniqWords(selectFields_);
 
diff --git a/src/functionObjects/graphics/runTimePostProcessing/runTimePostProcessing.C b/src/functionObjects/graphics/runTimePostProcessing/runTimePostProcessing.C
index 3fdf57ad8e..0b46ab48ff 100644
--- a/src/functionObjects/graphics/runTimePostProcessing/runTimePostProcessing.C
+++ b/src/functionObjects/graphics/runTimePostProcessing/runTimePostProcessing.C
@@ -90,6 +90,8 @@ Foam::functionObjects::runTimePostProcessing::~runTimePostProcessing()
 
 bool Foam::functionObjects::runTimePostProcessing::read(const dictionary& dict)
 {
+    fvMeshFunctionObject::read(dict);
+
     Info<< type() << " " << name() << ": reading post-processing data" << endl;
 
     scene_.read(dict);
diff --git a/src/functionObjects/lagrangian/dsmcFields/dsmcFields.C b/src/functionObjects/lagrangian/dsmcFields/dsmcFields.C
index 6c70937e4d..b2b97c6c1d 100644
--- a/src/functionObjects/lagrangian/dsmcFields/dsmcFields.C
+++ b/src/functionObjects/lagrangian/dsmcFields/dsmcFields.C
@@ -75,6 +75,7 @@ Foam::functionObjects::dsmcFields::~dsmcFields()
 
 bool Foam::functionObjects::dsmcFields::read(const dictionary& dict)
 {
+    fvMeshFunctionObject::read(dict);
     return true;
 }
 
diff --git a/src/functionObjects/utilities/abort/abort.C b/src/functionObjects/utilities/abort/abort.C
index 54853319ec..90a8db66b4 100644
--- a/src/functionObjects/utilities/abort/abort.C
+++ b/src/functionObjects/utilities/abort/abort.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -114,6 +114,8 @@ Foam::functionObjects::abort::~abort()
 
 bool Foam::functionObjects::abort::read(const dictionary& dict)
 {
+    functionObject::read(dict);
+
     if (dict.found("action"))
     {
         action_ = actionTypeNames_.read(dict.lookup("action"));
diff --git a/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.C b/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.C
index 33d2227e65..b1a12b48cd 100644
--- a/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.C
+++ b/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.C
@@ -184,6 +184,8 @@ bool Foam::codedFunctionObject::end()
 
 bool Foam::codedFunctionObject::read(const dictionary& dict)
 {
+    functionObject::read(dict);
+
     // Backward compatibility
     if (dict.found("redirectType"))
     {
diff --git a/src/functionObjects/utilities/removeRegisteredObject/removeRegisteredObject.C b/src/functionObjects/utilities/removeRegisteredObject/removeRegisteredObject.C
index 76b51e732b..e9776316f2 100644
--- a/src/functionObjects/utilities/removeRegisteredObject/removeRegisteredObject.C
+++ b/src/functionObjects/utilities/removeRegisteredObject/removeRegisteredObject.C
@@ -72,6 +72,8 @@ Foam::functionObjects::removeRegisteredObject::~removeRegisteredObject()
 
 bool Foam::functionObjects::removeRegisteredObject::read(const dictionary& dict)
 {
+    regionFunctionObject::read(dict);
+
     dict.lookup("objects") >> objectNames_;
 
     return true;
diff --git a/src/functionObjects/utilities/runTimeControl/runTimeControl.C b/src/functionObjects/utilities/runTimeControl/runTimeControl.C
index d9d05d7352..e4c0d89095 100644
--- a/src/functionObjects/utilities/runTimeControl/runTimeControl.C
+++ b/src/functionObjects/utilities/runTimeControl/runTimeControl.C
@@ -77,6 +77,8 @@ bool Foam::functionObjects::runTimeControls::runTimeControl::read
     const dictionary& dict
 )
 {
+    fvMeshFunctionObject::read(dict);
+
     const dictionary& conditionsDict = dict.subDict("conditions");
     const wordList conditionNames(conditionsDict.toc());
     conditions_.setSize(conditionNames.size());
diff --git a/src/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.C b/src/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.C
index 1f45543609..62f04d3640 100644
--- a/src/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.C
+++ b/src/functionObjects/utilities/setTimeStep/setTimeStepFunctionObject.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2013-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -92,6 +92,8 @@ bool Foam::functionObjects::setTimeStepFunctionObject::read
     const dictionary& dict
 )
 {
+    functionObject::read(dict);
+
     timeStepPtr_ = Function1<scalar>::New("deltaT", dict);
 
     // Check that adjustTimeStep is active
diff --git a/src/functionObjects/utilities/systemCall/systemCall.C b/src/functionObjects/utilities/systemCall/systemCall.C
index a2a0bd5041..2076b3d3a4 100644
--- a/src/functionObjects/utilities/systemCall/systemCall.C
+++ b/src/functionObjects/utilities/systemCall/systemCall.C
@@ -74,6 +74,8 @@ Foam::functionObjects::systemCall::~systemCall()
 
 bool Foam::functionObjects::systemCall::read(const dictionary& dict)
 {
+    functionObject::read(dict);
+
     dict.readIfPresent("executeCalls", executeCalls_);
     dict.readIfPresent("endCalls", endCalls_);
     dict.readIfPresent("writeCalls", writeCalls_);
diff --git a/src/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.C b/src/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.C
index 1f57b3e19f..d6dc1d1040 100644
--- a/src/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.C
+++ b/src/functionObjects/utilities/timeActivatedFileUpdate/timeActivatedFileUpdate.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
+     \\/     M anipulation  | Copyright (C) 2015-2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -103,6 +103,8 @@ bool Foam::functionObjects::timeActivatedFileUpdate::read
     const dictionary& dict
 )
 {
+    functionObject::read(dict);
+
     dict.lookup("fileToUpdate") >> fileToUpdate_;
     dict.lookup("timeVsFile") >> timeVsFile_;
 
diff --git a/src/functionObjects/utilities/writeDictionary/writeDictionary.C b/src/functionObjects/utilities/writeDictionary/writeDictionary.C
index c0557ab37b..7d2c6c74b0 100644
--- a/src/functionObjects/utilities/writeDictionary/writeDictionary.C
+++ b/src/functionObjects/utilities/writeDictionary/writeDictionary.C
@@ -122,6 +122,8 @@ Foam::functionObjects::writeDictionary::~writeDictionary()
 
 bool Foam::functionObjects::writeDictionary::read(const dictionary& dict)
 {
+    regionFunctionObject::read(dict);
+
     wordList dictNames(dict.lookup("dictNames"));
     HashSet<word> uniqueNames(dictNames);
     dictNames_ = uniqueNames.toc();
diff --git a/src/functionObjects/utilities/writeObjects/writeObjects.C b/src/functionObjects/utilities/writeObjects/writeObjects.C
index a1a049b26c..aad0e40554 100644
--- a/src/functionObjects/utilities/writeObjects/writeObjects.C
+++ b/src/functionObjects/utilities/writeObjects/writeObjects.C
@@ -98,6 +98,8 @@ Foam::functionObjects::writeObjects::~writeObjects()
 
 bool Foam::functionObjects::writeObjects::read(const dictionary& dict)
 {
+    functionObject::read(dict);
+
     if (dict.found("field"))
     {
         objectNames_.setSize(1);
-- 
GitLab


From c3e471341b0ba50fb3d3fa3919e5d7c94c226313 Mon Sep 17 00:00:00 2001
From: Andrew Heather <andy@shelob.opencfd.co.uk>
Date: Fri, 30 Sep 2016 15:31:35 +0100
Subject: [PATCH 80/96] ENH: Tutorial updates

---
 .../constant/boundaryRadiationProperties      |  33 +++++
 .../constant/boundaryRadiationProperties      |  33 +++++
 .../constant/boundaryRadiationProperties      |  43 ++++++
 .../constant/boundaryRadiationProperties      |  26 ++++
 .../constant/turbulenceProperties             |  21 +++
 .../motorBike/system/runtimePostProcessing    | 122 ++++++++++++++++++
 .../motorBike/motorBike/system/streamLines    |   3 +
 .../laminar/testTubeMixer/system/controlDict  |  56 ++++++++
 8 files changed, 337 insertions(+)
 create mode 100644 tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/boundaryRadiationProperties
 create mode 100644 tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/boundaryRadiationProperties
 create mode 100644 tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/boundaryRadiationProperties
 create mode 100644 tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/boundaryRadiationProperties
 create mode 100644 tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/constant/turbulenceProperties
 create mode 100644 tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/runtimePostProcessing
 create mode 100644 tutorials/multiphase/interDyMFoam/laminar/testTubeMixer/system/controlDict

diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/boundaryRadiationProperties b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/boundaryRadiationProperties
new file mode 100644
index 0000000000..530a06e550
--- /dev/null
+++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/boundaryRadiationProperties
@@ -0,0 +1,33 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      boundaryRadiationProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+
+region0_to_pyrolysisRegion_coupledWall
+{
+    mode            solidRadiation;
+}
+
+".*"
+{
+    mode            lookup;
+    emissivity      1.0;
+    absorptivity    1.0;
+    transmissivity  0.0;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/boundaryRadiationProperties b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/boundaryRadiationProperties
new file mode 100644
index 0000000000..d3a530f353
--- /dev/null
+++ b/tutorials/combustion/fireFoam/LES/oppositeBurningPanels/constant/boundaryRadiationProperties
@@ -0,0 +1,33 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      boundaryRadiationProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+
+".*"
+{
+    type            boundaryRadiation;
+    mode            lookup;
+    emissivity      1.0;
+}
+
+"(region0_to.*)"
+{
+    type            boundaryRadiation;
+    mode            solidRadiation;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/boundaryRadiationProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/boundaryRadiationProperties
new file mode 100644
index 0000000000..a4660c95b7
--- /dev/null
+++ b/tutorials/combustion/fireFoam/LES/smallPoolFire2D/constant/boundaryRadiationProperties
@@ -0,0 +1,43 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      boundaryRadiationProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+base
+{
+    mode            lookup;
+    emissivity      1.0;
+}
+
+outlet
+{
+    mode            lookup;
+    emissivity      1.0;
+}
+
+sides
+{
+    mode            lookup;
+    emissivity      1.0;
+}
+
+inlet
+{
+    mode            lookup;
+    emissivity      1.0;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/boundaryRadiationProperties b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/boundaryRadiationProperties
new file mode 100644
index 0000000000..474446378f
--- /dev/null
+++ b/tutorials/combustion/fireFoam/LES/smallPoolFire3D/constant/boundaryRadiationProperties
@@ -0,0 +1,26 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      boundaryRadiationProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+".*"
+{
+    mode            lookup;
+    emissivity      1.0;
+    absorptivity    0.0;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/constant/turbulenceProperties b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/constant/turbulenceProperties
new file mode 100644
index 0000000000..5eec042672
--- /dev/null
+++ b/tutorials/compressible/rhoPimpleFoam/laminar/sineWaveDamping/constant/turbulenceProperties
@@ -0,0 +1,21 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "constant";
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+simulationType  laminar;
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/runtimePostProcessing b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/runtimePostProcessing
new file mode 100644
index 0000000000..b331e95ac0
--- /dev/null
+++ b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/runtimePostProcessing
@@ -0,0 +1,122 @@
+postPro1
+{
+    type            runTimePostProcessing;
+    functionObjectLibs ("librunTimePostProcessing.so");
+    outputControl   outputTime;
+    output
+    {
+        name            image;
+        width           2000;
+        height          1200;
+    }
+    camera
+    {
+        // If camera is moving, optionally provide start and end times
+        // startPosition    0.2;
+        // endPosition      0.75;
+
+        // Total number of frames to generate
+        nFrameTotal         1;
+
+        // Parallel projection flag
+        parallelProjection  no;
+
+        // Camera mode:
+        // - flightPath: define flight path
+        // - static: fixed position
+        mode                static;
+        staticCoeffs
+        {
+            clipBox         (-0.2 -0.2 0)(1.65 0.2 1.25); // optional
+            focalPoint      (1.2 1.1 0.2);
+            up              (0 0 1);
+            lookDir         (2.4 4.0 -1.5);
+        }
+    }
+
+    // Default colours
+    // - If select to colourBy colour, these values are used unless
+    // they are locally overriden
+    colours
+    {
+        background      (1 1 1);
+        background2     (0 0 1);
+        text            (0 0 0);
+        edge            (1 0 0);
+        surface         (0.5 0.5 0.5);
+        line            (1 0 0);
+    }
+    // Line data
+    lines
+    {
+        streamline
+        {
+            type            line;
+            functionObject  streamLines;
+            representation  tube;
+            visible         yes;
+            tubeRadius      0.01;
+            colourBy        field;
+            fieldName       U;
+            range           (0 20);
+            opacity         1;
+            scalarBar
+            {
+                visible         yes;
+                position        (0.8 0.1);
+                vertical        yes;
+                fontSize        16;
+                title           "velocity / [m/s]";
+                labelFormat     "%6.2f";
+                numberOfLabels  5;
+            }
+        }
+    }
+
+    // Surface data
+    surfaces
+    {
+        surface1
+        {
+            type            geometry;
+            files           ("$FOAM_CASE/constant/triSurface/motorBike.obj.gz");
+            renderMode      phong;
+            representation  surface;
+            edgeColour      (0 0 0);
+            visible         yes;
+            featureEdges    yes;
+            opacity         1;
+        }
+        cuttingPlane1
+        {
+            type            functionObject;
+            functionObject  cuttingPlane;
+            colourMap       blueWhiteRed;
+            representation  glyph;
+            maxGlyphLength  0.1;
+            visible         yes;
+            featureEdges    no;
+            colourBy        field;
+            fieldName       U;
+            range           (0 30);
+            opacity         1;
+            scalarBar
+            {
+                visible         no;
+            }
+        }
+    }
+
+    // Text data
+    text
+    {
+        text1
+        {
+            string          "Motorbike";
+            position        (0.1 0.05);
+            size            72;
+            bold            yes;
+            visible         yes;
+        }
+    }
+}
diff --git a/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/streamLines b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/streamLines
index 08da9fe7f2..95a07f82e2 100644
--- a/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/streamLines
+++ b/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/system/streamLines
@@ -16,6 +16,9 @@ streamLines
 
     setFormat       vtk; //gnuplot; //xmgr; //raw; //jplot; //csv; //ensight;
 
+    // Velocity field to use for tracking.
+    U               U;
+
     // Tracked forwards (+U) or backwards (-U)
     trackForward    true;
 
diff --git a/tutorials/multiphase/interDyMFoam/laminar/testTubeMixer/system/controlDict b/tutorials/multiphase/interDyMFoam/laminar/testTubeMixer/system/controlDict
new file mode 100644
index 0000000000..075affc441
--- /dev/null
+++ b/tutorials/multiphase/interDyMFoam/laminar/testTubeMixer/system/controlDict
@@ -0,0 +1,56 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    location    "system";
+    object      controlDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+application     interDyMFoam;
+
+startFrom       startTime;
+
+startTime       0;
+
+stopAt          endTime;
+
+endTime         1;
+
+deltaT          0.0001;
+
+writeControl    adjustableRunTime;
+
+writeInterval   0.01;
+
+purgeWrite      0;
+
+writeFormat     ascii;
+
+writePrecision  6;
+
+writeCompression off;
+
+timeFormat      general;
+
+timePrecision   6;
+
+runTimeModifiable true;
+
+adjustTimeStep  yes;
+
+maxCo           0.5;
+maxAlphaCo      0.5;
+
+maxDeltaT       1;
+
+
+// ************************************************************************* //
-- 
GitLab


From ff28c484770b5f98a0d35f7d480f08e0368e7ed0 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 30 Sep 2016 16:22:55 +0100
Subject: [PATCH 81/96] triangle storage: Return barycentric coordinates as
 FixedList instead of List Patch contributed by Mattijs Janssens Resolves
 bug-report http://bugs.openfoam.org/view.php?id=2278

---
 .../cellShapeControl/cellShapeControl/cellShapeControl.C | 6 +++---
 .../cellShapeControlMesh/cellShapeControlMesh.C          | 2 +-
 .../cellShapeControlMesh/cellShapeControlMesh.H          | 4 ++--
 .../fileControl/fileControl.C                            | 6 +++---
 .../nonUniformField/nonUniformField.C                    | 5 ++---
 .../meshes/primitiveShapes/tetrahedron/tetrahedron.H     | 2 +-
 .../meshes/primitiveShapes/tetrahedron/tetrahedronI.H    | 4 +---
 src/OpenFOAM/meshes/primitiveShapes/triangle/triangle.H  | 4 ++--
 src/OpenFOAM/meshes/primitiveShapes/triangle/triangleI.H | 6 ++----
 .../cellPointWeight/cellPointWeight.C                    | 8 +++-----
 .../cellPointWeight/cellPointWeight.H                    | 8 ++++----
 .../interpolationCellPoint/interpolationCellPointI.H     | 6 +++---
 .../interpolationCellPointWallModifiedI.H                | 4 ++--
 .../submodels/MPPIC/AveragingMethods/Dual/Dual.C         | 9 +++++----
 .../submodels/MPPIC/AveragingMethods/Dual/Dual.H         | 4 ++--
 .../submodels/MPPIC/PackingModels/Implicit/Implicit.C    | 2 +-
 16 files changed, 37 insertions(+), 43 deletions(-)

diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControl/cellShapeControl.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControl/cellShapeControl.C
index 4283fb7c35..343ba46a6e 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControl/cellShapeControl.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControl/cellShapeControl.C
@@ -97,7 +97,7 @@ Foam::scalarField Foam::cellShapeControl::cellSize
 
 Foam::scalar Foam::cellShapeControl::cellSize(const point& pt) const
 {
-    scalarList bary;
+    FixedList<scalar, 4> bary;
     cellShapeControlMesh::Cell_handle ch;
 
     shapeControlMesh_.barycentricCoords(pt, bary, ch);
@@ -172,7 +172,7 @@ Foam::scalar Foam::cellShapeControl::cellSize(const point& pt) const
 
 Foam::tensor Foam::cellShapeControl::cellAlignment(const point& pt) const
 {
-    scalarList bary;
+    FixedList<scalar, 4> bary;
     cellShapeControlMesh::Cell_handle ch;
 
     shapeControlMesh_.barycentricCoords(pt, bary, ch);
@@ -244,7 +244,7 @@ void Foam::cellShapeControl::cellSizeAndAlignment
     tensor& alignment
 ) const
 {
-    scalarList bary;
+    FixedList<scalar, 4> bary;
     cellShapeControlMesh::Cell_handle ch;
 
     shapeControlMesh_.barycentricCoords(pt, bary, ch);
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControlMesh/cellShapeControlMesh.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControlMesh/cellShapeControlMesh.C
index 8c1da2afc5..2c1c3695ad 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControlMesh/cellShapeControlMesh.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControlMesh/cellShapeControlMesh.C
@@ -452,7 +452,7 @@ Foam::cellShapeControlMesh::~cellShapeControlMesh()
 void Foam::cellShapeControlMesh::barycentricCoords
 (
     const Foam::point& pt,
-    scalarList& bary,
+    FixedList<scalar, 4>& bary,
     Cell_handle& ch
 ) const
 {
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControlMesh/cellShapeControlMesh.H b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControlMesh/cellShapeControlMesh.H
index 3546c03d9e..7e4bc9041c 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControlMesh/cellShapeControlMesh.H
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellShapeControlMesh/cellShapeControlMesh.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -122,7 +122,7 @@ public:
             void barycentricCoords
             (
                 const Foam::point& pt,
-                scalarList& bary,
+                FixedList<scalar, 4>& bary,
                 Cell_handle& ch
             ) const;
 
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellSizeAndAlignmentControl/fileControl/fileControl.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellSizeAndAlignmentControl/fileControl/fileControl.C
index b2ed90169f..a644134066 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellSizeAndAlignmentControl/fileControl/fileControl.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellShapeControl/cellSizeAndAlignmentControl/fileControl/fileControl.C
@@ -94,7 +94,7 @@ Foam::fileControl::~fileControl()
 //
 //Foam::scalar Foam::fileControl::cellSize(const point& pt) const
 //{
-//    scalarList bary;
+//    FixedList<scalar, 4> bary;
 //    Cell_handle ch;
 //
 //    triangulatedMesh_.barycentricCoords(pt, bary, ch);
@@ -112,7 +112,7 @@ Foam::fileControl::~fileControl()
 ////- Return the cell alignment at the given location
 //Foam::tensor Foam::fileControl::cellAlignment(const point& pt) const
 //{
-//    scalarList bary;
+//    FixedList<scalar, 4> bary;
 //    Cell_handle ch;
 //
 //    triangulatedMesh_.barycentricCoords(pt, bary, ch);
@@ -144,7 +144,7 @@ Foam::fileControl::~fileControl()
 //    tensor& alignment
 //) const
 //{
-//    scalarList bary;
+//    FixedList<scalar, 4> bary;
 //    Cell_handle ch;
 //
 //    triangulatedMesh_.barycentricCoords(pt, bary, ch);
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/nonUniformField/nonUniformField.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/nonUniformField/nonUniformField.C
index 5288541538..a478f9e513 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/nonUniformField/nonUniformField.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/nonUniformField/nonUniformField.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -118,8 +118,7 @@ Foam::scalar Foam::nonUniformField::interpolate
         pts[faceHitByPt[2]]
     );
 
-    scalarList bary(3, 0.0);
-
+    FixedList<scalar, 3> bary;
     tri.barycentric(pt, bary);
 
 //    return pointCellSize_[pMap[faceHitByPt[0]]]*bary[0]
diff --git a/src/OpenFOAM/meshes/primitiveShapes/tetrahedron/tetrahedron.H b/src/OpenFOAM/meshes/primitiveShapes/tetrahedron/tetrahedron.H
index 201f14819f..badea19542 100644
--- a/src/OpenFOAM/meshes/primitiveShapes/tetrahedron/tetrahedron.H
+++ b/src/OpenFOAM/meshes/primitiveShapes/tetrahedron/tetrahedron.H
@@ -249,7 +249,7 @@ public:
             inline scalar barycentric
             (
                 const point& pt,
-                List<scalar>& bary
+                FixedList<scalar, 4>& bary
             ) const;
 
             //- Return nearest point to p on tetrahedron. Is p itself
diff --git a/src/OpenFOAM/meshes/primitiveShapes/tetrahedron/tetrahedronI.H b/src/OpenFOAM/meshes/primitiveShapes/tetrahedron/tetrahedronI.H
index 8406efaa81..2c14d16121 100644
--- a/src/OpenFOAM/meshes/primitiveShapes/tetrahedron/tetrahedronI.H
+++ b/src/OpenFOAM/meshes/primitiveShapes/tetrahedron/tetrahedronI.H
@@ -316,7 +316,7 @@ template<class Point, class PointRef>
 Foam::scalar Foam::tetrahedron<Point, PointRef>::barycentric
 (
     const point& pt,
-    List<scalar>& bary
+    FixedList<scalar, 4>& bary
 ) const
 {
     // Reference:
@@ -346,8 +346,6 @@ Foam::scalar Foam::tetrahedron<Point, PointRef>::barycentric
 
     vector res = inv(t, detT) & (pt - d_);
 
-    bary.setSize(4);
-
     bary[0] = res.x();
     bary[1] = res.y();
     bary[2] = res.z();
diff --git a/src/OpenFOAM/meshes/primitiveShapes/triangle/triangle.H b/src/OpenFOAM/meshes/primitiveShapes/triangle/triangle.H
index 6e8030c797..d3838166d9 100644
--- a/src/OpenFOAM/meshes/primitiveShapes/triangle/triangle.H
+++ b/src/OpenFOAM/meshes/primitiveShapes/triangle/triangle.H
@@ -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
@@ -173,7 +173,7 @@ public:
             inline scalar barycentric
             (
                 const point& pt,
-                List<scalar>& bary
+                FixedList<scalar, 3>& bary
             ) const;
 
             //- Return point intersection with a ray.
diff --git a/src/OpenFOAM/meshes/primitiveShapes/triangle/triangleI.H b/src/OpenFOAM/meshes/primitiveShapes/triangle/triangleI.H
index f4eeb23898..9b9ec18b15 100644
--- a/src/OpenFOAM/meshes/primitiveShapes/triangle/triangleI.H
+++ b/src/OpenFOAM/meshes/primitiveShapes/triangle/triangleI.H
@@ -267,7 +267,7 @@ template<class Point, class PointRef>
 Foam::scalar Foam::triangle<Point, PointRef>::barycentric
 (
     const point& pt,
-    List<scalar>& bary
+    FixedList<scalar, 3>& bary
 ) const
 {
     // Reference:
@@ -289,13 +289,11 @@ Foam::scalar Foam::triangle<Point, PointRef>::barycentric
     {
         // Degenerate triangle, returning 1/3 barycentric coordinates.
 
-        bary = List<scalar>(3, 1.0/3.0);
+        bary = FixedList<scalar, 3>(1.0/3.0);
 
         return denom;
     }
 
-    bary.setSize(3);
-
     bary[1] = (d11*d20 - d01*d21)/denom;
     bary[2] = (d00*d21 - d01*d20)/denom;
     bary[0] = 1.0 - bary[1] - bary[2];
diff --git a/src/finiteVolume/interpolation/interpolation/interpolationCellPoint/cellPointWeight/cellPointWeight.C b/src/finiteVolume/interpolation/interpolation/interpolationCellPoint/cellPointWeight/cellPointWeight.C
index e24093da41..58c3662301 100644
--- a/src/finiteVolume/interpolation/interpolation/interpolationCellPoint/cellPointWeight/cellPointWeight.C
+++ b/src/finiteVolume/interpolation/interpolation/interpolationCellPoint/cellPointWeight/cellPointWeight.C
@@ -166,7 +166,7 @@ void Foam::cellPointWeight::findTriangle
     {
         const tetIndices& tetIs = faceTets[tetI];
 
-        List<scalar> triWeights(3);
+        FixedList<scalar, 3> triWeights;
 
         // Barycentric coordinates of the position
         scalar det = tetIs.faceTri(mesh).barycentric(position, triWeights);
@@ -234,7 +234,7 @@ void Foam::cellPointWeight::findTriangle
     // determinant is suitable.  If not, the return from barycentric
     // to triWeights is safe.
 
-    List<scalar> triWeights(3);
+    FixedList<scalar, 3> triWeights;
 
     tetIs.faceTri(mesh).barycentric(position, triWeights);
 
@@ -260,9 +260,7 @@ Foam::cellPointWeight::cellPointWeight
     const label facei
 )
 :
-    celli_(celli),
-    weights_(4),
-    faceVertices_(3)
+    celli_(celli)
 {
     if (facei < 0)
     {
diff --git a/src/finiteVolume/interpolation/interpolation/interpolationCellPoint/cellPointWeight/cellPointWeight.H b/src/finiteVolume/interpolation/interpolation/interpolationCellPoint/cellPointWeight/cellPointWeight.H
index 8bd162c1ce..6d1b14948b 100644
--- a/src/finiteVolume/interpolation/interpolation/interpolationCellPoint/cellPointWeight/cellPointWeight.H
+++ b/src/finiteVolume/interpolation/interpolation/interpolationCellPoint/cellPointWeight/cellPointWeight.H
@@ -58,10 +58,10 @@ protected:
        const label celli_;
 
        //- Weights applied to tet vertices
-       List<scalar> weights_;
+       FixedList<scalar, 4> weights_;
 
        //- Face vertex indices
-       List<label> faceVertices_;
+       FixedList<label, 3> faceVertices_;
 
 
     // Protected Member Functions
@@ -112,13 +112,13 @@ public:
         }
 
         //- Interpolation weights
-        inline const List<scalar>& weights() const
+        inline const FixedList<scalar, 4>& weights() const
         {
             return weights_;
         }
 
         //- Interpolation addressing for points on face
-        inline const List<label>& faceVertices() const
+        inline const FixedList<label, 3>& faceVertices() const
         {
             return faceVertices_;
         }
diff --git a/src/finiteVolume/interpolation/interpolation/interpolationCellPoint/interpolationCellPointI.H b/src/finiteVolume/interpolation/interpolation/interpolationCellPoint/interpolationCellPointI.H
index dfd3a3b99b..8cfa3947c8 100644
--- a/src/finiteVolume/interpolation/interpolation/interpolationCellPoint/interpolationCellPointI.H
+++ b/src/finiteVolume/interpolation/interpolation/interpolationCellPoint/interpolationCellPointI.H
@@ -31,8 +31,8 @@ inline Type Foam::interpolationCellPoint<Type>::interpolate
     const cellPointWeight& cpw
 ) const
 {
-    const List<scalar>& weights = cpw.weights();
-    const List<label>& faceVertices = cpw.faceVertices();
+    const FixedList<scalar, 4>& weights = cpw.weights();
+    const FixedList<label, 3>& faceVertices = cpw.faceVertices();
 
     Type t = this->psi_[cpw.cell()]*weights[0];
     t += psip_[faceVertices[0]]*weights[1];
@@ -79,7 +79,7 @@ inline Type Foam::interpolationCellPoint<Type>::interpolate
         }
     }
 
-    List<scalar> weights;
+    FixedList<scalar, 4> weights;
 
     tetIs.tet(this->pMesh_).barycentric(position, weights);
 
diff --git a/src/finiteVolume/interpolation/interpolation/interpolationCellPointWallModified/interpolationCellPointWallModifiedI.H b/src/finiteVolume/interpolation/interpolation/interpolationCellPointWallModified/interpolationCellPointWallModifiedI.H
index d186113479..803c7a440a 100644
--- a/src/finiteVolume/interpolation/interpolation/interpolationCellPointWallModified/interpolationCellPointWallModifiedI.H
+++ b/src/finiteVolume/interpolation/interpolation/interpolationCellPointWallModified/interpolationCellPointWallModifiedI.H
@@ -31,8 +31,8 @@ inline Type Foam::interpolationCellPointWallModified<Type>::interpolate
     const cellPointWeightWallModified& cpw
 ) const
 {
-    const List<scalar>& weights = cpw.weights();
-    const List<label>& faceVertices = cpw.faceVertices();
+    const FixedList<scalar, 4>& weights = cpw.weights();
+    const FixedList<label, 3>& faceVertices = cpw.faceVertices();
 
     Type t = this->psi_[cpw.cell()]*weights[0];
     t += this->psip_[faceVertices[0]]*weights[1];
diff --git a/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/Dual/Dual.C b/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/Dual/Dual.C
index 6fefd0410b..c0974c6a89 100644
--- a/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/Dual/Dual.C
+++ b/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/Dual/Dual.C
@@ -55,9 +55,7 @@ Foam::AveragingMethods::Dual<Type>::Dual
     volumeCell_(mesh.V()),
     volumeDual_(mesh.nPoints(), 0.0),
     dataCell_(FieldField<Field, Type>::operator[](0)),
-    dataDual_(FieldField<Field, Type>::operator[](1)),
-    tetVertices_(3),
-    tetCoordinates_(4)
+    dataDual_(FieldField<Field, Type>::operator[](1))
 {
     forAll(this->mesh_.C(), celli)
     {
@@ -123,7 +121,10 @@ void Foam::AveragingMethods::Dual<Type>::tetGeometry
 
     tetIs.tet(this->mesh_).barycentric(position, tetCoordinates_);
 
-    tetCoordinates_ = max(tetCoordinates_, scalar(0));
+    forAll(tetCoordinates_, i)
+    {
+        tetCoordinates_[i] = max(tetCoordinates_[i], scalar(0));
+    }
 }
 
 
diff --git a/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/Dual/Dual.H b/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/Dual/Dual.H
index c9cc862dd4..94c2a33251 100644
--- a/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/Dual/Dual.H
+++ b/src/lagrangian/intermediate/submodels/MPPIC/AveragingMethods/Dual/Dual.H
@@ -91,10 +91,10 @@ private:
         Field<Type>& dataDual_;
 
         //- Tet vertex labels
-        mutable List<label> tetVertices_;
+        mutable FixedList<label, 3> tetVertices_;
 
         //- Tet barycentric coordinates
-        mutable List<scalar> tetCoordinates_;
+        mutable FixedList<scalar, 4> tetCoordinates_;
 
 
     //- Private static member functions
diff --git a/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/Implicit/Implicit.C b/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/Implicit/Implicit.C
index 9f8cb4ef0c..33937408cd 100644
--- a/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/Implicit/Implicit.C
+++ b/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/Implicit/Implicit.C
@@ -340,7 +340,7 @@ Foam::vector Foam::PackingModels::Implicit<CloudType>::velocityCorrection
     const label celli = p.cell();
     const label facei = p.tetFace();
     const tetIndices tetIs(celli, facei, p.tetPt(), mesh);
-    List<scalar> tetCoordinates(4);
+    FixedList<scalar, 4> tetCoordinates;
     tetIs.tet(mesh).barycentric(p.position(), tetCoordinates);
 
     // cell velocity
-- 
GitLab


From a316584c72f65a04b8f7d314e91499d97d3f0bf0 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 30 Sep 2016 18:48:26 +0100
Subject: [PATCH 82/96] Field: Added constructor from UIndirectList

Patch contributed by Mattijs Janssens
---
 src/OpenFOAM/fields/Fields/Field/Field.C | 7 +++++++
 src/OpenFOAM/fields/Fields/Field/Field.H | 3 +++
 2 files changed, 10 insertions(+)

diff --git a/src/OpenFOAM/fields/Fields/Field/Field.C b/src/OpenFOAM/fields/Fields/Field/Field.C
index ea27071fdd..7200dfbd0b 100644
--- a/src/OpenFOAM/fields/Fields/Field/Field.C
+++ b/src/OpenFOAM/fields/Fields/Field/Field.C
@@ -244,6 +244,13 @@ Foam::Field<Type>::Field(const UList<Type>& list)
 {}
 
 
+template<class Type>
+Foam::Field<Type>::Field(const UIndirectList<Type>& list)
+:
+    List<Type>(list)
+{}
+
+
 #ifndef NoConstructFromTmp
 template<class Type>
 Foam::Field<Type>::Field(const tmp<Field<Type>>& tf)
diff --git a/src/OpenFOAM/fields/Fields/Field/Field.H b/src/OpenFOAM/fields/Fields/Field/Field.H
index 87715a2416..245870e07c 100644
--- a/src/OpenFOAM/fields/Fields/Field/Field.H
+++ b/src/OpenFOAM/fields/Fields/Field/Field.H
@@ -123,6 +123,9 @@ public:
         //- Construct as copy of a UList\<Type\>
         explicit Field(const UList<Type>&);
 
+        //- Construct as copy of a UIndirectList\<Type\>
+        explicit Field(const UIndirectList<Type>&);
+
         //- Construct by transferring the List contents
         explicit Field(const Xfer<List<Type>>&);
 
-- 
GitLab


From 298003f3332124c43179e25770fb54f16d4af66d Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Fri, 30 Sep 2016 18:49:38 +0100
Subject: [PATCH 83/96] Map, SortableList: Added constructors from and
 assignment to initializer list

Patch based on contribution from Mattijs Janssens
Resolves http://bugs.openfoam.org/view.php?id=2276
---
 src/OpenFOAM/containers/HashTables/Map/Map.H  |  5 ++++
 .../Lists/SortableList/SortableList.C         | 28 +++++++++++++++----
 .../Lists/SortableList/SortableList.H         | 23 +++++++++------
 3 files changed, 41 insertions(+), 15 deletions(-)

diff --git a/src/OpenFOAM/containers/HashTables/Map/Map.H b/src/OpenFOAM/containers/HashTables/Map/Map.H
index 46de9dbedb..8ef2f560bc 100644
--- a/src/OpenFOAM/containers/HashTables/Map/Map.H
+++ b/src/OpenFOAM/containers/HashTables/Map/Map.H
@@ -91,6 +91,11 @@ public:
             HashTable<T, label, Hash<label>>(map)
         {}
 
+        //- Construct from an initializer list
+        Map(std::initializer_list<Tuple2<label, T>> map)
+        :
+            HashTable<T, label, Hash<label>>(map)
+        {}
 };
 
 
diff --git a/src/OpenFOAM/containers/Lists/SortableList/SortableList.C b/src/OpenFOAM/containers/Lists/SortableList/SortableList.C
index 784b1f9e1d..fbafc9cf0f 100644
--- a/src/OpenFOAM/containers/Lists/SortableList/SortableList.C
+++ b/src/OpenFOAM/containers/Lists/SortableList/SortableList.C
@@ -72,6 +72,15 @@ Foam::SortableList<T>::SortableList(const SortableList<T>& lst)
 {}
 
 
+template<class T>
+Foam::SortableList<T>::SortableList(std::initializer_list<T> values)
+:
+    List<T>(values)
+{
+    sort();
+}
+
+
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 
@@ -138,20 +147,27 @@ inline void Foam::SortableList<T>::operator=(const T& t)
 
 
 template<class T>
-inline void Foam::SortableList<T>::operator=(const UList<T>& rhs)
+inline void Foam::SortableList<T>::operator=(const UList<T>& lst)
 {
-    List<T>::operator=(rhs);
+    List<T>::operator=(lst);
     indices_.clear();
 }
 
 
 template<class T>
-inline void Foam::SortableList<T>::operator=(const SortableList<T>& rhs)
+inline void Foam::SortableList<T>::operator=(const SortableList<T>& lst)
 {
-    List<T>::operator=(rhs);
-    indices_ = rhs.indices();
+    List<T>::operator=(lst);
+    indices_ = lst.indices();
+}
+
+
+template<class T>
+inline void Foam::SortableList<T>::operator=(std::initializer_list<T> lst)
+{
+    List<T>::operator=(lst);
+    sort();
 }
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 // ************************************************************************* //
diff --git a/src/OpenFOAM/containers/Lists/SortableList/SortableList.H b/src/OpenFOAM/containers/Lists/SortableList/SortableList.H
index a6f4b4586c..65fb6dc7f4 100644
--- a/src/OpenFOAM/containers/Lists/SortableList/SortableList.H
+++ b/src/OpenFOAM/containers/Lists/SortableList/SortableList.H
@@ -67,33 +67,36 @@ public:
         //- Null constructor, sort later (eg, after assignment or transfer)
         SortableList();
 
-        //- Construct from UList, sorting immediately.
+        //- Construct from UList, sorting immediately
         explicit SortableList(const UList<T>&);
 
-        //- Construct from transferred List, sorting immediately.
+        //- Construct from transferred List, sorting immediately
         explicit SortableList(const Xfer<List<T>>&);
 
-        //- Construct given size. Sort later on.
+        //- Construct given size. Sort later on
         //  The indices remain empty until the list is sorted
         explicit SortableList(const label size);
 
-        //- Construct given size and initial value. Sort later on.
+        //- Construct given size and initial value. Sort later on
         //  The indices remain empty until the list is sorted
         SortableList(const label size, const T&);
 
-        //- Construct as copy.
+        //- Construct as copy
         SortableList(const SortableList<T>&);
 
+        //- Construct from an initializer list, sorting immediately
+        SortableList(std::initializer_list<T>);
+
 
     // Member Functions
 
-        //- Return the list of sorted indices. Updated every sort.
+        //- Return the list of sorted indices. Updated every sort
         const labelList& indices() const
         {
             return indices_;
         }
 
-        //- Return non-const access to the sorted indices. Updated every sort.
+        //- Return non-const access to the sorted indices. Updated every sort
         labelList& indices()
         {
             return indices_;
@@ -121,12 +124,14 @@ public:
         //- Assignment of all entries to the given value
         inline void operator=(const T&);
 
-        //- Assignment to UList operator. Takes linear time.
+        //- Assignment to UList operator. Takes linear time
         inline void operator=(const UList<T>&);
 
-        //- Assignment operator. Takes linear time.
+        //- Assignment operator. Takes linear time
         inline void operator=(const SortableList<T>&);
 
+        //- Assignment to an initializer list
+        void operator=(std::initializer_list<T>);
 };
 
 
-- 
GitLab


From dbba9060cb4aa63eac20f8eca0b96ab6c660819e Mon Sep 17 00:00:00 2001
From: Andrew Heather <andy@shelob.opencfd.co.uk>
Date: Mon, 3 Oct 2016 08:24:22 +0100
Subject: [PATCH 84/96] STYLE: minor updates

---
 .../chtMultiRegionFoam/windshieldDefrost/system/controlDict   | 2 +-
 wmake/scripts/makeFiles                                       | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/controlDict b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/controlDict
index 61de766e12..f67edeb57d 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/controlDict
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/windshieldDefrost/system/controlDict
@@ -55,7 +55,7 @@ functions
 {
     massFlux
     {
-        type            faceSource;
+        type            surfaceFieldValue;
         libs            ("libfieldFunctionObjects.so");
         enabled         yes;
         writeControl    timeStep; //writeTime;
diff --git a/wmake/scripts/makeFiles b/wmake/scripts/makeFiles
index 62f21baf93..8d5a2c76f3 100755
--- a/wmake/scripts/makeFiles
+++ b/wmake/scripts/makeFiles
@@ -62,8 +62,8 @@ echo >> Make/files
 
 for file in `find . -name "*.[cCylLfF]" -type f -print`
 do
-    fileName=`echo ${file##*/}`
-    pathName=`echo ${file%/*} | sed 's%^\.%%' | sed 's%^/%%' | $dirToString`
+    fileName=${file##*/}
+    pathName=`echo ${file%/*} | sed -e 's%^\.%%' -e 's%^/%%' | $dirToString`
 
     if [ -n "$pathName" ]
     then
-- 
GitLab


From 24bf27f9cd280d1ff58b2c14ae4d45920033b7f5 Mon Sep 17 00:00:00 2001
From: mattijs <mattijs>
Date: Mon, 3 Oct 2016 13:55:30 +0100
Subject: [PATCH 85/96] ENH: surfaceCheck: added -outputThreshold option to
 manage file writing

---
 .../surface/surfaceCheck/surfaceCheck.C       | 124 +++++++++++-------
 1 file changed, 73 insertions(+), 51 deletions(-)

diff --git a/applications/utilities/surface/surfaceCheck/surfaceCheck.C b/applications/utilities/surface/surfaceCheck/surfaceCheck.C
index c45d088c0f..ca2320a434 100644
--- a/applications/utilities/surface/surfaceCheck/surfaceCheck.C
+++ b/applications/utilities/surface/surfaceCheck/surfaceCheck.C
@@ -30,6 +30,26 @@ Group
 Description
     Checks geometric and topological quality of a surface.
 
+Usage
+    - surfaceCheck surfaceFile [OPTION]
+
+    \param -checkSelfIntersection \n
+    Check for self-intersection.
+
+    \param -splitNonManifold \n
+    Split surface along non-manifold edges.
+
+    \param -verbose \n
+    Extra verbosity.
+
+    \param -blockMesh \n
+    Write vertices/blocks for tight-fitting 1 cell blockMeshDict.
+
+    \param -outputThreshold \<num files\> \n
+    Specifies upper limit for the number of files written. This is useful to
+    prevent surfaces with lots of disconnected parts to write lots of files.
+    Default is 10. A special case is 0 which prevents writing any files.
+
 \*---------------------------------------------------------------------------*/
 
 #include "triangle.H"
@@ -356,6 +376,8 @@ int main(int argc, char *argv[])
     const bool checkSelfIntersect = args.optionFound("checkSelfIntersection");
     const bool verbose = args.optionFound("verbose");
     const bool splitNonManifold = args.optionFound("splitNonManifold");
+    label outputThreshold = 10;
+    args.optionReadIfPresent("outputThreshold", outputThreshold);
 
     Info<< "Reading surface from " << surfFileName << " ..." << nl << endl;
 
@@ -465,10 +487,14 @@ int main(int argc, char *argv[])
             Info<< "Surface has " << illegalFaces.size()
                 << " illegal triangles." << endl;
 
-            OFstream str("illegalFaces");
-            Info<< "Dumping conflicting face labels to " << str.name() << endl
-                << "Paste this into the input for surfaceSubset" << endl;
-            str << illegalFaces;
+            if (outputThreshold > 0)
+            {
+                OFstream str("illegalFaces");
+                Info<< "Dumping conflicting face labels to " << str.name()
+                    << endl
+                    << "Paste this into the input for surfaceSubset" << endl;
+                str << illegalFaces;
+            }
         }
         else
         {
@@ -543,6 +569,7 @@ int main(int argc, char *argv[])
         }
 
         // Dump for subsetting
+        if (outputThreshold > 0)
         {
             DynamicList<label> problemFaces(surf.size()/100+1);
 
@@ -723,12 +750,15 @@ int main(int argc, char *argv[])
 
         Info<< "Conflicting face labels:" << problemFaces.size() << endl;
 
-        OFstream str("problemFaces");
+        if (outputThreshold > 0)
+        {
+            OFstream str("problemFaces");
 
-        Info<< "Dumping conflicting face labels to " << str.name() << endl
-            << "Paste this into the input for surfaceSubset" << endl;
+            Info<< "Dumping conflicting face labels to " << str.name() << endl
+                << "Paste this into the input for surfaceSubset" << endl;
 
-        str << problemFaces;
+            str << problemFaces;
+        }
     }
     else
     {
@@ -760,7 +790,7 @@ int main(int argc, char *argv[])
 
         Info<< "Number of unconnected parts : " << numZones << endl;
 
-        if (numZones > 1)
+        if (numZones > 1 && outputThreshold > 0)
         {
             Info<< "Splitting surface into parts ..." << endl << endl;
 
@@ -768,7 +798,7 @@ int main(int argc, char *argv[])
             writeParts
             (
                 surf,
-                numZones,
+                min(outputThreshold, numZones),
                 faceZone,
                 surfFilePath,
                 surfFileNameBase
@@ -808,15 +838,26 @@ int main(int argc, char *argv[])
     if (numNormalZones > 1)
     {
         Info<< "More than one normal orientation." << endl;
-        writeZoning(surf, normalZone, "normal", surfFilePath, surfFileNameBase);
-        writeParts
-        (
-            surf,
-            numNormalZones,
-            normalZone,
-            surfFilePath,
-            surfFileNameBase + "_normal"
-        );
+
+        if (outputThreshold > 0)
+        {
+            writeZoning
+            (
+                surf,
+                normalZone,
+                "normal",
+                surfFilePath,
+                surfFileNameBase
+            );
+            writeParts
+            (
+                surf,
+                min(outputThreshold, numNormalZones),
+                normalZone,
+                surfFilePath,
+                surfFileNameBase + "_normal"
+            );
+        }
     }
     Info<< endl;
 
@@ -833,7 +874,11 @@ int main(int argc, char *argv[])
 
         const indexedOctree<treeDataTriSurface>& tree = querySurf.tree();
 
-        OBJstream intStream("selfInterPoints.obj");
+        autoPtr<OBJstream> intStreamPtr;
+        if (outputThreshold > 0)
+        {
+            intStreamPtr.reset(new OBJstream("selfInterPoints.obj"));
+        }
 
         label nInt = 0;
 
@@ -855,9 +900,9 @@ int main(int argc, char *argv[])
                 )
             );
 
-            if (hitInfo.hit())
+            if (hitInfo.hit() && intStreamPtr.valid())
             {
-                intStream.write(hitInfo.hitPoint());
+                intStreamPtr().write(hitInfo.hitPoint());
                 nInt++;
             }
         }
@@ -870,36 +915,13 @@ int main(int argc, char *argv[])
         {
             Info<< "Surface is self-intersecting at " << nInt
                 << " locations." << endl;
-            Info<< "Writing intersection points to " << intStream.name()
-                << endl;
-        }
 
-        //surfaceIntersection inter(querySurf);
-        //
-        //if (inter.cutEdges().empty() && inter.cutPoints().empty())
-        //{
-        //    Info<< "Surface is not self-intersecting" << endl;
-        //}
-        //else
-        //{
-        //    Info<< "Surface is self-intersecting" << endl;
-        //    Info<< "Writing edges of intersection to selfInter.obj" << endl;
-        //
-        //    OFstream intStream("selfInter.obj");
-        //    forAll(inter.cutPoints(), cutPointI)
-        //    {
-        //        const point& pt = inter.cutPoints()[cutPointI];
-        //
-        //        intStream << "v " << pt.x() << ' ' << pt.y() << ' ' << pt.z()
-        //            << endl;
-        //    }
-        //    forAll(inter.cutEdges(), cutEdgeI)
-        //    {
-        //        const edge& e = inter.cutEdges()[cutEdgeI];
-        //
-        //        intStream << "l " << e.start()+1 << ' ' << e.end()+1 << endl;
-        //    }
-        //}
+            if (intStreamPtr.valid())
+            {
+                Info<< "Writing intersection points to "
+                    << intStreamPtr().name() << endl;
+            }
+        }
         Info<< endl;
     }
 
-- 
GitLab


From 19e46ca6b8a318c7446499f92da989dd64cd5183 Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Mon, 3 Oct 2016 16:38:19 +0200
Subject: [PATCH 86/96] ENH: provide direct access to raw pointer/reference
 from autoPtr (issue #252)

All of the access methods for autoPtr include validity checks and will
fail if the underlying point is NULL. In some cases, however, we'd
like to retain the automatic deletion mechanism, but still address a
nullptr. This is mostly for cases in which a file-stream should be
allocated, but only on the master process. For these cases we'd still
like to pass through and reference the underlying pointer (eg, to
obtain the correct method call) without tripping the pointer check
mechanism. If we attempt to use the ptr() method, the autoPtr memory
management is bypassed and we risk memory leaks.

Instead provide an alternative mechanism to obtain the raw underlying
pointers/references. Use rawPtr() and rawRef() for these potentially
useful, but also potentially dangerous, operations.
---
 src/OpenFOAM/memory/autoPtr/autoPtr.H  | 16 ++++++++++++----
 src/OpenFOAM/memory/autoPtr/autoPtrI.H | 18 ++++++++++++++++--
 2 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/src/OpenFOAM/memory/autoPtr/autoPtr.H b/src/OpenFOAM/memory/autoPtr/autoPtr.H
index a8802f23a9..00b8ed7809 100644
--- a/src/OpenFOAM/memory/autoPtr/autoPtr.H
+++ b/src/OpenFOAM/memory/autoPtr/autoPtr.H
@@ -106,11 +106,19 @@ public:
 
         // Access
 
-            //- Return reference, without checking pointer validity.
-            inline T& refOrNull();
+            //- Return the pointer, without nullptr checking.
+            //  Pointer remains under autoPtr management.
+            inline T* rawPtr();
 
-            //- Return const reference, without checking pointer validity.
-            inline const T& refOrNull() const;
+            //- Const access to the pointer, without nullptr checking.
+            //  Pointer remains under autoPtr management.
+            inline const T* rawPtr() const;
+
+            //- Return the reference, without nullptr checking.
+            inline T& rawRef();
+
+            //- Return the const reference, without nullptr checking.
+            inline const T& rawRef() const;
 
 
         // Member operators
diff --git a/src/OpenFOAM/memory/autoPtr/autoPtrI.H b/src/OpenFOAM/memory/autoPtr/autoPtrI.H
index 7440bdce69..c1e6b14464 100644
--- a/src/OpenFOAM/memory/autoPtr/autoPtrI.H
+++ b/src/OpenFOAM/memory/autoPtr/autoPtrI.H
@@ -130,14 +130,28 @@ inline void Foam::autoPtr<T>::clear()
 
 
 template<class T>
-inline T& Foam::autoPtr<T>::refOrNull()
+inline T* Foam::autoPtr<T>::rawPtr()
+{
+    return ptr_;
+}
+
+
+template<class T>
+inline const T* Foam::autoPtr<T>::rawPtr() const
+{
+    return ptr_;
+}
+
+
+template<class T>
+inline T& Foam::autoPtr<T>::rawRef()
 {
     return *ptr_;
 }
 
 
 template<class T>
-inline const T& Foam::autoPtr<T>::refOrNull() const
+inline const T& Foam::autoPtr<T>::rawRef() const
 {
     return *ptr_;
 }
-- 
GitLab


From 18ab8abdf472aa6f01526a7f4404922378137ac1 Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Mon, 6 Jun 2016 11:51:05 +0100
Subject: [PATCH 87/96] ENH: cleanup Ostream to ease usage (issue #254)

- Include newline in beginBlock/endBlock, since this corresponds to
  the standard usage. The beginBlock now takes keyType instead of word.

- Provide Ostream::writeEntry method to reduce clutter and simplify
  writing of entries.

  Before
  ======
      os << indent << "name" << nl
         << indent << token::BEGIN_BLOCK << incrIndent << nl;
      os.writeKeyword("key1") << val1 << token::END_STATEMENT << nl;
      os.writeKeyword("key2") << val2 << token::END_STATEMENT << nl;
      os << decrIndent << indent << token::END_BLOCK << nl;

  After
  =====
      os.beginBlock("name");
      os.writeEntry("key1", val1);
      os.writeEntry("key2", val2);
      os.endBlock();

- For completeness, support inline use of various Ostream methods.
  For example,

      os << beginBlock;
      os.writeEntry("key1", val1);
      os.writeEntry("key2", val2);
      os << endBlock;

- For those who wish to write in long form, can also use endEntry inline:

      os.beginBlock("name");
      os.writeKeyword("key1") << val2 << endEntry;
      os.writeKeyword("key2") << val2 << endEntry;
      os.endBlock();

The endEntry encapsulates a semi-colon, newline combination.
---
 src/OpenFOAM/db/IOstreams/IOstreams/Ostream.C | 20 ++++---
 src/OpenFOAM/db/IOstreams/IOstreams/Ostream.H | 58 ++++++++++++++++---
 src/OpenFOAM/db/dictionary/dictionaryIO.C     |  4 +-
 .../GeometricField/GeometricBoundaryField.C   |  8 +--
 src/OpenFOAM/global/profiling/profiling.C     | 51 ++++++----------
 .../global/profiling/profilingSysInfo.C       | 21 ++-----
 .../global/profiling/profilingSysInfo.H       | 14 -----
 .../polyBoundaryMesh/polyBoundaryMesh.C       |  4 +-
 .../meshes/primitiveShapes/plane/plane.C      | 11 ++--
 .../primitives/functions/Function1/CSV/CSV.C  | 37 ++++--------
 .../functions/Function1/Sine/Sine.C           |  8 +--
 .../functions/Function1/Square/Square.C       | 10 ++--
 .../functions/Function1/TableFile/TableFile.C |  9 +--
 13 files changed, 124 insertions(+), 131 deletions(-)

diff --git a/src/OpenFOAM/db/IOstreams/IOstreams/Ostream.C b/src/OpenFOAM/db/IOstreams/IOstreams/Ostream.C
index 4131da7af4..754c5fb185 100644
--- a/src/OpenFOAM/db/IOstreams/IOstreams/Ostream.C
+++ b/src/OpenFOAM/db/IOstreams/IOstreams/Ostream.C
@@ -79,11 +79,9 @@ Foam::Ostream& Foam::Ostream::writeKeyword(const keyType& kw)
 }
 
 
-Foam::Ostream& Foam::Ostream::beginBlock(const word& keyword)
+Foam::Ostream& Foam::Ostream::beginBlock(const keyType& keyword)
 {
-    indent();
-    write(keyword);
-    endl();
+    indent(); write(keyword); write('\n');
     beginBlock();
 
     return *this;
@@ -92,8 +90,7 @@ Foam::Ostream& Foam::Ostream::beginBlock(const word& keyword)
 
 Foam::Ostream& Foam::Ostream::beginBlock()
 {
-    indent();
-    write(char(token::BEGIN_BLOCK));
+    indent(); write(char(token::BEGIN_BLOCK)); write('\n');
     incrIndent();
 
     return *this;
@@ -103,8 +100,15 @@ Foam::Ostream& Foam::Ostream::beginBlock()
 Foam::Ostream& Foam::Ostream::endBlock()
 {
     decrIndent();
-    indent();
-    write(char(token::END_BLOCK));
+    indent(); write(char(token::END_BLOCK)); write('\n');
+
+    return *this;
+}
+
+
+Foam::Ostream& Foam::Ostream::endEntry()
+{
+    write(char(token::END_STATEMENT)); write('\n');
 
     return *this;
 }
diff --git a/src/OpenFOAM/db/IOstreams/IOstreams/Ostream.H b/src/OpenFOAM/db/IOstreams/IOstreams/Ostream.H
index 0bd02a5b55..1634689c64 100644
--- a/src/OpenFOAM/db/IOstreams/IOstreams/Ostream.H
+++ b/src/OpenFOAM/db/IOstreams/IOstreams/Ostream.H
@@ -154,33 +154,47 @@ public:
                 return indentLevel_;
             }
 
-            //- Incrememt the indent level
+            //- Increment the indent level
             void incrIndent()
             {
                 ++indentLevel_;
             }
 
-            //- Decrememt the indent level
+            //- Decrement the indent level
             void decrIndent();
 
             //- Write the keyword followed by an appropriate indentation
             virtual Ostream& writeKeyword(const keyType&);
 
             //- Write begin block group with the given name
-            //  Uses the appropriate indentation,
-            //  does not include a trailing newline.
-            virtual Ostream& beginBlock(const word&);
+            //  Increments indentation, adds newline.
+            virtual Ostream& beginBlock(const keyType&);
 
             //- Write begin block group without a name
-            //  Uses the appropriate indentation,
-            //  does not include a trailing newline.
+            //  Increments indentation, adds newline.
             virtual Ostream& beginBlock();
 
             //- Write end block group
-            //  Uses the appropriate indentation,
-            //  does not include a trailing newline.
+            //  Decrements indentation, adds newline.
             virtual Ostream& endBlock();
 
+            //- Write end entry (';') followed by newline.
+            virtual Ostream& endEntry();
+
+            //- Write a keyword/value entry.
+            //  The following two are functionally equivalent:
+            // \code
+            // os.writeEntry(key, value);
+            //
+            // os.writeKeyword(key) << value << endEntry;
+            // \endcode
+            template<class T>
+            Ostream& writeEntry(const keyType& key, const T& value)
+            {
+                writeKeyword(key) << value;
+                return endEntry();
+            }
+
 
         // Stream state functions
 
@@ -273,6 +287,32 @@ inline Ostream& endl(Ostream& os)
 }
 
 
+//- Write begin block group without a name
+//  Increments indentation, adds newline.
+inline Ostream& beginBlock(Ostream& os)
+{
+    os.beginBlock();
+    return os;
+}
+
+
+//- Write end block group
+//  Decrements indentation, adds newline.
+inline Ostream& endBlock(Ostream& os)
+{
+    os.endBlock();
+    return os;
+}
+
+
+//- Write end entry (';') followed by newline.
+inline Ostream& endEntry(Ostream& os)
+{
+    os.endEntry();
+    return os;
+}
+
+
 // Useful aliases for tab and newline characters
 static const char tab = '\t';
 static const char nl = '\n';
diff --git a/src/OpenFOAM/db/dictionary/dictionaryIO.C b/src/OpenFOAM/db/dictionary/dictionaryIO.C
index d2880798fc..b9db794b80 100644
--- a/src/OpenFOAM/db/dictionary/dictionaryIO.C
+++ b/src/OpenFOAM/db/dictionary/dictionaryIO.C
@@ -175,7 +175,7 @@ void Foam::dictionary::write(Ostream& os, bool subDict) const
     if (subDict)
     {
         os  << nl;
-        os.beginBlock() << nl;
+        os.beginBlock();
     }
 
     forAllConstIter(IDLList<entry>, *this, iter)
@@ -203,7 +203,7 @@ void Foam::dictionary::write(Ostream& os, bool subDict) const
 
     if (subDict)
     {
-        os.endBlock() << endl;
+        os.endBlock() << flush;
     }
 }
 
diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C
index fe43d9225d..7e273aa9fd 100644
--- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C
+++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C
@@ -569,16 +569,16 @@ template<class Type, template<class> class PatchField, class GeoMesh>
 void Foam::GeometricField<Type, PatchField, GeoMesh>::Boundary::
 writeEntry(const word& keyword, Ostream& os) const
 {
-    os.beginBlock(keyword) << nl;
+    os.beginBlock(keyword);
 
     forAll(*this, patchi)
     {
-        os.beginBlock(this->operator[](patchi).patch().name()) << nl;
+        os.beginBlock(this->operator[](patchi).patch().name());
         os  << this->operator[](patchi);
-        os.endBlock() << endl;
+        os.endBlock();
     }
 
-    os.endBlock() << endl;
+    os.endBlock() << flush;
 
     // Check state of IOstream
     os.check
diff --git a/src/OpenFOAM/global/profiling/profiling.C b/src/OpenFOAM/global/profiling/profiling.C
index 6471022850..10c61852ad 100644
--- a/src/OpenFOAM/global/profiling/profiling.C
+++ b/src/OpenFOAM/global/profiling/profiling.C
@@ -41,17 +41,6 @@ Foam::label Foam::profiling::Information::nextId_(0);
 
 // * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * //
 
-// file-scope function
-template<class T>
-inline static void writeEntry
-(
-    Foam::Ostream& os, const Foam::word& key, const T& value
-)
-{
-    os.writeKeyword(key) << value << Foam::token::END_STATEMENT << '\n';
-}
-
-
 Foam::label Foam::profiling::Information::getNextId()
 {
     return nextId_++;
@@ -369,7 +358,7 @@ void Foam::profiling::Information::update(const scalar& elapsed)
 
 bool Foam::profiling::writeData(Ostream& os) const
 {
-    os.beginBlock("profiling") << nl; // FUTURE: without nl
+    os.beginBlock("profiling");
 
     // Add extra new line between entries
     label nTrigger = 0;
@@ -420,22 +409,22 @@ bool Foam::profiling::writeData(Ostream& os) const
         }
     }
 
-    os.endBlock() << nl; // FUTURE: without nl
+    os.endBlock();
 
     if (sysInfo_)
     {
         os << nl;
-        os.beginBlock("sysInfo") << nl; // FUTURE: without nl
+        os.beginBlock("sysInfo");
         sysInfo_->write(os);
-        os.endBlock() << nl; // FUTURE: without nl
+        os.endBlock();
     }
 
     if (cpuInfo_)
     {
         os << nl;
-        os.beginBlock("cpuInfo") << nl; // FUTURE: without nl
+        os.beginBlock("cpuInfo");
         cpuInfo_->write(os);
-        os.endBlock() << nl; // FUTURE: without nl
+        os.endBlock();
     }
 
     if (memInfo_)
@@ -443,10 +432,10 @@ bool Foam::profiling::writeData(Ostream& os) const
         memInfo_->update();
 
         os << nl;
-        os.beginBlock("memInfo") << nl; // FUTURE: without nl
+        os.beginBlock("memInfo");
         memInfo_->write(os);
-        writeEntry(os, "units", "kB");
-        os.endBlock() << nl; // FUTURE: without nl
+        os.writeEntry("units", "kB");
+        os.endBlock();
     }
 
     return os;
@@ -536,26 +525,24 @@ Foam::Ostream& Foam::profiling::Information::write
 {
     // write in dictionary format
 
-    os.beginBlock("trigger" + Foam::name(id_)) << nl; // FUTURE: without nl
-
-    // FUTURE: os.writeEntry(key, value);
+    os.beginBlock(word("trigger" + Foam::name(id_)));
 
-    writeEntry(os, "id",            id_);
+    os.writeEntry("id",             id_);
     if (id_ != parent().id())
     {
-        writeEntry(os, "parentId",  parent().id());
+        os.writeEntry("parentId",   parent().id());
     }
-    writeEntry(os, "description",   description());
-    writeEntry(os, "calls",         calls()     + (offset ? 1 : 0));
-    writeEntry(os, "totalTime",     totalTime() + elapsedTime);
-    writeEntry(os, "childTime",     childTime() + childTimes);
+    os.writeEntry("description",    description());
+    os.writeEntry("calls",          calls()     + (offset ? 1 : 0));
+    os.writeEntry("totalTime",      totalTime() + elapsedTime);
+    os.writeEntry("childTime",      childTime() + childTimes);
     if (maxMem_)
     {
-        writeEntry(os, "maxMem",    maxMem_);
+        os.writeEntry("maxMem",     maxMem_);
     }
-    writeEntry(os, "onStack",       Switch(onStack()));
+    os.writeEntry("onStack",        Switch(onStack()));
 
-    os.endBlock() << nl; // FUTURE: without nl
+    os.endBlock();
 
     return os;
 }
diff --git a/src/OpenFOAM/global/profiling/profilingSysInfo.C b/src/OpenFOAM/global/profiling/profilingSysInfo.C
index 9b6ff2f34b..51b0601736 100644
--- a/src/OpenFOAM/global/profiling/profilingSysInfo.C
+++ b/src/OpenFOAM/global/profiling/profilingSysInfo.C
@@ -29,17 +29,6 @@ License
 
 // * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * //
 
-// file-scope function
-template<class T>
-inline static void writeEntry
-(
-    Foam::Ostream& os, const Foam::word& key, const T& value
-)
-{
-    os.writeKeyword(key) << value << Foam::token::END_STATEMENT << '\n';
-}
-
-
 // file-scope function
 inline static void printEnv
 (
@@ -49,7 +38,7 @@ inline static void printEnv
     const std::string value = getEnv(envName);
     if (!value.empty())
     {
-        writeEntry(os, key, value);
+        os.writeEntry(key, value);
     }
 }
 
@@ -74,12 +63,12 @@ Foam::Ostream& Foam::profiling::sysInfo::write
     Ostream& os
 ) const
 {
-    writeEntry(os, "host", hostName(false)); // short name
-    writeEntry(os, "date", clock::dateTime());
+    os.writeEntry("host",       hostName(false)); // short name
+    os.writeEntry("date",       clock::dateTime());
 
     // compile-time information
-    writeEntry(os, "version",     std::string(FOAMversion));
-    writeEntry(os, "build",       std::string(FOAMbuild));
+    os.writeEntry("version",    std::string(FOAMversion));
+    os.writeEntry("build",      std::string(FOAMbuild));
 
     printEnv(os, "arch",         "WM_ARCH");
     printEnv(os, "compilerType", "WM_COMPILER_TYPE");
diff --git a/src/OpenFOAM/global/profiling/profilingSysInfo.H b/src/OpenFOAM/global/profiling/profilingSysInfo.H
index 26201fac36..b2e84f888f 100644
--- a/src/OpenFOAM/global/profiling/profilingSysInfo.H
+++ b/src/OpenFOAM/global/profiling/profilingSysInfo.H
@@ -51,12 +51,6 @@ class Ostream;
 
 class profiling::sysInfo
 {
-    // Private Static Data Members
-
-
-    // Private Data Members
-
-
     // Private Member Functions
 
         //- Disallow default bitwise copy construct
@@ -72,9 +66,6 @@ protected:
 
         friend class profiling;
 
-
-    // Member Functions
-
 public:
 
 
@@ -90,11 +81,6 @@ public:
 
     // Member Functions
 
-    // Access
-
-
-    // Edit
-
         //- Update it with a new timing information
         void update();
 
diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C
index aa619792c3..edb37c727b 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C
@@ -1120,9 +1120,9 @@ bool Foam::polyBoundaryMesh::writeData(Ostream& os) const
 
     forAll(patches, patchi)
     {
-        os.beginBlock(patches[patchi].name()) << nl;
+        os.beginBlock(patches[patchi].name());
         os  << patches[patchi];
-        os.endBlock() << endl;
+        os.endBlock();
     }
 
     os  << decrIndent << token::END_LIST;
diff --git a/src/OpenFOAM/meshes/primitiveShapes/plane/plane.C b/src/OpenFOAM/meshes/primitiveShapes/plane/plane.C
index 06a08a3598..99539ee2c6 100644
--- a/src/OpenFOAM/meshes/primitiveShapes/plane/plane.C
+++ b/src/OpenFOAM/meshes/primitiveShapes/plane/plane.C
@@ -449,15 +449,14 @@ Foam::point Foam::plane::mirror(const point& p) const
 
 void Foam::plane::writeDict(Ostream& os) const
 {
-    os.writeKeyword("planeType") << "pointAndNormal"
-        << token::END_STATEMENT << nl;
+    os.writeEntry("planeType", "pointAndNormal");
 
-    os.beginBlock("pointAndNormalDict") << nl;
+    os.beginBlock("pointAndNormalDict");
 
-    os.writeKeyword("point") << point_ << token::END_STATEMENT << nl;
-    os.writeKeyword("normal") << normal_ << token::END_STATEMENT << nl;
+    os.writeEntry("point",  point_);
+    os.writeEntry("normal", normal_);
 
-    os.endBlock() << endl;
+    os.endBlock() << flush;
 }
 
 
diff --git a/src/OpenFOAM/primitives/functions/Function1/CSV/CSV.C b/src/OpenFOAM/primitives/functions/Function1/CSV/CSV.C
index a929f868ee..9d2d858174 100644
--- a/src/OpenFOAM/primitives/functions/Function1/CSV/CSV.C
+++ b/src/OpenFOAM/primitives/functions/Function1/CSV/CSV.C
@@ -263,41 +263,28 @@ template<class Type>
 void Foam::Function1Types::CSV<Type>::writeData(Ostream& os) const
 {
     Function1<Type>::writeData(os);
-    os  << token::END_STATEMENT << nl;
+    os.endEntry();
 
-    os.beginBlock(word(this->name() + "Coeffs")) << nl;
+    os.beginBlock(word(this->name() + "Coeffs"));
 
     // Note: for TableBase write the dictionary entries it needs but not
     // the values themselves
     TableBase<Type>::writeEntries(os);
 
-    os.writeKeyword("nHeaderLine") << nHeaderLine_
-        << token::END_STATEMENT << nl;
-    os.writeKeyword("refColumn") << refColumn_
-        << token::END_STATEMENT << nl;
+    os.writeEntry("nHeaderLine", nHeaderLine_);
+    os.writeEntry("refColumn",   refColumn_);
 
     // Force writing labelList in ascii
-    os.writeKeyword("componentColumns");
-    if (os.format() == IOstream::BINARY)
-    {
-        os.format(IOstream::ASCII);
-        os  << componentColumns_;
-        os.format(IOstream::BINARY);
-    }
-    else
-    {
-        os  << componentColumns_;
-    }
-    os  << token::END_STATEMENT << nl;
+    const enum IOstream::streamFormat fmt = os.format();
+    os.format(IOstream::ASCII);
+    os.writeEntry("componentColumns", componentColumns_);
+    os.format(fmt);
 
-    os.writeKeyword("separator") << string(separator_)
-        << token::END_STATEMENT << nl;
-    os.writeKeyword("mergeSeparators") << mergeSeparators_
-        << token::END_STATEMENT << nl;
-    os.writeKeyword("fileName") << fName_
-        << token::END_STATEMENT << nl;
+    os.writeEntry("separator",       string(separator_));
+    os.writeEntry("mergeSeparators", mergeSeparators_);
+    os.writeEntry("fileName",        fName_);
 
-    os.endBlock() << endl;
+    os.endBlock() << flush;
 }
 
 
diff --git a/src/OpenFOAM/primitives/functions/Function1/Sine/Sine.C b/src/OpenFOAM/primitives/functions/Function1/Sine/Sine.C
index 85a7aefe04..a11acd4df8 100644
--- a/src/OpenFOAM/primitives/functions/Function1/Sine/Sine.C
+++ b/src/OpenFOAM/primitives/functions/Function1/Sine/Sine.C
@@ -89,17 +89,17 @@ template<class Type>
 void Foam::Function1Types::Sine<Type>::writeData(Ostream& os) const
 {
     Function1<Type>::writeData(os);
-    os  << token::END_STATEMENT << nl;
+    os.endEntry();
 
-    os.beginBlock(word(this->name() + "Coeffs")) << nl;
+    os.beginBlock(word(this->name() + "Coeffs"));
 
-    os.writeKeyword("t0") << t0_ << token::END_STATEMENT << nl;
+    os.writeEntry("t0", t0_);
     amplitude_->writeData(os);
     frequency_->writeData(os);
     scale_->writeData(os);
     level_->writeData(os);
 
-    os.endBlock() << endl;
+    os.endBlock() << flush;
 }
 
 
diff --git a/src/OpenFOAM/primitives/functions/Function1/Square/Square.C b/src/OpenFOAM/primitives/functions/Function1/Square/Square.C
index 9c55e8800e..0e258bc30e 100644
--- a/src/OpenFOAM/primitives/functions/Function1/Square/Square.C
+++ b/src/OpenFOAM/primitives/functions/Function1/Square/Square.C
@@ -102,18 +102,18 @@ template<class Type>
 void Foam::Function1Types::Square<Type>::writeData(Ostream& os) const
 {
     Function1<Type>::writeData(os);
-    os  << token::END_STATEMENT << nl;
+    os.endEntry();
 
-    os.beginBlock(word(this->name() + "Coeffs")) << nl;
+    os.beginBlock(word(this->name() + "Coeffs"));
 
-    os.writeKeyword("t0") << t0_ << token::END_STATEMENT << nl;
-    os.writeKeyword("markSpace") << markSpace_ << token::END_STATEMENT << nl;
+    os.writeEntry("t0", t0_);
+    os.writeEntry("markSpace", markSpace_);
     amplitude_->writeData(os);
     frequency_->writeData(os);
     scale_->writeData(os);
     level_->writeData(os);
 
-    os.endBlock() << endl;
+    os.endBlock() << flush;
 }
 
 
diff --git a/src/OpenFOAM/primitives/functions/Function1/TableFile/TableFile.C b/src/OpenFOAM/primitives/functions/Function1/TableFile/TableFile.C
index 414e616077..3682836999 100644
--- a/src/OpenFOAM/primitives/functions/Function1/TableFile/TableFile.C
+++ b/src/OpenFOAM/primitives/functions/Function1/TableFile/TableFile.C
@@ -78,16 +78,17 @@ template<class Type>
 void Foam::Function1Types::TableFile<Type>::writeData(Ostream& os) const
 {
     Function1<Type>::writeData(os);
-    os  << token::END_STATEMENT << nl;
+    os.endEntry();
 
-    os.beginBlock(word(this->name() + "Coeffs")) << nl;
+    os.beginBlock(word(this->name() + "Coeffs"));
 
     // Note: for TableBase write the dictionary entries it needs but not
     // the values themselves
     TableBase<Type>::writeEntries(os);
-    os.writeKeyword("fileName")<< fName_ << token::END_STATEMENT << nl;
 
-    os.endBlock() << endl;
+    os.writeEntry("fileName", fName_);
+
+    os.endBlock() << flush;
 }
 
 
-- 
GitLab


From fdd6cb50697e21f548943b8fbf920393ddc8b6ac Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Thu, 9 Jun 2016 18:33:56 +0100
Subject: [PATCH 88/96] ENH: subdict output with leading name (issue #255)

- Introduce dictionary::writeEntries for better code-reuse.

  Before
  ======
      os << nl << indent << "name";
      dict.write(os);

  After
  =====
      dict.write(os, "name");
---
 .../test/dictionary/Test-dictionary.C         | 11 ++++---
 src/OpenFOAM/db/dictionary/dictionary.H       | 10 +++++-
 .../dictionaryEntry/dictionaryEntryIO.C       |  7 ++---
 src/OpenFOAM/db/dictionary/dictionaryIO.C     | 31 ++++++++++++++-----
 4 files changed, 40 insertions(+), 19 deletions(-)

diff --git a/applications/test/dictionary/Test-dictionary.C b/applications/test/dictionary/Test-dictionary.C
index 287c63db21..dc55b9902f 100644
--- a/applications/test/dictionary/Test-dictionary.C
+++ b/applications/test/dictionary/Test-dictionary.C
@@ -48,14 +48,13 @@ int main(int argc, char *argv[])
 
     {
         dictionary dict;
-        dict.add("aaOPENMPIcc", 1);
+        dict.add(word("aa" + getEnv("WM_MPLIB") + "cc"), 16);
 
         string s("DDD${aa${WM_MPLIB}cc}EEE");
         stringOps::inplaceExpand(s, dict, true, false);
         Info<< "variable expansion:" << s << endl;
     }
 
-
     Info<< nl
         << "FOAM_CASE=" << getEnv("FOAM_CASE") << nl
         << "FOAM_CASENAME=" << getEnv("FOAM_CASENAME") << nl
@@ -65,7 +64,9 @@ int main(int argc, char *argv[])
     {
         {
             dictionary dict1(IFstream("testDict")());
-            Info<< "dict1: " << dict1 << nl
+            dict1.writeEntry("dict1", Info);
+
+            Info<< nl
                 << "toc: " << dict1.toc() << nl
                 << "keys: " << dict1.keys() << nl
                 << "patterns: " << dict1.keys(true) << endl;
@@ -89,14 +90,14 @@ int main(int argc, char *argv[])
                 << "no = " << dict4.name() << " " << dict4.toc() << endl;
         }
 
-
         IOobject::writeDivider(Info);
 
         {
             dictionary dict(IFstream("testDictRegex")());
             dict.add(keyType("fooba[rz]", true), "anything");
 
-            Info<< "dict:" << dict << nl
+            dict.writeEntry("testDictRegex", Info);
+            Info<< nl
                 << "toc: " << dict.toc() << nl
                 << "keys: " << dict.keys() << nl
                 << "patterns: " << dict.keys(true) << endl;
diff --git a/src/OpenFOAM/db/dictionary/dictionary.H b/src/OpenFOAM/db/dictionary/dictionary.H
index 8c4d544f4d..4a7c728437 100644
--- a/src/OpenFOAM/db/dictionary/dictionary.H
+++ b/src/OpenFOAM/db/dictionary/dictionary.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -503,6 +503,14 @@ public:
 
         // Write
 
+            //- Write sub-dictionary with the keyword as its header
+            void writeEntry(const keyType& keyword, Ostream&) const;
+
+            //- Write dictionary entries.
+            //  Optionally with extra new line between entries for
+            //  "top-level" dictionaries
+            void writeEntries(Ostream&, const bool extraNewLine=false) const;
+
             //- Write dictionary, normally with sub-dictionary formatting
             void write(Ostream&, const bool subDict=true) const;
 
diff --git a/src/OpenFOAM/db/dictionary/dictionaryEntry/dictionaryEntryIO.C b/src/OpenFOAM/db/dictionary/dictionaryEntry/dictionaryEntryIO.C
index 677d5beaac..0b2c5315ec 100644
--- a/src/OpenFOAM/db/dictionary/dictionaryEntry/dictionaryEntryIO.C
+++ b/src/OpenFOAM/db/dictionary/dictionaryEntry/dictionaryEntryIO.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -68,10 +68,7 @@ Foam::dictionaryEntry::dictionaryEntry
 
 void Foam::dictionaryEntry::write(Ostream& os) const
 {
-    // write keyword with indent but without trailing spaces
-    os.indent();
-    os.write(keyword());
-    dictionary::write(os);
+    dictionary::writeEntry(keyword(), os);
 }
 
 
diff --git a/src/OpenFOAM/db/dictionary/dictionaryIO.C b/src/OpenFOAM/db/dictionary/dictionaryIO.C
index b9db794b80..081068488f 100644
--- a/src/OpenFOAM/db/dictionary/dictionaryIO.C
+++ b/src/OpenFOAM/db/dictionary/dictionaryIO.C
@@ -170,14 +170,16 @@ Foam::Istream& Foam::operator>>(Istream& is, dictionary& dict)
 
 // * * * * * * * * * * * * * * Ostream Operator  * * * * * * * * * * * * * * //
 
-void Foam::dictionary::write(Ostream& os, bool subDict) const
+void Foam::dictionary::writeEntry(const keyType& kw, Ostream& os) const
 {
-    if (subDict)
-    {
-        os  << nl;
-        os.beginBlock();
-    }
+    os.beginBlock(kw);
+    writeEntries(os);
+    os.endBlock() << flush;
+}
+
 
+void Foam::dictionary::writeEntries(Ostream& os, const bool extraNewLine) const
+{
     forAllConstIter(IDLList<entry>, *this, iter)
     {
         const entry& e = *iter;
@@ -185,8 +187,9 @@ void Foam::dictionary::write(Ostream& os, bool subDict) const
         // Write entry
         os  << e;
 
-        // Add extra new line between entries for "top-level" dictionaries
-        if (!subDict && parent() == dictionary::null && e != *last())
+        // Add extra new line between entries for "top-level" dictionaries,
+        // but not after the last entry (looks ugly).
+        if (extraNewLine && parent() == dictionary::null && e != *last())
         {
             os  << nl;
         }
@@ -200,6 +203,18 @@ void Foam::dictionary::write(Ostream& os, bool subDict) const
                 << endl;
         }
     }
+}
+
+
+void Foam::dictionary::write(Ostream& os, const bool subDict) const
+{
+    if (subDict)
+    {
+        os  << nl;
+        os.beginBlock();
+    }
+
+    writeEntries(os, !subDict);
 
     if (subDict)
     {
-- 
GitLab


From 7dbde55f16814bcc03a2e3a3f412546696fcdd44 Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Fri, 1 Jul 2016 08:23:13 +0200
Subject: [PATCH 89/96] ENH: provide formatting version of Foam::name()  
 (issue #253)

- there are some cases in which the C-style sprintf is much more
  convenient, albeit problematic for buffer overwrites.

  Provide a formatting version of Foam::name() for language
  primitives that is buffer-safe.

  Returns a Foam::word, so that further output will be unquoted, but
  without any checking that the characters are indeed entirely valid
  word characters.

  Example use,
      i = 1234;
      s = Foam::name("%08d", i);
      produces '00001234'

  Alternative using string streams:

      std::ostringstream buf;
      buf.fill('0');
      buf << setw(8) << i;
      s = buf.str();

  Note that the format specification can also be slightly more complex:

     Foam::name("output%08d.vtk", i);
     Foam::name("timing=%.2fs", time);

It remains the caller's responsibility to ensure that the format mask
is valid.
---
 applications/test/string/Test-string.C        | 42 ++++++++++-
 src/OpenFOAM/primitives/Scalar/Scalar.C       | 16 ++++-
 src/OpenFOAM/primitives/Scalar/Scalar.H       | 12 +++-
 src/OpenFOAM/primitives/ints/int32/int32.H    | 19 ++++-
 src/OpenFOAM/primitives/ints/int32/int32IO.C  | 15 ++--
 src/OpenFOAM/primitives/ints/int64/int64.H    | 19 ++++-
 src/OpenFOAM/primitives/ints/int64/int64IO.C  | 13 ++--
 src/OpenFOAM/primitives/ints/uint32/uint32.H  | 21 +++++-
 .../primitives/ints/uint32/uint32IO.C         | 13 ++--
 src/OpenFOAM/primitives/ints/uint64/uint64.H  | 21 +++++-
 .../primitives/ints/uint64/uint64IO.C         | 13 ++--
 .../primitives/strings/stringOps/stringOps.H  | 25 ++++++-
 .../strings/stringOps/stringOpsTemplates.C    | 69 +++++++++++++++++++
 13 files changed, 266 insertions(+), 32 deletions(-)
 create mode 100644 src/OpenFOAM/primitives/strings/stringOps/stringOpsTemplates.C

diff --git a/applications/test/string/Test-string.C b/applications/test/string/Test-string.C
index f39be8c206..a8276c2926 100644
--- a/applications/test/string/Test-string.C
+++ b/applications/test/string/Test-string.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -31,6 +31,10 @@ Description
 #include "dictionary.H"
 #include "IOstreams.H"
 
+#include "int.H"
+#include "uint.H"
+#include "scalar.H"
+
 using namespace Foam;
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -118,6 +122,8 @@ int main(int argc, char *argv[])
         Info<< "after replace: " << test2 << endl;
     }
 
+    cout<< "\nEnter some string to test:\n";
+
     string s;
     Sin.getLine(s);
 
@@ -126,7 +132,39 @@ int main(int argc, char *argv[])
     cout<< "output string with " << s2.length() << " characters\n";
     cout<< "ostream<<  >" << s2 << "<\n";
     Info<< "Ostream<<  >" << s2 << "<\n";
-    Info<< "hash:" << hex << string::hash()(s2) << endl;
+    Info<< "hash:" << hex << string::hash()(s2) << dec << endl;
+
+    cout<< "\ntest Foam::name()\n";
+
+    Info<< "hash: = " << Foam::name("0x%012X", string::hash()(s2)) << endl;
+
+    // test formatting on int
+    {
+        label val = 25;
+        Info<<"val: " << val << "\n";
+
+        Info<< "int " << val << " as word >"
+            << Foam::name(val) << "< or "
+            << Foam::name("formatted >%08d<", val) << "\n";
+    }
+
+    // test formatting on scalar
+    {
+        scalar val = 3.1415926535897931;
+        Info<< "scalar " << val << " as word >"
+            << Foam::name(val) << "< or "
+            << Foam::name("formatted >%.9f<", val) << "\n";
+    }
+
+    // test formatting on uint
+    {
+        uint64_t val = 25000000ul;
+        Info<<"val: " << val << "\n";
+
+        Info<< "uint64 " << val << " as word >"
+            << Foam::name(val) << "< or "
+            << Foam::name("formatted >%08d<", val) << "\n";
+    }
 
     Info<< "\nEnd\n" << endl;
     return 0;
diff --git a/src/OpenFOAM/primitives/Scalar/Scalar.C b/src/OpenFOAM/primitives/Scalar/Scalar.C
index 0a3e09b0b1..a801378b21 100644
--- a/src/OpenFOAM/primitives/Scalar/Scalar.C
+++ b/src/OpenFOAM/primitives/Scalar/Scalar.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -23,6 +23,8 @@ License
 
 \*---------------------------------------------------------------------------*/
 
+#include "stringOps.H"
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 namespace Foam
@@ -62,6 +64,18 @@ word name(const Scalar val)
 }
 
 
+word name(const char* fmt, const Scalar val)
+{
+    return stringOps::name(fmt, val);
+}
+
+
+word name(const std::string& fmt, const Scalar val)
+{
+    return stringOps::name(fmt, val);
+}
+
+
 // * * * * * * * * * * * * * * * IOstream Operators  * * * * * * * * * * * * //
 
 Scalar readScalar(Istream& is)
diff --git a/src/OpenFOAM/primitives/Scalar/Scalar.H b/src/OpenFOAM/primitives/Scalar/Scalar.H
index 4d8f29ff54..6b2213fa6a 100644
--- a/src/OpenFOAM/primitives/Scalar/Scalar.H
+++ b/src/OpenFOAM/primitives/Scalar/Scalar.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -109,6 +109,16 @@ public:
 word name(const Scalar);
 
 
+//- Return a word representation of a Scalar, using printf-style formatter.
+//  The representation is not checked for valid word characters.
+word name(const char* fmt, const Scalar);
+
+
+//- Return a word representation of a Scalar, using printf-style formatter.
+//  The representation is not checked for valid word characters.
+word name(const std::string& fmt, const Scalar);
+
+
 // Standard C++ transcendental functions
 transFunc(sqrt)
 
diff --git a/src/OpenFOAM/primitives/ints/int32/int32.H b/src/OpenFOAM/primitives/ints/int32/int32.H
index de8baa2109..96c748b052 100644
--- a/src/OpenFOAM/primitives/ints/int32/int32.H
+++ b/src/OpenFOAM/primitives/ints/int32/int32.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2014-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -56,7 +56,22 @@ class Ostream;
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 //- Return a word representation of an int32
-word name(const int32_t);
+inline word name(const int32_t val)
+{
+    // no stripping required
+    return word(std::to_string(val), false);
+}
+
+
+//- Return a word representation of an int32, using printf-style formatter.
+//  The representation is not checked for valid word characters.
+word name(const char* fmt, const int32_t);
+
+
+//- Return a word representation of an int32, using printf-style formatter.
+//  The representation is not checked for valid word characters.
+word name(const std::string&, const int32_t);
+
 
 // * * * * * * * * * * * * * * * IOstream Operators  * * * * * * * * * * * * //
 
diff --git a/src/OpenFOAM/primitives/ints/int32/int32IO.C b/src/OpenFOAM/primitives/ints/int32/int32IO.C
index a8c972377d..c5023315f0 100644
--- a/src/OpenFOAM/primitives/ints/int32/int32IO.C
+++ b/src/OpenFOAM/primitives/ints/int32/int32IO.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2014-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -24,6 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "int32.H"
+#include "stringOps.H"
 #include "IOstreams.H"
 
 #include <inttypes.h>
@@ -32,11 +33,15 @@ License
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-Foam::word Foam::name(const int32_t val)
+Foam::word Foam::name(const char* fmt, const int32_t val)
 {
-    std::ostringstream buf;
-    buf << val;
-    return buf.str();
+    return stringOps::name(fmt, val);
+}
+
+
+Foam::word Foam::name(const std::string& fmt, const int32_t val)
+{
+    return stringOps::name(fmt, val);
 }
 
 
diff --git a/src/OpenFOAM/primitives/ints/int64/int64.H b/src/OpenFOAM/primitives/ints/int64/int64.H
index 2bb5a05804..bcbcea38f7 100644
--- a/src/OpenFOAM/primitives/ints/int64/int64.H
+++ b/src/OpenFOAM/primitives/ints/int64/int64.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2014-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -60,7 +60,22 @@ class Ostream;
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 //- Return a word representation of an int64
-word name(const int64_t);
+inline word name(const int64_t val)
+{
+    // no stripping required
+    return word(std::to_string(val), false);
+}
+
+
+//- Return a word representation of an int64, using printf-style formatter.
+//  The representation is not checked for valid word characters.
+word name(const char* fmt, const int64_t);
+
+
+//- Return a word representation of an int64, using printf-style formatter.
+//  The representation is not checked for valid word characters.
+word name(const std::string& fmt, const int64_t);
+
 
 // * * * * * * * * * * * * * * * IOstream Operators  * * * * * * * * * * * * //
 
diff --git a/src/OpenFOAM/primitives/ints/int64/int64IO.C b/src/OpenFOAM/primitives/ints/int64/int64IO.C
index 89f14163a0..0523bb94cb 100644
--- a/src/OpenFOAM/primitives/ints/int64/int64IO.C
+++ b/src/OpenFOAM/primitives/ints/int64/int64IO.C
@@ -24,6 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "int64.H"
+#include "stringOps.H"
 #include "IOstreams.H"
 
 #include <inttypes.h>
@@ -32,11 +33,15 @@ License
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-Foam::word Foam::name(const int64_t val)
+Foam::word Foam::name(const char* fmt, const int64_t val)
 {
-    std::ostringstream buf;
-    buf << val;
-    return buf.str();
+    return stringOps::name(fmt, val);
+}
+
+
+Foam::word Foam::name(const std::string& fmt, const int64_t val)
+{
+    return stringOps::name(fmt, val);
 }
 
 
diff --git a/src/OpenFOAM/primitives/ints/uint32/uint32.H b/src/OpenFOAM/primitives/ints/uint32/uint32.H
index 34803c218f..469189e976 100644
--- a/src/OpenFOAM/primitives/ints/uint32/uint32.H
+++ b/src/OpenFOAM/primitives/ints/uint32/uint32.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2014-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -55,8 +55,23 @@ class Ostream;
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-//- Return a word representation of an uint32
-word name(const uint32_t);
+//- Return a word representation of a uint32
+inline word name(const uint32_t val)
+{
+    // no stripping required
+    return word(std::to_string(val), false);
+}
+
+
+//- Return a word representation of a uint32, using printf-style formatter.
+//  The representation is not checked for valid word characters.
+word name(const char* fmt, const uint32_t);
+
+
+//- Return a word representation of a uint32, using printf-style formatter.
+//  The representation is not checked for valid word characters.
+word name(const std::string& fmt, const uint32_t);
+
 
 // * * * * * * * * * * * * * * * IOstream Operators  * * * * * * * * * * * * //
 
diff --git a/src/OpenFOAM/primitives/ints/uint32/uint32IO.C b/src/OpenFOAM/primitives/ints/uint32/uint32IO.C
index 2746938d63..f88f5b1ad8 100644
--- a/src/OpenFOAM/primitives/ints/uint32/uint32IO.C
+++ b/src/OpenFOAM/primitives/ints/uint32/uint32IO.C
@@ -24,17 +24,22 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "uint32.H"
+#include "stringOps.H"
 #include "IOstreams.H"
 
 #include <sstream>
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-Foam::word Foam::name(const uint32_t val)
+Foam::word Foam::name(const char* fmt, const uint32_t val)
 {
-    std::ostringstream buf;
-    buf << val;
-    return buf.str();
+    return stringOps::name(fmt, val);
+}
+
+
+Foam::word Foam::name(const std::string& fmt, const uint32_t val)
+{
+    return stringOps::name(fmt, val);
 }
 
 
diff --git a/src/OpenFOAM/primitives/ints/uint64/uint64.H b/src/OpenFOAM/primitives/ints/uint64/uint64.H
index e1a742b6c2..2cf102e057 100644
--- a/src/OpenFOAM/primitives/ints/uint64/uint64.H
+++ b/src/OpenFOAM/primitives/ints/uint64/uint64.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2014-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -59,8 +59,23 @@ class Ostream;
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-//- Return a word representation of an uint64
-word name(const uint64_t);
+//- Return a word representation of a uint64
+inline word name(const uint64_t val)
+{
+    // no stripping required
+    return word(std::to_string(val), false);
+}
+
+
+//- Return a word representation of a uint64_t, using printf-style formatter.
+//  The representation is not checked for valid word characters.
+word name(const char* fmt, const uint64_t);
+
+
+//- Return a word representation of a uint64_t, using printf-style formatter.
+//  The representation is not checked for valid word characters.
+word name(const std::string& fmt, const uint64_t);
+
 
 // * * * * * * * * * * * * * * * IOstream Operators  * * * * * * * * * * * * //
 
diff --git a/src/OpenFOAM/primitives/ints/uint64/uint64IO.C b/src/OpenFOAM/primitives/ints/uint64/uint64IO.C
index be10f83b01..3e110d933a 100644
--- a/src/OpenFOAM/primitives/ints/uint64/uint64IO.C
+++ b/src/OpenFOAM/primitives/ints/uint64/uint64IO.C
@@ -24,17 +24,22 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "uint64.H"
+#include "stringOps.H"
 #include "IOstreams.H"
 
 #include <sstream>
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-Foam::word Foam::name(const uint64_t val)
+Foam::word Foam::name(const char* fmt, const uint64_t val)
 {
-    std::ostringstream buf;
-    buf << val;
-    return buf.str();
+    return stringOps::name(fmt, val);
+}
+
+
+Foam::word Foam::name(const std::string& fmt, const uint64_t val)
+{
+    return stringOps::name(fmt, val);
 }
 
 
diff --git a/src/OpenFOAM/primitives/strings/stringOps/stringOps.H b/src/OpenFOAM/primitives/strings/stringOps/stringOps.H
index 3a72467bc9..fb408455f6 100644
--- a/src/OpenFOAM/primitives/strings/stringOps/stringOps.H
+++ b/src/OpenFOAM/primitives/strings/stringOps/stringOps.H
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -36,6 +36,7 @@ SourceFiles
 #define stringOps_H
 
 #include "string.H"
+#include "word.H"
 #include "dictionary.H"
 #include "HashTable.H"
 
@@ -292,6 +293,21 @@ namespace stringOps
     string& inplaceTrim(string&);
 
 
+    //- Return a word representation of the primitive,
+    //  using printf-style formatter.
+    //  The representation is not checked for valid word characters -
+    //  it is assumed that the caller knows what they are doing
+    template<class PrimitiveType>
+    Foam::word name(const char* fmt, const PrimitiveType& val);
+
+    //- Return a word representation of the primitive,
+    //  using printf-style formatter.
+    //  The representation is not checked for valid word characters -
+    //  it is assumed that the caller knows what they are doing
+    template<class PrimitiveType>
+    Foam::word name(const std::string& fmt, const PrimitiveType& val);
+
+
 } // End namespace stringOps
 
 
@@ -299,6 +315,13 @@ namespace stringOps
 
 } // End namespace Foam
 
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#ifdef NoRepository
+    #include "stringOpsTemplates.C"
+#endif
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #endif
diff --git a/src/OpenFOAM/primitives/strings/stringOps/stringOpsTemplates.C b/src/OpenFOAM/primitives/strings/stringOps/stringOpsTemplates.C
new file mode 100644
index 0000000000..a3874aa88e
--- /dev/null
+++ b/src/OpenFOAM/primitives/strings/stringOps/stringOpsTemplates.C
@@ -0,0 +1,69 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2016 OpenCFD Ltd.
+     \\/     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 <cstdio>
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+// NOTE: with C++11 could consider variadic templates for a more general
+// sprintf implementation
+
+template<class PrimitiveType>
+Foam::word Foam::stringOps::name
+(
+    const char* fmt,
+    const PrimitiveType& val
+)
+{
+    // same concept as GNU/BSD asprintf()
+    // use snprintf with zero to determine the number of characters required
+
+    int n = ::snprintf(0, 0, fmt, val);
+    if (n > 0)
+    {
+        char buf[n+1];
+        ::snprintf(buf, n+1, fmt, val);
+        buf[n] = 0;
+
+        // no stripping desired
+        return word(buf, false);
+    }
+
+    return word::null;
+}
+
+
+template<class PrimitiveType>
+Foam::word Foam::stringOps::name
+(
+    const std::string& fmt,
+    const PrimitiveType& val
+)
+{
+    return stringOps::name(fmt.c_str(), val);
+}
+
+
+// ************************************************************************* //
-- 
GitLab


From ff8e811abae1d80d28957a48034e415c3440ceb2 Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Fri, 1 Jul 2016 09:09:50 +0200
Subject: [PATCH 90/96] STYLE: minor simplification of check for uniform
 contents

---
 .../Lists/CompactListList/CompactListListIO.C |  6 ++---
 .../containers/Lists/FixedList/FixedListIO.C  | 17 ++++++++------
 src/OpenFOAM/containers/Lists/List/ListIO.C   |  4 ++++
 .../containers/Lists/PackedList/PackedList.C  | 11 +++++-----
 .../Lists/UIndirectList/UIndirectListIO.C     | 15 ++++++-------
 src/OpenFOAM/containers/Lists/UList/UListIO.C | 21 +++++++++++-------
 src/OpenFOAM/fields/Fields/Field/Field.C      |  8 +++----
 src/OpenFOAM/matrices/Matrix/MatrixIO.C       | 22 +++++++++----------
 8 files changed, 56 insertions(+), 48 deletions(-)

diff --git a/src/OpenFOAM/containers/Lists/CompactListList/CompactListListIO.C b/src/OpenFOAM/containers/Lists/CompactListList/CompactListListIO.C
index 727e8803ac..5a001a1932 100644
--- a/src/OpenFOAM/containers/Lists/CompactListList/CompactListListIO.C
+++ b/src/OpenFOAM/containers/Lists/CompactListList/CompactListListIO.C
@@ -42,13 +42,13 @@ Foam::Istream& Foam::operator>>(Istream& is, CompactListList<T, Container>& lst)
 {
     is  >> lst.offsets_ >> lst.m_;
     // Note: empty list gets output as two empty lists
-    if (lst.offsets_.size() == 0)
+    if (lst.offsets_.size())
     {
-        lst.size_ = 0;
+        lst.size_ = lst.offsets_.size()-1;
     }
     else
     {
-        lst.size_ = lst.offsets_.size()-1;
+        lst.size_ = 0;
     }
     return is;
 }
diff --git a/src/OpenFOAM/containers/Lists/FixedList/FixedListIO.C b/src/OpenFOAM/containers/Lists/FixedList/FixedListIO.C
index 9119234ef6..31cf08ada6 100644
--- a/src/OpenFOAM/containers/Lists/FixedList/FixedListIO.C
+++ b/src/OpenFOAM/containers/Lists/FixedList/FixedListIO.C
@@ -118,6 +118,8 @@ Foam::Istream& Foam::operator>>(Foam::Istream& is, FixedList<T, Size>& L)
     }
     else
     {
+        // contents are binary and contiguous
+
         is.read(reinterpret_cast<char*>(L.data()), Size*sizeof(T));
 
         is.fatalCheck
@@ -167,12 +169,10 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const FixedList<T, Size>& L)
     // Write list contents depending on data format
     if (os.format() == IOstream::ASCII || !contiguous<T>())
     {
-        bool uniform = false;
-
-        if (Size > 1 && contiguous<T>())
+        // Can the contents be considered 'uniform' (ie, identical)?
+        bool uniform = (Size > 1 && contiguous<T>());
+        if (uniform)
         {
-            uniform = true;
-
             forAll(L, i)
             {
                 if (L[i] != L[0])
@@ -194,7 +194,7 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const FixedList<T, Size>& L)
             // Write end delimiter
             os << token::END_BLOCK;
         }
-        else if (Size <= 1 ||(Size < 11 && contiguous<T>()))
+        else if (Size <= 1 || (Size < 11 && contiguous<T>()))
         {
             // Write start delimiter
             os << token::BEGIN_LIST;
@@ -202,7 +202,7 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const FixedList<T, Size>& L)
             // Write contents
             forAll(L, i)
             {
-                if (i > 0) os << token::SPACE;
+                if (i) os << token::SPACE;
                 os << L[i];
             }
 
@@ -226,6 +226,9 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const FixedList<T, Size>& L)
     }
     else
     {
+        // Contents are binary and contiguous
+
+        // write(...) includes surrounding start/end delimiters
         os.write(reinterpret_cast<const char*>(L.cdata()), Size*sizeof(T));
     }
 
diff --git a/src/OpenFOAM/containers/Lists/List/ListIO.C b/src/OpenFOAM/containers/Lists/List/ListIO.C
index d43fda22d7..bbc55ec10d 100644
--- a/src/OpenFOAM/containers/Lists/List/ListIO.C
+++ b/src/OpenFOAM/containers/Lists/List/ListIO.C
@@ -92,6 +92,8 @@ Foam::Istream& Foam::operator>>(Istream& is, List<T>& L)
                 }
                 else
                 {
+                    // uniform content (delimiter == token::BEGIN_BLOCK)
+
                     T element;
                     is >> element;
 
@@ -113,6 +115,8 @@ Foam::Istream& Foam::operator>>(Istream& is, List<T>& L)
         }
         else
         {
+            // contents are binary and contiguous
+
             if (s)
             {
                 is.read(reinterpret_cast<char*>(L.data()), s*sizeof(T));
diff --git a/src/OpenFOAM/containers/Lists/PackedList/PackedList.C b/src/OpenFOAM/containers/Lists/PackedList/PackedList.C
index 5e0487ebcd..6addd5d23e 100644
--- a/src/OpenFOAM/containers/Lists/PackedList/PackedList.C
+++ b/src/OpenFOAM/containers/Lists/PackedList/PackedList.C
@@ -407,12 +407,10 @@ Foam::Ostream& Foam::PackedList<nBits>::write
     // Write list contents depending on data format
     if (os.format() == IOstream::ASCII)
     {
-        bool uniform = false;
-
-        if (sz > 1 && !indexedOutput)
+        // Can the contents be considered 'uniform' (ie, identical)?
+        bool uniform = (sz > 1 && !indexedOutput);
+        if (uniform)
         {
-            uniform = true;
-
             forAll(lst, i)
             {
                 if (lst[i] != lst[0])
@@ -475,9 +473,12 @@ Foam::Ostream& Foam::PackedList<nBits>::write
     }
     else
     {
+        // Contents are binary and contiguous
+
         os  << nl << sz << nl;
         if (sz)
         {
+            // write(...) includes surrounding start/end delimiters
             os.write
             (
                 reinterpret_cast<const char*>(lst.storage().cdata()),
diff --git a/src/OpenFOAM/containers/Lists/UIndirectList/UIndirectListIO.C b/src/OpenFOAM/containers/Lists/UIndirectList/UIndirectListIO.C
index 18f1f5fe94..3b52f8484c 100644
--- a/src/OpenFOAM/containers/Lists/UIndirectList/UIndirectListIO.C
+++ b/src/OpenFOAM/containers/Lists/UIndirectList/UIndirectListIO.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -40,12 +40,10 @@ Foam::Ostream& Foam::operator<<
     // Write list contents depending on data format
     if (os.format() == IOstream::ASCII || !contiguous<T>())
     {
-        bool uniform = false;
-
-        if (L.size() > 1 && contiguous<T>())
+        // Can the contents be considered 'uniform' (ie, identical)?
+        bool uniform = (L.size() > 1 && contiguous<T>());
+        if (uniform)
         {
-            uniform = true;
-
             forAll(L, i)
             {
                 if (L[i] != L[0])
@@ -99,14 +97,15 @@ Foam::Ostream& Foam::operator<<
     }
     else
     {
-        // this is annoying, and wasteful, but there's currently no alternative
-
+        // Contents are binary and contiguous
         os << nl << L.size() << nl;
 
         if (L.size())
         {
+            // This is annoying, and wasteful, but currently no alternative
             List<T> lst = L();
 
+            // write(...) includes surrounding start/end delimiters
             os.write
             (
                 reinterpret_cast<const char*>(lst.cdata()),
diff --git a/src/OpenFOAM/containers/Lists/UList/UListIO.C b/src/OpenFOAM/containers/Lists/UList/UListIO.C
index e31b5dd2bc..cba400379f 100644
--- a/src/OpenFOAM/containers/Lists/UList/UListIO.C
+++ b/src/OpenFOAM/containers/Lists/UList/UListIO.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  |
+     \\/     M anipulation  | Copyright (C) 2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -65,12 +65,10 @@ Foam::Ostream& Foam::operator<<(Foam::Ostream& os, const Foam::UList<T>& L)
     // Write list contents depending on data format
     if (os.format() == IOstream::ASCII || !contiguous<T>())
     {
-        bool uniform = false;
-
-        if (L.size() > 1 && contiguous<T>())
+        // Can the contents be considered 'uniform' (ie, identical)?
+        bool uniform = (L.size() > 1 && contiguous<T>());
+        if (uniform)
         {
-            uniform = true;
-
             forAll(L, i)
             {
                 if (L[i] != L[0])
@@ -100,7 +98,7 @@ Foam::Ostream& Foam::operator<<(Foam::Ostream& os, const Foam::UList<T>& L)
             // Write contents
             forAll(L, i)
             {
-                if (i > 0) os << token::SPACE;
+                if (i) os << token::SPACE;
                 os << L[i];
             }
 
@@ -124,10 +122,13 @@ Foam::Ostream& Foam::operator<<(Foam::Ostream& os, const Foam::UList<T>& L)
     }
     else
     {
+        // Contents are binary and contiguous
         os << nl << L.size() << nl;
+
         if (L.size())
         {
-            os.write(reinterpret_cast<const char*>(L.v_), L.byteSize());
+            // write(...) includes surrounding start/end delimiters
+            os.write(reinterpret_cast<const char*>(L.cdata()), L.byteSize());
         }
     }
 
@@ -208,6 +209,8 @@ Foam::Istream& Foam::operator>>(Istream& is, UList<T>& L)
                 }
                 else
                 {
+                    // uniform content (delimiter == token::BEGIN_BLOCK)
+
                     T element;
                     is >> element;
 
@@ -229,6 +232,8 @@ Foam::Istream& Foam::operator>>(Istream& is, UList<T>& L)
         }
         else
         {
+            // contents are binary and contiguous
+
             if (s)
             {
                 is.read(reinterpret_cast<char*>(L.data()), s*sizeof(T));
diff --git a/src/OpenFOAM/fields/Fields/Field/Field.C b/src/OpenFOAM/fields/Fields/Field/Field.C
index 1c021bcca2..997135bc34 100644
--- a/src/OpenFOAM/fields/Fields/Field/Field.C
+++ b/src/OpenFOAM/fields/Fields/Field/Field.C
@@ -727,12 +727,10 @@ void Foam::Field<Type>::writeEntry(const word& keyword, Ostream& os) const
 {
     os.writeKeyword(keyword);
 
-    bool uniform = false;
-
-    if (this->size() && contiguous<Type>())
+    // Can the contents be considered 'uniform' (ie, identical)?
+    bool uniform = (this->size() && contiguous<Type>());
+    if (uniform)
     {
-        uniform = true;
-
         forAll(*this, i)
         {
             if (this->operator[](i) != this->operator[](0))
diff --git a/src/OpenFOAM/matrices/Matrix/MatrixIO.C b/src/OpenFOAM/matrices/Matrix/MatrixIO.C
index 154a066914..b965bb37d7 100644
--- a/src/OpenFOAM/matrices/Matrix/MatrixIO.C
+++ b/src/OpenFOAM/matrices/Matrix/MatrixIO.C
@@ -160,15 +160,13 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const Matrix<Form, Type>& M)
     {
         if (mn)
         {
-            bool uniform = false;
-
             const Type* v = M.v_;
 
-            if (mn > 1 && contiguous<Type>())
+            // can the contents be considered 'uniform' (ie, identical)
+            bool uniform = (mn > 1 && contiguous<Type>());
+            if (uniform)
             {
-                uniform = true;
-
-                for (label i=0; i<mn; i++)
+                for (label i=0; i<mn; ++i)
                 {
                     if (v[i] != v[0])
                     {
@@ -180,18 +178,18 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const Matrix<Form, Type>& M)
 
             if (uniform)
             {
-                // Write size of list and start contents delimiter
+                // Write start delimiter
                 os  << token::BEGIN_BLOCK;
 
-                // Write list contents
+                // Write contents
                 os << v[0];
 
-                // Write end of contents delimiter
+                // Write end delimiter
                 os << token::END_BLOCK;
             }
             else if (mn < 10 && contiguous<Type>())
             {
-                // Write size of list and start contents delimiter
+                // Write start contents delimiter
                 os  << token::BEGIN_LIST;
 
                 label k = 0;
@@ -204,7 +202,7 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const Matrix<Form, Type>& M)
                     // Write row
                     for (label j=0; j< M.n(); j++)
                     {
-                        if (j > 0) os << token::SPACE;
+                        if (j) os << token::SPACE;
                         os << v[k++];
                     }
 
@@ -216,7 +214,7 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const Matrix<Form, Type>& M)
             }
             else
             {
-                // Write size of list and start contents delimiter
+                // Write start contents delimiter
                 os  << nl << token::BEGIN_LIST;
 
                 label k = 0;
-- 
GitLab


From 62115802dfad6267dfc4b8f1627ed924e473a44a Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Fri, 1 Jul 2016 09:55:51 +0200
Subject: [PATCH 91/96] STYLE: minor improvement when writing list entry

---
 .../containers/Lists/FixedList/FixedListIO.C      |  8 +++-----
 src/OpenFOAM/containers/Lists/UList/UList.H       |  2 +-
 src/OpenFOAM/containers/Lists/UList/UListIO.C     | 15 ++++++---------
 3 files changed, 10 insertions(+), 15 deletions(-)

diff --git a/src/OpenFOAM/containers/Lists/FixedList/FixedListIO.C b/src/OpenFOAM/containers/Lists/FixedList/FixedListIO.C
index 31cf08ada6..e6ba7a4678 100644
--- a/src/OpenFOAM/containers/Lists/FixedList/FixedListIO.C
+++ b/src/OpenFOAM/containers/Lists/FixedList/FixedListIO.C
@@ -138,12 +138,10 @@ Foam::Istream& Foam::operator>>(Foam::Istream& is, FixedList<T, Size>& L)
 template<class T, unsigned Size>
 void Foam::FixedList<T, Size>::writeEntry(Ostream& os) const
 {
-    if
-    (
-        token::compound::isCompound("List<" + word(pTraits<T>::typeName) + '>')
-    )
+    const word tag = "List<" + word(pTraits<T>::typeName) + '>';
+    if (token::compound::isCompound(tag))
     {
-        os  << word("List<" + word(pTraits<T>::typeName) + '>') << " ";
+        os  << tag << " ";
     }
 
     os << *this;
diff --git a/src/OpenFOAM/containers/Lists/UList/UList.H b/src/OpenFOAM/containers/Lists/UList/UList.H
index ee574c33ec..719df10a0f 100644
--- a/src/OpenFOAM/containers/Lists/UList/UList.H
+++ b/src/OpenFOAM/containers/Lists/UList/UList.H
@@ -219,7 +219,7 @@ public:
         //- Copy elements of the given UList
         void deepCopy(const UList<T>&);
 
-        //- Write the UList as a dictionary entry
+        //- Write the UList with its compound type
         void writeEntry(Ostream&) const;
 
         //- Write the UList as a dictionary entry with keyword
diff --git a/src/OpenFOAM/containers/Lists/UList/UListIO.C b/src/OpenFOAM/containers/Lists/UList/UListIO.C
index cba400379f..3d78024079 100644
--- a/src/OpenFOAM/containers/Lists/UList/UListIO.C
+++ b/src/OpenFOAM/containers/Lists/UList/UListIO.C
@@ -34,16 +34,13 @@ License
 template<class T>
 void Foam::UList<T>::writeEntry(Ostream& os) const
 {
-    if
-    (
-        size()
-     && token::compound::isCompound
-        (
-            "List<" + word(pTraits<T>::typeName) + '>'
-        )
-    )
+    if (size())
     {
-        os  << word("List<" + word(pTraits<T>::typeName) + '>') << " ";
+        const word tag = "List<" + word(pTraits<T>::typeName) + '>';
+        if (token::compound::isCompound(tag))
+        {
+            os  << tag << ' ';
+        }
     }
 
     os << *this;
-- 
GitLab


From c1b31325471b760dd4c163579431883c33abda2c Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Mon, 3 Oct 2016 17:20:14 +0200
Subject: [PATCH 92/96] STYLE: extraneous UINT64_MIN macros (issue #257)

---
 src/OpenFOAM/primitives/ints/int64/int64.H   | 3 ---
 src/OpenFOAM/primitives/ints/uint64/uint64.H | 3 ---
 2 files changed, 6 deletions(-)

diff --git a/src/OpenFOAM/primitives/ints/int64/int64.H b/src/OpenFOAM/primitives/ints/int64/int64.H
index bcbcea38f7..58b0adc5b7 100644
--- a/src/OpenFOAM/primitives/ints/int64/int64.H
+++ b/src/OpenFOAM/primitives/ints/int64/int64.H
@@ -45,9 +45,6 @@ SourceFiles
 #include "pTraits.H"
 #include "direction.H"
 
-#ifndef UINT64_MIN
-#define UINT64_MIN 0
-#endif
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/OpenFOAM/primitives/ints/uint64/uint64.H b/src/OpenFOAM/primitives/ints/uint64/uint64.H
index 2cf102e057..f55c73d531 100644
--- a/src/OpenFOAM/primitives/ints/uint64/uint64.H
+++ b/src/OpenFOAM/primitives/ints/uint64/uint64.H
@@ -45,9 +45,6 @@ SourceFiles
 #include "pTraits.H"
 #include "direction.H"
 
-#ifndef UINT64_MIN
-#define UINT64_MIN 0
-#endif
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-- 
GitLab


From 006eebdf381a64b93a5512566b768bbe195bdfa5 Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Tue, 4 Oct 2016 08:40:55 +0200
Subject: [PATCH 93/96] ENH: remove unneeded lines in List binary output (issue
 #256)

Writing an empty list in binary results in unnecessary newlines that
make the output 'noisier'.

Old output
~~~~~~~~~~
ASCII
    someEmptyList___0();

Binary
    someEmptyList___
    0
    ;

Updated
~~~~~~~
ASCII
    someEmptyList___0();

Binary
    someEmptyList___0;
---
 src/OpenFOAM/containers/Lists/UList/UListIO.C | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/OpenFOAM/containers/Lists/UList/UListIO.C b/src/OpenFOAM/containers/Lists/UList/UListIO.C
index 3d78024079..a4648137cf 100644
--- a/src/OpenFOAM/containers/Lists/UList/UListIO.C
+++ b/src/OpenFOAM/containers/Lists/UList/UListIO.C
@@ -41,9 +41,18 @@ void Foam::UList<T>::writeEntry(Ostream& os) const
         {
             os  << tag << ' ';
         }
+        os << *this;
+    }
+    else if (os.format() == IOstream::ASCII)
+    {
+        // Zero-sized ASCII - Write size and delimiters
+        os  << 0 << token::BEGIN_LIST << token::END_LIST;
+    }
+    else
+    {
+        // Zero-sized binary - Write size only
+        os  << 0;
     }
-
-    os << *this;
 }
 
 
-- 
GitLab


From e7a695e72e7d8123018ae7a95380fdf12d505469 Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Tue, 4 Oct 2016 09:16:08 +0200
Subject: [PATCH 94/96] STYLE: minor adjustments to doxygen comments

---
 .../mesh/conversion/star4ToFoam/star4ToFoam.C    |  2 +-
 .../decomposePar/decomposePar.C                  | 16 ++++++++--------
 .../dataConversion/foamToEnsight/foamToEnsight.C | 14 ++++++--------
 .../foamToEnsightParts/foamToEnsightParts.C      |  4 ++--
 .../dataConversion/foamToVTK/foamToVTK.C         |  4 ++--
 .../surfaceMeshImport/surfaceMeshImport.C        | 14 +++++++-------
 6 files changed, 26 insertions(+), 28 deletions(-)

diff --git a/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C b/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C
index 245f1175af..65cb4d01b7 100644
--- a/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C
+++ b/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C
@@ -31,7 +31,7 @@ Description
     Converts a Star-CD (v4) pro-STAR mesh into OpenFOAM format.
 
 Usage
-    \b star4ToFoam [OPTION] ccmMesh
+    \b star4ToFoam [OPTION] prostarMesh
 
     Options:
       - \par -ascii
diff --git a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C
index cab70e7076..62723280b3 100644
--- a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C
+++ b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C
@@ -39,34 +39,34 @@ Usage
         Write the cell distribution as a labelList, for use with 'manual'
         decomposition method or as a volScalarField for post-processing.
 
-      - \par -region \<regionName\> \n
+      - \par -region \<regionName\>
         Decompose named region. Does not check for existence of processor*.
 
-      - \par -allRegions \n
+      - \par -allRegions
         Decompose all regions in regionProperties. Does not check for
         existence of processor*.
 
-      - \par -copyUniform \n
+      - \par -copyUniform
         Copy any \a uniform directories too.
 
       - \par -constant
 
-      - \par -time xxx:yyy \n
+      - \par -time xxx:yyy
         Override controlDict settings and decompose selected times. Does not
         re-decompose the mesh i.e. does not handle moving mesh or changing
         mesh cases.
 
-      - \par -fields \n
+      - \par -fields
         Use existing geometry decomposition and convert fields only.
 
-      - \par -noSets \n
+      - \par -noSets
         Skip decomposing cellSets, faceSets, pointSets.
 
-      - \par -force \n
+      - \par -force
         Remove any existing \a processor subdirectories before decomposing the
         geometry.
 
-      - \par -ifRequired \n
+      - \par -ifRequired
         Only decompose the geometry if the number of domains has changed from a
         previous decomposition. No \a processor subdirectories will be removed
         unless the \a -force option is also specified. This option can be used
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C
index 565c8a8439..654b14b868 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C
@@ -34,7 +34,6 @@ Description
 
 Usage
     \b foamToEnsight [OPTION]
-    Translates OpenFOAM data to EnSight format
 
     Options:
       - \par -ascii
@@ -43,29 +42,28 @@ Usage
       - \par -noZero
         Exclude the often incomplete initial conditions.
 
-      - \par -noLagrangian \n
+      - \par -noLagrangian
         Suppress writing lagrangian positions and fields.
 
       - \par -noPatches
         Suppress writing any patches.
 
-      - \par -patches patchList \n
+      - \par -patches patchList
         Specify particular patches to write.
         Specifying an empty list suppresses writing the internalMesh.
 
-      - \par -faceZones zoneList \n
+      - \par -faceZones zoneList
         Specify faceZones to write, with wildcards
 
       - \par -cellZone zoneName
         Specify single cellZone to write (not lagrangian)
 
-      - \par -width \<n\>\n
+      - \par -width \<n\>
         Width of EnSight data subdir (default: 8)
 
 Note
-    Parallel support for cloud data is not supported
-    - writes to \a EnSight directory to avoid collisions with
-      foamToEnsightParts
+    Writes to \a EnSight directory to avoid collisions with
+    foamToEnsightParts
 
 \*---------------------------------------------------------------------------*/
 
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C
index f39f970b55..8c0bfb376a 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C
@@ -48,10 +48,10 @@ Usage
         Ignore the time index contained in the time file and use a
         simple indexing when creating the \c Ensight/data/######## files.
 
-      - \par -noLagrangian \n
+      - \par -noLagrangian
         Suppress writing lagrangian positions and fields.
 
-      - \par -index \<start\>\n
+      - \par -index \<start\>
         Ignore the time index contained in the time file and use a
         simple indexing when creating the \c Ensight/data/######## files.
 
diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C
index 55b6bac97c..4e42b5afbf 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C
@@ -72,10 +72,10 @@ Usage
       - \par -noInternal
         Do not generate file for mesh, only for patches
 
-      - \par -noLagrangian \n
+      - \par -noLagrangian
         Suppress writing lagrangian positions and fields.
 
-      - \par -noPointValues \n
+      - \par -noPointValues
         No pointFields
 
       - \par -noFaceZones
diff --git a/applications/utilities/surface/surfaceMeshImport/surfaceMeshImport.C b/applications/utilities/surface/surfaceMeshImport/surfaceMeshImport.C
index dc0b779fe1..056f513baf 100644
--- a/applications/utilities/surface/surfaceMeshImport/surfaceMeshImport.C
+++ b/applications/utilities/surface/surfaceMeshImport/surfaceMeshImport.C
@@ -36,25 +36,25 @@ Usage
     \b surfaceMeshImport inputFile [OPTION]
 
     Options:
-      - \par -clean \n
+      - \par -clean
         Perform some surface checking/cleanup on the input surface.
 
-      - \par -name \<name\> \n
+      - \par -name \<name\>
         Specify an alternative surface name when writing.
 
-      - \par -scaleIn \<scale\> \n
+      - \par -scaleIn \<scale\>
         Specify a scaling factor when reading files.
 
-      - \par -scaleOut \<scale\> \n
+      - \par -scaleOut \<scale\>
         Specify a scaling factor when writing files.
 
-      - \par -dict \<dictionary\> \n
+      - \par -dict \<dictionary\>
         Specify an alternative dictionary for constant/coordinateSystems.
 
-      - \par -from \<coordinateSystem\> \n
+      - \par -from \<coordinateSystem\>
         Specify a coordinate system when reading files.
 
-      - \par -to \<coordinateSystem\> \n
+      - \par -to \<coordinateSystem\>
         Specify a coordinate system when writing files.
 
 Note
-- 
GitLab


From d41e7c864a22016de79121e44703b926ef67316d Mon Sep 17 00:00:00 2001
From: Andrew Heather <andy@shelob.opencfd.co.uk>
Date: Tue, 4 Oct 2016 14:49:26 +0100
Subject: [PATCH 95/96] COMP: Corrected Clang-reported errors

---
 src/functionObjects/field/ddt2/ddt2.C         |  1 -
 .../reactionsSensitivityAnalysisObjects.C     | 45 +++++++++----------
 .../solvers/scalarTransport/scalarTransport.H |  3 --
 .../minMaxCondition/minMaxCondition.C         | 21 +++++----
 .../Templates/ThermoParcel/ThermoParcel.C     |  2 -
 5 files changed, 35 insertions(+), 37 deletions(-)

diff --git a/src/functionObjects/field/ddt2/ddt2.C b/src/functionObjects/field/ddt2/ddt2.C
index 93c6b93472..12d6d2b67a 100644
--- a/src/functionObjects/field/ddt2/ddt2.C
+++ b/src/functionObjects/field/ddt2/ddt2.C
@@ -27,7 +27,6 @@ License
 
 #include "volFields.H"
 #include "dictionary.H"
-#include "FieldFunctions.H"
 #include "steadyStateDdtScheme.H"
 #include "addToRunTimeSelectionTable.H"
 
diff --git a/src/functionObjects/field/reactionSensitivityAnalysis/reactionsSensitivityAnalysisObjects.C b/src/functionObjects/field/reactionSensitivityAnalysis/reactionsSensitivityAnalysisObjects.C
index 5784157f9b..cc34b0f119 100644
--- a/src/functionObjects/field/reactionSensitivityAnalysis/reactionsSensitivityAnalysisObjects.C
+++ b/src/functionObjects/field/reactionSensitivityAnalysis/reactionsSensitivityAnalysisObjects.C
@@ -32,19 +32,30 @@ License
 
 namespace Foam
 {
-namespace functionObjects
-{
-    // Psi-based chemistry
-    typedef reactionsSensitivityAnalysis<psiChemistryModel>
-        psiReactionsSensitivityAnalysisFunctionObject;
+// Psi-based chemistry
+typedef functionObjects::reactionsSensitivityAnalysis<psiChemistryModel>
+    psiReactionsSensitivityAnalysisFunctionObject;
 
-    defineTemplateTypeNameAndDebugWithName
-    (
-        psiReactionsSensitivityAnalysisFunctionObject,
-        "psiReactionsSensitivityAnalysis",
-        0
-    );
+defineTemplateTypeNameAndDebugWithName
+(
+    psiReactionsSensitivityAnalysisFunctionObject,
+    "psiReactionsSensitivityAnalysis",
+    0
+);
+
+// Rho-based chemistry
+typedef functionObjects::reactionsSensitivityAnalysis<rhoChemistryModel>
+    rhoReactionsSensitivityAnalysisFunctionObject;
 
+defineTemplateTypeNameAndDebugWithName
+(
+    rhoReactionsSensitivityAnalysisFunctionObject,
+    "rhoReactionsSensitivityAnalysis",
+    0
+);
+
+namespace functionObjects
+{
     addToRunTimeSelectionTable
     (
         functionObject,
@@ -52,18 +63,6 @@ namespace functionObjects
         dictionary
     );
 
-
-    // Rho-based chemistry
-    typedef reactionsSensitivityAnalysis<rhoChemistryModel>
-        rhoReactionsSensitivityAnalysisFunctionObject;
-
-    defineTemplateTypeNameAndDebugWithName
-    (
-        rhoReactionsSensitivityAnalysisFunctionObject,
-        "rhoReactionsSensitivityAnalysis",
-        0
-    );
-
     addToRunTimeSelectionTable
     (
         functionObject,
diff --git a/src/functionObjects/solvers/scalarTransport/scalarTransport.H b/src/functionObjects/solvers/scalarTransport/scalarTransport.H
index 032f795813..e6020af39c 100644
--- a/src/functionObjects/solvers/scalarTransport/scalarTransport.H
+++ b/src/functionObjects/solvers/scalarTransport/scalarTransport.H
@@ -103,9 +103,6 @@ class scalarTransport
         //- Name of field to process
         word fieldName_;
 
-        //- On/off switch
-        bool active_;
-
         //- Name of flux field (optional)
         word phiName_;
 
diff --git a/src/functionObjects/utilities/runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.C b/src/functionObjects/utilities/runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.C
index 839137a30b..e848a31087 100644
--- a/src/functionObjects/utilities/runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.C
+++ b/src/functionObjects/utilities/runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2015 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
+     \\/     M anipulation  | Copyright (C) 2015-2016 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -53,16 +53,21 @@ namespace runTimeControls
     defineTypeNameAndDebug(minMaxCondition, 0);
     addToRunTimeSelectionTable(runTimeCondition, minMaxCondition, dictionary);
 
-    template<>
-    const char* NamedEnum<minMaxCondition::modeType, 2>::names[] =
-    {
-        "minimum",
-        "maximum"
-    };
 }
 }
 }
 
+template<>
+const char* Foam::NamedEnum
+<
+    Foam::functionObjects::runTimeControls::minMaxCondition::modeType,
+    2
+>::names[] =
+{
+    "minimum",
+    "maximum"
+};
+
 const Foam::NamedEnum
 <
     Foam
@@ -86,7 +91,7 @@ Foam::functionObjects::runTimeControls::minMaxCondition::minMaxCondition
 )
 :
     runTimeCondition(name, obr, dict, state),
-    functionObjectName_(dict.lookup("functionObjectName")),
+    functionObjectName_(dict.lookup("functionObject")),
     mode_(modeTypeNames_.read(dict.lookup("mode"))),
     fieldNames_(dict.lookup("fields")),
     value_(readScalar(dict.lookup("value")))
diff --git a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.C b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.C
index 87b434646e..90f52a9bbc 100644
--- a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.C
+++ b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.C
@@ -72,8 +72,6 @@ void Foam::ThermoParcel<ParcelType>::cellValueSourceCorrection
 {
     this->Uc_ += td.cloud().UTrans()[celli]/this->massCell(celli);
 
-    const scalar CpMean = td.CpInterp().psi()[celli];
-
     tetIndices tetIs = this->currentTetIndices();
     Tc_ = td.TInterp().interpolate(this->position(), tetIs);
 
-- 
GitLab


From 1fad5ef2590c4904aec01d1dabb3558a6aacdd26 Mon Sep 17 00:00:00 2001
From: mark <mark@opencfd>
Date: Tue, 4 Oct 2016 15:58:24 +0200
Subject: [PATCH 96/96] BUG: paraview plugin not being built in merged version
 (closes #258)

---
 .../graphics/PV3Readers/Allwmake              | 26 +++++++----------
 .../graphics/PVReaders/Allwmake               | 28 ++++++++-----------
 2 files changed, 21 insertions(+), 33 deletions(-)

diff --git a/applications/utilities/postProcessing/graphics/PV3Readers/Allwmake b/applications/utilities/postProcessing/graphics/PV3Readers/Allwmake
index 3b7a2e37ef..883ad4f135 100755
--- a/applications/utilities/postProcessing/graphics/PV3Readers/Allwmake
+++ b/applications/utilities/postProcessing/graphics/PV3Readers/Allwmake
@@ -41,31 +41,25 @@ canBuildPlugin()
 
 
 # -----------------------------------------------------------------------------
+# major version as per paraview include directory:
+# Eg, "PREFIX/include/paraview-3.4" -> "3.4"
+major="${ParaView_INCLUDE_DIR##*-}"
 
-case "$ParaView_VERSION" in
-3*)
+case "$major" in
+3.[0-9]*)
     if canBuildPlugin
     then
-        [ -n "$PV_PLUGIN_PATH" ] || {
-            echo "$0 : PV_PLUGIN_PATH not valid - it is unset"
-            exit 1
-        }
-
-        # Ensure CMake gets the correct C/C++ compilers
-        [ -n "$WM_CC" ] && export CC="$WM_CC"
-        [ -n "$WM_CXX" ] && export CXX="$WM_CXX"
-
+    (
         wmake $targetType vtkPV3Readers
-        PV3blockMeshReader/Allwmake $targetType $*
-        PV3FoamReader/Allwmake $targetType $*
-    else
-        echo "ERROR: ParaView not found in $ParaView_DIR"
+        PV3blockMeshReader/Allwmake $*
+        PV3FoamReader/Allwmake $*
+    )
     fi
     ;;
 *)
     echo
     echo "NOTE: skipping build of ParaView V3 plugin(s)"
-    echo "    different version: ParaView_VERSION=$ParaView_VERSION"
+    echo "    include directory was for paraview major version '${major:-none}'"
     echo
     ;;
 esac
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/Allwmake b/applications/utilities/postProcessing/graphics/PVReaders/Allwmake
index 92fd94701d..ebe8498e5d 100755
--- a/applications/utilities/postProcessing/graphics/PVReaders/Allwmake
+++ b/applications/utilities/postProcessing/graphics/PVReaders/Allwmake
@@ -42,37 +42,31 @@ canBuildPlugin()
 
 # -----------------------------------------------------------------------------
 
-case "$ParaView_VERSION" in
-4* | 5*)
+# major version as per paraview include directory:
+# Eg, "PREFIX/include/paraview-5.0" -> "5.0"
+major="${ParaView_INCLUDE_DIR##*-}"
+
+case "$major" in
+[45].[0-9]*)
     if canBuildPlugin
     then
-        [ -n "$PV_PLUGIN_PATH" ] || {
-            echo "$0 : PV_PLUGIN_PATH not valid - it is unset"
-            exit 1
-        }
-
-        # ensure CMake gets the correct C/C++ compilers
-        [ -n "$WM_CC" ] && export CC="$WM_CC"
-        [ -n "$WM_CXX" ] && export CXX="$WM_CXX"
-
+    (
         wmake $targetType vtkPVReaders
-        PVblockMeshReader/Allwmake $targetType $*
-        PVFoamReader/Allwmake $targetType $*
+        PVblockMeshReader/Allwmake $*
+        PVFoamReader/Allwmake $*
 
         # Dummy directory to trigger proper 'wclean all' behaviour
         # - the Allwclean will otherwise not be used
         mkdir -p Make
-    else
-        echo "ERROR: ParaView not found in $ParaView_DIR"
+    )
     fi
     ;;
 *)
     echo
     echo "NOTE: skipping build of ParaView plugin(s)"
-    echo "    different version: ParaView_VERSION=$ParaView_VERSION"
+    echo "    include directory was for paraview major version '${major:-none}'"
     echo
     ;;
 esac
 
-
 #------------------------------------------------------------------------------
-- 
GitLab